Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .file [name="out.prg", segments="Default,STD_LIBRARY"]
- .segmentdef STD_LIBRARY [start=$3000]
- //------------------------------------
- .var libAddr = Hashtable()
- .macro proc(macroName) {
- .if (libAddr.get(macroName) == null) {
- .segment STD_LIBRARY
- // Macro name be logged as a bonus
- .memblock macroName
- .eval libAddr.put(macroName, *)
- // Need to map manually since calling macros dynamically is out of scope
- .if (macroName == "setColors") setColors()
- .if (macroName == "setSpriteColors") setSpriteColors()
- .segment Default
- }
- jsr libAddr.get(macroName)
- }
- //------------------------------------
- .macro setColors() {
- stx $d020
- sty $d021
- rts
- }
- .macro setSpriteColors() {
- sta $d027
- sta $d028
- sta $d029
- sta $d02a
- sta $d02b
- sta $d02c
- sta $d02e
- sta $d02f
- rts
- }
- //------------------------------------
- * = $1000 "Code"
- ldx #2
- ldy #4
- proc("setColors")
- lda #7
- proc("setSpriteColors")
- ldx #2
- ldy #4
- proc("setColors")
- jmp *
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement