( Loop ) ;a { byte 1 } ;b { byte 1 } ;c { byte 1 } |0100 @RESET ,slow-muljmp JSR2 ,slow-jmppop JSR2 ,slow-jmppop-rel JSR2 ,fast-byte JSR2 ,fast-short JSR2 BRK |0200 @slow-muljmp ( type: padded muljmp ) $loop NOP ~a #01 ADD =a ~a #d0 LTH ^$loop MUL JMP ~a =Console.byte RTN |0300 @slow-jmppop ( type: jmppop ) $loop ~b #01 ADD =b ,$loop ~b #d0 LTH JMP2? ~b =Console.byte RTN |0400 @slow-jmppop-rel ( type: padded jmppop ) $loop NOP ~c #01 ADD =c ~c #d0 LTH ^$loop SWP JMP? ~c =Console.byte RTN |0500 @fast-byte ( fast byte ) #00 #d0 $loop NOP ( incr ) SWP #01 ADD SWP DUP2 LTH ^$loop SWP JMP? POP =Console.byte RTN |0600 @fast-short ( fast short ) #0000 #0d00 $loop NOP ( incr ) SWP2 #0001 ADD2 SWP2 OVR2 OVR2 LTH2 ^$loop SWP JMP? POP2 =Console.short RTN |c000 @FRAME |d000 @ERROR |FF00 ;Console { pad 8 char 1 byte 1 short 2 } |FFF0 .RESET .FRAME .ERROR ( vectors ) |FFF8 [ 13fd 1ef3 1bf2 ] ( palette )