mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-06-03 07:29:37 +00:00
871 lines
48 KiB
Plaintext
871 lines
48 KiB
Plaintext
const nomodify byte* BG_COLOR = (byte*) 53281
|
|
const nomodify byte* BG_COLOR1 = (byte*) 53282
|
|
const nomodify byte* BG_COLOR2 = (byte*) 53283
|
|
const nomodify byte* BG_COLOR3 = (byte*) 53284
|
|
const nomodify byte BLACK = 0
|
|
const nomodify byte BLUE = 6
|
|
const nomodify byte* BORDER_COLOR = (byte*) 53280
|
|
const nomodify struct MOS6526_CIA* CIA1 = (struct MOS6526_CIA*) 56320
|
|
const nomodify byte* CIA1_INTERRUPT = (byte*) 56333
|
|
const nomodify struct MOS6526_CIA* CIA2 = (struct MOS6526_CIA*) 56576
|
|
const nomodify byte CIA_INTERRUPT_CLEAR = $7f
|
|
const nomodify byte COLLISION_BOTTOM = 2
|
|
const nomodify byte COLLISION_LEFT = 4
|
|
const nomodify byte COLLISION_NONE = 0
|
|
const nomodify byte COLLISION_PLAYFIELD = 1
|
|
const nomodify byte COLLISION_RIGHT = 8
|
|
const nomodify byte* COLS = (byte*) 55296
|
|
const nomodify byte CYAN = 3
|
|
const nomodify byte* D011 = (byte*) 53265
|
|
const nomodify byte* D018 = (byte*) 53272
|
|
const nomodify byte DARK_GREY = $b
|
|
const nomodify byte GREEN = 5
|
|
const nomodify byte GREY = $c
|
|
const nomodify void()** HARDWARE_IRQ = (void()**) 65534
|
|
const nomodify byte* IRQ_ENABLE = (byte*) 53274
|
|
const nomodify byte IRQ_RASTER = 1
|
|
const nomodify byte IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS+$13
|
|
const nomodify byte* IRQ_STATUS = (byte*) 53273
|
|
const nomodify byte KEY_COMMA = $2f
|
|
const nomodify byte KEY_COMMODORE = $3d
|
|
const nomodify byte KEY_CTRL = $3a
|
|
const nomodify byte KEY_DOT = $2c
|
|
const nomodify byte KEY_LSHIFT = $f
|
|
const nomodify byte KEY_RSHIFT = $34
|
|
const nomodify byte KEY_SPACE = $3c
|
|
const nomodify byte KEY_X = $17
|
|
const nomodify byte KEY_Z = $c
|
|
const nomodify byte LIGHT_BLUE = $e
|
|
const nomodify byte LIGHT_GREEN = $d
|
|
const to_nomodify byte* MOVEDOWN_SLOW_SPEEDS[] = { $30, $2b, $26, $21, $1c, $17, $12, $d, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 }
|
|
const nomodify word OFFSET_SPRITE_PTRS = $3f8
|
|
const byte OFFSET_STRUCT_MOS6526_CIA_INTERRUPT = $d
|
|
const byte OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
const byte OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
const byte OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL = $12
|
|
const byte OFFSET_STRUCT_MOS6581_SID_CH3_FREQ = $e
|
|
const byte OFFSET_STRUCT_MOS6581_SID_CH3_OSC = $1b
|
|
const nomodify byte ORANGE = 8
|
|
const word* PIECES[] = { (word)PIECE_T, (word)PIECE_S, (word)PIECE_Z, (word)PIECE_J, (word)PIECE_O, (word)PIECE_I, (word)PIECE_L }
|
|
const byte* PIECES_CHARS[] = { $65, $66, $a6, $66, $65, $65, $a6 }
|
|
const byte* PIECES_COLORS_1[] = { BLUE, GREEN, PURPLE, BLUE, RED, LIGHT_GREEN, RED, BLUE, LIGHT_BLUE, RED, BLUE, GREEN, PURPLE, BLUE, RED, LIGHT_GREEN, RED, BLUE, LIGHT_BLUE, RED, BLUE, GREEN, PURPLE, BLUE, RED, LIGHT_GREEN, RED, BLUE, LIGHT_BLUE, RED }
|
|
const byte* PIECES_COLORS_2[] = { CYAN, LIGHT_GREEN, PINK, LIGHT_GREEN, LIGHT_GREEN, LIGHT_BLUE, DARK_GREY, PURPLE, RED, ORANGE, CYAN, LIGHT_GREEN, PINK, LIGHT_GREEN, LIGHT_GREEN, LIGHT_BLUE, DARK_GREY, PURPLE, RED, ORANGE, CYAN, LIGHT_GREEN, PINK, LIGHT_GREEN, LIGHT_GREEN, LIGHT_BLUE, DARK_GREY, PURPLE, RED, ORANGE }
|
|
const byte* PIECES_NEXT_CHARS[] = { $63, $64, $a4, $64, $63, $63, $a4 }
|
|
const byte* PIECES_START_X[] = { 4, 4, 4, 4, 4, 4, 4 }
|
|
const byte* PIECES_START_Y[] = { 1, 1, 1, 1, 1, 0, 1 }
|
|
const byte* PIECE_I[$40] = { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 }
|
|
const byte* PIECE_J[$40] = { 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
|
|
const byte* PIECE_L[$40] = { 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }
|
|
const byte* PIECE_O[$40] = { 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0 }
|
|
const byte* PIECE_S[$40] = { 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0 }
|
|
const byte* PIECE_T[$40] = { 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
|
|
const byte* PIECE_Z[$40] = { 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
|
|
const nomodify byte PINK = $a
|
|
const byte* PLAYFIELD_CHARSET[] = kickasm {{ .fill 8,$00 // Place a filled char at the start of the charset
|
|
.import binary "playfield-screen.imap"
|
|
}}
|
|
const to_nomodify byte* PLAYFIELD_COLORS_ORIGINAL[] = kickasm {{ .import binary "playfield-screen.col"
|
|
}}
|
|
const nomodify byte PLAYFIELD_COLS = $a
|
|
const nomodify byte PLAYFIELD_LINES = $16
|
|
const nomodify byte* PLAYFIELD_SCREEN_1 = (byte*) 1024
|
|
const nomodify byte* PLAYFIELD_SCREEN_2 = (byte*) 11264
|
|
const to_nomodify byte* PLAYFIELD_SCREEN_ORIGINAL[] = kickasm {{ // Load chars for the screen
|
|
.var screen = LoadBinary("playfield-screen.iscr")
|
|
// Load extended colors for the screen
|
|
.var extended = LoadBinary("playfield-extended.col")
|
|
// screen.get(i)+1 because the charset is loaded into PLAYFIELD_CHARSET+8
|
|
// extended.get(i)-1 because the extended colors are 1-based (1/2/3/4)
|
|
// <<6 to move extended colors to the upper 2 bits
|
|
.fill screen.getSize(), ( (screen.get(i)+1) | (extended.get(i)-1)<<6 )
|
|
}}
|
|
const byte* PLAYFIELD_SPRITES[$1e*$40] = kickasm {{ .var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
|
// Put the sprites into memory
|
|
.for(var sy=0;sy<10;sy++) {
|
|
.var sprite_gfx_y = sy*20
|
|
.for(var sx=0;sx<3;sx++) {
|
|
.for (var y=0;y<21; y++) {
|
|
.var gfx_y = sprite_gfx_y + mod(2100+y-sprite_gfx_y,21)
|
|
.for (var c=0; c<3; c++) {
|
|
.byte sprites.getSinglecolorByte(sx*3+c,gfx_y)
|
|
}
|
|
}
|
|
.byte 0
|
|
}
|
|
}
|
|
}}
|
|
const nomodify byte* PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+OFFSET_SPRITE_PTRS
|
|
const nomodify byte* PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+OFFSET_SPRITE_PTRS
|
|
const nomodify byte* PROCPORT = (byte*) 1
|
|
const nomodify byte* PROCPORT_DDR = (byte*) 0
|
|
const nomodify byte PROCPORT_DDR_MEMORY_MASK = 7
|
|
const nomodify byte PROCPORT_RAM_IO = 5
|
|
const nomodify byte PURPLE = 4
|
|
const nomodify byte* RASTER = (byte*) 53266
|
|
const nomodify byte RED = 2
|
|
const to_nomodify dword* SCORE_BASE_BCD[] = { 0, $40, $100, $300, $1200 }
|
|
const nomodify struct MOS6581_SID* SID = (struct MOS6581_SID*) 54272
|
|
const nomodify byte SID_CONTROL_NOISE = $80
|
|
const nomodify byte* SPRITES_COLOR = (byte*) 53287
|
|
const nomodify byte* SPRITES_ENABLE = (byte*) 53269
|
|
const nomodify byte* SPRITES_EXPAND_X = (byte*) 53277
|
|
const nomodify byte* SPRITES_EXPAND_Y = (byte*) 53271
|
|
const nomodify byte SPRITES_FIRST_YPOS = $31
|
|
const nomodify byte* SPRITES_MC = (byte*) 53276
|
|
const nomodify byte* SPRITES_XPOS = (byte*) 53248
|
|
const nomodify byte* SPRITES_YPOS = (byte*) 53249
|
|
const nomodify byte* VICII_CONTROL = (byte*) 53265
|
|
const nomodify byte VICII_DEN = $10
|
|
const nomodify byte VICII_ECM = $40
|
|
const nomodify byte VICII_RSEL = 8
|
|
void __start()
|
|
byte __start::__init1_toSpritePtr1_return
|
|
const byte __start::__init1_toSpritePtr1_return#0 __init1_toSpritePtr1_return = (byte)(word)PLAYFIELD_SPRITES/$40
|
|
byte* __start::__init1_toSpritePtr1_sprite
|
|
byte current_movedown_counter
|
|
byte current_movedown_counter#13 current_movedown_counter zp[1]:4 26666.933333333334
|
|
byte current_movedown_counter#15 current_movedown_counter zp[1]:4 2732.5135135135133
|
|
byte current_movedown_counter#17 current_movedown_counter zp[1]:4 7777.153846153846
|
|
const nomodify byte current_movedown_fast = $a
|
|
byte current_movedown_slow
|
|
byte current_movedown_slow#0 current_movedown_slow zp[1]:21 4.869565217391305
|
|
byte current_movedown_slow#13 current_movedown_slow zp[1]:21 41091.392857142855
|
|
byte current_movedown_slow#22 current_movedown_slow zp[1]:21 5435.243243243243
|
|
byte current_movedown_slow#24 current_movedown_slow zp[1]:21 442857.7142857142
|
|
byte current_movedown_slow#39 current_movedown_slow zp[1]:21 300003.0
|
|
byte current_movedown_slow#67 current_movedown_slow zp[1]:21 733333.4666666666
|
|
byte current_movedown_slow#9 current_movedown_slow zp[1]:21 2.0000002E7
|
|
byte current_orientation
|
|
byte current_orientation#12 current_orientation zp[1]:26 8137.972972972973
|
|
byte current_orientation#18 current_orientation zp[1]:26 1004.952380952381
|
|
byte current_orientation#21 current_orientation zp[1]:26 16530.79591836735
|
|
byte current_orientation#26 current_orientation zp[1]:26 51667.33333333333
|
|
byte current_orientation#39 current_orientation zp[1]:26 200002.0
|
|
byte current_orientation#6 current_orientation zp[1]:26 150001.5
|
|
byte* current_piece
|
|
byte* current_piece#100 current_piece_1 zp[2]:14 200002.0
|
|
byte* current_piece#101 current_piece_1 zp[2]:14 200002.0
|
|
byte* current_piece#102 current_piece_1 zp[2]:14 2000002.0
|
|
byte* current_piece#103 current_piece zp[2]:23 11.0
|
|
byte* current_piece#16 current_piece zp[2]:23 7706.51282051282
|
|
byte* current_piece#18 current_piece_1 zp[2]:14 1.1400006E7
|
|
byte* current_piece#23 current_piece zp[2]:23 8138.27027027027
|
|
byte* current_piece#30 current_piece zp[2]:23 300003.0
|
|
byte* current_piece#95 current_piece zp[2]:23 100001.0
|
|
byte* current_piece#98 current_piece_1 zp[2]:14 200002.0
|
|
byte* current_piece#99 current_piece_1 zp[2]:14 200002.0
|
|
byte current_piece_char
|
|
byte current_piece_char#100 current_piece_char_1 zp[1]:9 202.0
|
|
byte current_piece_char#17 current_piece_char zp[1]:25 5437.9729729729725
|
|
byte current_piece_char#23 current_piece_char zp[1]:25 1.8182183847272727E8
|
|
byte current_piece_char#31 current_piece_char zp[1]:25 300003.0
|
|
byte current_piece_char#4 current_piece_char zp[1]:25 34375.75
|
|
byte current_piece_char#70 current_piece_char_1 zp[1]:9 47624.42857142857
|
|
byte current_piece_char#99 current_piece_char_1 zp[1]:9 22.0
|
|
byte* current_piece_gfx
|
|
byte* current_piece_gfx#111 current_piece_gfx_1 zp[2]:7 11.0
|
|
byte* current_piece_gfx#112 current_piece_gfx_1 zp[2]:7 101.0
|
|
byte* current_piece_gfx#116 current_piece_gfx zp[2]:27 200002.0
|
|
byte* current_piece_gfx#12 current_piece_gfx zp[2]:27 1.8182183847272727E8
|
|
byte* current_piece_gfx#122 current_piece_gfx zp[2]:27 22.0
|
|
byte* current_piece_gfx#19 current_piece_gfx zp[2]:27 1009.7619047619048
|
|
byte* current_piece_gfx#21 current_piece_gfx zp[2]:27 15185.37037037037
|
|
byte* current_piece_gfx#22 current_piece_gfx zp[2]:27 51667.33333333333
|
|
byte* current_piece_gfx#37 current_piece_gfx zp[2]:27 300003.0
|
|
byte* current_piece_gfx#6 current_piece_gfx zp[2]:27 200002.0
|
|
byte* current_piece_gfx#66 current_piece_gfx_1 zp[2]:7 47624.42857142857
|
|
byte current_xpos
|
|
byte current_xpos#100 current_xpos zp[1]:29 67742.74193548388
|
|
byte current_xpos#118 current_xpos_1 zp[1]:6 7.333333333333333
|
|
byte current_xpos#119 current_xpos_1 zp[1]:6 67.33333333333333
|
|
byte current_xpos#13 current_xpos zp[1]:29 1.8187293036363635E7
|
|
byte current_xpos#2 current_xpos zp[1]:29 1009.7619047619048
|
|
byte current_xpos#23 current_xpos zp[1]:29 36400.4
|
|
byte current_xpos#27 current_xpos zp[1]:29 20333.566666666666
|
|
byte current_xpos#45 current_xpos zp[1]:29 300003.0
|
|
byte current_xpos#5 current_xpos zp[1]:29 200002.0
|
|
byte current_xpos#61 current_xpos_1 zp[1]:6 4767.285714285714
|
|
byte current_xpos#7 current_xpos zp[1]:29 200002.0
|
|
byte current_ypos
|
|
byte current_ypos#10 current_ypos zp[1]:17 35165.32432432432
|
|
byte current_ypos#14 reg byte x 1113.0
|
|
byte current_ypos#2 current_ypos zp[1]:17 200002.0
|
|
byte current_ypos#20 current_ypos zp[1]:17 6425.74358974359
|
|
byte current_ypos#40 current_ypos zp[1]:17 300003.0
|
|
byte current_ypos#5 current_ypos zp[1]:17 70000.83333333334
|
|
byte current_ypos#97 reg byte x 5.5
|
|
byte current_ypos#98 reg byte x 40.4
|
|
byte game_over
|
|
byte game_over#16 game_over zp[1]:30 5705.54054054054
|
|
byte game_over#22 game_over zp[1]:30 6567.760869565218
|
|
byte game_over#29 game_over zp[1]:30 300003.0
|
|
byte game_over#53 game_over zp[1]:30 47827.13043478261
|
|
byte game_over#66 game_over zp[1]:30 78572.35714285714
|
|
volatile byte irq_cnt loadstore zp[1]:44 0.48000000000000004
|
|
volatile byte irq_raster_next loadstore zp[1]:41 0.44444444444444453
|
|
volatile byte irq_sprite_ptr loadstore zp[1]:43 0.45161290322580644
|
|
volatile byte irq_sprite_ypos loadstore zp[1]:42 0.48275862068965525
|
|
byte keyboard_event_get()
|
|
byte keyboard_event_get::return
|
|
byte keyboard_event_get::return#1 reg byte a 20002.0
|
|
byte keyboard_event_get::return#2 reg byte a 3667.333333333333
|
|
byte keyboard_event_get::return#3 reg byte a 2002.0
|
|
byte keyboard_event_pressed(byte keyboard_event_pressed::keycode)
|
|
byte~ keyboard_event_pressed::$0 reg byte y 2000002.0
|
|
byte~ keyboard_event_pressed::$1 reg byte x 2000002.0
|
|
byte keyboard_event_pressed::keycode
|
|
byte keyboard_event_pressed::keycode#5 reg byte x 666667.3333333334
|
|
byte keyboard_event_pressed::return
|
|
byte keyboard_event_pressed::return#0 reg byte a 20002.0
|
|
byte keyboard_event_pressed::return#1 reg byte a 20002.0
|
|
byte keyboard_event_pressed::return#10 reg byte a 20002.0
|
|
byte keyboard_event_pressed::return#11 reg byte a 162857.99999999997
|
|
byte keyboard_event_pressed::return#12 reg byte a 200002.0
|
|
byte keyboard_event_pressed::return#2 reg byte a 20002.0
|
|
byte keyboard_event_pressed::row_bits
|
|
byte keyboard_event_pressed::row_bits#0 reg byte y 1000001.0
|
|
void keyboard_event_scan()
|
|
byte~ keyboard_event_scan::$0 reg byte a 20002.0
|
|
byte~ keyboard_event_scan::$15 reg byte a 2.00000002E8
|
|
byte~ keyboard_event_scan::$16 reg byte a 2.00000002E8
|
|
byte~ keyboard_event_scan::$23 reg byte a 2.00000002E8
|
|
byte~ keyboard_event_scan::$3 reg byte a 20002.0
|
|
byte~ keyboard_event_scan::$6 reg byte a 20002.0
|
|
byte~ keyboard_event_scan::$9 reg byte a 20002.0
|
|
byte keyboard_event_scan::col
|
|
byte keyboard_event_scan::col#1 reg byte x 1.500000015E8
|
|
byte keyboard_event_scan::col#2 reg byte x 2.857142885714286E7
|
|
byte keyboard_event_scan::event_type
|
|
byte keyboard_event_scan::event_type#0 reg byte a 2.00000002E8
|
|
byte keyboard_event_scan::keycode
|
|
byte keyboard_event_scan::keycode#1 keycode zp[1]:35 2.0000002E7
|
|
byte keyboard_event_scan::keycode#10 keycode zp[1]:35 3.153846192307692E7
|
|
byte keyboard_event_scan::keycode#11 keycode zp[1]:35 5000000.5
|
|
byte keyboard_event_scan::keycode#13 keycode zp[1]:35 1.0000001E7
|
|
byte keyboard_event_scan::keycode#14 keycode zp[1]:35 5.250000075E7
|
|
byte keyboard_event_scan::row
|
|
byte keyboard_event_scan::row#1 row zp[1]:11 1.50000015E7
|
|
byte keyboard_event_scan::row#2 row zp[1]:11 6000000.24
|
|
byte keyboard_event_scan::row_scan
|
|
byte keyboard_event_scan::row_scan#0 row_scan zp[1]:51 1.2777778055555556E7
|
|
const byte* keyboard_events[8] = { fill( 8, 0) }
|
|
byte keyboard_events_size
|
|
byte keyboard_events_size#0 keyboard_events_size zp[1]:10 2.00000002E8
|
|
byte keyboard_events_size#1 keyboard_events_size zp[1]:10 2.00000002E8
|
|
byte keyboard_events_size#11 keyboard_events_size zp[1]:10 8.100000089999999E7
|
|
byte keyboard_events_size#14 keyboard_events_size zp[1]:10 968709.8709677419
|
|
byte keyboard_events_size#17 keyboard_events_size zp[1]:10 811.6923076923076
|
|
byte keyboard_events_size#20 keyboard_events_size zp[1]:10 1850.5
|
|
byte keyboard_events_size#3 keyboard_events_size zp[1]:10 15001.5
|
|
byte keyboard_events_size#31 keyboard_events_size zp[1]:10 1.020000012E8
|
|
byte keyboard_events_size#32 keyboard_events_size zp[1]:10 4287143.428571429
|
|
const byte* keyboard_matrix_col_bitmask[8] = { 1, 2, 4, 8, $10, $20, $40, $80 }
|
|
byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
|
|
byte keyboard_matrix_read::return
|
|
byte keyboard_matrix_read::return#0 reg byte a 3.6666667333333336E7
|
|
byte keyboard_matrix_read::return#2 reg byte a 2.0000002E7
|
|
byte keyboard_matrix_read::row_pressed_bits
|
|
byte keyboard_matrix_read::rowid
|
|
byte keyboard_matrix_read::rowid#0 reg byte x 1.10000002E8
|
|
const byte* keyboard_matrix_row_bitmask[8] = { $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f }
|
|
byte keyboard_modifiers
|
|
const byte* keyboard_scan_values[8] = { fill( 8, 0) }
|
|
byte level
|
|
byte level#18 level zp[1]:20 5435.243243243243
|
|
byte level#20 level zp[1]:20 442857.7142857142
|
|
byte level#22 level zp[1]:20 1722222.4444444445
|
|
byte level#25 level zp[1]:20 185168.31818181818
|
|
byte level#35 level zp[1]:20 300003.0
|
|
byte level_bcd
|
|
byte level_bcd#10 level_bcd zp[1]:22 200018.1475409836
|
|
byte level_bcd#18 level_bcd zp[1]:22 3425.508474576271
|
|
byte level_bcd#20 level_bcd zp[1]:22 442857.7142857142
|
|
byte level_bcd#22 level_bcd zp[1]:22 1.3333334666666666E7
|
|
byte level_bcd#33 level_bcd zp[1]:22 300003.0
|
|
byte level_bcd#63 level_bcd zp[1]:22 2100000.3
|
|
byte level_bcd#7 level_bcd zp[1]:22 2.0000002E7
|
|
word lines_bcd
|
|
word lines_bcd#16 lines_bcd zp[2]:18 3442.4745762711864
|
|
word lines_bcd#18 lines_bcd zp[2]:18 442857.7142857142
|
|
word lines_bcd#20 lines_bcd zp[2]:18 64022.14
|
|
word lines_bcd#28 lines_bcd zp[2]:18 300003.0
|
|
word lines_bcd#31 lines_bcd zp[2]:18 500000.5
|
|
void main()
|
|
byte main::key_event
|
|
byte main::key_event#0 reg byte x 1001.0
|
|
byte main::render
|
|
byte main::render#1 reg byte a 2002.0
|
|
byte next_piece_idx
|
|
byte next_piece_idx#13 reg byte y 422.79999999999995
|
|
byte next_piece_idx#17 next_piece_idx zp[1]:31 5437.9729729729725
|
|
byte next_piece_idx#18 next_piece_idx zp[1]:31 1100013.0
|
|
byte next_piece_idx#23 next_piece_idx zp[1]:31 6546.0
|
|
byte next_piece_idx#32 next_piece_idx zp[1]:31 300003.0
|
|
byte next_piece_idx#79 reg byte y 22.0
|
|
byte next_piece_idx#80 reg byte y 202.0
|
|
byte play_collision(byte play_collision::xpos , byte play_collision::ypos , byte play_collision::orientation)
|
|
byte~ play_collision::$14 reg byte a 2.0000000002E10
|
|
byte~ play_collision::$5 reg byte a 2.00000000002E11
|
|
byte play_collision::c
|
|
byte play_collision::c#1 reg byte x 1.00000000001E11
|
|
byte play_collision::c#2 reg byte x 2.2222222222444443E10
|
|
byte play_collision::i
|
|
byte play_collision::i#1 i zp[1]:56 1.6153846154076923E10
|
|
byte play_collision::i#10 i_1 zp[1]:57 2.0000000002E10
|
|
byte play_collision::i#12 i_1 zp[1]:57 2.00000000002E11
|
|
byte play_collision::i#2 i_1 zp[1]:57 1.55000000002E11
|
|
byte play_collision::i#3 i_1 zp[1]:57 5.0000000005E9
|
|
byte play_collision::l
|
|
byte play_collision::l#1 l zp[1]:51 1.0000000001E10
|
|
byte play_collision::l#6 l zp[1]:51 1.1764705883529413E9
|
|
byte play_collision::orientation
|
|
byte play_collision::orientation#0 reg byte x 100001.0
|
|
byte play_collision::orientation#1 reg byte x 100001.0
|
|
byte play_collision::orientation#2 reg byte x 100001.0
|
|
byte play_collision::orientation#3 reg byte x 100001.0
|
|
byte play_collision::orientation#5 reg byte x 1.0400005E7
|
|
byte* play_collision::piece_gfx
|
|
byte* play_collision::piece_gfx#0 piece_gfx zp[2]:52 4.762380952476191E9
|
|
byte* play_collision::playfield_line
|
|
byte* play_collision::playfield_line#0 playfield_line zp[2]:54 7.857142857285714E9
|
|
byte play_collision::return
|
|
byte play_collision::return#0 reg byte a 200002.0
|
|
byte play_collision::return#1 reg byte a 200002.0
|
|
byte play_collision::return#10 reg byte a 2000002.0
|
|
byte play_collision::return#13 reg byte a 200002.0
|
|
byte play_collision::return#14 reg byte a 200002.0
|
|
byte play_collision::return#15 reg byte a 200000.71428571423
|
|
byte play_collision::xp
|
|
byte play_collision::xp#1 xp zp[1]:34 5.00000000005E10
|
|
byte play_collision::xp#2 xp zp[1]:34 6.375000000075E10
|
|
byte play_collision::xp#8 xp zp[1]:34 2.0000000002E10
|
|
byte play_collision::xpos
|
|
byte play_collision::xpos#0 xpos zp[1]:16 66667.33333333333
|
|
byte play_collision::xpos#1 xpos zp[1]:16 50000.5
|
|
byte play_collision::xpos#2 xpos zp[1]:16 50000.5
|
|
byte play_collision::xpos#3 xpos zp[1]:16 50000.5
|
|
byte play_collision::xpos#4 xpos zp[1]:16 666667.3333333334
|
|
byte play_collision::xpos#6 xpos zp[1]:16 4.546090911818181E8
|
|
byte play_collision::yp
|
|
byte play_collision::yp#0 yp zp[1]:50 5700003.0
|
|
byte play_collision::yp#1 yp zp[1]:50 5.0000000005E9
|
|
byte play_collision::yp#2 yp zp[1]:50 8.1256250003125E9
|
|
byte play_collision::ypos
|
|
byte play_collision::ypos#0 ypos zp[1]:50 50000.5
|
|
byte play_collision::ypos#1 ypos zp[1]:50 66667.33333333333
|
|
byte play_collision::ypos#2 ypos zp[1]:50 66667.33333333333
|
|
byte play_collision::ypos#3 ypos zp[1]:50 66667.33333333333
|
|
byte play_collision::ypos#4 ypos zp[1]:50 1000001.0
|
|
void play_increase_level()
|
|
byte~ play_increase_level::$1 reg byte a 2.0000002E7
|
|
byte~ play_increase_level::$5 reg byte a 4.0000000004E10
|
|
byte play_increase_level::b
|
|
byte play_increase_level::b#1 reg byte x 1.50000000015E10
|
|
byte play_increase_level::b#2 reg byte x 1.0000000001E10
|
|
void play_init()
|
|
byte~ play_init::$2 reg byte x 2002.0
|
|
byte~ play_init::$3 reg byte a 3003.0
|
|
byte play_init::b
|
|
byte play_init::b#1 reg byte x 1501.5
|
|
byte play_init::b#2 reg byte x 1001.0
|
|
byte play_init::idx
|
|
byte play_init::idx#1 idx zp[1]:34 667.3333333333334
|
|
byte play_init::idx#2 idx zp[1]:34 600.5999999999999
|
|
byte play_init::j
|
|
byte play_init::j#1 reg byte y 1501.5
|
|
byte play_init::j#2 reg byte y 667.3333333333334
|
|
byte* play_init::pli
|
|
byte* play_init::pli#1 pli zp[2]:12 500.5
|
|
byte* play_init::pli#2 pli zp[2]:12 750.75
|
|
void play_lock_current()
|
|
byte~ play_lock_current::$4 reg byte a 2.000000002E9
|
|
byte play_lock_current::c
|
|
byte play_lock_current::c#1 reg byte x 1.0000000001E10
|
|
byte play_lock_current::c#2 reg byte x 4.0000000004E9
|
|
byte play_lock_current::i
|
|
byte play_lock_current::i#1 i zp[1]:56 2.333333333666667E9
|
|
byte play_lock_current::i#2 i_1 zp[1]:57 1.5500000002E10
|
|
byte play_lock_current::i#3 i_1 zp[1]:57 5.000000005E8
|
|
byte play_lock_current::i#7 i_1 zp[1]:57 2.000000002E9
|
|
byte play_lock_current::i#9 i_1 zp[1]:57 2.0000000002E10
|
|
byte play_lock_current::l
|
|
byte play_lock_current::l#1 l zp[1]:51 1.000000001E9
|
|
byte play_lock_current::l#6 l zp[1]:51 1.53846154E8
|
|
byte* play_lock_current::playfield_line
|
|
byte* play_lock_current::playfield_line#0 playfield_line zp[2]:54 1.1000000002E9
|
|
byte play_lock_current::xp
|
|
byte play_lock_current::xp#0 xp zp[1]:34 2.000000002E9
|
|
byte play_lock_current::xp#1 xp zp[1]:34 5.0000000005E9
|
|
byte play_lock_current::xp#2 xp zp[1]:34 7.750000001E9
|
|
byte play_lock_current::yp
|
|
byte play_lock_current::yp#0 yp zp[1]:50 2000002.0
|
|
byte play_lock_current::yp#1 yp zp[1]:50 5.000000005E8
|
|
byte play_lock_current::yp#2 yp zp[1]:50 2.500833336666667E8
|
|
byte play_move_down(byte play_move_down::key_event)
|
|
byte~ play_move_down::$12 reg byte a 200002.0
|
|
byte~ play_move_down::$2 reg byte a 200002.0
|
|
byte play_move_down::key_event
|
|
byte play_move_down::key_event#0 reg byte a 55001.0
|
|
byte play_move_down::movedown
|
|
byte play_move_down::movedown#10 movedown zp[1]:16 50000.5
|
|
byte play_move_down::movedown#2 movedown zp[1]:16 200002.0
|
|
byte play_move_down::movedown#3 movedown zp[1]:16 200002.0
|
|
byte play_move_down::movedown#6 movedown zp[1]:16 300003.0
|
|
byte play_move_down::movedown#7 movedown zp[1]:16 250002.5
|
|
byte play_move_down::removed
|
|
byte play_move_down::removed#0 reg byte a 200002.0
|
|
byte play_move_down::return
|
|
byte play_move_down::return#0 reg byte a 20002.0
|
|
byte play_move_down::return#3 reg byte x 3333.6666666666665
|
|
byte play_move_leftright(byte play_move_leftright::key_event)
|
|
byte~ play_move_leftright::$4 reg byte a 200002.0
|
|
byte~ play_move_leftright::$8 reg byte a 200002.0
|
|
byte play_move_leftright::key_event
|
|
byte play_move_leftright::key_event#0 reg byte a 105001.5
|
|
byte play_move_leftright::return
|
|
byte play_move_leftright::return#0 reg byte a 20002.0
|
|
byte play_move_leftright::return#2 reg byte a 3333.6666666666665
|
|
byte play_move_rotate(byte play_move_rotate::key_event)
|
|
byte~ play_move_rotate::$2 reg byte a 200002.0
|
|
byte~ play_move_rotate::$5 reg byte x 200002.0
|
|
byte~ play_move_rotate::$7 reg byte a 200002.0
|
|
byte play_move_rotate::key_event
|
|
byte play_move_rotate::key_event#0 reg byte a 105001.5
|
|
byte play_move_rotate::orientation
|
|
byte play_move_rotate::orientation#1 orientation zp[1]:35 200002.0
|
|
byte play_move_rotate::orientation#2 orientation zp[1]:35 200002.0
|
|
byte play_move_rotate::orientation#3 orientation zp[1]:35 44444.88888888889
|
|
byte play_move_rotate::return
|
|
byte play_move_rotate::return#0 reg byte a 20002.0
|
|
byte play_move_rotate::return#2 reg byte a 3333.6666666666665
|
|
byte play_movement(byte play_movement::key_event)
|
|
byte~ play_movement::$3 reg byte a 20002.0
|
|
byte~ play_movement::$4 reg byte a 20002.0
|
|
byte play_movement::key_event
|
|
byte play_movement::key_event#0 key_event zp[1]:46 2818.5454545454545
|
|
byte play_movement::render
|
|
byte play_movement::render#1 render zp[1]:11 5000.5
|
|
byte play_movement::render#2 render zp[1]:11 4000.4
|
|
byte play_movement::return
|
|
byte play_movement::return#0 return zp[1]:11 20002.0
|
|
byte play_movement::return#2 return zp[1]:11 7001.0
|
|
byte play_movement::return#3 reg byte a 2002.0
|
|
byte play_remove_lines()
|
|
byte play_remove_lines::c
|
|
byte play_remove_lines::c#0 c zp[1]:57 6.0000000006E9
|
|
byte play_remove_lines::full
|
|
byte play_remove_lines::full#2 full zp[1]:51 4.2000000006E9
|
|
byte play_remove_lines::full#4 full zp[1]:51 4.0000000004E9
|
|
byte play_remove_lines::r
|
|
byte play_remove_lines::r#1 reg byte y 1.5000000002142856E9
|
|
byte play_remove_lines::r#2 reg byte y 1.5500000002E10
|
|
byte play_remove_lines::r#3 reg byte y 2.000000002E9
|
|
byte play_remove_lines::removed
|
|
byte play_remove_lines::removed#1 removed zp[1]:47 2.000000002E9
|
|
byte play_remove_lines::removed#11 removed zp[1]:47 2.30769231E8
|
|
byte play_remove_lines::removed#7 removed zp[1]:47 3.333444448888889E8
|
|
byte play_remove_lines::return
|
|
byte play_remove_lines::return#0 reg byte a 200002.0
|
|
byte play_remove_lines::w
|
|
byte play_remove_lines::w#1 reg byte x 5.500000001E9
|
|
byte play_remove_lines::w#11 reg byte x 1.3333333346666667E9
|
|
byte play_remove_lines::w#12 reg byte x 2.000000002E9
|
|
byte play_remove_lines::w#2 reg byte x 1.000000001E9
|
|
byte play_remove_lines::w#3 reg byte x 2.000000002E9
|
|
byte play_remove_lines::w#4 reg byte x 4.428571429142857E9
|
|
byte play_remove_lines::w#6 reg byte x 1.6666666683333335E9
|
|
byte play_remove_lines::x
|
|
byte play_remove_lines::x#1 x zp[1]:50 1.50000000015E10
|
|
byte play_remove_lines::x#2 x zp[1]:50 2.50000000025E9
|
|
byte play_remove_lines::y
|
|
byte play_remove_lines::y#1 y zp[1]:35 1.5000000015E9
|
|
byte play_remove_lines::y#8 y zp[1]:35 1.3333333346666667E8
|
|
void play_spawn_current()
|
|
byte~ play_spawn_current::$1 reg byte a 2000002.0
|
|
byte~ play_spawn_current::$7 zp[1]:47 32258.09677419355
|
|
byte play_spawn_current::current_piece_idx
|
|
byte play_spawn_current::current_piece_idx#0 reg byte x 1250001.25
|
|
byte play_spawn_current::piece_idx
|
|
byte play_spawn_current::piece_idx#1 piece_idx zp[1]:31 2.000000002E9
|
|
byte play_spawn_current::piece_idx#2 piece_idx zp[1]:31 1.000050018E8
|
|
byte play_spawn_current::sid_rnd1_return
|
|
byte play_spawn_current::sid_rnd1_return#0 reg byte a 2.000000002E9
|
|
void play_update_score(byte play_update_score::removed)
|
|
byte~ play_update_score::$2 reg byte a 2000002.0
|
|
byte~ play_update_score::$4 reg byte a 2000002.0
|
|
byte~ play_update_score::$9 reg byte a 2000002.0
|
|
dword play_update_score::add_bcd
|
|
dword play_update_score::add_bcd#0 add_bcd zp[4]:58 666667.3333333334
|
|
byte play_update_score::lines_after
|
|
byte play_update_score::lines_after#0 reg byte a 2000002.0
|
|
byte play_update_score::lines_before
|
|
byte play_update_score::lines_before#0 lines_before zp[1]:57 222222.44444444444
|
|
byte play_update_score::removed
|
|
byte play_update_score::removed#0 reg byte x 442857.7142857142
|
|
const byte* playfield[PLAYFIELD_LINES*PLAYFIELD_COLS] = { fill( PLAYFIELD_LINES*PLAYFIELD_COLS, 0) }
|
|
const byte** playfield_lines[PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) }
|
|
const byte* playfield_lines_idx[PLAYFIELD_LINES+1] = { fill( PLAYFIELD_LINES+1, 0) }
|
|
void render_bcd(byte* render_bcd::screen , word render_bcd::offset , byte render_bcd::bcd , byte render_bcd::only_low)
|
|
byte~ render_bcd::$3 reg byte a 20002.0
|
|
byte~ render_bcd::$4 reg byte a 20002.0
|
|
byte~ render_bcd::$5 reg byte a 20002.0
|
|
byte~ render_bcd::$6 reg byte a 20002.0
|
|
const nomodify byte render_bcd::ZERO_CHAR = $35
|
|
byte render_bcd::bcd
|
|
byte render_bcd::bcd#0 reg byte x 2002.0
|
|
byte render_bcd::bcd#1 reg byte x 2002.0
|
|
byte render_bcd::bcd#2 reg byte x 2002.0
|
|
byte render_bcd::bcd#3 reg byte x 1001.0
|
|
byte render_bcd::bcd#4 reg byte x 1001.0
|
|
byte render_bcd::bcd#5 reg byte x 2002.0
|
|
byte render_bcd::bcd#6 reg byte x 3251.0
|
|
word render_bcd::offset
|
|
word render_bcd::offset#6 offset zp[2]:32 10001.0
|
|
byte render_bcd::only_low
|
|
byte render_bcd::only_low#6 reg byte y 5000.5
|
|
byte* render_bcd::screen
|
|
byte* render_bcd::screen#0 screen zp[2]:12 1001.0
|
|
byte* render_bcd::screen#1 screen zp[2]:12 1001.0
|
|
byte* render_bcd::screen#2 screen zp[2]:12 1001.0
|
|
byte* render_bcd::screen#3 screen zp[2]:12 2002.0
|
|
byte* render_bcd::screen#4 screen zp[2]:12 2002.0
|
|
byte* render_bcd::screen#5 screen zp[2]:12 1001.0
|
|
byte* render_bcd::screen#6 screen zp[2]:12 16007.0
|
|
byte* render_bcd::screen_pos
|
|
byte* render_bcd::screen_pos#0 screen_pos zp[2]:32 8000.8
|
|
byte* render_bcd::screen_pos#2 screen_pos zp[2]:32 20002.0
|
|
byte* render_bcd::screen_pos#3 screen_pos zp[2]:32 10001.0
|
|
void render_init()
|
|
byte~ render_init::$5 reg byte x 1501.5
|
|
byte render_init::i
|
|
byte render_init::i#1 reg byte y 1501.5
|
|
byte render_init::i#2 reg byte y 500.5
|
|
byte* render_init::li_1
|
|
byte* render_init::li_1#1 li_1 zp[2]:12 500.5
|
|
byte* render_init::li_1#2 li_1 zp[2]:12 750.75
|
|
byte* render_init::li_2
|
|
byte* render_init::li_2#1 li_2 zp[2]:54 667.3333333333334
|
|
byte* render_init::li_2#2 li_2 zp[2]:54 600.5999999999999
|
|
byte* render_init::vicSelectGfxBank1_gfx
|
|
byte* render_init::vicSelectGfxBank1_toDd001_gfx
|
|
byte render_init::vicSelectGfxBank1_toDd001_return
|
|
const byte render_init::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = 3^>(word)PLAYFIELD_CHARSET/$40
|
|
void render_moving()
|
|
byte~ render_moving::$1 reg byte a 200002.0
|
|
byte~ render_moving::$6 reg byte a 200002.0
|
|
byte render_moving::c
|
|
byte render_moving::c#1 reg byte x 1500001.5
|
|
byte render_moving::c#2 reg byte x 333333.6666666667
|
|
byte render_moving::current_cell
|
|
byte render_moving::current_cell#0 reg byte a 1000001.0
|
|
byte render_moving::i
|
|
byte render_moving::i#1 i zp[1]:35 200002.0
|
|
byte render_moving::i#2 i zp[1]:35 500000.5
|
|
byte render_moving::i#3 i zp[1]:35 50000.5
|
|
byte render_moving::i#4 i zp[1]:35 1550002.0
|
|
byte render_moving::i#8 i zp[1]:35 300000.75
|
|
byte render_moving::l
|
|
byte render_moving::l#1 l zp[1]:11 150001.5
|
|
byte render_moving::l#4 l zp[1]:11 11764.823529411764
|
|
byte* render_moving::screen_line
|
|
byte* render_moving::screen_line#0 screen_line zp[2]:48 110000.20000000001
|
|
byte render_moving::xpos
|
|
byte render_moving::xpos#0 xpos zp[1]:16 200002.0
|
|
byte render_moving::xpos#1 xpos zp[1]:16 666667.3333333334
|
|
byte render_moving::xpos#2 xpos zp[1]:16 620000.8
|
|
byte render_moving::ypos
|
|
byte render_moving::ypos#0 ypos zp[1]:34 2002.0
|
|
byte render_moving::ypos#1 ypos zp[1]:34 66667.33333333333
|
|
byte render_moving::ypos#2 ypos zp[1]:34 25062.8125
|
|
void render_next()
|
|
byte~ render_next::$6 reg byte x 500.5
|
|
byte render_next::c
|
|
byte render_next::c#1 reg byte x 1500001.5
|
|
byte render_next::c#2 reg byte x 285714.5714285714
|
|
byte render_next::cell
|
|
byte render_next::cell#0 reg byte a 1000001.0
|
|
byte render_next::l
|
|
byte render_next::l#1 l zp[1]:16 150001.5
|
|
byte render_next::l#7 l zp[1]:16 18182.0
|
|
const word render_next::next_area_offset = (word)$28*$c+$18+4
|
|
byte render_next::next_piece_char
|
|
byte render_next::next_piece_char#0 next_piece_char zp[1]:50 66733.46666666667
|
|
byte* render_next::next_piece_gfx
|
|
byte* render_next::next_piece_gfx#1 next_piece_gfx zp[2]:12 210000.30000000002
|
|
byte* render_next::next_piece_gfx#2 next_piece_gfx zp[2]:12 1550002.0
|
|
byte* render_next::next_piece_gfx#3 next_piece_gfx zp[2]:12 201003.0
|
|
byte* render_next::next_piece_gfx#8 next_piece_gfx zp[2]:12 2002.0
|
|
byte* render_next::screen_next_area
|
|
byte* render_next::screen_next_area#10 screen_next_area zp[2]:54 201003.0
|
|
byte* render_next::screen_next_area#11 screen_next_area zp[2]:54 250.25
|
|
byte* render_next::screen_next_area#3 screen_next_area zp[2]:54 700001.0
|
|
byte* render_next::screen_next_area#4 screen_next_area zp[2]:54 66667.33333333333
|
|
byte* render_next::screen_next_area#5 screen_next_area zp[2]:54 683334.1666666667
|
|
void render_playfield()
|
|
byte~ render_playfield::$0 reg byte a 200002.0
|
|
byte~ render_playfield::$3 reg byte a 200002.0
|
|
byte render_playfield::c
|
|
byte render_playfield::c#1 c zp[1]:35 1500001.5
|
|
byte render_playfield::c#2 c zp[1]:35 500000.5
|
|
byte render_playfield::i
|
|
byte render_playfield::i#1 i zp[1]:11 420000.60000000003
|
|
byte render_playfield::i#2 i zp[1]:11 1033334.6666666667
|
|
byte render_playfield::i#3 i zp[1]:11 50000.5
|
|
byte render_playfield::l
|
|
byte render_playfield::l#1 l zp[1]:34 150001.5
|
|
byte render_playfield::l#2 l zp[1]:34 30000.300000000003
|
|
byte* render_playfield::screen_line
|
|
byte* render_playfield::screen_line#0 screen_line zp[2]:54 200002.0
|
|
byte* render_playfield::screen_line#1 screen_line zp[2]:54 500000.5
|
|
byte* render_playfield::screen_line#2 screen_line zp[2]:54 1550002.0
|
|
void render_score()
|
|
const word render_score::level_offset = (word)$28*$13+$1f
|
|
const word render_score::lines_offset = (word)$28*1+$16
|
|
const byte* render_score::score_bytes = (byte*)&score_bcd
|
|
const word render_score::score_offset = (word)$28*5+$1c
|
|
byte* render_score::screen
|
|
byte* render_score::screen#3 screen zp[2]:12 375.375
|
|
void render_screen_original(byte* render_screen_original::screen)
|
|
const byte render_screen_original::SPACE = 0
|
|
byte* render_screen_original::cols
|
|
byte* render_screen_original::cols#1 cols zp[2]:52 100001.0
|
|
byte* render_screen_original::cols#2 cols zp[2]:52 75000.75
|
|
byte* render_screen_original::cols#3 cols zp[2]:52 42000.600000000006
|
|
byte* render_screen_original::cols#4 cols zp[2]:52 77501.0
|
|
byte* render_screen_original::cols#5 cols zp[2]:52 80000.8
|
|
byte* render_screen_original::cols#6 cols zp[2]:52 100001.0
|
|
byte* render_screen_original::cols#7 cols zp[2]:52 20002.0
|
|
byte* render_screen_original::ocols
|
|
byte* render_screen_original::ocols#1 ocols zp[2]:32 17500.25
|
|
byte* render_screen_original::ocols#2 ocols zp[2]:32 66667.33333333333
|
|
byte* render_screen_original::ocols#4 ocols zp[2]:32 13750.25
|
|
byte* render_screen_original::oscr
|
|
byte* render_screen_original::oscr#1 oscr zp[2]:54 14000.2
|
|
byte* render_screen_original::oscr#2 oscr zp[2]:54 133334.66666666666
|
|
byte* render_screen_original::oscr#4 oscr zp[2]:54 13750.25
|
|
byte* render_screen_original::screen
|
|
byte* render_screen_original::screen#10 screen zp[2]:48 30000.428571428572
|
|
byte* render_screen_original::screen#2 screen zp[2]:48 60000.600000000006
|
|
byte* render_screen_original::screen#3 screen zp[2]:48 42857.57142857143
|
|
byte* render_screen_original::screen#5 screen zp[2]:48 155002.0
|
|
byte* render_screen_original::screen#6 screen zp[2]:48 200002.0
|
|
byte* render_screen_original::screen#7 screen zp[2]:48 200002.0
|
|
byte* render_screen_original::screen#8 screen zp[2]:48 21003.0
|
|
byte* render_screen_original::screen#9 screen zp[2]:48 1001.0
|
|
byte render_screen_original::x
|
|
byte render_screen_original::x#1 reg byte x 200002.0
|
|
byte render_screen_original::x#2 reg byte x 200002.0
|
|
byte render_screen_original::x#3 reg byte x 150001.5
|
|
byte render_screen_original::x#4 reg byte x 40000.4
|
|
byte render_screen_original::x#5 reg byte x 42857.57142857143
|
|
byte render_screen_original::x#6 reg byte x 60000.600000000006
|
|
byte render_screen_original::y
|
|
byte render_screen_original::y#1 y zp[1]:35 15001.5
|
|
byte render_screen_original::y#6 y zp[1]:35 833.4166666666666
|
|
byte render_screen_render
|
|
byte render_screen_render#12 render_screen_render zp[1]:3 275.5
|
|
byte render_screen_render#16 reg byte x 1102.0
|
|
byte render_screen_render#19 render_screen_render zp[1]:3 84.76923076923077
|
|
byte render_screen_render#24 reg byte x 7700.153846153846
|
|
byte render_screen_render#35 render_screen_render_1 zp[1]:5 4766.761904761905
|
|
byte render_screen_render#63 reg byte x 202.0
|
|
byte render_screen_render#64 render_screen_render_1 zp[1]:5 50.5
|
|
byte render_screen_render#65 reg byte x 101.0
|
|
byte render_screen_show
|
|
byte render_screen_show#14 render_screen_show zp[1]:2 367.33333333333337
|
|
byte render_screen_show#17 render_screen_show zp[1]:2 577.65
|
|
volatile byte render_screen_showing loadstore zp[1]:36 1000.5
|
|
void render_screen_swap()
|
|
void render_show()
|
|
byte render_show::d018val
|
|
byte render_show::d018val#3 reg byte a 10001.0
|
|
byte* render_show::toD0181_gfx
|
|
byte render_show::toD0181_return
|
|
const byte render_show::toD0181_return#0 toD0181_return = >(word)PLAYFIELD_SCREEN_1&$3fff*4|>(word)PLAYFIELD_CHARSET/4&$f
|
|
byte* render_show::toD0181_screen
|
|
byte* render_show::toD0182_gfx
|
|
byte render_show::toD0182_return
|
|
const byte render_show::toD0182_return#0 toD0182_return = >(word)PLAYFIELD_SCREEN_2&$3fff*4|>(word)PLAYFIELD_CHARSET/4&$f
|
|
byte* render_show::toD0182_screen
|
|
const dword* score_add_bcd[5] = { fill( 5, 0) }
|
|
volatile dword score_bcd loadstore zp[4]:37 14705.911764705883
|
|
const byte** screen_lines_1[PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) }
|
|
const byte** screen_lines_2[PLAYFIELD_LINES] = { fill( PLAYFIELD_LINES, 0) }
|
|
void sprites_init()
|
|
byte sprites_init::s
|
|
byte sprites_init::s#1 reg byte y 1501.5
|
|
byte sprites_init::s#2 reg byte y 800.8
|
|
byte sprites_init::s2
|
|
byte sprites_init::s2#0 reg byte x 2002.0
|
|
byte sprites_init::xpos
|
|
byte sprites_init::xpos#1 xpos zp[1]:34 667.3333333333334
|
|
byte sprites_init::xpos#2 xpos zp[1]:34 750.75
|
|
__interrupt(hardware_clobber) void sprites_irq()
|
|
byte~ sprites_irq::$0 reg byte x 4.0
|
|
byte sprites_irq::ptr
|
|
byte sprites_irq::ptr#0 reg byte x 2.5
|
|
byte sprites_irq::ptr#1 reg byte x 2.6666666666666665
|
|
byte sprites_irq::ptr#2 reg byte a 4.0
|
|
byte sprites_irq::ptr#3 reg byte a 2.6666666666666665
|
|
byte sprites_irq::ptr#4 reg byte a 4.0
|
|
volatile byte sprites_irq::raster_sprite_gfx_modify loadstore zp[1]:45 6.5
|
|
byte sprites_irq::toSpritePtr1_return
|
|
const byte sprites_irq::toSpritePtr1_return#0 toSpritePtr1_return = (byte)(word)PLAYFIELD_SPRITES/$40
|
|
byte* sprites_irq::toSpritePtr1_sprite
|
|
byte sprites_irq::ypos
|
|
byte sprites_irq::ypos#0 reg byte a 2.5
|
|
void sprites_irq_init()
|
|
|
|
zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
reg byte y [ render_init::i#2 render_init::i#1 ]
|
|
reg byte y [ sprites_init::s#2 sprites_init::s#1 ]
|
|
reg byte y [ play_init::j#2 play_init::j#1 ]
|
|
reg byte x [ play_init::b#2 play_init::b#1 ]
|
|
reg byte x [ render_screen_render#24 render_screen_render#63 ]
|
|
reg byte x [ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
zp[1]:5 [ render_screen_render#35 render_screen_render#64 ]
|
|
zp[1]:6 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
zp[2]:7 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ]
|
|
zp[1]:9 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
reg byte x [ render_moving::c#2 render_moving::c#1 ]
|
|
reg byte x [ render_screen_render#16 render_screen_render#65 ]
|
|
reg byte y [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
reg byte x [ render_next::c#2 render_next::c#1 ]
|
|
reg byte a [ render_show::d018val#3 ]
|
|
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
zp[1]:10 [ keyboard_events_size#11 keyboard_events_size#32 keyboard_events_size#20 keyboard_events_size#17 keyboard_events_size#14 keyboard_events_size#31 keyboard_events_size#0 keyboard_events_size#1 keyboard_events_size#3 ]
|
|
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
|
zp[1]:11 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 play_movement::render#2 keyboard_event_scan::row#2 keyboard_event_scan::row#1 render_moving::l#4 render_moving::l#1 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
zp[2]:12 [ render_score::screen#3 render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 play_init::pli#2 play_init::pli#1 render_init::li_1#2 render_init::li_1#1 ]
|
|
reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ]
|
|
zp[2]:14 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ]
|
|
reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
|
reg byte x [ play_collision::c#2 play_collision::c#1 ]
|
|
reg byte a [ play_collision::return#15 ]
|
|
reg byte x [ keyboard_event_pressed::keycode#5 ]
|
|
zp[1]:16 [ play_move_down::movedown#6 play_move_down::movedown#7 play_move_down::movedown#10 play_move_down::movedown#2 play_move_down::movedown#3 play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 render_next::l#7 render_next::l#1 render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
zp[1]:17 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
zp[2]:18 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ]
|
|
zp[1]:20 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
zp[1]:21 [ current_movedown_slow#39 current_movedown_slow#13 current_movedown_slow#0 current_movedown_slow#22 current_movedown_slow#24 current_movedown_slow#67 current_movedown_slow#9 ]
|
|
zp[1]:22 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
zp[2]:23 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ]
|
|
zp[1]:25 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
zp[1]:26 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
zp[2]:27 [ current_piece_gfx#37 current_piece_gfx#12 current_piece_gfx#122 current_piece_gfx#19 current_piece_gfx#21 current_piece_gfx#22 current_piece_gfx#116 current_piece_gfx#6 ]
|
|
zp[1]:29 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
zp[1]:30 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
zp[1]:31 [ next_piece_idx#32 next_piece_idx#18 next_piece_idx#23 play_spawn_current::piece_idx#2 next_piece_idx#17 play_spawn_current::piece_idx#1 ]
|
|
reg byte x [ play_move_down::return#3 ]
|
|
reg byte a [ play_move_leftright::return#2 ]
|
|
reg byte a [ play_move_rotate::return#2 ]
|
|
zp[2]:32 [ render_bcd::offset#6 render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ]
|
|
reg byte y [ render_bcd::only_low#6 ]
|
|
reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ]
|
|
zp[1]:34 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 render_playfield::l#2 render_playfield::l#1 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ]
|
|
zp[1]:35 [ play_remove_lines::y#8 play_remove_lines::y#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 render_screen_original::y#6 render_screen_original::y#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#13 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 render_playfield::c#2 render_playfield::c#1 ]
|
|
reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
|
reg byte x [ play_remove_lines::w#6 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 play_remove_lines::w#3 ]
|
|
reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ]
|
|
zp[1]:36 [ render_screen_showing ]
|
|
zp[4]:37 [ score_bcd ]
|
|
zp[1]:41 [ irq_raster_next ]
|
|
zp[1]:42 [ irq_sprite_ypos ]
|
|
zp[1]:43 [ irq_sprite_ptr ]
|
|
zp[1]:44 [ irq_cnt ]
|
|
reg byte a [ sprites_irq::ypos#0 ]
|
|
reg byte x [ sprites_irq::$0 ]
|
|
zp[1]:45 [ sprites_irq::raster_sprite_gfx_modify ]
|
|
reg byte x [ sprites_irq::ptr#0 ]
|
|
reg byte a [ sprites_irq::ptr#3 ]
|
|
reg byte a [ sprites_irq::ptr#4 ]
|
|
reg byte x [ sprites_irq::ptr#1 ]
|
|
reg byte a [ sprites_irq::ptr#2 ]
|
|
reg byte a [ keyboard_event_get::return#3 ]
|
|
reg byte x [ main::key_event#0 ]
|
|
zp[1]:46 [ play_movement::key_event#0 ]
|
|
reg byte a [ play_movement::return#3 ]
|
|
reg byte a [ main::render#1 ]
|
|
reg byte x [ render_init::$5 ]
|
|
reg byte x [ sprites_init::s2#0 ]
|
|
reg byte x [ play_init::$2 ]
|
|
reg byte a [ play_init::$3 ]
|
|
reg byte x [ play_spawn_current::current_piece_idx#0 ]
|
|
zp[1]:47 [ play_spawn_current::$7 play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
reg byte a [ play_collision::return#10 ]
|
|
reg byte a [ play_spawn_current::$1 ]
|
|
reg byte a [ play_spawn_current::sid_rnd1_return#0 ]
|
|
reg byte a [ render_playfield::$0 ]
|
|
reg byte a [ render_playfield::$3 ]
|
|
reg byte a [ render_moving::$1 ]
|
|
reg byte a [ render_moving::$6 ]
|
|
zp[2]:48 [ render_moving::screen_line#0 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
|
reg byte a [ render_moving::current_cell#0 ]
|
|
reg byte x [ render_next::$6 ]
|
|
zp[1]:50 [ render_next::next_piece_char#0 play_remove_lines::x#2 play_remove_lines::x#1 play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 play_collision::yp#2 play_collision::yp#0 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::yp#1 ]
|
|
reg byte a [ render_next::cell#0 ]
|
|
reg byte x [ keyboard_matrix_read::rowid#0 ]
|
|
reg byte a [ keyboard_matrix_read::return#2 ]
|
|
zp[1]:51 [ keyboard_event_scan::row_scan#0 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::l#6 play_lock_current::l#1 play_collision::l#6 play_collision::l#1 ]
|
|
reg byte a [ keyboard_event_pressed::return#0 ]
|
|
reg byte a [ keyboard_event_scan::$0 ]
|
|
reg byte a [ keyboard_event_pressed::return#1 ]
|
|
reg byte a [ keyboard_event_scan::$3 ]
|
|
reg byte a [ keyboard_event_pressed::return#2 ]
|
|
reg byte a [ keyboard_event_scan::$6 ]
|
|
reg byte a [ keyboard_event_pressed::return#10 ]
|
|
reg byte a [ keyboard_event_scan::$9 ]
|
|
reg byte a [ keyboard_event_scan::$15 ]
|
|
reg byte a [ keyboard_event_scan::$16 ]
|
|
reg byte a [ keyboard_event_scan::event_type#0 ]
|
|
reg byte a [ keyboard_event_scan::$23 ]
|
|
reg byte a [ play_move_down::key_event#0 ]
|
|
reg byte a [ play_move_down::return#0 ]
|
|
reg byte a [ play_move_leftright::key_event#0 ]
|
|
reg byte a [ play_move_leftright::return#0 ]
|
|
reg byte a [ play_movement::$3 ]
|
|
reg byte a [ play_move_rotate::key_event#0 ]
|
|
reg byte a [ play_move_rotate::return#0 ]
|
|
reg byte a [ play_movement::$4 ]
|
|
zp[2]:52 [ play_collision::piece_gfx#0 render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ]
|
|
reg byte a [ play_collision::$14 ]
|
|
reg byte a [ play_collision::$5 ]
|
|
reg byte a [ keyboard_matrix_read::return#0 ]
|
|
reg byte y [ keyboard_event_pressed::$0 ]
|
|
reg byte y [ keyboard_event_pressed::row_bits#0 ]
|
|
reg byte x [ keyboard_event_pressed::$1 ]
|
|
reg byte a [ keyboard_event_pressed::return#11 ]
|
|
reg byte a [ keyboard_event_pressed::return#12 ]
|
|
reg byte a [ play_move_down::$2 ]
|
|
reg byte a [ play_collision::return#0 ]
|
|
reg byte a [ play_move_down::$12 ]
|
|
reg byte a [ play_remove_lines::return#0 ]
|
|
reg byte a [ play_move_down::removed#0 ]
|
|
reg byte x [ play_update_score::removed#0 ]
|
|
reg byte a [ play_collision::return#13 ]
|
|
reg byte a [ play_move_leftright::$4 ]
|
|
reg byte a [ play_collision::return#1 ]
|
|
reg byte a [ play_move_leftright::$8 ]
|
|
reg byte x [ play_move_rotate::$5 ]
|
|
reg byte a [ play_collision::return#14 ]
|
|
reg byte a [ play_move_rotate::$2 ]
|
|
reg byte a [ play_move_rotate::$7 ]
|
|
reg byte a [ render_bcd::$5 ]
|
|
reg byte a [ render_bcd::$6 ]
|
|
reg byte a [ render_bcd::$3 ]
|
|
reg byte a [ render_bcd::$4 ]
|
|
reg byte a [ play_lock_current::$4 ]
|
|
zp[2]:54 [ play_lock_current::playfield_line#0 play_collision::playfield_line#0 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 render_init::li_2#2 render_init::li_2#1 render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 render_next::screen_next_area#5 render_next::screen_next_area#10 render_next::screen_next_area#11 render_next::screen_next_area#4 render_next::screen_next_area#3 ]
|
|
zp[1]:56 [ play_lock_current::i#1 play_collision::i#1 ]
|
|
reg byte a [ play_update_score::$2 ]
|
|
zp[1]:57 [ play_update_score::lines_before#0 play_remove_lines::c#0 play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
reg byte a [ play_update_score::$9 ]
|
|
zp[4]:58 [ play_update_score::add_bcd#0 ]
|
|
reg byte a [ play_update_score::$4 ]
|
|
reg byte a [ play_update_score::lines_after#0 ]
|
|
reg byte a [ play_increase_level::$1 ]
|
|
reg byte a [ play_increase_level::$5 ]
|