Topics

UTTORI ASM ยท IN DEVELOPMENT

Project configuration

Choose trusted plugins, a target, architecture, and build paths.

On this page

Create uttori-asm.config.json beside your source:

{
  "$schema": "./node_modules/@uttori/asm-plugin-loader-node/asm-config.schema.json",
  "plugins": [{ "module": "@uttori/asm-plugin-snes" }],
  "target": "snes.sfc",
  "architecture": "snes.65816",
  "entryPoints": ["main.asm"],
  "includePaths": ["include"],
  "buildOutput": "build/main.sfc"
}

Fields

Field Use
plugins Ordered module and option entries; each plugin validates its own options.
target Target ID or alias.
architecture Initial processor ID or alias valid for the target.
includePaths Additional source and binary include directories.
entryPoints Editor and indexing build roots.
buildOutput Editor build destination.
baseImage Editor base ROM for patching.
$schema Optional editor schema URI.

Unknown fields are rejected. The loader searches only the supplied project directory, never parent directories. Paths in configuration resolve beside that file. CLI --config and editor asm.configFile select a nested configuration.

Trust and precedence

Install configured plugins beside the project and load only code you trust: a plugin runs with host process permissions. VS Code ignores workspace configuration and external plugins until the workspace is trusted. Explicit overrides take precedence over project values, then host defaults. With no config or explicit plugins, the CLI selects SNES; the generic core has no default target.

Raw 6502 example

{
  "plugins": [{ "module": "@uttori/asm-plugin-65xx", "options": { "origin": 32768 } }],
  "target": "65xx.raw",
  "architecture": "65xx.6502"
}

With org $8000, origin: 32768 makes the first byte file offset zero. For an iNES image use 65xx.nes and its target options.