REM Create a 1024 byte buffer
DIM buffer% 1024
REM Two passes, with options 4 and 7 (offset assembly, runtime != assemble time)
FOR pass=4 TO 7 STEP 3
REM Set up target address and output buffer address.
P%=&8000
O%=buffer%
REM Start assembly
[
OPT pass
CLC
BCC start
EQUS "some string constant"
EQUD &FFEEDDCC
EQUW &FFEE
EQUB &FF
.start
LDA #42
JSR &FFEE
RTS
]
NEXT pass
REM Output addresses and save ROM image
PRINT "Start address: ",~buffer%
PRINT "End address: ", ~O%
PRINT "Saving as rom (always saves &4000 (16K) bytes"
OSCLI("SAVE ROM "+STR$~(buffer%)+" +4000")