Topics

UTTORI ASM · IN DEVELOPMENT

6502 family output and patching

Use 6502 family output and patching in 6502-family and NES projects, with syntax and limits.

On this page

6502 family behavior

Raw Target Options

Option Values Default Effect
origin integer 0–65535 0 Initial PC and file offset 0

Unknown keys fail during plugin activation. Non-integer origins fail. There is no checksum: getOutput is a headerless copy of the buffer.

NES Target Options

Option Values Default Effect
linkerConfig ld65 MEMORY/SEGMENTS/SYMBOLS text 32 KiB $8000 ROM + CODE Layout
header byte array synthesized 16-byte iNES Written at the front of the image
fillByte integer $FF PRG prefill and output fill

An empty header array is an error. Non-array header values fail. Omitted header synthesizes NES\x1A plus PRG bank count from ceil(imageSize / 0x4000).

Fresh Output versus a Patch

Without --base-image, raw output grows from an empty byte array. NES output starts from the prefilled header+PRG. With a base image, the assembler begins with a copy of those bytes:

npx uttori-asm patch.asm patched.nes \
  --plugin @uttori/asm-plugin-65xx \
  --target 65xx.nes \
  --base-image clean.nes

The CLI writes a new output path. It does not overwrite the base path unless you explicitly choose the same path.