mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-06-03 07:29:37 +00:00
20975 lines
1.7 MiB
20975 lines
1.7 MiB
Resolved forward reference next_piece_idx to next_piece_idx
|
|
Resolved forward reference next_piece_idx to next_piece_idx
|
|
Resolved forward reference sprites_irq to __interrupt(hardware_clobber) void sprites_irq()
|
|
Resolved forward reference COLLISION_NONE to COLLISION_NONE
|
|
Resolved forward reference COLLISION_NONE to COLLISION_NONE
|
|
Resolved forward reference COLLISION_NONE to COLLISION_NONE
|
|
Resolved forward reference COLLISION_NONE to COLLISION_NONE
|
|
Setting inferred volatile on symbol affected by address-of render_score::score_bytes = (byte*)&score_bcd
|
|
Inlined call vicSelectGfxBank::$0 = call toDd00 vicSelectGfxBank::gfx
|
|
Inlined call __init::$0 = call toSpritePtr PLAYFIELD_SPRITES
|
|
Inlined call call vicSelectGfxBank PLAYFIELD_CHARSET
|
|
Inlined call render_show::$2 = call toD018 PLAYFIELD_SCREEN_1 PLAYFIELD_CHARSET
|
|
Inlined call render_show::$1 = call toD018 PLAYFIELD_SCREEN_2 PLAYFIELD_CHARSET
|
|
Inlined call sprites_irq::$5 = call toSpritePtr PLAYFIELD_SPRITES
|
|
Inlined call play_spawn_current::$5 = call sid_rnd
|
|
Inlined call call sid_rnd_init
|
|
Inlined call call __init
|
|
|
|
CONTROL FLOW GRAPH SSA
|
|
|
|
byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
|
|
keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@7
|
|
keyboard_matrix_read::rowid#1 = phi( keyboard_event_scan::@7/keyboard_matrix_read::rowid#0 )
|
|
*((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#1]
|
|
keyboard_matrix_read::$0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
|
|
keyboard_matrix_read::row_pressed_bits#0 = keyboard_matrix_read::$0
|
|
keyboard_matrix_read::return#0 = keyboard_matrix_read::row_pressed_bits#0
|
|
to:keyboard_matrix_read::@return
|
|
keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read
|
|
keyboard_matrix_read::return#3 = phi( keyboard_matrix_read/keyboard_matrix_read::return#0 )
|
|
keyboard_matrix_read::return#1 = keyboard_matrix_read::return#3
|
|
return
|
|
to:@return
|
|
|
|
void keyboard_event_scan()
|
|
keyboard_event_scan: scope:[keyboard_event_scan] from main::@19
|
|
keyboard_events_size#55 = phi( main::@19/keyboard_events_size#28 )
|
|
keyboard_event_scan::keycode#0 = 0
|
|
keyboard_event_scan::row#0 = 0
|
|
to:keyboard_event_scan::@7
|
|
keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@9
|
|
keyboard_events_size#48 = phi( keyboard_event_scan/keyboard_events_size#55, keyboard_event_scan::@9/keyboard_events_size#56 )
|
|
keyboard_event_scan::keycode#11 = phi( keyboard_event_scan/keyboard_event_scan::keycode#0, keyboard_event_scan::@9/keyboard_event_scan::keycode#13 )
|
|
keyboard_event_scan::row#2 = phi( keyboard_event_scan/keyboard_event_scan::row#0, keyboard_event_scan::@9/keyboard_event_scan::row#1 )
|
|
keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2
|
|
call keyboard_matrix_read
|
|
keyboard_matrix_read::return#2 = keyboard_matrix_read::return#1
|
|
to:keyboard_event_scan::@20
|
|
keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@7
|
|
keyboard_events_size#39 = phi( keyboard_event_scan::@7/keyboard_events_size#48 )
|
|
keyboard_event_scan::keycode#7 = phi( keyboard_event_scan::@7/keyboard_event_scan::keycode#11 )
|
|
keyboard_event_scan::row#3 = phi( keyboard_event_scan::@7/keyboard_event_scan::row#2 )
|
|
keyboard_matrix_read::return#4 = phi( keyboard_event_scan::@7/keyboard_matrix_read::return#2 )
|
|
keyboard_event_scan::$12 = keyboard_matrix_read::return#4
|
|
keyboard_event_scan::row_scan#0 = keyboard_event_scan::$12
|
|
keyboard_event_scan::$13 = keyboard_event_scan::row_scan#0 != keyboard_scan_values[keyboard_event_scan::row#3]
|
|
if(keyboard_event_scan::$13) goto keyboard_event_scan::@8
|
|
to:keyboard_event_scan::@17
|
|
keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@20
|
|
keyboard_events_size#32 = phi( keyboard_event_scan::@20/keyboard_events_size#39 )
|
|
keyboard_event_scan::keycode#12 = phi( keyboard_event_scan::@20/keyboard_event_scan::keycode#7 )
|
|
keyboard_event_scan::row#9 = phi( keyboard_event_scan::@20/keyboard_event_scan::row#3 )
|
|
keyboard_event_scan::row_scan#5 = phi( keyboard_event_scan::@20/keyboard_event_scan::row_scan#0 )
|
|
keyboard_event_scan::col#0 = 0
|
|
to:keyboard_event_scan::@10
|
|
keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@20
|
|
keyboard_events_size#62 = phi( keyboard_event_scan::@20/keyboard_events_size#39 )
|
|
keyboard_event_scan::row#7 = phi( keyboard_event_scan::@20/keyboard_event_scan::row#3 )
|
|
keyboard_event_scan::keycode#3 = phi( keyboard_event_scan::@20/keyboard_event_scan::keycode#7 )
|
|
keyboard_event_scan::$14 = keyboard_event_scan::keycode#3 + 8
|
|
keyboard_event_scan::keycode#1 = keyboard_event_scan::$14
|
|
to:keyboard_event_scan::@9
|
|
keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@16 keyboard_event_scan::@17
|
|
keyboard_events_size#56 = phi( keyboard_event_scan::@16/keyboard_events_size#61, keyboard_event_scan::@17/keyboard_events_size#62 )
|
|
keyboard_event_scan::keycode#13 = phi( keyboard_event_scan::@16/keyboard_event_scan::keycode#14, keyboard_event_scan::@17/keyboard_event_scan::keycode#1 )
|
|
keyboard_event_scan::row#4 = phi( keyboard_event_scan::@16/keyboard_event_scan::row#6, keyboard_event_scan::@17/keyboard_event_scan::row#7 )
|
|
keyboard_event_scan::row#1 = keyboard_event_scan::row#4 + rangenext(0,7)
|
|
keyboard_event_scan::$25 = keyboard_event_scan::row#1 != rangelast(0,7)
|
|
if(keyboard_event_scan::$25) goto keyboard_event_scan::@7
|
|
to:keyboard_event_scan::@18
|
|
keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@11 keyboard_event_scan::@8
|
|
keyboard_events_size#23 = phi( keyboard_event_scan::@11/keyboard_events_size#31, keyboard_event_scan::@8/keyboard_events_size#32 )
|
|
keyboard_event_scan::keycode#8 = phi( keyboard_event_scan::@11/keyboard_event_scan::keycode#2, keyboard_event_scan::@8/keyboard_event_scan::keycode#12 )
|
|
keyboard_event_scan::col#2 = phi( keyboard_event_scan::@11/keyboard_event_scan::col#1, keyboard_event_scan::@8/keyboard_event_scan::col#0 )
|
|
keyboard_event_scan::row#5 = phi( keyboard_event_scan::@11/keyboard_event_scan::row#8, keyboard_event_scan::@8/keyboard_event_scan::row#9 )
|
|
keyboard_event_scan::row_scan#1 = phi( keyboard_event_scan::@11/keyboard_event_scan::row_scan#4, keyboard_event_scan::@8/keyboard_event_scan::row_scan#5 )
|
|
keyboard_event_scan::$15 = keyboard_event_scan::row_scan#1 ^ keyboard_scan_values[keyboard_event_scan::row#5]
|
|
keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2]
|
|
keyboard_event_scan::$17 = keyboard_event_scan::$16 != 0
|
|
keyboard_event_scan::$18 = ! keyboard_event_scan::$17
|
|
if(keyboard_event_scan::$18) goto keyboard_event_scan::@11
|
|
to:keyboard_event_scan::@13
|
|
keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@10 keyboard_event_scan::@12 keyboard_event_scan::@13 keyboard_event_scan::@15
|
|
keyboard_events_size#31 = phi( keyboard_event_scan::@10/keyboard_events_size#23, keyboard_event_scan::@12/keyboard_events_size#0, keyboard_event_scan::@13/keyboard_events_size#11, keyboard_event_scan::@15/keyboard_events_size#1 )
|
|
keyboard_event_scan::row#8 = phi( keyboard_event_scan::@10/keyboard_event_scan::row#5, keyboard_event_scan::@12/keyboard_event_scan::row#10, keyboard_event_scan::@13/keyboard_event_scan::row#11, keyboard_event_scan::@15/keyboard_event_scan::row#12 )
|
|
keyboard_event_scan::row_scan#4 = phi( keyboard_event_scan::@10/keyboard_event_scan::row_scan#1, keyboard_event_scan::@12/keyboard_event_scan::row_scan#7, keyboard_event_scan::@13/keyboard_event_scan::row_scan#6, keyboard_event_scan::@15/keyboard_event_scan::row_scan#8 )
|
|
keyboard_event_scan::col#3 = phi( keyboard_event_scan::@10/keyboard_event_scan::col#2, keyboard_event_scan::@12/keyboard_event_scan::col#5, keyboard_event_scan::@13/keyboard_event_scan::col#6, keyboard_event_scan::@15/keyboard_event_scan::col#7 )
|
|
keyboard_event_scan::keycode#4 = phi( keyboard_event_scan::@10/keyboard_event_scan::keycode#8, keyboard_event_scan::@12/keyboard_event_scan::keycode#5, keyboard_event_scan::@13/keyboard_event_scan::keycode#9, keyboard_event_scan::@15/keyboard_event_scan::keycode#6 )
|
|
keyboard_event_scan::keycode#2 = ++ keyboard_event_scan::keycode#4
|
|
keyboard_event_scan::col#1 = keyboard_event_scan::col#3 + rangenext(0,7)
|
|
keyboard_event_scan::$24 = keyboard_event_scan::col#1 != rangelast(0,7)
|
|
if(keyboard_event_scan::$24) goto keyboard_event_scan::@10
|
|
to:keyboard_event_scan::@16
|
|
keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@10
|
|
keyboard_event_scan::row#11 = phi( keyboard_event_scan::@10/keyboard_event_scan::row#5 )
|
|
keyboard_event_scan::row_scan#6 = phi( keyboard_event_scan::@10/keyboard_event_scan::row_scan#1 )
|
|
keyboard_event_scan::col#6 = phi( keyboard_event_scan::@10/keyboard_event_scan::col#2 )
|
|
keyboard_event_scan::keycode#9 = phi( keyboard_event_scan::@10/keyboard_event_scan::keycode#8 )
|
|
keyboard_events_size#11 = phi( keyboard_event_scan::@10/keyboard_events_size#23 )
|
|
keyboard_event_scan::$19 = keyboard_events_size#11 != 8
|
|
keyboard_event_scan::$20 = ! keyboard_event_scan::$19
|
|
if(keyboard_event_scan::$20) goto keyboard_event_scan::@11
|
|
to:keyboard_event_scan::@14
|
|
keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@13
|
|
keyboard_event_scan::row#13 = phi( keyboard_event_scan::@13/keyboard_event_scan::row#11 )
|
|
keyboard_events_size#24 = phi( keyboard_event_scan::@13/keyboard_events_size#11 )
|
|
keyboard_event_scan::keycode#10 = phi( keyboard_event_scan::@13/keyboard_event_scan::keycode#9 )
|
|
keyboard_event_scan::col#4 = phi( keyboard_event_scan::@13/keyboard_event_scan::col#6 )
|
|
keyboard_event_scan::row_scan#2 = phi( keyboard_event_scan::@13/keyboard_event_scan::row_scan#6 )
|
|
keyboard_event_scan::$21 = keyboard_event_scan::row_scan#2 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#4]
|
|
keyboard_event_scan::event_type#0 = keyboard_event_scan::$21
|
|
keyboard_event_scan::$22 = keyboard_event_scan::event_type#0 == 0
|
|
if(keyboard_event_scan::$22) goto keyboard_event_scan::@12
|
|
to:keyboard_event_scan::@15
|
|
keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@14
|
|
keyboard_event_scan::row#10 = phi( keyboard_event_scan::@14/keyboard_event_scan::row#13 )
|
|
keyboard_event_scan::row_scan#7 = phi( keyboard_event_scan::@14/keyboard_event_scan::row_scan#2 )
|
|
keyboard_event_scan::col#5 = phi( keyboard_event_scan::@14/keyboard_event_scan::col#4 )
|
|
keyboard_events_size#12 = phi( keyboard_event_scan::@14/keyboard_events_size#24 )
|
|
keyboard_event_scan::keycode#5 = phi( keyboard_event_scan::@14/keyboard_event_scan::keycode#10 )
|
|
keyboard_event_scan::$23 = keyboard_event_scan::keycode#5 | $40
|
|
keyboard_events[keyboard_events_size#12] = keyboard_event_scan::$23
|
|
keyboard_events_size#0 = ++ keyboard_events_size#12
|
|
to:keyboard_event_scan::@11
|
|
keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@14
|
|
keyboard_event_scan::row#12 = phi( keyboard_event_scan::@14/keyboard_event_scan::row#13 )
|
|
keyboard_event_scan::row_scan#8 = phi( keyboard_event_scan::@14/keyboard_event_scan::row_scan#2 )
|
|
keyboard_event_scan::col#7 = phi( keyboard_event_scan::@14/keyboard_event_scan::col#4 )
|
|
keyboard_events_size#13 = phi( keyboard_event_scan::@14/keyboard_events_size#24 )
|
|
keyboard_event_scan::keycode#6 = phi( keyboard_event_scan::@14/keyboard_event_scan::keycode#10 )
|
|
keyboard_events[keyboard_events_size#13] = keyboard_event_scan::keycode#6
|
|
keyboard_events_size#1 = ++ keyboard_events_size#13
|
|
to:keyboard_event_scan::@11
|
|
keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@11
|
|
keyboard_events_size#61 = phi( keyboard_event_scan::@11/keyboard_events_size#31 )
|
|
keyboard_event_scan::keycode#14 = phi( keyboard_event_scan::@11/keyboard_event_scan::keycode#2 )
|
|
keyboard_event_scan::row#6 = phi( keyboard_event_scan::@11/keyboard_event_scan::row#8 )
|
|
keyboard_event_scan::row_scan#3 = phi( keyboard_event_scan::@11/keyboard_event_scan::row_scan#4 )
|
|
keyboard_scan_values[keyboard_event_scan::row#6] = keyboard_event_scan::row_scan#3
|
|
to:keyboard_event_scan::@9
|
|
keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@9
|
|
keyboard_events_size#70 = phi( keyboard_event_scan::@9/keyboard_events_size#56 )
|
|
keyboard_modifiers#0 = 0
|
|
keyboard_event_pressed::keycode#0 = KEY_LSHIFT
|
|
call keyboard_event_pressed
|
|
keyboard_event_pressed::return#0 = keyboard_event_pressed::return#5
|
|
to:keyboard_event_scan::@21
|
|
keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@18
|
|
keyboard_events_size#67 = phi( keyboard_event_scan::@18/keyboard_events_size#70 )
|
|
keyboard_modifiers#20 = phi( keyboard_event_scan::@18/keyboard_modifiers#0 )
|
|
keyboard_event_pressed::return#7 = phi( keyboard_event_scan::@18/keyboard_event_pressed::return#0 )
|
|
keyboard_event_scan::$0 = keyboard_event_pressed::return#7
|
|
keyboard_event_scan::$1 = keyboard_event_scan::$0 != 0
|
|
keyboard_event_scan::$2 = ! keyboard_event_scan::$1
|
|
if(keyboard_event_scan::$2) goto keyboard_event_scan::@1
|
|
to:keyboard_event_scan::@19
|
|
keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan::@19 keyboard_event_scan::@21
|
|
keyboard_events_size#63 = phi( keyboard_event_scan::@19/keyboard_events_size#66, keyboard_event_scan::@21/keyboard_events_size#67 )
|
|
keyboard_modifiers#27 = phi( keyboard_event_scan::@19/keyboard_modifiers#1, keyboard_event_scan::@21/keyboard_modifiers#20 )
|
|
keyboard_event_pressed::keycode#1 = KEY_RSHIFT
|
|
call keyboard_event_pressed
|
|
keyboard_event_pressed::return#1 = keyboard_event_pressed::return#5
|
|
to:keyboard_event_scan::@22
|
|
keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@1
|
|
keyboard_events_size#57 = phi( keyboard_event_scan::@1/keyboard_events_size#63 )
|
|
keyboard_modifiers#21 = phi( keyboard_event_scan::@1/keyboard_modifiers#27 )
|
|
keyboard_event_pressed::return#8 = phi( keyboard_event_scan::@1/keyboard_event_pressed::return#1 )
|
|
keyboard_event_scan::$3 = keyboard_event_pressed::return#8
|
|
keyboard_event_scan::$4 = keyboard_event_scan::$3 != 0
|
|
keyboard_event_scan::$5 = ! keyboard_event_scan::$4
|
|
if(keyboard_event_scan::$5) goto keyboard_event_scan::@2
|
|
to:keyboard_event_scan::@4
|
|
keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@21
|
|
keyboard_events_size#66 = phi( keyboard_event_scan::@21/keyboard_events_size#67 )
|
|
keyboard_modifiers#11 = phi( keyboard_event_scan::@21/keyboard_modifiers#20 )
|
|
keyboard_event_scan::$26 = keyboard_modifiers#11 | KEY_MODIFIER_LSHIFT
|
|
keyboard_modifiers#1 = keyboard_event_scan::$26
|
|
to:keyboard_event_scan::@1
|
|
keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@4
|
|
keyboard_events_size#49 = phi( keyboard_event_scan::@22/keyboard_events_size#57, keyboard_event_scan::@4/keyboard_events_size#58 )
|
|
keyboard_modifiers#28 = phi( keyboard_event_scan::@22/keyboard_modifiers#21, keyboard_event_scan::@4/keyboard_modifiers#2 )
|
|
keyboard_event_pressed::keycode#2 = KEY_CTRL
|
|
call keyboard_event_pressed
|
|
keyboard_event_pressed::return#2 = keyboard_event_pressed::return#5
|
|
to:keyboard_event_scan::@23
|
|
keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@2
|
|
keyboard_events_size#40 = phi( keyboard_event_scan::@2/keyboard_events_size#49 )
|
|
keyboard_modifiers#22 = phi( keyboard_event_scan::@2/keyboard_modifiers#28 )
|
|
keyboard_event_pressed::return#9 = phi( keyboard_event_scan::@2/keyboard_event_pressed::return#2 )
|
|
keyboard_event_scan::$6 = keyboard_event_pressed::return#9
|
|
keyboard_event_scan::$7 = keyboard_event_scan::$6 != 0
|
|
keyboard_event_scan::$8 = ! keyboard_event_scan::$7
|
|
if(keyboard_event_scan::$8) goto keyboard_event_scan::@3
|
|
to:keyboard_event_scan::@5
|
|
keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@22
|
|
keyboard_events_size#58 = phi( keyboard_event_scan::@22/keyboard_events_size#57 )
|
|
keyboard_modifiers#12 = phi( keyboard_event_scan::@22/keyboard_modifiers#21 )
|
|
keyboard_event_scan::$27 = keyboard_modifiers#12 | KEY_MODIFIER_RSHIFT
|
|
keyboard_modifiers#2 = keyboard_event_scan::$27
|
|
to:keyboard_event_scan::@2
|
|
keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@5
|
|
keyboard_events_size#33 = phi( keyboard_event_scan::@23/keyboard_events_size#40, keyboard_event_scan::@5/keyboard_events_size#41 )
|
|
keyboard_modifiers#29 = phi( keyboard_event_scan::@23/keyboard_modifiers#22, keyboard_event_scan::@5/keyboard_modifiers#3 )
|
|
keyboard_event_pressed::keycode#3 = KEY_COMMODORE
|
|
call keyboard_event_pressed
|
|
keyboard_event_pressed::return#3 = keyboard_event_pressed::return#5
|
|
to:keyboard_event_scan::@24
|
|
keyboard_event_scan::@24: scope:[keyboard_event_scan] from keyboard_event_scan::@3
|
|
keyboard_events_size#25 = phi( keyboard_event_scan::@3/keyboard_events_size#33 )
|
|
keyboard_modifiers#23 = phi( keyboard_event_scan::@3/keyboard_modifiers#29 )
|
|
keyboard_event_pressed::return#10 = phi( keyboard_event_scan::@3/keyboard_event_pressed::return#3 )
|
|
keyboard_event_scan::$9 = keyboard_event_pressed::return#10
|
|
keyboard_event_scan::$10 = keyboard_event_scan::$9 != 0
|
|
keyboard_event_scan::$11 = ! keyboard_event_scan::$10
|
|
if(keyboard_event_scan::$11) goto keyboard_event_scan::@return
|
|
to:keyboard_event_scan::@6
|
|
keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@23
|
|
keyboard_events_size#41 = phi( keyboard_event_scan::@23/keyboard_events_size#40 )
|
|
keyboard_modifiers#13 = phi( keyboard_event_scan::@23/keyboard_modifiers#22 )
|
|
keyboard_event_scan::$28 = keyboard_modifiers#13 | KEY_MODIFIER_CTRL
|
|
keyboard_modifiers#3 = keyboard_event_scan::$28
|
|
to:keyboard_event_scan::@3
|
|
keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@24
|
|
keyboard_events_size#26 = phi( keyboard_event_scan::@24/keyboard_events_size#25 )
|
|
keyboard_modifiers#14 = phi( keyboard_event_scan::@24/keyboard_modifiers#23 )
|
|
keyboard_event_scan::$29 = keyboard_modifiers#14 | KEY_MODIFIER_COMMODORE
|
|
keyboard_modifiers#4 = keyboard_event_scan::$29
|
|
to:keyboard_event_scan::@return
|
|
keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@24 keyboard_event_scan::@6
|
|
keyboard_modifiers#15 = phi( keyboard_event_scan::@24/keyboard_modifiers#23, keyboard_event_scan::@6/keyboard_modifiers#4 )
|
|
keyboard_events_size#14 = phi( keyboard_event_scan::@24/keyboard_events_size#25, keyboard_event_scan::@6/keyboard_events_size#26 )
|
|
keyboard_events_size#2 = keyboard_events_size#14
|
|
keyboard_modifiers#5 = keyboard_modifiers#15
|
|
return
|
|
to:@return
|
|
|
|
byte keyboard_event_pressed(byte keyboard_event_pressed::keycode)
|
|
keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@1 keyboard_event_scan::@18 keyboard_event_scan::@2 keyboard_event_scan::@3 play_move_down::@1
|
|
keyboard_event_pressed::keycode#5 = phi( keyboard_event_scan::@1/keyboard_event_pressed::keycode#1, keyboard_event_scan::@18/keyboard_event_pressed::keycode#0, keyboard_event_scan::@2/keyboard_event_pressed::keycode#2, keyboard_event_scan::@3/keyboard_event_pressed::keycode#3, play_move_down::@1/keyboard_event_pressed::keycode#4 )
|
|
keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3
|
|
keyboard_event_pressed::row_bits#0 = keyboard_scan_values[keyboard_event_pressed::$0]
|
|
keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7
|
|
keyboard_event_pressed::$2 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1]
|
|
keyboard_event_pressed::return#4 = keyboard_event_pressed::$2
|
|
to:keyboard_event_pressed::@return
|
|
keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed
|
|
keyboard_event_pressed::return#11 = phi( keyboard_event_pressed/keyboard_event_pressed::return#4 )
|
|
keyboard_event_pressed::return#5 = keyboard_event_pressed::return#11
|
|
return
|
|
to:@return
|
|
|
|
byte keyboard_event_get()
|
|
keyboard_event_get: scope:[keyboard_event_get] from main::@20
|
|
keyboard_events_size#15 = phi( main::@20/keyboard_events_size#5 )
|
|
keyboard_event_get::$0 = keyboard_events_size#15 == 0
|
|
if(keyboard_event_get::$0) goto keyboard_event_get::@1
|
|
to:keyboard_event_get::@2
|
|
keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get
|
|
keyboard_events_size#27 = phi( keyboard_event_get/keyboard_events_size#15 )
|
|
keyboard_event_get::return#0 = $ff
|
|
to:keyboard_event_get::@return
|
|
keyboard_event_get::@2: scope:[keyboard_event_get] from keyboard_event_get
|
|
keyboard_events_size#16 = phi( keyboard_event_get/keyboard_events_size#15 )
|
|
keyboard_events_size#3 = -- keyboard_events_size#16
|
|
keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3]
|
|
to:keyboard_event_get::@return
|
|
keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get::@1 keyboard_event_get::@2
|
|
keyboard_events_size#17 = phi( keyboard_event_get::@1/keyboard_events_size#27, keyboard_event_get::@2/keyboard_events_size#3 )
|
|
keyboard_event_get::return#4 = phi( keyboard_event_get::@1/keyboard_event_get::return#0, keyboard_event_get::@2/keyboard_event_get::return#1 )
|
|
keyboard_event_get::return#2 = keyboard_event_get::return#4
|
|
keyboard_events_size#4 = keyboard_events_size#17
|
|
return
|
|
to:@return
|
|
|
|
void render_init()
|
|
render_init: scope:[render_init] from main::@9
|
|
render_init::vicSelectGfxBank1_gfx#0 = PLAYFIELD_CHARSET
|
|
to:render_init::vicSelectGfxBank1
|
|
render_init::vicSelectGfxBank1: scope:[render_init] from render_init
|
|
render_init::vicSelectGfxBank1_gfx#1 = phi( render_init/render_init::vicSelectGfxBank1_gfx#0 )
|
|
*((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3
|
|
render_init::vicSelectGfxBank1_toDd001_gfx#0 = render_init::vicSelectGfxBank1_gfx#1
|
|
to:render_init::vicSelectGfxBank1_toDd001
|
|
render_init::vicSelectGfxBank1_toDd001: scope:[render_init] from render_init::vicSelectGfxBank1
|
|
render_init::vicSelectGfxBank1_toDd001_gfx#1 = phi( render_init::vicSelectGfxBank1/render_init::vicSelectGfxBank1_toDd001_gfx#0 )
|
|
render_init::vicSelectGfxBank1_toDd001_$0 = > (word)render_init::vicSelectGfxBank1_toDd001_gfx#1
|
|
render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0 / $40
|
|
render_init::vicSelectGfxBank1_toDd001_$2 = 3 ^ render_init::vicSelectGfxBank1_toDd001_$1
|
|
render_init::vicSelectGfxBank1_toDd001_return#0 = render_init::vicSelectGfxBank1_toDd001_$2
|
|
to:render_init::vicSelectGfxBank1_toDd001_@return
|
|
render_init::vicSelectGfxBank1_toDd001_@return: scope:[render_init] from render_init::vicSelectGfxBank1_toDd001
|
|
render_init::vicSelectGfxBank1_toDd001_return#2 = phi( render_init::vicSelectGfxBank1_toDd001/render_init::vicSelectGfxBank1_toDd001_return#0 )
|
|
render_init::vicSelectGfxBank1_toDd001_return#1 = render_init::vicSelectGfxBank1_toDd001_return#2
|
|
to:render_init::vicSelectGfxBank1_@1
|
|
render_init::vicSelectGfxBank1_@1: scope:[render_init] from render_init::vicSelectGfxBank1_toDd001_@return
|
|
render_init::vicSelectGfxBank1_toDd001_return#3 = phi( render_init::vicSelectGfxBank1_toDd001_@return/render_init::vicSelectGfxBank1_toDd001_return#1 )
|
|
render_init::vicSelectGfxBank1_$0 = render_init::vicSelectGfxBank1_toDd001_return#3
|
|
*((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = render_init::vicSelectGfxBank1_$0
|
|
to:render_init::@3
|
|
render_init::@3: scope:[render_init] from render_init::vicSelectGfxBank1_@1
|
|
*D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
*BORDER_COLOR = BLACK
|
|
*BG_COLOR = BLACK
|
|
*BG_COLOR1 = PIECES_COLORS_1[0]
|
|
*BG_COLOR2 = PIECES_COLORS_2[0]
|
|
*BG_COLOR3 = GREY
|
|
render_screen_original::screen#0 = PLAYFIELD_SCREEN_1
|
|
call render_screen_original
|
|
to:render_init::@4
|
|
render_init::@4: scope:[render_init] from render_init::@3
|
|
render_screen_original::screen#1 = PLAYFIELD_SCREEN_2
|
|
call render_screen_original
|
|
to:render_init::@5
|
|
render_init::@5: scope:[render_init] from render_init::@4
|
|
render_init::li_1#0 = PLAYFIELD_SCREEN_1+2*$28+$10
|
|
render_init::li_2#0 = PLAYFIELD_SCREEN_2+2*$28+$10
|
|
render_init::i#0 = 0
|
|
to:render_init::@1
|
|
render_init::@1: scope:[render_init] from render_init::@1 render_init::@5
|
|
render_init::li_2#2 = phi( render_init::@1/render_init::li_2#1, render_init::@5/render_init::li_2#0 )
|
|
render_init::li_1#2 = phi( render_init::@1/render_init::li_1#1, render_init::@5/render_init::li_1#0 )
|
|
render_init::i#2 = phi( render_init::@1/render_init::i#1, render_init::@5/render_init::i#0 )
|
|
render_init::$4 = render_init::i#2 * SIZEOF_POINTER
|
|
screen_lines_1[render_init::$4] = render_init::li_1#2
|
|
render_init::$5 = render_init::i#2 * SIZEOF_POINTER
|
|
screen_lines_2[render_init::$5] = render_init::li_2#2
|
|
render_init::li_1#1 = render_init::li_1#2 + $28
|
|
render_init::li_2#1 = render_init::li_2#2 + $28
|
|
render_init::i#1 = render_init::i#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
render_init::$3 = render_init::i#1 != rangelast(0,PLAYFIELD_LINES-1)
|
|
if(render_init::$3) goto render_init::@1
|
|
to:render_init::@2
|
|
render_init::@2: scope:[render_init] from render_init::@1
|
|
render_screen_show#0 = 0
|
|
render_screen_render#0 = $20
|
|
to:render_init::@return
|
|
render_init::@return: scope:[render_init] from render_init::@2
|
|
render_screen_render#10 = phi( render_init::@2/render_screen_render#0 )
|
|
render_screen_show#10 = phi( render_init::@2/render_screen_show#0 )
|
|
render_screen_show#1 = render_screen_show#10
|
|
render_screen_render#1 = render_screen_render#10
|
|
return
|
|
to:@return
|
|
|
|
void render_show()
|
|
render_show: scope:[render_show] from main::@3
|
|
level#86 = phi( main::@3/level#91 )
|
|
render_screen_show#11 = phi( main::@3/render_screen_show#20 )
|
|
render_show::d018val#0 = 0
|
|
render_show::$0 = render_screen_show#11 == 0
|
|
if(render_show::$0) goto render_show::@1
|
|
to:render_show::@3
|
|
render_show::@1: scope:[render_show] from render_show
|
|
render_screen_show#43 = phi( render_show/render_screen_show#11 )
|
|
level#72 = phi( render_show/level#86 )
|
|
render_show::toD0181_screen#0 = PLAYFIELD_SCREEN_1
|
|
render_show::toD0181_gfx#0 = PLAYFIELD_CHARSET
|
|
to:render_show::toD0181
|
|
render_show::toD0181: scope:[render_show] from render_show::@1
|
|
render_screen_show#35 = phi( render_show::@1/render_screen_show#43 )
|
|
level#58 = phi( render_show::@1/level#72 )
|
|
render_show::toD0181_gfx#1 = phi( render_show::@1/render_show::toD0181_gfx#0 )
|
|
render_show::toD0181_screen#1 = phi( render_show::@1/render_show::toD0181_screen#0 )
|
|
render_show::toD0181_$7 = (word)render_show::toD0181_screen#1
|
|
render_show::toD0181_$0 = render_show::toD0181_$7 & $3fff
|
|
render_show::toD0181_$1 = render_show::toD0181_$0 * 4
|
|
render_show::toD0181_$2 = > render_show::toD0181_$1
|
|
render_show::toD0181_$3 = > (word)render_show::toD0181_gfx#1
|
|
render_show::toD0181_$4 = render_show::toD0181_$3 / 4
|
|
render_show::toD0181_$5 = render_show::toD0181_$4 & $f
|
|
render_show::toD0181_$6 = render_show::toD0181_$2 | render_show::toD0181_$5
|
|
render_show::toD0181_return#0 = render_show::toD0181_$6
|
|
to:render_show::toD0181_@return
|
|
render_show::toD0181_@return: scope:[render_show] from render_show::toD0181
|
|
render_screen_show#27 = phi( render_show::toD0181/render_screen_show#35 )
|
|
level#44 = phi( render_show::toD0181/level#58 )
|
|
render_show::toD0181_return#2 = phi( render_show::toD0181/render_show::toD0181_return#0 )
|
|
render_show::toD0181_return#1 = render_show::toD0181_return#2
|
|
to:render_show::@4
|
|
render_show::@4: scope:[render_show] from render_show::toD0181_@return
|
|
render_screen_show#21 = phi( render_show::toD0181_@return/render_screen_show#27 )
|
|
level#28 = phi( render_show::toD0181_@return/level#44 )
|
|
render_show::toD0181_return#3 = phi( render_show::toD0181_@return/render_show::toD0181_return#1 )
|
|
render_show::$2 = render_show::toD0181_return#3
|
|
render_show::d018val#1 = render_show::$2
|
|
to:render_show::@2
|
|
render_show::@3: scope:[render_show] from render_show
|
|
render_screen_show#44 = phi( render_show/render_screen_show#11 )
|
|
level#73 = phi( render_show/level#86 )
|
|
render_show::toD0182_screen#0 = PLAYFIELD_SCREEN_2
|
|
render_show::toD0182_gfx#0 = PLAYFIELD_CHARSET
|
|
to:render_show::toD0182
|
|
render_show::toD0182: scope:[render_show] from render_show::@3
|
|
render_screen_show#36 = phi( render_show::@3/render_screen_show#44 )
|
|
level#59 = phi( render_show::@3/level#73 )
|
|
render_show::toD0182_gfx#1 = phi( render_show::@3/render_show::toD0182_gfx#0 )
|
|
render_show::toD0182_screen#1 = phi( render_show::@3/render_show::toD0182_screen#0 )
|
|
render_show::toD0182_$7 = (word)render_show::toD0182_screen#1
|
|
render_show::toD0182_$0 = render_show::toD0182_$7 & $3fff
|
|
render_show::toD0182_$1 = render_show::toD0182_$0 * 4
|
|
render_show::toD0182_$2 = > render_show::toD0182_$1
|
|
render_show::toD0182_$3 = > (word)render_show::toD0182_gfx#1
|
|
render_show::toD0182_$4 = render_show::toD0182_$3 / 4
|
|
render_show::toD0182_$5 = render_show::toD0182_$4 & $f
|
|
render_show::toD0182_$6 = render_show::toD0182_$2 | render_show::toD0182_$5
|
|
render_show::toD0182_return#0 = render_show::toD0182_$6
|
|
to:render_show::toD0182_@return
|
|
render_show::toD0182_@return: scope:[render_show] from render_show::toD0182
|
|
render_screen_show#28 = phi( render_show::toD0182/render_screen_show#36 )
|
|
level#45 = phi( render_show::toD0182/level#59 )
|
|
render_show::toD0182_return#2 = phi( render_show::toD0182/render_show::toD0182_return#0 )
|
|
render_show::toD0182_return#1 = render_show::toD0182_return#2
|
|
to:render_show::@5
|
|
render_show::@5: scope:[render_show] from render_show::toD0182_@return
|
|
render_screen_show#22 = phi( render_show::toD0182_@return/render_screen_show#28 )
|
|
level#29 = phi( render_show::toD0182_@return/level#45 )
|
|
render_show::toD0182_return#3 = phi( render_show::toD0182_@return/render_show::toD0182_return#1 )
|
|
render_show::$1 = render_show::toD0182_return#3
|
|
render_show::d018val#2 = render_show::$1
|
|
to:render_show::@2
|
|
render_show::@2: scope:[render_show] from render_show::@4 render_show::@5
|
|
render_screen_show#12 = phi( render_show::@4/render_screen_show#21, render_show::@5/render_screen_show#22 )
|
|
level#13 = phi( render_show::@4/level#28, render_show::@5/level#29 )
|
|
render_show::d018val#3 = phi( render_show::@4/render_show::d018val#1, render_show::@5/render_show::d018val#2 )
|
|
*D018 = render_show::d018val#3
|
|
*BG_COLOR1 = PIECES_COLORS_1[level#13]
|
|
*BG_COLOR2 = PIECES_COLORS_2[level#13]
|
|
render_screen_showing = render_screen_show#12
|
|
to:render_show::@return
|
|
render_show::@return: scope:[render_show] from render_show::@2
|
|
return
|
|
to:@return
|
|
|
|
void render_screen_swap()
|
|
render_screen_swap: scope:[render_screen_swap] from main::@26
|
|
render_screen_show#13 = phi( main::@26/render_screen_show#23 )
|
|
render_screen_render#11 = phi( main::@26/render_screen_render#22 )
|
|
render_screen_render#2 = render_screen_render#11 ^ $20
|
|
render_screen_show#2 = render_screen_show#13 ^ $20
|
|
to:render_screen_swap::@return
|
|
render_screen_swap::@return: scope:[render_screen_swap] from render_screen_swap
|
|
render_screen_show#14 = phi( render_screen_swap/render_screen_show#2 )
|
|
render_screen_render#12 = phi( render_screen_swap/render_screen_render#2 )
|
|
render_screen_render#3 = render_screen_render#12
|
|
render_screen_show#3 = render_screen_show#14
|
|
return
|
|
to:@return
|
|
|
|
void render_score()
|
|
render_score: scope:[render_score] from main::@25
|
|
level_bcd#91 = phi( main::@25/level_bcd#77 )
|
|
lines_bcd#69 = phi( main::@25/lines_bcd#67 )
|
|
render_screen_render#13 = phi( main::@25/render_screen_render#23 )
|
|
render_score::screen#0 = (byte*) 0
|
|
render_score::$0 = render_screen_render#13 == 0
|
|
if(render_score::$0) goto render_score::@1
|
|
to:render_score::@3
|
|
render_score::@1: scope:[render_score] from render_score
|
|
level_bcd#84 = phi( render_score/level_bcd#91 )
|
|
lines_bcd#58 = phi( render_score/lines_bcd#69 )
|
|
render_score::screen#1 = PLAYFIELD_SCREEN_1
|
|
to:render_score::@2
|
|
render_score::@3: scope:[render_score] from render_score
|
|
level_bcd#85 = phi( render_score/level_bcd#91 )
|
|
lines_bcd#59 = phi( render_score/lines_bcd#69 )
|
|
render_score::screen#2 = PLAYFIELD_SCREEN_2
|
|
to:render_score::@2
|
|
render_score::@2: scope:[render_score] from render_score::@1 render_score::@3
|
|
level_bcd#79 = phi( render_score::@1/level_bcd#84, render_score::@3/level_bcd#85 )
|
|
lines_bcd#47 = phi( render_score::@1/lines_bcd#58, render_score::@3/lines_bcd#59 )
|
|
render_score::screen#3 = phi( render_score::@1/render_score::screen#1, render_score::@3/render_score::screen#2 )
|
|
render_bcd::screen#0 = render_score::screen#3
|
|
render_bcd::offset#0 = render_score::score_offset
|
|
render_bcd::bcd#0 = render_score::score_bytes[2]
|
|
render_bcd::only_low#0 = 0
|
|
call render_bcd
|
|
to:render_score::@4
|
|
render_score::@4: scope:[render_score] from render_score::@2
|
|
level_bcd#69 = phi( render_score::@2/level_bcd#79 )
|
|
lines_bcd#35 = phi( render_score::@2/lines_bcd#47 )
|
|
render_score::screen#4 = phi( render_score::@2/render_score::screen#3 )
|
|
render_score::$2 = render_score::score_offset + 2
|
|
render_bcd::screen#1 = render_score::screen#4
|
|
render_bcd::offset#1 = render_score::$2
|
|
render_bcd::bcd#1 = render_score::score_bytes[1]
|
|
render_bcd::only_low#1 = 0
|
|
call render_bcd
|
|
to:render_score::@5
|
|
render_score::@5: scope:[render_score] from render_score::@4
|
|
level_bcd#57 = phi( render_score::@4/level_bcd#69 )
|
|
lines_bcd#23 = phi( render_score::@4/lines_bcd#35 )
|
|
render_score::screen#5 = phi( render_score::@4/render_score::screen#4 )
|
|
render_score::$4 = render_score::score_offset + 4
|
|
render_bcd::screen#2 = render_score::screen#5
|
|
render_bcd::offset#2 = render_score::$4
|
|
render_bcd::bcd#2 = render_score::score_bytes[0]
|
|
render_bcd::only_low#2 = 0
|
|
call render_bcd
|
|
to:render_score::@6
|
|
render_score::@6: scope:[render_score] from render_score::@5
|
|
level_bcd#44 = phi( render_score::@5/level_bcd#57 )
|
|
render_score::screen#6 = phi( render_score::@5/render_score::screen#5 )
|
|
lines_bcd#11 = phi( render_score::@5/lines_bcd#23 )
|
|
render_score::$6 = > lines_bcd#11
|
|
render_bcd::screen#3 = render_score::screen#6
|
|
render_bcd::offset#3 = render_score::lines_offset
|
|
render_bcd::bcd#3 = render_score::$6
|
|
render_bcd::only_low#3 = 1
|
|
call render_bcd
|
|
to:render_score::@7
|
|
render_score::@7: scope:[render_score] from render_score::@6
|
|
level_bcd#28 = phi( render_score::@6/level_bcd#44 )
|
|
render_score::screen#7 = phi( render_score::@6/render_score::screen#6 )
|
|
lines_bcd#12 = phi( render_score::@6/lines_bcd#11 )
|
|
render_score::$8 = render_score::lines_offset + 1
|
|
render_score::$9 = < lines_bcd#12
|
|
render_bcd::screen#4 = render_score::screen#7
|
|
render_bcd::offset#4 = render_score::$8
|
|
render_bcd::bcd#4 = render_score::$9
|
|
render_bcd::only_low#4 = 0
|
|
call render_bcd
|
|
to:render_score::@8
|
|
render_score::@8: scope:[render_score] from render_score::@7
|
|
level_bcd#14 = phi( render_score::@7/level_bcd#28 )
|
|
render_score::screen#8 = phi( render_score::@7/render_score::screen#7 )
|
|
render_bcd::screen#5 = render_score::screen#8
|
|
render_bcd::offset#5 = render_score::level_offset
|
|
render_bcd::bcd#5 = level_bcd#14
|
|
render_bcd::only_low#5 = 0
|
|
call render_bcd
|
|
to:render_score::@9
|
|
render_score::@9: scope:[render_score] from render_score::@8
|
|
to:render_score::@return
|
|
render_score::@return: scope:[render_score] from render_score::@9
|
|
return
|
|
to:@return
|
|
|
|
void render_bcd(byte* render_bcd::screen , word render_bcd::offset , byte render_bcd::bcd , byte render_bcd::only_low)
|
|
render_bcd: scope:[render_bcd] from render_score::@2 render_score::@4 render_score::@5 render_score::@6 render_score::@7 render_score::@8
|
|
render_bcd::bcd#8 = phi( render_score::@2/render_bcd::bcd#0, render_score::@4/render_bcd::bcd#1, render_score::@5/render_bcd::bcd#2, render_score::@6/render_bcd::bcd#3, render_score::@7/render_bcd::bcd#4, render_score::@8/render_bcd::bcd#5 )
|
|
render_bcd::only_low#6 = phi( render_score::@2/render_bcd::only_low#0, render_score::@4/render_bcd::only_low#1, render_score::@5/render_bcd::only_low#2, render_score::@6/render_bcd::only_low#3, render_score::@7/render_bcd::only_low#4, render_score::@8/render_bcd::only_low#5 )
|
|
render_bcd::offset#6 = phi( render_score::@2/render_bcd::offset#0, render_score::@4/render_bcd::offset#1, render_score::@5/render_bcd::offset#2, render_score::@6/render_bcd::offset#3, render_score::@7/render_bcd::offset#4, render_score::@8/render_bcd::offset#5 )
|
|
render_bcd::screen#6 = phi( render_score::@2/render_bcd::screen#0, render_score::@4/render_bcd::screen#1, render_score::@5/render_bcd::screen#2, render_score::@6/render_bcd::screen#3, render_score::@7/render_bcd::screen#4, render_score::@8/render_bcd::screen#5 )
|
|
render_bcd::$0 = render_bcd::screen#6 + render_bcd::offset#6
|
|
render_bcd::screen_pos#0 = render_bcd::$0
|
|
render_bcd::$1 = render_bcd::only_low#6 == 0
|
|
render_bcd::$2 = ! render_bcd::$1
|
|
if(render_bcd::$2) goto render_bcd::@1
|
|
to:render_bcd::@2
|
|
render_bcd::@1: scope:[render_bcd] from render_bcd render_bcd::@2
|
|
render_bcd::screen_pos#3 = phi( render_bcd/render_bcd::screen_pos#0, render_bcd::@2/render_bcd::screen_pos#2 )
|
|
render_bcd::bcd#6 = phi( render_bcd/render_bcd::bcd#8, render_bcd::@2/render_bcd::bcd#7 )
|
|
render_bcd::$3 = render_bcd::bcd#6 & $f
|
|
render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3
|
|
*render_bcd::screen_pos#3 = render_bcd::$4
|
|
render_bcd::screen_pos#1 = ++ render_bcd::screen_pos#3
|
|
to:render_bcd::@return
|
|
render_bcd::@2: scope:[render_bcd] from render_bcd
|
|
render_bcd::screen_pos#4 = phi( render_bcd/render_bcd::screen_pos#0 )
|
|
render_bcd::bcd#7 = phi( render_bcd/render_bcd::bcd#8 )
|
|
render_bcd::$5 = render_bcd::bcd#7 >> 4
|
|
render_bcd::$6 = render_bcd::ZERO_CHAR + render_bcd::$5
|
|
*render_bcd::screen_pos#4 = render_bcd::$6
|
|
render_bcd::screen_pos#2 = ++ render_bcd::screen_pos#4
|
|
to:render_bcd::@1
|
|
render_bcd::@return: scope:[render_bcd] from render_bcd::@1
|
|
return
|
|
to:@return
|
|
|
|
void render_screen_original(byte* render_screen_original::screen)
|
|
render_screen_original: scope:[render_screen_original] from render_init::@3 render_init::@4
|
|
render_screen_original::screen#9 = phi( render_init::@3/render_screen_original::screen#0, render_init::@4/render_screen_original::screen#1 )
|
|
render_screen_original::oscr#0 = PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
render_screen_original::ocols#0 = PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
render_screen_original::cols#0 = COLS
|
|
render_screen_original::y#0 = 0
|
|
to:render_screen_original::@1
|
|
render_screen_original::@1: scope:[render_screen_original] from render_screen_original render_screen_original::@5
|
|
render_screen_original::y#6 = phi( render_screen_original/render_screen_original::y#0, render_screen_original::@5/render_screen_original::y#1 )
|
|
render_screen_original::ocols#4 = phi( render_screen_original/render_screen_original::ocols#0, render_screen_original::@5/render_screen_original::ocols#5 )
|
|
render_screen_original::oscr#4 = phi( render_screen_original/render_screen_original::oscr#0, render_screen_original::@5/render_screen_original::oscr#5 )
|
|
render_screen_original::cols#7 = phi( render_screen_original/render_screen_original::cols#0, render_screen_original::@5/render_screen_original::cols#8 )
|
|
render_screen_original::screen#8 = phi( render_screen_original/render_screen_original::screen#9, render_screen_original::@5/render_screen_original::screen#10 )
|
|
render_screen_original::x#0 = 0
|
|
to:render_screen_original::@2
|
|
render_screen_original::@2: scope:[render_screen_original] from render_screen_original::@1 render_screen_original::@2
|
|
render_screen_original::y#5 = phi( render_screen_original::@1/render_screen_original::y#6, render_screen_original::@2/render_screen_original::y#5 )
|
|
render_screen_original::ocols#3 = phi( render_screen_original::@1/render_screen_original::ocols#4, render_screen_original::@2/render_screen_original::ocols#3 )
|
|
render_screen_original::oscr#3 = phi( render_screen_original::@1/render_screen_original::oscr#4, render_screen_original::@2/render_screen_original::oscr#3 )
|
|
render_screen_original::x#4 = phi( render_screen_original::@1/render_screen_original::x#0, render_screen_original::@2/render_screen_original::x#1 )
|
|
render_screen_original::cols#4 = phi( render_screen_original::@1/render_screen_original::cols#7, render_screen_original::@2/render_screen_original::cols#1 )
|
|
render_screen_original::screen#5 = phi( render_screen_original::@1/render_screen_original::screen#8, render_screen_original::@2/render_screen_original::screen#2 )
|
|
*render_screen_original::screen#5 = render_screen_original::SPACE
|
|
render_screen_original::screen#2 = ++ render_screen_original::screen#5
|
|
*render_screen_original::cols#4 = BLACK
|
|
render_screen_original::cols#1 = ++ render_screen_original::cols#4
|
|
render_screen_original::x#1 = ++ render_screen_original::x#4
|
|
render_screen_original::$0 = render_screen_original::x#1 != 4
|
|
if(render_screen_original::$0) goto render_screen_original::@2
|
|
to:render_screen_original::@3
|
|
render_screen_original::@3: scope:[render_screen_original] from render_screen_original::@2 render_screen_original::@3
|
|
render_screen_original::y#4 = phi( render_screen_original::@2/render_screen_original::y#5, render_screen_original::@3/render_screen_original::y#4 )
|
|
render_screen_original::x#5 = phi( render_screen_original::@2/render_screen_original::x#1, render_screen_original::@3/render_screen_original::x#2 )
|
|
render_screen_original::cols#5 = phi( render_screen_original::@2/render_screen_original::cols#1, render_screen_original::@3/render_screen_original::cols#2 )
|
|
render_screen_original::ocols#2 = phi( render_screen_original::@2/render_screen_original::ocols#3, render_screen_original::@3/render_screen_original::ocols#1 )
|
|
render_screen_original::screen#6 = phi( render_screen_original::@2/render_screen_original::screen#2, render_screen_original::@3/render_screen_original::screen#3 )
|
|
render_screen_original::oscr#2 = phi( render_screen_original::@2/render_screen_original::oscr#3, render_screen_original::@3/render_screen_original::oscr#1 )
|
|
*render_screen_original::screen#6 = *render_screen_original::oscr#2
|
|
render_screen_original::screen#3 = ++ render_screen_original::screen#6
|
|
render_screen_original::oscr#1 = ++ render_screen_original::oscr#2
|
|
*render_screen_original::cols#5 = *render_screen_original::ocols#2
|
|
render_screen_original::cols#2 = ++ render_screen_original::cols#5
|
|
render_screen_original::ocols#1 = ++ render_screen_original::ocols#2
|
|
render_screen_original::x#2 = ++ render_screen_original::x#5
|
|
render_screen_original::$1 = render_screen_original::x#2 != $24
|
|
if(render_screen_original::$1) goto render_screen_original::@3
|
|
to:render_screen_original::@4
|
|
render_screen_original::@4: scope:[render_screen_original] from render_screen_original::@3 render_screen_original::@4
|
|
render_screen_original::ocols#6 = phi( render_screen_original::@3/render_screen_original::ocols#1, render_screen_original::@4/render_screen_original::ocols#6 )
|
|
render_screen_original::oscr#6 = phi( render_screen_original::@3/render_screen_original::oscr#1, render_screen_original::@4/render_screen_original::oscr#6 )
|
|
render_screen_original::y#3 = phi( render_screen_original::@3/render_screen_original::y#4, render_screen_original::@4/render_screen_original::y#3 )
|
|
render_screen_original::x#6 = phi( render_screen_original::@3/render_screen_original::x#2, render_screen_original::@4/render_screen_original::x#3 )
|
|
render_screen_original::cols#6 = phi( render_screen_original::@3/render_screen_original::cols#2, render_screen_original::@4/render_screen_original::cols#3 )
|
|
render_screen_original::screen#7 = phi( render_screen_original::@3/render_screen_original::screen#3, render_screen_original::@4/render_screen_original::screen#4 )
|
|
*render_screen_original::screen#7 = render_screen_original::SPACE
|
|
render_screen_original::screen#4 = ++ render_screen_original::screen#7
|
|
*render_screen_original::cols#6 = BLACK
|
|
render_screen_original::cols#3 = ++ render_screen_original::cols#6
|
|
render_screen_original::x#3 = ++ render_screen_original::x#6
|
|
render_screen_original::$2 = render_screen_original::x#3 != $28
|
|
if(render_screen_original::$2) goto render_screen_original::@4
|
|
to:render_screen_original::@5
|
|
render_screen_original::@5: scope:[render_screen_original] from render_screen_original::@4
|
|
render_screen_original::ocols#5 = phi( render_screen_original::@4/render_screen_original::ocols#6 )
|
|
render_screen_original::oscr#5 = phi( render_screen_original::@4/render_screen_original::oscr#6 )
|
|
render_screen_original::cols#8 = phi( render_screen_original::@4/render_screen_original::cols#3 )
|
|
render_screen_original::screen#10 = phi( render_screen_original::@4/render_screen_original::screen#4 )
|
|
render_screen_original::y#2 = phi( render_screen_original::@4/render_screen_original::y#3 )
|
|
render_screen_original::y#1 = render_screen_original::y#2 + rangenext(0,$18)
|
|
render_screen_original::$3 = render_screen_original::y#1 != rangelast(0,$18)
|
|
if(render_screen_original::$3) goto render_screen_original::@1
|
|
to:render_screen_original::@return
|
|
render_screen_original::@return: scope:[render_screen_original] from render_screen_original::@5
|
|
return
|
|
to:@return
|
|
|
|
void render_playfield()
|
|
render_playfield: scope:[render_playfield] from main::@15 main::@8
|
|
render_screen_render#24 = phi( main::@15/render_screen_render#32, main::@8/render_screen_render#33 )
|
|
render_playfield::i#0 = (byte)PLAYFIELD_COLS*2
|
|
render_playfield::l#0 = 2
|
|
to:render_playfield::@1
|
|
render_playfield::@1: scope:[render_playfield] from render_playfield render_playfield::@3
|
|
render_playfield::i#3 = phi( render_playfield/render_playfield::i#0, render_playfield::@3/render_playfield::i#4 )
|
|
render_playfield::l#2 = phi( render_playfield/render_playfield::l#0, render_playfield::@3/render_playfield::l#1 )
|
|
render_screen_render#14 = phi( render_playfield/render_screen_render#24, render_playfield::@3/render_screen_render#25 )
|
|
render_playfield::$0 = render_screen_render#14 + render_playfield::l#2
|
|
render_playfield::$3 = render_playfield::$0 * SIZEOF_POINTER
|
|
render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3]
|
|
render_playfield::c#0 = 0
|
|
to:render_playfield::@2
|
|
render_playfield::@2: scope:[render_playfield] from render_playfield::@1 render_playfield::@2
|
|
render_screen_render#34 = phi( render_playfield::@1/render_screen_render#14, render_playfield::@2/render_screen_render#34 )
|
|
render_playfield::l#4 = phi( render_playfield::@1/render_playfield::l#2, render_playfield::@2/render_playfield::l#4 )
|
|
render_playfield::c#2 = phi( render_playfield::@1/render_playfield::c#0, render_playfield::@2/render_playfield::c#1 )
|
|
render_playfield::screen_line#2 = phi( render_playfield::@1/render_playfield::screen_line#0, render_playfield::@2/render_playfield::screen_line#1 )
|
|
render_playfield::i#2 = phi( render_playfield::@1/render_playfield::i#3, render_playfield::@2/render_playfield::i#1 )
|
|
*render_playfield::screen_line#2 = playfield[render_playfield::i#2]
|
|
render_playfield::screen_line#1 = ++ render_playfield::screen_line#2
|
|
render_playfield::i#1 = ++ render_playfield::i#2
|
|
render_playfield::c#1 = render_playfield::c#2 + rangenext(0,PLAYFIELD_COLS-1)
|
|
render_playfield::$1 = render_playfield::c#1 != rangelast(0,PLAYFIELD_COLS-1)
|
|
if(render_playfield::$1) goto render_playfield::@2
|
|
to:render_playfield::@3
|
|
render_playfield::@3: scope:[render_playfield] from render_playfield::@2
|
|
render_playfield::i#4 = phi( render_playfield::@2/render_playfield::i#1 )
|
|
render_screen_render#25 = phi( render_playfield::@2/render_screen_render#34 )
|
|
render_playfield::l#3 = phi( render_playfield::@2/render_playfield::l#4 )
|
|
render_playfield::l#1 = render_playfield::l#3 + rangenext(2,PLAYFIELD_LINES-1)
|
|
render_playfield::$2 = render_playfield::l#1 != rangelast(2,PLAYFIELD_LINES-1)
|
|
if(render_playfield::$2) goto render_playfield::@1
|
|
to:render_playfield::@return
|
|
render_playfield::@return: scope:[render_playfield] from render_playfield::@3
|
|
return
|
|
to:@return
|
|
|
|
void render_moving()
|
|
render_moving: scope:[render_moving] from main::@16 main::@23
|
|
current_piece_char#70 = phi( main::@16/current_piece_char#81, main::@23/current_piece_char#86 )
|
|
current_piece_gfx#66 = phi( main::@16/current_piece_gfx#83, main::@23/current_piece_gfx#84 )
|
|
current_xpos#61 = phi( main::@16/current_xpos#78, main::@23/current_xpos#79 )
|
|
render_screen_render#35 = phi( main::@16/render_screen_render#38, main::@23/render_screen_render#41 )
|
|
current_ypos#14 = phi( main::@16/current_ypos#32, main::@23/current_ypos#33 )
|
|
render_moving::i#0 = 0
|
|
render_moving::ypos#0 = current_ypos#14
|
|
render_moving::l#0 = 0
|
|
to:render_moving::@1
|
|
render_moving::@1: scope:[render_moving] from render_moving render_moving::@3
|
|
current_piece_char#54 = phi( render_moving/current_piece_char#70, render_moving::@3/current_piece_char#71 )
|
|
render_moving::l#5 = phi( render_moving/render_moving::l#0, render_moving::@3/render_moving::l#1 )
|
|
current_piece_gfx#48 = phi( render_moving/current_piece_gfx#66, render_moving::@3/current_piece_gfx#67 )
|
|
render_moving::i#5 = phi( render_moving/render_moving::i#0, render_moving::@3/render_moving::i#8 )
|
|
current_xpos#38 = phi( render_moving/current_xpos#61, render_moving::@3/current_xpos#62 )
|
|
render_screen_render#26 = phi( render_moving/render_screen_render#35, render_moving::@3/render_screen_render#36 )
|
|
render_moving::ypos#2 = phi( render_moving/render_moving::ypos#0, render_moving::@3/render_moving::ypos#1 )
|
|
render_moving::$0 = render_moving::ypos#2 > 1
|
|
if(render_moving::$0) goto render_moving::@2
|
|
to:render_moving::@7
|
|
render_moving::@2: scope:[render_moving] from render_moving::@1
|
|
render_moving::l#8 = phi( render_moving::@1/render_moving::l#5 )
|
|
current_piece_char#39 = phi( render_moving::@1/current_piece_char#54 )
|
|
render_moving::i#6 = phi( render_moving::@1/render_moving::i#5 )
|
|
current_piece_gfx#31 = phi( render_moving::@1/current_piece_gfx#48 )
|
|
current_xpos#17 = phi( render_moving::@1/current_xpos#38 )
|
|
render_moving::ypos#3 = phi( render_moving::@1/render_moving::ypos#2 )
|
|
render_screen_render#15 = phi( render_moving::@1/render_screen_render#26 )
|
|
render_moving::$1 = render_screen_render#15 + render_moving::ypos#3
|
|
render_moving::$6 = render_moving::$1 * SIZEOF_POINTER
|
|
render_moving::screen_line#0 = screen_lines_1[render_moving::$6]
|
|
render_moving::xpos#0 = current_xpos#17
|
|
render_moving::c#0 = 0
|
|
to:render_moving::@4
|
|
render_moving::@7: scope:[render_moving] from render_moving::@1
|
|
current_piece_char#87 = phi( render_moving::@1/current_piece_char#54 )
|
|
current_piece_gfx#85 = phi( render_moving::@1/current_piece_gfx#48 )
|
|
current_xpos#81 = phi( render_moving::@1/current_xpos#38 )
|
|
render_screen_render#44 = phi( render_moving::@1/render_screen_render#26 )
|
|
render_moving::l#4 = phi( render_moving::@1/render_moving::l#5 )
|
|
render_moving::ypos#6 = phi( render_moving::@1/render_moving::ypos#2 )
|
|
render_moving::i#3 = phi( render_moving::@1/render_moving::i#5 )
|
|
render_moving::i#1 = render_moving::i#3 + 4
|
|
to:render_moving::@3
|
|
render_moving::@3: scope:[render_moving] from render_moving::@5 render_moving::@7
|
|
current_piece_char#71 = phi( render_moving::@5/current_piece_char#40, render_moving::@7/current_piece_char#87 )
|
|
current_piece_gfx#67 = phi( render_moving::@5/current_piece_gfx#32, render_moving::@7/current_piece_gfx#85 )
|
|
render_moving::i#8 = phi( render_moving::@5/render_moving::i#7, render_moving::@7/render_moving::i#1 )
|
|
current_xpos#62 = phi( render_moving::@5/current_xpos#80, render_moving::@7/current_xpos#81 )
|
|
render_screen_render#36 = phi( render_moving::@5/render_screen_render#43, render_moving::@7/render_screen_render#44 )
|
|
render_moving::l#2 = phi( render_moving::@5/render_moving::l#3, render_moving::@7/render_moving::l#4 )
|
|
render_moving::ypos#4 = phi( render_moving::@5/render_moving::ypos#5, render_moving::@7/render_moving::ypos#6 )
|
|
render_moving::ypos#1 = ++ render_moving::ypos#4
|
|
render_moving::l#1 = render_moving::l#2 + rangenext(0,3)
|
|
render_moving::$5 = render_moving::l#1 != rangelast(0,3)
|
|
if(render_moving::$5) goto render_moving::@1
|
|
to:render_moving::@return
|
|
render_moving::@4: scope:[render_moving] from render_moving::@2 render_moving::@5
|
|
current_xpos#97 = phi( render_moving::@2/current_xpos#17, render_moving::@5/current_xpos#80 )
|
|
render_screen_render#50 = phi( render_moving::@2/render_screen_render#15, render_moving::@5/render_screen_render#43 )
|
|
render_moving::l#6 = phi( render_moving::@2/render_moving::l#8, render_moving::@5/render_moving::l#3 )
|
|
render_moving::ypos#7 = phi( render_moving::@2/render_moving::ypos#3, render_moving::@5/render_moving::ypos#5 )
|
|
render_moving::screen_line#2 = phi( render_moving::@2/render_moving::screen_line#0, render_moving::@5/render_moving::screen_line#3 )
|
|
current_piece_char#26 = phi( render_moving::@2/current_piece_char#39, render_moving::@5/current_piece_char#40 )
|
|
render_moving::c#3 = phi( render_moving::@2/render_moving::c#0, render_moving::@5/render_moving::c#1 )
|
|
render_moving::xpos#4 = phi( render_moving::@2/render_moving::xpos#0, render_moving::@5/render_moving::xpos#1 )
|
|
render_moving::i#4 = phi( render_moving::@2/render_moving::i#6, render_moving::@5/render_moving::i#7 )
|
|
current_piece_gfx#16 = phi( render_moving::@2/current_piece_gfx#31, render_moving::@5/current_piece_gfx#32 )
|
|
render_moving::current_cell#0 = current_piece_gfx#16[render_moving::i#4]
|
|
render_moving::i#2 = ++ render_moving::i#4
|
|
render_moving::$2 = render_moving::current_cell#0 != 0
|
|
render_moving::$3 = ! render_moving::$2
|
|
if(render_moving::$3) goto render_moving::@5
|
|
to:render_moving::@6
|
|
render_moving::@5: scope:[render_moving] from render_moving::@4 render_moving::@6
|
|
current_xpos#80 = phi( render_moving::@4/current_xpos#97, render_moving::@6/current_xpos#98 )
|
|
render_screen_render#43 = phi( render_moving::@4/render_screen_render#50, render_moving::@6/render_screen_render#51 )
|
|
render_moving::screen_line#3 = phi( render_moving::@4/render_moving::screen_line#2, render_moving::@6/render_moving::screen_line#1 )
|
|
current_piece_char#40 = phi( render_moving::@4/current_piece_char#26, render_moving::@6/current_piece_char#13 )
|
|
render_moving::i#7 = phi( render_moving::@4/render_moving::i#2, render_moving::@6/render_moving::i#9 )
|
|
current_piece_gfx#32 = phi( render_moving::@4/current_piece_gfx#16, render_moving::@6/current_piece_gfx#49 )
|
|
render_moving::l#3 = phi( render_moving::@4/render_moving::l#6, render_moving::@6/render_moving::l#7 )
|
|
render_moving::ypos#5 = phi( render_moving::@4/render_moving::ypos#7, render_moving::@6/render_moving::ypos#8 )
|
|
render_moving::c#2 = phi( render_moving::@4/render_moving::c#3, render_moving::@6/render_moving::c#4 )
|
|
render_moving::xpos#2 = phi( render_moving::@4/render_moving::xpos#4, render_moving::@6/render_moving::xpos#3 )
|
|
render_moving::xpos#1 = ++ render_moving::xpos#2
|
|
render_moving::c#1 = render_moving::c#2 + rangenext(0,3)
|
|
render_moving::$4 = render_moving::c#1 != rangelast(0,3)
|
|
if(render_moving::$4) goto render_moving::@4
|
|
to:render_moving::@3
|
|
render_moving::@6: scope:[render_moving] from render_moving::@4
|
|
current_xpos#98 = phi( render_moving::@4/current_xpos#97 )
|
|
render_screen_render#51 = phi( render_moving::@4/render_screen_render#50 )
|
|
render_moving::i#9 = phi( render_moving::@4/render_moving::i#2 )
|
|
current_piece_gfx#49 = phi( render_moving::@4/current_piece_gfx#16 )
|
|
render_moving::l#7 = phi( render_moving::@4/render_moving::l#6 )
|
|
render_moving::ypos#8 = phi( render_moving::@4/render_moving::ypos#7 )
|
|
render_moving::c#4 = phi( render_moving::@4/render_moving::c#3 )
|
|
render_moving::xpos#3 = phi( render_moving::@4/render_moving::xpos#4 )
|
|
render_moving::screen_line#1 = phi( render_moving::@4/render_moving::screen_line#2 )
|
|
current_piece_char#13 = phi( render_moving::@4/current_piece_char#26 )
|
|
render_moving::screen_line#1[render_moving::xpos#3] = current_piece_char#13
|
|
to:render_moving::@5
|
|
render_moving::@return: scope:[render_moving] from render_moving::@3
|
|
return
|
|
to:@return
|
|
|
|
void render_next()
|
|
render_next: scope:[render_next] from main::@17 main::@24
|
|
next_piece_idx#38 = phi( main::@17/next_piece_idx#48, main::@24/next_piece_idx#49 )
|
|
render_screen_render#16 = phi( main::@17/render_screen_render#27, main::@24/render_screen_render#28 )
|
|
render_next::screen_next_area#0 = (byte*) 0
|
|
render_next::$0 = render_screen_render#16 == 0
|
|
if(render_next::$0) goto render_next::@1
|
|
to:render_next::@3
|
|
render_next::@1: scope:[render_next] from render_next
|
|
next_piece_idx#26 = phi( render_next/next_piece_idx#38 )
|
|
render_next::$2 = PLAYFIELD_SCREEN_1 + render_next::next_area_offset
|
|
render_next::screen_next_area#1 = render_next::$2
|
|
to:render_next::@2
|
|
render_next::@3: scope:[render_next] from render_next
|
|
next_piece_idx#27 = phi( render_next/next_piece_idx#38 )
|
|
render_next::$1 = PLAYFIELD_SCREEN_2 + render_next::next_area_offset
|
|
render_next::screen_next_area#2 = render_next::$1
|
|
to:render_next::@2
|
|
render_next::@2: scope:[render_next] from render_next::@1 render_next::@3
|
|
render_next::screen_next_area#11 = phi( render_next::@1/render_next::screen_next_area#1, render_next::@3/render_next::screen_next_area#2 )
|
|
next_piece_idx#13 = phi( render_next::@1/next_piece_idx#26, render_next::@3/next_piece_idx#27 )
|
|
render_next::$6 = next_piece_idx#13 * SIZEOF_WORD
|
|
render_next::next_piece_gfx#0 = ((byte*)) PIECES[render_next::$6]
|
|
render_next::next_piece_char#0 = PIECES_NEXT_CHARS[next_piece_idx#13]
|
|
render_next::l#0 = 0
|
|
to:render_next::@4
|
|
render_next::@4: scope:[render_next] from render_next::@2 render_next::@9
|
|
render_next::l#7 = phi( render_next::@2/render_next::l#0, render_next::@9/render_next::l#1 )
|
|
render_next::screen_next_area#10 = phi( render_next::@2/render_next::screen_next_area#11, render_next::@9/render_next::screen_next_area#4 )
|
|
render_next::next_piece_char#3 = phi( render_next::@2/render_next::next_piece_char#0, render_next::@9/render_next::next_piece_char#5 )
|
|
render_next::next_piece_gfx#3 = phi( render_next::@2/render_next::next_piece_gfx#0, render_next::@9/render_next::next_piece_gfx#5 )
|
|
render_next::c#0 = 0
|
|
to:render_next::@5
|
|
render_next::@5: scope:[render_next] from render_next::@4 render_next::@7
|
|
render_next::l#6 = phi( render_next::@4/render_next::l#7, render_next::@7/render_next::l#3 )
|
|
render_next::c#5 = phi( render_next::@4/render_next::c#0, render_next::@7/render_next::c#1 )
|
|
render_next::screen_next_area#9 = phi( render_next::@4/render_next::screen_next_area#10, render_next::@7/render_next::screen_next_area#3 )
|
|
render_next::next_piece_char#2 = phi( render_next::@4/render_next::next_piece_char#3, render_next::@7/render_next::next_piece_char#4 )
|
|
render_next::next_piece_gfx#2 = phi( render_next::@4/render_next::next_piece_gfx#3, render_next::@7/render_next::next_piece_gfx#4 )
|
|
render_next::cell#0 = *render_next::next_piece_gfx#2
|
|
render_next::next_piece_gfx#1 = ++ render_next::next_piece_gfx#2
|
|
render_next::$3 = render_next::cell#0 != 0
|
|
if(render_next::$3) goto render_next::@6
|
|
to:render_next::@8
|
|
render_next::@6: scope:[render_next] from render_next::@5
|
|
render_next::l#4 = phi( render_next::@5/render_next::l#6 )
|
|
render_next::next_piece_gfx#6 = phi( render_next::@5/render_next::next_piece_gfx#1 )
|
|
render_next::c#3 = phi( render_next::@5/render_next::c#5 )
|
|
render_next::screen_next_area#5 = phi( render_next::@5/render_next::screen_next_area#9 )
|
|
render_next::next_piece_char#1 = phi( render_next::@5/render_next::next_piece_char#2 )
|
|
*render_next::screen_next_area#5 = render_next::next_piece_char#1
|
|
to:render_next::@7
|
|
render_next::@8: scope:[render_next] from render_next::@5
|
|
render_next::next_piece_char#6 = phi( render_next::@5/render_next::next_piece_char#2 )
|
|
render_next::l#5 = phi( render_next::@5/render_next::l#6 )
|
|
render_next::next_piece_gfx#7 = phi( render_next::@5/render_next::next_piece_gfx#1 )
|
|
render_next::c#4 = phi( render_next::@5/render_next::c#5 )
|
|
render_next::screen_next_area#6 = phi( render_next::@5/render_next::screen_next_area#9 )
|
|
*render_next::screen_next_area#6 = 0
|
|
to:render_next::@7
|
|
render_next::@7: scope:[render_next] from render_next::@6 render_next::@8
|
|
render_next::next_piece_char#4 = phi( render_next::@6/render_next::next_piece_char#1, render_next::@8/render_next::next_piece_char#6 )
|
|
render_next::l#3 = phi( render_next::@6/render_next::l#4, render_next::@8/render_next::l#5 )
|
|
render_next::next_piece_gfx#4 = phi( render_next::@6/render_next::next_piece_gfx#6, render_next::@8/render_next::next_piece_gfx#7 )
|
|
render_next::c#2 = phi( render_next::@6/render_next::c#3, render_next::@8/render_next::c#4 )
|
|
render_next::screen_next_area#7 = phi( render_next::@6/render_next::screen_next_area#5, render_next::@8/render_next::screen_next_area#6 )
|
|
render_next::screen_next_area#3 = ++ render_next::screen_next_area#7
|
|
render_next::c#1 = render_next::c#2 + rangenext(0,3)
|
|
render_next::$4 = render_next::c#1 != rangelast(0,3)
|
|
if(render_next::$4) goto render_next::@5
|
|
to:render_next::@9
|
|
render_next::@9: scope:[render_next] from render_next::@7
|
|
render_next::next_piece_char#5 = phi( render_next::@7/render_next::next_piece_char#4 )
|
|
render_next::next_piece_gfx#5 = phi( render_next::@7/render_next::next_piece_gfx#4 )
|
|
render_next::l#2 = phi( render_next::@7/render_next::l#3 )
|
|
render_next::screen_next_area#8 = phi( render_next::@7/render_next::screen_next_area#3 )
|
|
render_next::screen_next_area#4 = render_next::screen_next_area#8 + $24
|
|
render_next::l#1 = render_next::l#2 + rangenext(0,3)
|
|
render_next::$5 = render_next::l#1 != rangelast(0,3)
|
|
if(render_next::$5) goto render_next::@4
|
|
to:render_next::@return
|
|
render_next::@return: scope:[render_next] from render_next::@9
|
|
return
|
|
to:@return
|
|
|
|
void sprites_init()
|
|
sprites_init: scope:[sprites_init] from main::@10
|
|
*SPRITES_ENABLE = $f
|
|
*SPRITES_MC = 0
|
|
*SPRITES_EXPAND_Y = *SPRITES_MC
|
|
*SPRITES_EXPAND_X = *SPRITES_EXPAND_Y
|
|
sprites_init::xpos#0 = (byte)$18+$f*8
|
|
sprites_init::s#0 = 0
|
|
to:sprites_init::@1
|
|
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
|
|
sprites_init::xpos#2 = phi( sprites_init/sprites_init::xpos#0, sprites_init::@1/sprites_init::xpos#1 )
|
|
sprites_init::s#2 = phi( sprites_init/sprites_init::s#0, sprites_init::@1/sprites_init::s#1 )
|
|
sprites_init::$0 = sprites_init::s#2 * 2
|
|
sprites_init::s2#0 = sprites_init::$0
|
|
SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2
|
|
SPRITES_COLOR[sprites_init::s#2] = BLACK
|
|
sprites_init::$1 = sprites_init::xpos#2 + $18
|
|
sprites_init::xpos#1 = sprites_init::$1
|
|
sprites_init::s#1 = sprites_init::s#2 + rangenext(0,3)
|
|
sprites_init::$2 = sprites_init::s#1 != rangelast(0,3)
|
|
if(sprites_init::$2) goto sprites_init::@1
|
|
to:sprites_init::@return
|
|
sprites_init::@return: scope:[sprites_init] from sprites_init::@1
|
|
return
|
|
to:@return
|
|
|
|
void sprites_irq_init()
|
|
sprites_irq_init: scope:[sprites_irq_init] from main::@11
|
|
asm { sei }
|
|
*IRQ_STATUS = IRQ_RASTER
|
|
asm { ldaCIA1_INTERRUPT }
|
|
*PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK
|
|
*PROCPORT = PROCPORT_RAM_IO
|
|
*((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR
|
|
*VICII_CONTROL = *VICII_CONTROL & $7f
|
|
*RASTER = IRQ_RASTER_FIRST
|
|
*IRQ_ENABLE = IRQ_RASTER
|
|
*HARDWARE_IRQ = &sprites_irq
|
|
asm { cli }
|
|
to:sprites_irq_init::@return
|
|
sprites_irq_init::@return: scope:[sprites_irq_init] from sprites_irq_init
|
|
return
|
|
to:@return
|
|
|
|
__interrupt(hardware_clobber) void sprites_irq()
|
|
sprites_irq: scope:[sprites_irq] from
|
|
asm { cld }
|
|
sprites_irq::ypos#0 = irq_sprite_ypos
|
|
SPRITES_YPOS[0] = sprites_irq::ypos#0
|
|
SPRITES_YPOS[2] = sprites_irq::ypos#0
|
|
SPRITES_YPOS[4] = sprites_irq::ypos#0
|
|
SPRITES_YPOS[6] = sprites_irq::ypos#0
|
|
sprites_irq::$0 = irq_raster_next + 1
|
|
sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
to:sprites_irq::@8
|
|
sprites_irq::@8: scope:[sprites_irq] from sprites_irq sprites_irq::@8
|
|
sprites_irq::$4 = *RASTER < sprites_irq::raster_sprite_gfx_modify
|
|
if(sprites_irq::$4) goto sprites_irq::@8
|
|
to:sprites_irq::@9
|
|
sprites_irq::@9: scope:[sprites_irq] from sprites_irq::@8
|
|
sprites_irq::ptr#0 = irq_sprite_ptr
|
|
sprites_irq::$1 = render_screen_showing == 0
|
|
if(sprites_irq::$1) goto sprites_irq::@1
|
|
to:sprites_irq::@10
|
|
sprites_irq::@1: scope:[sprites_irq] from sprites_irq::@9
|
|
sprites_irq::ptr#5 = phi( sprites_irq::@9/sprites_irq::ptr#0 )
|
|
PLAYFIELD_SPRITE_PTRS_1[0] = sprites_irq::ptr#5
|
|
sprites_irq::ptr#1 = ++ sprites_irq::ptr#5
|
|
PLAYFIELD_SPRITE_PTRS_1[1] = sprites_irq::ptr#1
|
|
PLAYFIELD_SPRITE_PTRS_1[2] = sprites_irq::ptr#1
|
|
sprites_irq::ptr#2 = ++ sprites_irq::ptr#1
|
|
PLAYFIELD_SPRITE_PTRS_1[3] = sprites_irq::ptr#2
|
|
to:sprites_irq::@2
|
|
sprites_irq::@10: scope:[sprites_irq] from sprites_irq::@9
|
|
sprites_irq::ptr#6 = phi( sprites_irq::@9/sprites_irq::ptr#0 )
|
|
PLAYFIELD_SPRITE_PTRS_2[0] = sprites_irq::ptr#6
|
|
sprites_irq::ptr#3 = ++ sprites_irq::ptr#6
|
|
PLAYFIELD_SPRITE_PTRS_2[1] = sprites_irq::ptr#3
|
|
PLAYFIELD_SPRITE_PTRS_2[2] = sprites_irq::ptr#3
|
|
sprites_irq::ptr#4 = ++ sprites_irq::ptr#3
|
|
PLAYFIELD_SPRITE_PTRS_2[3] = sprites_irq::ptr#4
|
|
to:sprites_irq::@2
|
|
sprites_irq::@2: scope:[sprites_irq] from sprites_irq::@1 sprites_irq::@10
|
|
irq_cnt = ++ irq_cnt
|
|
sprites_irq::$2 = irq_cnt == 9
|
|
if(sprites_irq::$2) goto sprites_irq::@3
|
|
to:sprites_irq::@6
|
|
sprites_irq::@3: scope:[sprites_irq] from sprites_irq::@2
|
|
irq_raster_next = irq_raster_next + $15
|
|
irq_sprite_ypos = SPRITES_FIRST_YPOS
|
|
sprites_irq::toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
to:sprites_irq::toSpritePtr1
|
|
sprites_irq::toSpritePtr1: scope:[sprites_irq] from sprites_irq::@3
|
|
sprites_irq::toSpritePtr1_sprite#1 = phi( sprites_irq::@3/sprites_irq::toSpritePtr1_sprite#0 )
|
|
sprites_irq::toSpritePtr1_$1 = (word)sprites_irq::toSpritePtr1_sprite#1
|
|
sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1 / $40
|
|
sprites_irq::toSpritePtr1_return#0 = (byte)sprites_irq::toSpritePtr1_$0
|
|
to:sprites_irq::toSpritePtr1_@return
|
|
sprites_irq::toSpritePtr1_@return: scope:[sprites_irq] from sprites_irq::toSpritePtr1
|
|
sprites_irq::toSpritePtr1_return#2 = phi( sprites_irq::toSpritePtr1/sprites_irq::toSpritePtr1_return#0 )
|
|
sprites_irq::toSpritePtr1_return#1 = sprites_irq::toSpritePtr1_return#2
|
|
to:sprites_irq::@11
|
|
sprites_irq::@11: scope:[sprites_irq] from sprites_irq::toSpritePtr1_@return
|
|
sprites_irq::toSpritePtr1_return#3 = phi( sprites_irq::toSpritePtr1_@return/sprites_irq::toSpritePtr1_return#1 )
|
|
sprites_irq::$5 = sprites_irq::toSpritePtr1_return#3
|
|
irq_sprite_ptr = sprites_irq::$5
|
|
to:sprites_irq::@5
|
|
sprites_irq::@6: scope:[sprites_irq] from sprites_irq::@2
|
|
sprites_irq::$3 = irq_cnt == $a
|
|
if(sprites_irq::$3) goto sprites_irq::@4
|
|
to:sprites_irq::@7
|
|
sprites_irq::@4: scope:[sprites_irq] from sprites_irq::@6
|
|
irq_cnt = 0
|
|
irq_raster_next = IRQ_RASTER_FIRST
|
|
irq_sprite_ypos = irq_sprite_ypos + $15
|
|
irq_sprite_ptr = irq_sprite_ptr + 3
|
|
to:sprites_irq::@5
|
|
sprites_irq::@7: scope:[sprites_irq] from sprites_irq::@6
|
|
irq_raster_next = irq_raster_next + $14
|
|
irq_sprite_ypos = irq_sprite_ypos + $15
|
|
irq_sprite_ptr = irq_sprite_ptr + 3
|
|
to:sprites_irq::@5
|
|
sprites_irq::@5: scope:[sprites_irq] from sprites_irq::@11 sprites_irq::@4 sprites_irq::@7
|
|
*RASTER = irq_raster_next
|
|
*IRQ_STATUS = IRQ_RASTER
|
|
to:sprites_irq::@return
|
|
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@5
|
|
return
|
|
to:@return
|
|
|
|
void play_init()
|
|
play_init: scope:[play_init] from main::@12
|
|
level#46 = phi( main::@12/level#60 )
|
|
play_init::idx#0 = 0
|
|
play_init::pli#0 = playfield
|
|
play_init::j#0 = 0
|
|
to:play_init::@1
|
|
play_init::@1: scope:[play_init] from play_init play_init::@1
|
|
level#30 = phi( play_init/level#46, play_init::@1/level#30 )
|
|
play_init::idx#2 = phi( play_init/play_init::idx#0, play_init::@1/play_init::idx#1 )
|
|
play_init::pli#2 = phi( play_init/play_init::pli#0, play_init::@1/play_init::pli#1 )
|
|
play_init::j#2 = phi( play_init/play_init::j#0, play_init::@1/play_init::j#1 )
|
|
play_init::$2 = play_init::j#2 * SIZEOF_POINTER
|
|
playfield_lines[play_init::$2] = play_init::pli#2
|
|
playfield_lines_idx[play_init::j#2] = play_init::idx#2
|
|
play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS
|
|
play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS
|
|
play_init::j#1 = play_init::j#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
play_init::$0 = play_init::j#1 != rangelast(0,PLAYFIELD_LINES-1)
|
|
if(play_init::$0) goto play_init::@1
|
|
to:play_init::@2
|
|
play_init::@2: scope:[play_init] from play_init::@1
|
|
level#14 = phi( play_init::@1/level#30 )
|
|
playfield_lines_idx[PLAYFIELD_LINES] = PLAYFIELD_COLS*PLAYFIELD_LINES
|
|
current_movedown_slow#0 = MOVEDOWN_SLOW_SPEEDS[level#14]
|
|
play_init::b#0 = 0
|
|
to:play_init::@3
|
|
play_init::@3: scope:[play_init] from play_init::@2 play_init::@3
|
|
current_movedown_slow#31 = phi( play_init::@2/current_movedown_slow#0, play_init::@3/current_movedown_slow#31 )
|
|
play_init::b#2 = phi( play_init::@2/play_init::b#0, play_init::@3/play_init::b#1 )
|
|
play_init::$3 = play_init::b#2 * SIZEOF_DWORD
|
|
score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3]
|
|
play_init::b#1 = play_init::b#2 + rangenext(0,4)
|
|
play_init::$1 = play_init::b#1 != rangelast(0,4)
|
|
if(play_init::$1) goto play_init::@3
|
|
to:play_init::@return
|
|
play_init::@return: scope:[play_init] from play_init::@3
|
|
current_movedown_slow#17 = phi( play_init::@3/current_movedown_slow#31 )
|
|
current_movedown_slow#1 = current_movedown_slow#17
|
|
return
|
|
to:@return
|
|
|
|
byte play_movement(byte play_movement::key_event)
|
|
play_movement: scope:[play_movement] from main::@4
|
|
next_piece_idx#28 = phi( main::@4/next_piece_idx#35 )
|
|
game_over#25 = phi( main::@4/game_over#34 )
|
|
current_xpos#39 = phi( main::@4/current_xpos#58 )
|
|
current_piece_gfx#33 = phi( main::@4/current_piece_gfx#45 )
|
|
current_orientation#34 = phi( main::@4/current_orientation#49 )
|
|
current_piece_char#27 = phi( main::@4/current_piece_char#36 )
|
|
current_piece#26 = phi( main::@4/current_piece#39 )
|
|
level_bcd#29 = phi( main::@4/level_bcd#41 )
|
|
current_movedown_slow#32 = phi( main::@4/current_movedown_slow#46 )
|
|
level#31 = phi( main::@4/level#41 )
|
|
lines_bcd#24 = phi( main::@4/lines_bcd#32 )
|
|
current_ypos#34 = phi( main::@4/current_ypos#49 )
|
|
current_movedown_counter#20 = phi( main::@4/current_movedown_counter#26 )
|
|
play_movement::key_event#1 = phi( main::@4/play_movement::key_event#0 )
|
|
play_movement::render#0 = 0
|
|
play_move_down::key_event#0 = play_movement::key_event#1
|
|
call play_move_down
|
|
play_move_down::return#0 = play_move_down::return#3
|
|
to:play_movement::@3
|
|
play_movement::@3: scope:[play_movement] from play_movement
|
|
play_movement::key_event#4 = phi( play_movement/play_movement::key_event#1 )
|
|
play_movement::render#4 = phi( play_movement/play_movement::render#0 )
|
|
next_piece_idx#14 = phi( play_movement/next_piece_idx#3 )
|
|
game_over#13 = phi( play_movement/game_over#3 )
|
|
current_xpos#18 = phi( play_movement/current_xpos#4 )
|
|
current_piece_gfx#17 = phi( play_movement/current_piece_gfx#4 )
|
|
current_orientation#16 = phi( play_movement/current_orientation#4 )
|
|
current_piece_char#14 = phi( play_movement/current_piece_char#3 )
|
|
current_piece#13 = phi( play_movement/current_piece#3 )
|
|
level_bcd#15 = phi( play_movement/level_bcd#3 )
|
|
current_movedown_slow#18 = phi( play_movement/current_movedown_slow#5 )
|
|
level#15 = phi( play_movement/level#3 )
|
|
lines_bcd#13 = phi( play_movement/lines_bcd#3 )
|
|
current_ypos#15 = phi( play_movement/current_ypos#4 )
|
|
current_movedown_counter#10 = phi( play_movement/current_movedown_counter#4 )
|
|
play_move_down::return#4 = phi( play_movement/play_move_down::return#0 )
|
|
play_movement::$0 = play_move_down::return#4
|
|
current_movedown_counter#0 = current_movedown_counter#10
|
|
current_ypos#0 = current_ypos#15
|
|
lines_bcd#0 = lines_bcd#13
|
|
level#0 = level#15
|
|
current_movedown_slow#2 = current_movedown_slow#18
|
|
level_bcd#0 = level_bcd#15
|
|
current_piece#0 = current_piece#13
|
|
current_piece_char#0 = current_piece_char#14
|
|
current_orientation#0 = current_orientation#16
|
|
current_piece_gfx#0 = current_piece_gfx#17
|
|
current_xpos#0 = current_xpos#18
|
|
game_over#0 = game_over#13
|
|
next_piece_idx#0 = next_piece_idx#14
|
|
play_movement::render#1 = play_movement::render#4 + play_movement::$0
|
|
play_movement::$1 = game_over#0 != 0
|
|
play_movement::$2 = ! play_movement::$1
|
|
if(play_movement::$2) goto play_movement::@1
|
|
to:play_movement::@2
|
|
play_movement::@1: scope:[play_movement] from play_movement::@3
|
|
next_piece_idx#50 = phi( play_movement::@3/next_piece_idx#0 )
|
|
game_over#48 = phi( play_movement::@3/game_over#0 )
|
|
current_piece_char#55 = phi( play_movement::@3/current_piece_char#0 )
|
|
current_piece#56 = phi( play_movement::@3/current_piece#0 )
|
|
level_bcd#58 = phi( play_movement::@3/level_bcd#0 )
|
|
current_movedown_slow#61 = phi( play_movement::@3/current_movedown_slow#2 )
|
|
level#61 = phi( play_movement::@3/level#0 )
|
|
lines_bcd#48 = phi( play_movement::@3/lines_bcd#0 )
|
|
current_movedown_counter#36 = phi( play_movement::@3/current_movedown_counter#0 )
|
|
current_ypos#56 = phi( play_movement::@3/current_ypos#0 )
|
|
current_piece_gfx#50 = phi( play_movement::@3/current_piece_gfx#0 )
|
|
current_orientation#52 = phi( play_movement::@3/current_orientation#0 )
|
|
play_movement::render#8 = phi( play_movement::@3/play_movement::render#1 )
|
|
current_xpos#40 = phi( play_movement::@3/current_xpos#0 )
|
|
play_movement::key_event#2 = phi( play_movement::@3/play_movement::key_event#4 )
|
|
play_move_leftright::key_event#0 = play_movement::key_event#2
|
|
call play_move_leftright
|
|
play_move_leftright::return#0 = play_move_leftright::return#2
|
|
to:play_movement::@4
|
|
play_movement::@4: scope:[play_movement] from play_movement::@1
|
|
next_piece_idx#39 = phi( play_movement::@1/next_piece_idx#50 )
|
|
game_over#37 = phi( play_movement::@1/game_over#48 )
|
|
current_piece_char#41 = phi( play_movement::@1/current_piece_char#55 )
|
|
current_piece#42 = phi( play_movement::@1/current_piece#56 )
|
|
level_bcd#45 = phi( play_movement::@1/level_bcd#58 )
|
|
current_movedown_slow#49 = phi( play_movement::@1/current_movedown_slow#61 )
|
|
level#47 = phi( play_movement::@1/level#61 )
|
|
lines_bcd#36 = phi( play_movement::@1/lines_bcd#48 )
|
|
current_ypos#52 = phi( play_movement::@1/current_ypos#56 )
|
|
current_movedown_counter#29 = phi( play_movement::@1/current_movedown_counter#36 )
|
|
current_piece_gfx#34 = phi( play_movement::@1/current_piece_gfx#50 )
|
|
current_orientation#35 = phi( play_movement::@1/current_orientation#52 )
|
|
play_movement::key_event#3 = phi( play_movement::@1/play_movement::key_event#2 )
|
|
play_movement::render#5 = phi( play_movement::@1/play_movement::render#8 )
|
|
current_xpos#19 = phi( play_movement::@1/current_xpos#6 )
|
|
play_move_leftright::return#5 = phi( play_movement::@1/play_move_leftright::return#0 )
|
|
play_movement::$3 = play_move_leftright::return#5
|
|
current_xpos#1 = current_xpos#19
|
|
play_movement::render#2 = play_movement::render#5 + play_movement::$3
|
|
play_move_rotate::key_event#0 = play_movement::key_event#3
|
|
call play_move_rotate
|
|
play_move_rotate::return#0 = play_move_rotate::return#2
|
|
to:play_movement::@5
|
|
play_movement::@5: scope:[play_movement] from play_movement::@4
|
|
next_piece_idx#30 = phi( play_movement::@4/next_piece_idx#39 )
|
|
game_over#27 = phi( play_movement::@4/game_over#37 )
|
|
current_xpos#42 = phi( play_movement::@4/current_xpos#1 )
|
|
current_piece_char#29 = phi( play_movement::@4/current_piece_char#41 )
|
|
current_piece#28 = phi( play_movement::@4/current_piece#42 )
|
|
level_bcd#31 = phi( play_movement::@4/level_bcd#45 )
|
|
current_movedown_slow#34 = phi( play_movement::@4/current_movedown_slow#49 )
|
|
level#33 = phi( play_movement::@4/level#47 )
|
|
lines_bcd#26 = phi( play_movement::@4/lines_bcd#36 )
|
|
current_ypos#36 = phi( play_movement::@4/current_ypos#52 )
|
|
current_movedown_counter#22 = phi( play_movement::@4/current_movedown_counter#29 )
|
|
play_movement::render#6 = phi( play_movement::@4/play_movement::render#2 )
|
|
current_piece_gfx#18 = phi( play_movement::@4/current_piece_gfx#5 )
|
|
current_orientation#17 = phi( play_movement::@4/current_orientation#5 )
|
|
play_move_rotate::return#5 = phi( play_movement::@4/play_move_rotate::return#0 )
|
|
play_movement::$4 = play_move_rotate::return#5
|
|
current_orientation#1 = current_orientation#17
|
|
current_piece_gfx#1 = current_piece_gfx#18
|
|
play_movement::render#3 = play_movement::render#6 + play_movement::$4
|
|
play_movement::return#0 = play_movement::render#3
|
|
to:play_movement::@return
|
|
play_movement::@2: scope:[play_movement] from play_movement::@3
|
|
next_piece_idx#29 = phi( play_movement::@3/next_piece_idx#0 )
|
|
game_over#26 = phi( play_movement::@3/game_over#0 )
|
|
current_xpos#41 = phi( play_movement::@3/current_xpos#0 )
|
|
current_piece_gfx#35 = phi( play_movement::@3/current_piece_gfx#0 )
|
|
current_orientation#36 = phi( play_movement::@3/current_orientation#0 )
|
|
current_piece_char#28 = phi( play_movement::@3/current_piece_char#0 )
|
|
current_piece#27 = phi( play_movement::@3/current_piece#0 )
|
|
level_bcd#30 = phi( play_movement::@3/level_bcd#0 )
|
|
current_movedown_slow#33 = phi( play_movement::@3/current_movedown_slow#2 )
|
|
level#32 = phi( play_movement::@3/level#0 )
|
|
lines_bcd#25 = phi( play_movement::@3/lines_bcd#0 )
|
|
current_ypos#35 = phi( play_movement::@3/current_ypos#0 )
|
|
current_movedown_counter#21 = phi( play_movement::@3/current_movedown_counter#0 )
|
|
play_movement::render#7 = phi( play_movement::@3/play_movement::render#1 )
|
|
play_movement::return#1 = play_movement::render#7
|
|
to:play_movement::@return
|
|
play_movement::@return: scope:[play_movement] from play_movement::@2 play_movement::@5
|
|
next_piece_idx#15 = phi( play_movement::@2/next_piece_idx#29, play_movement::@5/next_piece_idx#30 )
|
|
game_over#14 = phi( play_movement::@2/game_over#26, play_movement::@5/game_over#27 )
|
|
current_xpos#20 = phi( play_movement::@2/current_xpos#41, play_movement::@5/current_xpos#42 )
|
|
current_piece_gfx#19 = phi( play_movement::@2/current_piece_gfx#35, play_movement::@5/current_piece_gfx#1 )
|
|
current_orientation#18 = phi( play_movement::@2/current_orientation#36, play_movement::@5/current_orientation#1 )
|
|
current_piece_char#15 = phi( play_movement::@2/current_piece_char#28, play_movement::@5/current_piece_char#29 )
|
|
current_piece#14 = phi( play_movement::@2/current_piece#27, play_movement::@5/current_piece#28 )
|
|
level_bcd#16 = phi( play_movement::@2/level_bcd#30, play_movement::@5/level_bcd#31 )
|
|
current_movedown_slow#19 = phi( play_movement::@2/current_movedown_slow#33, play_movement::@5/current_movedown_slow#34 )
|
|
level#16 = phi( play_movement::@2/level#32, play_movement::@5/level#33 )
|
|
lines_bcd#14 = phi( play_movement::@2/lines_bcd#25, play_movement::@5/lines_bcd#26 )
|
|
current_ypos#16 = phi( play_movement::@2/current_ypos#35, play_movement::@5/current_ypos#36 )
|
|
current_movedown_counter#11 = phi( play_movement::@2/current_movedown_counter#21, play_movement::@5/current_movedown_counter#22 )
|
|
play_movement::return#4 = phi( play_movement::@2/play_movement::return#1, play_movement::@5/play_movement::return#0 )
|
|
play_movement::return#2 = play_movement::return#4
|
|
current_movedown_counter#1 = current_movedown_counter#11
|
|
current_ypos#1 = current_ypos#16
|
|
lines_bcd#1 = lines_bcd#14
|
|
level#1 = level#16
|
|
current_movedown_slow#3 = current_movedown_slow#19
|
|
level_bcd#1 = level_bcd#16
|
|
current_piece#1 = current_piece#14
|
|
current_piece_char#1 = current_piece_char#15
|
|
current_orientation#2 = current_orientation#18
|
|
current_piece_gfx#2 = current_piece_gfx#19
|
|
current_xpos#2 = current_xpos#20
|
|
game_over#1 = game_over#14
|
|
next_piece_idx#1 = next_piece_idx#15
|
|
return
|
|
to:@return
|
|
|
|
byte play_move_down(byte play_move_down::key_event)
|
|
play_move_down: scope:[play_move_down] from play_movement
|
|
next_piece_idx#74 = phi( play_movement/next_piece_idx#28 )
|
|
game_over#79 = phi( play_movement/game_over#25 )
|
|
current_piece_gfx#106 = phi( play_movement/current_piece_gfx#33 )
|
|
current_piece_char#93 = phi( play_movement/current_piece_char#27 )
|
|
current_piece#87 = phi( play_movement/current_piece#26 )
|
|
level_bcd#86 = phi( play_movement/level_bcd#29 )
|
|
level#93 = phi( play_movement/level#31 )
|
|
lines_bcd#74 = phi( play_movement/lines_bcd#24 )
|
|
current_orientation#87 = phi( play_movement/current_orientation#34 )
|
|
current_xpos#109 = phi( play_movement/current_xpos#39 )
|
|
current_ypos#88 = phi( play_movement/current_ypos#34 )
|
|
current_movedown_slow#62 = phi( play_movement/current_movedown_slow#32 )
|
|
play_move_down::key_event#1 = phi( play_movement/play_move_down::key_event#0 )
|
|
current_movedown_counter#12 = phi( play_movement/current_movedown_counter#20 )
|
|
current_movedown_counter#2 = ++ current_movedown_counter#12
|
|
play_move_down::movedown#0 = 0
|
|
play_move_down::$0 = play_move_down::key_event#1 == KEY_SPACE
|
|
play_move_down::$1 = ! play_move_down::$0
|
|
if(play_move_down::$1) goto play_move_down::@1
|
|
to:play_move_down::@5
|
|
play_move_down::@1: scope:[play_move_down] from play_move_down play_move_down::@5
|
|
next_piece_idx#70 = phi( play_move_down/next_piece_idx#74, play_move_down::@5/next_piece_idx#75 )
|
|
game_over#74 = phi( play_move_down/game_over#79, play_move_down::@5/game_over#80 )
|
|
current_piece_gfx#100 = phi( play_move_down/current_piece_gfx#106, play_move_down::@5/current_piece_gfx#107 )
|
|
current_piece_char#88 = phi( play_move_down/current_piece_char#93, play_move_down::@5/current_piece_char#94 )
|
|
current_piece#82 = phi( play_move_down/current_piece#87, play_move_down::@5/current_piece#88 )
|
|
level_bcd#80 = phi( play_move_down/level_bcd#86, play_move_down::@5/level_bcd#87 )
|
|
level#87 = phi( play_move_down/level#93, play_move_down::@5/level#94 )
|
|
lines_bcd#70 = phi( play_move_down/lines_bcd#74, play_move_down::@5/lines_bcd#75 )
|
|
current_orientation#77 = phi( play_move_down/current_orientation#87, play_move_down::@5/current_orientation#88 )
|
|
current_xpos#99 = phi( play_move_down/current_xpos#109, play_move_down::@5/current_xpos#110 )
|
|
current_ypos#79 = phi( play_move_down/current_ypos#88, play_move_down::@5/current_ypos#89 )
|
|
play_move_down::movedown#11 = phi( play_move_down/play_move_down::movedown#0, play_move_down::@5/play_move_down::movedown#1 )
|
|
current_movedown_slow#50 = phi( play_move_down/current_movedown_slow#62, play_move_down::@5/current_movedown_slow#63 )
|
|
current_movedown_counter#30 = phi( play_move_down/current_movedown_counter#2, play_move_down::@5/current_movedown_counter#37 )
|
|
keyboard_event_pressed::keycode#4 = KEY_SPACE
|
|
call keyboard_event_pressed
|
|
keyboard_event_pressed::return#6 = keyboard_event_pressed::return#5
|
|
to:play_move_down::@13
|
|
play_move_down::@13: scope:[play_move_down] from play_move_down::@1
|
|
next_piece_idx#59 = phi( play_move_down::@1/next_piece_idx#70 )
|
|
game_over#61 = phi( play_move_down::@1/game_over#74 )
|
|
current_piece_gfx#86 = phi( play_move_down::@1/current_piece_gfx#100 )
|
|
current_piece_char#72 = phi( play_move_down::@1/current_piece_char#88 )
|
|
current_piece#70 = phi( play_move_down::@1/current_piece#82 )
|
|
level_bcd#70 = phi( play_move_down::@1/level_bcd#80 )
|
|
level#74 = phi( play_move_down::@1/level#87 )
|
|
lines_bcd#60 = phi( play_move_down::@1/lines_bcd#70 )
|
|
current_orientation#64 = phi( play_move_down::@1/current_orientation#77 )
|
|
current_xpos#82 = phi( play_move_down::@1/current_xpos#99 )
|
|
current_ypos#67 = phi( play_move_down::@1/current_ypos#79 )
|
|
play_move_down::movedown#10 = phi( play_move_down::@1/play_move_down::movedown#11 )
|
|
current_movedown_slow#35 = phi( play_move_down::@1/current_movedown_slow#50 )
|
|
current_movedown_counter#23 = phi( play_move_down::@1/current_movedown_counter#30 )
|
|
keyboard_event_pressed::return#12 = phi( play_move_down::@1/keyboard_event_pressed::return#6 )
|
|
play_move_down::$2 = keyboard_event_pressed::return#12
|
|
play_move_down::$3 = play_move_down::$2 != 0
|
|
play_move_down::$4 = ! play_move_down::$3
|
|
if(play_move_down::$4) goto play_move_down::@2
|
|
to:play_move_down::@6
|
|
play_move_down::@5: scope:[play_move_down] from play_move_down
|
|
next_piece_idx#75 = phi( play_move_down/next_piece_idx#74 )
|
|
game_over#80 = phi( play_move_down/game_over#79 )
|
|
current_piece_gfx#107 = phi( play_move_down/current_piece_gfx#106 )
|
|
current_piece_char#94 = phi( play_move_down/current_piece_char#93 )
|
|
current_piece#88 = phi( play_move_down/current_piece#87 )
|
|
level_bcd#87 = phi( play_move_down/level_bcd#86 )
|
|
level#94 = phi( play_move_down/level#93 )
|
|
lines_bcd#75 = phi( play_move_down/lines_bcd#74 )
|
|
current_orientation#88 = phi( play_move_down/current_orientation#87 )
|
|
current_xpos#110 = phi( play_move_down/current_xpos#109 )
|
|
current_ypos#89 = phi( play_move_down/current_ypos#88 )
|
|
current_movedown_slow#63 = phi( play_move_down/current_movedown_slow#62 )
|
|
current_movedown_counter#37 = phi( play_move_down/current_movedown_counter#2 )
|
|
play_move_down::movedown#4 = phi( play_move_down/play_move_down::movedown#0 )
|
|
play_move_down::movedown#1 = ++ play_move_down::movedown#4
|
|
to:play_move_down::@1
|
|
play_move_down::@2: scope:[play_move_down] from play_move_down::@13 play_move_down::@6 play_move_down::@7
|
|
next_piece_idx#51 = phi( play_move_down::@13/next_piece_idx#59, play_move_down::@6/next_piece_idx#60, play_move_down::@7/next_piece_idx#61 )
|
|
game_over#49 = phi( play_move_down::@13/game_over#61, play_move_down::@6/game_over#62, play_move_down::@7/game_over#63 )
|
|
current_piece_gfx#68 = phi( play_move_down::@13/current_piece_gfx#86, play_move_down::@6/current_piece_gfx#87, play_move_down::@7/current_piece_gfx#88 )
|
|
current_piece_char#56 = phi( play_move_down::@13/current_piece_char#72, play_move_down::@6/current_piece_char#73, play_move_down::@7/current_piece_char#74 )
|
|
current_piece#57 = phi( play_move_down::@13/current_piece#70, play_move_down::@6/current_piece#71, play_move_down::@7/current_piece#72 )
|
|
level_bcd#59 = phi( play_move_down::@13/level_bcd#70, play_move_down::@6/level_bcd#71, play_move_down::@7/level_bcd#72 )
|
|
level#62 = phi( play_move_down::@13/level#74, play_move_down::@6/level#75, play_move_down::@7/level#76 )
|
|
lines_bcd#49 = phi( play_move_down::@13/lines_bcd#60, play_move_down::@6/lines_bcd#61, play_move_down::@7/lines_bcd#62 )
|
|
current_orientation#53 = phi( play_move_down::@13/current_orientation#64, play_move_down::@6/current_orientation#65, play_move_down::@7/current_orientation#66 )
|
|
current_xpos#63 = phi( play_move_down::@13/current_xpos#82, play_move_down::@6/current_xpos#83, play_move_down::@7/current_xpos#84 )
|
|
current_ypos#53 = phi( play_move_down::@13/current_ypos#67, play_move_down::@6/current_ypos#68, play_move_down::@7/current_ypos#69 )
|
|
play_move_down::movedown#9 = phi( play_move_down::@13/play_move_down::movedown#10, play_move_down::@6/play_move_down::movedown#8, play_move_down::@7/play_move_down::movedown#2 )
|
|
current_movedown_slow#20 = phi( play_move_down::@13/current_movedown_slow#35, play_move_down::@6/current_movedown_slow#36, play_move_down::@7/current_movedown_slow#37 )
|
|
current_movedown_counter#13 = phi( play_move_down::@13/current_movedown_counter#23, play_move_down::@6/current_movedown_counter#14, play_move_down::@7/current_movedown_counter#24 )
|
|
play_move_down::$5 = current_movedown_counter#13 >= current_movedown_slow#20
|
|
play_move_down::$6 = ! play_move_down::$5
|
|
if(play_move_down::$6) goto play_move_down::@3
|
|
to:play_move_down::@8
|
|
play_move_down::@6: scope:[play_move_down] from play_move_down::@13
|
|
next_piece_idx#60 = phi( play_move_down::@13/next_piece_idx#59 )
|
|
game_over#62 = phi( play_move_down::@13/game_over#61 )
|
|
current_piece_gfx#87 = phi( play_move_down::@13/current_piece_gfx#86 )
|
|
current_piece_char#73 = phi( play_move_down::@13/current_piece_char#72 )
|
|
current_piece#71 = phi( play_move_down::@13/current_piece#70 )
|
|
level_bcd#71 = phi( play_move_down::@13/level_bcd#70 )
|
|
level#75 = phi( play_move_down::@13/level#74 )
|
|
lines_bcd#61 = phi( play_move_down::@13/lines_bcd#60 )
|
|
current_orientation#65 = phi( play_move_down::@13/current_orientation#64 )
|
|
current_xpos#83 = phi( play_move_down::@13/current_xpos#82 )
|
|
current_ypos#68 = phi( play_move_down::@13/current_ypos#67 )
|
|
play_move_down::movedown#8 = phi( play_move_down::@13/play_move_down::movedown#10 )
|
|
current_movedown_slow#36 = phi( play_move_down::@13/current_movedown_slow#35 )
|
|
current_movedown_counter#14 = phi( play_move_down::@13/current_movedown_counter#23 )
|
|
play_move_down::$9 = current_movedown_counter#14 >= current_movedown_fast
|
|
play_move_down::$10 = ! play_move_down::$9
|
|
if(play_move_down::$10) goto play_move_down::@2
|
|
to:play_move_down::@7
|
|
play_move_down::@7: scope:[play_move_down] from play_move_down::@6
|
|
next_piece_idx#61 = phi( play_move_down::@6/next_piece_idx#60 )
|
|
game_over#63 = phi( play_move_down::@6/game_over#62 )
|
|
current_piece_gfx#88 = phi( play_move_down::@6/current_piece_gfx#87 )
|
|
current_piece_char#74 = phi( play_move_down::@6/current_piece_char#73 )
|
|
current_piece#72 = phi( play_move_down::@6/current_piece#71 )
|
|
level_bcd#72 = phi( play_move_down::@6/level_bcd#71 )
|
|
level#76 = phi( play_move_down::@6/level#75 )
|
|
lines_bcd#62 = phi( play_move_down::@6/lines_bcd#61 )
|
|
current_orientation#66 = phi( play_move_down::@6/current_orientation#65 )
|
|
current_xpos#84 = phi( play_move_down::@6/current_xpos#83 )
|
|
current_ypos#69 = phi( play_move_down::@6/current_ypos#68 )
|
|
current_movedown_slow#37 = phi( play_move_down::@6/current_movedown_slow#36 )
|
|
current_movedown_counter#24 = phi( play_move_down::@6/current_movedown_counter#14 )
|
|
play_move_down::movedown#5 = phi( play_move_down::@6/play_move_down::movedown#8 )
|
|
play_move_down::movedown#2 = ++ play_move_down::movedown#5
|
|
to:play_move_down::@2
|
|
play_move_down::@3: scope:[play_move_down] from play_move_down::@2 play_move_down::@8
|
|
next_piece_idx#40 = phi( play_move_down::@2/next_piece_idx#51, play_move_down::@8/next_piece_idx#52 )
|
|
game_over#38 = phi( play_move_down::@2/game_over#49, play_move_down::@8/game_over#50 )
|
|
current_piece_gfx#51 = phi( play_move_down::@2/current_piece_gfx#68, play_move_down::@8/current_piece_gfx#69 )
|
|
current_piece_char#42 = phi( play_move_down::@2/current_piece_char#56, play_move_down::@8/current_piece_char#57 )
|
|
current_piece#43 = phi( play_move_down::@2/current_piece#57, play_move_down::@8/current_piece#58 )
|
|
level_bcd#46 = phi( play_move_down::@2/level_bcd#59, play_move_down::@8/level_bcd#60 )
|
|
current_movedown_slow#51 = phi( play_move_down::@2/current_movedown_slow#20, play_move_down::@8/current_movedown_slow#64 )
|
|
level#48 = phi( play_move_down::@2/level#62, play_move_down::@8/level#63 )
|
|
lines_bcd#37 = phi( play_move_down::@2/lines_bcd#49, play_move_down::@8/lines_bcd#50 )
|
|
current_movedown_counter#31 = phi( play_move_down::@2/current_movedown_counter#13, play_move_down::@8/current_movedown_counter#38 )
|
|
current_orientation#37 = phi( play_move_down::@2/current_orientation#53, play_move_down::@8/current_orientation#54 )
|
|
current_xpos#43 = phi( play_move_down::@2/current_xpos#63, play_move_down::@8/current_xpos#64 )
|
|
current_ypos#37 = phi( play_move_down::@2/current_ypos#53, play_move_down::@8/current_ypos#54 )
|
|
play_move_down::movedown#6 = phi( play_move_down::@2/play_move_down::movedown#9, play_move_down::@8/play_move_down::movedown#3 )
|
|
play_move_down::$7 = play_move_down::movedown#6 != 0
|
|
play_move_down::$8 = ! play_move_down::$7
|
|
if(play_move_down::$8) goto play_move_down::@4
|
|
to:play_move_down::@9
|
|
play_move_down::@8: scope:[play_move_down] from play_move_down::@2
|
|
next_piece_idx#52 = phi( play_move_down::@2/next_piece_idx#51 )
|
|
game_over#50 = phi( play_move_down::@2/game_over#49 )
|
|
current_piece_gfx#69 = phi( play_move_down::@2/current_piece_gfx#68 )
|
|
current_piece_char#57 = phi( play_move_down::@2/current_piece_char#56 )
|
|
current_piece#58 = phi( play_move_down::@2/current_piece#57 )
|
|
level_bcd#60 = phi( play_move_down::@2/level_bcd#59 )
|
|
current_movedown_slow#64 = phi( play_move_down::@2/current_movedown_slow#20 )
|
|
level#63 = phi( play_move_down::@2/level#62 )
|
|
lines_bcd#50 = phi( play_move_down::@2/lines_bcd#49 )
|
|
current_movedown_counter#38 = phi( play_move_down::@2/current_movedown_counter#13 )
|
|
current_orientation#54 = phi( play_move_down::@2/current_orientation#53 )
|
|
current_xpos#64 = phi( play_move_down::@2/current_xpos#63 )
|
|
current_ypos#54 = phi( play_move_down::@2/current_ypos#53 )
|
|
play_move_down::movedown#7 = phi( play_move_down::@2/play_move_down::movedown#9 )
|
|
play_move_down::movedown#3 = ++ play_move_down::movedown#7
|
|
to:play_move_down::@3
|
|
play_move_down::@4: scope:[play_move_down] from play_move_down::@3
|
|
next_piece_idx#33 = phi( play_move_down::@3/next_piece_idx#40 )
|
|
game_over#30 = phi( play_move_down::@3/game_over#38 )
|
|
current_xpos#46 = phi( play_move_down::@3/current_xpos#43 )
|
|
current_piece_gfx#38 = phi( play_move_down::@3/current_piece_gfx#51 )
|
|
current_orientation#40 = phi( play_move_down::@3/current_orientation#37 )
|
|
current_piece_char#32 = phi( play_move_down::@3/current_piece_char#42 )
|
|
current_piece#31 = phi( play_move_down::@3/current_piece#43 )
|
|
level_bcd#34 = phi( play_move_down::@3/level_bcd#46 )
|
|
current_movedown_slow#40 = phi( play_move_down::@3/current_movedown_slow#51 )
|
|
level#36 = phi( play_move_down::@3/level#48 )
|
|
lines_bcd#29 = phi( play_move_down::@3/lines_bcd#37 )
|
|
current_ypos#41 = phi( play_move_down::@3/current_ypos#37 )
|
|
current_movedown_counter#25 = phi( play_move_down::@3/current_movedown_counter#31 )
|
|
play_move_down::return#1 = 0
|
|
to:play_move_down::@return
|
|
play_move_down::@9: scope:[play_move_down] from play_move_down::@3
|
|
next_piece_idx#62 = phi( play_move_down::@3/next_piece_idx#40 )
|
|
game_over#64 = phi( play_move_down::@3/game_over#38 )
|
|
current_piece_gfx#89 = phi( play_move_down::@3/current_piece_gfx#51 )
|
|
current_piece_char#75 = phi( play_move_down::@3/current_piece_char#42 )
|
|
level_bcd#73 = phi( play_move_down::@3/level_bcd#46 )
|
|
current_movedown_slow#73 = phi( play_move_down::@3/current_movedown_slow#51 )
|
|
level#77 = phi( play_move_down::@3/level#48 )
|
|
lines_bcd#63 = phi( play_move_down::@3/lines_bcd#37 )
|
|
current_piece#33 = phi( play_move_down::@3/current_piece#43 )
|
|
current_orientation#19 = phi( play_move_down::@3/current_orientation#37 )
|
|
current_xpos#21 = phi( play_move_down::@3/current_xpos#43 )
|
|
current_ypos#17 = phi( play_move_down::@3/current_ypos#37 )
|
|
play_move_down::$11 = current_ypos#17 + 1
|
|
play_collision::xpos#0 = current_xpos#21
|
|
play_collision::ypos#0 = play_move_down::$11
|
|
play_collision::orientation#0 = current_orientation#19
|
|
call play_collision
|
|
play_collision::return#0 = play_collision::return#5
|
|
to:play_move_down::@14
|
|
play_move_down::@14: scope:[play_move_down] from play_move_down::@9
|
|
next_piece_idx#53 = phi( play_move_down::@9/next_piece_idx#62 )
|
|
game_over#51 = phi( play_move_down::@9/game_over#64 )
|
|
current_xpos#85 = phi( play_move_down::@9/current_xpos#21 )
|
|
current_piece_gfx#70 = phi( play_move_down::@9/current_piece_gfx#89 )
|
|
current_orientation#67 = phi( play_move_down::@9/current_orientation#19 )
|
|
current_piece_char#58 = phi( play_move_down::@9/current_piece_char#75 )
|
|
current_piece#59 = phi( play_move_down::@9/current_piece#33 )
|
|
level_bcd#61 = phi( play_move_down::@9/level_bcd#73 )
|
|
current_movedown_slow#65 = phi( play_move_down::@9/current_movedown_slow#73 )
|
|
level#64 = phi( play_move_down::@9/level#77 )
|
|
lines_bcd#51 = phi( play_move_down::@9/lines_bcd#63 )
|
|
current_ypos#38 = phi( play_move_down::@9/current_ypos#17 )
|
|
play_collision::return#11 = phi( play_move_down::@9/play_collision::return#0 )
|
|
play_move_down::$12 = play_collision::return#11
|
|
play_move_down::$13 = play_move_down::$12 == COLLISION_NONE
|
|
if(play_move_down::$13) goto play_move_down::@11
|
|
to:play_move_down::@10
|
|
play_move_down::@11: scope:[play_move_down] from play_move_down::@14
|
|
next_piece_idx#42 = phi( play_move_down::@14/next_piece_idx#53 )
|
|
game_over#40 = phi( play_move_down::@14/game_over#51 )
|
|
current_xpos#66 = phi( play_move_down::@14/current_xpos#85 )
|
|
current_piece_gfx#53 = phi( play_move_down::@14/current_piece_gfx#70 )
|
|
current_orientation#56 = phi( play_move_down::@14/current_orientation#67 )
|
|
current_piece_char#44 = phi( play_move_down::@14/current_piece_char#58 )
|
|
current_piece#45 = phi( play_move_down::@14/current_piece#59 )
|
|
level_bcd#48 = phi( play_move_down::@14/level_bcd#61 )
|
|
current_movedown_slow#53 = phi( play_move_down::@14/current_movedown_slow#65 )
|
|
level#50 = phi( play_move_down::@14/level#64 )
|
|
lines_bcd#39 = phi( play_move_down::@14/lines_bcd#51 )
|
|
current_ypos#18 = phi( play_move_down::@14/current_ypos#38 )
|
|
current_ypos#2 = ++ current_ypos#18
|
|
to:play_move_down::@12
|
|
play_move_down::@10: scope:[play_move_down] from play_move_down::@14
|
|
next_piece_idx#63 = phi( play_move_down::@14/next_piece_idx#53 )
|
|
game_over#65 = phi( play_move_down::@14/game_over#51 )
|
|
current_orientation#78 = phi( play_move_down::@14/current_orientation#67 )
|
|
current_piece_char#76 = phi( play_move_down::@14/current_piece_char#58 )
|
|
current_piece#73 = phi( play_move_down::@14/current_piece#59 )
|
|
current_piece_gfx#74 = phi( play_move_down::@14/current_piece_gfx#70 )
|
|
level_bcd#62 = phi( play_move_down::@14/level_bcd#61 )
|
|
current_movedown_slow#66 = phi( play_move_down::@14/current_movedown_slow#65 )
|
|
level#65 = phi( play_move_down::@14/level#64 )
|
|
lines_bcd#52 = phi( play_move_down::@14/lines_bcd#51 )
|
|
current_xpos#69 = phi( play_move_down::@14/current_xpos#85 )
|
|
current_ypos#46 = phi( play_move_down::@14/current_ypos#38 )
|
|
call play_lock_current
|
|
to:play_move_down::@15
|
|
play_move_down::@15: scope:[play_move_down] from play_move_down::@10
|
|
next_piece_idx#54 = phi( play_move_down::@10/next_piece_idx#63 )
|
|
game_over#52 = phi( play_move_down::@10/game_over#65 )
|
|
current_ypos#70 = phi( play_move_down::@10/current_ypos#46 )
|
|
current_xpos#86 = phi( play_move_down::@10/current_xpos#69 )
|
|
current_piece_gfx#71 = phi( play_move_down::@10/current_piece_gfx#74 )
|
|
current_orientation#68 = phi( play_move_down::@10/current_orientation#78 )
|
|
current_piece_char#59 = phi( play_move_down::@10/current_piece_char#76 )
|
|
current_piece#60 = phi( play_move_down::@10/current_piece#73 )
|
|
level_bcd#47 = phi( play_move_down::@10/level_bcd#62 )
|
|
current_movedown_slow#52 = phi( play_move_down::@10/current_movedown_slow#66 )
|
|
level#49 = phi( play_move_down::@10/level#65 )
|
|
lines_bcd#38 = phi( play_move_down::@10/lines_bcd#52 )
|
|
call play_remove_lines
|
|
play_remove_lines::return#0 = play_remove_lines::return#2
|
|
to:play_move_down::@16
|
|
play_move_down::@16: scope:[play_move_down] from play_move_down::@15
|
|
next_piece_idx#41 = phi( play_move_down::@15/next_piece_idx#54 )
|
|
game_over#39 = phi( play_move_down::@15/game_over#52 )
|
|
current_ypos#55 = phi( play_move_down::@15/current_ypos#70 )
|
|
current_xpos#65 = phi( play_move_down::@15/current_xpos#86 )
|
|
current_piece_gfx#52 = phi( play_move_down::@15/current_piece_gfx#71 )
|
|
current_orientation#55 = phi( play_move_down::@15/current_orientation#68 )
|
|
current_piece_char#43 = phi( play_move_down::@15/current_piece_char#59 )
|
|
current_piece#44 = phi( play_move_down::@15/current_piece#60 )
|
|
level_bcd#32 = phi( play_move_down::@15/level_bcd#47 )
|
|
current_movedown_slow#38 = phi( play_move_down::@15/current_movedown_slow#52 )
|
|
level#34 = phi( play_move_down::@15/level#49 )
|
|
lines_bcd#27 = phi( play_move_down::@15/lines_bcd#38 )
|
|
play_remove_lines::return#3 = phi( play_move_down::@15/play_remove_lines::return#0 )
|
|
play_move_down::$15 = play_remove_lines::return#3
|
|
play_move_down::removed#0 = play_move_down::$15
|
|
play_update_score::removed#0 = play_move_down::removed#0
|
|
call play_update_score
|
|
to:play_move_down::@17
|
|
play_move_down::@17: scope:[play_move_down] from play_move_down::@16
|
|
next_piece_idx#31 = phi( play_move_down::@16/next_piece_idx#41 )
|
|
game_over#28 = phi( play_move_down::@16/game_over#39 )
|
|
current_ypos#39 = phi( play_move_down::@16/current_ypos#55 )
|
|
current_xpos#44 = phi( play_move_down::@16/current_xpos#65 )
|
|
current_piece_gfx#36 = phi( play_move_down::@16/current_piece_gfx#52 )
|
|
current_orientation#38 = phi( play_move_down::@16/current_orientation#55 )
|
|
current_piece_char#30 = phi( play_move_down::@16/current_piece_char#43 )
|
|
current_piece#29 = phi( play_move_down::@16/current_piece#44 )
|
|
level_bcd#17 = phi( play_move_down::@16/level_bcd#5 )
|
|
current_movedown_slow#21 = phi( play_move_down::@16/current_movedown_slow#7 )
|
|
level#17 = phi( play_move_down::@16/level#5 )
|
|
lines_bcd#15 = phi( play_move_down::@16/lines_bcd#5 )
|
|
lines_bcd#2 = lines_bcd#15
|
|
level#2 = level#17
|
|
current_movedown_slow#4 = current_movedown_slow#21
|
|
level_bcd#2 = level_bcd#17
|
|
call play_spawn_current
|
|
to:play_move_down::@18
|
|
play_move_down::@18: scope:[play_move_down] from play_move_down::@17
|
|
level_bcd#49 = phi( play_move_down::@17/level_bcd#2 )
|
|
current_movedown_slow#54 = phi( play_move_down::@17/current_movedown_slow#4 )
|
|
level#51 = phi( play_move_down::@17/level#2 )
|
|
lines_bcd#40 = phi( play_move_down::@17/lines_bcd#2 )
|
|
next_piece_idx#16 = phi( play_move_down::@17/next_piece_idx#5 )
|
|
game_over#15 = phi( play_move_down::@17/game_over#5 )
|
|
current_ypos#19 = phi( play_move_down::@17/current_ypos#6 )
|
|
current_xpos#22 = phi( play_move_down::@17/current_xpos#9 )
|
|
current_piece_gfx#20 = phi( play_move_down::@17/current_piece_gfx#8 )
|
|
current_orientation#20 = phi( play_move_down::@17/current_orientation#8 )
|
|
current_piece_char#16 = phi( play_move_down::@17/current_piece_char#5 )
|
|
current_piece#15 = phi( play_move_down::@17/current_piece#5 )
|
|
current_piece#2 = current_piece#15
|
|
current_piece_char#2 = current_piece_char#16
|
|
current_orientation#3 = current_orientation#20
|
|
current_piece_gfx#3 = current_piece_gfx#20
|
|
current_xpos#3 = current_xpos#22
|
|
current_ypos#3 = current_ypos#19
|
|
game_over#2 = game_over#15
|
|
next_piece_idx#2 = next_piece_idx#16
|
|
to:play_move_down::@12
|
|
play_move_down::@12: scope:[play_move_down] from play_move_down::@11 play_move_down::@18
|
|
next_piece_idx#32 = phi( play_move_down::@11/next_piece_idx#42, play_move_down::@18/next_piece_idx#2 )
|
|
game_over#29 = phi( play_move_down::@11/game_over#40, play_move_down::@18/game_over#2 )
|
|
current_xpos#45 = phi( play_move_down::@11/current_xpos#66, play_move_down::@18/current_xpos#3 )
|
|
current_piece_gfx#37 = phi( play_move_down::@11/current_piece_gfx#53, play_move_down::@18/current_piece_gfx#3 )
|
|
current_orientation#39 = phi( play_move_down::@11/current_orientation#56, play_move_down::@18/current_orientation#3 )
|
|
current_piece_char#31 = phi( play_move_down::@11/current_piece_char#44, play_move_down::@18/current_piece_char#2 )
|
|
current_piece#30 = phi( play_move_down::@11/current_piece#45, play_move_down::@18/current_piece#2 )
|
|
level_bcd#33 = phi( play_move_down::@11/level_bcd#48, play_move_down::@18/level_bcd#49 )
|
|
current_movedown_slow#39 = phi( play_move_down::@11/current_movedown_slow#53, play_move_down::@18/current_movedown_slow#54 )
|
|
level#35 = phi( play_move_down::@11/level#50, play_move_down::@18/level#51 )
|
|
lines_bcd#28 = phi( play_move_down::@11/lines_bcd#39, play_move_down::@18/lines_bcd#40 )
|
|
current_ypos#40 = phi( play_move_down::@11/current_ypos#2, play_move_down::@18/current_ypos#3 )
|
|
current_movedown_counter#3 = 0
|
|
play_move_down::return#2 = 1
|
|
to:play_move_down::@return
|
|
play_move_down::@return: scope:[play_move_down] from play_move_down::@12 play_move_down::@4
|
|
next_piece_idx#17 = phi( play_move_down::@12/next_piece_idx#32, play_move_down::@4/next_piece_idx#33 )
|
|
game_over#16 = phi( play_move_down::@12/game_over#29, play_move_down::@4/game_over#30 )
|
|
current_xpos#23 = phi( play_move_down::@12/current_xpos#45, play_move_down::@4/current_xpos#46 )
|
|
current_piece_gfx#21 = phi( play_move_down::@12/current_piece_gfx#37, play_move_down::@4/current_piece_gfx#38 )
|
|
current_orientation#21 = phi( play_move_down::@12/current_orientation#39, play_move_down::@4/current_orientation#40 )
|
|
current_piece_char#17 = phi( play_move_down::@12/current_piece_char#31, play_move_down::@4/current_piece_char#32 )
|
|
current_piece#16 = phi( play_move_down::@12/current_piece#30, play_move_down::@4/current_piece#31 )
|
|
level_bcd#18 = phi( play_move_down::@12/level_bcd#33, play_move_down::@4/level_bcd#34 )
|
|
current_movedown_slow#22 = phi( play_move_down::@12/current_movedown_slow#39, play_move_down::@4/current_movedown_slow#40 )
|
|
level#18 = phi( play_move_down::@12/level#35, play_move_down::@4/level#36 )
|
|
lines_bcd#16 = phi( play_move_down::@12/lines_bcd#28, play_move_down::@4/lines_bcd#29 )
|
|
current_ypos#20 = phi( play_move_down::@12/current_ypos#40, play_move_down::@4/current_ypos#41 )
|
|
current_movedown_counter#15 = phi( play_move_down::@12/current_movedown_counter#3, play_move_down::@4/current_movedown_counter#25 )
|
|
play_move_down::return#5 = phi( play_move_down::@12/play_move_down::return#2, play_move_down::@4/play_move_down::return#1 )
|
|
play_move_down::return#3 = play_move_down::return#5
|
|
current_movedown_counter#4 = current_movedown_counter#15
|
|
current_ypos#4 = current_ypos#20
|
|
lines_bcd#3 = lines_bcd#16
|
|
level#3 = level#18
|
|
current_movedown_slow#5 = current_movedown_slow#22
|
|
level_bcd#3 = level_bcd#18
|
|
current_piece#3 = current_piece#16
|
|
current_piece_char#3 = current_piece_char#17
|
|
current_orientation#4 = current_orientation#21
|
|
current_piece_gfx#4 = current_piece_gfx#21
|
|
current_xpos#4 = current_xpos#23
|
|
game_over#3 = game_over#16
|
|
next_piece_idx#3 = next_piece_idx#17
|
|
return
|
|
to:@return
|
|
|
|
byte play_move_leftright(byte play_move_leftright::key_event)
|
|
play_move_leftright: scope:[play_move_leftright] from play_movement::@1
|
|
current_piece#46 = phi( play_movement::@1/current_piece#56 )
|
|
current_orientation#41 = phi( play_movement::@1/current_orientation#52 )
|
|
current_ypos#42 = phi( play_movement::@1/current_ypos#56 )
|
|
current_xpos#47 = phi( play_movement::@1/current_xpos#40 )
|
|
play_move_leftright::key_event#1 = phi( play_movement::@1/play_move_leftright::key_event#0 )
|
|
play_move_leftright::$0 = play_move_leftright::key_event#1 == KEY_COMMA
|
|
if(play_move_leftright::$0) goto play_move_leftright::@1
|
|
to:play_move_leftright::@3
|
|
play_move_leftright::@1: scope:[play_move_leftright] from play_move_leftright
|
|
current_piece#34 = phi( play_move_leftright/current_piece#46 )
|
|
current_orientation#22 = phi( play_move_leftright/current_orientation#41 )
|
|
current_ypos#21 = phi( play_move_leftright/current_ypos#42 )
|
|
current_xpos#24 = phi( play_move_leftright/current_xpos#47 )
|
|
play_move_leftright::$7 = current_xpos#24 - 1
|
|
play_collision::xpos#1 = play_move_leftright::$7
|
|
play_collision::ypos#1 = current_ypos#21
|
|
play_collision::orientation#1 = current_orientation#22
|
|
call play_collision
|
|
play_collision::return#1 = play_collision::return#5
|
|
to:play_move_leftright::@7
|
|
play_move_leftright::@7: scope:[play_move_leftright] from play_move_leftright::@1
|
|
current_xpos#51 = phi( play_move_leftright::@1/current_xpos#24 )
|
|
play_collision::return#12 = phi( play_move_leftright::@1/play_collision::return#1 )
|
|
play_move_leftright::$8 = play_collision::return#12
|
|
play_move_leftright::$9 = play_move_leftright::$8 == COLLISION_NONE
|
|
play_move_leftright::$10 = ! play_move_leftright::$9
|
|
if(play_move_leftright::$10) goto play_move_leftright::@2
|
|
to:play_move_leftright::@6
|
|
play_move_leftright::@3: scope:[play_move_leftright] from play_move_leftright
|
|
current_piece#47 = phi( play_move_leftright/current_piece#46 )
|
|
current_orientation#42 = phi( play_move_leftright/current_orientation#41 )
|
|
current_ypos#43 = phi( play_move_leftright/current_ypos#42 )
|
|
current_xpos#48 = phi( play_move_leftright/current_xpos#47 )
|
|
play_move_leftright::key_event#2 = phi( play_move_leftright/play_move_leftright::key_event#1 )
|
|
play_move_leftright::$1 = play_move_leftright::key_event#2 == KEY_DOT
|
|
play_move_leftright::$2 = ! play_move_leftright::$1
|
|
if(play_move_leftright::$2) goto play_move_leftright::@2
|
|
to:play_move_leftright::@4
|
|
play_move_leftright::@4: scope:[play_move_leftright] from play_move_leftright::@3
|
|
current_piece#35 = phi( play_move_leftright::@3/current_piece#47 )
|
|
current_orientation#23 = phi( play_move_leftright::@3/current_orientation#42 )
|
|
current_ypos#22 = phi( play_move_leftright::@3/current_ypos#43 )
|
|
current_xpos#25 = phi( play_move_leftright::@3/current_xpos#48 )
|
|
play_move_leftright::$3 = current_xpos#25 + 1
|
|
play_collision::xpos#2 = play_move_leftright::$3
|
|
play_collision::ypos#2 = current_ypos#22
|
|
play_collision::orientation#2 = current_orientation#23
|
|
call play_collision
|
|
play_collision::return#2 = play_collision::return#5
|
|
to:play_move_leftright::@8
|
|
play_move_leftright::@8: scope:[play_move_leftright] from play_move_leftright::@4
|
|
current_xpos#49 = phi( play_move_leftright::@4/current_xpos#25 )
|
|
play_collision::return#13 = phi( play_move_leftright::@4/play_collision::return#2 )
|
|
play_move_leftright::$4 = play_collision::return#13
|
|
play_move_leftright::$5 = play_move_leftright::$4 == COLLISION_NONE
|
|
play_move_leftright::$6 = ! play_move_leftright::$5
|
|
if(play_move_leftright::$6) goto play_move_leftright::@2
|
|
to:play_move_leftright::@5
|
|
play_move_leftright::@5: scope:[play_move_leftright] from play_move_leftright::@8
|
|
current_xpos#26 = phi( play_move_leftright::@8/current_xpos#49 )
|
|
current_xpos#5 = ++ current_xpos#26
|
|
play_move_leftright::return#1 = 1
|
|
to:play_move_leftright::@return
|
|
play_move_leftright::@return: scope:[play_move_leftright] from play_move_leftright::@2 play_move_leftright::@5 play_move_leftright::@6
|
|
current_xpos#27 = phi( play_move_leftright::@2/current_xpos#50, play_move_leftright::@5/current_xpos#5, play_move_leftright::@6/current_xpos#7 )
|
|
play_move_leftright::return#6 = phi( play_move_leftright::@2/play_move_leftright::return#3, play_move_leftright::@5/play_move_leftright::return#1, play_move_leftright::@6/play_move_leftright::return#4 )
|
|
play_move_leftright::return#2 = play_move_leftright::return#6
|
|
current_xpos#6 = current_xpos#27
|
|
return
|
|
to:@return
|
|
play_move_leftright::@2: scope:[play_move_leftright] from play_move_leftright::@3 play_move_leftright::@7 play_move_leftright::@8
|
|
current_xpos#50 = phi( play_move_leftright::@3/current_xpos#48, play_move_leftright::@7/current_xpos#51, play_move_leftright::@8/current_xpos#49 )
|
|
play_move_leftright::return#3 = 0
|
|
to:play_move_leftright::@return
|
|
play_move_leftright::@6: scope:[play_move_leftright] from play_move_leftright::@7
|
|
current_xpos#28 = phi( play_move_leftright::@7/current_xpos#51 )
|
|
current_xpos#7 = -- current_xpos#28
|
|
play_move_leftright::return#4 = 1
|
|
to:play_move_leftright::@return
|
|
|
|
byte play_move_rotate(byte play_move_rotate::key_event)
|
|
play_move_rotate: scope:[play_move_rotate] from play_movement::@4
|
|
current_piece_gfx#72 = phi( play_movement::@4/current_piece_gfx#34 )
|
|
current_piece#61 = phi( play_movement::@4/current_piece#42 )
|
|
current_ypos#57 = phi( play_movement::@4/current_ypos#52 )
|
|
current_xpos#67 = phi( play_movement::@4/current_xpos#1 )
|
|
current_orientation#43 = phi( play_movement::@4/current_orientation#35 )
|
|
play_move_rotate::key_event#1 = phi( play_movement::@4/play_move_rotate::key_event#0 )
|
|
play_move_rotate::orientation#0 = $80
|
|
play_move_rotate::$0 = play_move_rotate::key_event#1 == KEY_Z
|
|
if(play_move_rotate::$0) goto play_move_rotate::@1
|
|
to:play_move_rotate::@5
|
|
play_move_rotate::@1: scope:[play_move_rotate] from play_move_rotate
|
|
current_piece_gfx#90 = phi( play_move_rotate/current_piece_gfx#72 )
|
|
current_piece#48 = phi( play_move_rotate/current_piece#61 )
|
|
current_ypos#44 = phi( play_move_rotate/current_ypos#57 )
|
|
current_xpos#52 = phi( play_move_rotate/current_xpos#67 )
|
|
current_orientation#24 = phi( play_move_rotate/current_orientation#43 )
|
|
play_move_rotate::$7 = current_orientation#24 - $10
|
|
play_move_rotate::$8 = play_move_rotate::$7 & $3f
|
|
play_move_rotate::orientation#1 = play_move_rotate::$8
|
|
to:play_move_rotate::@3
|
|
play_move_rotate::@5: scope:[play_move_rotate] from play_move_rotate
|
|
current_piece#62 = phi( play_move_rotate/current_piece#61 )
|
|
current_piece_gfx#54 = phi( play_move_rotate/current_piece_gfx#72 )
|
|
current_ypos#58 = phi( play_move_rotate/current_ypos#57 )
|
|
current_xpos#68 = phi( play_move_rotate/current_xpos#67 )
|
|
current_orientation#44 = phi( play_move_rotate/current_orientation#43 )
|
|
play_move_rotate::key_event#2 = phi( play_move_rotate/play_move_rotate::key_event#1 )
|
|
play_move_rotate::$1 = play_move_rotate::key_event#2 == KEY_X
|
|
if(play_move_rotate::$1) goto play_move_rotate::@2
|
|
to:play_move_rotate::@6
|
|
play_move_rotate::@2: scope:[play_move_rotate] from play_move_rotate::@5
|
|
current_piece_gfx#91 = phi( play_move_rotate::@5/current_piece_gfx#54 )
|
|
current_piece#49 = phi( play_move_rotate::@5/current_piece#62 )
|
|
current_ypos#45 = phi( play_move_rotate::@5/current_ypos#58 )
|
|
current_xpos#53 = phi( play_move_rotate::@5/current_xpos#68 )
|
|
current_orientation#25 = phi( play_move_rotate::@5/current_orientation#44 )
|
|
play_move_rotate::$5 = current_orientation#25 + $10
|
|
play_move_rotate::$6 = play_move_rotate::$5 & $3f
|
|
play_move_rotate::orientation#2 = play_move_rotate::$6
|
|
to:play_move_rotate::@3
|
|
play_move_rotate::@6: scope:[play_move_rotate] from play_move_rotate::@5
|
|
current_piece_gfx#40 = phi( play_move_rotate::@5/current_piece_gfx#54 )
|
|
current_orientation#46 = phi( play_move_rotate::@5/current_orientation#44 )
|
|
play_move_rotate::return#1 = 0
|
|
to:play_move_rotate::@return
|
|
play_move_rotate::@return: scope:[play_move_rotate] from play_move_rotate::@4 play_move_rotate::@6 play_move_rotate::@7
|
|
current_piece_gfx#22 = phi( play_move_rotate::@4/current_piece_gfx#39, play_move_rotate::@6/current_piece_gfx#40, play_move_rotate::@7/current_piece_gfx#6 )
|
|
current_orientation#26 = phi( play_move_rotate::@4/current_orientation#45, play_move_rotate::@6/current_orientation#46, play_move_rotate::@7/current_orientation#6 )
|
|
play_move_rotate::return#6 = phi( play_move_rotate::@4/play_move_rotate::return#3, play_move_rotate::@6/play_move_rotate::return#1, play_move_rotate::@7/play_move_rotate::return#4 )
|
|
play_move_rotate::return#2 = play_move_rotate::return#6
|
|
current_orientation#5 = current_orientation#26
|
|
current_piece_gfx#5 = current_piece_gfx#22
|
|
return
|
|
to:@return
|
|
play_move_rotate::@3: scope:[play_move_rotate] from play_move_rotate::@1 play_move_rotate::@2
|
|
current_piece_gfx#73 = phi( play_move_rotate::@1/current_piece_gfx#90, play_move_rotate::@2/current_piece_gfx#91 )
|
|
current_orientation#69 = phi( play_move_rotate::@1/current_orientation#24, play_move_rotate::@2/current_orientation#25 )
|
|
current_piece#36 = phi( play_move_rotate::@1/current_piece#48, play_move_rotate::@2/current_piece#49 )
|
|
play_move_rotate::orientation#3 = phi( play_move_rotate::@1/play_move_rotate::orientation#1, play_move_rotate::@2/play_move_rotate::orientation#2 )
|
|
current_ypos#23 = phi( play_move_rotate::@1/current_ypos#44, play_move_rotate::@2/current_ypos#45 )
|
|
current_xpos#29 = phi( play_move_rotate::@1/current_xpos#52, play_move_rotate::@2/current_xpos#53 )
|
|
play_collision::xpos#3 = current_xpos#29
|
|
play_collision::ypos#3 = current_ypos#23
|
|
play_collision::orientation#3 = play_move_rotate::orientation#3
|
|
call play_collision
|
|
play_collision::return#3 = play_collision::return#5
|
|
to:play_move_rotate::@8
|
|
play_move_rotate::@8: scope:[play_move_rotate] from play_move_rotate::@3
|
|
current_piece_gfx#55 = phi( play_move_rotate::@3/current_piece_gfx#73 )
|
|
current_orientation#57 = phi( play_move_rotate::@3/current_orientation#69 )
|
|
current_piece#32 = phi( play_move_rotate::@3/current_piece#36 )
|
|
play_move_rotate::orientation#5 = phi( play_move_rotate::@3/play_move_rotate::orientation#3 )
|
|
play_collision::return#14 = phi( play_move_rotate::@3/play_collision::return#3 )
|
|
play_move_rotate::$2 = play_collision::return#14
|
|
play_move_rotate::$3 = play_move_rotate::$2 == COLLISION_NONE
|
|
play_move_rotate::$4 = ! play_move_rotate::$3
|
|
if(play_move_rotate::$4) goto play_move_rotate::@4
|
|
to:play_move_rotate::@7
|
|
play_move_rotate::@4: scope:[play_move_rotate] from play_move_rotate::@8
|
|
current_piece_gfx#39 = phi( play_move_rotate::@8/current_piece_gfx#55 )
|
|
current_orientation#45 = phi( play_move_rotate::@8/current_orientation#57 )
|
|
play_move_rotate::return#3 = 0
|
|
to:play_move_rotate::@return
|
|
play_move_rotate::@7: scope:[play_move_rotate] from play_move_rotate::@8
|
|
current_piece#17 = phi( play_move_rotate::@8/current_piece#32 )
|
|
play_move_rotate::orientation#4 = phi( play_move_rotate::@8/play_move_rotate::orientation#5 )
|
|
current_orientation#6 = play_move_rotate::orientation#4
|
|
play_move_rotate::$9 = current_piece#17 + current_orientation#6
|
|
current_piece_gfx#6 = play_move_rotate::$9
|
|
play_move_rotate::return#4 = 1
|
|
to:play_move_rotate::@return
|
|
|
|
byte play_collision(byte play_collision::xpos , byte play_collision::ypos , byte play_collision::orientation)
|
|
play_collision: scope:[play_collision] from play_move_down::@9 play_move_leftright::@1 play_move_leftright::@4 play_move_rotate::@3 play_spawn_current
|
|
play_collision::xpos#6 = phi( play_move_down::@9/play_collision::xpos#0, play_move_leftright::@1/play_collision::xpos#1, play_move_leftright::@4/play_collision::xpos#2, play_move_rotate::@3/play_collision::xpos#3, play_spawn_current/play_collision::xpos#4 )
|
|
play_collision::ypos#5 = phi( play_move_down::@9/play_collision::ypos#0, play_move_leftright::@1/play_collision::ypos#1, play_move_leftright::@4/play_collision::ypos#2, play_move_rotate::@3/play_collision::ypos#3, play_spawn_current/play_collision::ypos#4 )
|
|
play_collision::orientation#5 = phi( play_move_down::@9/play_collision::orientation#0, play_move_leftright::@1/play_collision::orientation#1, play_move_leftright::@4/play_collision::orientation#2, play_move_rotate::@3/play_collision::orientation#3, play_spawn_current/play_collision::orientation#4 )
|
|
current_piece#18 = phi( play_move_down::@9/current_piece#33, play_move_leftright::@1/current_piece#34, play_move_leftright::@4/current_piece#35, play_move_rotate::@3/current_piece#36, play_spawn_current/current_piece#4 )
|
|
play_collision::$0 = current_piece#18 + play_collision::orientation#5
|
|
play_collision::piece_gfx#0 = play_collision::$0
|
|
play_collision::i#0 = 0
|
|
play_collision::yp#0 = play_collision::ypos#5
|
|
play_collision::l#0 = 0
|
|
to:play_collision::@1
|
|
play_collision::@1: scope:[play_collision] from play_collision play_collision::@12
|
|
play_collision::l#6 = phi( play_collision/play_collision::l#0, play_collision::@12/play_collision::l#1 )
|
|
play_collision::i#3 = phi( play_collision/play_collision::i#0, play_collision::@12/play_collision::i#5 )
|
|
play_collision::piece_gfx#2 = phi( play_collision/play_collision::piece_gfx#0, play_collision::@12/play_collision::piece_gfx#4 )
|
|
play_collision::xpos#5 = phi( play_collision/play_collision::xpos#6, play_collision::@12/play_collision::xpos#7 )
|
|
play_collision::yp#2 = phi( play_collision/play_collision::yp#0, play_collision::@12/play_collision::yp#1 )
|
|
play_collision::$14 = play_collision::yp#2 * SIZEOF_POINTER
|
|
play_collision::playfield_line#0 = playfield_lines[play_collision::$14]
|
|
play_collision::xp#0 = play_collision::xpos#5
|
|
play_collision::c#0 = 0
|
|
to:play_collision::@2
|
|
play_collision::@2: scope:[play_collision] from play_collision::@1 play_collision::@3
|
|
play_collision::playfield_line#5 = phi( play_collision::@1/play_collision::playfield_line#0, play_collision::@3/play_collision::playfield_line#6 )
|
|
play_collision::xpos#9 = phi( play_collision::@1/play_collision::xpos#5, play_collision::@3/play_collision::xpos#8 )
|
|
play_collision::l#4 = phi( play_collision::@1/play_collision::l#6, play_collision::@3/play_collision::l#3 )
|
|
play_collision::yp#5 = phi( play_collision::@1/play_collision::yp#2, play_collision::@3/play_collision::yp#6 )
|
|
play_collision::c#3 = phi( play_collision::@1/play_collision::c#0, play_collision::@3/play_collision::c#1 )
|
|
play_collision::xp#6 = phi( play_collision::@1/play_collision::xp#0, play_collision::@3/play_collision::xp#1 )
|
|
play_collision::i#2 = phi( play_collision::@1/play_collision::i#3, play_collision::@3/play_collision::i#4 )
|
|
play_collision::piece_gfx#1 = phi( play_collision::@1/play_collision::piece_gfx#2, play_collision::@3/play_collision::piece_gfx#3 )
|
|
play_collision::$1 = play_collision::piece_gfx#1[play_collision::i#2] != 0
|
|
play_collision::i#1 = ++ play_collision::i#2
|
|
play_collision::$2 = ! play_collision::$1
|
|
if(play_collision::$2) goto play_collision::@3
|
|
to:play_collision::@10
|
|
play_collision::@3: scope:[play_collision] from play_collision::@2 play_collision::@6
|
|
play_collision::playfield_line#6 = phi( play_collision::@2/play_collision::playfield_line#5, play_collision::@6/play_collision::playfield_line#1 )
|
|
play_collision::xpos#8 = phi( play_collision::@2/play_collision::xpos#9, play_collision::@6/play_collision::xpos#10 )
|
|
play_collision::l#3 = phi( play_collision::@2/play_collision::l#4, play_collision::@6/play_collision::l#5 )
|
|
play_collision::yp#6 = phi( play_collision::@2/play_collision::yp#5, play_collision::@6/play_collision::yp#7 )
|
|
play_collision::i#4 = phi( play_collision::@2/play_collision::i#1, play_collision::@6/play_collision::i#6 )
|
|
play_collision::piece_gfx#3 = phi( play_collision::@2/play_collision::piece_gfx#1, play_collision::@6/play_collision::piece_gfx#5 )
|
|
play_collision::c#2 = phi( play_collision::@2/play_collision::c#3, play_collision::@6/play_collision::c#4 )
|
|
play_collision::xp#2 = phi( play_collision::@2/play_collision::xp#6, play_collision::@6/play_collision::xp#5 )
|
|
play_collision::xp#1 = ++ play_collision::xp#2
|
|
play_collision::c#1 = play_collision::c#2 + rangenext(0,3)
|
|
play_collision::$12 = play_collision::c#1 != rangelast(0,3)
|
|
if(play_collision::$12) goto play_collision::@2
|
|
to:play_collision::@12
|
|
play_collision::@10: scope:[play_collision] from play_collision::@2
|
|
play_collision::xpos#13 = phi( play_collision::@2/play_collision::xpos#9 )
|
|
play_collision::l#9 = phi( play_collision::@2/play_collision::l#4 )
|
|
play_collision::i#9 = phi( play_collision::@2/play_collision::i#1 )
|
|
play_collision::piece_gfx#8 = phi( play_collision::@2/play_collision::piece_gfx#1 )
|
|
play_collision::c#7 = phi( play_collision::@2/play_collision::c#3 )
|
|
play_collision::playfield_line#4 = phi( play_collision::@2/play_collision::playfield_line#5 )
|
|
play_collision::xp#7 = phi( play_collision::@2/play_collision::xp#6 )
|
|
play_collision::yp#3 = phi( play_collision::@2/play_collision::yp#5 )
|
|
play_collision::$3 = play_collision::yp#3 >= PLAYFIELD_LINES
|
|
play_collision::$4 = ! play_collision::$3
|
|
if(play_collision::$4) goto play_collision::@4
|
|
to:play_collision::@11
|
|
play_collision::@4: scope:[play_collision] from play_collision::@10
|
|
play_collision::xpos#12 = phi( play_collision::@10/play_collision::xpos#13 )
|
|
play_collision::l#8 = phi( play_collision::@10/play_collision::l#9 )
|
|
play_collision::yp#9 = phi( play_collision::@10/play_collision::yp#3 )
|
|
play_collision::i#8 = phi( play_collision::@10/play_collision::i#9 )
|
|
play_collision::piece_gfx#7 = phi( play_collision::@10/play_collision::piece_gfx#8 )
|
|
play_collision::c#6 = phi( play_collision::@10/play_collision::c#7 )
|
|
play_collision::playfield_line#3 = phi( play_collision::@10/play_collision::playfield_line#4 )
|
|
play_collision::xp#3 = phi( play_collision::@10/play_collision::xp#7 )
|
|
play_collision::$5 = play_collision::xp#3 & $80
|
|
play_collision::$6 = play_collision::$5 != 0
|
|
play_collision::$7 = ! play_collision::$6
|
|
if(play_collision::$7) goto play_collision::@5
|
|
to:play_collision::@7
|
|
play_collision::@11: scope:[play_collision] from play_collision::@10
|
|
play_collision::return#4 = COLLISION_BOTTOM
|
|
to:play_collision::@return
|
|
play_collision::@return: scope:[play_collision] from play_collision::@11 play_collision::@13 play_collision::@7 play_collision::@8 play_collision::@9
|
|
play_collision::return#15 = phi( play_collision::@11/play_collision::return#4, play_collision::@13/play_collision::return#9, play_collision::@7/play_collision::return#6, play_collision::@8/play_collision::return#7, play_collision::@9/play_collision::return#8 )
|
|
play_collision::return#5 = play_collision::return#15
|
|
return
|
|
to:@return
|
|
play_collision::@5: scope:[play_collision] from play_collision::@4
|
|
play_collision::xpos#11 = phi( play_collision::@4/play_collision::xpos#12 )
|
|
play_collision::l#7 = phi( play_collision::@4/play_collision::l#8 )
|
|
play_collision::yp#8 = phi( play_collision::@4/play_collision::yp#9 )
|
|
play_collision::i#7 = phi( play_collision::@4/play_collision::i#8 )
|
|
play_collision::piece_gfx#6 = phi( play_collision::@4/play_collision::piece_gfx#7 )
|
|
play_collision::c#5 = phi( play_collision::@4/play_collision::c#6 )
|
|
play_collision::playfield_line#2 = phi( play_collision::@4/play_collision::playfield_line#3 )
|
|
play_collision::xp#4 = phi( play_collision::@4/play_collision::xp#3 )
|
|
play_collision::$8 = play_collision::xp#4 >= PLAYFIELD_COLS
|
|
play_collision::$9 = ! play_collision::$8
|
|
if(play_collision::$9) goto play_collision::@6
|
|
to:play_collision::@8
|
|
play_collision::@7: scope:[play_collision] from play_collision::@4
|
|
play_collision::return#6 = COLLISION_LEFT
|
|
to:play_collision::@return
|
|
play_collision::@6: scope:[play_collision] from play_collision::@5
|
|
play_collision::xpos#10 = phi( play_collision::@5/play_collision::xpos#11 )
|
|
play_collision::l#5 = phi( play_collision::@5/play_collision::l#7 )
|
|
play_collision::yp#7 = phi( play_collision::@5/play_collision::yp#8 )
|
|
play_collision::i#6 = phi( play_collision::@5/play_collision::i#7 )
|
|
play_collision::piece_gfx#5 = phi( play_collision::@5/play_collision::piece_gfx#6 )
|
|
play_collision::c#4 = phi( play_collision::@5/play_collision::c#5 )
|
|
play_collision::xp#5 = phi( play_collision::@5/play_collision::xp#4 )
|
|
play_collision::playfield_line#1 = phi( play_collision::@5/play_collision::playfield_line#2 )
|
|
play_collision::$10 = play_collision::playfield_line#1[play_collision::xp#5] != 0
|
|
play_collision::$11 = ! play_collision::$10
|
|
if(play_collision::$11) goto play_collision::@3
|
|
to:play_collision::@9
|
|
play_collision::@8: scope:[play_collision] from play_collision::@5
|
|
play_collision::return#7 = COLLISION_RIGHT
|
|
to:play_collision::@return
|
|
play_collision::@9: scope:[play_collision] from play_collision::@6
|
|
play_collision::return#8 = COLLISION_PLAYFIELD
|
|
to:play_collision::@return
|
|
play_collision::@12: scope:[play_collision] from play_collision::@3
|
|
play_collision::i#5 = phi( play_collision::@3/play_collision::i#4 )
|
|
play_collision::piece_gfx#4 = phi( play_collision::@3/play_collision::piece_gfx#3 )
|
|
play_collision::xpos#7 = phi( play_collision::@3/play_collision::xpos#8 )
|
|
play_collision::l#2 = phi( play_collision::@3/play_collision::l#3 )
|
|
play_collision::yp#4 = phi( play_collision::@3/play_collision::yp#6 )
|
|
play_collision::yp#1 = ++ play_collision::yp#4
|
|
play_collision::l#1 = play_collision::l#2 + rangenext(0,3)
|
|
play_collision::$13 = play_collision::l#1 != rangelast(0,3)
|
|
if(play_collision::$13) goto play_collision::@1
|
|
to:play_collision::@13
|
|
play_collision::@13: scope:[play_collision] from play_collision::@12
|
|
play_collision::return#9 = COLLISION_NONE
|
|
to:play_collision::@return
|
|
|
|
void play_lock_current()
|
|
play_lock_current: scope:[play_lock_current] from play_move_down::@10
|
|
current_piece_char#60 = phi( play_move_down::@10/current_piece_char#76 )
|
|
current_piece_gfx#56 = phi( play_move_down::@10/current_piece_gfx#74 )
|
|
current_xpos#54 = phi( play_move_down::@10/current_xpos#69 )
|
|
current_ypos#24 = phi( play_move_down::@10/current_ypos#46 )
|
|
play_lock_current::i#0 = 0
|
|
play_lock_current::yp#0 = current_ypos#24
|
|
play_lock_current::l#0 = 0
|
|
to:play_lock_current::@1
|
|
play_lock_current::@1: scope:[play_lock_current] from play_lock_current play_lock_current::@5
|
|
play_lock_current::l#6 = phi( play_lock_current/play_lock_current::l#0, play_lock_current::@5/play_lock_current::l#1 )
|
|
current_piece_char#45 = phi( play_lock_current/current_piece_char#60, play_lock_current::@5/current_piece_char#61 )
|
|
play_lock_current::i#3 = phi( play_lock_current/play_lock_current::i#0, play_lock_current::@5/play_lock_current::i#5 )
|
|
current_piece_gfx#41 = phi( play_lock_current/current_piece_gfx#56, play_lock_current::@5/current_piece_gfx#57 )
|
|
current_xpos#30 = phi( play_lock_current/current_xpos#54, play_lock_current::@5/current_xpos#55 )
|
|
play_lock_current::yp#2 = phi( play_lock_current/play_lock_current::yp#0, play_lock_current::@5/play_lock_current::yp#1 )
|
|
play_lock_current::$4 = play_lock_current::yp#2 * SIZEOF_POINTER
|
|
play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4]
|
|
play_lock_current::xp#0 = current_xpos#30
|
|
play_lock_current::c#0 = 0
|
|
to:play_lock_current::@2
|
|
play_lock_current::@2: scope:[play_lock_current] from play_lock_current::@1 play_lock_current::@3
|
|
current_xpos#87 = phi( play_lock_current::@1/current_xpos#30, play_lock_current::@3/current_xpos#70 )
|
|
play_lock_current::l#4 = phi( play_lock_current::@1/play_lock_current::l#6, play_lock_current::@3/play_lock_current::l#3 )
|
|
play_lock_current::yp#5 = phi( play_lock_current::@1/play_lock_current::yp#2, play_lock_current::@3/play_lock_current::yp#4 )
|
|
play_lock_current::playfield_line#2 = phi( play_lock_current::@1/play_lock_current::playfield_line#0, play_lock_current::@3/play_lock_current::playfield_line#3 )
|
|
current_piece_char#33 = phi( play_lock_current::@1/current_piece_char#45, play_lock_current::@3/current_piece_char#46 )
|
|
play_lock_current::c#3 = phi( play_lock_current::@1/play_lock_current::c#0, play_lock_current::@3/play_lock_current::c#1 )
|
|
play_lock_current::xp#4 = phi( play_lock_current::@1/play_lock_current::xp#0, play_lock_current::@3/play_lock_current::xp#1 )
|
|
play_lock_current::i#2 = phi( play_lock_current::@1/play_lock_current::i#3, play_lock_current::@3/play_lock_current::i#4 )
|
|
current_piece_gfx#23 = phi( play_lock_current::@1/current_piece_gfx#41, play_lock_current::@3/current_piece_gfx#42 )
|
|
play_lock_current::$0 = current_piece_gfx#23[play_lock_current::i#2] != 0
|
|
play_lock_current::i#1 = ++ play_lock_current::i#2
|
|
play_lock_current::$1 = ! play_lock_current::$0
|
|
if(play_lock_current::$1) goto play_lock_current::@3
|
|
to:play_lock_current::@4
|
|
play_lock_current::@3: scope:[play_lock_current] from play_lock_current::@2 play_lock_current::@4
|
|
current_xpos#70 = phi( play_lock_current::@2/current_xpos#87, play_lock_current::@4/current_xpos#88 )
|
|
play_lock_current::playfield_line#3 = phi( play_lock_current::@2/play_lock_current::playfield_line#2, play_lock_current::@4/play_lock_current::playfield_line#1 )
|
|
current_piece_char#46 = phi( play_lock_current::@2/current_piece_char#33, play_lock_current::@4/current_piece_char#18 )
|
|
play_lock_current::l#3 = phi( play_lock_current::@2/play_lock_current::l#4, play_lock_current::@4/play_lock_current::l#5 )
|
|
play_lock_current::yp#4 = phi( play_lock_current::@2/play_lock_current::yp#5, play_lock_current::@4/play_lock_current::yp#6 )
|
|
play_lock_current::i#4 = phi( play_lock_current::@2/play_lock_current::i#1, play_lock_current::@4/play_lock_current::i#6 )
|
|
current_piece_gfx#42 = phi( play_lock_current::@2/current_piece_gfx#23, play_lock_current::@4/current_piece_gfx#58 )
|
|
play_lock_current::c#2 = phi( play_lock_current::@2/play_lock_current::c#3, play_lock_current::@4/play_lock_current::c#4 )
|
|
play_lock_current::xp#2 = phi( play_lock_current::@2/play_lock_current::xp#4, play_lock_current::@4/play_lock_current::xp#3 )
|
|
play_lock_current::xp#1 = ++ play_lock_current::xp#2
|
|
play_lock_current::c#1 = play_lock_current::c#2 + rangenext(0,3)
|
|
play_lock_current::$2 = play_lock_current::c#1 != rangelast(0,3)
|
|
if(play_lock_current::$2) goto play_lock_current::@2
|
|
to:play_lock_current::@5
|
|
play_lock_current::@4: scope:[play_lock_current] from play_lock_current::@2
|
|
current_xpos#88 = phi( play_lock_current::@2/current_xpos#87 )
|
|
play_lock_current::l#5 = phi( play_lock_current::@2/play_lock_current::l#4 )
|
|
play_lock_current::yp#6 = phi( play_lock_current::@2/play_lock_current::yp#5 )
|
|
play_lock_current::i#6 = phi( play_lock_current::@2/play_lock_current::i#1 )
|
|
current_piece_gfx#58 = phi( play_lock_current::@2/current_piece_gfx#23 )
|
|
play_lock_current::c#4 = phi( play_lock_current::@2/play_lock_current::c#3 )
|
|
play_lock_current::xp#3 = phi( play_lock_current::@2/play_lock_current::xp#4 )
|
|
play_lock_current::playfield_line#1 = phi( play_lock_current::@2/play_lock_current::playfield_line#2 )
|
|
current_piece_char#18 = phi( play_lock_current::@2/current_piece_char#33 )
|
|
play_lock_current::playfield_line#1[play_lock_current::xp#3] = current_piece_char#18
|
|
to:play_lock_current::@3
|
|
play_lock_current::@5: scope:[play_lock_current] from play_lock_current::@3
|
|
current_piece_char#61 = phi( play_lock_current::@3/current_piece_char#46 )
|
|
play_lock_current::i#5 = phi( play_lock_current::@3/play_lock_current::i#4 )
|
|
current_piece_gfx#57 = phi( play_lock_current::@3/current_piece_gfx#42 )
|
|
current_xpos#55 = phi( play_lock_current::@3/current_xpos#70 )
|
|
play_lock_current::l#2 = phi( play_lock_current::@3/play_lock_current::l#3 )
|
|
play_lock_current::yp#3 = phi( play_lock_current::@3/play_lock_current::yp#4 )
|
|
play_lock_current::yp#1 = ++ play_lock_current::yp#3
|
|
play_lock_current::l#1 = play_lock_current::l#2 + rangenext(0,3)
|
|
play_lock_current::$3 = play_lock_current::l#1 != rangelast(0,3)
|
|
if(play_lock_current::$3) goto play_lock_current::@1
|
|
to:play_lock_current::@return
|
|
play_lock_current::@return: scope:[play_lock_current] from play_lock_current::@5
|
|
return
|
|
to:@return
|
|
|
|
void play_spawn_current()
|
|
play_spawn_current: scope:[play_spawn_current] from main::@13 main::@14 play_move_down::@17
|
|
game_over#75 = phi( main::@13/game_over#32, main::@14/game_over#6, play_move_down::@17/game_over#28 )
|
|
next_piece_idx#18 = phi( main::@13/next_piece_idx#34, main::@14/next_piece_idx#6, play_move_down::@17/next_piece_idx#31 )
|
|
play_spawn_current::current_piece_idx#0 = next_piece_idx#18
|
|
play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 * SIZEOF_WORD
|
|
current_piece#4 = ((byte*)) PIECES[play_spawn_current::$7]
|
|
current_piece_char#4 = PIECES_CHARS[play_spawn_current::current_piece_idx#0]
|
|
current_orientation#7 = 0
|
|
play_spawn_current::$0 = current_piece#4 + current_orientation#7
|
|
current_piece_gfx#7 = play_spawn_current::$0
|
|
current_xpos#8 = PIECES_START_X[play_spawn_current::current_piece_idx#0]
|
|
current_ypos#5 = PIECES_START_Y[play_spawn_current::current_piece_idx#0]
|
|
play_collision::xpos#4 = current_xpos#8
|
|
play_collision::ypos#4 = current_ypos#5
|
|
play_collision::orientation#4 = current_orientation#7
|
|
call play_collision
|
|
play_collision::return#10 = play_collision::return#5
|
|
to:play_spawn_current::@6
|
|
play_spawn_current::@6: scope:[play_spawn_current] from play_spawn_current
|
|
game_over#66 = phi( play_spawn_current/game_over#75 )
|
|
current_ypos#81 = phi( play_spawn_current/current_ypos#5 )
|
|
current_xpos#101 = phi( play_spawn_current/current_xpos#8 )
|
|
current_piece_gfx#93 = phi( play_spawn_current/current_piece_gfx#7 )
|
|
current_orientation#80 = phi( play_spawn_current/current_orientation#7 )
|
|
current_piece_char#78 = phi( play_spawn_current/current_piece_char#4 )
|
|
current_piece#75 = phi( play_spawn_current/current_piece#4 )
|
|
play_collision::return#16 = phi( play_spawn_current/play_collision::return#10 )
|
|
play_spawn_current::$1 = play_collision::return#16
|
|
play_spawn_current::$2 = play_spawn_current::$1 == COLLISION_PLAYFIELD
|
|
play_spawn_current::$3 = ! play_spawn_current::$2
|
|
if(play_spawn_current::$3) goto play_spawn_current::@1
|
|
to:play_spawn_current::@2
|
|
play_spawn_current::@1: scope:[play_spawn_current] from play_spawn_current::@2 play_spawn_current::@6
|
|
game_over#53 = phi( play_spawn_current::@2/game_over#4, play_spawn_current::@6/game_over#66 )
|
|
current_ypos#71 = phi( play_spawn_current::@2/current_ypos#80, play_spawn_current::@6/current_ypos#81 )
|
|
current_xpos#89 = phi( play_spawn_current::@2/current_xpos#100, play_spawn_current::@6/current_xpos#101 )
|
|
current_piece_gfx#75 = phi( play_spawn_current::@2/current_piece_gfx#92, play_spawn_current::@6/current_piece_gfx#93 )
|
|
current_orientation#70 = phi( play_spawn_current::@2/current_orientation#79, play_spawn_current::@6/current_orientation#80 )
|
|
current_piece_char#62 = phi( play_spawn_current::@2/current_piece_char#77, play_spawn_current::@6/current_piece_char#78 )
|
|
current_piece#63 = phi( play_spawn_current::@2/current_piece#74, play_spawn_current::@6/current_piece#75 )
|
|
play_spawn_current::piece_idx#0 = 7
|
|
to:play_spawn_current::@3
|
|
play_spawn_current::@2: scope:[play_spawn_current] from play_spawn_current::@6
|
|
current_ypos#80 = phi( play_spawn_current::@6/current_ypos#81 )
|
|
current_xpos#100 = phi( play_spawn_current::@6/current_xpos#101 )
|
|
current_piece_gfx#92 = phi( play_spawn_current::@6/current_piece_gfx#93 )
|
|
current_orientation#79 = phi( play_spawn_current::@6/current_orientation#80 )
|
|
current_piece_char#77 = phi( play_spawn_current::@6/current_piece_char#78 )
|
|
current_piece#74 = phi( play_spawn_current::@6/current_piece#75 )
|
|
game_over#4 = 1
|
|
to:play_spawn_current::@1
|
|
play_spawn_current::@3: scope:[play_spawn_current] from play_spawn_current::@1 play_spawn_current::@5
|
|
game_over#41 = phi( play_spawn_current::@1/game_over#53, play_spawn_current::@5/game_over#54 )
|
|
current_ypos#59 = phi( play_spawn_current::@1/current_ypos#71, play_spawn_current::@5/current_ypos#72 )
|
|
current_xpos#71 = phi( play_spawn_current::@1/current_xpos#89, play_spawn_current::@5/current_xpos#90 )
|
|
current_piece_gfx#59 = phi( play_spawn_current::@1/current_piece_gfx#75, play_spawn_current::@5/current_piece_gfx#76 )
|
|
current_orientation#58 = phi( play_spawn_current::@1/current_orientation#70, play_spawn_current::@5/current_orientation#71 )
|
|
current_piece_char#47 = phi( play_spawn_current::@1/current_piece_char#62, play_spawn_current::@5/current_piece_char#63 )
|
|
current_piece#50 = phi( play_spawn_current::@1/current_piece#63, play_spawn_current::@5/current_piece#64 )
|
|
play_spawn_current::piece_idx#2 = phi( play_spawn_current::@1/play_spawn_current::piece_idx#0, play_spawn_current::@5/play_spawn_current::piece_idx#1 )
|
|
play_spawn_current::$4 = play_spawn_current::piece_idx#2 == 7
|
|
if(play_spawn_current::$4) goto play_spawn_current::sid_rnd1
|
|
to:play_spawn_current::@4
|
|
play_spawn_current::sid_rnd1: scope:[play_spawn_current] from play_spawn_current::@3
|
|
game_over#76 = phi( play_spawn_current::@3/game_over#41 )
|
|
current_ypos#90 = phi( play_spawn_current::@3/current_ypos#59 )
|
|
current_xpos#111 = phi( play_spawn_current::@3/current_xpos#71 )
|
|
current_piece_gfx#101 = phi( play_spawn_current::@3/current_piece_gfx#59 )
|
|
current_orientation#89 = phi( play_spawn_current::@3/current_orientation#58 )
|
|
current_piece_char#89 = phi( play_spawn_current::@3/current_piece_char#47 )
|
|
current_piece#83 = phi( play_spawn_current::@3/current_piece#50 )
|
|
play_spawn_current::sid_rnd1_return#0 = *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC)
|
|
to:play_spawn_current::sid_rnd1_@return
|
|
play_spawn_current::sid_rnd1_@return: scope:[play_spawn_current] from play_spawn_current::sid_rnd1
|
|
game_over#67 = phi( play_spawn_current::sid_rnd1/game_over#76 )
|
|
current_ypos#82 = phi( play_spawn_current::sid_rnd1/current_ypos#90 )
|
|
current_xpos#102 = phi( play_spawn_current::sid_rnd1/current_xpos#111 )
|
|
current_piece_gfx#94 = phi( play_spawn_current::sid_rnd1/current_piece_gfx#101 )
|
|
current_orientation#81 = phi( play_spawn_current::sid_rnd1/current_orientation#89 )
|
|
current_piece_char#79 = phi( play_spawn_current::sid_rnd1/current_piece_char#89 )
|
|
current_piece#76 = phi( play_spawn_current::sid_rnd1/current_piece#83 )
|
|
play_spawn_current::sid_rnd1_return#2 = phi( play_spawn_current::sid_rnd1/play_spawn_current::sid_rnd1_return#0 )
|
|
play_spawn_current::sid_rnd1_return#1 = play_spawn_current::sid_rnd1_return#2
|
|
to:play_spawn_current::@5
|
|
play_spawn_current::@5: scope:[play_spawn_current] from play_spawn_current::sid_rnd1_@return
|
|
game_over#54 = phi( play_spawn_current::sid_rnd1_@return/game_over#67 )
|
|
current_ypos#72 = phi( play_spawn_current::sid_rnd1_@return/current_ypos#82 )
|
|
current_xpos#90 = phi( play_spawn_current::sid_rnd1_@return/current_xpos#102 )
|
|
current_piece_gfx#76 = phi( play_spawn_current::sid_rnd1_@return/current_piece_gfx#94 )
|
|
current_orientation#71 = phi( play_spawn_current::sid_rnd1_@return/current_orientation#81 )
|
|
current_piece_char#63 = phi( play_spawn_current::sid_rnd1_@return/current_piece_char#79 )
|
|
current_piece#64 = phi( play_spawn_current::sid_rnd1_@return/current_piece#76 )
|
|
play_spawn_current::sid_rnd1_return#3 = phi( play_spawn_current::sid_rnd1_@return/play_spawn_current::sid_rnd1_return#1 )
|
|
play_spawn_current::$5 = play_spawn_current::sid_rnd1_return#3
|
|
play_spawn_current::$6 = play_spawn_current::$5 & 7
|
|
play_spawn_current::piece_idx#1 = play_spawn_current::$6
|
|
to:play_spawn_current::@3
|
|
play_spawn_current::@4: scope:[play_spawn_current] from play_spawn_current::@3
|
|
game_over#31 = phi( play_spawn_current::@3/game_over#41 )
|
|
current_ypos#47 = phi( play_spawn_current::@3/current_ypos#59 )
|
|
current_xpos#56 = phi( play_spawn_current::@3/current_xpos#71 )
|
|
current_piece_gfx#43 = phi( play_spawn_current::@3/current_piece_gfx#59 )
|
|
current_orientation#47 = phi( play_spawn_current::@3/current_orientation#58 )
|
|
current_piece_char#34 = phi( play_spawn_current::@3/current_piece_char#47 )
|
|
current_piece#37 = phi( play_spawn_current::@3/current_piece#50 )
|
|
play_spawn_current::piece_idx#3 = phi( play_spawn_current::@3/play_spawn_current::piece_idx#2 )
|
|
next_piece_idx#4 = play_spawn_current::piece_idx#3
|
|
to:play_spawn_current::@return
|
|
play_spawn_current::@return: scope:[play_spawn_current] from play_spawn_current::@4
|
|
next_piece_idx#19 = phi( play_spawn_current::@4/next_piece_idx#4 )
|
|
game_over#17 = phi( play_spawn_current::@4/game_over#31 )
|
|
current_ypos#25 = phi( play_spawn_current::@4/current_ypos#47 )
|
|
current_xpos#31 = phi( play_spawn_current::@4/current_xpos#56 )
|
|
current_piece_gfx#24 = phi( play_spawn_current::@4/current_piece_gfx#43 )
|
|
current_orientation#27 = phi( play_spawn_current::@4/current_orientation#47 )
|
|
current_piece_char#19 = phi( play_spawn_current::@4/current_piece_char#34 )
|
|
current_piece#19 = phi( play_spawn_current::@4/current_piece#37 )
|
|
current_piece#5 = current_piece#19
|
|
current_piece_char#5 = current_piece_char#19
|
|
current_orientation#8 = current_orientation#27
|
|
current_piece_gfx#8 = current_piece_gfx#24
|
|
current_xpos#9 = current_xpos#31
|
|
current_ypos#6 = current_ypos#25
|
|
game_over#5 = game_over#17
|
|
next_piece_idx#5 = next_piece_idx#19
|
|
return
|
|
to:@return
|
|
|
|
byte play_remove_lines()
|
|
play_remove_lines: scope:[play_remove_lines] from play_move_down::@15
|
|
play_remove_lines::r#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
play_remove_lines::w#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
play_remove_lines::removed#0 = 0
|
|
play_remove_lines::y#0 = 0
|
|
to:play_remove_lines::@1
|
|
play_remove_lines::@1: scope:[play_remove_lines] from play_remove_lines play_remove_lines::@7
|
|
play_remove_lines::removed#11 = phi( play_remove_lines/play_remove_lines::removed#0, play_remove_lines::@7/play_remove_lines::removed#7 )
|
|
play_remove_lines::y#8 = phi( play_remove_lines/play_remove_lines::y#0, play_remove_lines::@7/play_remove_lines::y#1 )
|
|
play_remove_lines::w#12 = phi( play_remove_lines/play_remove_lines::w#0, play_remove_lines::@7/play_remove_lines::w#11 )
|
|
play_remove_lines::r#3 = phi( play_remove_lines/play_remove_lines::r#0, play_remove_lines::@7/play_remove_lines::r#5 )
|
|
play_remove_lines::full#0 = 1
|
|
play_remove_lines::x#0 = 0
|
|
to:play_remove_lines::@2
|
|
play_remove_lines::@2: scope:[play_remove_lines] from play_remove_lines::@1 play_remove_lines::@3
|
|
play_remove_lines::removed#9 = phi( play_remove_lines::@1/play_remove_lines::removed#11, play_remove_lines::@3/play_remove_lines::removed#6 )
|
|
play_remove_lines::y#6 = phi( play_remove_lines::@1/play_remove_lines::y#8, play_remove_lines::@3/play_remove_lines::y#5 )
|
|
play_remove_lines::full#4 = phi( play_remove_lines::@1/play_remove_lines::full#0, play_remove_lines::@3/play_remove_lines::full#3 )
|
|
play_remove_lines::x#3 = phi( play_remove_lines::@1/play_remove_lines::x#0, play_remove_lines::@3/play_remove_lines::x#1 )
|
|
play_remove_lines::w#8 = phi( play_remove_lines::@1/play_remove_lines::w#12, play_remove_lines::@3/play_remove_lines::w#1 )
|
|
play_remove_lines::r#2 = phi( play_remove_lines::@1/play_remove_lines::r#3, play_remove_lines::@3/play_remove_lines::r#4 )
|
|
play_remove_lines::c#0 = playfield[play_remove_lines::r#2]
|
|
play_remove_lines::r#1 = -- play_remove_lines::r#2
|
|
play_remove_lines::$0 = play_remove_lines::c#0 == 0
|
|
play_remove_lines::$1 = ! play_remove_lines::$0
|
|
if(play_remove_lines::$1) goto play_remove_lines::@3
|
|
to:play_remove_lines::@4
|
|
play_remove_lines::@3: scope:[play_remove_lines] from play_remove_lines::@2 play_remove_lines::@4
|
|
play_remove_lines::removed#6 = phi( play_remove_lines::@2/play_remove_lines::removed#9, play_remove_lines::@4/play_remove_lines::removed#10 )
|
|
play_remove_lines::y#5 = phi( play_remove_lines::@2/play_remove_lines::y#6, play_remove_lines::@4/play_remove_lines::y#7 )
|
|
play_remove_lines::full#3 = phi( play_remove_lines::@2/play_remove_lines::full#4, play_remove_lines::@4/play_remove_lines::full#1 )
|
|
play_remove_lines::r#4 = phi( play_remove_lines::@2/play_remove_lines::r#1, play_remove_lines::@4/play_remove_lines::r#6 )
|
|
play_remove_lines::x#2 = phi( play_remove_lines::@2/play_remove_lines::x#3, play_remove_lines::@4/play_remove_lines::x#4 )
|
|
play_remove_lines::w#4 = phi( play_remove_lines::@2/play_remove_lines::w#8, play_remove_lines::@4/play_remove_lines::w#9 )
|
|
play_remove_lines::c#1 = phi( play_remove_lines::@2/play_remove_lines::c#0, play_remove_lines::@4/play_remove_lines::c#2 )
|
|
playfield[play_remove_lines::w#4] = play_remove_lines::c#1
|
|
play_remove_lines::w#1 = -- play_remove_lines::w#4
|
|
play_remove_lines::x#1 = play_remove_lines::x#2 + rangenext(0,PLAYFIELD_COLS-1)
|
|
play_remove_lines::$2 = play_remove_lines::x#1 != rangelast(0,PLAYFIELD_COLS-1)
|
|
if(play_remove_lines::$2) goto play_remove_lines::@2
|
|
to:play_remove_lines::@5
|
|
play_remove_lines::@4: scope:[play_remove_lines] from play_remove_lines::@2
|
|
play_remove_lines::removed#10 = phi( play_remove_lines::@2/play_remove_lines::removed#9 )
|
|
play_remove_lines::y#7 = phi( play_remove_lines::@2/play_remove_lines::y#6 )
|
|
play_remove_lines::r#6 = phi( play_remove_lines::@2/play_remove_lines::r#1 )
|
|
play_remove_lines::x#4 = phi( play_remove_lines::@2/play_remove_lines::x#3 )
|
|
play_remove_lines::w#9 = phi( play_remove_lines::@2/play_remove_lines::w#8 )
|
|
play_remove_lines::c#2 = phi( play_remove_lines::@2/play_remove_lines::c#0 )
|
|
play_remove_lines::full#1 = 0
|
|
to:play_remove_lines::@3
|
|
play_remove_lines::@5: scope:[play_remove_lines] from play_remove_lines::@3
|
|
play_remove_lines::r#7 = phi( play_remove_lines::@3/play_remove_lines::r#4 )
|
|
play_remove_lines::removed#4 = phi( play_remove_lines::@3/play_remove_lines::removed#6 )
|
|
play_remove_lines::w#10 = phi( play_remove_lines::@3/play_remove_lines::w#1 )
|
|
play_remove_lines::y#3 = phi( play_remove_lines::@3/play_remove_lines::y#5 )
|
|
play_remove_lines::full#2 = phi( play_remove_lines::@3/play_remove_lines::full#3 )
|
|
play_remove_lines::$3 = play_remove_lines::full#2 == 1
|
|
play_remove_lines::$4 = ! play_remove_lines::$3
|
|
if(play_remove_lines::$4) goto play_remove_lines::@7
|
|
to:play_remove_lines::@6
|
|
play_remove_lines::@7: scope:[play_remove_lines] from play_remove_lines::@5 play_remove_lines::@6
|
|
play_remove_lines::removed#7 = phi( play_remove_lines::@5/play_remove_lines::removed#4, play_remove_lines::@6/play_remove_lines::removed#1 )
|
|
play_remove_lines::r#5 = phi( play_remove_lines::@5/play_remove_lines::r#7, play_remove_lines::@6/play_remove_lines::r#8 )
|
|
play_remove_lines::w#11 = phi( play_remove_lines::@5/play_remove_lines::w#10, play_remove_lines::@6/play_remove_lines::w#2 )
|
|
play_remove_lines::y#2 = phi( play_remove_lines::@5/play_remove_lines::y#3, play_remove_lines::@6/play_remove_lines::y#4 )
|
|
play_remove_lines::y#1 = play_remove_lines::y#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
play_remove_lines::$6 = play_remove_lines::y#1 != rangelast(0,PLAYFIELD_LINES-1)
|
|
if(play_remove_lines::$6) goto play_remove_lines::@1
|
|
to:play_remove_lines::@8
|
|
play_remove_lines::@6: scope:[play_remove_lines] from play_remove_lines::@5
|
|
play_remove_lines::r#8 = phi( play_remove_lines::@5/play_remove_lines::r#7 )
|
|
play_remove_lines::y#4 = phi( play_remove_lines::@5/play_remove_lines::y#3 )
|
|
play_remove_lines::removed#2 = phi( play_remove_lines::@5/play_remove_lines::removed#4 )
|
|
play_remove_lines::w#5 = phi( play_remove_lines::@5/play_remove_lines::w#10 )
|
|
play_remove_lines::$5 = play_remove_lines::w#5 + PLAYFIELD_COLS
|
|
play_remove_lines::w#2 = play_remove_lines::$5
|
|
play_remove_lines::removed#1 = ++ play_remove_lines::removed#2
|
|
to:play_remove_lines::@7
|
|
play_remove_lines::@8: scope:[play_remove_lines] from play_remove_lines::@7 play_remove_lines::@9
|
|
play_remove_lines::removed#5 = phi( play_remove_lines::@7/play_remove_lines::removed#7, play_remove_lines::@9/play_remove_lines::removed#8 )
|
|
play_remove_lines::w#6 = phi( play_remove_lines::@7/play_remove_lines::w#11, play_remove_lines::@9/play_remove_lines::w#3 )
|
|
play_remove_lines::$7 = play_remove_lines::w#6 != $ff
|
|
if(play_remove_lines::$7) goto play_remove_lines::@9
|
|
to:play_remove_lines::@10
|
|
play_remove_lines::@9: scope:[play_remove_lines] from play_remove_lines::@8
|
|
play_remove_lines::removed#8 = phi( play_remove_lines::@8/play_remove_lines::removed#5 )
|
|
play_remove_lines::w#7 = phi( play_remove_lines::@8/play_remove_lines::w#6 )
|
|
playfield[play_remove_lines::w#7] = 0
|
|
play_remove_lines::w#3 = -- play_remove_lines::w#7
|
|
to:play_remove_lines::@8
|
|
play_remove_lines::@10: scope:[play_remove_lines] from play_remove_lines::@8
|
|
play_remove_lines::removed#3 = phi( play_remove_lines::@8/play_remove_lines::removed#5 )
|
|
play_remove_lines::return#1 = play_remove_lines::removed#3
|
|
to:play_remove_lines::@return
|
|
play_remove_lines::@return: scope:[play_remove_lines] from play_remove_lines::@10
|
|
play_remove_lines::return#4 = phi( play_remove_lines::@10/play_remove_lines::return#1 )
|
|
play_remove_lines::return#2 = play_remove_lines::return#4
|
|
return
|
|
to:@return
|
|
|
|
void play_update_score(byte play_update_score::removed)
|
|
play_update_score: scope:[play_update_score] from play_move_down::@16
|
|
level_bcd#36 = phi( play_move_down::@16/level_bcd#32 )
|
|
current_movedown_slow#42 = phi( play_move_down::@16/current_movedown_slow#38 )
|
|
level#38 = phi( play_move_down::@16/level#34 )
|
|
lines_bcd#30 = phi( play_move_down::@16/lines_bcd#27 )
|
|
play_update_score::removed#1 = phi( play_move_down::@16/play_update_score::removed#0 )
|
|
play_update_score::$0 = play_update_score::removed#1 != 0
|
|
play_update_score::$1 = ! play_update_score::$0
|
|
if(play_update_score::$1) goto play_update_score::@return
|
|
to:play_update_score::@1
|
|
play_update_score::@1: scope:[play_update_score] from play_update_score
|
|
level_bcd#37 = phi( play_update_score/level_bcd#36 )
|
|
current_movedown_slow#43 = phi( play_update_score/current_movedown_slow#42 )
|
|
level#39 = phi( play_update_score/level#38 )
|
|
play_update_score::removed#2 = phi( play_update_score/play_update_score::removed#1 )
|
|
lines_bcd#17 = phi( play_update_score/lines_bcd#30 )
|
|
play_update_score::$2 = < lines_bcd#17
|
|
play_update_score::$3 = play_update_score::$2 & $f0
|
|
play_update_score::lines_before#0 = play_update_score::$3
|
|
play_update_score::$9 = play_update_score::removed#2 * SIZEOF_DWORD
|
|
play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9]
|
|
asm { sed }
|
|
lines_bcd#4 = lines_bcd#17 + play_update_score::removed#2
|
|
score_bcd = score_bcd + play_update_score::add_bcd#0
|
|
asm { cld }
|
|
play_update_score::$4 = < lines_bcd#4
|
|
play_update_score::$5 = play_update_score::$4 & $f0
|
|
play_update_score::lines_after#0 = play_update_score::$5
|
|
play_update_score::$6 = play_update_score::lines_before#0 != play_update_score::lines_after#0
|
|
play_update_score::$7 = ! play_update_score::$6
|
|
if(play_update_score::$7) goto play_update_score::@return
|
|
to:play_update_score::@2
|
|
play_update_score::@2: scope:[play_update_score] from play_update_score::@1
|
|
lines_bcd#41 = phi( play_update_score::@1/lines_bcd#4 )
|
|
level_bcd#35 = phi( play_update_score::@1/level_bcd#37 )
|
|
current_movedown_slow#41 = phi( play_update_score::@1/current_movedown_slow#43 )
|
|
level#37 = phi( play_update_score::@1/level#39 )
|
|
call play_increase_level
|
|
to:play_update_score::@3
|
|
play_update_score::@3: scope:[play_update_score] from play_update_score::@2
|
|
lines_bcd#31 = phi( play_update_score::@2/lines_bcd#41 )
|
|
level_bcd#19 = phi( play_update_score::@2/level_bcd#8 )
|
|
current_movedown_slow#23 = phi( play_update_score::@2/current_movedown_slow#10 )
|
|
level#19 = phi( play_update_score::@2/level#7 )
|
|
level#4 = level#19
|
|
current_movedown_slow#6 = current_movedown_slow#23
|
|
level_bcd#4 = level_bcd#19
|
|
to:play_update_score::@return
|
|
play_update_score::@return: scope:[play_update_score] from play_update_score play_update_score::@1 play_update_score::@3
|
|
level_bcd#20 = phi( play_update_score/level_bcd#36, play_update_score::@1/level_bcd#37, play_update_score::@3/level_bcd#4 )
|
|
current_movedown_slow#24 = phi( play_update_score/current_movedown_slow#42, play_update_score::@1/current_movedown_slow#43, play_update_score::@3/current_movedown_slow#6 )
|
|
level#20 = phi( play_update_score/level#38, play_update_score::@1/level#39, play_update_score::@3/level#4 )
|
|
lines_bcd#18 = phi( play_update_score/lines_bcd#30, play_update_score::@1/lines_bcd#4, play_update_score::@3/lines_bcd#31 )
|
|
lines_bcd#5 = lines_bcd#18
|
|
level#5 = level#20
|
|
current_movedown_slow#7 = current_movedown_slow#24
|
|
level_bcd#5 = level_bcd#20
|
|
return
|
|
to:@return
|
|
|
|
void play_increase_level()
|
|
play_increase_level: scope:[play_increase_level] from play_update_score::@2
|
|
level_bcd#50 = phi( play_update_score::@2/level_bcd#35 )
|
|
level#21 = phi( play_update_score::@2/level#37 )
|
|
level#6 = ++ level#21
|
|
play_increase_level::$0 = level#6 > $1d
|
|
if(play_increase_level::$0) goto play_increase_level::@1
|
|
to:play_increase_level::@4
|
|
play_increase_level::@1: scope:[play_increase_level] from play_increase_level
|
|
level#88 = phi( play_increase_level/level#6 )
|
|
level_bcd#38 = phi( play_increase_level/level_bcd#50 )
|
|
current_movedown_slow#8 = 1
|
|
to:play_increase_level::@2
|
|
play_increase_level::@4: scope:[play_increase_level] from play_increase_level
|
|
level_bcd#39 = phi( play_increase_level/level_bcd#50 )
|
|
level#22 = phi( play_increase_level/level#6 )
|
|
current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22]
|
|
to:play_increase_level::@2
|
|
play_increase_level::@2: scope:[play_increase_level] from play_increase_level::@1 play_increase_level::@4
|
|
current_movedown_slow#74 = phi( play_increase_level::@1/current_movedown_slow#8, play_increase_level::@4/current_movedown_slow#9 )
|
|
level#78 = phi( play_increase_level::@1/level#88, play_increase_level::@4/level#22 )
|
|
level_bcd#21 = phi( play_increase_level::@1/level_bcd#38, play_increase_level::@4/level_bcd#39 )
|
|
level_bcd#6 = ++ level_bcd#21
|
|
play_increase_level::$1 = level_bcd#6 & $f
|
|
play_increase_level::$2 = play_increase_level::$1 == $a
|
|
play_increase_level::$3 = ! play_increase_level::$2
|
|
if(play_increase_level::$3) goto play_increase_level::@3
|
|
to:play_increase_level::@5
|
|
play_increase_level::@3: scope:[play_increase_level] from play_increase_level::@2 play_increase_level::@5
|
|
level_bcd#63 = phi( play_increase_level::@2/level_bcd#6, play_increase_level::@5/level_bcd#7 )
|
|
current_movedown_slow#67 = phi( play_increase_level::@2/current_movedown_slow#74, play_increase_level::@5/current_movedown_slow#75 )
|
|
level#66 = phi( play_increase_level::@2/level#78, play_increase_level::@5/level#79 )
|
|
asm { sed }
|
|
play_increase_level::b#0 = 0
|
|
to:play_increase_level::@6
|
|
play_increase_level::@5: scope:[play_increase_level] from play_increase_level::@2
|
|
current_movedown_slow#75 = phi( play_increase_level::@2/current_movedown_slow#74 )
|
|
level#79 = phi( play_increase_level::@2/level#78 )
|
|
level_bcd#22 = phi( play_increase_level::@2/level_bcd#6 )
|
|
level_bcd#7 = level_bcd#22 + 6
|
|
to:play_increase_level::@3
|
|
play_increase_level::@6: scope:[play_increase_level] from play_increase_level::@3 play_increase_level::@6
|
|
level_bcd#51 = phi( play_increase_level::@3/level_bcd#63, play_increase_level::@6/level_bcd#51 )
|
|
current_movedown_slow#55 = phi( play_increase_level::@3/current_movedown_slow#67, play_increase_level::@6/current_movedown_slow#55 )
|
|
level#52 = phi( play_increase_level::@3/level#66, play_increase_level::@6/level#52 )
|
|
play_increase_level::b#2 = phi( play_increase_level::@3/play_increase_level::b#0, play_increase_level::@6/play_increase_level::b#1 )
|
|
play_increase_level::$5 = play_increase_level::b#2 * SIZEOF_DWORD
|
|
score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5]
|
|
play_increase_level::b#1 = play_increase_level::b#2 + rangenext(0,4)
|
|
play_increase_level::$4 = play_increase_level::b#1 != rangelast(0,4)
|
|
if(play_increase_level::$4) goto play_increase_level::@6
|
|
to:play_increase_level::@7
|
|
play_increase_level::@7: scope:[play_increase_level] from play_increase_level::@6
|
|
level_bcd#40 = phi( play_increase_level::@6/level_bcd#51 )
|
|
current_movedown_slow#44 = phi( play_increase_level::@6/current_movedown_slow#55 )
|
|
level#40 = phi( play_increase_level::@6/level#52 )
|
|
asm { cld }
|
|
to:play_increase_level::@return
|
|
play_increase_level::@return: scope:[play_increase_level] from play_increase_level::@7
|
|
level_bcd#23 = phi( play_increase_level::@7/level_bcd#40 )
|
|
current_movedown_slow#25 = phi( play_increase_level::@7/current_movedown_slow#44 )
|
|
level#23 = phi( play_increase_level::@7/level#40 )
|
|
level#7 = level#23
|
|
current_movedown_slow#10 = current_movedown_slow#25
|
|
level_bcd#8 = level_bcd#23
|
|
return
|
|
to:@return
|
|
|
|
void main()
|
|
main: scope:[main] from __start::@1
|
|
level_bcd#99 = phi( __start::@1/level_bcd#43 )
|
|
lines_bcd#86 = phi( __start::@1/lines_bcd#34 )
|
|
current_movedown_counter#60 = phi( __start::@1/current_movedown_counter#28 )
|
|
keyboard_modifiers#58 = phi( __start::@1/keyboard_modifiers#26 )
|
|
keyboard_events_size#76 = phi( __start::@1/keyboard_events_size#30 )
|
|
level#102 = phi( __start::@1/level#43 )
|
|
game_over#83 = phi( __start::@1/game_over#36 )
|
|
current_ypos#96 = phi( __start::@1/current_ypos#51 )
|
|
current_xpos#117 = phi( __start::@1/current_xpos#60 )
|
|
current_piece_gfx#110 = phi( __start::@1/current_piece_gfx#47 )
|
|
current_orientation#96 = phi( __start::@1/current_orientation#51 )
|
|
current_piece_char#98 = phi( __start::@1/current_piece_char#38 )
|
|
current_piece#92 = phi( __start::@1/current_piece#41 )
|
|
next_piece_idx#78 = phi( __start::@1/next_piece_idx#37 )
|
|
current_movedown_slow#85 = phi( __start::@1/current_movedown_slow#48 )
|
|
render_screen_render#45 = phi( __start::@1/render_screen_render#31 )
|
|
render_screen_show#37 = phi( __start::@1/render_screen_show#26 )
|
|
to:main::sid_rnd_init1
|
|
main::sid_rnd_init1: scope:[main] from main
|
|
level_bcd#98 = phi( main/level_bcd#99 )
|
|
lines_bcd#85 = phi( main/lines_bcd#86 )
|
|
current_movedown_counter#59 = phi( main/current_movedown_counter#60 )
|
|
keyboard_modifiers#57 = phi( main/keyboard_modifiers#58 )
|
|
keyboard_events_size#75 = phi( main/keyboard_events_size#76 )
|
|
level#99 = phi( main/level#102 )
|
|
game_over#81 = phi( main/game_over#83 )
|
|
current_ypos#94 = phi( main/current_ypos#96 )
|
|
current_xpos#115 = phi( main/current_xpos#117 )
|
|
current_piece_gfx#108 = phi( main/current_piece_gfx#110 )
|
|
current_orientation#93 = phi( main/current_orientation#96 )
|
|
current_piece_char#95 = phi( main/current_piece_char#98 )
|
|
current_piece#89 = phi( main/current_piece#92 )
|
|
next_piece_idx#76 = phi( main/next_piece_idx#78 )
|
|
current_movedown_slow#81 = phi( main/current_movedown_slow#85 )
|
|
render_screen_render#37 = phi( main/render_screen_render#45 )
|
|
render_screen_show#29 = phi( main/render_screen_show#37 )
|
|
*((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff
|
|
*((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE
|
|
to:main::@9
|
|
main::@9: scope:[main] from main::sid_rnd_init1
|
|
level_bcd#97 = phi( main::sid_rnd_init1/level_bcd#98 )
|
|
lines_bcd#84 = phi( main::sid_rnd_init1/lines_bcd#85 )
|
|
current_movedown_counter#58 = phi( main::sid_rnd_init1/current_movedown_counter#59 )
|
|
keyboard_modifiers#56 = phi( main::sid_rnd_init1/keyboard_modifiers#57 )
|
|
keyboard_events_size#74 = phi( main::sid_rnd_init1/keyboard_events_size#75 )
|
|
level#95 = phi( main::sid_rnd_init1/level#99 )
|
|
game_over#77 = phi( main::sid_rnd_init1/game_over#81 )
|
|
current_ypos#91 = phi( main::sid_rnd_init1/current_ypos#94 )
|
|
current_xpos#112 = phi( main::sid_rnd_init1/current_xpos#115 )
|
|
current_piece_gfx#102 = phi( main::sid_rnd_init1/current_piece_gfx#108 )
|
|
current_orientation#90 = phi( main::sid_rnd_init1/current_orientation#93 )
|
|
current_piece_char#90 = phi( main::sid_rnd_init1/current_piece_char#95 )
|
|
current_piece#84 = phi( main::sid_rnd_init1/current_piece#89 )
|
|
next_piece_idx#71 = phi( main::sid_rnd_init1/next_piece_idx#76 )
|
|
current_movedown_slow#76 = phi( main::sid_rnd_init1/current_movedown_slow#81 )
|
|
render_screen_render#29 = phi( main::sid_rnd_init1/render_screen_render#37 )
|
|
render_screen_show#24 = phi( main::sid_rnd_init1/render_screen_show#29 )
|
|
asm { sei }
|
|
call render_init
|
|
to:main::@10
|
|
main::@10: scope:[main] from main::@9
|
|
level_bcd#96 = phi( main::@9/level_bcd#97 )
|
|
lines_bcd#83 = phi( main::@9/lines_bcd#84 )
|
|
current_movedown_counter#57 = phi( main::@9/current_movedown_counter#58 )
|
|
keyboard_modifiers#55 = phi( main::@9/keyboard_modifiers#56 )
|
|
keyboard_events_size#73 = phi( main::@9/keyboard_events_size#74 )
|
|
level#89 = phi( main::@9/level#95 )
|
|
game_over#68 = phi( main::@9/game_over#77 )
|
|
current_ypos#83 = phi( main::@9/current_ypos#91 )
|
|
current_xpos#103 = phi( main::@9/current_xpos#112 )
|
|
current_piece_gfx#95 = phi( main::@9/current_piece_gfx#102 )
|
|
current_orientation#82 = phi( main::@9/current_orientation#90 )
|
|
current_piece_char#80 = phi( main::@9/current_piece_char#90 )
|
|
current_piece#77 = phi( main::@9/current_piece#84 )
|
|
next_piece_idx#64 = phi( main::@9/next_piece_idx#71 )
|
|
current_movedown_slow#68 = phi( main::@9/current_movedown_slow#76 )
|
|
render_screen_render#17 = phi( main::@9/render_screen_render#1 )
|
|
render_screen_show#15 = phi( main::@9/render_screen_show#1 )
|
|
render_screen_show#4 = render_screen_show#15
|
|
render_screen_render#4 = render_screen_render#17
|
|
call sprites_init
|
|
to:main::@11
|
|
main::@11: scope:[main] from main::@10
|
|
level_bcd#95 = phi( main::@10/level_bcd#96 )
|
|
lines_bcd#82 = phi( main::@10/lines_bcd#83 )
|
|
current_movedown_counter#56 = phi( main::@10/current_movedown_counter#57 )
|
|
keyboard_modifiers#54 = phi( main::@10/keyboard_modifiers#55 )
|
|
keyboard_events_size#72 = phi( main::@10/keyboard_events_size#73 )
|
|
render_screen_show#58 = phi( main::@10/render_screen_show#4 )
|
|
render_screen_render#59 = phi( main::@10/render_screen_render#4 )
|
|
level#80 = phi( main::@10/level#89 )
|
|
game_over#55 = phi( main::@10/game_over#68 )
|
|
current_ypos#73 = phi( main::@10/current_ypos#83 )
|
|
current_xpos#91 = phi( main::@10/current_xpos#103 )
|
|
current_piece_gfx#77 = phi( main::@10/current_piece_gfx#95 )
|
|
current_orientation#72 = phi( main::@10/current_orientation#82 )
|
|
current_piece_char#64 = phi( main::@10/current_piece_char#80 )
|
|
current_piece#65 = phi( main::@10/current_piece#77 )
|
|
next_piece_idx#55 = phi( main::@10/next_piece_idx#64 )
|
|
current_movedown_slow#56 = phi( main::@10/current_movedown_slow#68 )
|
|
call sprites_irq_init
|
|
to:main::@12
|
|
main::@12: scope:[main] from main::@11
|
|
level_bcd#94 = phi( main::@11/level_bcd#95 )
|
|
lines_bcd#81 = phi( main::@11/lines_bcd#82 )
|
|
current_movedown_counter#55 = phi( main::@11/current_movedown_counter#56 )
|
|
keyboard_modifiers#53 = phi( main::@11/keyboard_modifiers#54 )
|
|
keyboard_events_size#71 = phi( main::@11/keyboard_events_size#72 )
|
|
render_screen_show#57 = phi( main::@11/render_screen_show#58 )
|
|
render_screen_render#57 = phi( main::@11/render_screen_render#59 )
|
|
level#60 = phi( main::@11/level#80 )
|
|
game_over#42 = phi( main::@11/game_over#55 )
|
|
current_ypos#60 = phi( main::@11/current_ypos#73 )
|
|
current_xpos#72 = phi( main::@11/current_xpos#91 )
|
|
current_piece_gfx#60 = phi( main::@11/current_piece_gfx#77 )
|
|
current_orientation#59 = phi( main::@11/current_orientation#72 )
|
|
current_piece_char#48 = phi( main::@11/current_piece_char#64 )
|
|
current_piece#51 = phi( main::@11/current_piece#65 )
|
|
next_piece_idx#43 = phi( main::@11/next_piece_idx#55 )
|
|
current_movedown_slow#45 = phi( main::@11/current_movedown_slow#56 )
|
|
call play_init
|
|
to:main::@13
|
|
main::@13: scope:[main] from main::@12
|
|
level_bcd#92 = phi( main::@12/level_bcd#94 )
|
|
level#100 = phi( main::@12/level#60 )
|
|
lines_bcd#79 = phi( main::@12/lines_bcd#81 )
|
|
current_movedown_counter#53 = phi( main::@12/current_movedown_counter#55 )
|
|
keyboard_modifiers#51 = phi( main::@12/keyboard_modifiers#53 )
|
|
keyboard_events_size#68 = phi( main::@12/keyboard_events_size#71 )
|
|
render_screen_show#56 = phi( main::@12/render_screen_show#57 )
|
|
render_screen_render#52 = phi( main::@12/render_screen_render#57 )
|
|
game_over#32 = phi( main::@12/game_over#42 )
|
|
current_ypos#48 = phi( main::@12/current_ypos#60 )
|
|
current_xpos#57 = phi( main::@12/current_xpos#72 )
|
|
current_piece_gfx#44 = phi( main::@12/current_piece_gfx#60 )
|
|
current_orientation#48 = phi( main::@12/current_orientation#59 )
|
|
current_piece_char#35 = phi( main::@12/current_piece_char#48 )
|
|
current_piece#38 = phi( main::@12/current_piece#51 )
|
|
next_piece_idx#34 = phi( main::@12/next_piece_idx#43 )
|
|
current_movedown_slow#26 = phi( main::@12/current_movedown_slow#1 )
|
|
current_movedown_slow#11 = current_movedown_slow#26
|
|
call play_spawn_current
|
|
to:main::@14
|
|
main::@14: scope:[main] from main::@13
|
|
level_bcd#88 = phi( main::@13/level_bcd#92 )
|
|
level#96 = phi( main::@13/level#100 )
|
|
lines_bcd#76 = phi( main::@13/lines_bcd#79 )
|
|
current_movedown_counter#50 = phi( main::@13/current_movedown_counter#53 )
|
|
keyboard_modifiers#49 = phi( main::@13/keyboard_modifiers#51 )
|
|
keyboard_events_size#64 = phi( main::@13/keyboard_events_size#68 )
|
|
current_movedown_slow#86 = phi( main::@13/current_movedown_slow#11 )
|
|
render_screen_show#54 = phi( main::@13/render_screen_show#56 )
|
|
render_screen_render#46 = phi( main::@13/render_screen_render#52 )
|
|
next_piece_idx#20 = phi( main::@13/next_piece_idx#5 )
|
|
game_over#18 = phi( main::@13/game_over#5 )
|
|
current_ypos#26 = phi( main::@13/current_ypos#6 )
|
|
current_xpos#32 = phi( main::@13/current_xpos#9 )
|
|
current_piece_gfx#25 = phi( main::@13/current_piece_gfx#8 )
|
|
current_orientation#28 = phi( main::@13/current_orientation#8 )
|
|
current_piece_char#20 = phi( main::@13/current_piece_char#5 )
|
|
current_piece#20 = phi( main::@13/current_piece#5 )
|
|
current_piece#6 = current_piece#20
|
|
current_piece_char#6 = current_piece_char#20
|
|
current_orientation#9 = current_orientation#28
|
|
current_piece_gfx#9 = current_piece_gfx#25
|
|
current_xpos#10 = current_xpos#32
|
|
current_ypos#7 = current_ypos#26
|
|
game_over#6 = game_over#18
|
|
next_piece_idx#6 = next_piece_idx#20
|
|
call play_spawn_current
|
|
to:main::@15
|
|
main::@15: scope:[main] from main::@14
|
|
level_bcd#81 = phi( main::@14/level_bcd#88 )
|
|
level#90 = phi( main::@14/level#96 )
|
|
lines_bcd#71 = phi( main::@14/lines_bcd#76 )
|
|
current_movedown_counter#47 = phi( main::@14/current_movedown_counter#50 )
|
|
keyboard_modifiers#47 = phi( main::@14/keyboard_modifiers#49 )
|
|
keyboard_events_size#59 = phi( main::@14/keyboard_events_size#64 )
|
|
current_movedown_slow#82 = phi( main::@14/current_movedown_slow#86 )
|
|
render_screen_show#51 = phi( main::@14/render_screen_show#54 )
|
|
render_screen_render#32 = phi( main::@14/render_screen_render#46 )
|
|
next_piece_idx#21 = phi( main::@14/next_piece_idx#5 )
|
|
game_over#19 = phi( main::@14/game_over#5 )
|
|
current_ypos#27 = phi( main::@14/current_ypos#6 )
|
|
current_xpos#33 = phi( main::@14/current_xpos#9 )
|
|
current_piece_gfx#26 = phi( main::@14/current_piece_gfx#8 )
|
|
current_orientation#29 = phi( main::@14/current_orientation#8 )
|
|
current_piece_char#21 = phi( main::@14/current_piece_char#5 )
|
|
current_piece#21 = phi( main::@14/current_piece#5 )
|
|
current_piece#7 = current_piece#21
|
|
current_piece_char#7 = current_piece_char#21
|
|
current_orientation#10 = current_orientation#29
|
|
current_piece_gfx#10 = current_piece_gfx#26
|
|
current_xpos#11 = current_xpos#33
|
|
current_ypos#8 = current_ypos#27
|
|
game_over#7 = game_over#19
|
|
next_piece_idx#7 = next_piece_idx#21
|
|
call render_playfield
|
|
to:main::@16
|
|
main::@16: scope:[main] from main::@15
|
|
level_bcd#74 = phi( main::@15/level_bcd#81 )
|
|
level#81 = phi( main::@15/level#90 )
|
|
lines_bcd#64 = phi( main::@15/lines_bcd#71 )
|
|
current_movedown_counter#43 = phi( main::@15/current_movedown_counter#47 )
|
|
keyboard_modifiers#41 = phi( main::@15/keyboard_modifiers#47 )
|
|
keyboard_events_size#50 = phi( main::@15/keyboard_events_size#59 )
|
|
game_over#69 = phi( main::@15/game_over#7 )
|
|
current_orientation#83 = phi( main::@15/current_orientation#10 )
|
|
current_piece_char#81 = phi( main::@15/current_piece_char#7 )
|
|
current_piece#78 = phi( main::@15/current_piece#7 )
|
|
current_movedown_slow#77 = phi( main::@15/current_movedown_slow#82 )
|
|
render_screen_show#45 = phi( main::@15/render_screen_show#51 )
|
|
next_piece_idx#65 = phi( main::@15/next_piece_idx#7 )
|
|
current_piece_gfx#83 = phi( main::@15/current_piece_gfx#10 )
|
|
current_xpos#78 = phi( main::@15/current_xpos#11 )
|
|
render_screen_render#38 = phi( main::@15/render_screen_render#32 )
|
|
current_ypos#32 = phi( main::@15/current_ypos#8 )
|
|
call render_moving
|
|
to:main::@17
|
|
main::@17: scope:[main] from main::@16
|
|
level_bcd#64 = phi( main::@16/level_bcd#74 )
|
|
level#67 = phi( main::@16/level#81 )
|
|
lines_bcd#53 = phi( main::@16/lines_bcd#64 )
|
|
current_movedown_counter#39 = phi( main::@16/current_movedown_counter#43 )
|
|
keyboard_modifiers#35 = phi( main::@16/keyboard_modifiers#41 )
|
|
keyboard_events_size#42 = phi( main::@16/keyboard_events_size#50 )
|
|
game_over#56 = phi( main::@16/game_over#69 )
|
|
current_ypos#74 = phi( main::@16/current_ypos#32 )
|
|
current_xpos#92 = phi( main::@16/current_xpos#78 )
|
|
current_piece_gfx#78 = phi( main::@16/current_piece_gfx#83 )
|
|
current_orientation#73 = phi( main::@16/current_orientation#83 )
|
|
current_piece_char#65 = phi( main::@16/current_piece_char#81 )
|
|
current_piece#66 = phi( main::@16/current_piece#78 )
|
|
current_movedown_slow#69 = phi( main::@16/current_movedown_slow#77 )
|
|
render_screen_show#38 = phi( main::@16/render_screen_show#45 )
|
|
next_piece_idx#48 = phi( main::@16/next_piece_idx#65 )
|
|
render_screen_render#27 = phi( main::@16/render_screen_render#38 )
|
|
call render_next
|
|
to:main::@18
|
|
main::@18: scope:[main] from main::@17
|
|
level_bcd#52 = phi( main::@17/level_bcd#64 )
|
|
level#53 = phi( main::@17/level#67 )
|
|
lines_bcd#42 = phi( main::@17/lines_bcd#53 )
|
|
current_movedown_counter#32 = phi( main::@17/current_movedown_counter#39 )
|
|
keyboard_modifiers#30 = phi( main::@17/keyboard_modifiers#35 )
|
|
keyboard_events_size#34 = phi( main::@17/keyboard_events_size#42 )
|
|
next_piece_idx#44 = phi( main::@17/next_piece_idx#48 )
|
|
game_over#43 = phi( main::@17/game_over#56 )
|
|
current_ypos#61 = phi( main::@17/current_ypos#74 )
|
|
current_xpos#73 = phi( main::@17/current_xpos#92 )
|
|
current_piece_gfx#61 = phi( main::@17/current_piece_gfx#78 )
|
|
current_orientation#60 = phi( main::@17/current_orientation#73 )
|
|
current_piece_char#49 = phi( main::@17/current_piece_char#65 )
|
|
current_piece#52 = phi( main::@17/current_piece#66 )
|
|
current_movedown_slow#57 = phi( main::@17/current_movedown_slow#69 )
|
|
render_screen_render#39 = phi( main::@17/render_screen_render#27 )
|
|
render_screen_show#30 = phi( main::@17/render_screen_show#38 )
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@18 main::@27 main::@7
|
|
level_bcd#42 = phi( main::@18/level_bcd#52, main::@27/level_bcd#53, main::@7/level_bcd#54 )
|
|
level#42 = phi( main::@18/level#53, main::@27/level#54, main::@7/level#55 )
|
|
lines_bcd#33 = phi( main::@18/lines_bcd#42, main::@27/lines_bcd#43, main::@7/lines_bcd#44 )
|
|
current_movedown_counter#27 = phi( main::@18/current_movedown_counter#32, main::@27/current_movedown_counter#33, main::@7/current_movedown_counter#34 )
|
|
keyboard_modifiers#25 = phi( main::@18/keyboard_modifiers#30, main::@27/keyboard_modifiers#31, main::@7/keyboard_modifiers#32 )
|
|
keyboard_events_size#29 = phi( main::@18/keyboard_events_size#34, main::@27/keyboard_events_size#35, main::@7/keyboard_events_size#36 )
|
|
next_piece_idx#36 = phi( main::@18/next_piece_idx#44, main::@27/next_piece_idx#45, main::@7/next_piece_idx#46 )
|
|
game_over#35 = phi( main::@18/game_over#43, main::@27/game_over#44, main::@7/game_over#45 )
|
|
current_ypos#50 = phi( main::@18/current_ypos#61, main::@27/current_ypos#62, main::@7/current_ypos#63 )
|
|
current_xpos#59 = phi( main::@18/current_xpos#73, main::@27/current_xpos#74, main::@7/current_xpos#75 )
|
|
current_piece_gfx#46 = phi( main::@18/current_piece_gfx#61, main::@27/current_piece_gfx#62, main::@7/current_piece_gfx#63 )
|
|
current_orientation#50 = phi( main::@18/current_orientation#60, main::@27/current_orientation#61, main::@7/current_orientation#62 )
|
|
current_piece_char#37 = phi( main::@18/current_piece_char#49, main::@27/current_piece_char#50, main::@7/current_piece_char#51 )
|
|
current_piece#40 = phi( main::@18/current_piece#52, main::@27/current_piece#53, main::@7/current_piece#54 )
|
|
current_movedown_slow#47 = phi( main::@18/current_movedown_slow#57, main::@27/current_movedown_slow#58, main::@7/current_movedown_slow#59 )
|
|
render_screen_render#30 = phi( main::@18/render_screen_render#39, main::@27/render_screen_render#5, main::@7/render_screen_render#40 )
|
|
render_screen_show#25 = phi( main::@18/render_screen_show#30, main::@27/render_screen_show#5, main::@7/render_screen_show#31 )
|
|
if(true) goto main::@2
|
|
to:main::@return
|
|
main::@2: scope:[main] from main::@1 main::@2
|
|
render_screen_render#62 = phi( main::@1/render_screen_render#30, main::@2/render_screen_render#62 )
|
|
next_piece_idx#77 = phi( main::@1/next_piece_idx#36, main::@2/next_piece_idx#77 )
|
|
current_xpos#116 = phi( main::@1/current_xpos#59, main::@2/current_xpos#116 )
|
|
current_piece_gfx#109 = phi( main::@1/current_piece_gfx#46, main::@2/current_piece_gfx#109 )
|
|
current_orientation#94 = phi( main::@1/current_orientation#50, main::@2/current_orientation#94 )
|
|
current_piece_char#96 = phi( main::@1/current_piece_char#37, main::@2/current_piece_char#96 )
|
|
current_piece#90 = phi( main::@1/current_piece#40, main::@2/current_piece#90 )
|
|
level_bcd#89 = phi( main::@1/level_bcd#42, main::@2/level_bcd#89 )
|
|
current_movedown_slow#87 = phi( main::@1/current_movedown_slow#47, main::@2/current_movedown_slow#87 )
|
|
level#97 = phi( main::@1/level#42, main::@2/level#97 )
|
|
lines_bcd#77 = phi( main::@1/lines_bcd#33, main::@2/lines_bcd#77 )
|
|
current_ypos#95 = phi( main::@1/current_ypos#50, main::@2/current_ypos#95 )
|
|
current_movedown_counter#51 = phi( main::@1/current_movedown_counter#27, main::@2/current_movedown_counter#51 )
|
|
game_over#70 = phi( main::@1/game_over#35, main::@2/game_over#70 )
|
|
keyboard_modifiers#36 = phi( main::@1/keyboard_modifiers#25, main::@2/keyboard_modifiers#36 )
|
|
keyboard_events_size#43 = phi( main::@1/keyboard_events_size#29, main::@2/keyboard_events_size#43 )
|
|
render_screen_show#32 = phi( main::@1/render_screen_show#25, main::@2/render_screen_show#32 )
|
|
main::$10 = *RASTER != $ff
|
|
if(main::$10) goto main::@2
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2
|
|
render_screen_render#61 = phi( main::@2/render_screen_render#62 )
|
|
next_piece_idx#72 = phi( main::@2/next_piece_idx#77 )
|
|
current_xpos#113 = phi( main::@2/current_xpos#116 )
|
|
current_piece_gfx#103 = phi( main::@2/current_piece_gfx#109 )
|
|
current_orientation#91 = phi( main::@2/current_orientation#94 )
|
|
current_piece_char#91 = phi( main::@2/current_piece_char#96 )
|
|
current_piece#85 = phi( main::@2/current_piece#90 )
|
|
level_bcd#82 = phi( main::@2/level_bcd#89 )
|
|
current_movedown_slow#83 = phi( main::@2/current_movedown_slow#87 )
|
|
level#91 = phi( main::@2/level#97 )
|
|
lines_bcd#72 = phi( main::@2/lines_bcd#77 )
|
|
current_ypos#92 = phi( main::@2/current_ypos#95 )
|
|
current_movedown_counter#48 = phi( main::@2/current_movedown_counter#51 )
|
|
game_over#57 = phi( main::@2/game_over#70 )
|
|
keyboard_modifiers#33 = phi( main::@2/keyboard_modifiers#36 )
|
|
keyboard_events_size#37 = phi( main::@2/keyboard_events_size#43 )
|
|
render_screen_show#20 = phi( main::@2/render_screen_show#32 )
|
|
call render_show
|
|
to:main::@19
|
|
main::@19: scope:[main] from main::@3
|
|
render_screen_render#60 = phi( main::@3/render_screen_render#61 )
|
|
render_screen_show#55 = phi( main::@3/render_screen_show#20 )
|
|
next_piece_idx#66 = phi( main::@3/next_piece_idx#72 )
|
|
current_xpos#104 = phi( main::@3/current_xpos#113 )
|
|
current_piece_gfx#96 = phi( main::@3/current_piece_gfx#103 )
|
|
current_orientation#84 = phi( main::@3/current_orientation#91 )
|
|
current_piece_char#82 = phi( main::@3/current_piece_char#91 )
|
|
current_piece#79 = phi( main::@3/current_piece#85 )
|
|
level_bcd#75 = phi( main::@3/level_bcd#82 )
|
|
current_movedown_slow#78 = phi( main::@3/current_movedown_slow#83 )
|
|
level#82 = phi( main::@3/level#91 )
|
|
lines_bcd#65 = phi( main::@3/lines_bcd#72 )
|
|
current_ypos#84 = phi( main::@3/current_ypos#92 )
|
|
current_movedown_counter#44 = phi( main::@3/current_movedown_counter#48 )
|
|
game_over#46 = phi( main::@3/game_over#57 )
|
|
keyboard_modifiers#24 = phi( main::@3/keyboard_modifiers#33 )
|
|
keyboard_events_size#28 = phi( main::@3/keyboard_events_size#37 )
|
|
call keyboard_event_scan
|
|
to:main::@20
|
|
main::@20: scope:[main] from main::@19
|
|
render_screen_render#58 = phi( main::@19/render_screen_render#60 )
|
|
render_screen_show#52 = phi( main::@19/render_screen_show#55 )
|
|
next_piece_idx#56 = phi( main::@19/next_piece_idx#66 )
|
|
current_xpos#93 = phi( main::@19/current_xpos#104 )
|
|
current_piece_gfx#79 = phi( main::@19/current_piece_gfx#96 )
|
|
current_orientation#74 = phi( main::@19/current_orientation#84 )
|
|
current_piece_char#66 = phi( main::@19/current_piece_char#82 )
|
|
current_piece#67 = phi( main::@19/current_piece#79 )
|
|
level_bcd#65 = phi( main::@19/level_bcd#75 )
|
|
current_movedown_slow#70 = phi( main::@19/current_movedown_slow#78 )
|
|
level#68 = phi( main::@19/level#82 )
|
|
lines_bcd#54 = phi( main::@19/lines_bcd#65 )
|
|
current_ypos#75 = phi( main::@19/current_ypos#84 )
|
|
current_movedown_counter#40 = phi( main::@19/current_movedown_counter#44 )
|
|
game_over#33 = phi( main::@19/game_over#46 )
|
|
keyboard_modifiers#16 = phi( main::@19/keyboard_modifiers#5 )
|
|
keyboard_events_size#18 = phi( main::@19/keyboard_events_size#2 )
|
|
keyboard_events_size#5 = keyboard_events_size#18
|
|
keyboard_modifiers#6 = keyboard_modifiers#16
|
|
call keyboard_event_get
|
|
keyboard_event_get::return#3 = keyboard_event_get::return#2
|
|
to:main::@21
|
|
main::@21: scope:[main] from main::@20
|
|
keyboard_modifiers#43 = phi( main::@20/keyboard_modifiers#6 )
|
|
render_screen_render#54 = phi( main::@20/render_screen_render#58 )
|
|
render_screen_show#47 = phi( main::@20/render_screen_show#52 )
|
|
next_piece_idx#47 = phi( main::@20/next_piece_idx#56 )
|
|
current_xpos#76 = phi( main::@20/current_xpos#93 )
|
|
current_piece_gfx#64 = phi( main::@20/current_piece_gfx#79 )
|
|
current_orientation#63 = phi( main::@20/current_orientation#74 )
|
|
current_piece_char#52 = phi( main::@20/current_piece_char#66 )
|
|
current_piece#55 = phi( main::@20/current_piece#67 )
|
|
level_bcd#55 = phi( main::@20/level_bcd#65 )
|
|
current_movedown_slow#60 = phi( main::@20/current_movedown_slow#70 )
|
|
level#56 = phi( main::@20/level#68 )
|
|
lines_bcd#45 = phi( main::@20/lines_bcd#54 )
|
|
current_ypos#64 = phi( main::@20/current_ypos#75 )
|
|
current_movedown_counter#35 = phi( main::@20/current_movedown_counter#40 )
|
|
game_over#20 = phi( main::@20/game_over#33 )
|
|
keyboard_events_size#19 = phi( main::@20/keyboard_events_size#4 )
|
|
keyboard_event_get::return#5 = phi( main::@20/keyboard_event_get::return#3 )
|
|
main::$13 = keyboard_event_get::return#5
|
|
keyboard_events_size#6 = keyboard_events_size#19
|
|
main::key_event#0 = main::$13
|
|
main::render#0 = 0
|
|
main::$14 = game_over#20 == 0
|
|
if(main::$14) goto main::@4
|
|
to:main::@5
|
|
main::@4: scope:[main] from main::@21
|
|
keyboard_modifiers#42 = phi( main::@21/keyboard_modifiers#43 )
|
|
keyboard_events_size#51 = phi( main::@21/keyboard_events_size#6 )
|
|
render_screen_render#53 = phi( main::@21/render_screen_render#54 )
|
|
render_screen_show#46 = phi( main::@21/render_screen_show#47 )
|
|
next_piece_idx#35 = phi( main::@21/next_piece_idx#47 )
|
|
game_over#34 = phi( main::@21/game_over#20 )
|
|
current_xpos#58 = phi( main::@21/current_xpos#76 )
|
|
current_piece_gfx#45 = phi( main::@21/current_piece_gfx#64 )
|
|
current_orientation#49 = phi( main::@21/current_orientation#63 )
|
|
current_piece_char#36 = phi( main::@21/current_piece_char#52 )
|
|
current_piece#39 = phi( main::@21/current_piece#55 )
|
|
level_bcd#41 = phi( main::@21/level_bcd#55 )
|
|
current_movedown_slow#46 = phi( main::@21/current_movedown_slow#60 )
|
|
level#41 = phi( main::@21/level#56 )
|
|
lines_bcd#32 = phi( main::@21/lines_bcd#45 )
|
|
current_ypos#49 = phi( main::@21/current_ypos#64 )
|
|
current_movedown_counter#26 = phi( main::@21/current_movedown_counter#35 )
|
|
main::key_event#1 = phi( main::@21/main::key_event#0 )
|
|
play_movement::key_event#0 = main::key_event#1
|
|
call play_movement
|
|
play_movement::return#3 = play_movement::return#2
|
|
to:main::@22
|
|
main::@22: scope:[main] from main::@4
|
|
keyboard_modifiers#37 = phi( main::@4/keyboard_modifiers#42 )
|
|
keyboard_events_size#44 = phi( main::@4/keyboard_events_size#51 )
|
|
render_screen_render#47 = phi( main::@4/render_screen_render#53 )
|
|
render_screen_show#39 = phi( main::@4/render_screen_show#46 )
|
|
next_piece_idx#22 = phi( main::@4/next_piece_idx#1 )
|
|
game_over#21 = phi( main::@4/game_over#1 )
|
|
current_xpos#34 = phi( main::@4/current_xpos#2 )
|
|
current_piece_gfx#27 = phi( main::@4/current_piece_gfx#2 )
|
|
current_orientation#30 = phi( main::@4/current_orientation#2 )
|
|
current_piece_char#22 = phi( main::@4/current_piece_char#1 )
|
|
current_piece#22 = phi( main::@4/current_piece#1 )
|
|
level_bcd#24 = phi( main::@4/level_bcd#1 )
|
|
current_movedown_slow#27 = phi( main::@4/current_movedown_slow#3 )
|
|
level#24 = phi( main::@4/level#1 )
|
|
lines_bcd#19 = phi( main::@4/lines_bcd#1 )
|
|
current_ypos#28 = phi( main::@4/current_ypos#1 )
|
|
current_movedown_counter#16 = phi( main::@4/current_movedown_counter#1 )
|
|
play_movement::return#5 = phi( main::@4/play_movement::return#3 )
|
|
main::$16 = play_movement::return#5
|
|
current_movedown_counter#5 = current_movedown_counter#16
|
|
current_ypos#9 = current_ypos#28
|
|
lines_bcd#6 = lines_bcd#19
|
|
level#8 = level#24
|
|
current_movedown_slow#12 = current_movedown_slow#27
|
|
level_bcd#9 = level_bcd#24
|
|
current_piece#8 = current_piece#22
|
|
current_piece_char#8 = current_piece_char#22
|
|
current_orientation#11 = current_orientation#30
|
|
current_piece_gfx#11 = current_piece_gfx#27
|
|
current_xpos#12 = current_xpos#34
|
|
game_over#8 = game_over#21
|
|
next_piece_idx#8 = next_piece_idx#22
|
|
main::render#1 = main::$16
|
|
to:main::@7
|
|
main::@5: scope:[main] from main::@21 main::@6
|
|
level_bcd#66 = phi( main::@21/level_bcd#55, main::@6/level_bcd#76 )
|
|
level#69 = phi( main::@21/level#56, main::@6/level#83 )
|
|
lines_bcd#55 = phi( main::@21/lines_bcd#45, main::@6/lines_bcd#66 )
|
|
current_movedown_counter#41 = phi( main::@21/current_movedown_counter#35, main::@6/current_movedown_counter#45 )
|
|
keyboard_modifiers#38 = phi( main::@21/keyboard_modifiers#43, main::@6/keyboard_modifiers#44 )
|
|
keyboard_events_size#45 = phi( main::@21/keyboard_events_size#6, main::@6/keyboard_events_size#52 )
|
|
next_piece_idx#57 = phi( main::@21/next_piece_idx#47, main::@6/next_piece_idx#67 )
|
|
game_over#58 = phi( main::@21/game_over#20, main::@6/game_over#71 )
|
|
current_ypos#76 = phi( main::@21/current_ypos#64, main::@6/current_ypos#85 )
|
|
current_xpos#94 = phi( main::@21/current_xpos#76, main::@6/current_xpos#105 )
|
|
current_piece_gfx#80 = phi( main::@21/current_piece_gfx#64, main::@6/current_piece_gfx#97 )
|
|
current_orientation#75 = phi( main::@21/current_orientation#63, main::@6/current_orientation#85 )
|
|
current_piece_char#67 = phi( main::@21/current_piece_char#52, main::@6/current_piece_char#83 )
|
|
current_piece#68 = phi( main::@21/current_piece#55, main::@6/current_piece#80 )
|
|
current_movedown_slow#71 = phi( main::@21/current_movedown_slow#60, main::@6/current_movedown_slow#79 )
|
|
render_screen_render#48 = phi( main::@21/render_screen_render#54, main::@6/render_screen_render#55 )
|
|
render_screen_show#40 = phi( main::@21/render_screen_show#47, main::@6/render_screen_show#48 )
|
|
main::render#3 = phi( main::@21/main::render#0, main::@6/main::render#4 )
|
|
if(true) goto main::@6
|
|
to:main::@7
|
|
main::@6: scope:[main] from main::@5
|
|
level_bcd#76 = phi( main::@5/level_bcd#66 )
|
|
level#83 = phi( main::@5/level#69 )
|
|
lines_bcd#66 = phi( main::@5/lines_bcd#55 )
|
|
current_movedown_counter#45 = phi( main::@5/current_movedown_counter#41 )
|
|
keyboard_modifiers#44 = phi( main::@5/keyboard_modifiers#38 )
|
|
keyboard_events_size#52 = phi( main::@5/keyboard_events_size#45 )
|
|
next_piece_idx#67 = phi( main::@5/next_piece_idx#57 )
|
|
game_over#71 = phi( main::@5/game_over#58 )
|
|
current_ypos#85 = phi( main::@5/current_ypos#76 )
|
|
current_xpos#105 = phi( main::@5/current_xpos#94 )
|
|
current_piece_gfx#97 = phi( main::@5/current_piece_gfx#80 )
|
|
current_orientation#85 = phi( main::@5/current_orientation#75 )
|
|
current_piece_char#83 = phi( main::@5/current_piece_char#67 )
|
|
current_piece#80 = phi( main::@5/current_piece#68 )
|
|
current_movedown_slow#79 = phi( main::@5/current_movedown_slow#71 )
|
|
render_screen_render#55 = phi( main::@5/render_screen_render#48 )
|
|
render_screen_show#48 = phi( main::@5/render_screen_show#40 )
|
|
main::render#4 = phi( main::@5/main::render#3 )
|
|
*BORDER_COLOR = ++ *BORDER_COLOR
|
|
to:main::@5
|
|
main::@7: scope:[main] from main::@22 main::@5
|
|
level_bcd#54 = phi( main::@22/level_bcd#9, main::@5/level_bcd#66 )
|
|
level#55 = phi( main::@22/level#8, main::@5/level#69 )
|
|
lines_bcd#44 = phi( main::@22/lines_bcd#6, main::@5/lines_bcd#55 )
|
|
current_movedown_counter#34 = phi( main::@22/current_movedown_counter#5, main::@5/current_movedown_counter#41 )
|
|
keyboard_modifiers#32 = phi( main::@22/keyboard_modifiers#37, main::@5/keyboard_modifiers#38 )
|
|
keyboard_events_size#36 = phi( main::@22/keyboard_events_size#44, main::@5/keyboard_events_size#45 )
|
|
next_piece_idx#46 = phi( main::@22/next_piece_idx#8, main::@5/next_piece_idx#57 )
|
|
game_over#45 = phi( main::@22/game_over#8, main::@5/game_over#58 )
|
|
current_ypos#63 = phi( main::@22/current_ypos#9, main::@5/current_ypos#76 )
|
|
current_xpos#75 = phi( main::@22/current_xpos#12, main::@5/current_xpos#94 )
|
|
current_piece_gfx#63 = phi( main::@22/current_piece_gfx#11, main::@5/current_piece_gfx#80 )
|
|
current_orientation#62 = phi( main::@22/current_orientation#11, main::@5/current_orientation#75 )
|
|
current_piece_char#51 = phi( main::@22/current_piece_char#8, main::@5/current_piece_char#67 )
|
|
current_piece#54 = phi( main::@22/current_piece#8, main::@5/current_piece#68 )
|
|
current_movedown_slow#59 = phi( main::@22/current_movedown_slow#12, main::@5/current_movedown_slow#71 )
|
|
render_screen_render#40 = phi( main::@22/render_screen_render#47, main::@5/render_screen_render#48 )
|
|
render_screen_show#31 = phi( main::@22/render_screen_show#39, main::@5/render_screen_show#40 )
|
|
main::render#2 = phi( main::@22/main::render#1, main::@5/main::render#3 )
|
|
main::$17 = main::render#2 != 0
|
|
main::$18 = ! main::$17
|
|
if(main::$18) goto main::@1
|
|
to:main::@8
|
|
main::@8: scope:[main] from main::@7
|
|
level_bcd#93 = phi( main::@7/level_bcd#54 )
|
|
level#101 = phi( main::@7/level#55 )
|
|
lines_bcd#80 = phi( main::@7/lines_bcd#44 )
|
|
current_movedown_counter#54 = phi( main::@7/current_movedown_counter#34 )
|
|
keyboard_modifiers#52 = phi( main::@7/keyboard_modifiers#32 )
|
|
keyboard_events_size#69 = phi( main::@7/keyboard_events_size#36 )
|
|
game_over#84 = phi( main::@7/game_over#45 )
|
|
current_orientation#97 = phi( main::@7/current_orientation#62 )
|
|
current_piece#93 = phi( main::@7/current_piece#54 )
|
|
current_movedown_slow#89 = phi( main::@7/current_movedown_slow#59 )
|
|
current_piece_char#97 = phi( main::@7/current_piece_char#51 )
|
|
render_screen_show#53 = phi( main::@7/render_screen_show#31 )
|
|
next_piece_idx#73 = phi( main::@7/next_piece_idx#46 )
|
|
current_piece_gfx#104 = phi( main::@7/current_piece_gfx#63 )
|
|
current_xpos#106 = phi( main::@7/current_xpos#75 )
|
|
current_ypos#65 = phi( main::@7/current_ypos#63 )
|
|
render_screen_render#33 = phi( main::@7/render_screen_render#40 )
|
|
call render_playfield
|
|
to:main::@23
|
|
main::@23: scope:[main] from main::@8
|
|
level_bcd#90 = phi( main::@8/level_bcd#93 )
|
|
level#98 = phi( main::@8/level#101 )
|
|
lines_bcd#78 = phi( main::@8/lines_bcd#80 )
|
|
current_movedown_counter#52 = phi( main::@8/current_movedown_counter#54 )
|
|
keyboard_modifiers#50 = phi( main::@8/keyboard_modifiers#52 )
|
|
keyboard_events_size#65 = phi( main::@8/keyboard_events_size#69 )
|
|
game_over#82 = phi( main::@8/game_over#84 )
|
|
current_orientation#95 = phi( main::@8/current_orientation#97 )
|
|
current_piece#91 = phi( main::@8/current_piece#93 )
|
|
current_movedown_slow#88 = phi( main::@8/current_movedown_slow#89 )
|
|
current_piece_char#86 = phi( main::@8/current_piece_char#97 )
|
|
render_screen_show#49 = phi( main::@8/render_screen_show#53 )
|
|
next_piece_idx#68 = phi( main::@8/next_piece_idx#73 )
|
|
current_piece_gfx#84 = phi( main::@8/current_piece_gfx#104 )
|
|
current_xpos#79 = phi( main::@8/current_xpos#106 )
|
|
render_screen_render#41 = phi( main::@8/render_screen_render#33 )
|
|
current_ypos#33 = phi( main::@8/current_ypos#65 )
|
|
call render_moving
|
|
to:main::@24
|
|
main::@24: scope:[main] from main::@23
|
|
level_bcd#83 = phi( main::@23/level_bcd#90 )
|
|
level#92 = phi( main::@23/level#98 )
|
|
lines_bcd#73 = phi( main::@23/lines_bcd#78 )
|
|
current_movedown_counter#49 = phi( main::@23/current_movedown_counter#52 )
|
|
keyboard_modifiers#48 = phi( main::@23/keyboard_modifiers#50 )
|
|
keyboard_events_size#60 = phi( main::@23/keyboard_events_size#65 )
|
|
game_over#78 = phi( main::@23/game_over#82 )
|
|
current_ypos#93 = phi( main::@23/current_ypos#33 )
|
|
current_xpos#114 = phi( main::@23/current_xpos#79 )
|
|
current_piece_gfx#105 = phi( main::@23/current_piece_gfx#84 )
|
|
current_orientation#92 = phi( main::@23/current_orientation#95 )
|
|
current_piece_char#92 = phi( main::@23/current_piece_char#86 )
|
|
current_piece#86 = phi( main::@23/current_piece#91 )
|
|
current_movedown_slow#84 = phi( main::@23/current_movedown_slow#88 )
|
|
render_screen_show#41 = phi( main::@23/render_screen_show#49 )
|
|
next_piece_idx#49 = phi( main::@23/next_piece_idx#68 )
|
|
render_screen_render#28 = phi( main::@23/render_screen_render#41 )
|
|
call render_next
|
|
to:main::@25
|
|
main::@25: scope:[main] from main::@24
|
|
level_bcd#77 = phi( main::@24/level_bcd#83 )
|
|
level#84 = phi( main::@24/level#92 )
|
|
lines_bcd#67 = phi( main::@24/lines_bcd#73 )
|
|
current_movedown_counter#46 = phi( main::@24/current_movedown_counter#49 )
|
|
keyboard_modifiers#45 = phi( main::@24/keyboard_modifiers#48 )
|
|
keyboard_events_size#53 = phi( main::@24/keyboard_events_size#60 )
|
|
next_piece_idx#69 = phi( main::@24/next_piece_idx#49 )
|
|
game_over#72 = phi( main::@24/game_over#78 )
|
|
current_ypos#86 = phi( main::@24/current_ypos#93 )
|
|
current_xpos#107 = phi( main::@24/current_xpos#114 )
|
|
current_piece_gfx#98 = phi( main::@24/current_piece_gfx#105 )
|
|
current_orientation#86 = phi( main::@24/current_orientation#92 )
|
|
current_piece_char#84 = phi( main::@24/current_piece_char#92 )
|
|
current_piece#81 = phi( main::@24/current_piece#86 )
|
|
current_movedown_slow#80 = phi( main::@24/current_movedown_slow#84 )
|
|
render_screen_show#33 = phi( main::@24/render_screen_show#41 )
|
|
render_screen_render#23 = phi( main::@24/render_screen_render#28 )
|
|
call render_score
|
|
to:main::@26
|
|
main::@26: scope:[main] from main::@25
|
|
level_bcd#67 = phi( main::@25/level_bcd#77 )
|
|
level#70 = phi( main::@25/level#84 )
|
|
lines_bcd#56 = phi( main::@25/lines_bcd#67 )
|
|
current_movedown_counter#42 = phi( main::@25/current_movedown_counter#46 )
|
|
keyboard_modifiers#39 = phi( main::@25/keyboard_modifiers#45 )
|
|
keyboard_events_size#46 = phi( main::@25/keyboard_events_size#53 )
|
|
next_piece_idx#58 = phi( main::@25/next_piece_idx#69 )
|
|
game_over#59 = phi( main::@25/game_over#72 )
|
|
current_ypos#77 = phi( main::@25/current_ypos#86 )
|
|
current_xpos#95 = phi( main::@25/current_xpos#107 )
|
|
current_piece_gfx#81 = phi( main::@25/current_piece_gfx#98 )
|
|
current_orientation#76 = phi( main::@25/current_orientation#86 )
|
|
current_piece_char#68 = phi( main::@25/current_piece_char#84 )
|
|
current_piece#69 = phi( main::@25/current_piece#81 )
|
|
current_movedown_slow#72 = phi( main::@25/current_movedown_slow#80 )
|
|
render_screen_show#23 = phi( main::@25/render_screen_show#33 )
|
|
render_screen_render#22 = phi( main::@25/render_screen_render#23 )
|
|
call render_screen_swap
|
|
to:main::@27
|
|
main::@27: scope:[main] from main::@26
|
|
level_bcd#53 = phi( main::@26/level_bcd#67 )
|
|
level#54 = phi( main::@26/level#70 )
|
|
lines_bcd#43 = phi( main::@26/lines_bcd#56 )
|
|
current_movedown_counter#33 = phi( main::@26/current_movedown_counter#42 )
|
|
keyboard_modifiers#31 = phi( main::@26/keyboard_modifiers#39 )
|
|
keyboard_events_size#35 = phi( main::@26/keyboard_events_size#46 )
|
|
next_piece_idx#45 = phi( main::@26/next_piece_idx#58 )
|
|
game_over#44 = phi( main::@26/game_over#59 )
|
|
current_ypos#62 = phi( main::@26/current_ypos#77 )
|
|
current_xpos#74 = phi( main::@26/current_xpos#95 )
|
|
current_piece_gfx#62 = phi( main::@26/current_piece_gfx#81 )
|
|
current_orientation#61 = phi( main::@26/current_orientation#76 )
|
|
current_piece_char#50 = phi( main::@26/current_piece_char#68 )
|
|
current_piece#53 = phi( main::@26/current_piece#69 )
|
|
current_movedown_slow#58 = phi( main::@26/current_movedown_slow#72 )
|
|
render_screen_show#16 = phi( main::@26/render_screen_show#3 )
|
|
render_screen_render#18 = phi( main::@26/render_screen_render#3 )
|
|
render_screen_render#5 = render_screen_render#18
|
|
render_screen_show#5 = render_screen_show#16
|
|
to:main::@1
|
|
main::@return: scope:[main] from main::@1
|
|
level_bcd#25 = phi( main::@1/level_bcd#42 )
|
|
level#25 = phi( main::@1/level#42 )
|
|
lines_bcd#20 = phi( main::@1/lines_bcd#33 )
|
|
current_movedown_counter#17 = phi( main::@1/current_movedown_counter#27 )
|
|
keyboard_modifiers#17 = phi( main::@1/keyboard_modifiers#25 )
|
|
keyboard_events_size#20 = phi( main::@1/keyboard_events_size#29 )
|
|
next_piece_idx#23 = phi( main::@1/next_piece_idx#36 )
|
|
game_over#22 = phi( main::@1/game_over#35 )
|
|
current_ypos#29 = phi( main::@1/current_ypos#50 )
|
|
current_xpos#35 = phi( main::@1/current_xpos#59 )
|
|
current_piece_gfx#28 = phi( main::@1/current_piece_gfx#46 )
|
|
current_orientation#31 = phi( main::@1/current_orientation#50 )
|
|
current_piece_char#23 = phi( main::@1/current_piece_char#37 )
|
|
current_piece#23 = phi( main::@1/current_piece#40 )
|
|
current_movedown_slow#28 = phi( main::@1/current_movedown_slow#47 )
|
|
render_screen_render#19 = phi( main::@1/render_screen_render#30 )
|
|
render_screen_show#17 = phi( main::@1/render_screen_show#25 )
|
|
render_screen_show#6 = render_screen_show#17
|
|
render_screen_render#6 = render_screen_render#19
|
|
current_movedown_slow#13 = current_movedown_slow#28
|
|
current_piece#9 = current_piece#23
|
|
current_piece_char#9 = current_piece_char#23
|
|
current_orientation#12 = current_orientation#31
|
|
current_piece_gfx#12 = current_piece_gfx#28
|
|
current_xpos#13 = current_xpos#35
|
|
current_ypos#10 = current_ypos#29
|
|
game_over#9 = game_over#22
|
|
next_piece_idx#9 = next_piece_idx#23
|
|
keyboard_events_size#7 = keyboard_events_size#20
|
|
keyboard_modifiers#7 = keyboard_modifiers#17
|
|
current_movedown_counter#6 = current_movedown_counter#17
|
|
lines_bcd#7 = lines_bcd#20
|
|
level#9 = level#25
|
|
level_bcd#10 = level_bcd#25
|
|
return
|
|
to:@return
|
|
|
|
void __start()
|
|
__start: scope:[__start] from
|
|
to:__start::__init1
|
|
__start::__init1: scope:[__start] from __start
|
|
keyboard_events_size#8 = 0
|
|
keyboard_modifiers#8 = 0
|
|
current_piece_gfx#13 = (byte*) 0
|
|
current_piece_char#10 = 0
|
|
current_xpos#14 = 0
|
|
current_ypos#11 = 0
|
|
render_screen_render#7 = $20
|
|
render_screen_show#7 = 0
|
|
render_screen_showing = 0
|
|
score_bcd = 0
|
|
lines_bcd#8 = 0
|
|
level_bcd#11 = 0
|
|
level#10 = 0
|
|
game_over#10 = 0
|
|
irq_raster_next = IRQ_RASTER_FIRST
|
|
irq_sprite_ypos = (byte)SPRITES_FIRST_YPOS+$15
|
|
__start::__init1_toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
to:__start::__init1_toSpritePtr1
|
|
__start::__init1_toSpritePtr1: scope:[__start] from __start::__init1
|
|
level_bcd#78 = phi( __start::__init1/level_bcd#11 )
|
|
level#85 = phi( __start::__init1/level#10 )
|
|
lines_bcd#68 = phi( __start::__init1/lines_bcd#8 )
|
|
keyboard_modifiers#46 = phi( __start::__init1/keyboard_modifiers#8 )
|
|
keyboard_events_size#54 = phi( __start::__init1/keyboard_events_size#8 )
|
|
game_over#73 = phi( __start::__init1/game_over#10 )
|
|
current_ypos#87 = phi( __start::__init1/current_ypos#11 )
|
|
current_xpos#108 = phi( __start::__init1/current_xpos#14 )
|
|
current_piece_gfx#99 = phi( __start::__init1/current_piece_gfx#13 )
|
|
current_piece_char#85 = phi( __start::__init1/current_piece_char#10 )
|
|
render_screen_render#56 = phi( __start::__init1/render_screen_render#7 )
|
|
render_screen_show#50 = phi( __start::__init1/render_screen_show#7 )
|
|
__start::__init1_toSpritePtr1_sprite#1 = phi( __start::__init1/__start::__init1_toSpritePtr1_sprite#0 )
|
|
__start::__init1_toSpritePtr1_$1 = (word)__start::__init1_toSpritePtr1_sprite#1
|
|
__start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1 / $40
|
|
__start::__init1_toSpritePtr1_return#0 = (byte)__start::__init1_toSpritePtr1_$0
|
|
to:__start::__init1_toSpritePtr1_@return
|
|
__start::__init1_toSpritePtr1_@return: scope:[__start] from __start::__init1_toSpritePtr1
|
|
level_bcd#68 = phi( __start::__init1_toSpritePtr1/level_bcd#78 )
|
|
level#71 = phi( __start::__init1_toSpritePtr1/level#85 )
|
|
lines_bcd#57 = phi( __start::__init1_toSpritePtr1/lines_bcd#68 )
|
|
keyboard_modifiers#40 = phi( __start::__init1_toSpritePtr1/keyboard_modifiers#46 )
|
|
keyboard_events_size#47 = phi( __start::__init1_toSpritePtr1/keyboard_events_size#54 )
|
|
game_over#60 = phi( __start::__init1_toSpritePtr1/game_over#73 )
|
|
current_ypos#78 = phi( __start::__init1_toSpritePtr1/current_ypos#87 )
|
|
current_xpos#96 = phi( __start::__init1_toSpritePtr1/current_xpos#108 )
|
|
current_piece_gfx#82 = phi( __start::__init1_toSpritePtr1/current_piece_gfx#99 )
|
|
current_piece_char#69 = phi( __start::__init1_toSpritePtr1/current_piece_char#85 )
|
|
render_screen_render#49 = phi( __start::__init1_toSpritePtr1/render_screen_render#56 )
|
|
render_screen_show#42 = phi( __start::__init1_toSpritePtr1/render_screen_show#50 )
|
|
__start::__init1_toSpritePtr1_return#2 = phi( __start::__init1_toSpritePtr1/__start::__init1_toSpritePtr1_return#0 )
|
|
__start::__init1_toSpritePtr1_return#1 = __start::__init1_toSpritePtr1_return#2
|
|
to:__start::__init1_@1
|
|
__start::__init1_@1: scope:[__start] from __start::__init1_toSpritePtr1_@return
|
|
level_bcd#56 = phi( __start::__init1_toSpritePtr1_@return/level_bcd#68 )
|
|
level#57 = phi( __start::__init1_toSpritePtr1_@return/level#71 )
|
|
lines_bcd#46 = phi( __start::__init1_toSpritePtr1_@return/lines_bcd#57 )
|
|
keyboard_modifiers#34 = phi( __start::__init1_toSpritePtr1_@return/keyboard_modifiers#40 )
|
|
keyboard_events_size#38 = phi( __start::__init1_toSpritePtr1_@return/keyboard_events_size#47 )
|
|
game_over#47 = phi( __start::__init1_toSpritePtr1_@return/game_over#60 )
|
|
current_ypos#66 = phi( __start::__init1_toSpritePtr1_@return/current_ypos#78 )
|
|
current_xpos#77 = phi( __start::__init1_toSpritePtr1_@return/current_xpos#96 )
|
|
current_piece_gfx#65 = phi( __start::__init1_toSpritePtr1_@return/current_piece_gfx#82 )
|
|
current_piece_char#53 = phi( __start::__init1_toSpritePtr1_@return/current_piece_char#69 )
|
|
render_screen_render#42 = phi( __start::__init1_toSpritePtr1_@return/render_screen_render#49 )
|
|
render_screen_show#34 = phi( __start::__init1_toSpritePtr1_@return/render_screen_show#42 )
|
|
__start::__init1_toSpritePtr1_return#3 = phi( __start::__init1_toSpritePtr1_@return/__start::__init1_toSpritePtr1_return#1 )
|
|
__start::__init1_$0 = __start::__init1_toSpritePtr1_return#3
|
|
__start::__init1_$1 = __start::__init1_$0 + 3
|
|
irq_sprite_ptr = __start::__init1_$1
|
|
irq_cnt = 0
|
|
next_piece_idx#10 = 0
|
|
current_piece#10 = (byte*)0
|
|
current_orientation#13 = 0
|
|
current_movedown_slow#14 = $30
|
|
current_movedown_counter#7 = 0
|
|
to:__start::@1
|
|
__start::@1: scope:[__start] from __start::__init1_@1
|
|
level_bcd#43 = phi( __start::__init1_@1/level_bcd#56 )
|
|
level#43 = phi( __start::__init1_@1/level#57 )
|
|
lines_bcd#34 = phi( __start::__init1_@1/lines_bcd#46 )
|
|
current_movedown_counter#28 = phi( __start::__init1_@1/current_movedown_counter#7 )
|
|
keyboard_modifiers#26 = phi( __start::__init1_@1/keyboard_modifiers#34 )
|
|
keyboard_events_size#30 = phi( __start::__init1_@1/keyboard_events_size#38 )
|
|
next_piece_idx#37 = phi( __start::__init1_@1/next_piece_idx#10 )
|
|
game_over#36 = phi( __start::__init1_@1/game_over#47 )
|
|
current_ypos#51 = phi( __start::__init1_@1/current_ypos#66 )
|
|
current_xpos#60 = phi( __start::__init1_@1/current_xpos#77 )
|
|
current_piece_gfx#47 = phi( __start::__init1_@1/current_piece_gfx#65 )
|
|
current_orientation#51 = phi( __start::__init1_@1/current_orientation#13 )
|
|
current_piece_char#38 = phi( __start::__init1_@1/current_piece_char#53 )
|
|
current_piece#41 = phi( __start::__init1_@1/current_piece#10 )
|
|
current_movedown_slow#48 = phi( __start::__init1_@1/current_movedown_slow#14 )
|
|
render_screen_render#31 = phi( __start::__init1_@1/render_screen_render#42 )
|
|
render_screen_show#26 = phi( __start::__init1_@1/render_screen_show#34 )
|
|
call main
|
|
to:__start::@2
|
|
__start::@2: scope:[__start] from __start::@1
|
|
level_bcd#26 = phi( __start::@1/level_bcd#10 )
|
|
level#26 = phi( __start::@1/level#9 )
|
|
lines_bcd#21 = phi( __start::@1/lines_bcd#7 )
|
|
current_movedown_counter#18 = phi( __start::@1/current_movedown_counter#6 )
|
|
keyboard_modifiers#18 = phi( __start::@1/keyboard_modifiers#7 )
|
|
keyboard_events_size#21 = phi( __start::@1/keyboard_events_size#7 )
|
|
next_piece_idx#24 = phi( __start::@1/next_piece_idx#9 )
|
|
game_over#23 = phi( __start::@1/game_over#9 )
|
|
current_ypos#30 = phi( __start::@1/current_ypos#10 )
|
|
current_xpos#36 = phi( __start::@1/current_xpos#13 )
|
|
current_piece_gfx#29 = phi( __start::@1/current_piece_gfx#12 )
|
|
current_orientation#32 = phi( __start::@1/current_orientation#12 )
|
|
current_piece_char#24 = phi( __start::@1/current_piece_char#9 )
|
|
current_piece#24 = phi( __start::@1/current_piece#9 )
|
|
current_movedown_slow#29 = phi( __start::@1/current_movedown_slow#13 )
|
|
render_screen_render#20 = phi( __start::@1/render_screen_render#6 )
|
|
render_screen_show#18 = phi( __start::@1/render_screen_show#6 )
|
|
render_screen_show#8 = render_screen_show#18
|
|
render_screen_render#8 = render_screen_render#20
|
|
current_movedown_slow#15 = current_movedown_slow#29
|
|
current_piece#11 = current_piece#24
|
|
current_piece_char#11 = current_piece_char#24
|
|
current_orientation#14 = current_orientation#32
|
|
current_piece_gfx#14 = current_piece_gfx#29
|
|
current_xpos#15 = current_xpos#36
|
|
current_ypos#12 = current_ypos#30
|
|
game_over#11 = game_over#23
|
|
next_piece_idx#11 = next_piece_idx#24
|
|
keyboard_events_size#9 = keyboard_events_size#21
|
|
keyboard_modifiers#9 = keyboard_modifiers#18
|
|
current_movedown_counter#8 = current_movedown_counter#18
|
|
lines_bcd#9 = lines_bcd#21
|
|
level#11 = level#26
|
|
level_bcd#12 = level_bcd#26
|
|
to:__start::@return
|
|
__start::@return: scope:[__start] from __start::@2
|
|
current_movedown_counter#19 = phi( __start::@2/current_movedown_counter#8 )
|
|
current_movedown_slow#30 = phi( __start::@2/current_movedown_slow#15 )
|
|
current_orientation#33 = phi( __start::@2/current_orientation#14 )
|
|
current_piece#25 = phi( __start::@2/current_piece#11 )
|
|
next_piece_idx#25 = phi( __start::@2/next_piece_idx#11 )
|
|
game_over#24 = phi( __start::@2/game_over#11 )
|
|
level#27 = phi( __start::@2/level#11 )
|
|
level_bcd#27 = phi( __start::@2/level_bcd#12 )
|
|
lines_bcd#22 = phi( __start::@2/lines_bcd#9 )
|
|
render_screen_show#19 = phi( __start::@2/render_screen_show#8 )
|
|
render_screen_render#21 = phi( __start::@2/render_screen_render#8 )
|
|
current_ypos#31 = phi( __start::@2/current_ypos#12 )
|
|
current_xpos#37 = phi( __start::@2/current_xpos#15 )
|
|
current_piece_char#25 = phi( __start::@2/current_piece_char#11 )
|
|
current_piece_gfx#30 = phi( __start::@2/current_piece_gfx#14 )
|
|
keyboard_modifiers#19 = phi( __start::@2/keyboard_modifiers#9 )
|
|
keyboard_events_size#22 = phi( __start::@2/keyboard_events_size#9 )
|
|
keyboard_events_size#10 = keyboard_events_size#22
|
|
keyboard_modifiers#10 = keyboard_modifiers#19
|
|
current_piece_gfx#15 = current_piece_gfx#30
|
|
current_piece_char#12 = current_piece_char#25
|
|
current_xpos#16 = current_xpos#37
|
|
current_ypos#13 = current_ypos#31
|
|
render_screen_render#9 = render_screen_render#21
|
|
render_screen_show#9 = render_screen_show#19
|
|
lines_bcd#10 = lines_bcd#22
|
|
level_bcd#13 = level_bcd#27
|
|
level#12 = level#27
|
|
game_over#12 = game_over#24
|
|
next_piece_idx#12 = next_piece_idx#25
|
|
current_piece#12 = current_piece#25
|
|
current_orientation#15 = current_orientation#33
|
|
current_movedown_slow#16 = current_movedown_slow#30
|
|
current_movedown_counter#9 = current_movedown_counter#19
|
|
return
|
|
to:@return
|
|
|
|
SYMBOL TABLE SSA
|
|
const nomodify byte* BG_COLOR = (byte*)$d021
|
|
const nomodify byte* BG_COLOR1 = (byte*)$d022
|
|
const nomodify byte* BG_COLOR2 = (byte*)$d023
|
|
const nomodify byte* BG_COLOR3 = (byte*)$d024
|
|
const nomodify byte BLACK = 0
|
|
const nomodify byte BLUE = 6
|
|
const nomodify byte* BORDER_COLOR = (byte*)$d020
|
|
const nomodify struct MOS6526_CIA* CIA1 = (struct MOS6526_CIA*)$dc00
|
|
const nomodify byte* CIA1_INTERRUPT = (byte*)$dc0d
|
|
const nomodify struct MOS6526_CIA* CIA2 = (struct MOS6526_CIA*)$dd00
|
|
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*)$d800
|
|
const nomodify byte CYAN = 3
|
|
const nomodify byte* D011 = (byte*)$d011
|
|
const nomodify byte* D018 = (byte*)$d018
|
|
const nomodify byte DARK_GREY = $b
|
|
const nomodify byte GREEN = 5
|
|
const nomodify byte GREY = $c
|
|
const nomodify void()** HARDWARE_IRQ = (void()**)$fffe
|
|
const nomodify byte* IRQ_ENABLE = (byte*)$d01a
|
|
const nomodify byte IRQ_RASTER = 1
|
|
const nomodify byte IRQ_RASTER_FIRST = (byte)SPRITES_FIRST_YPOS+$13
|
|
const nomodify byte* IRQ_STATUS = (byte*)$d019
|
|
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_MODIFIER_COMMODORE = 8
|
|
const nomodify byte KEY_MODIFIER_CTRL = 4
|
|
const nomodify byte KEY_MODIFIER_LSHIFT = 1
|
|
const nomodify byte KEY_MODIFIER_RSHIFT = 2
|
|
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 = 0
|
|
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*)$400
|
|
const nomodify byte* PLAYFIELD_SCREEN_2 = (byte*)$2c00
|
|
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*)$d012
|
|
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*)$d400
|
|
const nomodify byte SID_CONTROL_NOISE = $80
|
|
const byte SIZEOF_DWORD = 4
|
|
const byte SIZEOF_POINTER = 2
|
|
const byte SIZEOF_WORD = 2
|
|
const nomodify byte* SPRITES_COLOR = (byte*)$d027
|
|
const nomodify byte* SPRITES_ENABLE = (byte*)$d015
|
|
const nomodify byte* SPRITES_EXPAND_X = (byte*)$d01d
|
|
const nomodify byte* SPRITES_EXPAND_Y = (byte*)$d017
|
|
const nomodify byte SPRITES_FIRST_YPOS = $31
|
|
const nomodify byte* SPRITES_MC = (byte*)$d01c
|
|
const nomodify byte* SPRITES_XPOS = (byte*)$d000
|
|
const nomodify byte* SPRITES_YPOS = (byte*)$d001
|
|
const nomodify byte* VICII_CONTROL = (byte*)$d011
|
|
const nomodify byte VICII_DEN = $10
|
|
const nomodify byte VICII_ECM = $40
|
|
const nomodify byte VICII_RSEL = 8
|
|
void __start()
|
|
byte~ __start::__init1_$0
|
|
number~ __start::__init1_$1
|
|
number~ __start::__init1_toSpritePtr1_$0
|
|
word~ __start::__init1_toSpritePtr1_$1
|
|
byte __start::__init1_toSpritePtr1_return
|
|
byte __start::__init1_toSpritePtr1_return#0
|
|
byte __start::__init1_toSpritePtr1_return#1
|
|
byte __start::__init1_toSpritePtr1_return#2
|
|
byte __start::__init1_toSpritePtr1_return#3
|
|
byte* __start::__init1_toSpritePtr1_sprite
|
|
byte* __start::__init1_toSpritePtr1_sprite#0
|
|
byte* __start::__init1_toSpritePtr1_sprite#1
|
|
byte current_movedown_counter
|
|
byte current_movedown_counter#0
|
|
byte current_movedown_counter#1
|
|
byte current_movedown_counter#10
|
|
byte current_movedown_counter#11
|
|
byte current_movedown_counter#12
|
|
byte current_movedown_counter#13
|
|
byte current_movedown_counter#14
|
|
byte current_movedown_counter#15
|
|
byte current_movedown_counter#16
|
|
byte current_movedown_counter#17
|
|
byte current_movedown_counter#18
|
|
byte current_movedown_counter#19
|
|
byte current_movedown_counter#2
|
|
byte current_movedown_counter#20
|
|
byte current_movedown_counter#21
|
|
byte current_movedown_counter#22
|
|
byte current_movedown_counter#23
|
|
byte current_movedown_counter#24
|
|
byte current_movedown_counter#25
|
|
byte current_movedown_counter#26
|
|
byte current_movedown_counter#27
|
|
byte current_movedown_counter#28
|
|
byte current_movedown_counter#29
|
|
byte current_movedown_counter#3
|
|
byte current_movedown_counter#30
|
|
byte current_movedown_counter#31
|
|
byte current_movedown_counter#32
|
|
byte current_movedown_counter#33
|
|
byte current_movedown_counter#34
|
|
byte current_movedown_counter#35
|
|
byte current_movedown_counter#36
|
|
byte current_movedown_counter#37
|
|
byte current_movedown_counter#38
|
|
byte current_movedown_counter#39
|
|
byte current_movedown_counter#4
|
|
byte current_movedown_counter#40
|
|
byte current_movedown_counter#41
|
|
byte current_movedown_counter#42
|
|
byte current_movedown_counter#43
|
|
byte current_movedown_counter#44
|
|
byte current_movedown_counter#45
|
|
byte current_movedown_counter#46
|
|
byte current_movedown_counter#47
|
|
byte current_movedown_counter#48
|
|
byte current_movedown_counter#49
|
|
byte current_movedown_counter#5
|
|
byte current_movedown_counter#50
|
|
byte current_movedown_counter#51
|
|
byte current_movedown_counter#52
|
|
byte current_movedown_counter#53
|
|
byte current_movedown_counter#54
|
|
byte current_movedown_counter#55
|
|
byte current_movedown_counter#56
|
|
byte current_movedown_counter#57
|
|
byte current_movedown_counter#58
|
|
byte current_movedown_counter#59
|
|
byte current_movedown_counter#6
|
|
byte current_movedown_counter#60
|
|
byte current_movedown_counter#7
|
|
byte current_movedown_counter#8
|
|
byte current_movedown_counter#9
|
|
const nomodify byte current_movedown_fast = $a
|
|
byte current_movedown_slow
|
|
byte current_movedown_slow#0
|
|
byte current_movedown_slow#1
|
|
byte current_movedown_slow#10
|
|
byte current_movedown_slow#11
|
|
byte current_movedown_slow#12
|
|
byte current_movedown_slow#13
|
|
byte current_movedown_slow#14
|
|
byte current_movedown_slow#15
|
|
byte current_movedown_slow#16
|
|
byte current_movedown_slow#17
|
|
byte current_movedown_slow#18
|
|
byte current_movedown_slow#19
|
|
byte current_movedown_slow#2
|
|
byte current_movedown_slow#20
|
|
byte current_movedown_slow#21
|
|
byte current_movedown_slow#22
|
|
byte current_movedown_slow#23
|
|
byte current_movedown_slow#24
|
|
byte current_movedown_slow#25
|
|
byte current_movedown_slow#26
|
|
byte current_movedown_slow#27
|
|
byte current_movedown_slow#28
|
|
byte current_movedown_slow#29
|
|
byte current_movedown_slow#3
|
|
byte current_movedown_slow#30
|
|
byte current_movedown_slow#31
|
|
byte current_movedown_slow#32
|
|
byte current_movedown_slow#33
|
|
byte current_movedown_slow#34
|
|
byte current_movedown_slow#35
|
|
byte current_movedown_slow#36
|
|
byte current_movedown_slow#37
|
|
byte current_movedown_slow#38
|
|
byte current_movedown_slow#39
|
|
byte current_movedown_slow#4
|
|
byte current_movedown_slow#40
|
|
byte current_movedown_slow#41
|
|
byte current_movedown_slow#42
|
|
byte current_movedown_slow#43
|
|
byte current_movedown_slow#44
|
|
byte current_movedown_slow#45
|
|
byte current_movedown_slow#46
|
|
byte current_movedown_slow#47
|
|
byte current_movedown_slow#48
|
|
byte current_movedown_slow#49
|
|
byte current_movedown_slow#5
|
|
byte current_movedown_slow#50
|
|
byte current_movedown_slow#51
|
|
byte current_movedown_slow#52
|
|
byte current_movedown_slow#53
|
|
byte current_movedown_slow#54
|
|
byte current_movedown_slow#55
|
|
byte current_movedown_slow#56
|
|
byte current_movedown_slow#57
|
|
byte current_movedown_slow#58
|
|
byte current_movedown_slow#59
|
|
byte current_movedown_slow#6
|
|
byte current_movedown_slow#60
|
|
byte current_movedown_slow#61
|
|
byte current_movedown_slow#62
|
|
byte current_movedown_slow#63
|
|
byte current_movedown_slow#64
|
|
byte current_movedown_slow#65
|
|
byte current_movedown_slow#66
|
|
byte current_movedown_slow#67
|
|
byte current_movedown_slow#68
|
|
byte current_movedown_slow#69
|
|
byte current_movedown_slow#7
|
|
byte current_movedown_slow#70
|
|
byte current_movedown_slow#71
|
|
byte current_movedown_slow#72
|
|
byte current_movedown_slow#73
|
|
byte current_movedown_slow#74
|
|
byte current_movedown_slow#75
|
|
byte current_movedown_slow#76
|
|
byte current_movedown_slow#77
|
|
byte current_movedown_slow#78
|
|
byte current_movedown_slow#79
|
|
byte current_movedown_slow#8
|
|
byte current_movedown_slow#80
|
|
byte current_movedown_slow#81
|
|
byte current_movedown_slow#82
|
|
byte current_movedown_slow#83
|
|
byte current_movedown_slow#84
|
|
byte current_movedown_slow#85
|
|
byte current_movedown_slow#86
|
|
byte current_movedown_slow#87
|
|
byte current_movedown_slow#88
|
|
byte current_movedown_slow#89
|
|
byte current_movedown_slow#9
|
|
byte current_orientation
|
|
byte current_orientation#0
|
|
byte current_orientation#1
|
|
byte current_orientation#10
|
|
byte current_orientation#11
|
|
byte current_orientation#12
|
|
byte current_orientation#13
|
|
byte current_orientation#14
|
|
byte current_orientation#15
|
|
byte current_orientation#16
|
|
byte current_orientation#17
|
|
byte current_orientation#18
|
|
byte current_orientation#19
|
|
byte current_orientation#2
|
|
byte current_orientation#20
|
|
byte current_orientation#21
|
|
byte current_orientation#22
|
|
byte current_orientation#23
|
|
byte current_orientation#24
|
|
byte current_orientation#25
|
|
byte current_orientation#26
|
|
byte current_orientation#27
|
|
byte current_orientation#28
|
|
byte current_orientation#29
|
|
byte current_orientation#3
|
|
byte current_orientation#30
|
|
byte current_orientation#31
|
|
byte current_orientation#32
|
|
byte current_orientation#33
|
|
byte current_orientation#34
|
|
byte current_orientation#35
|
|
byte current_orientation#36
|
|
byte current_orientation#37
|
|
byte current_orientation#38
|
|
byte current_orientation#39
|
|
byte current_orientation#4
|
|
byte current_orientation#40
|
|
byte current_orientation#41
|
|
byte current_orientation#42
|
|
byte current_orientation#43
|
|
byte current_orientation#44
|
|
byte current_orientation#45
|
|
byte current_orientation#46
|
|
byte current_orientation#47
|
|
byte current_orientation#48
|
|
byte current_orientation#49
|
|
byte current_orientation#5
|
|
byte current_orientation#50
|
|
byte current_orientation#51
|
|
byte current_orientation#52
|
|
byte current_orientation#53
|
|
byte current_orientation#54
|
|
byte current_orientation#55
|
|
byte current_orientation#56
|
|
byte current_orientation#57
|
|
byte current_orientation#58
|
|
byte current_orientation#59
|
|
byte current_orientation#6
|
|
byte current_orientation#60
|
|
byte current_orientation#61
|
|
byte current_orientation#62
|
|
byte current_orientation#63
|
|
byte current_orientation#64
|
|
byte current_orientation#65
|
|
byte current_orientation#66
|
|
byte current_orientation#67
|
|
byte current_orientation#68
|
|
byte current_orientation#69
|
|
byte current_orientation#7
|
|
byte current_orientation#70
|
|
byte current_orientation#71
|
|
byte current_orientation#72
|
|
byte current_orientation#73
|
|
byte current_orientation#74
|
|
byte current_orientation#75
|
|
byte current_orientation#76
|
|
byte current_orientation#77
|
|
byte current_orientation#78
|
|
byte current_orientation#79
|
|
byte current_orientation#8
|
|
byte current_orientation#80
|
|
byte current_orientation#81
|
|
byte current_orientation#82
|
|
byte current_orientation#83
|
|
byte current_orientation#84
|
|
byte current_orientation#85
|
|
byte current_orientation#86
|
|
byte current_orientation#87
|
|
byte current_orientation#88
|
|
byte current_orientation#89
|
|
byte current_orientation#9
|
|
byte current_orientation#90
|
|
byte current_orientation#91
|
|
byte current_orientation#92
|
|
byte current_orientation#93
|
|
byte current_orientation#94
|
|
byte current_orientation#95
|
|
byte current_orientation#96
|
|
byte current_orientation#97
|
|
byte* current_piece
|
|
byte* current_piece#0
|
|
byte* current_piece#1
|
|
byte* current_piece#10
|
|
byte* current_piece#11
|
|
byte* current_piece#12
|
|
byte* current_piece#13
|
|
byte* current_piece#14
|
|
byte* current_piece#15
|
|
byte* current_piece#16
|
|
byte* current_piece#17
|
|
byte* current_piece#18
|
|
byte* current_piece#19
|
|
byte* current_piece#2
|
|
byte* current_piece#20
|
|
byte* current_piece#21
|
|
byte* current_piece#22
|
|
byte* current_piece#23
|
|
byte* current_piece#24
|
|
byte* current_piece#25
|
|
byte* current_piece#26
|
|
byte* current_piece#27
|
|
byte* current_piece#28
|
|
byte* current_piece#29
|
|
byte* current_piece#3
|
|
byte* current_piece#30
|
|
byte* current_piece#31
|
|
byte* current_piece#32
|
|
byte* current_piece#33
|
|
byte* current_piece#34
|
|
byte* current_piece#35
|
|
byte* current_piece#36
|
|
byte* current_piece#37
|
|
byte* current_piece#38
|
|
byte* current_piece#39
|
|
byte* current_piece#4
|
|
byte* current_piece#40
|
|
byte* current_piece#41
|
|
byte* current_piece#42
|
|
byte* current_piece#43
|
|
byte* current_piece#44
|
|
byte* current_piece#45
|
|
byte* current_piece#46
|
|
byte* current_piece#47
|
|
byte* current_piece#48
|
|
byte* current_piece#49
|
|
byte* current_piece#5
|
|
byte* current_piece#50
|
|
byte* current_piece#51
|
|
byte* current_piece#52
|
|
byte* current_piece#53
|
|
byte* current_piece#54
|
|
byte* current_piece#55
|
|
byte* current_piece#56
|
|
byte* current_piece#57
|
|
byte* current_piece#58
|
|
byte* current_piece#59
|
|
byte* current_piece#6
|
|
byte* current_piece#60
|
|
byte* current_piece#61
|
|
byte* current_piece#62
|
|
byte* current_piece#63
|
|
byte* current_piece#64
|
|
byte* current_piece#65
|
|
byte* current_piece#66
|
|
byte* current_piece#67
|
|
byte* current_piece#68
|
|
byte* current_piece#69
|
|
byte* current_piece#7
|
|
byte* current_piece#70
|
|
byte* current_piece#71
|
|
byte* current_piece#72
|
|
byte* current_piece#73
|
|
byte* current_piece#74
|
|
byte* current_piece#75
|
|
byte* current_piece#76
|
|
byte* current_piece#77
|
|
byte* current_piece#78
|
|
byte* current_piece#79
|
|
byte* current_piece#8
|
|
byte* current_piece#80
|
|
byte* current_piece#81
|
|
byte* current_piece#82
|
|
byte* current_piece#83
|
|
byte* current_piece#84
|
|
byte* current_piece#85
|
|
byte* current_piece#86
|
|
byte* current_piece#87
|
|
byte* current_piece#88
|
|
byte* current_piece#89
|
|
byte* current_piece#9
|
|
byte* current_piece#90
|
|
byte* current_piece#91
|
|
byte* current_piece#92
|
|
byte* current_piece#93
|
|
byte current_piece_char
|
|
byte current_piece_char#0
|
|
byte current_piece_char#1
|
|
byte current_piece_char#10
|
|
byte current_piece_char#11
|
|
byte current_piece_char#12
|
|
byte current_piece_char#13
|
|
byte current_piece_char#14
|
|
byte current_piece_char#15
|
|
byte current_piece_char#16
|
|
byte current_piece_char#17
|
|
byte current_piece_char#18
|
|
byte current_piece_char#19
|
|
byte current_piece_char#2
|
|
byte current_piece_char#20
|
|
byte current_piece_char#21
|
|
byte current_piece_char#22
|
|
byte current_piece_char#23
|
|
byte current_piece_char#24
|
|
byte current_piece_char#25
|
|
byte current_piece_char#26
|
|
byte current_piece_char#27
|
|
byte current_piece_char#28
|
|
byte current_piece_char#29
|
|
byte current_piece_char#3
|
|
byte current_piece_char#30
|
|
byte current_piece_char#31
|
|
byte current_piece_char#32
|
|
byte current_piece_char#33
|
|
byte current_piece_char#34
|
|
byte current_piece_char#35
|
|
byte current_piece_char#36
|
|
byte current_piece_char#37
|
|
byte current_piece_char#38
|
|
byte current_piece_char#39
|
|
byte current_piece_char#4
|
|
byte current_piece_char#40
|
|
byte current_piece_char#41
|
|
byte current_piece_char#42
|
|
byte current_piece_char#43
|
|
byte current_piece_char#44
|
|
byte current_piece_char#45
|
|
byte current_piece_char#46
|
|
byte current_piece_char#47
|
|
byte current_piece_char#48
|
|
byte current_piece_char#49
|
|
byte current_piece_char#5
|
|
byte current_piece_char#50
|
|
byte current_piece_char#51
|
|
byte current_piece_char#52
|
|
byte current_piece_char#53
|
|
byte current_piece_char#54
|
|
byte current_piece_char#55
|
|
byte current_piece_char#56
|
|
byte current_piece_char#57
|
|
byte current_piece_char#58
|
|
byte current_piece_char#59
|
|
byte current_piece_char#6
|
|
byte current_piece_char#60
|
|
byte current_piece_char#61
|
|
byte current_piece_char#62
|
|
byte current_piece_char#63
|
|
byte current_piece_char#64
|
|
byte current_piece_char#65
|
|
byte current_piece_char#66
|
|
byte current_piece_char#67
|
|
byte current_piece_char#68
|
|
byte current_piece_char#69
|
|
byte current_piece_char#7
|
|
byte current_piece_char#70
|
|
byte current_piece_char#71
|
|
byte current_piece_char#72
|
|
byte current_piece_char#73
|
|
byte current_piece_char#74
|
|
byte current_piece_char#75
|
|
byte current_piece_char#76
|
|
byte current_piece_char#77
|
|
byte current_piece_char#78
|
|
byte current_piece_char#79
|
|
byte current_piece_char#8
|
|
byte current_piece_char#80
|
|
byte current_piece_char#81
|
|
byte current_piece_char#82
|
|
byte current_piece_char#83
|
|
byte current_piece_char#84
|
|
byte current_piece_char#85
|
|
byte current_piece_char#86
|
|
byte current_piece_char#87
|
|
byte current_piece_char#88
|
|
byte current_piece_char#89
|
|
byte current_piece_char#9
|
|
byte current_piece_char#90
|
|
byte current_piece_char#91
|
|
byte current_piece_char#92
|
|
byte current_piece_char#93
|
|
byte current_piece_char#94
|
|
byte current_piece_char#95
|
|
byte current_piece_char#96
|
|
byte current_piece_char#97
|
|
byte current_piece_char#98
|
|
byte* current_piece_gfx
|
|
byte* current_piece_gfx#0
|
|
byte* current_piece_gfx#1
|
|
byte* current_piece_gfx#10
|
|
byte* current_piece_gfx#100
|
|
byte* current_piece_gfx#101
|
|
byte* current_piece_gfx#102
|
|
byte* current_piece_gfx#103
|
|
byte* current_piece_gfx#104
|
|
byte* current_piece_gfx#105
|
|
byte* current_piece_gfx#106
|
|
byte* current_piece_gfx#107
|
|
byte* current_piece_gfx#108
|
|
byte* current_piece_gfx#109
|
|
byte* current_piece_gfx#11
|
|
byte* current_piece_gfx#110
|
|
byte* current_piece_gfx#12
|
|
byte* current_piece_gfx#13
|
|
byte* current_piece_gfx#14
|
|
byte* current_piece_gfx#15
|
|
byte* current_piece_gfx#16
|
|
byte* current_piece_gfx#17
|
|
byte* current_piece_gfx#18
|
|
byte* current_piece_gfx#19
|
|
byte* current_piece_gfx#2
|
|
byte* current_piece_gfx#20
|
|
byte* current_piece_gfx#21
|
|
byte* current_piece_gfx#22
|
|
byte* current_piece_gfx#23
|
|
byte* current_piece_gfx#24
|
|
byte* current_piece_gfx#25
|
|
byte* current_piece_gfx#26
|
|
byte* current_piece_gfx#27
|
|
byte* current_piece_gfx#28
|
|
byte* current_piece_gfx#29
|
|
byte* current_piece_gfx#3
|
|
byte* current_piece_gfx#30
|
|
byte* current_piece_gfx#31
|
|
byte* current_piece_gfx#32
|
|
byte* current_piece_gfx#33
|
|
byte* current_piece_gfx#34
|
|
byte* current_piece_gfx#35
|
|
byte* current_piece_gfx#36
|
|
byte* current_piece_gfx#37
|
|
byte* current_piece_gfx#38
|
|
byte* current_piece_gfx#39
|
|
byte* current_piece_gfx#4
|
|
byte* current_piece_gfx#40
|
|
byte* current_piece_gfx#41
|
|
byte* current_piece_gfx#42
|
|
byte* current_piece_gfx#43
|
|
byte* current_piece_gfx#44
|
|
byte* current_piece_gfx#45
|
|
byte* current_piece_gfx#46
|
|
byte* current_piece_gfx#47
|
|
byte* current_piece_gfx#48
|
|
byte* current_piece_gfx#49
|
|
byte* current_piece_gfx#5
|
|
byte* current_piece_gfx#50
|
|
byte* current_piece_gfx#51
|
|
byte* current_piece_gfx#52
|
|
byte* current_piece_gfx#53
|
|
byte* current_piece_gfx#54
|
|
byte* current_piece_gfx#55
|
|
byte* current_piece_gfx#56
|
|
byte* current_piece_gfx#57
|
|
byte* current_piece_gfx#58
|
|
byte* current_piece_gfx#59
|
|
byte* current_piece_gfx#6
|
|
byte* current_piece_gfx#60
|
|
byte* current_piece_gfx#61
|
|
byte* current_piece_gfx#62
|
|
byte* current_piece_gfx#63
|
|
byte* current_piece_gfx#64
|
|
byte* current_piece_gfx#65
|
|
byte* current_piece_gfx#66
|
|
byte* current_piece_gfx#67
|
|
byte* current_piece_gfx#68
|
|
byte* current_piece_gfx#69
|
|
byte* current_piece_gfx#7
|
|
byte* current_piece_gfx#70
|
|
byte* current_piece_gfx#71
|
|
byte* current_piece_gfx#72
|
|
byte* current_piece_gfx#73
|
|
byte* current_piece_gfx#74
|
|
byte* current_piece_gfx#75
|
|
byte* current_piece_gfx#76
|
|
byte* current_piece_gfx#77
|
|
byte* current_piece_gfx#78
|
|
byte* current_piece_gfx#79
|
|
byte* current_piece_gfx#8
|
|
byte* current_piece_gfx#80
|
|
byte* current_piece_gfx#81
|
|
byte* current_piece_gfx#82
|
|
byte* current_piece_gfx#83
|
|
byte* current_piece_gfx#84
|
|
byte* current_piece_gfx#85
|
|
byte* current_piece_gfx#86
|
|
byte* current_piece_gfx#87
|
|
byte* current_piece_gfx#88
|
|
byte* current_piece_gfx#89
|
|
byte* current_piece_gfx#9
|
|
byte* current_piece_gfx#90
|
|
byte* current_piece_gfx#91
|
|
byte* current_piece_gfx#92
|
|
byte* current_piece_gfx#93
|
|
byte* current_piece_gfx#94
|
|
byte* current_piece_gfx#95
|
|
byte* current_piece_gfx#96
|
|
byte* current_piece_gfx#97
|
|
byte* current_piece_gfx#98
|
|
byte* current_piece_gfx#99
|
|
byte current_xpos
|
|
byte current_xpos#0
|
|
byte current_xpos#1
|
|
byte current_xpos#10
|
|
byte current_xpos#100
|
|
byte current_xpos#101
|
|
byte current_xpos#102
|
|
byte current_xpos#103
|
|
byte current_xpos#104
|
|
byte current_xpos#105
|
|
byte current_xpos#106
|
|
byte current_xpos#107
|
|
byte current_xpos#108
|
|
byte current_xpos#109
|
|
byte current_xpos#11
|
|
byte current_xpos#110
|
|
byte current_xpos#111
|
|
byte current_xpos#112
|
|
byte current_xpos#113
|
|
byte current_xpos#114
|
|
byte current_xpos#115
|
|
byte current_xpos#116
|
|
byte current_xpos#117
|
|
byte current_xpos#12
|
|
byte current_xpos#13
|
|
byte current_xpos#14
|
|
byte current_xpos#15
|
|
byte current_xpos#16
|
|
byte current_xpos#17
|
|
byte current_xpos#18
|
|
byte current_xpos#19
|
|
byte current_xpos#2
|
|
byte current_xpos#20
|
|
byte current_xpos#21
|
|
byte current_xpos#22
|
|
byte current_xpos#23
|
|
byte current_xpos#24
|
|
byte current_xpos#25
|
|
byte current_xpos#26
|
|
byte current_xpos#27
|
|
byte current_xpos#28
|
|
byte current_xpos#29
|
|
byte current_xpos#3
|
|
byte current_xpos#30
|
|
byte current_xpos#31
|
|
byte current_xpos#32
|
|
byte current_xpos#33
|
|
byte current_xpos#34
|
|
byte current_xpos#35
|
|
byte current_xpos#36
|
|
byte current_xpos#37
|
|
byte current_xpos#38
|
|
byte current_xpos#39
|
|
byte current_xpos#4
|
|
byte current_xpos#40
|
|
byte current_xpos#41
|
|
byte current_xpos#42
|
|
byte current_xpos#43
|
|
byte current_xpos#44
|
|
byte current_xpos#45
|
|
byte current_xpos#46
|
|
byte current_xpos#47
|
|
byte current_xpos#48
|
|
byte current_xpos#49
|
|
byte current_xpos#5
|
|
byte current_xpos#50
|
|
byte current_xpos#51
|
|
byte current_xpos#52
|
|
byte current_xpos#53
|
|
byte current_xpos#54
|
|
byte current_xpos#55
|
|
byte current_xpos#56
|
|
byte current_xpos#57
|
|
byte current_xpos#58
|
|
byte current_xpos#59
|
|
byte current_xpos#6
|
|
byte current_xpos#60
|
|
byte current_xpos#61
|
|
byte current_xpos#62
|
|
byte current_xpos#63
|
|
byte current_xpos#64
|
|
byte current_xpos#65
|
|
byte current_xpos#66
|
|
byte current_xpos#67
|
|
byte current_xpos#68
|
|
byte current_xpos#69
|
|
byte current_xpos#7
|
|
byte current_xpos#70
|
|
byte current_xpos#71
|
|
byte current_xpos#72
|
|
byte current_xpos#73
|
|
byte current_xpos#74
|
|
byte current_xpos#75
|
|
byte current_xpos#76
|
|
byte current_xpos#77
|
|
byte current_xpos#78
|
|
byte current_xpos#79
|
|
byte current_xpos#8
|
|
byte current_xpos#80
|
|
byte current_xpos#81
|
|
byte current_xpos#82
|
|
byte current_xpos#83
|
|
byte current_xpos#84
|
|
byte current_xpos#85
|
|
byte current_xpos#86
|
|
byte current_xpos#87
|
|
byte current_xpos#88
|
|
byte current_xpos#89
|
|
byte current_xpos#9
|
|
byte current_xpos#90
|
|
byte current_xpos#91
|
|
byte current_xpos#92
|
|
byte current_xpos#93
|
|
byte current_xpos#94
|
|
byte current_xpos#95
|
|
byte current_xpos#96
|
|
byte current_xpos#97
|
|
byte current_xpos#98
|
|
byte current_xpos#99
|
|
byte current_ypos
|
|
byte current_ypos#0
|
|
byte current_ypos#1
|
|
byte current_ypos#10
|
|
byte current_ypos#11
|
|
byte current_ypos#12
|
|
byte current_ypos#13
|
|
byte current_ypos#14
|
|
byte current_ypos#15
|
|
byte current_ypos#16
|
|
byte current_ypos#17
|
|
byte current_ypos#18
|
|
byte current_ypos#19
|
|
byte current_ypos#2
|
|
byte current_ypos#20
|
|
byte current_ypos#21
|
|
byte current_ypos#22
|
|
byte current_ypos#23
|
|
byte current_ypos#24
|
|
byte current_ypos#25
|
|
byte current_ypos#26
|
|
byte current_ypos#27
|
|
byte current_ypos#28
|
|
byte current_ypos#29
|
|
byte current_ypos#3
|
|
byte current_ypos#30
|
|
byte current_ypos#31
|
|
byte current_ypos#32
|
|
byte current_ypos#33
|
|
byte current_ypos#34
|
|
byte current_ypos#35
|
|
byte current_ypos#36
|
|
byte current_ypos#37
|
|
byte current_ypos#38
|
|
byte current_ypos#39
|
|
byte current_ypos#4
|
|
byte current_ypos#40
|
|
byte current_ypos#41
|
|
byte current_ypos#42
|
|
byte current_ypos#43
|
|
byte current_ypos#44
|
|
byte current_ypos#45
|
|
byte current_ypos#46
|
|
byte current_ypos#47
|
|
byte current_ypos#48
|
|
byte current_ypos#49
|
|
byte current_ypos#5
|
|
byte current_ypos#50
|
|
byte current_ypos#51
|
|
byte current_ypos#52
|
|
byte current_ypos#53
|
|
byte current_ypos#54
|
|
byte current_ypos#55
|
|
byte current_ypos#56
|
|
byte current_ypos#57
|
|
byte current_ypos#58
|
|
byte current_ypos#59
|
|
byte current_ypos#6
|
|
byte current_ypos#60
|
|
byte current_ypos#61
|
|
byte current_ypos#62
|
|
byte current_ypos#63
|
|
byte current_ypos#64
|
|
byte current_ypos#65
|
|
byte current_ypos#66
|
|
byte current_ypos#67
|
|
byte current_ypos#68
|
|
byte current_ypos#69
|
|
byte current_ypos#7
|
|
byte current_ypos#70
|
|
byte current_ypos#71
|
|
byte current_ypos#72
|
|
byte current_ypos#73
|
|
byte current_ypos#74
|
|
byte current_ypos#75
|
|
byte current_ypos#76
|
|
byte current_ypos#77
|
|
byte current_ypos#78
|
|
byte current_ypos#79
|
|
byte current_ypos#8
|
|
byte current_ypos#80
|
|
byte current_ypos#81
|
|
byte current_ypos#82
|
|
byte current_ypos#83
|
|
byte current_ypos#84
|
|
byte current_ypos#85
|
|
byte current_ypos#86
|
|
byte current_ypos#87
|
|
byte current_ypos#88
|
|
byte current_ypos#89
|
|
byte current_ypos#9
|
|
byte current_ypos#90
|
|
byte current_ypos#91
|
|
byte current_ypos#92
|
|
byte current_ypos#93
|
|
byte current_ypos#94
|
|
byte current_ypos#95
|
|
byte current_ypos#96
|
|
byte game_over
|
|
byte game_over#0
|
|
byte game_over#1
|
|
byte game_over#10
|
|
byte game_over#11
|
|
byte game_over#12
|
|
byte game_over#13
|
|
byte game_over#14
|
|
byte game_over#15
|
|
byte game_over#16
|
|
byte game_over#17
|
|
byte game_over#18
|
|
byte game_over#19
|
|
byte game_over#2
|
|
byte game_over#20
|
|
byte game_over#21
|
|
byte game_over#22
|
|
byte game_over#23
|
|
byte game_over#24
|
|
byte game_over#25
|
|
byte game_over#26
|
|
byte game_over#27
|
|
byte game_over#28
|
|
byte game_over#29
|
|
byte game_over#3
|
|
byte game_over#30
|
|
byte game_over#31
|
|
byte game_over#32
|
|
byte game_over#33
|
|
byte game_over#34
|
|
byte game_over#35
|
|
byte game_over#36
|
|
byte game_over#37
|
|
byte game_over#38
|
|
byte game_over#39
|
|
byte game_over#4
|
|
byte game_over#40
|
|
byte game_over#41
|
|
byte game_over#42
|
|
byte game_over#43
|
|
byte game_over#44
|
|
byte game_over#45
|
|
byte game_over#46
|
|
byte game_over#47
|
|
byte game_over#48
|
|
byte game_over#49
|
|
byte game_over#5
|
|
byte game_over#50
|
|
byte game_over#51
|
|
byte game_over#52
|
|
byte game_over#53
|
|
byte game_over#54
|
|
byte game_over#55
|
|
byte game_over#56
|
|
byte game_over#57
|
|
byte game_over#58
|
|
byte game_over#59
|
|
byte game_over#6
|
|
byte game_over#60
|
|
byte game_over#61
|
|
byte game_over#62
|
|
byte game_over#63
|
|
byte game_over#64
|
|
byte game_over#65
|
|
byte game_over#66
|
|
byte game_over#67
|
|
byte game_over#68
|
|
byte game_over#69
|
|
byte game_over#7
|
|
byte game_over#70
|
|
byte game_over#71
|
|
byte game_over#72
|
|
byte game_over#73
|
|
byte game_over#74
|
|
byte game_over#75
|
|
byte game_over#76
|
|
byte game_over#77
|
|
byte game_over#78
|
|
byte game_over#79
|
|
byte game_over#8
|
|
byte game_over#80
|
|
byte game_over#81
|
|
byte game_over#82
|
|
byte game_over#83
|
|
byte game_over#84
|
|
byte game_over#9
|
|
volatile byte irq_cnt loadstore
|
|
volatile byte irq_raster_next loadstore
|
|
volatile byte irq_sprite_ptr loadstore
|
|
volatile byte irq_sprite_ypos loadstore
|
|
byte keyboard_event_get()
|
|
bool~ keyboard_event_get::$0
|
|
byte keyboard_event_get::return
|
|
byte keyboard_event_get::return#0
|
|
byte keyboard_event_get::return#1
|
|
byte keyboard_event_get::return#2
|
|
byte keyboard_event_get::return#3
|
|
byte keyboard_event_get::return#4
|
|
byte keyboard_event_get::return#5
|
|
byte keyboard_event_pressed(byte keyboard_event_pressed::keycode)
|
|
byte~ keyboard_event_pressed::$0
|
|
number~ keyboard_event_pressed::$1
|
|
byte~ keyboard_event_pressed::$2
|
|
byte keyboard_event_pressed::keycode
|
|
byte keyboard_event_pressed::keycode#0
|
|
byte keyboard_event_pressed::keycode#1
|
|
byte keyboard_event_pressed::keycode#2
|
|
byte keyboard_event_pressed::keycode#3
|
|
byte keyboard_event_pressed::keycode#4
|
|
byte keyboard_event_pressed::keycode#5
|
|
byte keyboard_event_pressed::return
|
|
byte keyboard_event_pressed::return#0
|
|
byte keyboard_event_pressed::return#1
|
|
byte keyboard_event_pressed::return#10
|
|
byte keyboard_event_pressed::return#11
|
|
byte keyboard_event_pressed::return#12
|
|
byte keyboard_event_pressed::return#2
|
|
byte keyboard_event_pressed::return#3
|
|
byte keyboard_event_pressed::return#4
|
|
byte keyboard_event_pressed::return#5
|
|
byte keyboard_event_pressed::return#6
|
|
byte keyboard_event_pressed::return#7
|
|
byte keyboard_event_pressed::return#8
|
|
byte keyboard_event_pressed::return#9
|
|
byte keyboard_event_pressed::row_bits
|
|
byte keyboard_event_pressed::row_bits#0
|
|
void keyboard_event_scan()
|
|
byte~ keyboard_event_scan::$0
|
|
bool~ keyboard_event_scan::$1
|
|
bool~ keyboard_event_scan::$10
|
|
bool~ keyboard_event_scan::$11
|
|
byte~ keyboard_event_scan::$12
|
|
bool~ keyboard_event_scan::$13
|
|
number~ keyboard_event_scan::$14
|
|
byte~ keyboard_event_scan::$15
|
|
byte~ keyboard_event_scan::$16
|
|
bool~ keyboard_event_scan::$17
|
|
bool~ keyboard_event_scan::$18
|
|
bool~ keyboard_event_scan::$19
|
|
bool~ keyboard_event_scan::$2
|
|
bool~ keyboard_event_scan::$20
|
|
byte~ keyboard_event_scan::$21
|
|
bool~ keyboard_event_scan::$22
|
|
number~ keyboard_event_scan::$23
|
|
bool~ keyboard_event_scan::$24
|
|
bool~ keyboard_event_scan::$25
|
|
byte~ keyboard_event_scan::$26
|
|
byte~ keyboard_event_scan::$27
|
|
byte~ keyboard_event_scan::$28
|
|
byte~ keyboard_event_scan::$29
|
|
byte~ keyboard_event_scan::$3
|
|
bool~ keyboard_event_scan::$4
|
|
bool~ keyboard_event_scan::$5
|
|
byte~ keyboard_event_scan::$6
|
|
bool~ keyboard_event_scan::$7
|
|
bool~ keyboard_event_scan::$8
|
|
byte~ keyboard_event_scan::$9
|
|
byte keyboard_event_scan::col
|
|
byte keyboard_event_scan::col#0
|
|
byte keyboard_event_scan::col#1
|
|
byte keyboard_event_scan::col#2
|
|
byte keyboard_event_scan::col#3
|
|
byte keyboard_event_scan::col#4
|
|
byte keyboard_event_scan::col#5
|
|
byte keyboard_event_scan::col#6
|
|
byte keyboard_event_scan::col#7
|
|
byte keyboard_event_scan::event_type
|
|
byte keyboard_event_scan::event_type#0
|
|
byte keyboard_event_scan::keycode
|
|
byte keyboard_event_scan::keycode#0
|
|
byte keyboard_event_scan::keycode#1
|
|
byte keyboard_event_scan::keycode#10
|
|
byte keyboard_event_scan::keycode#11
|
|
byte keyboard_event_scan::keycode#12
|
|
byte keyboard_event_scan::keycode#13
|
|
byte keyboard_event_scan::keycode#14
|
|
byte keyboard_event_scan::keycode#2
|
|
byte keyboard_event_scan::keycode#3
|
|
byte keyboard_event_scan::keycode#4
|
|
byte keyboard_event_scan::keycode#5
|
|
byte keyboard_event_scan::keycode#6
|
|
byte keyboard_event_scan::keycode#7
|
|
byte keyboard_event_scan::keycode#8
|
|
byte keyboard_event_scan::keycode#9
|
|
byte keyboard_event_scan::row
|
|
byte keyboard_event_scan::row#0
|
|
byte keyboard_event_scan::row#1
|
|
byte keyboard_event_scan::row#10
|
|
byte keyboard_event_scan::row#11
|
|
byte keyboard_event_scan::row#12
|
|
byte keyboard_event_scan::row#13
|
|
byte keyboard_event_scan::row#2
|
|
byte keyboard_event_scan::row#3
|
|
byte keyboard_event_scan::row#4
|
|
byte keyboard_event_scan::row#5
|
|
byte keyboard_event_scan::row#6
|
|
byte keyboard_event_scan::row#7
|
|
byte keyboard_event_scan::row#8
|
|
byte keyboard_event_scan::row#9
|
|
byte keyboard_event_scan::row_scan
|
|
byte keyboard_event_scan::row_scan#0
|
|
byte keyboard_event_scan::row_scan#1
|
|
byte keyboard_event_scan::row_scan#2
|
|
byte keyboard_event_scan::row_scan#3
|
|
byte keyboard_event_scan::row_scan#4
|
|
byte keyboard_event_scan::row_scan#5
|
|
byte keyboard_event_scan::row_scan#6
|
|
byte keyboard_event_scan::row_scan#7
|
|
byte keyboard_event_scan::row_scan#8
|
|
const byte* keyboard_events[8] = { fill( 8, 0) }
|
|
byte keyboard_events_size
|
|
byte keyboard_events_size#0
|
|
byte keyboard_events_size#1
|
|
byte keyboard_events_size#10
|
|
byte keyboard_events_size#11
|
|
byte keyboard_events_size#12
|
|
byte keyboard_events_size#13
|
|
byte keyboard_events_size#14
|
|
byte keyboard_events_size#15
|
|
byte keyboard_events_size#16
|
|
byte keyboard_events_size#17
|
|
byte keyboard_events_size#18
|
|
byte keyboard_events_size#19
|
|
byte keyboard_events_size#2
|
|
byte keyboard_events_size#20
|
|
byte keyboard_events_size#21
|
|
byte keyboard_events_size#22
|
|
byte keyboard_events_size#23
|
|
byte keyboard_events_size#24
|
|
byte keyboard_events_size#25
|
|
byte keyboard_events_size#26
|
|
byte keyboard_events_size#27
|
|
byte keyboard_events_size#28
|
|
byte keyboard_events_size#29
|
|
byte keyboard_events_size#3
|
|
byte keyboard_events_size#30
|
|
byte keyboard_events_size#31
|
|
byte keyboard_events_size#32
|
|
byte keyboard_events_size#33
|
|
byte keyboard_events_size#34
|
|
byte keyboard_events_size#35
|
|
byte keyboard_events_size#36
|
|
byte keyboard_events_size#37
|
|
byte keyboard_events_size#38
|
|
byte keyboard_events_size#39
|
|
byte keyboard_events_size#4
|
|
byte keyboard_events_size#40
|
|
byte keyboard_events_size#41
|
|
byte keyboard_events_size#42
|
|
byte keyboard_events_size#43
|
|
byte keyboard_events_size#44
|
|
byte keyboard_events_size#45
|
|
byte keyboard_events_size#46
|
|
byte keyboard_events_size#47
|
|
byte keyboard_events_size#48
|
|
byte keyboard_events_size#49
|
|
byte keyboard_events_size#5
|
|
byte keyboard_events_size#50
|
|
byte keyboard_events_size#51
|
|
byte keyboard_events_size#52
|
|
byte keyboard_events_size#53
|
|
byte keyboard_events_size#54
|
|
byte keyboard_events_size#55
|
|
byte keyboard_events_size#56
|
|
byte keyboard_events_size#57
|
|
byte keyboard_events_size#58
|
|
byte keyboard_events_size#59
|
|
byte keyboard_events_size#6
|
|
byte keyboard_events_size#60
|
|
byte keyboard_events_size#61
|
|
byte keyboard_events_size#62
|
|
byte keyboard_events_size#63
|
|
byte keyboard_events_size#64
|
|
byte keyboard_events_size#65
|
|
byte keyboard_events_size#66
|
|
byte keyboard_events_size#67
|
|
byte keyboard_events_size#68
|
|
byte keyboard_events_size#69
|
|
byte keyboard_events_size#7
|
|
byte keyboard_events_size#70
|
|
byte keyboard_events_size#71
|
|
byte keyboard_events_size#72
|
|
byte keyboard_events_size#73
|
|
byte keyboard_events_size#74
|
|
byte keyboard_events_size#75
|
|
byte keyboard_events_size#76
|
|
byte keyboard_events_size#8
|
|
byte keyboard_events_size#9
|
|
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::$0
|
|
byte keyboard_matrix_read::return
|
|
byte keyboard_matrix_read::return#0
|
|
byte keyboard_matrix_read::return#1
|
|
byte keyboard_matrix_read::return#2
|
|
byte keyboard_matrix_read::return#3
|
|
byte keyboard_matrix_read::return#4
|
|
byte keyboard_matrix_read::row_pressed_bits
|
|
byte keyboard_matrix_read::row_pressed_bits#0
|
|
byte keyboard_matrix_read::rowid
|
|
byte keyboard_matrix_read::rowid#0
|
|
byte keyboard_matrix_read::rowid#1
|
|
const byte* keyboard_matrix_row_bitmask[8] = { $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f }
|
|
byte keyboard_modifiers
|
|
byte keyboard_modifiers#0
|
|
byte keyboard_modifiers#1
|
|
byte keyboard_modifiers#10
|
|
byte keyboard_modifiers#11
|
|
byte keyboard_modifiers#12
|
|
byte keyboard_modifiers#13
|
|
byte keyboard_modifiers#14
|
|
byte keyboard_modifiers#15
|
|
byte keyboard_modifiers#16
|
|
byte keyboard_modifiers#17
|
|
byte keyboard_modifiers#18
|
|
byte keyboard_modifiers#19
|
|
byte keyboard_modifiers#2
|
|
byte keyboard_modifiers#20
|
|
byte keyboard_modifiers#21
|
|
byte keyboard_modifiers#22
|
|
byte keyboard_modifiers#23
|
|
byte keyboard_modifiers#24
|
|
byte keyboard_modifiers#25
|
|
byte keyboard_modifiers#26
|
|
byte keyboard_modifiers#27
|
|
byte keyboard_modifiers#28
|
|
byte keyboard_modifiers#29
|
|
byte keyboard_modifiers#3
|
|
byte keyboard_modifiers#30
|
|
byte keyboard_modifiers#31
|
|
byte keyboard_modifiers#32
|
|
byte keyboard_modifiers#33
|
|
byte keyboard_modifiers#34
|
|
byte keyboard_modifiers#35
|
|
byte keyboard_modifiers#36
|
|
byte keyboard_modifiers#37
|
|
byte keyboard_modifiers#38
|
|
byte keyboard_modifiers#39
|
|
byte keyboard_modifiers#4
|
|
byte keyboard_modifiers#40
|
|
byte keyboard_modifiers#41
|
|
byte keyboard_modifiers#42
|
|
byte keyboard_modifiers#43
|
|
byte keyboard_modifiers#44
|
|
byte keyboard_modifiers#45
|
|
byte keyboard_modifiers#46
|
|
byte keyboard_modifiers#47
|
|
byte keyboard_modifiers#48
|
|
byte keyboard_modifiers#49
|
|
byte keyboard_modifiers#5
|
|
byte keyboard_modifiers#50
|
|
byte keyboard_modifiers#51
|
|
byte keyboard_modifiers#52
|
|
byte keyboard_modifiers#53
|
|
byte keyboard_modifiers#54
|
|
byte keyboard_modifiers#55
|
|
byte keyboard_modifiers#56
|
|
byte keyboard_modifiers#57
|
|
byte keyboard_modifiers#58
|
|
byte keyboard_modifiers#6
|
|
byte keyboard_modifiers#7
|
|
byte keyboard_modifiers#8
|
|
byte keyboard_modifiers#9
|
|
const byte* keyboard_scan_values[8] = { fill( 8, 0) }
|
|
byte level
|
|
byte level#0
|
|
byte level#1
|
|
byte level#10
|
|
byte level#100
|
|
byte level#101
|
|
byte level#102
|
|
byte level#11
|
|
byte level#12
|
|
byte level#13
|
|
byte level#14
|
|
byte level#15
|
|
byte level#16
|
|
byte level#17
|
|
byte level#18
|
|
byte level#19
|
|
byte level#2
|
|
byte level#20
|
|
byte level#21
|
|
byte level#22
|
|
byte level#23
|
|
byte level#24
|
|
byte level#25
|
|
byte level#26
|
|
byte level#27
|
|
byte level#28
|
|
byte level#29
|
|
byte level#3
|
|
byte level#30
|
|
byte level#31
|
|
byte level#32
|
|
byte level#33
|
|
byte level#34
|
|
byte level#35
|
|
byte level#36
|
|
byte level#37
|
|
byte level#38
|
|
byte level#39
|
|
byte level#4
|
|
byte level#40
|
|
byte level#41
|
|
byte level#42
|
|
byte level#43
|
|
byte level#44
|
|
byte level#45
|
|
byte level#46
|
|
byte level#47
|
|
byte level#48
|
|
byte level#49
|
|
byte level#5
|
|
byte level#50
|
|
byte level#51
|
|
byte level#52
|
|
byte level#53
|
|
byte level#54
|
|
byte level#55
|
|
byte level#56
|
|
byte level#57
|
|
byte level#58
|
|
byte level#59
|
|
byte level#6
|
|
byte level#60
|
|
byte level#61
|
|
byte level#62
|
|
byte level#63
|
|
byte level#64
|
|
byte level#65
|
|
byte level#66
|
|
byte level#67
|
|
byte level#68
|
|
byte level#69
|
|
byte level#7
|
|
byte level#70
|
|
byte level#71
|
|
byte level#72
|
|
byte level#73
|
|
byte level#74
|
|
byte level#75
|
|
byte level#76
|
|
byte level#77
|
|
byte level#78
|
|
byte level#79
|
|
byte level#8
|
|
byte level#80
|
|
byte level#81
|
|
byte level#82
|
|
byte level#83
|
|
byte level#84
|
|
byte level#85
|
|
byte level#86
|
|
byte level#87
|
|
byte level#88
|
|
byte level#89
|
|
byte level#9
|
|
byte level#90
|
|
byte level#91
|
|
byte level#92
|
|
byte level#93
|
|
byte level#94
|
|
byte level#95
|
|
byte level#96
|
|
byte level#97
|
|
byte level#98
|
|
byte level#99
|
|
byte level_bcd
|
|
byte level_bcd#0
|
|
byte level_bcd#1
|
|
byte level_bcd#10
|
|
byte level_bcd#11
|
|
byte level_bcd#12
|
|
byte level_bcd#13
|
|
byte level_bcd#14
|
|
byte level_bcd#15
|
|
byte level_bcd#16
|
|
byte level_bcd#17
|
|
byte level_bcd#18
|
|
byte level_bcd#19
|
|
byte level_bcd#2
|
|
byte level_bcd#20
|
|
byte level_bcd#21
|
|
byte level_bcd#22
|
|
byte level_bcd#23
|
|
byte level_bcd#24
|
|
byte level_bcd#25
|
|
byte level_bcd#26
|
|
byte level_bcd#27
|
|
byte level_bcd#28
|
|
byte level_bcd#29
|
|
byte level_bcd#3
|
|
byte level_bcd#30
|
|
byte level_bcd#31
|
|
byte level_bcd#32
|
|
byte level_bcd#33
|
|
byte level_bcd#34
|
|
byte level_bcd#35
|
|
byte level_bcd#36
|
|
byte level_bcd#37
|
|
byte level_bcd#38
|
|
byte level_bcd#39
|
|
byte level_bcd#4
|
|
byte level_bcd#40
|
|
byte level_bcd#41
|
|
byte level_bcd#42
|
|
byte level_bcd#43
|
|
byte level_bcd#44
|
|
byte level_bcd#45
|
|
byte level_bcd#46
|
|
byte level_bcd#47
|
|
byte level_bcd#48
|
|
byte level_bcd#49
|
|
byte level_bcd#5
|
|
byte level_bcd#50
|
|
byte level_bcd#51
|
|
byte level_bcd#52
|
|
byte level_bcd#53
|
|
byte level_bcd#54
|
|
byte level_bcd#55
|
|
byte level_bcd#56
|
|
byte level_bcd#57
|
|
byte level_bcd#58
|
|
byte level_bcd#59
|
|
byte level_bcd#6
|
|
byte level_bcd#60
|
|
byte level_bcd#61
|
|
byte level_bcd#62
|
|
byte level_bcd#63
|
|
byte level_bcd#64
|
|
byte level_bcd#65
|
|
byte level_bcd#66
|
|
byte level_bcd#67
|
|
byte level_bcd#68
|
|
byte level_bcd#69
|
|
byte level_bcd#7
|
|
byte level_bcd#70
|
|
byte level_bcd#71
|
|
byte level_bcd#72
|
|
byte level_bcd#73
|
|
byte level_bcd#74
|
|
byte level_bcd#75
|
|
byte level_bcd#76
|
|
byte level_bcd#77
|
|
byte level_bcd#78
|
|
byte level_bcd#79
|
|
byte level_bcd#8
|
|
byte level_bcd#80
|
|
byte level_bcd#81
|
|
byte level_bcd#82
|
|
byte level_bcd#83
|
|
byte level_bcd#84
|
|
byte level_bcd#85
|
|
byte level_bcd#86
|
|
byte level_bcd#87
|
|
byte level_bcd#88
|
|
byte level_bcd#89
|
|
byte level_bcd#9
|
|
byte level_bcd#90
|
|
byte level_bcd#91
|
|
byte level_bcd#92
|
|
byte level_bcd#93
|
|
byte level_bcd#94
|
|
byte level_bcd#95
|
|
byte level_bcd#96
|
|
byte level_bcd#97
|
|
byte level_bcd#98
|
|
byte level_bcd#99
|
|
word lines_bcd
|
|
word lines_bcd#0
|
|
word lines_bcd#1
|
|
word lines_bcd#10
|
|
word lines_bcd#11
|
|
word lines_bcd#12
|
|
word lines_bcd#13
|
|
word lines_bcd#14
|
|
word lines_bcd#15
|
|
word lines_bcd#16
|
|
word lines_bcd#17
|
|
word lines_bcd#18
|
|
word lines_bcd#19
|
|
word lines_bcd#2
|
|
word lines_bcd#20
|
|
word lines_bcd#21
|
|
word lines_bcd#22
|
|
word lines_bcd#23
|
|
word lines_bcd#24
|
|
word lines_bcd#25
|
|
word lines_bcd#26
|
|
word lines_bcd#27
|
|
word lines_bcd#28
|
|
word lines_bcd#29
|
|
word lines_bcd#3
|
|
word lines_bcd#30
|
|
word lines_bcd#31
|
|
word lines_bcd#32
|
|
word lines_bcd#33
|
|
word lines_bcd#34
|
|
word lines_bcd#35
|
|
word lines_bcd#36
|
|
word lines_bcd#37
|
|
word lines_bcd#38
|
|
word lines_bcd#39
|
|
word lines_bcd#4
|
|
word lines_bcd#40
|
|
word lines_bcd#41
|
|
word lines_bcd#42
|
|
word lines_bcd#43
|
|
word lines_bcd#44
|
|
word lines_bcd#45
|
|
word lines_bcd#46
|
|
word lines_bcd#47
|
|
word lines_bcd#48
|
|
word lines_bcd#49
|
|
word lines_bcd#5
|
|
word lines_bcd#50
|
|
word lines_bcd#51
|
|
word lines_bcd#52
|
|
word lines_bcd#53
|
|
word lines_bcd#54
|
|
word lines_bcd#55
|
|
word lines_bcd#56
|
|
word lines_bcd#57
|
|
word lines_bcd#58
|
|
word lines_bcd#59
|
|
word lines_bcd#6
|
|
word lines_bcd#60
|
|
word lines_bcd#61
|
|
word lines_bcd#62
|
|
word lines_bcd#63
|
|
word lines_bcd#64
|
|
word lines_bcd#65
|
|
word lines_bcd#66
|
|
word lines_bcd#67
|
|
word lines_bcd#68
|
|
word lines_bcd#69
|
|
word lines_bcd#7
|
|
word lines_bcd#70
|
|
word lines_bcd#71
|
|
word lines_bcd#72
|
|
word lines_bcd#73
|
|
word lines_bcd#74
|
|
word lines_bcd#75
|
|
word lines_bcd#76
|
|
word lines_bcd#77
|
|
word lines_bcd#78
|
|
word lines_bcd#79
|
|
word lines_bcd#8
|
|
word lines_bcd#80
|
|
word lines_bcd#81
|
|
word lines_bcd#82
|
|
word lines_bcd#83
|
|
word lines_bcd#84
|
|
word lines_bcd#85
|
|
word lines_bcd#86
|
|
word lines_bcd#9
|
|
void main()
|
|
bool~ main::$10
|
|
byte~ main::$13
|
|
bool~ main::$14
|
|
byte~ main::$16
|
|
bool~ main::$17
|
|
bool~ main::$18
|
|
byte main::key_event
|
|
byte main::key_event#0
|
|
byte main::key_event#1
|
|
byte main::render
|
|
byte main::render#0
|
|
byte main::render#1
|
|
byte main::render#2
|
|
byte main::render#3
|
|
byte main::render#4
|
|
byte next_piece_idx
|
|
byte next_piece_idx#0
|
|
byte next_piece_idx#1
|
|
byte next_piece_idx#10
|
|
byte next_piece_idx#11
|
|
byte next_piece_idx#12
|
|
byte next_piece_idx#13
|
|
byte next_piece_idx#14
|
|
byte next_piece_idx#15
|
|
byte next_piece_idx#16
|
|
byte next_piece_idx#17
|
|
byte next_piece_idx#18
|
|
byte next_piece_idx#19
|
|
byte next_piece_idx#2
|
|
byte next_piece_idx#20
|
|
byte next_piece_idx#21
|
|
byte next_piece_idx#22
|
|
byte next_piece_idx#23
|
|
byte next_piece_idx#24
|
|
byte next_piece_idx#25
|
|
byte next_piece_idx#26
|
|
byte next_piece_idx#27
|
|
byte next_piece_idx#28
|
|
byte next_piece_idx#29
|
|
byte next_piece_idx#3
|
|
byte next_piece_idx#30
|
|
byte next_piece_idx#31
|
|
byte next_piece_idx#32
|
|
byte next_piece_idx#33
|
|
byte next_piece_idx#34
|
|
byte next_piece_idx#35
|
|
byte next_piece_idx#36
|
|
byte next_piece_idx#37
|
|
byte next_piece_idx#38
|
|
byte next_piece_idx#39
|
|
byte next_piece_idx#4
|
|
byte next_piece_idx#40
|
|
byte next_piece_idx#41
|
|
byte next_piece_idx#42
|
|
byte next_piece_idx#43
|
|
byte next_piece_idx#44
|
|
byte next_piece_idx#45
|
|
byte next_piece_idx#46
|
|
byte next_piece_idx#47
|
|
byte next_piece_idx#48
|
|
byte next_piece_idx#49
|
|
byte next_piece_idx#5
|
|
byte next_piece_idx#50
|
|
byte next_piece_idx#51
|
|
byte next_piece_idx#52
|
|
byte next_piece_idx#53
|
|
byte next_piece_idx#54
|
|
byte next_piece_idx#55
|
|
byte next_piece_idx#56
|
|
byte next_piece_idx#57
|
|
byte next_piece_idx#58
|
|
byte next_piece_idx#59
|
|
byte next_piece_idx#6
|
|
byte next_piece_idx#60
|
|
byte next_piece_idx#61
|
|
byte next_piece_idx#62
|
|
byte next_piece_idx#63
|
|
byte next_piece_idx#64
|
|
byte next_piece_idx#65
|
|
byte next_piece_idx#66
|
|
byte next_piece_idx#67
|
|
byte next_piece_idx#68
|
|
byte next_piece_idx#69
|
|
byte next_piece_idx#7
|
|
byte next_piece_idx#70
|
|
byte next_piece_idx#71
|
|
byte next_piece_idx#72
|
|
byte next_piece_idx#73
|
|
byte next_piece_idx#74
|
|
byte next_piece_idx#75
|
|
byte next_piece_idx#76
|
|
byte next_piece_idx#77
|
|
byte next_piece_idx#78
|
|
byte next_piece_idx#8
|
|
byte next_piece_idx#9
|
|
byte play_collision(byte play_collision::xpos , byte play_collision::ypos , byte play_collision::orientation)
|
|
byte*~ play_collision::$0
|
|
bool~ play_collision::$1
|
|
bool~ play_collision::$10
|
|
bool~ play_collision::$11
|
|
bool~ play_collision::$12
|
|
bool~ play_collision::$13
|
|
byte~ play_collision::$14
|
|
bool~ play_collision::$2
|
|
bool~ play_collision::$3
|
|
bool~ play_collision::$4
|
|
number~ play_collision::$5
|
|
bool~ play_collision::$6
|
|
bool~ play_collision::$7
|
|
bool~ play_collision::$8
|
|
bool~ play_collision::$9
|
|
byte play_collision::c
|
|
byte play_collision::c#0
|
|
byte play_collision::c#1
|
|
byte play_collision::c#2
|
|
byte play_collision::c#3
|
|
byte play_collision::c#4
|
|
byte play_collision::c#5
|
|
byte play_collision::c#6
|
|
byte play_collision::c#7
|
|
byte play_collision::i
|
|
byte play_collision::i#0
|
|
byte play_collision::i#1
|
|
byte play_collision::i#2
|
|
byte play_collision::i#3
|
|
byte play_collision::i#4
|
|
byte play_collision::i#5
|
|
byte play_collision::i#6
|
|
byte play_collision::i#7
|
|
byte play_collision::i#8
|
|
byte play_collision::i#9
|
|
byte play_collision::l
|
|
byte play_collision::l#0
|
|
byte play_collision::l#1
|
|
byte play_collision::l#2
|
|
byte play_collision::l#3
|
|
byte play_collision::l#4
|
|
byte play_collision::l#5
|
|
byte play_collision::l#6
|
|
byte play_collision::l#7
|
|
byte play_collision::l#8
|
|
byte play_collision::l#9
|
|
byte play_collision::orientation
|
|
byte play_collision::orientation#0
|
|
byte play_collision::orientation#1
|
|
byte play_collision::orientation#2
|
|
byte play_collision::orientation#3
|
|
byte play_collision::orientation#4
|
|
byte play_collision::orientation#5
|
|
byte* play_collision::piece_gfx
|
|
byte* play_collision::piece_gfx#0
|
|
byte* play_collision::piece_gfx#1
|
|
byte* play_collision::piece_gfx#2
|
|
byte* play_collision::piece_gfx#3
|
|
byte* play_collision::piece_gfx#4
|
|
byte* play_collision::piece_gfx#5
|
|
byte* play_collision::piece_gfx#6
|
|
byte* play_collision::piece_gfx#7
|
|
byte* play_collision::piece_gfx#8
|
|
byte* play_collision::playfield_line
|
|
byte* play_collision::playfield_line#0
|
|
byte* play_collision::playfield_line#1
|
|
byte* play_collision::playfield_line#2
|
|
byte* play_collision::playfield_line#3
|
|
byte* play_collision::playfield_line#4
|
|
byte* play_collision::playfield_line#5
|
|
byte* play_collision::playfield_line#6
|
|
byte play_collision::return
|
|
byte play_collision::return#0
|
|
byte play_collision::return#1
|
|
byte play_collision::return#10
|
|
byte play_collision::return#11
|
|
byte play_collision::return#12
|
|
byte play_collision::return#13
|
|
byte play_collision::return#14
|
|
byte play_collision::return#15
|
|
byte play_collision::return#16
|
|
byte play_collision::return#2
|
|
byte play_collision::return#3
|
|
byte play_collision::return#4
|
|
byte play_collision::return#5
|
|
byte play_collision::return#6
|
|
byte play_collision::return#7
|
|
byte play_collision::return#8
|
|
byte play_collision::return#9
|
|
byte play_collision::xp
|
|
byte play_collision::xp#0
|
|
byte play_collision::xp#1
|
|
byte play_collision::xp#2
|
|
byte play_collision::xp#3
|
|
byte play_collision::xp#4
|
|
byte play_collision::xp#5
|
|
byte play_collision::xp#6
|
|
byte play_collision::xp#7
|
|
byte play_collision::xpos
|
|
byte play_collision::xpos#0
|
|
byte play_collision::xpos#1
|
|
byte play_collision::xpos#10
|
|
byte play_collision::xpos#11
|
|
byte play_collision::xpos#12
|
|
byte play_collision::xpos#13
|
|
byte play_collision::xpos#2
|
|
byte play_collision::xpos#3
|
|
byte play_collision::xpos#4
|
|
byte play_collision::xpos#5
|
|
byte play_collision::xpos#6
|
|
byte play_collision::xpos#7
|
|
byte play_collision::xpos#8
|
|
byte play_collision::xpos#9
|
|
byte play_collision::yp
|
|
byte play_collision::yp#0
|
|
byte play_collision::yp#1
|
|
byte play_collision::yp#2
|
|
byte play_collision::yp#3
|
|
byte play_collision::yp#4
|
|
byte play_collision::yp#5
|
|
byte play_collision::yp#6
|
|
byte play_collision::yp#7
|
|
byte play_collision::yp#8
|
|
byte play_collision::yp#9
|
|
byte play_collision::ypos
|
|
byte play_collision::ypos#0
|
|
byte play_collision::ypos#1
|
|
byte play_collision::ypos#2
|
|
byte play_collision::ypos#3
|
|
byte play_collision::ypos#4
|
|
byte play_collision::ypos#5
|
|
void play_increase_level()
|
|
bool~ play_increase_level::$0
|
|
number~ play_increase_level::$1
|
|
bool~ play_increase_level::$2
|
|
bool~ play_increase_level::$3
|
|
bool~ play_increase_level::$4
|
|
byte~ play_increase_level::$5
|
|
byte play_increase_level::b
|
|
byte play_increase_level::b#0
|
|
byte play_increase_level::b#1
|
|
byte play_increase_level::b#2
|
|
void play_init()
|
|
bool~ play_init::$0
|
|
bool~ play_init::$1
|
|
byte~ play_init::$2
|
|
byte~ play_init::$3
|
|
byte play_init::b
|
|
byte play_init::b#0
|
|
byte play_init::b#1
|
|
byte play_init::b#2
|
|
byte play_init::idx
|
|
byte play_init::idx#0
|
|
byte play_init::idx#1
|
|
byte play_init::idx#2
|
|
byte play_init::j
|
|
byte play_init::j#0
|
|
byte play_init::j#1
|
|
byte play_init::j#2
|
|
byte* play_init::pli
|
|
byte* play_init::pli#0
|
|
byte* play_init::pli#1
|
|
byte* play_init::pli#2
|
|
void play_lock_current()
|
|
bool~ play_lock_current::$0
|
|
bool~ play_lock_current::$1
|
|
bool~ play_lock_current::$2
|
|
bool~ play_lock_current::$3
|
|
byte~ play_lock_current::$4
|
|
byte play_lock_current::c
|
|
byte play_lock_current::c#0
|
|
byte play_lock_current::c#1
|
|
byte play_lock_current::c#2
|
|
byte play_lock_current::c#3
|
|
byte play_lock_current::c#4
|
|
byte play_lock_current::i
|
|
byte play_lock_current::i#0
|
|
byte play_lock_current::i#1
|
|
byte play_lock_current::i#2
|
|
byte play_lock_current::i#3
|
|
byte play_lock_current::i#4
|
|
byte play_lock_current::i#5
|
|
byte play_lock_current::i#6
|
|
byte play_lock_current::l
|
|
byte play_lock_current::l#0
|
|
byte play_lock_current::l#1
|
|
byte play_lock_current::l#2
|
|
byte play_lock_current::l#3
|
|
byte play_lock_current::l#4
|
|
byte play_lock_current::l#5
|
|
byte play_lock_current::l#6
|
|
byte* play_lock_current::playfield_line
|
|
byte* play_lock_current::playfield_line#0
|
|
byte* play_lock_current::playfield_line#1
|
|
byte* play_lock_current::playfield_line#2
|
|
byte* play_lock_current::playfield_line#3
|
|
byte play_lock_current::xp
|
|
byte play_lock_current::xp#0
|
|
byte play_lock_current::xp#1
|
|
byte play_lock_current::xp#2
|
|
byte play_lock_current::xp#3
|
|
byte play_lock_current::xp#4
|
|
byte play_lock_current::yp
|
|
byte play_lock_current::yp#0
|
|
byte play_lock_current::yp#1
|
|
byte play_lock_current::yp#2
|
|
byte play_lock_current::yp#3
|
|
byte play_lock_current::yp#4
|
|
byte play_lock_current::yp#5
|
|
byte play_lock_current::yp#6
|
|
byte play_move_down(byte play_move_down::key_event)
|
|
bool~ play_move_down::$0
|
|
bool~ play_move_down::$1
|
|
bool~ play_move_down::$10
|
|
number~ play_move_down::$11
|
|
byte~ play_move_down::$12
|
|
bool~ play_move_down::$13
|
|
byte~ play_move_down::$15
|
|
byte~ play_move_down::$2
|
|
bool~ play_move_down::$3
|
|
bool~ play_move_down::$4
|
|
bool~ play_move_down::$5
|
|
bool~ play_move_down::$6
|
|
bool~ play_move_down::$7
|
|
bool~ play_move_down::$8
|
|
bool~ play_move_down::$9
|
|
byte play_move_down::key_event
|
|
byte play_move_down::key_event#0
|
|
byte play_move_down::key_event#1
|
|
byte play_move_down::movedown
|
|
byte play_move_down::movedown#0
|
|
byte play_move_down::movedown#1
|
|
byte play_move_down::movedown#10
|
|
byte play_move_down::movedown#11
|
|
byte play_move_down::movedown#2
|
|
byte play_move_down::movedown#3
|
|
byte play_move_down::movedown#4
|
|
byte play_move_down::movedown#5
|
|
byte play_move_down::movedown#6
|
|
byte play_move_down::movedown#7
|
|
byte play_move_down::movedown#8
|
|
byte play_move_down::movedown#9
|
|
byte play_move_down::removed
|
|
byte play_move_down::removed#0
|
|
byte play_move_down::return
|
|
byte play_move_down::return#0
|
|
byte play_move_down::return#1
|
|
byte play_move_down::return#2
|
|
byte play_move_down::return#3
|
|
byte play_move_down::return#4
|
|
byte play_move_down::return#5
|
|
byte play_move_leftright(byte play_move_leftright::key_event)
|
|
bool~ play_move_leftright::$0
|
|
bool~ play_move_leftright::$1
|
|
bool~ play_move_leftright::$10
|
|
bool~ play_move_leftright::$2
|
|
number~ play_move_leftright::$3
|
|
byte~ play_move_leftright::$4
|
|
bool~ play_move_leftright::$5
|
|
bool~ play_move_leftright::$6
|
|
number~ play_move_leftright::$7
|
|
byte~ play_move_leftright::$8
|
|
bool~ play_move_leftright::$9
|
|
byte play_move_leftright::key_event
|
|
byte play_move_leftright::key_event#0
|
|
byte play_move_leftright::key_event#1
|
|
byte play_move_leftright::key_event#2
|
|
byte play_move_leftright::return
|
|
byte play_move_leftright::return#0
|
|
byte play_move_leftright::return#1
|
|
byte play_move_leftright::return#2
|
|
byte play_move_leftright::return#3
|
|
byte play_move_leftright::return#4
|
|
byte play_move_leftright::return#5
|
|
byte play_move_leftright::return#6
|
|
byte play_move_rotate(byte play_move_rotate::key_event)
|
|
bool~ play_move_rotate::$0
|
|
bool~ play_move_rotate::$1
|
|
byte~ play_move_rotate::$2
|
|
bool~ play_move_rotate::$3
|
|
bool~ play_move_rotate::$4
|
|
number~ play_move_rotate::$5
|
|
number~ play_move_rotate::$6
|
|
number~ play_move_rotate::$7
|
|
number~ play_move_rotate::$8
|
|
byte*~ play_move_rotate::$9
|
|
byte play_move_rotate::key_event
|
|
byte play_move_rotate::key_event#0
|
|
byte play_move_rotate::key_event#1
|
|
byte play_move_rotate::key_event#2
|
|
byte play_move_rotate::orientation
|
|
byte play_move_rotate::orientation#0
|
|
byte play_move_rotate::orientation#1
|
|
byte play_move_rotate::orientation#2
|
|
byte play_move_rotate::orientation#3
|
|
byte play_move_rotate::orientation#4
|
|
byte play_move_rotate::orientation#5
|
|
byte play_move_rotate::return
|
|
byte play_move_rotate::return#0
|
|
byte play_move_rotate::return#1
|
|
byte play_move_rotate::return#2
|
|
byte play_move_rotate::return#3
|
|
byte play_move_rotate::return#4
|
|
byte play_move_rotate::return#5
|
|
byte play_move_rotate::return#6
|
|
byte play_movement(byte play_movement::key_event)
|
|
byte~ play_movement::$0
|
|
bool~ play_movement::$1
|
|
bool~ play_movement::$2
|
|
byte~ play_movement::$3
|
|
byte~ play_movement::$4
|
|
byte play_movement::key_event
|
|
byte play_movement::key_event#0
|
|
byte play_movement::key_event#1
|
|
byte play_movement::key_event#2
|
|
byte play_movement::key_event#3
|
|
byte play_movement::key_event#4
|
|
byte play_movement::render
|
|
byte play_movement::render#0
|
|
byte play_movement::render#1
|
|
byte play_movement::render#2
|
|
byte play_movement::render#3
|
|
byte play_movement::render#4
|
|
byte play_movement::render#5
|
|
byte play_movement::render#6
|
|
byte play_movement::render#7
|
|
byte play_movement::render#8
|
|
byte play_movement::return
|
|
byte play_movement::return#0
|
|
byte play_movement::return#1
|
|
byte play_movement::return#2
|
|
byte play_movement::return#3
|
|
byte play_movement::return#4
|
|
byte play_movement::return#5
|
|
byte play_remove_lines()
|
|
bool~ play_remove_lines::$0
|
|
bool~ play_remove_lines::$1
|
|
bool~ play_remove_lines::$2
|
|
bool~ play_remove_lines::$3
|
|
bool~ play_remove_lines::$4
|
|
byte~ play_remove_lines::$5
|
|
bool~ play_remove_lines::$6
|
|
bool~ play_remove_lines::$7
|
|
byte play_remove_lines::c
|
|
byte play_remove_lines::c#0
|
|
byte play_remove_lines::c#1
|
|
byte play_remove_lines::c#2
|
|
byte play_remove_lines::full
|
|
byte play_remove_lines::full#0
|
|
byte play_remove_lines::full#1
|
|
byte play_remove_lines::full#2
|
|
byte play_remove_lines::full#3
|
|
byte play_remove_lines::full#4
|
|
byte play_remove_lines::r
|
|
byte play_remove_lines::r#0
|
|
byte play_remove_lines::r#1
|
|
byte play_remove_lines::r#2
|
|
byte play_remove_lines::r#3
|
|
byte play_remove_lines::r#4
|
|
byte play_remove_lines::r#5
|
|
byte play_remove_lines::r#6
|
|
byte play_remove_lines::r#7
|
|
byte play_remove_lines::r#8
|
|
byte play_remove_lines::removed
|
|
byte play_remove_lines::removed#0
|
|
byte play_remove_lines::removed#1
|
|
byte play_remove_lines::removed#10
|
|
byte play_remove_lines::removed#11
|
|
byte play_remove_lines::removed#2
|
|
byte play_remove_lines::removed#3
|
|
byte play_remove_lines::removed#4
|
|
byte play_remove_lines::removed#5
|
|
byte play_remove_lines::removed#6
|
|
byte play_remove_lines::removed#7
|
|
byte play_remove_lines::removed#8
|
|
byte play_remove_lines::removed#9
|
|
byte play_remove_lines::return
|
|
byte play_remove_lines::return#0
|
|
byte play_remove_lines::return#1
|
|
byte play_remove_lines::return#2
|
|
byte play_remove_lines::return#3
|
|
byte play_remove_lines::return#4
|
|
byte play_remove_lines::w
|
|
byte play_remove_lines::w#0
|
|
byte play_remove_lines::w#1
|
|
byte play_remove_lines::w#10
|
|
byte play_remove_lines::w#11
|
|
byte play_remove_lines::w#12
|
|
byte play_remove_lines::w#2
|
|
byte play_remove_lines::w#3
|
|
byte play_remove_lines::w#4
|
|
byte play_remove_lines::w#5
|
|
byte play_remove_lines::w#6
|
|
byte play_remove_lines::w#7
|
|
byte play_remove_lines::w#8
|
|
byte play_remove_lines::w#9
|
|
byte play_remove_lines::x
|
|
byte play_remove_lines::x#0
|
|
byte play_remove_lines::x#1
|
|
byte play_remove_lines::x#2
|
|
byte play_remove_lines::x#3
|
|
byte play_remove_lines::x#4
|
|
byte play_remove_lines::y
|
|
byte play_remove_lines::y#0
|
|
byte play_remove_lines::y#1
|
|
byte play_remove_lines::y#2
|
|
byte play_remove_lines::y#3
|
|
byte play_remove_lines::y#4
|
|
byte play_remove_lines::y#5
|
|
byte play_remove_lines::y#6
|
|
byte play_remove_lines::y#7
|
|
byte play_remove_lines::y#8
|
|
void play_spawn_current()
|
|
byte*~ play_spawn_current::$0
|
|
byte~ play_spawn_current::$1
|
|
bool~ play_spawn_current::$2
|
|
bool~ play_spawn_current::$3
|
|
bool~ play_spawn_current::$4
|
|
byte~ play_spawn_current::$5
|
|
number~ play_spawn_current::$6
|
|
byte~ play_spawn_current::$7
|
|
byte play_spawn_current::current_piece_idx
|
|
byte play_spawn_current::current_piece_idx#0
|
|
byte play_spawn_current::piece_idx
|
|
byte play_spawn_current::piece_idx#0
|
|
byte play_spawn_current::piece_idx#1
|
|
byte play_spawn_current::piece_idx#2
|
|
byte play_spawn_current::piece_idx#3
|
|
byte play_spawn_current::sid_rnd1_return
|
|
byte play_spawn_current::sid_rnd1_return#0
|
|
byte play_spawn_current::sid_rnd1_return#1
|
|
byte play_spawn_current::sid_rnd1_return#2
|
|
byte play_spawn_current::sid_rnd1_return#3
|
|
void play_update_score(byte play_update_score::removed)
|
|
bool~ play_update_score::$0
|
|
bool~ play_update_score::$1
|
|
byte~ play_update_score::$2
|
|
number~ play_update_score::$3
|
|
byte~ play_update_score::$4
|
|
number~ play_update_score::$5
|
|
bool~ play_update_score::$6
|
|
bool~ play_update_score::$7
|
|
byte~ play_update_score::$9
|
|
dword play_update_score::add_bcd
|
|
dword play_update_score::add_bcd#0
|
|
byte play_update_score::lines_after
|
|
byte play_update_score::lines_after#0
|
|
byte play_update_score::lines_before
|
|
byte play_update_score::lines_before#0
|
|
byte play_update_score::removed
|
|
byte play_update_score::removed#0
|
|
byte play_update_score::removed#1
|
|
byte play_update_score::removed#2
|
|
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::$0
|
|
bool~ render_bcd::$1
|
|
bool~ render_bcd::$2
|
|
number~ render_bcd::$3
|
|
number~ render_bcd::$4
|
|
byte~ render_bcd::$5
|
|
byte~ render_bcd::$6
|
|
const nomodify byte render_bcd::ZERO_CHAR = $35
|
|
byte render_bcd::bcd
|
|
byte render_bcd::bcd#0
|
|
byte render_bcd::bcd#1
|
|
byte render_bcd::bcd#2
|
|
byte render_bcd::bcd#3
|
|
byte render_bcd::bcd#4
|
|
byte render_bcd::bcd#5
|
|
byte render_bcd::bcd#6
|
|
byte render_bcd::bcd#7
|
|
byte render_bcd::bcd#8
|
|
word render_bcd::offset
|
|
word render_bcd::offset#0
|
|
word render_bcd::offset#1
|
|
word render_bcd::offset#2
|
|
word render_bcd::offset#3
|
|
word render_bcd::offset#4
|
|
word render_bcd::offset#5
|
|
word render_bcd::offset#6
|
|
byte render_bcd::only_low
|
|
byte render_bcd::only_low#0
|
|
byte render_bcd::only_low#1
|
|
byte render_bcd::only_low#2
|
|
byte render_bcd::only_low#3
|
|
byte render_bcd::only_low#4
|
|
byte render_bcd::only_low#5
|
|
byte render_bcd::only_low#6
|
|
byte* render_bcd::screen
|
|
byte* render_bcd::screen#0
|
|
byte* render_bcd::screen#1
|
|
byte* render_bcd::screen#2
|
|
byte* render_bcd::screen#3
|
|
byte* render_bcd::screen#4
|
|
byte* render_bcd::screen#5
|
|
byte* render_bcd::screen#6
|
|
byte* render_bcd::screen_pos
|
|
byte* render_bcd::screen_pos#0
|
|
byte* render_bcd::screen_pos#1
|
|
byte* render_bcd::screen_pos#2
|
|
byte* render_bcd::screen_pos#3
|
|
byte* render_bcd::screen_pos#4
|
|
void render_init()
|
|
bool~ render_init::$3
|
|
byte~ render_init::$4
|
|
byte~ render_init::$5
|
|
byte render_init::i
|
|
byte render_init::i#0
|
|
byte render_init::i#1
|
|
byte render_init::i#2
|
|
byte* render_init::li_1
|
|
byte* render_init::li_1#0
|
|
byte* render_init::li_1#1
|
|
byte* render_init::li_1#2
|
|
byte* render_init::li_2
|
|
byte* render_init::li_2#0
|
|
byte* render_init::li_2#1
|
|
byte* render_init::li_2#2
|
|
byte~ render_init::vicSelectGfxBank1_$0
|
|
byte* render_init::vicSelectGfxBank1_gfx
|
|
byte* render_init::vicSelectGfxBank1_gfx#0
|
|
byte* render_init::vicSelectGfxBank1_gfx#1
|
|
byte~ render_init::vicSelectGfxBank1_toDd001_$0
|
|
number~ render_init::vicSelectGfxBank1_toDd001_$1
|
|
number~ render_init::vicSelectGfxBank1_toDd001_$2
|
|
byte* render_init::vicSelectGfxBank1_toDd001_gfx
|
|
byte* render_init::vicSelectGfxBank1_toDd001_gfx#0
|
|
byte* render_init::vicSelectGfxBank1_toDd001_gfx#1
|
|
byte render_init::vicSelectGfxBank1_toDd001_return
|
|
byte render_init::vicSelectGfxBank1_toDd001_return#0
|
|
byte render_init::vicSelectGfxBank1_toDd001_return#1
|
|
byte render_init::vicSelectGfxBank1_toDd001_return#2
|
|
byte render_init::vicSelectGfxBank1_toDd001_return#3
|
|
void render_moving()
|
|
bool~ render_moving::$0
|
|
byte~ render_moving::$1
|
|
bool~ render_moving::$2
|
|
bool~ render_moving::$3
|
|
bool~ render_moving::$4
|
|
bool~ render_moving::$5
|
|
byte~ render_moving::$6
|
|
byte render_moving::c
|
|
byte render_moving::c#0
|
|
byte render_moving::c#1
|
|
byte render_moving::c#2
|
|
byte render_moving::c#3
|
|
byte render_moving::c#4
|
|
byte render_moving::current_cell
|
|
byte render_moving::current_cell#0
|
|
byte render_moving::i
|
|
byte render_moving::i#0
|
|
byte render_moving::i#1
|
|
byte render_moving::i#2
|
|
byte render_moving::i#3
|
|
byte render_moving::i#4
|
|
byte render_moving::i#5
|
|
byte render_moving::i#6
|
|
byte render_moving::i#7
|
|
byte render_moving::i#8
|
|
byte render_moving::i#9
|
|
byte render_moving::l
|
|
byte render_moving::l#0
|
|
byte render_moving::l#1
|
|
byte render_moving::l#2
|
|
byte render_moving::l#3
|
|
byte render_moving::l#4
|
|
byte render_moving::l#5
|
|
byte render_moving::l#6
|
|
byte render_moving::l#7
|
|
byte render_moving::l#8
|
|
byte* render_moving::screen_line
|
|
byte* render_moving::screen_line#0
|
|
byte* render_moving::screen_line#1
|
|
byte* render_moving::screen_line#2
|
|
byte* render_moving::screen_line#3
|
|
byte render_moving::xpos
|
|
byte render_moving::xpos#0
|
|
byte render_moving::xpos#1
|
|
byte render_moving::xpos#2
|
|
byte render_moving::xpos#3
|
|
byte render_moving::xpos#4
|
|
byte render_moving::ypos
|
|
byte render_moving::ypos#0
|
|
byte render_moving::ypos#1
|
|
byte render_moving::ypos#2
|
|
byte render_moving::ypos#3
|
|
byte render_moving::ypos#4
|
|
byte render_moving::ypos#5
|
|
byte render_moving::ypos#6
|
|
byte render_moving::ypos#7
|
|
byte render_moving::ypos#8
|
|
void render_next()
|
|
bool~ render_next::$0
|
|
byte*~ render_next::$1
|
|
byte*~ render_next::$2
|
|
bool~ render_next::$3
|
|
bool~ render_next::$4
|
|
bool~ render_next::$5
|
|
byte~ render_next::$6
|
|
byte render_next::c
|
|
byte render_next::c#0
|
|
byte render_next::c#1
|
|
byte render_next::c#2
|
|
byte render_next::c#3
|
|
byte render_next::c#4
|
|
byte render_next::c#5
|
|
byte render_next::cell
|
|
byte render_next::cell#0
|
|
byte render_next::l
|
|
byte render_next::l#0
|
|
byte render_next::l#1
|
|
byte render_next::l#2
|
|
byte render_next::l#3
|
|
byte render_next::l#4
|
|
byte render_next::l#5
|
|
byte render_next::l#6
|
|
byte render_next::l#7
|
|
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
|
|
byte render_next::next_piece_char#1
|
|
byte render_next::next_piece_char#2
|
|
byte render_next::next_piece_char#3
|
|
byte render_next::next_piece_char#4
|
|
byte render_next::next_piece_char#5
|
|
byte render_next::next_piece_char#6
|
|
byte* render_next::next_piece_gfx
|
|
byte* render_next::next_piece_gfx#0
|
|
byte* render_next::next_piece_gfx#1
|
|
byte* render_next::next_piece_gfx#2
|
|
byte* render_next::next_piece_gfx#3
|
|
byte* render_next::next_piece_gfx#4
|
|
byte* render_next::next_piece_gfx#5
|
|
byte* render_next::next_piece_gfx#6
|
|
byte* render_next::next_piece_gfx#7
|
|
byte* render_next::screen_next_area
|
|
byte* render_next::screen_next_area#0
|
|
byte* render_next::screen_next_area#1
|
|
byte* render_next::screen_next_area#10
|
|
byte* render_next::screen_next_area#11
|
|
byte* render_next::screen_next_area#2
|
|
byte* render_next::screen_next_area#3
|
|
byte* render_next::screen_next_area#4
|
|
byte* render_next::screen_next_area#5
|
|
byte* render_next::screen_next_area#6
|
|
byte* render_next::screen_next_area#7
|
|
byte* render_next::screen_next_area#8
|
|
byte* render_next::screen_next_area#9
|
|
void render_playfield()
|
|
byte~ render_playfield::$0
|
|
bool~ render_playfield::$1
|
|
bool~ render_playfield::$2
|
|
byte~ render_playfield::$3
|
|
byte render_playfield::c
|
|
byte render_playfield::c#0
|
|
byte render_playfield::c#1
|
|
byte render_playfield::c#2
|
|
byte render_playfield::i
|
|
byte render_playfield::i#0
|
|
byte render_playfield::i#1
|
|
byte render_playfield::i#2
|
|
byte render_playfield::i#3
|
|
byte render_playfield::i#4
|
|
byte render_playfield::l
|
|
byte render_playfield::l#0
|
|
byte render_playfield::l#1
|
|
byte render_playfield::l#2
|
|
byte render_playfield::l#3
|
|
byte render_playfield::l#4
|
|
byte* render_playfield::screen_line
|
|
byte* render_playfield::screen_line#0
|
|
byte* render_playfield::screen_line#1
|
|
byte* render_playfield::screen_line#2
|
|
void render_score()
|
|
bool~ render_score::$0
|
|
number~ render_score::$2
|
|
number~ render_score::$4
|
|
byte~ render_score::$6
|
|
number~ render_score::$8
|
|
byte~ render_score::$9
|
|
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#0
|
|
byte* render_score::screen#1
|
|
byte* render_score::screen#2
|
|
byte* render_score::screen#3
|
|
byte* render_score::screen#4
|
|
byte* render_score::screen#5
|
|
byte* render_score::screen#6
|
|
byte* render_score::screen#7
|
|
byte* render_score::screen#8
|
|
void render_screen_original(byte* render_screen_original::screen)
|
|
bool~ render_screen_original::$0
|
|
bool~ render_screen_original::$1
|
|
bool~ render_screen_original::$2
|
|
bool~ render_screen_original::$3
|
|
const byte render_screen_original::SPACE = 0
|
|
byte* render_screen_original::cols
|
|
byte* render_screen_original::cols#0
|
|
byte* render_screen_original::cols#1
|
|
byte* render_screen_original::cols#2
|
|
byte* render_screen_original::cols#3
|
|
byte* render_screen_original::cols#4
|
|
byte* render_screen_original::cols#5
|
|
byte* render_screen_original::cols#6
|
|
byte* render_screen_original::cols#7
|
|
byte* render_screen_original::cols#8
|
|
byte* render_screen_original::ocols
|
|
byte* render_screen_original::ocols#0
|
|
byte* render_screen_original::ocols#1
|
|
byte* render_screen_original::ocols#2
|
|
byte* render_screen_original::ocols#3
|
|
byte* render_screen_original::ocols#4
|
|
byte* render_screen_original::ocols#5
|
|
byte* render_screen_original::ocols#6
|
|
byte* render_screen_original::oscr
|
|
byte* render_screen_original::oscr#0
|
|
byte* render_screen_original::oscr#1
|
|
byte* render_screen_original::oscr#2
|
|
byte* render_screen_original::oscr#3
|
|
byte* render_screen_original::oscr#4
|
|
byte* render_screen_original::oscr#5
|
|
byte* render_screen_original::oscr#6
|
|
byte* render_screen_original::screen
|
|
byte* render_screen_original::screen#0
|
|
byte* render_screen_original::screen#1
|
|
byte* render_screen_original::screen#10
|
|
byte* render_screen_original::screen#2
|
|
byte* render_screen_original::screen#3
|
|
byte* render_screen_original::screen#4
|
|
byte* render_screen_original::screen#5
|
|
byte* render_screen_original::screen#6
|
|
byte* render_screen_original::screen#7
|
|
byte* render_screen_original::screen#8
|
|
byte* render_screen_original::screen#9
|
|
byte render_screen_original::x
|
|
byte render_screen_original::x#0
|
|
byte render_screen_original::x#1
|
|
byte render_screen_original::x#2
|
|
byte render_screen_original::x#3
|
|
byte render_screen_original::x#4
|
|
byte render_screen_original::x#5
|
|
byte render_screen_original::x#6
|
|
byte render_screen_original::y
|
|
byte render_screen_original::y#0
|
|
byte render_screen_original::y#1
|
|
byte render_screen_original::y#2
|
|
byte render_screen_original::y#3
|
|
byte render_screen_original::y#4
|
|
byte render_screen_original::y#5
|
|
byte render_screen_original::y#6
|
|
byte render_screen_render
|
|
byte render_screen_render#0
|
|
byte render_screen_render#1
|
|
byte render_screen_render#10
|
|
byte render_screen_render#11
|
|
byte render_screen_render#12
|
|
byte render_screen_render#13
|
|
byte render_screen_render#14
|
|
byte render_screen_render#15
|
|
byte render_screen_render#16
|
|
byte render_screen_render#17
|
|
byte render_screen_render#18
|
|
byte render_screen_render#19
|
|
byte render_screen_render#2
|
|
byte render_screen_render#20
|
|
byte render_screen_render#21
|
|
byte render_screen_render#22
|
|
byte render_screen_render#23
|
|
byte render_screen_render#24
|
|
byte render_screen_render#25
|
|
byte render_screen_render#26
|
|
byte render_screen_render#27
|
|
byte render_screen_render#28
|
|
byte render_screen_render#29
|
|
byte render_screen_render#3
|
|
byte render_screen_render#30
|
|
byte render_screen_render#31
|
|
byte render_screen_render#32
|
|
byte render_screen_render#33
|
|
byte render_screen_render#34
|
|
byte render_screen_render#35
|
|
byte render_screen_render#36
|
|
byte render_screen_render#37
|
|
byte render_screen_render#38
|
|
byte render_screen_render#39
|
|
byte render_screen_render#4
|
|
byte render_screen_render#40
|
|
byte render_screen_render#41
|
|
byte render_screen_render#42
|
|
byte render_screen_render#43
|
|
byte render_screen_render#44
|
|
byte render_screen_render#45
|
|
byte render_screen_render#46
|
|
byte render_screen_render#47
|
|
byte render_screen_render#48
|
|
byte render_screen_render#49
|
|
byte render_screen_render#5
|
|
byte render_screen_render#50
|
|
byte render_screen_render#51
|
|
byte render_screen_render#52
|
|
byte render_screen_render#53
|
|
byte render_screen_render#54
|
|
byte render_screen_render#55
|
|
byte render_screen_render#56
|
|
byte render_screen_render#57
|
|
byte render_screen_render#58
|
|
byte render_screen_render#59
|
|
byte render_screen_render#6
|
|
byte render_screen_render#60
|
|
byte render_screen_render#61
|
|
byte render_screen_render#62
|
|
byte render_screen_render#7
|
|
byte render_screen_render#8
|
|
byte render_screen_render#9
|
|
byte render_screen_show
|
|
byte render_screen_show#0
|
|
byte render_screen_show#1
|
|
byte render_screen_show#10
|
|
byte render_screen_show#11
|
|
byte render_screen_show#12
|
|
byte render_screen_show#13
|
|
byte render_screen_show#14
|
|
byte render_screen_show#15
|
|
byte render_screen_show#16
|
|
byte render_screen_show#17
|
|
byte render_screen_show#18
|
|
byte render_screen_show#19
|
|
byte render_screen_show#2
|
|
byte render_screen_show#20
|
|
byte render_screen_show#21
|
|
byte render_screen_show#22
|
|
byte render_screen_show#23
|
|
byte render_screen_show#24
|
|
byte render_screen_show#25
|
|
byte render_screen_show#26
|
|
byte render_screen_show#27
|
|
byte render_screen_show#28
|
|
byte render_screen_show#29
|
|
byte render_screen_show#3
|
|
byte render_screen_show#30
|
|
byte render_screen_show#31
|
|
byte render_screen_show#32
|
|
byte render_screen_show#33
|
|
byte render_screen_show#34
|
|
byte render_screen_show#35
|
|
byte render_screen_show#36
|
|
byte render_screen_show#37
|
|
byte render_screen_show#38
|
|
byte render_screen_show#39
|
|
byte render_screen_show#4
|
|
byte render_screen_show#40
|
|
byte render_screen_show#41
|
|
byte render_screen_show#42
|
|
byte render_screen_show#43
|
|
byte render_screen_show#44
|
|
byte render_screen_show#45
|
|
byte render_screen_show#46
|
|
byte render_screen_show#47
|
|
byte render_screen_show#48
|
|
byte render_screen_show#49
|
|
byte render_screen_show#5
|
|
byte render_screen_show#50
|
|
byte render_screen_show#51
|
|
byte render_screen_show#52
|
|
byte render_screen_show#53
|
|
byte render_screen_show#54
|
|
byte render_screen_show#55
|
|
byte render_screen_show#56
|
|
byte render_screen_show#57
|
|
byte render_screen_show#58
|
|
byte render_screen_show#6
|
|
byte render_screen_show#7
|
|
byte render_screen_show#8
|
|
byte render_screen_show#9
|
|
volatile byte render_screen_showing loadstore
|
|
void render_screen_swap()
|
|
void render_show()
|
|
bool~ render_show::$0
|
|
byte~ render_show::$1
|
|
byte~ render_show::$2
|
|
byte render_show::d018val
|
|
byte render_show::d018val#0
|
|
byte render_show::d018val#1
|
|
byte render_show::d018val#2
|
|
byte render_show::d018val#3
|
|
number~ render_show::toD0181_$0
|
|
number~ render_show::toD0181_$1
|
|
number~ render_show::toD0181_$2
|
|
byte~ render_show::toD0181_$3
|
|
number~ render_show::toD0181_$4
|
|
number~ render_show::toD0181_$5
|
|
number~ render_show::toD0181_$6
|
|
word~ render_show::toD0181_$7
|
|
byte* render_show::toD0181_gfx
|
|
byte* render_show::toD0181_gfx#0
|
|
byte* render_show::toD0181_gfx#1
|
|
byte render_show::toD0181_return
|
|
byte render_show::toD0181_return#0
|
|
byte render_show::toD0181_return#1
|
|
byte render_show::toD0181_return#2
|
|
byte render_show::toD0181_return#3
|
|
byte* render_show::toD0181_screen
|
|
byte* render_show::toD0181_screen#0
|
|
byte* render_show::toD0181_screen#1
|
|
number~ render_show::toD0182_$0
|
|
number~ render_show::toD0182_$1
|
|
number~ render_show::toD0182_$2
|
|
byte~ render_show::toD0182_$3
|
|
number~ render_show::toD0182_$4
|
|
number~ render_show::toD0182_$5
|
|
number~ render_show::toD0182_$6
|
|
word~ render_show::toD0182_$7
|
|
byte* render_show::toD0182_gfx
|
|
byte* render_show::toD0182_gfx#0
|
|
byte* render_show::toD0182_gfx#1
|
|
byte render_show::toD0182_return
|
|
byte render_show::toD0182_return#0
|
|
byte render_show::toD0182_return#1
|
|
byte render_show::toD0182_return#2
|
|
byte render_show::toD0182_return#3
|
|
byte* render_show::toD0182_screen
|
|
byte* render_show::toD0182_screen#0
|
|
byte* render_show::toD0182_screen#1
|
|
const dword* score_add_bcd[5] = { fill( 5, 0) }
|
|
volatile dword score_bcd loadstore
|
|
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()
|
|
number~ sprites_init::$0
|
|
number~ sprites_init::$1
|
|
bool~ sprites_init::$2
|
|
byte sprites_init::s
|
|
byte sprites_init::s#0
|
|
byte sprites_init::s#1
|
|
byte sprites_init::s#2
|
|
byte sprites_init::s2
|
|
byte sprites_init::s2#0
|
|
byte sprites_init::xpos
|
|
byte sprites_init::xpos#0
|
|
byte sprites_init::xpos#1
|
|
byte sprites_init::xpos#2
|
|
__interrupt(hardware_clobber) void sprites_irq()
|
|
number~ sprites_irq::$0
|
|
bool~ sprites_irq::$1
|
|
bool~ sprites_irq::$2
|
|
bool~ sprites_irq::$3
|
|
bool~ sprites_irq::$4
|
|
byte~ sprites_irq::$5
|
|
byte sprites_irq::ptr
|
|
byte sprites_irq::ptr#0
|
|
byte sprites_irq::ptr#1
|
|
byte sprites_irq::ptr#2
|
|
byte sprites_irq::ptr#3
|
|
byte sprites_irq::ptr#4
|
|
byte sprites_irq::ptr#5
|
|
byte sprites_irq::ptr#6
|
|
volatile byte sprites_irq::raster_sprite_gfx_modify loadstore
|
|
number~ sprites_irq::toSpritePtr1_$0
|
|
word~ sprites_irq::toSpritePtr1_$1
|
|
byte sprites_irq::toSpritePtr1_return
|
|
byte sprites_irq::toSpritePtr1_return#0
|
|
byte sprites_irq::toSpritePtr1_return#1
|
|
byte sprites_irq::toSpritePtr1_return#2
|
|
byte sprites_irq::toSpritePtr1_return#3
|
|
byte* sprites_irq::toSpritePtr1_sprite
|
|
byte* sprites_irq::toSpritePtr1_sprite#0
|
|
byte* sprites_irq::toSpritePtr1_sprite#1
|
|
byte sprites_irq::ypos
|
|
byte sprites_irq::ypos#0
|
|
void sprites_irq_init()
|
|
|
|
Adding number conversion cast (unumber) $13 in
|
|
Adding number conversion cast (unumber) 1 in
|
|
Adding number conversion cast (unumber) 8 in keyboard_event_scan::$14 = keyboard_event_scan::keycode#3 + 8
|
|
Adding number conversion cast (unumber) keyboard_event_scan::$14 in keyboard_event_scan::$14 = keyboard_event_scan::keycode#3 + (unumber)8
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$17 = keyboard_event_scan::$16 != 0
|
|
Adding number conversion cast (unumber) 8 in keyboard_event_scan::$19 = keyboard_events_size#11 != 8
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$22 = keyboard_event_scan::event_type#0 == 0
|
|
Adding number conversion cast (unumber) $40 in keyboard_event_scan::$23 = keyboard_event_scan::keycode#5 | $40
|
|
Adding number conversion cast (unumber) keyboard_event_scan::$23 in keyboard_event_scan::$23 = keyboard_event_scan::keycode#5 | (unumber)$40
|
|
Adding number conversion cast (unumber) 0 in keyboard_modifiers#0 = 0
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$1 = keyboard_event_scan::$0 != 0
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$4 = keyboard_event_scan::$3 != 0
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$7 = keyboard_event_scan::$6 != 0
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_scan::$10 = keyboard_event_scan::$9 != 0
|
|
Adding number conversion cast (unumber) 3 in keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3
|
|
Adding number conversion cast (unumber) 7 in keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7
|
|
Adding number conversion cast (unumber) keyboard_event_pressed::$1 in keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & (unumber)7
|
|
Adding number conversion cast (unumber) 0 in keyboard_event_get::$0 = keyboard_events_size#15 == 0
|
|
Adding number conversion cast (unumber) $ff in keyboard_event_get::return#0 = $ff
|
|
Adding number conversion cast (unumber) 3 in *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3
|
|
Adding number conversion cast (unumber) $40 in render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0 / $40
|
|
Adding number conversion cast (unumber) render_init::vicSelectGfxBank1_toDd001_$1 in render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0 / (unumber)$40
|
|
Adding number conversion cast (unumber) 3 in render_init::vicSelectGfxBank1_toDd001_$2 = 3 ^ render_init::vicSelectGfxBank1_toDd001_$1
|
|
Adding number conversion cast (unumber) render_init::vicSelectGfxBank1_toDd001_$2 in render_init::vicSelectGfxBank1_toDd001_$2 = (unumber)3 ^ render_init::vicSelectGfxBank1_toDd001_$1
|
|
Adding number conversion cast (unumber) VICII_ECM|VICII_DEN|VICII_RSEL|3 in *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
Adding number conversion cast (unumber) 3 in *D011 = ((unumber)) VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
Adding number conversion cast (unumber) 0 in *BG_COLOR1 = PIECES_COLORS_1[0]
|
|
Adding number conversion cast (unumber) 0 in *BG_COLOR2 = PIECES_COLORS_2[0]
|
|
Adding number conversion cast (unumber) $10 in render_init::li_1#0 = PLAYFIELD_SCREEN_1+2*$28+$10
|
|
Adding number conversion cast (unumber) 2*$28 in render_init::li_1#0 = PLAYFIELD_SCREEN_1+2*$28+(unumber)$10
|
|
Adding number conversion cast (unumber) $10 in render_init::li_2#0 = PLAYFIELD_SCREEN_2+2*$28+$10
|
|
Adding number conversion cast (unumber) 2*$28 in render_init::li_2#0 = PLAYFIELD_SCREEN_2+2*$28+(unumber)$10
|
|
Adding number conversion cast (unumber) $28 in render_init::li_1#1 = render_init::li_1#2 + $28
|
|
Adding number conversion cast (unumber) $28 in render_init::li_2#1 = render_init::li_2#2 + $28
|
|
Adding number conversion cast (unumber) 1 in render_init::i#1 = render_init::i#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
Adding number conversion cast (unumber) 0 in render_screen_show#0 = 0
|
|
Adding number conversion cast (unumber) $20 in render_screen_render#0 = $20
|
|
Adding number conversion cast (unumber) 0 in render_show::$0 = render_screen_show#11 == 0
|
|
Adding number conversion cast (unumber) $3fff in render_show::toD0181_$0 = render_show::toD0181_$7 & $3fff
|
|
Adding number conversion cast (unumber) render_show::toD0181_$0 in render_show::toD0181_$0 = render_show::toD0181_$7 & (unumber)$3fff
|
|
Adding number conversion cast (unumber) 4 in render_show::toD0181_$1 = render_show::toD0181_$0 * 4
|
|
Adding number conversion cast (unumber) render_show::toD0181_$1 in render_show::toD0181_$1 = render_show::toD0181_$0 * (unumber)4
|
|
Adding number conversion cast (unumber) render_show::toD0181_$2 in render_show::toD0181_$2 = > render_show::toD0181_$1
|
|
Adding number conversion cast (unumber) 4 in render_show::toD0181_$4 = render_show::toD0181_$3 / 4
|
|
Adding number conversion cast (unumber) render_show::toD0181_$4 in render_show::toD0181_$4 = render_show::toD0181_$3 / (unumber)4
|
|
Adding number conversion cast (unumber) $f in render_show::toD0181_$5 = render_show::toD0181_$4 & $f
|
|
Adding number conversion cast (unumber) render_show::toD0181_$5 in render_show::toD0181_$5 = render_show::toD0181_$4 & (unumber)$f
|
|
Adding number conversion cast (unumber) render_show::toD0181_$6 in render_show::toD0181_$6 = render_show::toD0181_$2 | render_show::toD0181_$5
|
|
Adding number conversion cast (unumber) $3fff in render_show::toD0182_$0 = render_show::toD0182_$7 & $3fff
|
|
Adding number conversion cast (unumber) render_show::toD0182_$0 in render_show::toD0182_$0 = render_show::toD0182_$7 & (unumber)$3fff
|
|
Adding number conversion cast (unumber) 4 in render_show::toD0182_$1 = render_show::toD0182_$0 * 4
|
|
Adding number conversion cast (unumber) render_show::toD0182_$1 in render_show::toD0182_$1 = render_show::toD0182_$0 * (unumber)4
|
|
Adding number conversion cast (unumber) render_show::toD0182_$2 in render_show::toD0182_$2 = > render_show::toD0182_$1
|
|
Adding number conversion cast (unumber) 4 in render_show::toD0182_$4 = render_show::toD0182_$3 / 4
|
|
Adding number conversion cast (unumber) render_show::toD0182_$4 in render_show::toD0182_$4 = render_show::toD0182_$3 / (unumber)4
|
|
Adding number conversion cast (unumber) $f in render_show::toD0182_$5 = render_show::toD0182_$4 & $f
|
|
Adding number conversion cast (unumber) render_show::toD0182_$5 in render_show::toD0182_$5 = render_show::toD0182_$4 & (unumber)$f
|
|
Adding number conversion cast (unumber) render_show::toD0182_$6 in render_show::toD0182_$6 = render_show::toD0182_$2 | render_show::toD0182_$5
|
|
Adding number conversion cast (unumber) $20 in render_screen_render#2 = render_screen_render#11 ^ $20
|
|
Adding number conversion cast (unumber) $20 in render_screen_show#2 = render_screen_show#13 ^ $20
|
|
Adding number conversion cast (unumber) 0 in render_score::$0 = render_screen_render#13 == 0
|
|
Adding number conversion cast (unumber) 2 in render_bcd::bcd#0 = render_score::score_bytes[2]
|
|
Adding number conversion cast (unumber) 0 in render_bcd::only_low#0 = 0
|
|
Adding number conversion cast (unumber) 2 in render_score::$2 = render_score::score_offset + 2
|
|
Adding number conversion cast (unumber) render_score::$2 in render_score::$2 = render_score::score_offset + (unumber)2
|
|
Adding number conversion cast (unumber) 1 in render_bcd::bcd#1 = render_score::score_bytes[1]
|
|
Adding number conversion cast (unumber) 0 in render_bcd::only_low#1 = 0
|
|
Adding number conversion cast (unumber) 4 in render_score::$4 = render_score::score_offset + 4
|
|
Adding number conversion cast (unumber) render_score::$4 in render_score::$4 = render_score::score_offset + (unumber)4
|
|
Adding number conversion cast (unumber) 0 in render_bcd::bcd#2 = render_score::score_bytes[0]
|
|
Adding number conversion cast (unumber) 0 in render_bcd::only_low#2 = 0
|
|
Adding number conversion cast (unumber) 1 in render_bcd::only_low#3 = 1
|
|
Adding number conversion cast (unumber) 1 in render_score::$8 = render_score::lines_offset + 1
|
|
Adding number conversion cast (unumber) render_score::$8 in render_score::$8 = render_score::lines_offset + (unumber)1
|
|
Adding number conversion cast (unumber) 0 in render_bcd::only_low#4 = 0
|
|
Adding number conversion cast (unumber) 0 in render_bcd::only_low#5 = 0
|
|
Adding number conversion cast (unumber) 0 in render_bcd::$1 = render_bcd::only_low#6 == 0
|
|
Adding number conversion cast (unumber) $f in render_bcd::$3 = render_bcd::bcd#6 & $f
|
|
Adding number conversion cast (unumber) render_bcd::$3 in render_bcd::$3 = render_bcd::bcd#6 & (unumber)$f
|
|
Adding number conversion cast (unumber) render_bcd::$4 in render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3
|
|
Adding number conversion cast (unumber) 4 in render_bcd::$5 = render_bcd::bcd#7 >> 4
|
|
Adding number conversion cast (unumber) $20*2 in render_screen_original::oscr#0 = PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
Adding number conversion cast (unumber) $20*2 in render_screen_original::ocols#0 = PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
Adding number conversion cast (unumber) 4 in render_screen_original::$0 = render_screen_original::x#1 != 4
|
|
Adding number conversion cast (unumber) $24 in render_screen_original::$1 = render_screen_original::x#2 != $24
|
|
Adding number conversion cast (unumber) $28 in render_screen_original::$2 = render_screen_original::x#3 != $28
|
|
Adding number conversion cast (unumber) 2 in render_playfield::i#0 = (byte)PLAYFIELD_COLS*2
|
|
Adding number conversion cast (unumber) 1 in render_playfield::c#1 = render_playfield::c#2 + rangenext(0,PLAYFIELD_COLS-1)
|
|
Adding number conversion cast (unumber) 1 in render_playfield::l#1 = render_playfield::l#3 + rangenext(2,PLAYFIELD_LINES-1)
|
|
Adding number conversion cast (unumber) 1 in render_moving::$0 = render_moving::ypos#2 > 1
|
|
Adding number conversion cast (unumber) 4 in render_moving::i#1 = render_moving::i#3 + 4
|
|
Adding number conversion cast (unumber) 0 in render_moving::$2 = render_moving::current_cell#0 != 0
|
|
Adding number conversion cast (unumber) 0 in render_next::$0 = render_screen_render#16 == 0
|
|
Adding number conversion cast (unumber) 0 in render_next::$3 = render_next::cell#0 != 0
|
|
Adding number conversion cast (unumber) 0 in *render_next::screen_next_area#6 = 0
|
|
Adding number conversion cast (unumber) $24 in render_next::screen_next_area#4 = render_next::screen_next_area#8 + $24
|
|
Adding number conversion cast (unumber) $f in *SPRITES_ENABLE = $f
|
|
Adding number conversion cast (unumber) 0 in *SPRITES_MC = 0
|
|
Adding number conversion cast (unumber) 2 in sprites_init::$0 = sprites_init::s#2 * 2
|
|
Adding number conversion cast (unumber) sprites_init::$0 in sprites_init::$0 = sprites_init::s#2 * (unumber)2
|
|
Adding number conversion cast (unumber) $18 in sprites_init::$1 = sprites_init::xpos#2 + $18
|
|
Adding number conversion cast (unumber) sprites_init::$1 in sprites_init::$1 = sprites_init::xpos#2 + (unumber)$18
|
|
Adding number conversion cast (unumber) $7f in *VICII_CONTROL = *VICII_CONTROL & $7f
|
|
Adding number conversion cast (unumber) 0 in SPRITES_YPOS[0] = sprites_irq::ypos#0
|
|
Adding number conversion cast (unumber) 2 in SPRITES_YPOS[2] = sprites_irq::ypos#0
|
|
Adding number conversion cast (unumber) 4 in SPRITES_YPOS[4] = sprites_irq::ypos#0
|
|
Adding number conversion cast (unumber) 6 in SPRITES_YPOS[6] = sprites_irq::ypos#0
|
|
Adding number conversion cast (unumber) 1 in sprites_irq::$0 = irq_raster_next + 1
|
|
Adding number conversion cast (unumber) sprites_irq::$0 in sprites_irq::$0 = irq_raster_next + (unumber)1
|
|
Adding number conversion cast (unumber) 0 in sprites_irq::$1 = render_screen_showing == 0
|
|
Adding number conversion cast (unumber) 0 in PLAYFIELD_SPRITE_PTRS_1[0] = sprites_irq::ptr#5
|
|
Adding number conversion cast (unumber) 1 in PLAYFIELD_SPRITE_PTRS_1[1] = sprites_irq::ptr#1
|
|
Adding number conversion cast (unumber) 2 in PLAYFIELD_SPRITE_PTRS_1[2] = sprites_irq::ptr#1
|
|
Adding number conversion cast (unumber) 3 in PLAYFIELD_SPRITE_PTRS_1[3] = sprites_irq::ptr#2
|
|
Adding number conversion cast (unumber) 0 in PLAYFIELD_SPRITE_PTRS_2[0] = sprites_irq::ptr#6
|
|
Adding number conversion cast (unumber) 1 in PLAYFIELD_SPRITE_PTRS_2[1] = sprites_irq::ptr#3
|
|
Adding number conversion cast (unumber) 2 in PLAYFIELD_SPRITE_PTRS_2[2] = sprites_irq::ptr#3
|
|
Adding number conversion cast (unumber) 3 in PLAYFIELD_SPRITE_PTRS_2[3] = sprites_irq::ptr#4
|
|
Adding number conversion cast (unumber) 9 in sprites_irq::$2 = irq_cnt == 9
|
|
Adding number conversion cast (unumber) $15 in irq_raster_next = irq_raster_next + $15
|
|
Adding number conversion cast (unumber) $40 in sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1 / $40
|
|
Adding number conversion cast (unumber) sprites_irq::toSpritePtr1_$0 in sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1 / (unumber)$40
|
|
Adding number conversion cast (unumber) $a in sprites_irq::$3 = irq_cnt == $a
|
|
Adding number conversion cast (unumber) 0 in irq_cnt = 0
|
|
Adding number conversion cast (unumber) $15 in irq_sprite_ypos = irq_sprite_ypos + $15
|
|
Adding number conversion cast (unumber) 3 in irq_sprite_ptr = irq_sprite_ptr + 3
|
|
Adding number conversion cast (unumber) $14 in irq_raster_next = irq_raster_next + $14
|
|
Adding number conversion cast (unumber) $15 in irq_sprite_ypos = irq_sprite_ypos + $15
|
|
Adding number conversion cast (unumber) 3 in irq_sprite_ptr = irq_sprite_ptr + 3
|
|
Adding number conversion cast (unumber) 1 in play_init::j#1 = play_init::j#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
Adding number conversion cast (unumber) 0 in play_movement::$1 = game_over#0 != 0
|
|
Adding number conversion cast (unumber) 0 in play_move_down::$3 = play_move_down::$2 != 0
|
|
Adding number conversion cast (unumber) 0 in play_move_down::$7 = play_move_down::movedown#6 != 0
|
|
Adding number conversion cast (unumber) 0 in play_move_down::return#1 = 0
|
|
Adding number conversion cast (unumber) 1 in play_move_down::$11 = current_ypos#17 + 1
|
|
Adding number conversion cast (unumber) play_move_down::$11 in play_move_down::$11 = current_ypos#17 + (unumber)1
|
|
Adding number conversion cast (unumber) 0 in current_movedown_counter#3 = 0
|
|
Adding number conversion cast (unumber) 1 in play_move_down::return#2 = 1
|
|
Adding number conversion cast (unumber) 1 in play_move_leftright::$7 = current_xpos#24 - 1
|
|
Adding number conversion cast (unumber) play_move_leftright::$7 in play_move_leftright::$7 = current_xpos#24 - (unumber)1
|
|
Adding number conversion cast (unumber) 1 in play_move_leftright::$3 = current_xpos#25 + 1
|
|
Adding number conversion cast (unumber) play_move_leftright::$3 in play_move_leftright::$3 = current_xpos#25 + (unumber)1
|
|
Adding number conversion cast (unumber) 1 in play_move_leftright::return#1 = 1
|
|
Adding number conversion cast (unumber) 0 in play_move_leftright::return#3 = 0
|
|
Adding number conversion cast (unumber) 1 in play_move_leftright::return#4 = 1
|
|
Adding number conversion cast (unumber) $10 in play_move_rotate::$7 = current_orientation#24 - $10
|
|
Adding number conversion cast (unumber) play_move_rotate::$7 in play_move_rotate::$7 = current_orientation#24 - (unumber)$10
|
|
Adding number conversion cast (unumber) $3f in play_move_rotate::$8 = play_move_rotate::$7 & $3f
|
|
Adding number conversion cast (unumber) play_move_rotate::$8 in play_move_rotate::$8 = play_move_rotate::$7 & (unumber)$3f
|
|
Adding number conversion cast (unumber) $10 in play_move_rotate::$5 = current_orientation#25 + $10
|
|
Adding number conversion cast (unumber) play_move_rotate::$5 in play_move_rotate::$5 = current_orientation#25 + (unumber)$10
|
|
Adding number conversion cast (unumber) $3f in play_move_rotate::$6 = play_move_rotate::$5 & $3f
|
|
Adding number conversion cast (unumber) play_move_rotate::$6 in play_move_rotate::$6 = play_move_rotate::$5 & (unumber)$3f
|
|
Adding number conversion cast (unumber) 0 in play_move_rotate::return#1 = 0
|
|
Adding number conversion cast (unumber) 0 in play_move_rotate::return#3 = 0
|
|
Adding number conversion cast (unumber) 1 in play_move_rotate::return#4 = 1
|
|
Adding number conversion cast (unumber) 0 in play_collision::$1 = play_collision::piece_gfx#1[play_collision::i#2] != 0
|
|
Adding number conversion cast (unumber) $80 in play_collision::$5 = play_collision::xp#3 & $80
|
|
Adding number conversion cast (unumber) play_collision::$5 in play_collision::$5 = play_collision::xp#3 & (unumber)$80
|
|
Adding number conversion cast (unumber) 0 in play_collision::$6 = play_collision::$5 != 0
|
|
Adding number conversion cast (unumber) 0 in play_collision::$10 = play_collision::playfield_line#1[play_collision::xp#5] != 0
|
|
Adding number conversion cast (unumber) 0 in play_lock_current::$0 = current_piece_gfx#23[play_lock_current::i#2] != 0
|
|
Adding number conversion cast (unumber) 0 in current_orientation#7 = 0
|
|
Adding number conversion cast (unumber) 1 in game_over#4 = 1
|
|
Adding number conversion cast (unumber) 7 in play_spawn_current::$4 = play_spawn_current::piece_idx#2 == 7
|
|
Adding number conversion cast (unumber) 7 in play_spawn_current::$6 = play_spawn_current::$5 & 7
|
|
Adding number conversion cast (unumber) play_spawn_current::$6 in play_spawn_current::$6 = play_spawn_current::$5 & (unumber)7
|
|
Adding number conversion cast (unumber) 1 in play_remove_lines::r#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Adding number conversion cast (unumber) 1 in play_remove_lines::w#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Adding number conversion cast (unumber) 0 in play_remove_lines::$0 = play_remove_lines::c#0 == 0
|
|
Adding number conversion cast (unumber) 1 in play_remove_lines::x#1 = play_remove_lines::x#2 + rangenext(0,PLAYFIELD_COLS-1)
|
|
Adding number conversion cast (unumber) 0 in play_remove_lines::full#1 = 0
|
|
Adding number conversion cast (unumber) 1 in play_remove_lines::$3 = play_remove_lines::full#2 == 1
|
|
Adding number conversion cast (unumber) 1 in play_remove_lines::y#1 = play_remove_lines::y#2 + rangenext(0,PLAYFIELD_LINES-1)
|
|
Adding number conversion cast (unumber) $ff in play_remove_lines::$7 = play_remove_lines::w#6 != $ff
|
|
Adding number conversion cast (unumber) 0 in playfield[play_remove_lines::w#7] = 0
|
|
Adding number conversion cast (unumber) 0 in play_update_score::$0 = play_update_score::removed#1 != 0
|
|
Adding number conversion cast (unumber) $f0 in play_update_score::$3 = play_update_score::$2 & $f0
|
|
Adding number conversion cast (unumber) play_update_score::$3 in play_update_score::$3 = play_update_score::$2 & (unumber)$f0
|
|
Adding number conversion cast (unumber) $f0 in play_update_score::$5 = play_update_score::$4 & $f0
|
|
Adding number conversion cast (unumber) play_update_score::$5 in play_update_score::$5 = play_update_score::$4 & (unumber)$f0
|
|
Adding number conversion cast (unumber) $1d in play_increase_level::$0 = level#6 > $1d
|
|
Adding number conversion cast (unumber) 1 in current_movedown_slow#8 = 1
|
|
Adding number conversion cast (unumber) $f in play_increase_level::$1 = level_bcd#6 & $f
|
|
Adding number conversion cast (unumber) play_increase_level::$1 in play_increase_level::$1 = level_bcd#6 & (unumber)$f
|
|
Adding number conversion cast (unumber) $a in play_increase_level::$2 = play_increase_level::$1 == $a
|
|
Adding number conversion cast (unumber) 6 in level_bcd#7 = level_bcd#22 + 6
|
|
Adding number conversion cast (unumber) $ffff in *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff
|
|
Adding number conversion cast (unumber) $ff in main::$10 = *RASTER != $ff
|
|
Adding number conversion cast (unumber) 0 in main::$14 = game_over#20 == 0
|
|
Adding number conversion cast (unumber) 0 in main::$17 = main::render#2 != 0
|
|
Adding number conversion cast (unumber) $15 in irq_sprite_ypos = (byte)SPRITES_FIRST_YPOS+$15
|
|
Adding number conversion cast (unumber) $40 in __start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1 / $40
|
|
Adding number conversion cast (unumber) __start::__init1_toSpritePtr1_$0 in __start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1 / (unumber)$40
|
|
Adding number conversion cast (unumber) 3 in __start::__init1_$1 = __start::__init1_$0 + 3
|
|
Adding number conversion cast (unumber) __start::__init1_$1 in __start::__init1_$1 = __start::__init1_$0 + (unumber)3
|
|
Successful SSA optimization PassNAddNumberTypeConversions
|
|
Inlining cast keyboard_modifiers#0 = (unumber)0
|
|
Inlining cast keyboard_event_get::return#0 = (unumber)$ff
|
|
Inlining cast *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = (unumber)3
|
|
Inlining cast *D011 = (unumber)VICII_ECM|VICII_DEN|VICII_RSEL|(unumber)3
|
|
Inlining cast render_screen_show#0 = (unumber)0
|
|
Inlining cast render_screen_render#0 = (unumber)$20
|
|
Inlining cast render_bcd::only_low#0 = (unumber)0
|
|
Inlining cast render_bcd::only_low#1 = (unumber)0
|
|
Inlining cast render_bcd::only_low#2 = (unumber)0
|
|
Inlining cast render_bcd::only_low#3 = (unumber)1
|
|
Inlining cast render_bcd::only_low#4 = (unumber)0
|
|
Inlining cast render_bcd::only_low#5 = (unumber)0
|
|
Inlining cast render_next::next_piece_gfx#0 = (byte*)PIECES[render_next::$6]
|
|
Inlining cast *render_next::screen_next_area#6 = (unumber)0
|
|
Inlining cast *SPRITES_ENABLE = (unumber)$f
|
|
Inlining cast *SPRITES_MC = (unumber)0
|
|
Inlining cast irq_cnt = (unumber)0
|
|
Inlining cast play_move_down::return#1 = (unumber)0
|
|
Inlining cast current_movedown_counter#3 = (unumber)0
|
|
Inlining cast play_move_down::return#2 = (unumber)1
|
|
Inlining cast play_move_leftright::return#1 = (unumber)1
|
|
Inlining cast play_move_leftright::return#3 = (unumber)0
|
|
Inlining cast play_move_leftright::return#4 = (unumber)1
|
|
Inlining cast play_move_rotate::return#1 = (unumber)0
|
|
Inlining cast play_move_rotate::return#3 = (unumber)0
|
|
Inlining cast play_move_rotate::return#4 = (unumber)1
|
|
Inlining cast current_piece#4 = (byte*)PIECES[play_spawn_current::$7]
|
|
Inlining cast current_orientation#7 = (unumber)0
|
|
Inlining cast game_over#4 = (unumber)1
|
|
Inlining cast play_remove_lines::full#1 = (unumber)0
|
|
Inlining cast playfield[play_remove_lines::w#7] = (unumber)0
|
|
Inlining cast current_movedown_slow#8 = (unumber)1
|
|
Inlining cast *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = (unumber)$ffff
|
|
Successful SSA optimization Pass2InlineCast
|
|
Simplifying constant pointer cast (byte*) 53248
|
|
Simplifying constant pointer cast (byte*) 53249
|
|
Simplifying constant pointer cast (byte*) 53287
|
|
Simplifying constant pointer cast (byte*) 53269
|
|
Simplifying constant pointer cast (byte*) 53271
|
|
Simplifying constant pointer cast (byte*) 53276
|
|
Simplifying constant pointer cast (byte*) 53277
|
|
Simplifying constant pointer cast (byte*) 53266
|
|
Simplifying constant pointer cast (byte*) 53280
|
|
Simplifying constant pointer cast (byte*) 53281
|
|
Simplifying constant pointer cast (byte*) 53282
|
|
Simplifying constant pointer cast (byte*) 53283
|
|
Simplifying constant pointer cast (byte*) 53284
|
|
Simplifying constant pointer cast (byte*) 53265
|
|
Simplifying constant pointer cast (byte*) 53265
|
|
Simplifying constant pointer cast (byte*) 53272
|
|
Simplifying constant pointer cast (byte*) 53273
|
|
Simplifying constant pointer cast (byte*) 53274
|
|
Simplifying constant pointer cast (byte*) 0
|
|
Simplifying constant pointer cast (byte*) 1
|
|
Simplifying constant pointer cast (struct MOS6581_SID*) 54272
|
|
Simplifying constant pointer cast (byte*) 55296
|
|
Simplifying constant pointer cast (struct MOS6526_CIA*) 56320
|
|
Simplifying constant pointer cast (struct MOS6526_CIA*) 56576
|
|
Simplifying constant pointer cast (byte*) 56333
|
|
Simplifying constant pointer cast (void()**) 65534
|
|
Simplifying constant pointer cast (byte*) 1024
|
|
Simplifying constant pointer cast (byte*) 11264
|
|
Simplifying constant integer cast $13
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 8
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 8
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $40
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast 7
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $ff
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast $40
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast VICII_ECM|VICII_DEN|VICII_RSEL|(unumber)3
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $10
|
|
Simplifying constant integer cast $10
|
|
Simplifying constant integer cast $28
|
|
Simplifying constant integer cast $28
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $20
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $3fff
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast $f
|
|
Simplifying constant integer cast $3fff
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast $f
|
|
Simplifying constant integer cast $20
|
|
Simplifying constant integer cast $20
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $f
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast $24
|
|
Simplifying constant integer cast $28
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $24
|
|
Simplifying constant integer cast $f
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast $18
|
|
Simplifying constant integer cast $7f
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 6
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 2
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast 9
|
|
Simplifying constant integer cast $15
|
|
Simplifying constant integer cast $40
|
|
Simplifying constant integer cast $a
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $15
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast $14
|
|
Simplifying constant integer cast $15
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast $10
|
|
Simplifying constant integer cast $3f
|
|
Simplifying constant integer cast $10
|
|
Simplifying constant integer cast $3f
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $80
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 7
|
|
Simplifying constant integer cast 7
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast $ff
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $f0
|
|
Simplifying constant integer cast $f0
|
|
Simplifying constant integer cast $1d
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast $f
|
|
Simplifying constant integer cast $a
|
|
Simplifying constant integer cast 6
|
|
Simplifying constant integer cast $ffff
|
|
Simplifying constant integer cast $ff
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast 0
|
|
Simplifying constant integer cast $15
|
|
Simplifying constant integer cast $40
|
|
Simplifying constant integer cast 3
|
|
Simplifying constant pointer cast (byte*) 0
|
|
Successful SSA optimization PassNCastSimplification
|
|
Finalized unsigned number type (byte) $13
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 7
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $ff
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $10
|
|
Finalized unsigned number type (byte) $10
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $20
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (word) $3fff
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (word) $3fff
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (byte) $20
|
|
Finalized unsigned number type (byte) $20
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) $24
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $24
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) $18
|
|
Finalized unsigned number type (byte) $7f
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 6
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 9
|
|
Finalized unsigned number type (byte) $15
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $a
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $15
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) $14
|
|
Finalized unsigned number type (byte) $15
|
|
Finalized unsigned number type (byte) 3
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) $10
|
|
Finalized unsigned number type (byte) $3f
|
|
Finalized unsigned number type (byte) $10
|
|
Finalized unsigned number type (byte) $3f
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $80
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 7
|
|
Finalized unsigned number type (byte) 7
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) $ff
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $f0
|
|
Finalized unsigned number type (byte) $f0
|
|
Finalized unsigned number type (byte) $1d
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (byte) $a
|
|
Finalized unsigned number type (byte) 6
|
|
Finalized unsigned number type (word) $ffff
|
|
Finalized unsigned number type (byte) $ff
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) 0
|
|
Finalized unsigned number type (byte) $15
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) 3
|
|
Successful SSA optimization PassNFinalizeNumberTypeConversions
|
|
Inferred type updated to byte in keyboard_event_scan::$14 = keyboard_event_scan::keycode#3 + 8
|
|
Inferred type updated to byte in keyboard_event_scan::$23 = keyboard_event_scan::keycode#5 | $40
|
|
Inferred type updated to byte in keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7
|
|
Inferred type updated to byte in render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0 / $40
|
|
Inferred type updated to byte in render_init::vicSelectGfxBank1_toDd001_$2 = 3 ^ render_init::vicSelectGfxBank1_toDd001_$1
|
|
Inferred type updated to word in render_show::toD0181_$0 = render_show::toD0181_$7 & $3fff
|
|
Inferred type updated to word in render_show::toD0181_$1 = render_show::toD0181_$0 * 4
|
|
Inferred type updated to byte in render_show::toD0181_$2 = > render_show::toD0181_$1
|
|
Inferred type updated to byte in render_show::toD0181_$4 = render_show::toD0181_$3 / 4
|
|
Inferred type updated to byte in render_show::toD0181_$5 = render_show::toD0181_$4 & $f
|
|
Inferred type updated to byte in render_show::toD0181_$6 = render_show::toD0181_$2 | render_show::toD0181_$5
|
|
Inferred type updated to word in render_show::toD0182_$0 = render_show::toD0182_$7 & $3fff
|
|
Inferred type updated to word in render_show::toD0182_$1 = render_show::toD0182_$0 * 4
|
|
Inferred type updated to byte in render_show::toD0182_$2 = > render_show::toD0182_$1
|
|
Inferred type updated to byte in render_show::toD0182_$4 = render_show::toD0182_$3 / 4
|
|
Inferred type updated to byte in render_show::toD0182_$5 = render_show::toD0182_$4 & $f
|
|
Inferred type updated to byte in render_show::toD0182_$6 = render_show::toD0182_$2 | render_show::toD0182_$5
|
|
Inferred type updated to word in render_score::$2 = render_score::score_offset + 2
|
|
Inferred type updated to word in render_score::$4 = render_score::score_offset + 4
|
|
Inferred type updated to word in render_score::$8 = render_score::lines_offset + 1
|
|
Inferred type updated to byte in render_bcd::$3 = render_bcd::bcd#6 & $f
|
|
Inferred type updated to byte in render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3
|
|
Inferred type updated to byte in sprites_init::$0 = sprites_init::s#2 * 2
|
|
Inferred type updated to byte in sprites_init::$1 = sprites_init::xpos#2 + $18
|
|
Inferred type updated to byte in sprites_irq::$0 = irq_raster_next + 1
|
|
Inferred type updated to word in sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1 / $40
|
|
Inferred type updated to byte in play_move_down::$11 = current_ypos#17 + 1
|
|
Inferred type updated to byte in play_move_leftright::$7 = current_xpos#24 - 1
|
|
Inferred type updated to byte in play_move_leftright::$3 = current_xpos#25 + 1
|
|
Inferred type updated to byte in play_move_rotate::$7 = current_orientation#24 - $10
|
|
Inferred type updated to byte in play_move_rotate::$8 = play_move_rotate::$7 & $3f
|
|
Inferred type updated to byte in play_move_rotate::$5 = current_orientation#25 + $10
|
|
Inferred type updated to byte in play_move_rotate::$6 = play_move_rotate::$5 & $3f
|
|
Inferred type updated to byte in play_collision::$5 = play_collision::xp#3 & $80
|
|
Inferred type updated to byte in play_spawn_current::$6 = play_spawn_current::$5 & 7
|
|
Inferred type updated to byte in play_update_score::$3 = play_update_score::$2 & $f0
|
|
Inferred type updated to byte in play_update_score::$5 = play_update_score::$4 & $f0
|
|
Inferred type updated to byte in play_increase_level::$1 = level_bcd#6 & $f
|
|
Inferred type updated to word in __start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1 / $40
|
|
Inferred type updated to byte in __start::__init1_$1 = __start::__init1_$0 + 3
|
|
Inversing boolean not [33] keyboard_event_scan::$18 = keyboard_event_scan::$16 == 0 from [32] keyboard_event_scan::$17 = keyboard_event_scan::$16 != 0
|
|
Inversing boolean not [42] keyboard_event_scan::$20 = keyboard_events_size#11 == 8 from [41] keyboard_event_scan::$19 = keyboard_events_size#11 != 8
|
|
Inversing boolean not [66] keyboard_event_scan::$2 = keyboard_event_scan::$0 == 0 from [65] keyboard_event_scan::$1 = keyboard_event_scan::$0 != 0
|
|
Inversing boolean not [75] keyboard_event_scan::$5 = keyboard_event_scan::$3 == 0 from [74] keyboard_event_scan::$4 = keyboard_event_scan::$3 != 0
|
|
Inversing boolean not [87] keyboard_event_scan::$8 = keyboard_event_scan::$6 == 0 from [86] keyboard_event_scan::$7 = keyboard_event_scan::$6 != 0
|
|
Inversing boolean not [99] keyboard_event_scan::$11 = keyboard_event_scan::$9 == 0 from [98] keyboard_event_scan::$10 = keyboard_event_scan::$9 != 0
|
|
Inversing boolean not [282] render_bcd::$2 = render_bcd::only_low#6 != 0 from [281] render_bcd::$1 = render_bcd::only_low#6 == 0
|
|
Inversing boolean not [377] render_moving::$3 = render_moving::current_cell#0 == 0 from [376] render_moving::$2 = render_moving::current_cell#0 != 0
|
|
Inversing boolean not [555] play_movement::$2 = game_over#0 == 0 from [554] play_movement::$1 = game_over#0 != 0
|
|
Inversing boolean not [596] play_move_down::$1 = play_move_down::key_event#1 != KEY_SPACE from [595] play_move_down::$0 = play_move_down::key_event#1 == KEY_SPACE
|
|
Inversing boolean not [605] play_move_down::$4 = play_move_down::$2 == 0 from [604] play_move_down::$3 = play_move_down::$2 != 0
|
|
Inversing boolean not [611] play_move_down::$6 = current_movedown_counter#13 < current_movedown_slow#20 from [610] play_move_down::$5 = current_movedown_counter#13 >= current_movedown_slow#20
|
|
Inversing boolean not [615] play_move_down::$10 = current_movedown_counter#14 < current_movedown_fast from [614] play_move_down::$9 = current_movedown_counter#14 >= current_movedown_fast
|
|
Inversing boolean not [621] play_move_down::$8 = play_move_down::movedown#6 == 0 from [620] play_move_down::$7 = play_move_down::movedown#6 != 0
|
|
Inversing boolean not [697] play_move_leftright::$10 = play_move_leftright::$8 != COLLISION_NONE from [696] play_move_leftright::$9 = play_move_leftright::$8 == COLLISION_NONE
|
|
Inversing boolean not [701] play_move_leftright::$2 = play_move_leftright::key_event#2 != KEY_DOT from [700] play_move_leftright::$1 = play_move_leftright::key_event#2 == KEY_DOT
|
|
Inversing boolean not [713] play_move_leftright::$6 = play_move_leftright::$4 != COLLISION_NONE from [712] play_move_leftright::$5 = play_move_leftright::$4 == COLLISION_NONE
|
|
Inversing boolean not [758] play_move_rotate::$4 = play_move_rotate::$2 != COLLISION_NONE from [757] play_move_rotate::$3 = play_move_rotate::$2 == COLLISION_NONE
|
|
Inversing boolean not [781] play_collision::$2 = play_collision::piece_gfx#1[play_collision::i#2] == 0 from [779] play_collision::$1 = play_collision::piece_gfx#1[play_collision::i#2] != 0
|
|
Inversing boolean not [790] play_collision::$4 = play_collision::yp#3 < PLAYFIELD_LINES from [789] play_collision::$3 = play_collision::yp#3 >= PLAYFIELD_LINES
|
|
Inversing boolean not [795] play_collision::$7 = play_collision::$5 == 0 from [794] play_collision::$6 = play_collision::$5 != 0
|
|
Inversing boolean not [803] play_collision::$9 = play_collision::xp#4 < PLAYFIELD_COLS from [802] play_collision::$8 = play_collision::xp#4 >= PLAYFIELD_COLS
|
|
Inversing boolean not [808] play_collision::$11 = play_collision::playfield_line#1[play_collision::xp#5] == 0 from [807] play_collision::$10 = play_collision::playfield_line#1[play_collision::xp#5] != 0
|
|
Inversing boolean not [830] play_lock_current::$1 = current_piece_gfx#23[play_lock_current::i#2] == 0 from [828] play_lock_current::$0 = current_piece_gfx#23[play_lock_current::i#2] != 0
|
|
Inversing boolean not [863] play_spawn_current::$3 = play_spawn_current::$1 != COLLISION_PLAYFIELD from [862] play_spawn_current::$2 = play_spawn_current::$1 == COLLISION_PLAYFIELD
|
|
Inversing boolean not [903] play_remove_lines::$1 = play_remove_lines::c#0 != 0 from [902] play_remove_lines::$0 = play_remove_lines::c#0 == 0
|
|
Inversing boolean not [915] play_remove_lines::$4 = play_remove_lines::full#2 != 1 from [914] play_remove_lines::$3 = play_remove_lines::full#2 == 1
|
|
Inversing boolean not [938] play_update_score::$1 = play_update_score::removed#1 == 0 from [937] play_update_score::$0 = play_update_score::removed#1 != 0
|
|
Inversing boolean not [954] play_update_score::$7 = play_update_score::lines_before#0 == play_update_score::lines_after#0 from [953] play_update_score::$6 = play_update_score::lines_before#0 != play_update_score::lines_after#0
|
|
Inversing boolean not [980] play_increase_level::$3 = play_increase_level::$1 != $a from [979] play_increase_level::$2 = play_increase_level::$1 == $a
|
|
Inversing boolean not [1090] main::$18 = main::render#2 == 0 from [1089] main::$17 = main::render#2 != 0
|
|
Successful SSA optimization Pass2UnaryNotSimplification
|
|
Alias candidate removed (volatile)render_screen_show#12 = render_screen_showing
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::toSpritePtr1_return#0 = sprites_irq::toSpritePtr1_return#2 sprites_irq::toSpritePtr1_return#1 sprites_irq::toSpritePtr1_return#3 sprites_irq::$5 irq_sprite_ptr __start::__init1_$1
|
|
Alias keyboard_matrix_read::return#0 = keyboard_matrix_read::row_pressed_bits#0 keyboard_matrix_read::$0 keyboard_matrix_read::return#3 keyboard_matrix_read::return#1
|
|
Alias keyboard_matrix_read::return#2 = keyboard_matrix_read::return#4
|
|
Alias keyboard_event_scan::row#2 = keyboard_event_scan::row#3 keyboard_event_scan::row#9 keyboard_event_scan::row#7
|
|
Alias keyboard_event_scan::keycode#11 = keyboard_event_scan::keycode#7 keyboard_event_scan::keycode#12 keyboard_event_scan::keycode#3
|
|
Alias keyboard_events_size#32 = keyboard_events_size#39 keyboard_events_size#48 keyboard_events_size#62
|
|
Alias keyboard_event_scan::row_scan#0 = keyboard_event_scan::$12 keyboard_event_scan::row_scan#5
|
|
Alias keyboard_event_scan::keycode#1 = keyboard_event_scan::$14
|
|
Alias keyboard_events_size#11 = keyboard_events_size#23 keyboard_events_size#24 keyboard_events_size#12 keyboard_events_size#13
|
|
Alias keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#9 keyboard_event_scan::keycode#8 keyboard_event_scan::keycode#5 keyboard_event_scan::keycode#6
|
|
Alias keyboard_event_scan::col#2 = keyboard_event_scan::col#6 keyboard_event_scan::col#4 keyboard_event_scan::col#5 keyboard_event_scan::col#7
|
|
Alias keyboard_event_scan::row_scan#1 = keyboard_event_scan::row_scan#6 keyboard_event_scan::row_scan#2 keyboard_event_scan::row_scan#7 keyboard_event_scan::row_scan#8
|
|
Alias keyboard_event_scan::row#10 = keyboard_event_scan::row#11 keyboard_event_scan::row#5 keyboard_event_scan::row#13 keyboard_event_scan::row#12
|
|
Alias keyboard_event_scan::event_type#0 = keyboard_event_scan::$21
|
|
Alias keyboard_event_scan::row_scan#3 = keyboard_event_scan::row_scan#4
|
|
Alias keyboard_event_scan::row#6 = keyboard_event_scan::row#8
|
|
Alias keyboard_event_scan::keycode#14 = keyboard_event_scan::keycode#2
|
|
Alias keyboard_events_size#31 = keyboard_events_size#61
|
|
Alias keyboard_events_size#56 = keyboard_events_size#70 keyboard_events_size#67 keyboard_events_size#66
|
|
Alias keyboard_event_pressed::return#0 = keyboard_event_pressed::return#7
|
|
Alias keyboard_modifiers#0 = keyboard_modifiers#20 keyboard_modifiers#11
|
|
Alias keyboard_event_pressed::return#1 = keyboard_event_pressed::return#8
|
|
Alias keyboard_modifiers#12 = keyboard_modifiers#21 keyboard_modifiers#27
|
|
Alias keyboard_events_size#57 = keyboard_events_size#63 keyboard_events_size#58
|
|
Alias keyboard_modifiers#1 = keyboard_event_scan::$26
|
|
Alias keyboard_event_pressed::return#2 = keyboard_event_pressed::return#9
|
|
Alias keyboard_modifiers#13 = keyboard_modifiers#22 keyboard_modifiers#28
|
|
Alias keyboard_events_size#40 = keyboard_events_size#49 keyboard_events_size#41
|
|
Alias keyboard_modifiers#2 = keyboard_event_scan::$27
|
|
Alias keyboard_event_pressed::return#10 = keyboard_event_pressed::return#3
|
|
Alias keyboard_modifiers#14 = keyboard_modifiers#23 keyboard_modifiers#29
|
|
Alias keyboard_events_size#25 = keyboard_events_size#33 keyboard_events_size#26
|
|
Alias keyboard_modifiers#3 = keyboard_event_scan::$28
|
|
Alias keyboard_modifiers#4 = keyboard_event_scan::$29
|
|
Alias keyboard_events_size#14 = keyboard_events_size#2
|
|
Alias keyboard_modifiers#15 = keyboard_modifiers#5
|
|
Alias keyboard_event_pressed::return#11 = keyboard_event_pressed::return#4 keyboard_event_pressed::$2 keyboard_event_pressed::return#5
|
|
Alias keyboard_events_size#15 = keyboard_events_size#27 keyboard_events_size#16
|
|
Alias keyboard_event_get::return#2 = keyboard_event_get::return#4
|
|
Alias keyboard_events_size#17 = keyboard_events_size#4
|
|
Alias render_init::vicSelectGfxBank1_gfx#0 = render_init::vicSelectGfxBank1_gfx#1 render_init::vicSelectGfxBank1_toDd001_gfx#0 render_init::vicSelectGfxBank1_toDd001_gfx#1
|
|
Alias render_init::vicSelectGfxBank1_toDd001_return#0 = render_init::vicSelectGfxBank1_toDd001_$2 render_init::vicSelectGfxBank1_toDd001_return#2 render_init::vicSelectGfxBank1_toDd001_return#1 render_init::vicSelectGfxBank1_toDd001_return#3 render_init::vicSelectGfxBank1_$0
|
|
Alias render_screen_show#0 = render_screen_show#10 render_screen_show#1
|
|
Alias render_screen_render#0 = render_screen_render#10 render_screen_render#1
|
|
Alias level#28 = level#72 level#86 level#58 level#44 level#73 level#59 level#45 level#29
|
|
Alias render_screen_show#11 = render_screen_show#43 render_screen_show#35 render_screen_show#27 render_screen_show#21 render_screen_show#44 render_screen_show#36 render_screen_show#28 render_screen_show#22
|
|
Alias render_show::toD0181_screen#0 = render_show::toD0181_screen#1
|
|
Alias render_show::toD0181_gfx#0 = render_show::toD0181_gfx#1
|
|
Alias render_show::toD0181_return#0 = render_show::toD0181_$6 render_show::toD0181_return#2 render_show::toD0181_return#1 render_show::toD0181_return#3 render_show::$2 render_show::d018val#1
|
|
Alias render_show::toD0182_screen#0 = render_show::toD0182_screen#1
|
|
Alias render_show::toD0182_gfx#0 = render_show::toD0182_gfx#1
|
|
Alias render_show::toD0182_return#0 = render_show::toD0182_$6 render_show::toD0182_return#2 render_show::toD0182_return#1 render_show::toD0182_return#3 render_show::$1 render_show::d018val#2
|
|
Alias render_screen_render#12 = render_screen_render#2 render_screen_render#3
|
|
Alias render_screen_show#14 = render_screen_show#2 render_screen_show#3
|
|
Alias lines_bcd#58 = lines_bcd#69 lines_bcd#59
|
|
Alias level_bcd#84 = level_bcd#91 level_bcd#85
|
|
Alias render_score::screen#3 = render_score::screen#4 render_score::screen#5 render_score::screen#6 render_score::screen#7 render_score::screen#8
|
|
Alias lines_bcd#11 = lines_bcd#35 lines_bcd#47 lines_bcd#23 lines_bcd#12
|
|
Alias level_bcd#14 = level_bcd#69 level_bcd#79 level_bcd#57 level_bcd#44 level_bcd#28
|
|
Alias render_bcd::offset#1 = render_score::$2
|
|
Alias render_bcd::offset#2 = render_score::$4
|
|
Alias render_bcd::bcd#3 = render_score::$6
|
|
Alias render_bcd::offset#4 = render_score::$8
|
|
Alias render_bcd::bcd#4 = render_score::$9
|
|
Alias render_bcd::screen_pos#0 = render_bcd::$0 render_bcd::screen_pos#4
|
|
Alias render_bcd::bcd#7 = render_bcd::bcd#8
|
|
Alias render_screen_original::y#2 = render_screen_original::y#3
|
|
Alias render_screen_original::screen#10 = render_screen_original::screen#4
|
|
Alias render_screen_original::cols#3 = render_screen_original::cols#8
|
|
Alias render_screen_original::oscr#5 = render_screen_original::oscr#6
|
|
Alias render_screen_original::ocols#5 = render_screen_original::ocols#6
|
|
Alias render_playfield::l#3 = render_playfield::l#4
|
|
Alias render_screen_render#25 = render_screen_render#34
|
|
Alias render_playfield::i#1 = render_playfield::i#4
|
|
Alias render_screen_render#15 = render_screen_render#26 render_screen_render#44
|
|
Alias render_moving::ypos#2 = render_moving::ypos#3 render_moving::ypos#6
|
|
Alias current_xpos#17 = current_xpos#38 current_xpos#81
|
|
Alias current_piece_gfx#31 = current_piece_gfx#48 current_piece_gfx#85
|
|
Alias render_moving::i#3 = render_moving::i#6 render_moving::i#5
|
|
Alias current_piece_char#39 = current_piece_char#54 current_piece_char#87
|
|
Alias render_moving::l#4 = render_moving::l#8 render_moving::l#5
|
|
Alias current_piece_char#13 = current_piece_char#26
|
|
Alias render_moving::screen_line#1 = render_moving::screen_line#2
|
|
Alias render_moving::xpos#3 = render_moving::xpos#4
|
|
Alias render_moving::c#3 = render_moving::c#4
|
|
Alias render_moving::ypos#7 = render_moving::ypos#8
|
|
Alias render_moving::l#6 = render_moving::l#7
|
|
Alias current_piece_gfx#16 = current_piece_gfx#49
|
|
Alias render_moving::i#2 = render_moving::i#9
|
|
Alias render_screen_render#50 = render_screen_render#51
|
|
Alias current_xpos#97 = current_xpos#98
|
|
Alias next_piece_idx#26 = next_piece_idx#38 next_piece_idx#27
|
|
Alias render_next::screen_next_area#1 = render_next::$2
|
|
Alias render_next::screen_next_area#2 = render_next::$1
|
|
Alias render_next::next_piece_char#1 = render_next::next_piece_char#2 render_next::next_piece_char#6
|
|
Alias render_next::screen_next_area#5 = render_next::screen_next_area#9 render_next::screen_next_area#6
|
|
Alias render_next::c#3 = render_next::c#5 render_next::c#4
|
|
Alias render_next::next_piece_gfx#1 = render_next::next_piece_gfx#6 render_next::next_piece_gfx#7
|
|
Alias render_next::l#4 = render_next::l#6 render_next::l#5
|
|
Alias render_next::screen_next_area#3 = render_next::screen_next_area#8
|
|
Alias render_next::l#2 = render_next::l#3
|
|
Alias render_next::next_piece_gfx#4 = render_next::next_piece_gfx#5
|
|
Alias render_next::next_piece_char#4 = render_next::next_piece_char#5
|
|
Alias sprites_init::s2#0 = sprites_init::$0
|
|
Alias sprites_init::xpos#1 = sprites_init::$1
|
|
Alias sprites_irq::ptr#0 = sprites_irq::ptr#5 sprites_irq::ptr#6
|
|
Alias sprites_irq::toSpritePtr1_sprite#0 = sprites_irq::toSpritePtr1_sprite#1
|
|
Alias level#14 = level#30
|
|
Alias current_movedown_slow#1 = current_movedown_slow#17 current_movedown_slow#31
|
|
Alias play_move_down::return#0 = play_move_down::return#4
|
|
Alias play_movement::render#0 = play_movement::render#4
|
|
Alias play_movement::key_event#1 = play_movement::key_event#4 play_movement::key_event#2 play_movement::key_event#3
|
|
Alias current_movedown_counter#0 = current_movedown_counter#10 current_movedown_counter#36 current_movedown_counter#29 current_movedown_counter#22 current_movedown_counter#21
|
|
Alias current_ypos#0 = current_ypos#15 current_ypos#56 current_ypos#52 current_ypos#36 current_ypos#35
|
|
Alias lines_bcd#0 = lines_bcd#13 lines_bcd#48 lines_bcd#36 lines_bcd#26 lines_bcd#25
|
|
Alias level#0 = level#15 level#61 level#47 level#33 level#32
|
|
Alias current_movedown_slow#18 = current_movedown_slow#2 current_movedown_slow#61 current_movedown_slow#49 current_movedown_slow#34 current_movedown_slow#33
|
|
Alias level_bcd#0 = level_bcd#15 level_bcd#58 level_bcd#45 level_bcd#31 level_bcd#30
|
|
Alias current_piece#0 = current_piece#13 current_piece#56 current_piece#42 current_piece#28 current_piece#27
|
|
Alias current_piece_char#0 = current_piece_char#14 current_piece_char#55 current_piece_char#41 current_piece_char#29 current_piece_char#28
|
|
Alias current_orientation#0 = current_orientation#16 current_orientation#52 current_orientation#35 current_orientation#36
|
|
Alias current_piece_gfx#0 = current_piece_gfx#17 current_piece_gfx#50 current_piece_gfx#34 current_piece_gfx#35
|
|
Alias current_xpos#0 = current_xpos#18 current_xpos#40 current_xpos#41
|
|
Alias game_over#0 = game_over#13 game_over#48 game_over#37 game_over#27 game_over#26
|
|
Alias next_piece_idx#0 = next_piece_idx#14 next_piece_idx#50 next_piece_idx#39 next_piece_idx#30 next_piece_idx#29
|
|
Alias play_movement::render#1 = play_movement::render#8 play_movement::render#5 play_movement::render#7 play_movement::return#1
|
|
Alias play_move_leftright::return#0 = play_move_leftright::return#5
|
|
Alias current_xpos#1 = current_xpos#19 current_xpos#42
|
|
Alias play_move_rotate::return#0 = play_move_rotate::return#5
|
|
Alias play_movement::render#2 = play_movement::render#6
|
|
Alias current_orientation#1 = current_orientation#17
|
|
Alias current_piece_gfx#1 = current_piece_gfx#18
|
|
Alias play_movement::return#0 = play_movement::render#3
|
|
Alias play_movement::return#2 = play_movement::return#4
|
|
Alias current_movedown_counter#1 = current_movedown_counter#11
|
|
Alias current_ypos#1 = current_ypos#16
|
|
Alias lines_bcd#1 = lines_bcd#14
|
|
Alias level#1 = level#16
|
|
Alias current_movedown_slow#19 = current_movedown_slow#3
|
|
Alias level_bcd#1 = level_bcd#16
|
|
Alias current_piece#1 = current_piece#14
|
|
Alias current_piece_char#1 = current_piece_char#15
|
|
Alias current_orientation#18 = current_orientation#2
|
|
Alias current_piece_gfx#19 = current_piece_gfx#2
|
|
Alias current_xpos#2 = current_xpos#20
|
|
Alias game_over#1 = game_over#14
|
|
Alias next_piece_idx#1 = next_piece_idx#15
|
|
Alias keyboard_event_pressed::return#12 = keyboard_event_pressed::return#6
|
|
Alias current_movedown_counter#14 = current_movedown_counter#23 current_movedown_counter#30 current_movedown_counter#24
|
|
Alias current_movedown_slow#35 = current_movedown_slow#50 current_movedown_slow#36 current_movedown_slow#37
|
|
Alias play_move_down::movedown#10 = play_move_down::movedown#11 play_move_down::movedown#8 play_move_down::movedown#5
|
|
Alias current_ypos#67 = current_ypos#79 current_ypos#68 current_ypos#69
|
|
Alias current_xpos#82 = current_xpos#99 current_xpos#83 current_xpos#84
|
|
Alias current_orientation#64 = current_orientation#77 current_orientation#65 current_orientation#66
|
|
Alias lines_bcd#60 = lines_bcd#70 lines_bcd#61 lines_bcd#62
|
|
Alias level#74 = level#87 level#75 level#76
|
|
Alias level_bcd#70 = level_bcd#80 level_bcd#71 level_bcd#72
|
|
Alias current_piece#70 = current_piece#82 current_piece#71 current_piece#72
|
|
Alias current_piece_char#72 = current_piece_char#88 current_piece_char#73 current_piece_char#74
|
|
Alias current_piece_gfx#100 = current_piece_gfx#86 current_piece_gfx#87 current_piece_gfx#88
|
|
Alias game_over#61 = game_over#74 game_over#62 game_over#63
|
|
Alias next_piece_idx#59 = next_piece_idx#70 next_piece_idx#60 next_piece_idx#61
|
|
Alias play_move_down::movedown#0 = play_move_down::movedown#4
|
|
Alias current_movedown_counter#2 = current_movedown_counter#37
|
|
Alias current_movedown_slow#62 = current_movedown_slow#63
|
|
Alias current_ypos#88 = current_ypos#89
|
|
Alias current_xpos#109 = current_xpos#110
|
|
Alias current_orientation#87 = current_orientation#88
|
|
Alias lines_bcd#74 = lines_bcd#75
|
|
Alias level#93 = level#94
|
|
Alias level_bcd#86 = level_bcd#87
|
|
Alias current_piece#87 = current_piece#88
|
|
Alias current_piece_char#93 = current_piece_char#94
|
|
Alias current_piece_gfx#106 = current_piece_gfx#107
|
|
Alias game_over#79 = game_over#80
|
|
Alias next_piece_idx#74 = next_piece_idx#75
|
|
Alias play_move_down::movedown#7 = play_move_down::movedown#9
|
|
Alias current_ypos#53 = current_ypos#54
|
|
Alias current_xpos#63 = current_xpos#64
|
|
Alias current_orientation#53 = current_orientation#54
|
|
Alias current_movedown_counter#13 = current_movedown_counter#38
|
|
Alias lines_bcd#49 = lines_bcd#50
|
|
Alias level#62 = level#63
|
|
Alias current_movedown_slow#20 = current_movedown_slow#64
|
|
Alias level_bcd#59 = level_bcd#60
|
|
Alias current_piece#57 = current_piece#58
|
|
Alias current_piece_char#56 = current_piece_char#57
|
|
Alias current_piece_gfx#68 = current_piece_gfx#69
|
|
Alias game_over#49 = game_over#50
|
|
Alias next_piece_idx#51 = next_piece_idx#52
|
|
Alias current_movedown_counter#25 = current_movedown_counter#31
|
|
Alias current_ypos#17 = current_ypos#41 current_ypos#37 current_ypos#38 current_ypos#18 current_ypos#46 current_ypos#70 current_ypos#55 current_ypos#39
|
|
Alias lines_bcd#27 = lines_bcd#29 lines_bcd#37 lines_bcd#63 lines_bcd#51 lines_bcd#39 lines_bcd#52 lines_bcd#38
|
|
Alias level#34 = level#36 level#48 level#77 level#64 level#50 level#65 level#49
|
|
Alias current_movedown_slow#38 = current_movedown_slow#40 current_movedown_slow#51 current_movedown_slow#73 current_movedown_slow#65 current_movedown_slow#53 current_movedown_slow#66 current_movedown_slow#52
|
|
Alias level_bcd#32 = level_bcd#34 level_bcd#46 level_bcd#73 level_bcd#61 level_bcd#48 level_bcd#62 level_bcd#47
|
|
Alias current_piece#29 = current_piece#31 current_piece#43 current_piece#33 current_piece#59 current_piece#45 current_piece#73 current_piece#60 current_piece#44
|
|
Alias current_piece_char#30 = current_piece_char#32 current_piece_char#42 current_piece_char#75 current_piece_char#58 current_piece_char#44 current_piece_char#76 current_piece_char#59 current_piece_char#43
|
|
Alias current_orientation#19 = current_orientation#40 current_orientation#37 current_orientation#67 current_orientation#56 current_orientation#78 current_orientation#68 current_orientation#55 current_orientation#38
|
|
Alias current_piece_gfx#36 = current_piece_gfx#38 current_piece_gfx#51 current_piece_gfx#89 current_piece_gfx#70 current_piece_gfx#53 current_piece_gfx#74 current_piece_gfx#71 current_piece_gfx#52
|
|
Alias current_xpos#21 = current_xpos#46 current_xpos#43 current_xpos#85 current_xpos#66 current_xpos#69 current_xpos#86 current_xpos#65 current_xpos#44
|
|
Alias game_over#28 = game_over#30 game_over#38 game_over#64 game_over#51 game_over#40 game_over#65 game_over#52 game_over#39
|
|
Alias next_piece_idx#31 = next_piece_idx#33 next_piece_idx#40 next_piece_idx#62 next_piece_idx#53 next_piece_idx#42 next_piece_idx#63 next_piece_idx#54 next_piece_idx#41
|
|
Alias play_collision::ypos#0 = play_move_down::$11
|
|
Alias play_collision::return#0 = play_collision::return#11
|
|
Alias play_remove_lines::return#0 = play_remove_lines::return#3
|
|
Alias play_move_down::removed#0 = play_move_down::$15
|
|
Alias lines_bcd#15 = lines_bcd#2 lines_bcd#40
|
|
Alias level#17 = level#2 level#51
|
|
Alias current_movedown_slow#21 = current_movedown_slow#4 current_movedown_slow#54
|
|
Alias level_bcd#17 = level_bcd#2 level_bcd#49
|
|
Alias current_piece#15 = current_piece#2
|
|
Alias current_piece_char#16 = current_piece_char#2
|
|
Alias current_orientation#20 = current_orientation#3
|
|
Alias current_piece_gfx#20 = current_piece_gfx#3
|
|
Alias current_xpos#22 = current_xpos#3
|
|
Alias current_ypos#19 = current_ypos#3
|
|
Alias game_over#15 = game_over#2
|
|
Alias next_piece_idx#16 = next_piece_idx#2
|
|
Alias play_move_down::return#3 = play_move_down::return#5
|
|
Alias current_movedown_counter#15 = current_movedown_counter#4
|
|
Alias current_ypos#20 = current_ypos#4
|
|
Alias lines_bcd#16 = lines_bcd#3
|
|
Alias level#18 = level#3
|
|
Alias current_movedown_slow#22 = current_movedown_slow#5
|
|
Alias level_bcd#18 = level_bcd#3
|
|
Alias current_piece#16 = current_piece#3
|
|
Alias current_piece_char#17 = current_piece_char#3
|
|
Alias current_orientation#21 = current_orientation#4
|
|
Alias current_piece_gfx#21 = current_piece_gfx#4
|
|
Alias current_xpos#23 = current_xpos#4
|
|
Alias game_over#16 = game_over#3
|
|
Alias next_piece_idx#17 = next_piece_idx#3
|
|
Alias current_xpos#24 = current_xpos#47 current_xpos#51 current_xpos#48 current_xpos#25 current_xpos#49 current_xpos#26 current_xpos#28
|
|
Alias current_ypos#21 = current_ypos#42 current_ypos#43 current_ypos#22
|
|
Alias current_orientation#22 = current_orientation#41 current_orientation#42 current_orientation#23
|
|
Alias current_piece#34 = current_piece#46 current_piece#47 current_piece#35
|
|
Alias play_collision::xpos#1 = play_move_leftright::$7
|
|
Alias play_collision::return#1 = play_collision::return#12
|
|
Alias play_move_leftright::key_event#1 = play_move_leftright::key_event#2
|
|
Alias play_collision::xpos#2 = play_move_leftright::$3
|
|
Alias play_collision::return#13 = play_collision::return#2
|
|
Alias play_move_leftright::return#2 = play_move_leftright::return#6
|
|
Alias current_xpos#27 = current_xpos#6
|
|
Alias current_orientation#24 = current_orientation#43 current_orientation#44 current_orientation#25 current_orientation#46
|
|
Alias current_xpos#52 = current_xpos#67 current_xpos#68 current_xpos#53
|
|
Alias current_ypos#44 = current_ypos#57 current_ypos#58 current_ypos#45
|
|
Alias current_piece#48 = current_piece#61 current_piece#62 current_piece#49
|
|
Alias current_piece_gfx#40 = current_piece_gfx#90 current_piece_gfx#72 current_piece_gfx#54 current_piece_gfx#91
|
|
Alias play_move_rotate::orientation#1 = play_move_rotate::$8
|
|
Alias play_move_rotate::key_event#1 = play_move_rotate::key_event#2
|
|
Alias play_move_rotate::orientation#2 = play_move_rotate::$6
|
|
Alias play_move_rotate::return#2 = play_move_rotate::return#6
|
|
Alias current_orientation#26 = current_orientation#5
|
|
Alias current_piece_gfx#22 = current_piece_gfx#5
|
|
Alias play_collision::return#14 = play_collision::return#3
|
|
Alias play_move_rotate::orientation#3 = play_move_rotate::orientation#5 play_move_rotate::orientation#4
|
|
Alias current_piece#17 = current_piece#32 current_piece#36
|
|
Alias current_orientation#45 = current_orientation#57 current_orientation#69
|
|
Alias current_piece_gfx#39 = current_piece_gfx#55 current_piece_gfx#73
|
|
Alias current_piece_gfx#6 = play_move_rotate::$9
|
|
Alias play_collision::piece_gfx#0 = play_collision::$0
|
|
Alias play_collision::yp#0 = play_collision::ypos#5
|
|
Alias play_collision::xp#0 = play_collision::xpos#5
|
|
Alias play_collision::yp#3 = play_collision::yp#5 play_collision::yp#9 play_collision::yp#8 play_collision::yp#7
|
|
Alias play_collision::xp#3 = play_collision::xp#7 play_collision::xp#6 play_collision::xp#4 play_collision::xp#5
|
|
Alias play_collision::playfield_line#1 = play_collision::playfield_line#4 play_collision::playfield_line#5 play_collision::playfield_line#3 play_collision::playfield_line#2
|
|
Alias play_collision::c#3 = play_collision::c#7 play_collision::c#6 play_collision::c#5 play_collision::c#4
|
|
Alias play_collision::piece_gfx#1 = play_collision::piece_gfx#8 play_collision::piece_gfx#7 play_collision::piece_gfx#6 play_collision::piece_gfx#5
|
|
Alias play_collision::i#1 = play_collision::i#9 play_collision::i#8 play_collision::i#7 play_collision::i#6
|
|
Alias play_collision::l#4 = play_collision::l#9 play_collision::l#8 play_collision::l#7 play_collision::l#5
|
|
Alias play_collision::xpos#10 = play_collision::xpos#13 play_collision::xpos#9 play_collision::xpos#12 play_collision::xpos#11
|
|
Alias play_collision::return#15 = play_collision::return#5
|
|
Alias play_collision::yp#4 = play_collision::yp#6
|
|
Alias play_collision::l#2 = play_collision::l#3
|
|
Alias play_collision::xpos#7 = play_collision::xpos#8
|
|
Alias play_collision::piece_gfx#3 = play_collision::piece_gfx#4
|
|
Alias play_collision::i#4 = play_collision::i#5
|
|
Alias current_piece_char#18 = current_piece_char#33
|
|
Alias play_lock_current::playfield_line#1 = play_lock_current::playfield_line#2
|
|
Alias play_lock_current::xp#3 = play_lock_current::xp#4
|
|
Alias play_lock_current::c#3 = play_lock_current::c#4
|
|
Alias current_piece_gfx#23 = current_piece_gfx#58
|
|
Alias play_lock_current::i#1 = play_lock_current::i#6
|
|
Alias play_lock_current::yp#5 = play_lock_current::yp#6
|
|
Alias play_lock_current::l#4 = play_lock_current::l#5
|
|
Alias current_xpos#87 = current_xpos#88
|
|
Alias play_lock_current::yp#3 = play_lock_current::yp#4
|
|
Alias play_lock_current::l#2 = play_lock_current::l#3
|
|
Alias current_xpos#55 = current_xpos#70
|
|
Alias current_piece_gfx#42 = current_piece_gfx#57
|
|
Alias play_lock_current::i#4 = play_lock_current::i#5
|
|
Alias current_piece_char#46 = current_piece_char#61
|
|
Alias current_piece_gfx#7 = play_spawn_current::$0 current_piece_gfx#93 current_piece_gfx#92
|
|
Alias play_collision::return#10 = play_collision::return#16
|
|
Alias current_piece#4 = current_piece#75 current_piece#74
|
|
Alias current_piece_char#4 = current_piece_char#78 current_piece_char#77
|
|
Alias current_orientation#7 = current_orientation#80 current_orientation#79
|
|
Alias current_xpos#100 = current_xpos#101 current_xpos#8
|
|
Alias current_ypos#5 = current_ypos#81 current_ypos#80
|
|
Alias game_over#66 = game_over#75
|
|
Alias current_piece#19 = current_piece#83 current_piece#50 current_piece#76 current_piece#64 current_piece#37 current_piece#5
|
|
Alias current_piece_char#19 = current_piece_char#89 current_piece_char#47 current_piece_char#79 current_piece_char#63 current_piece_char#34 current_piece_char#5
|
|
Alias current_orientation#27 = current_orientation#89 current_orientation#58 current_orientation#81 current_orientation#71 current_orientation#47 current_orientation#8
|
|
Alias current_piece_gfx#101 = current_piece_gfx#59 current_piece_gfx#94 current_piece_gfx#76 current_piece_gfx#43 current_piece_gfx#24 current_piece_gfx#8
|
|
Alias current_xpos#102 = current_xpos#111 current_xpos#71 current_xpos#90 current_xpos#56 current_xpos#31 current_xpos#9
|
|
Alias current_ypos#25 = current_ypos#90 current_ypos#59 current_ypos#82 current_ypos#72 current_ypos#47 current_ypos#6
|
|
Alias game_over#17 = game_over#76 game_over#41 game_over#67 game_over#54 game_over#31 game_over#5
|
|
Alias play_spawn_current::sid_rnd1_return#0 = play_spawn_current::sid_rnd1_return#2 play_spawn_current::sid_rnd1_return#1 play_spawn_current::sid_rnd1_return#3 play_spawn_current::$5
|
|
Alias play_spawn_current::piece_idx#1 = play_spawn_current::$6
|
|
Alias play_spawn_current::piece_idx#2 = play_spawn_current::piece_idx#3
|
|
Alias next_piece_idx#19 = next_piece_idx#4 next_piece_idx#5
|
|
Alias play_remove_lines::c#0 = play_remove_lines::c#2
|
|
Alias play_remove_lines::w#8 = play_remove_lines::w#9
|
|
Alias play_remove_lines::x#3 = play_remove_lines::x#4
|
|
Alias play_remove_lines::r#1 = play_remove_lines::r#6
|
|
Alias play_remove_lines::y#6 = play_remove_lines::y#7
|
|
Alias play_remove_lines::removed#10 = play_remove_lines::removed#9
|
|
Alias play_remove_lines::full#2 = play_remove_lines::full#3
|
|
Alias play_remove_lines::y#3 = play_remove_lines::y#5 play_remove_lines::y#4
|
|
Alias play_remove_lines::w#1 = play_remove_lines::w#10 play_remove_lines::w#5
|
|
Alias play_remove_lines::removed#2 = play_remove_lines::removed#4 play_remove_lines::removed#6
|
|
Alias play_remove_lines::r#4 = play_remove_lines::r#7 play_remove_lines::r#8
|
|
Alias play_remove_lines::w#2 = play_remove_lines::$5
|
|
Alias play_remove_lines::w#6 = play_remove_lines::w#7
|
|
Alias play_remove_lines::removed#3 = play_remove_lines::removed#8 play_remove_lines::removed#5 play_remove_lines::return#1 play_remove_lines::return#4 play_remove_lines::return#2
|
|
Alias lines_bcd#17 = lines_bcd#30
|
|
Alias play_update_score::removed#1 = play_update_score::removed#2
|
|
Alias level#37 = level#39 level#38
|
|
Alias current_movedown_slow#41 = current_movedown_slow#43 current_movedown_slow#42
|
|
Alias level_bcd#35 = level_bcd#37 level_bcd#36
|
|
Alias play_update_score::lines_before#0 = play_update_score::$3
|
|
Alias play_update_score::lines_after#0 = play_update_score::$5
|
|
Alias lines_bcd#31 = lines_bcd#41 lines_bcd#4
|
|
Alias level#19 = level#4
|
|
Alias current_movedown_slow#23 = current_movedown_slow#6
|
|
Alias level_bcd#19 = level_bcd#4
|
|
Alias lines_bcd#18 = lines_bcd#5
|
|
Alias level#20 = level#5
|
|
Alias current_movedown_slow#24 = current_movedown_slow#7
|
|
Alias level_bcd#20 = level_bcd#5
|
|
Alias level_bcd#38 = level_bcd#50 level_bcd#39
|
|
Alias level#22 = level#88 level#6
|
|
Alias level_bcd#22 = level_bcd#6
|
|
Alias level#78 = level#79
|
|
Alias current_movedown_slow#74 = current_movedown_slow#75
|
|
Alias level#23 = level#40 level#52 level#7
|
|
Alias current_movedown_slow#10 = current_movedown_slow#44 current_movedown_slow#55 current_movedown_slow#25
|
|
Alias level_bcd#23 = level_bcd#40 level_bcd#51 level_bcd#8
|
|
Alias render_screen_show#24 = render_screen_show#29 render_screen_show#37
|
|
Alias render_screen_render#29 = render_screen_render#37 render_screen_render#45
|
|
Alias current_movedown_slow#45 = current_movedown_slow#81 current_movedown_slow#85 current_movedown_slow#76 current_movedown_slow#68 current_movedown_slow#56
|
|
Alias next_piece_idx#34 = next_piece_idx#76 next_piece_idx#78 next_piece_idx#71 next_piece_idx#64 next_piece_idx#55 next_piece_idx#43
|
|
Alias current_piece#38 = current_piece#89 current_piece#92 current_piece#84 current_piece#77 current_piece#65 current_piece#51
|
|
Alias current_piece_char#35 = current_piece_char#95 current_piece_char#98 current_piece_char#90 current_piece_char#80 current_piece_char#64 current_piece_char#48
|
|
Alias current_orientation#48 = current_orientation#93 current_orientation#96 current_orientation#90 current_orientation#82 current_orientation#72 current_orientation#59
|
|
Alias current_piece_gfx#102 = current_piece_gfx#108 current_piece_gfx#110 current_piece_gfx#95 current_piece_gfx#77 current_piece_gfx#60 current_piece_gfx#44
|
|
Alias current_xpos#103 = current_xpos#115 current_xpos#117 current_xpos#112 current_xpos#91 current_xpos#72 current_xpos#57
|
|
Alias current_ypos#48 = current_ypos#94 current_ypos#96 current_ypos#91 current_ypos#83 current_ypos#73 current_ypos#60
|
|
Alias game_over#32 = game_over#81 game_over#83 game_over#77 game_over#68 game_over#55 game_over#42
|
|
Alias level#100 = level#99 level#102 level#95 level#89 level#80 level#60 level#96 level#90 level#81 level#67 level#53
|
|
Alias keyboard_events_size#34 = keyboard_events_size#75 keyboard_events_size#76 keyboard_events_size#74 keyboard_events_size#73 keyboard_events_size#72 keyboard_events_size#71 keyboard_events_size#68 keyboard_events_size#64 keyboard_events_size#59 keyboard_events_size#50 keyboard_events_size#42
|
|
Alias keyboard_modifiers#30 = keyboard_modifiers#57 keyboard_modifiers#58 keyboard_modifiers#56 keyboard_modifiers#55 keyboard_modifiers#54 keyboard_modifiers#53 keyboard_modifiers#51 keyboard_modifiers#49 keyboard_modifiers#47 keyboard_modifiers#41 keyboard_modifiers#35
|
|
Alias current_movedown_counter#32 = current_movedown_counter#59 current_movedown_counter#60 current_movedown_counter#58 current_movedown_counter#57 current_movedown_counter#56 current_movedown_counter#55 current_movedown_counter#53 current_movedown_counter#50 current_movedown_counter#47 current_movedown_counter#43 current_movedown_counter#39
|
|
Alias lines_bcd#42 = lines_bcd#85 lines_bcd#86 lines_bcd#84 lines_bcd#83 lines_bcd#82 lines_bcd#81 lines_bcd#79 lines_bcd#76 lines_bcd#71 lines_bcd#64 lines_bcd#53
|
|
Alias level_bcd#52 = level_bcd#98 level_bcd#99 level_bcd#97 level_bcd#96 level_bcd#95 level_bcd#94 level_bcd#92 level_bcd#88 level_bcd#81 level_bcd#74 level_bcd#64
|
|
Alias render_screen_show#15 = render_screen_show#4 render_screen_show#58 render_screen_show#57 render_screen_show#56 render_screen_show#54 render_screen_show#51 render_screen_show#45 render_screen_show#38 render_screen_show#30
|
|
Alias render_screen_render#17 = render_screen_render#4 render_screen_render#59 render_screen_render#57 render_screen_render#52 render_screen_render#46 render_screen_render#32 render_screen_render#38 render_screen_render#27 render_screen_render#39
|
|
Alias current_movedown_slow#11 = current_movedown_slow#26 current_movedown_slow#86 current_movedown_slow#82 current_movedown_slow#77 current_movedown_slow#69 current_movedown_slow#57
|
|
Alias current_piece#20 = current_piece#6
|
|
Alias current_piece_char#20 = current_piece_char#6
|
|
Alias current_orientation#28 = current_orientation#9
|
|
Alias current_piece_gfx#25 = current_piece_gfx#9
|
|
Alias current_xpos#10 = current_xpos#32
|
|
Alias current_ypos#26 = current_ypos#7
|
|
Alias game_over#18 = game_over#6
|
|
Alias next_piece_idx#20 = next_piece_idx#6
|
|
Alias current_piece#21 = current_piece#7 current_piece#78 current_piece#66 current_piece#52
|
|
Alias current_piece_char#21 = current_piece_char#7 current_piece_char#81 current_piece_char#65 current_piece_char#49
|
|
Alias current_orientation#10 = current_orientation#29 current_orientation#83 current_orientation#73 current_orientation#60
|
|
Alias current_piece_gfx#10 = current_piece_gfx#26 current_piece_gfx#83 current_piece_gfx#78 current_piece_gfx#61
|
|
Alias current_xpos#11 = current_xpos#33 current_xpos#78 current_xpos#92 current_xpos#73
|
|
Alias current_ypos#27 = current_ypos#8 current_ypos#32 current_ypos#74 current_ypos#61
|
|
Alias game_over#19 = game_over#7 game_over#69 game_over#56 game_over#43
|
|
Alias next_piece_idx#21 = next_piece_idx#7 next_piece_idx#65 next_piece_idx#48 next_piece_idx#44
|
|
Alias render_screen_show#20 = render_screen_show#32 render_screen_show#55 render_screen_show#52 render_screen_show#47 render_screen_show#46 render_screen_show#39
|
|
Alias keyboard_events_size#28 = keyboard_events_size#37 keyboard_events_size#43
|
|
Alias keyboard_modifiers#24 = keyboard_modifiers#33 keyboard_modifiers#36
|
|
Alias game_over#20 = game_over#57 game_over#70 game_over#46 game_over#33 game_over#34
|
|
Alias current_movedown_counter#26 = current_movedown_counter#48 current_movedown_counter#51 current_movedown_counter#44 current_movedown_counter#40 current_movedown_counter#35
|
|
Alias current_ypos#49 = current_ypos#92 current_ypos#95 current_ypos#84 current_ypos#75 current_ypos#64
|
|
Alias lines_bcd#32 = lines_bcd#72 lines_bcd#77 lines_bcd#65 lines_bcd#54 lines_bcd#45
|
|
Alias level#41 = level#91 level#97 level#82 level#68 level#56
|
|
Alias current_movedown_slow#46 = current_movedown_slow#83 current_movedown_slow#87 current_movedown_slow#78 current_movedown_slow#70 current_movedown_slow#60
|
|
Alias level_bcd#41 = level_bcd#82 level_bcd#89 level_bcd#75 level_bcd#65 level_bcd#55
|
|
Alias current_piece#39 = current_piece#85 current_piece#90 current_piece#79 current_piece#67 current_piece#55
|
|
Alias current_piece_char#36 = current_piece_char#91 current_piece_char#96 current_piece_char#82 current_piece_char#66 current_piece_char#52
|
|
Alias current_orientation#49 = current_orientation#91 current_orientation#94 current_orientation#84 current_orientation#74 current_orientation#63
|
|
Alias current_piece_gfx#103 = current_piece_gfx#109 current_piece_gfx#96 current_piece_gfx#79 current_piece_gfx#64 current_piece_gfx#45
|
|
Alias current_xpos#104 = current_xpos#113 current_xpos#116 current_xpos#93 current_xpos#76 current_xpos#58
|
|
Alias next_piece_idx#35 = next_piece_idx#72 next_piece_idx#77 next_piece_idx#66 next_piece_idx#56 next_piece_idx#47
|
|
Alias render_screen_render#47 = render_screen_render#61 render_screen_render#62 render_screen_render#60 render_screen_render#58 render_screen_render#54 render_screen_render#53
|
|
Alias keyboard_events_size#18 = keyboard_events_size#5
|
|
Alias keyboard_modifiers#16 = keyboard_modifiers#6 keyboard_modifiers#43 keyboard_modifiers#42 keyboard_modifiers#37
|
|
Alias keyboard_event_get::return#3 = keyboard_event_get::return#5
|
|
Alias keyboard_events_size#19 = keyboard_events_size#6 keyboard_events_size#51 keyboard_events_size#44
|
|
Alias main::key_event#0 = main::$13 main::key_event#1
|
|
Alias play_movement::return#3 = play_movement::return#5
|
|
Alias current_movedown_counter#16 = current_movedown_counter#5
|
|
Alias current_ypos#28 = current_ypos#9
|
|
Alias lines_bcd#19 = lines_bcd#6
|
|
Alias level#24 = level#8
|
|
Alias current_movedown_slow#12 = current_movedown_slow#27
|
|
Alias level_bcd#24 = level_bcd#9
|
|
Alias current_piece#22 = current_piece#8
|
|
Alias current_piece_char#22 = current_piece_char#8
|
|
Alias current_orientation#11 = current_orientation#30
|
|
Alias current_piece_gfx#11 = current_piece_gfx#27
|
|
Alias current_xpos#12 = current_xpos#34
|
|
Alias game_over#21 = game_over#8
|
|
Alias next_piece_idx#22 = next_piece_idx#8
|
|
Alias main::render#1 = main::$16
|
|
Alias main::render#3 = main::render#4
|
|
Alias render_screen_show#40 = render_screen_show#48
|
|
Alias render_screen_render#48 = render_screen_render#55
|
|
Alias current_movedown_slow#71 = current_movedown_slow#79
|
|
Alias current_piece#68 = current_piece#80
|
|
Alias current_piece_char#67 = current_piece_char#83
|
|
Alias current_orientation#75 = current_orientation#85
|
|
Alias current_piece_gfx#80 = current_piece_gfx#97
|
|
Alias current_xpos#105 = current_xpos#94
|
|
Alias current_ypos#76 = current_ypos#85
|
|
Alias game_over#58 = game_over#71
|
|
Alias next_piece_idx#57 = next_piece_idx#67
|
|
Alias keyboard_events_size#45 = keyboard_events_size#52
|
|
Alias keyboard_modifiers#38 = keyboard_modifiers#44
|
|
Alias current_movedown_counter#41 = current_movedown_counter#45
|
|
Alias lines_bcd#55 = lines_bcd#66
|
|
Alias level#69 = level#83
|
|
Alias level_bcd#66 = level_bcd#76
|
|
Alias render_screen_render#22 = render_screen_render#33 render_screen_render#40 render_screen_render#41 render_screen_render#28 render_screen_render#23
|
|
Alias current_ypos#33 = current_ypos#65 current_ypos#63 current_ypos#93 current_ypos#86 current_ypos#77 current_ypos#62
|
|
Alias current_xpos#106 = current_xpos#75 current_xpos#79 current_xpos#114 current_xpos#107 current_xpos#95 current_xpos#74
|
|
Alias current_piece_gfx#104 = current_piece_gfx#63 current_piece_gfx#84 current_piece_gfx#105 current_piece_gfx#98 current_piece_gfx#81 current_piece_gfx#62
|
|
Alias next_piece_idx#45 = next_piece_idx#73 next_piece_idx#46 next_piece_idx#68 next_piece_idx#49 next_piece_idx#69 next_piece_idx#58
|
|
Alias render_screen_show#23 = render_screen_show#53 render_screen_show#31 render_screen_show#49 render_screen_show#41 render_screen_show#33
|
|
Alias current_piece_char#50 = current_piece_char#97 current_piece_char#51 current_piece_char#86 current_piece_char#92 current_piece_char#84 current_piece_char#68
|
|
Alias current_movedown_slow#58 = current_movedown_slow#89 current_movedown_slow#59 current_movedown_slow#88 current_movedown_slow#84 current_movedown_slow#80 current_movedown_slow#72
|
|
Alias current_piece#53 = current_piece#93 current_piece#54 current_piece#91 current_piece#86 current_piece#81 current_piece#69
|
|
Alias current_orientation#61 = current_orientation#97 current_orientation#62 current_orientation#95 current_orientation#92 current_orientation#86 current_orientation#76
|
|
Alias game_over#44 = game_over#84 game_over#45 game_over#82 game_over#78 game_over#72 game_over#59
|
|
Alias keyboard_events_size#35 = keyboard_events_size#69 keyboard_events_size#36 keyboard_events_size#65 keyboard_events_size#60 keyboard_events_size#53 keyboard_events_size#46
|
|
Alias keyboard_modifiers#31 = keyboard_modifiers#52 keyboard_modifiers#32 keyboard_modifiers#50 keyboard_modifiers#48 keyboard_modifiers#45 keyboard_modifiers#39
|
|
Alias current_movedown_counter#33 = current_movedown_counter#54 current_movedown_counter#34 current_movedown_counter#52 current_movedown_counter#49 current_movedown_counter#46 current_movedown_counter#42
|
|
Alias lines_bcd#43 = lines_bcd#80 lines_bcd#44 lines_bcd#78 lines_bcd#73 lines_bcd#67 lines_bcd#56
|
|
Alias level#101 = level#55 level#98 level#92 level#84 level#70 level#54
|
|
Alias level_bcd#53 = level_bcd#93 level_bcd#54 level_bcd#90 level_bcd#83 level_bcd#77 level_bcd#67
|
|
Alias render_screen_render#18 = render_screen_render#5
|
|
Alias render_screen_show#16 = render_screen_show#5
|
|
Alias render_screen_show#17 = render_screen_show#25 render_screen_show#6
|
|
Alias render_screen_render#19 = render_screen_render#30 render_screen_render#6
|
|
Alias current_movedown_slow#13 = current_movedown_slow#28 current_movedown_slow#47
|
|
Alias current_piece#23 = current_piece#40 current_piece#9
|
|
Alias current_piece_char#23 = current_piece_char#37 current_piece_char#9
|
|
Alias current_orientation#12 = current_orientation#31 current_orientation#50
|
|
Alias current_piece_gfx#12 = current_piece_gfx#28 current_piece_gfx#46
|
|
Alias current_xpos#13 = current_xpos#35 current_xpos#59
|
|
Alias current_ypos#10 = current_ypos#29 current_ypos#50
|
|
Alias game_over#22 = game_over#35 game_over#9
|
|
Alias next_piece_idx#23 = next_piece_idx#36 next_piece_idx#9
|
|
Alias keyboard_events_size#20 = keyboard_events_size#29 keyboard_events_size#7
|
|
Alias keyboard_modifiers#17 = keyboard_modifiers#25 keyboard_modifiers#7
|
|
Alias current_movedown_counter#17 = current_movedown_counter#27 current_movedown_counter#6
|
|
Alias lines_bcd#20 = lines_bcd#33 lines_bcd#7
|
|
Alias level#25 = level#42 level#9
|
|
Alias level_bcd#10 = level_bcd#25 level_bcd#42
|
|
Alias __start::__init1_toSpritePtr1_sprite#0 = __start::__init1_toSpritePtr1_sprite#1
|
|
Alias render_screen_show#26 = render_screen_show#50 render_screen_show#7 render_screen_show#42 render_screen_show#34
|
|
Alias render_screen_render#31 = render_screen_render#56 render_screen_render#7 render_screen_render#49 render_screen_render#42
|
|
Alias current_piece_char#10 = current_piece_char#85 current_piece_char#69 current_piece_char#53 current_piece_char#38
|
|
Alias current_piece_gfx#13 = current_piece_gfx#99 current_piece_gfx#82 current_piece_gfx#65 current_piece_gfx#47
|
|
Alias current_xpos#108 = current_xpos#14 current_xpos#96 current_xpos#77 current_xpos#60
|
|
Alias current_ypos#11 = current_ypos#87 current_ypos#78 current_ypos#66 current_ypos#51
|
|
Alias game_over#10 = game_over#73 game_over#60 game_over#47 game_over#36
|
|
Alias keyboard_events_size#30 = keyboard_events_size#54 keyboard_events_size#8 keyboard_events_size#47 keyboard_events_size#38
|
|
Alias keyboard_modifiers#26 = keyboard_modifiers#46 keyboard_modifiers#8 keyboard_modifiers#40 keyboard_modifiers#34
|
|
Alias lines_bcd#34 = lines_bcd#68 lines_bcd#8 lines_bcd#57 lines_bcd#46
|
|
Alias level#10 = level#85 level#71 level#57 level#43
|
|
Alias level_bcd#11 = level_bcd#78 level_bcd#68 level_bcd#56 level_bcd#43
|
|
Alias __start::__init1_toSpritePtr1_return#0 = __start::__init1_toSpritePtr1_return#2 __start::__init1_toSpritePtr1_return#1 __start::__init1_toSpritePtr1_return#3 __start::__init1_$0
|
|
Alias current_movedown_slow#14 = current_movedown_slow#48
|
|
Alias current_piece#10 = current_piece#41
|
|
Alias current_orientation#13 = current_orientation#51
|
|
Alias next_piece_idx#10 = next_piece_idx#37
|
|
Alias current_movedown_counter#28 = current_movedown_counter#7
|
|
Alias render_screen_show#18 = render_screen_show#8 render_screen_show#19 render_screen_show#9
|
|
Alias render_screen_render#20 = render_screen_render#8 render_screen_render#21 render_screen_render#9
|
|
Alias current_movedown_slow#15 = current_movedown_slow#29 current_movedown_slow#30 current_movedown_slow#16
|
|
Alias current_piece#11 = current_piece#24 current_piece#25 current_piece#12
|
|
Alias current_piece_char#11 = current_piece_char#24 current_piece_char#25 current_piece_char#12
|
|
Alias current_orientation#14 = current_orientation#32 current_orientation#33 current_orientation#15
|
|
Alias current_piece_gfx#14 = current_piece_gfx#29 current_piece_gfx#30 current_piece_gfx#15
|
|
Alias current_xpos#15 = current_xpos#36 current_xpos#37 current_xpos#16
|
|
Alias current_ypos#12 = current_ypos#30 current_ypos#31 current_ypos#13
|
|
Alias game_over#11 = game_over#23 game_over#24 game_over#12
|
|
Alias next_piece_idx#11 = next_piece_idx#24 next_piece_idx#25 next_piece_idx#12
|
|
Alias keyboard_events_size#10 = keyboard_events_size#9 keyboard_events_size#21 keyboard_events_size#22
|
|
Alias keyboard_modifiers#10 = keyboard_modifiers#9 keyboard_modifiers#18 keyboard_modifiers#19
|
|
Alias current_movedown_counter#18 = current_movedown_counter#8 current_movedown_counter#19 current_movedown_counter#9
|
|
Alias lines_bcd#10 = lines_bcd#9 lines_bcd#21 lines_bcd#22
|
|
Alias level#11 = level#26 level#27 level#12
|
|
Alias level_bcd#12 = level_bcd#26 level_bcd#27 level_bcd#13
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Alias candidate removed (volatile)render_screen_show#11 = render_screen_show#12 render_screen_showing
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::toSpritePtr1_return#0 = sprites_irq::toSpritePtr1_return#2 sprites_irq::toSpritePtr1_return#1 sprites_irq::toSpritePtr1_return#3 sprites_irq::$5 irq_sprite_ptr __start::__init1_$1
|
|
Alias keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#4
|
|
Alias keyboard_event_scan::col#2 = keyboard_event_scan::col#3
|
|
Alias keyboard_event_scan::row_scan#1 = keyboard_event_scan::row_scan#3
|
|
Alias keyboard_event_scan::row#10 = keyboard_event_scan::row#6
|
|
Alias keyboard_events_size#14 = keyboard_events_size#57 keyboard_events_size#56 keyboard_events_size#40 keyboard_events_size#25
|
|
Alias level#13 = level#28
|
|
Alias lines_bcd#11 = lines_bcd#58
|
|
Alias level_bcd#14 = level_bcd#84
|
|
Alias render_bcd::bcd#6 = render_bcd::bcd#7
|
|
Alias render_moving::xpos#2 = render_moving::xpos#3
|
|
Alias render_moving::c#2 = render_moving::c#3
|
|
Alias render_moving::ypos#5 = render_moving::ypos#7
|
|
Alias render_moving::l#3 = render_moving::l#6
|
|
Alias current_piece_gfx#16 = current_piece_gfx#32
|
|
Alias render_moving::i#2 = render_moving::i#7
|
|
Alias current_piece_char#13 = current_piece_char#40
|
|
Alias render_moving::screen_line#1 = render_moving::screen_line#3
|
|
Alias render_screen_render#43 = render_screen_render#50
|
|
Alias current_xpos#80 = current_xpos#97
|
|
Alias next_piece_idx#13 = next_piece_idx#26
|
|
Alias render_next::screen_next_area#5 = render_next::screen_next_area#7
|
|
Alias render_next::c#2 = render_next::c#3
|
|
Alias render_next::next_piece_gfx#1 = render_next::next_piece_gfx#4
|
|
Alias render_next::l#2 = render_next::l#4
|
|
Alias render_next::next_piece_char#1 = render_next::next_piece_char#4
|
|
Alias current_movedown_counter#0 = current_movedown_counter#1
|
|
Alias current_ypos#0 = current_ypos#1
|
|
Alias lines_bcd#0 = lines_bcd#1
|
|
Alias level#0 = level#1
|
|
Alias current_movedown_slow#18 = current_movedown_slow#19
|
|
Alias level_bcd#0 = level_bcd#1
|
|
Alias current_piece#0 = current_piece#1
|
|
Alias current_piece_char#0 = current_piece_char#1
|
|
Alias game_over#0 = game_over#1
|
|
Alias next_piece_idx#0 = next_piece_idx#1
|
|
Alias current_movedown_counter#13 = current_movedown_counter#14 current_movedown_counter#2 current_movedown_counter#25
|
|
Alias current_movedown_slow#20 = current_movedown_slow#35 current_movedown_slow#62 current_movedown_slow#38
|
|
Alias current_ypos#17 = current_ypos#67 current_ypos#88 current_ypos#53
|
|
Alias current_xpos#109 = current_xpos#82 current_xpos#63 current_xpos#21
|
|
Alias current_orientation#19 = current_orientation#64 current_orientation#87 current_orientation#53
|
|
Alias lines_bcd#27 = lines_bcd#60 lines_bcd#74 lines_bcd#49
|
|
Alias level#34 = level#74 level#93 level#62
|
|
Alias level_bcd#32 = level_bcd#70 level_bcd#86 level_bcd#59
|
|
Alias current_piece#29 = current_piece#70 current_piece#87 current_piece#57
|
|
Alias current_piece_char#30 = current_piece_char#72 current_piece_char#93 current_piece_char#56
|
|
Alias current_piece_gfx#100 = current_piece_gfx#106 current_piece_gfx#68 current_piece_gfx#36
|
|
Alias game_over#28 = game_over#61 game_over#79 game_over#49
|
|
Alias next_piece_idx#31 = next_piece_idx#59 next_piece_idx#74 next_piece_idx#51
|
|
Alias current_xpos#24 = current_xpos#50
|
|
Alias current_xpos#29 = current_xpos#52
|
|
Alias current_ypos#23 = current_ypos#44
|
|
Alias current_piece#17 = current_piece#48
|
|
Alias current_orientation#24 = current_orientation#45
|
|
Alias current_piece_gfx#39 = current_piece_gfx#40
|
|
Alias play_collision::xp#2 = play_collision::xp#3
|
|
Alias play_collision::c#2 = play_collision::c#3
|
|
Alias play_collision::piece_gfx#1 = play_collision::piece_gfx#3
|
|
Alias play_collision::i#1 = play_collision::i#4
|
|
Alias play_collision::yp#3 = play_collision::yp#4
|
|
Alias play_collision::l#2 = play_collision::l#4
|
|
Alias play_collision::xpos#10 = play_collision::xpos#7
|
|
Alias play_collision::playfield_line#1 = play_collision::playfield_line#6
|
|
Alias play_lock_current::xp#2 = play_lock_current::xp#3
|
|
Alias play_lock_current::c#2 = play_lock_current::c#3
|
|
Alias current_piece_gfx#23 = current_piece_gfx#42
|
|
Alias play_lock_current::i#1 = play_lock_current::i#4
|
|
Alias play_lock_current::yp#3 = play_lock_current::yp#5
|
|
Alias play_lock_current::l#2 = play_lock_current::l#4
|
|
Alias current_piece_char#18 = current_piece_char#46
|
|
Alias play_lock_current::playfield_line#1 = play_lock_current::playfield_line#3
|
|
Alias current_xpos#55 = current_xpos#87
|
|
Alias current_piece#4 = current_piece#63
|
|
Alias current_piece_char#4 = current_piece_char#62
|
|
Alias current_orientation#7 = current_orientation#70
|
|
Alias current_piece_gfx#7 = current_piece_gfx#75
|
|
Alias current_xpos#100 = current_xpos#89
|
|
Alias current_ypos#5 = current_ypos#71
|
|
Alias play_remove_lines::c#0 = play_remove_lines::c#1
|
|
Alias play_remove_lines::w#4 = play_remove_lines::w#8
|
|
Alias play_remove_lines::x#2 = play_remove_lines::x#3
|
|
Alias play_remove_lines::r#1 = play_remove_lines::r#4 play_remove_lines::r#5
|
|
Alias play_remove_lines::y#2 = play_remove_lines::y#3 play_remove_lines::y#6
|
|
Alias play_remove_lines::removed#10 = play_remove_lines::removed#2
|
|
Alias level_bcd#21 = level_bcd#38
|
|
Alias level#22 = level#78 level#66
|
|
Alias current_movedown_slow#67 = current_movedown_slow#74
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Alias candidate removed (volatile)render_screen_show#11 = render_screen_show#12 render_screen_showing
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::toSpritePtr1_return#0 = sprites_irq::toSpritePtr1_return#2 sprites_irq::toSpritePtr1_return#1 sprites_irq::toSpritePtr1_return#3 sprites_irq::$5 irq_sprite_ptr __start::__init1_$1
|
|
Identical Phi Values keyboard_matrix_read::rowid#1 keyboard_matrix_read::rowid#0
|
|
Identical Phi Values keyboard_events_size#55 keyboard_events_size#28
|
|
Identical Phi Values keyboard_event_scan::row_scan#1 keyboard_event_scan::row_scan#0
|
|
Identical Phi Values keyboard_event_scan::row#10 keyboard_event_scan::row#2
|
|
Identical Phi Values keyboard_events_size#15 keyboard_events_size#18
|
|
Identical Phi Values render_screen_show#11 render_screen_show#20
|
|
Identical Phi Values level#13 level#41
|
|
Identical Phi Values render_screen_show#12 render_screen_show#11
|
|
Identical Phi Values render_screen_render#11 render_screen_render#22
|
|
Identical Phi Values render_screen_show#13 render_screen_show#23
|
|
Identical Phi Values render_screen_render#13 render_screen_render#22
|
|
Identical Phi Values lines_bcd#11 lines_bcd#43
|
|
Identical Phi Values level_bcd#14 level_bcd#53
|
|
Identical Phi Values render_screen_original::oscr#3 render_screen_original::oscr#4
|
|
Identical Phi Values render_screen_original::ocols#3 render_screen_original::ocols#4
|
|
Identical Phi Values render_screen_original::y#5 render_screen_original::y#6
|
|
Identical Phi Values render_screen_original::y#4 render_screen_original::y#5
|
|
Identical Phi Values render_screen_original::y#2 render_screen_original::y#4
|
|
Identical Phi Values render_screen_original::oscr#5 render_screen_original::oscr#1
|
|
Identical Phi Values render_screen_original::ocols#5 render_screen_original::ocols#1
|
|
Identical Phi Values render_playfield::l#3 render_playfield::l#2
|
|
Identical Phi Values render_screen_render#25 render_screen_render#14
|
|
Identical Phi Values current_piece_gfx#16 current_piece_gfx#31
|
|
Identical Phi Values current_piece_char#13 current_piece_char#39
|
|
Identical Phi Values render_moving::screen_line#1 render_moving::screen_line#0
|
|
Identical Phi Values render_moving::ypos#5 render_moving::ypos#2
|
|
Identical Phi Values render_moving::l#3 render_moving::l#4
|
|
Identical Phi Values render_screen_render#43 render_screen_render#15
|
|
Identical Phi Values current_xpos#80 current_xpos#17
|
|
Identical Phi Values render_next::next_piece_char#1 render_next::next_piece_char#3
|
|
Identical Phi Values render_next::l#2 render_next::l#7
|
|
Identical Phi Values sprites_irq::toSpritePtr1_return#2 sprites_irq::toSpritePtr1_return#0
|
|
Identical Phi Values sprites_irq::toSpritePtr1_return#3 sprites_irq::toSpritePtr1_return#1
|
|
Identical Phi Values level#46 level#100
|
|
Identical Phi Values level#14 level#46
|
|
Identical Phi Values current_movedown_slow#1 current_movedown_slow#0
|
|
Identical Phi Values play_movement::key_event#1 play_movement::key_event#0
|
|
Identical Phi Values current_movedown_counter#20 current_movedown_counter#26
|
|
Identical Phi Values current_ypos#34 current_ypos#49
|
|
Identical Phi Values lines_bcd#24 lines_bcd#32
|
|
Identical Phi Values level#31 level#41
|
|
Identical Phi Values current_movedown_slow#32 current_movedown_slow#46
|
|
Identical Phi Values level_bcd#29 level_bcd#41
|
|
Identical Phi Values current_piece#26 current_piece#39
|
|
Identical Phi Values current_piece_char#27 current_piece_char#36
|
|
Identical Phi Values current_orientation#34 current_orientation#49
|
|
Identical Phi Values current_piece_gfx#33 current_piece_gfx#103
|
|
Identical Phi Values current_xpos#39 current_xpos#104
|
|
Identical Phi Values game_over#25 game_over#20
|
|
Identical Phi Values next_piece_idx#28 next_piece_idx#35
|
|
Identical Phi Values current_movedown_counter#0 current_movedown_counter#15
|
|
Identical Phi Values current_ypos#0 current_ypos#20
|
|
Identical Phi Values lines_bcd#0 lines_bcd#16
|
|
Identical Phi Values level#0 level#18
|
|
Identical Phi Values current_movedown_slow#18 current_movedown_slow#22
|
|
Identical Phi Values level_bcd#0 level_bcd#18
|
|
Identical Phi Values current_piece#0 current_piece#16
|
|
Identical Phi Values current_piece_char#0 current_piece_char#17
|
|
Identical Phi Values current_orientation#0 current_orientation#21
|
|
Identical Phi Values current_piece_gfx#0 current_piece_gfx#21
|
|
Identical Phi Values current_xpos#0 current_xpos#23
|
|
Identical Phi Values game_over#0 game_over#16
|
|
Identical Phi Values next_piece_idx#0 next_piece_idx#17
|
|
Identical Phi Values current_xpos#1 current_xpos#27
|
|
Identical Phi Values current_orientation#1 current_orientation#26
|
|
Identical Phi Values current_piece_gfx#1 current_piece_gfx#22
|
|
Identical Phi Values current_movedown_counter#12 current_movedown_counter#20
|
|
Identical Phi Values play_move_down::key_event#1 play_move_down::key_event#0
|
|
Identical Phi Values current_movedown_slow#20 current_movedown_slow#32
|
|
Identical Phi Values current_ypos#17 current_ypos#34
|
|
Identical Phi Values current_xpos#109 current_xpos#39
|
|
Identical Phi Values current_orientation#19 current_orientation#34
|
|
Identical Phi Values lines_bcd#27 lines_bcd#24
|
|
Identical Phi Values level#34 level#31
|
|
Identical Phi Values level_bcd#32 level_bcd#29
|
|
Identical Phi Values current_piece#29 current_piece#26
|
|
Identical Phi Values current_piece_char#30 current_piece_char#27
|
|
Identical Phi Values current_piece_gfx#100 current_piece_gfx#33
|
|
Identical Phi Values game_over#28 game_over#25
|
|
Identical Phi Values next_piece_idx#31 next_piece_idx#28
|
|
Identical Phi Values lines_bcd#15 lines_bcd#18
|
|
Identical Phi Values level#17 level#20
|
|
Identical Phi Values current_movedown_slow#21 current_movedown_slow#24
|
|
Identical Phi Values level_bcd#17 level_bcd#20
|
|
Identical Phi Values current_piece#15 current_piece#19
|
|
Identical Phi Values current_piece_char#16 current_piece_char#19
|
|
Identical Phi Values current_orientation#20 current_orientation#27
|
|
Identical Phi Values current_piece_gfx#20 current_piece_gfx#101
|
|
Identical Phi Values current_xpos#22 current_xpos#102
|
|
Identical Phi Values current_ypos#19 current_ypos#25
|
|
Identical Phi Values game_over#15 game_over#17
|
|
Identical Phi Values next_piece_idx#16 next_piece_idx#19
|
|
Identical Phi Values play_move_leftright::key_event#1 play_move_leftright::key_event#0
|
|
Identical Phi Values current_xpos#24 current_xpos#0
|
|
Identical Phi Values current_ypos#21 current_ypos#0
|
|
Identical Phi Values current_orientation#22 current_orientation#0
|
|
Identical Phi Values current_piece#34 current_piece#0
|
|
Identical Phi Values play_move_rotate::key_event#1 play_move_rotate::key_event#0
|
|
Identical Phi Values current_orientation#24 current_orientation#0
|
|
Identical Phi Values current_xpos#29 current_xpos#1
|
|
Identical Phi Values current_ypos#23 current_ypos#0
|
|
Identical Phi Values current_piece#17 current_piece#0
|
|
Identical Phi Values current_piece_gfx#39 current_piece_gfx#0
|
|
Identical Phi Values play_collision::piece_gfx#1 play_collision::piece_gfx#2
|
|
Identical Phi Values play_collision::yp#3 play_collision::yp#2
|
|
Identical Phi Values play_collision::l#2 play_collision::l#6
|
|
Identical Phi Values play_collision::xpos#10 play_collision::xp#0
|
|
Identical Phi Values play_collision::playfield_line#1 play_collision::playfield_line#0
|
|
Identical Phi Values current_ypos#24 current_ypos#17
|
|
Identical Phi Values current_xpos#54 current_xpos#109
|
|
Identical Phi Values current_piece_gfx#56 current_piece_gfx#100
|
|
Identical Phi Values current_piece_char#60 current_piece_char#30
|
|
Identical Phi Values current_piece_gfx#23 current_piece_gfx#41
|
|
Identical Phi Values current_piece_char#18 current_piece_char#45
|
|
Identical Phi Values play_lock_current::playfield_line#1 play_lock_current::playfield_line#0
|
|
Identical Phi Values play_lock_current::yp#3 play_lock_current::yp#2
|
|
Identical Phi Values play_lock_current::l#2 play_lock_current::l#6
|
|
Identical Phi Values current_xpos#55 current_xpos#30
|
|
Identical Phi Values current_piece#19 current_piece#4
|
|
Identical Phi Values current_piece_char#19 current_piece_char#4
|
|
Identical Phi Values current_orientation#27 current_orientation#7
|
|
Identical Phi Values current_piece_gfx#101 current_piece_gfx#7
|
|
Identical Phi Values current_xpos#102 current_xpos#100
|
|
Identical Phi Values current_ypos#25 current_ypos#5
|
|
Identical Phi Values game_over#17 game_over#53
|
|
Identical Phi Values play_remove_lines::y#2 play_remove_lines::y#8
|
|
Identical Phi Values play_remove_lines::removed#10 play_remove_lines::removed#11
|
|
Identical Phi Values play_remove_lines::removed#3 play_remove_lines::removed#7
|
|
Identical Phi Values play_update_score::removed#1 play_update_score::removed#0
|
|
Identical Phi Values lines_bcd#17 lines_bcd#27
|
|
Identical Phi Values level#37 level#34
|
|
Identical Phi Values current_movedown_slow#41 current_movedown_slow#20
|
|
Identical Phi Values level_bcd#35 level_bcd#32
|
|
Identical Phi Values level#19 level#23
|
|
Identical Phi Values current_movedown_slow#23 current_movedown_slow#10
|
|
Identical Phi Values level_bcd#19 level_bcd#23
|
|
Identical Phi Values level#21 level#37
|
|
Identical Phi Values level_bcd#21 level_bcd#35
|
|
Identical Phi Values level#23 level#22
|
|
Identical Phi Values current_movedown_slow#10 current_movedown_slow#67
|
|
Identical Phi Values level_bcd#23 level_bcd#63
|
|
Identical Phi Values render_screen_show#24 render_screen_show#26
|
|
Identical Phi Values render_screen_render#29 render_screen_render#31
|
|
Identical Phi Values current_movedown_slow#45 current_movedown_slow#14
|
|
Identical Phi Values next_piece_idx#34 next_piece_idx#10
|
|
Identical Phi Values current_piece#38 current_piece#10
|
|
Identical Phi Values current_piece_char#35 current_piece_char#10
|
|
Identical Phi Values current_orientation#48 current_orientation#13
|
|
Identical Phi Values current_piece_gfx#102 current_piece_gfx#13
|
|
Identical Phi Values current_xpos#103 current_xpos#108
|
|
Identical Phi Values current_ypos#48 current_ypos#11
|
|
Identical Phi Values game_over#32 game_over#10
|
|
Identical Phi Values level#100 level#10
|
|
Identical Phi Values keyboard_events_size#34 keyboard_events_size#30
|
|
Identical Phi Values keyboard_modifiers#30 keyboard_modifiers#26
|
|
Identical Phi Values current_movedown_counter#32 current_movedown_counter#28
|
|
Identical Phi Values lines_bcd#42 lines_bcd#34
|
|
Identical Phi Values level_bcd#52 level_bcd#11
|
|
Identical Phi Values render_screen_show#15 render_screen_show#0
|
|
Identical Phi Values render_screen_render#17 render_screen_render#0
|
|
Identical Phi Values current_movedown_slow#11 current_movedown_slow#1
|
|
Identical Phi Values current_piece#20 current_piece#19
|
|
Identical Phi Values current_piece_char#20 current_piece_char#19
|
|
Identical Phi Values current_orientation#28 current_orientation#27
|
|
Identical Phi Values current_piece_gfx#25 current_piece_gfx#101
|
|
Identical Phi Values current_xpos#10 current_xpos#102
|
|
Identical Phi Values current_ypos#26 current_ypos#25
|
|
Identical Phi Values game_over#18 game_over#17
|
|
Identical Phi Values next_piece_idx#20 next_piece_idx#19
|
|
Identical Phi Values current_piece#21 current_piece#19
|
|
Identical Phi Values current_piece_char#21 current_piece_char#19
|
|
Identical Phi Values current_orientation#10 current_orientation#27
|
|
Identical Phi Values current_piece_gfx#10 current_piece_gfx#101
|
|
Identical Phi Values current_xpos#11 current_xpos#102
|
|
Identical Phi Values current_ypos#27 current_ypos#25
|
|
Identical Phi Values game_over#19 game_over#17
|
|
Identical Phi Values next_piece_idx#21 next_piece_idx#19
|
|
Identical Phi Values render_screen_show#20 render_screen_show#17
|
|
Identical Phi Values keyboard_events_size#28 keyboard_events_size#20
|
|
Identical Phi Values keyboard_modifiers#24 keyboard_modifiers#17
|
|
Identical Phi Values game_over#20 game_over#22
|
|
Identical Phi Values current_movedown_counter#26 current_movedown_counter#17
|
|
Identical Phi Values current_ypos#49 current_ypos#10
|
|
Identical Phi Values lines_bcd#32 lines_bcd#20
|
|
Identical Phi Values level#41 level#25
|
|
Identical Phi Values current_movedown_slow#46 current_movedown_slow#13
|
|
Identical Phi Values level_bcd#41 level_bcd#10
|
|
Identical Phi Values current_piece#39 current_piece#23
|
|
Identical Phi Values current_piece_char#36 current_piece_char#23
|
|
Identical Phi Values current_orientation#49 current_orientation#12
|
|
Identical Phi Values current_piece_gfx#103 current_piece_gfx#12
|
|
Identical Phi Values current_xpos#104 current_xpos#13
|
|
Identical Phi Values next_piece_idx#35 next_piece_idx#23
|
|
Identical Phi Values render_screen_render#47 render_screen_render#19
|
|
Identical Phi Values keyboard_events_size#18 keyboard_events_size#14
|
|
Identical Phi Values keyboard_modifiers#16 keyboard_modifiers#15
|
|
Identical Phi Values keyboard_events_size#19 keyboard_events_size#17
|
|
Identical Phi Values current_movedown_counter#16 current_movedown_counter#0
|
|
Identical Phi Values current_ypos#28 current_ypos#0
|
|
Identical Phi Values lines_bcd#19 lines_bcd#0
|
|
Identical Phi Values level#24 level#0
|
|
Identical Phi Values current_movedown_slow#12 current_movedown_slow#18
|
|
Identical Phi Values level_bcd#24 level_bcd#0
|
|
Identical Phi Values current_piece#22 current_piece#0
|
|
Identical Phi Values current_piece_char#22 current_piece_char#0
|
|
Identical Phi Values current_orientation#11 current_orientation#18
|
|
Identical Phi Values current_piece_gfx#11 current_piece_gfx#19
|
|
Identical Phi Values current_xpos#12 current_xpos#2
|
|
Identical Phi Values game_over#21 game_over#0
|
|
Identical Phi Values next_piece_idx#22 next_piece_idx#0
|
|
Identical Phi Values main::render#3 main::render#0
|
|
Identical Phi Values render_screen_show#40 render_screen_show#20
|
|
Identical Phi Values render_screen_render#48 render_screen_render#47
|
|
Identical Phi Values current_movedown_slow#71 current_movedown_slow#46
|
|
Identical Phi Values current_piece#68 current_piece#39
|
|
Identical Phi Values current_piece_char#67 current_piece_char#36
|
|
Identical Phi Values current_orientation#75 current_orientation#49
|
|
Identical Phi Values current_piece_gfx#80 current_piece_gfx#103
|
|
Identical Phi Values current_xpos#105 current_xpos#104
|
|
Identical Phi Values current_ypos#76 current_ypos#49
|
|
Identical Phi Values game_over#58 game_over#20
|
|
Identical Phi Values next_piece_idx#57 next_piece_idx#35
|
|
Identical Phi Values keyboard_events_size#45 keyboard_events_size#19
|
|
Identical Phi Values keyboard_modifiers#38 keyboard_modifiers#16
|
|
Identical Phi Values current_movedown_counter#41 current_movedown_counter#26
|
|
Identical Phi Values lines_bcd#55 lines_bcd#32
|
|
Identical Phi Values level#69 level#41
|
|
Identical Phi Values level_bcd#66 level_bcd#41
|
|
Identical Phi Values render_screen_render#18 render_screen_render#12
|
|
Identical Phi Values render_screen_show#16 render_screen_show#14
|
|
Identical Phi Values render_screen_show#18 render_screen_show#17
|
|
Identical Phi Values render_screen_render#20 render_screen_render#19
|
|
Identical Phi Values current_movedown_slow#15 current_movedown_slow#13
|
|
Identical Phi Values current_piece#11 current_piece#23
|
|
Identical Phi Values current_piece_char#11 current_piece_char#23
|
|
Identical Phi Values current_orientation#14 current_orientation#12
|
|
Identical Phi Values current_piece_gfx#14 current_piece_gfx#12
|
|
Identical Phi Values current_xpos#15 current_xpos#13
|
|
Identical Phi Values current_ypos#12 current_ypos#10
|
|
Identical Phi Values game_over#11 game_over#22
|
|
Identical Phi Values next_piece_idx#11 next_piece_idx#23
|
|
Identical Phi Values keyboard_events_size#10 keyboard_events_size#20
|
|
Identical Phi Values keyboard_modifiers#10 keyboard_modifiers#17
|
|
Identical Phi Values current_movedown_counter#18 current_movedown_counter#17
|
|
Identical Phi Values lines_bcd#10 lines_bcd#20
|
|
Identical Phi Values level#11 level#25
|
|
Identical Phi Values level_bcd#12 level_bcd#10
|
|
Successful SSA optimization Pass2IdenticalPhiElimination
|
|
Identical Phi Values keyboard_event_scan::row#4 keyboard_event_scan::row#2
|
|
Identical Phi Values render_screen_render#14 render_screen_render#24
|
|
Identical Phi Values render_moving::ypos#4 render_moving::ypos#2
|
|
Identical Phi Values render_moving::l#2 render_moving::l#4
|
|
Identical Phi Values render_screen_render#36 render_screen_render#15
|
|
Identical Phi Values current_xpos#62 current_xpos#17
|
|
Identical Phi Values current_piece_gfx#67 current_piece_gfx#31
|
|
Identical Phi Values current_piece_char#71 current_piece_char#39
|
|
Identical Phi Values render_next::next_piece_char#3 render_next::next_piece_char#0
|
|
Identical Phi Values play_collision::xp#0 play_collision::xpos#6
|
|
Identical Phi Values play_collision::piece_gfx#2 play_collision::piece_gfx#0
|
|
Identical Phi Values current_xpos#30 current_xpos#13
|
|
Identical Phi Values current_piece_gfx#41 current_piece_gfx#12
|
|
Identical Phi Values current_piece_char#45 current_piece_char#23
|
|
Identical Phi Values render_screen_show#23 render_screen_show#17
|
|
Identical Phi Values render_screen_render#22 render_screen_render#19
|
|
Identical Phi Values keyboard_events_size#35 keyboard_events_size#17
|
|
Identical Phi Values keyboard_modifiers#31 keyboard_modifiers#15
|
|
Successful SSA optimization Pass2IdenticalPhiElimination
|
|
Identical Phi Values render_screen_render#15 render_screen_render#35
|
|
Identical Phi Values current_xpos#17 current_xpos#61
|
|
Identical Phi Values current_piece_gfx#31 current_piece_gfx#66
|
|
Identical Phi Values current_piece_char#39 current_piece_char#70
|
|
Successful SSA optimization Pass2IdenticalPhiElimination
|
|
Identified duplicate assignment right side [162] render_init::$5 = render_init::i#2 * SIZEOF_POINTER
|
|
Successful SSA optimization Pass2DuplicateRValueIdentification
|
|
Simple Condition keyboard_event_scan::$13 [13] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@8
|
|
Simple Condition keyboard_event_scan::$25 [19] if(keyboard_event_scan::row#1!=rangelast(0,7)) goto keyboard_event_scan::@7
|
|
Simple Condition keyboard_event_scan::$18 [24] if(keyboard_event_scan::$16==0) goto keyboard_event_scan::@11
|
|
Simple Condition keyboard_event_scan::$24 [29] if(keyboard_event_scan::col#1!=rangelast(0,7)) goto keyboard_event_scan::@10
|
|
Simple Condition keyboard_event_scan::$20 [31] if(keyboard_events_size#11==8) goto keyboard_event_scan::@11
|
|
Simple Condition keyboard_event_scan::$22 [34] if(keyboard_event_scan::event_type#0==0) goto keyboard_event_scan::@12
|
|
Simple Condition keyboard_event_scan::$2 [47] if(keyboard_event_scan::$0==0) goto keyboard_event_scan::@1
|
|
Simple Condition keyboard_event_scan::$5 [54] if(keyboard_event_scan::$3==0) goto keyboard_event_scan::@2
|
|
Simple Condition keyboard_event_scan::$8 [62] if(keyboard_event_scan::$6==0) goto keyboard_event_scan::@3
|
|
Simple Condition keyboard_event_scan::$11 [70] if(keyboard_event_scan::$9==0) goto keyboard_event_scan::@return
|
|
Simple Condition keyboard_event_get::$0 [83] if(keyboard_events_size#14==0) goto keyboard_event_get::@1
|
|
Simple Condition render_init::$3 [117] if(render_init::i#1!=rangelast(0,PLAYFIELD_LINES-1)) goto render_init::@1
|
|
Simple Condition render_show::$0 [124] if(render_screen_show#17==0) goto render_show::@1
|
|
Simple Condition render_score::$0 [158] if(render_screen_render#19==0) goto render_score::@1
|
|
Simple Condition render_bcd::$2 [196] if(render_bcd::only_low#6!=0) goto render_bcd::@1
|
|
Simple Condition render_screen_original::$0 [221] if(render_screen_original::x#1!=4) goto render_screen_original::@2
|
|
Simple Condition render_screen_original::$1 [231] if(render_screen_original::x#2!=$24) goto render_screen_original::@3
|
|
Simple Condition render_screen_original::$2 [239] if(render_screen_original::x#3!=$28) goto render_screen_original::@4
|
|
Simple Condition render_screen_original::$3 [242] if(render_screen_original::y#1!=rangelast(0,$18)) goto render_screen_original::@1
|
|
Simple Condition render_playfield::$1 [258] if(render_playfield::c#1!=rangelast(0,PLAYFIELD_COLS-1)) goto render_playfield::@2
|
|
Simple Condition render_playfield::$2 [261] if(render_playfield::l#1!=rangelast(2,PLAYFIELD_LINES-1)) goto render_playfield::@1
|
|
Simple Condition render_moving::$0 [269] if(render_moving::ypos#2>1) goto render_moving::@2
|
|
Simple Condition render_moving::$5 [280] if(render_moving::l#1!=rangelast(0,3)) goto render_moving::@1
|
|
Simple Condition render_moving::$3 [285] if(render_moving::current_cell#0==0) goto render_moving::@5
|
|
Simple Condition render_moving::$4 [289] if(render_moving::c#1!=rangelast(0,3)) goto render_moving::@4
|
|
Simple Condition render_next::$0 [295] if(render_screen_render#16==0) goto render_next::@1
|
|
Simple Condition render_next::$3 [309] if(render_next::cell#0!=0) goto render_next::@6
|
|
Simple Condition render_next::$4 [315] if(render_next::c#1!=rangelast(0,3)) goto render_next::@5
|
|
Simple Condition render_next::$5 [319] if(render_next::l#1!=rangelast(0,3)) goto render_next::@4
|
|
Simple Condition sprites_init::$2 [334] if(sprites_init::s#1!=rangelast(0,3)) goto sprites_init::@1
|
|
Simple Condition sprites_irq::$4 [357] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8
|
|
Simple Condition sprites_irq::$1 [360] if(render_screen_showing==0) goto sprites_irq::@1
|
|
Simple Condition sprites_irq::$2 [375] if(irq_cnt==9) goto sprites_irq::@3
|
|
Simple Condition sprites_irq::$3 [388] if(irq_cnt==$a) goto sprites_irq::@4
|
|
Simple Condition play_init::$0 [411] if(play_init::j#1!=rangelast(0,PLAYFIELD_LINES-1)) goto play_init::@1
|
|
Simple Condition play_init::$1 [420] if(play_init::b#1!=rangelast(0,4)) goto play_init::@3
|
|
Simple Condition play_movement::$2 [431] if(game_over#16==0) goto play_movement::@1
|
|
Simple Condition play_move_down::$1 [450] if(play_move_down::key_event#0!=KEY_SPACE) goto play_move_down::@1
|
|
Simple Condition play_move_down::$4 [457] if(play_move_down::$2==0) goto play_move_down::@2
|
|
Simple Condition play_move_down::$6 [461] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3
|
|
Simple Condition play_move_down::$10 [463] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2
|
|
Simple Condition play_move_down::$8 [467] if(play_move_down::movedown#6==0) goto play_move_down::@4
|
|
Simple Condition play_move_down::$13 [477] if(play_move_down::$12==COLLISION_NONE) goto play_move_down::@11
|
|
Simple Condition play_move_leftright::$0 [495] if(play_move_leftright::key_event#0==KEY_COMMA) goto play_move_leftright::@1
|
|
Simple Condition play_move_leftright::$10 [503] if(play_move_leftright::$8!=COLLISION_NONE) goto play_move_leftright::@2
|
|
Simple Condition play_move_leftright::$2 [505] if(play_move_leftright::key_event#0!=KEY_DOT) goto play_move_leftright::@2
|
|
Simple Condition play_move_leftright::$6 [513] if(play_move_leftright::$4!=COLLISION_NONE) goto play_move_leftright::@2
|
|
Simple Condition play_move_rotate::$0 [524] if(play_move_rotate::key_event#0==KEY_Z) goto play_move_rotate::@1
|
|
Simple Condition play_move_rotate::$1 [528] if(play_move_rotate::key_event#0==KEY_X) goto play_move_rotate::@2
|
|
Simple Condition play_move_rotate::$4 [542] if(play_move_rotate::$2!=COLLISION_NONE) goto play_move_rotate::@4
|
|
Simple Condition play_collision::$2 [558] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3
|
|
Simple Condition play_collision::$12 [562] if(play_collision::c#1!=rangelast(0,3)) goto play_collision::@2
|
|
Simple Condition play_collision::$4 [564] if(play_collision::yp#2<PLAYFIELD_LINES) goto play_collision::@4
|
|
Simple Condition play_collision::$7 [567] if(play_collision::$5==0) goto play_collision::@5
|
|
Simple Condition play_collision::$9 [572] if(play_collision::xp#2<PLAYFIELD_COLS) goto play_collision::@6
|
|
Simple Condition play_collision::$11 [575] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3
|
|
Simple Condition play_collision::$13 [581] if(play_collision::l#1!=rangelast(0,3)) goto play_collision::@1
|
|
Simple Condition play_lock_current::$1 [595] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3
|
|
Simple Condition play_lock_current::$2 [599] if(play_lock_current::c#1!=rangelast(0,3)) goto play_lock_current::@2
|
|
Simple Condition play_lock_current::$3 [604] if(play_lock_current::l#1!=rangelast(0,3)) goto play_lock_current::@1
|
|
Simple Condition play_spawn_current::$3 [622] if(play_spawn_current::$1!=COLLISION_PLAYFIELD) goto play_spawn_current::@1
|
|
Simple Condition play_spawn_current::$4 [628] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1
|
|
Simple Condition play_remove_lines::$1 [644] if(play_remove_lines::c#0!=0) goto play_remove_lines::@3
|
|
Simple Condition play_remove_lines::$2 [650] if(play_remove_lines::x#1!=rangelast(0,PLAYFIELD_COLS-1)) goto play_remove_lines::@2
|
|
Simple Condition play_remove_lines::$4 [653] if(play_remove_lines::full#2!=1) goto play_remove_lines::@7
|
|
Simple Condition play_remove_lines::$6 [657] if(play_remove_lines::y#1!=rangelast(0,PLAYFIELD_LINES-1)) goto play_remove_lines::@1
|
|
Simple Condition play_remove_lines::$7 [662] if(play_remove_lines::w#6!=$ff) goto play_remove_lines::@9
|
|
Simple Condition play_update_score::$1 [668] if(play_update_score::removed#0==0) goto play_update_score::@return
|
|
Simple Condition play_update_score::$7 [680] if(play_update_score::lines_before#0==play_update_score::lines_after#0) goto play_update_score::@return
|
|
Simple Condition play_increase_level::$0 [688] if(level#22>$1d) goto play_increase_level::@1
|
|
Simple Condition play_increase_level::$3 [695] if(play_increase_level::$1!=$a) goto play_increase_level::@3
|
|
Simple Condition play_increase_level::$4 [705] if(play_increase_level::b#1!=rangelast(0,4)) goto play_increase_level::@6
|
|
Simple Condition main::$10 [729] if(*RASTER!=$ff) goto main::@2
|
|
Simple Condition main::$14 [739] if(game_over#22==0) goto main::@4
|
|
Simple Condition main::$18 [750] if(main::render#2==0) goto main::@1
|
|
Successful SSA optimization Pass2ConditionalJumpSimplification
|
|
Constant right-side identified [167] render_bcd::offset#1 = render_score::score_offset + 2
|
|
Constant right-side identified [172] render_bcd::offset#2 = render_score::score_offset + 4
|
|
Constant right-side identified [182] render_bcd::offset#4 = render_score::lines_offset + 1
|
|
Constant right-side identified [296] render_next::screen_next_area#1 = PLAYFIELD_SCREEN_1 + render_next::next_area_offset
|
|
Constant right-side identified [297] render_next::screen_next_area#2 = PLAYFIELD_SCREEN_2 + render_next::next_area_offset
|
|
Successful SSA optimization Pass2ConstantRValueConsolidation
|
|
Constant keyboard_event_scan::keycode#0 = 0
|
|
Constant keyboard_event_scan::row#0 = 0
|
|
Constant keyboard_event_scan::col#0 = 0
|
|
Constant keyboard_modifiers#0 = 0
|
|
Constant keyboard_event_pressed::keycode#0 = KEY_LSHIFT
|
|
Constant keyboard_event_pressed::keycode#1 = KEY_RSHIFT
|
|
Constant keyboard_event_pressed::keycode#2 = KEY_CTRL
|
|
Constant keyboard_event_pressed::keycode#3 = KEY_COMMODORE
|
|
Constant keyboard_event_get::return#0 = $ff
|
|
Constant render_init::vicSelectGfxBank1_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant render_screen_original::screen#0 = PLAYFIELD_SCREEN_1
|
|
Constant render_screen_original::screen#1 = PLAYFIELD_SCREEN_2
|
|
Constant render_init::li_1#0 = PLAYFIELD_SCREEN_1+(byte)2*$28+$10
|
|
Constant render_init::li_2#0 = PLAYFIELD_SCREEN_2+(byte)2*$28+$10
|
|
Constant render_init::i#0 = 0
|
|
Constant render_screen_show#0 = 0
|
|
Constant render_screen_render#0 = $20
|
|
Constant render_show::d018val#0 = 0
|
|
Constant render_show::toD0181_screen#0 = PLAYFIELD_SCREEN_1
|
|
Constant render_show::toD0181_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant render_show::toD0182_screen#0 = PLAYFIELD_SCREEN_2
|
|
Constant render_show::toD0182_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant render_score::screen#0 = (byte*) 0
|
|
Constant render_score::screen#1 = PLAYFIELD_SCREEN_1
|
|
Constant render_score::screen#2 = PLAYFIELD_SCREEN_2
|
|
Constant render_bcd::offset#0 = render_score::score_offset
|
|
Constant render_bcd::only_low#0 = 0
|
|
Constant render_bcd::offset#1 = render_score::score_offset+2
|
|
Constant render_bcd::only_low#1 = 0
|
|
Constant render_bcd::offset#2 = render_score::score_offset+4
|
|
Constant render_bcd::only_low#2 = 0
|
|
Constant render_bcd::offset#3 = render_score::lines_offset
|
|
Constant render_bcd::only_low#3 = 1
|
|
Constant render_bcd::offset#4 = render_score::lines_offset+1
|
|
Constant render_bcd::only_low#4 = 0
|
|
Constant render_bcd::offset#5 = render_score::level_offset
|
|
Constant render_bcd::only_low#5 = 0
|
|
Constant render_screen_original::oscr#0 = PLAYFIELD_SCREEN_ORIGINAL+(byte)$20*2
|
|
Constant render_screen_original::ocols#0 = PLAYFIELD_COLORS_ORIGINAL+(byte)$20*2
|
|
Constant render_screen_original::cols#0 = COLS
|
|
Constant render_screen_original::y#0 = 0
|
|
Constant render_screen_original::x#0 = 0
|
|
Constant render_playfield::i#0 = (byte)PLAYFIELD_COLS*2
|
|
Constant render_playfield::l#0 = 2
|
|
Constant render_playfield::c#0 = 0
|
|
Constant render_moving::i#0 = 0
|
|
Constant render_moving::l#0 = 0
|
|
Constant render_moving::c#0 = 0
|
|
Constant render_next::screen_next_area#0 = (byte*) 0
|
|
Constant render_next::screen_next_area#1 = PLAYFIELD_SCREEN_1+render_next::next_area_offset
|
|
Constant render_next::screen_next_area#2 = PLAYFIELD_SCREEN_2+render_next::next_area_offset
|
|
Constant render_next::l#0 = 0
|
|
Constant render_next::c#0 = 0
|
|
Constant sprites_init::xpos#0 = (byte)$18+$f*8
|
|
Constant sprites_init::s#0 = 0
|
|
Constant sprites_irq::toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
Constant play_init::idx#0 = 0
|
|
Constant play_init::pli#0 = playfield
|
|
Constant play_init::j#0 = 0
|
|
Constant play_init::b#0 = 0
|
|
Constant play_movement::render#0 = 0
|
|
Constant play_move_down::movedown#0 = 0
|
|
Constant keyboard_event_pressed::keycode#4 = KEY_SPACE
|
|
Constant play_move_down::return#1 = 0
|
|
Constant current_movedown_counter#3 = 0
|
|
Constant play_move_down::return#2 = 1
|
|
Constant play_move_leftright::return#1 = 1
|
|
Constant play_move_leftright::return#3 = 0
|
|
Constant play_move_leftright::return#4 = 1
|
|
Constant play_move_rotate::orientation#0 = $80
|
|
Constant play_move_rotate::return#1 = 0
|
|
Constant play_move_rotate::return#3 = 0
|
|
Constant play_move_rotate::return#4 = 1
|
|
Constant play_collision::i#0 = 0
|
|
Constant play_collision::l#0 = 0
|
|
Constant play_collision::c#0 = 0
|
|
Constant play_collision::return#4 = COLLISION_BOTTOM
|
|
Constant play_collision::return#6 = COLLISION_LEFT
|
|
Constant play_collision::return#7 = COLLISION_RIGHT
|
|
Constant play_collision::return#8 = COLLISION_PLAYFIELD
|
|
Constant play_collision::return#9 = COLLISION_NONE
|
|
Constant play_lock_current::i#0 = 0
|
|
Constant play_lock_current::l#0 = 0
|
|
Constant play_lock_current::c#0 = 0
|
|
Constant current_orientation#7 = 0
|
|
Constant play_spawn_current::piece_idx#0 = 7
|
|
Constant game_over#4 = 1
|
|
Constant play_remove_lines::r#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Constant play_remove_lines::w#0 = (byte)PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Constant play_remove_lines::removed#0 = 0
|
|
Constant play_remove_lines::y#0 = 0
|
|
Constant play_remove_lines::full#0 = 1
|
|
Constant play_remove_lines::x#0 = 0
|
|
Constant play_remove_lines::full#1 = 0
|
|
Constant current_movedown_slow#8 = 1
|
|
Constant play_increase_level::b#0 = 0
|
|
Constant main::render#0 = 0
|
|
Constant keyboard_events_size#30 = 0
|
|
Constant keyboard_modifiers#26 = 0
|
|
Constant current_piece_gfx#13 = (byte*) 0
|
|
Constant current_piece_char#10 = 0
|
|
Constant current_xpos#108 = 0
|
|
Constant current_ypos#11 = 0
|
|
Constant render_screen_render#31 = $20
|
|
Constant render_screen_show#26 = 0
|
|
Constant lines_bcd#34 = 0
|
|
Constant level_bcd#11 = 0
|
|
Constant level#10 = 0
|
|
Constant game_over#10 = 0
|
|
Constant __start::__init1_toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
Constant next_piece_idx#10 = 0
|
|
Constant current_piece#10 = (byte*) 0
|
|
Constant current_orientation#13 = 0
|
|
Constant current_movedown_slow#14 = $30
|
|
Constant current_movedown_counter#28 = 0
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant render_show::toD0181_$7 = (word)render_show::toD0181_screen#0
|
|
Constant render_show::toD0182_$7 = (word)render_show::toD0182_screen#0
|
|
Constant sprites_irq::toSpritePtr1_$1 = (word)sprites_irq::toSpritePtr1_sprite#0
|
|
Constant play_collision::orientation#4 = current_orientation#7
|
|
Constant __start::__init1_toSpritePtr1_$1 = (word)__start::__init1_toSpritePtr1_sprite#0
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant value identified (word)render_init::vicSelectGfxBank1_gfx#0 in [91] render_init::vicSelectGfxBank1_toDd001_$0 = > (word)render_init::vicSelectGfxBank1_gfx#0
|
|
Constant value identified (word)render_show::toD0181_gfx#0 in [131] render_show::toD0181_$3 = > (word)render_show::toD0181_gfx#0
|
|
Constant value identified (word)render_show::toD0182_gfx#0 in [141] render_show::toD0182_$3 = > (word)render_show::toD0182_gfx#0
|
|
Successful SSA optimization Pass2ConstantValues
|
|
if() condition always true - replacing block destination [726] if(true) goto main::@2
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
Removing PHI-reference to removed block (main::@5) in block main::@7
|
|
if() condition always true - replacing block destination [746] if(true) goto main::@6
|
|
Successful SSA optimization Pass2ConstantIfs
|
|
Resolved ranged next value [17] keyboard_event_scan::row#1 = ++ keyboard_event_scan::row#2 to ++
|
|
Resolved ranged comparison value [19] if(keyboard_event_scan::row#1!=rangelast(0,7)) goto keyboard_event_scan::@7 to 8
|
|
Resolved ranged next value [27] keyboard_event_scan::col#1 = ++ keyboard_event_scan::col#2 to ++
|
|
Resolved ranged comparison value [29] if(keyboard_event_scan::col#1!=rangelast(0,7)) goto keyboard_event_scan::@10 to 8
|
|
Resolved ranged next value [115] render_init::i#1 = ++ render_init::i#2 to ++
|
|
Resolved ranged comparison value [117] if(render_init::i#1!=rangelast(0,PLAYFIELD_LINES-1)) goto render_init::@1 to PLAYFIELD_LINES-1+1
|
|
Resolved ranged next value [240] render_screen_original::y#1 = ++ render_screen_original::y#6 to ++
|
|
Resolved ranged comparison value [242] if(render_screen_original::y#1!=rangelast(0,$18)) goto render_screen_original::@1 to $19
|
|
Resolved ranged next value [256] render_playfield::c#1 = ++ render_playfield::c#2 to ++
|
|
Resolved ranged comparison value [258] if(render_playfield::c#1!=rangelast(0,PLAYFIELD_COLS-1)) goto render_playfield::@2 to PLAYFIELD_COLS-1+1
|
|
Resolved ranged next value [259] render_playfield::l#1 = ++ render_playfield::l#2 to ++
|
|
Resolved ranged comparison value [261] if(render_playfield::l#1!=rangelast(2,PLAYFIELD_LINES-1)) goto render_playfield::@1 to PLAYFIELD_LINES-1+1
|
|
Resolved ranged next value [278] render_moving::l#1 = ++ render_moving::l#4 to ++
|
|
Resolved ranged comparison value [280] if(render_moving::l#1!=rangelast(0,3)) goto render_moving::@1 to 4
|
|
Resolved ranged next value [287] render_moving::c#1 = ++ render_moving::c#2 to ++
|
|
Resolved ranged comparison value [289] if(render_moving::c#1!=rangelast(0,3)) goto render_moving::@4 to 4
|
|
Resolved ranged next value [313] render_next::c#1 = ++ render_next::c#2 to ++
|
|
Resolved ranged comparison value [315] if(render_next::c#1!=rangelast(0,3)) goto render_next::@5 to 4
|
|
Resolved ranged next value [317] render_next::l#1 = ++ render_next::l#7 to ++
|
|
Resolved ranged comparison value [319] if(render_next::l#1!=rangelast(0,3)) goto render_next::@4 to 4
|
|
Resolved ranged next value [332] sprites_init::s#1 = ++ sprites_init::s#2 to ++
|
|
Resolved ranged comparison value [334] if(sprites_init::s#1!=rangelast(0,3)) goto sprites_init::@1 to 4
|
|
Resolved ranged next value [409] play_init::j#1 = ++ play_init::j#2 to ++
|
|
Resolved ranged comparison value [411] if(play_init::j#1!=rangelast(0,PLAYFIELD_LINES-1)) goto play_init::@1 to PLAYFIELD_LINES-1+1
|
|
Resolved ranged next value [418] play_init::b#1 = ++ play_init::b#2 to ++
|
|
Resolved ranged comparison value [420] if(play_init::b#1!=rangelast(0,4)) goto play_init::@3 to 5
|
|
Resolved ranged next value [560] play_collision::c#1 = ++ play_collision::c#2 to ++
|
|
Resolved ranged comparison value [562] if(play_collision::c#1!=rangelast(0,3)) goto play_collision::@2 to 4
|
|
Resolved ranged next value [579] play_collision::l#1 = ++ play_collision::l#6 to ++
|
|
Resolved ranged comparison value [581] if(play_collision::l#1!=rangelast(0,3)) goto play_collision::@1 to 4
|
|
Resolved ranged next value [597] play_lock_current::c#1 = ++ play_lock_current::c#2 to ++
|
|
Resolved ranged comparison value [599] if(play_lock_current::c#1!=rangelast(0,3)) goto play_lock_current::@2 to 4
|
|
Resolved ranged next value [602] play_lock_current::l#1 = ++ play_lock_current::l#6 to ++
|
|
Resolved ranged comparison value [604] if(play_lock_current::l#1!=rangelast(0,3)) goto play_lock_current::@1 to 4
|
|
Resolved ranged next value [648] play_remove_lines::x#1 = ++ play_remove_lines::x#2 to ++
|
|
Resolved ranged comparison value [650] if(play_remove_lines::x#1!=rangelast(0,PLAYFIELD_COLS-1)) goto play_remove_lines::@2 to PLAYFIELD_COLS-1+1
|
|
Resolved ranged next value [655] play_remove_lines::y#1 = ++ play_remove_lines::y#8 to ++
|
|
Resolved ranged comparison value [657] if(play_remove_lines::y#1!=rangelast(0,PLAYFIELD_LINES-1)) goto play_remove_lines::@1 to PLAYFIELD_LINES-1+1
|
|
Resolved ranged next value [703] play_increase_level::b#1 = ++ play_increase_level::b#2 to ++
|
|
Resolved ranged comparison value [705] if(play_increase_level::b#1!=rangelast(0,4)) goto play_increase_level::@6 to 5
|
|
Rewriting conditional comparison [269] if(render_moving::ypos#2>1) goto render_moving::@2
|
|
Rewriting conditional comparison [688] if(level#22>$1d) goto play_increase_level::@1
|
|
Simplifying expression containing zero (byte*)CIA1 in [1] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0]
|
|
Simplifying expression containing zero KEY_MODIFIER_LSHIFT in [55] keyboard_modifiers#1 = keyboard_modifiers#0 | KEY_MODIFIER_LSHIFT
|
|
Simplifying expression containing zero (byte*)CIA2 in [94] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = render_init::vicSelectGfxBank1_toDd001_return#0
|
|
Simplifying expression containing zero PIECES_COLORS_1 in [98] *BG_COLOR1 = PIECES_COLORS_1[0]
|
|
Simplifying expression containing zero PIECES_COLORS_2 in [99] *BG_COLOR2 = PIECES_COLORS_2[0]
|
|
Simplifying expression containing zero render_score::score_bytes in [174] render_bcd::bcd#2 = render_score::score_bytes[0]
|
|
Simplifying expression containing zero SPRITES_YPOS in [350] SPRITES_YPOS[0] = sprites_irq::ypos#0
|
|
Simplifying expression containing zero PLAYFIELD_SPRITE_PTRS_1 in [361] PLAYFIELD_SPRITE_PTRS_1[0] = sprites_irq::ptr#0
|
|
Simplifying expression containing zero PLAYFIELD_SPRITE_PTRS_2 in [367] PLAYFIELD_SPRITE_PTRS_2[0] = sprites_irq::ptr#0
|
|
Simplifying expression containing zero MOVEDOWN_SLOW_SPEEDS in [413] current_movedown_slow#0 = MOVEDOWN_SLOW_SPEEDS[level#10]
|
|
Simplifying expression containing zero play_movement::$0 in [429] play_movement::render#1 = play_movement::render#0 + play_movement::$0
|
|
Simplifying expression containing zero current_piece#4 in [612] current_piece_gfx#7 = current_piece#4 + current_orientation#7
|
|
Successful SSA optimization PassNSimplifyExpressionWithZero
|
|
Eliminating unused variable render_bcd::screen_pos#1 and assignment [141] render_bcd::screen_pos#1 = ++ render_bcd::screen_pos#3
|
|
Eliminating unused variable - keeping the phi block keyboard_modifiers#17
|
|
Eliminating unused constant render_show::d018val#0
|
|
Eliminating unused constant render_score::screen#0
|
|
Eliminating unused constant render_next::screen_next_area#0
|
|
Eliminating unused constant play_movement::render#0
|
|
Eliminating unused constant play_move_rotate::orientation#0
|
|
Eliminating unused constant main::render#0
|
|
Eliminating unused constant OFFSET_STRUCT_MOS6526_CIA_PORT_A
|
|
Eliminating unused constant current_piece_gfx#13
|
|
Eliminating unused constant current_piece_char#10
|
|
Eliminating unused constant current_xpos#108
|
|
Eliminating unused constant current_ypos#11
|
|
Eliminating unused constant render_screen_render#31
|
|
Eliminating unused constant render_screen_show#26
|
|
Eliminating unused constant current_piece#10
|
|
Eliminating unused constant current_orientation#13
|
|
Eliminating unused constant current_movedown_slow#14
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable - keeping the phi block keyboard_modifiers#15
|
|
Eliminating unused constant keyboard_modifiers#26
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable keyboard_modifiers#4 and assignment [52] keyboard_modifiers#4 = keyboard_modifiers#14 | KEY_MODIFIER_COMMODORE
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable - keeping the phi block keyboard_modifiers#14
|
|
Eliminating unused constant KEY_MODIFIER_COMMODORE
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable keyboard_modifiers#3 and assignment [51] keyboard_modifiers#3 = keyboard_modifiers#13 | KEY_MODIFIER_CTRL
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable - keeping the phi block keyboard_modifiers#13
|
|
Eliminating unused constant KEY_MODIFIER_CTRL
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable keyboard_modifiers#2 and assignment [45] keyboard_modifiers#2 = keyboard_modifiers#12 | KEY_MODIFIER_RSHIFT
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable - keeping the phi block keyboard_modifiers#12
|
|
Eliminating unused constant KEY_MODIFIER_RSHIFT
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused variable keyboard_modifiers#1 and assignment [39] keyboard_modifiers#1 = KEY_MODIFIER_LSHIFT
|
|
Eliminating unused constant keyboard_modifiers#0
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Eliminating unused constant KEY_MODIFIER_LSHIFT
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Removing unused block main::@return
|
|
Successful SSA optimization Pass2EliminateUnusedBlocks
|
|
Adding number conversion cast (unumber) 8 in if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7
|
|
Adding number conversion cast (unumber) 8 in if(keyboard_event_scan::col#1!=8) goto keyboard_event_scan::@10
|
|
Adding number conversion cast (unumber) PLAYFIELD_LINES-1+1 in if(render_init::i#1!=PLAYFIELD_LINES-1+1) goto render_init::@1
|
|
Adding number conversion cast (unumber) 1 in if(render_init::i#1!=(unumber)PLAYFIELD_LINES-1+1) goto render_init::@1
|
|
Adding number conversion cast (unumber) $19 in if(render_screen_original::y#1!=$19) goto render_screen_original::@1
|
|
Adding number conversion cast (unumber) PLAYFIELD_COLS-1+1 in if(render_playfield::c#1!=PLAYFIELD_COLS-1+1) goto render_playfield::@2
|
|
Adding number conversion cast (unumber) 1 in if(render_playfield::c#1!=(unumber)PLAYFIELD_COLS-1+1) goto render_playfield::@2
|
|
Adding number conversion cast (unumber) PLAYFIELD_LINES-1+1 in if(render_playfield::l#1!=PLAYFIELD_LINES-1+1) goto render_playfield::@1
|
|
Adding number conversion cast (unumber) 1 in if(render_playfield::l#1!=(unumber)PLAYFIELD_LINES-1+1) goto render_playfield::@1
|
|
Adding number conversion cast (unumber) 1+1 in if(render_moving::ypos#2>=1+1) goto render_moving::@2
|
|
Adding number conversion cast (unumber) 1 in if(render_moving::ypos#2>=(unumber)1+1) goto render_moving::@2
|
|
Adding number conversion cast (unumber) 4 in if(render_moving::l#1!=4) goto render_moving::@1
|
|
Adding number conversion cast (unumber) 4 in if(render_moving::c#1!=4) goto render_moving::@4
|
|
Adding number conversion cast (unumber) 4 in if(render_next::c#1!=4) goto render_next::@5
|
|
Adding number conversion cast (unumber) 4 in if(render_next::l#1!=4) goto render_next::@4
|
|
Adding number conversion cast (unumber) 4 in if(sprites_init::s#1!=4) goto sprites_init::@1
|
|
Adding number conversion cast (unumber) PLAYFIELD_LINES-1+1 in if(play_init::j#1!=PLAYFIELD_LINES-1+1) goto play_init::@1
|
|
Adding number conversion cast (unumber) 1 in if(play_init::j#1!=(unumber)PLAYFIELD_LINES-1+1) goto play_init::@1
|
|
Adding number conversion cast (unumber) 5 in if(play_init::b#1!=5) goto play_init::@3
|
|
Adding number conversion cast (unumber) 4 in if(play_collision::c#1!=4) goto play_collision::@2
|
|
Adding number conversion cast (unumber) 4 in if(play_collision::l#1!=4) goto play_collision::@1
|
|
Adding number conversion cast (unumber) 4 in if(play_lock_current::c#1!=4) goto play_lock_current::@2
|
|
Adding number conversion cast (unumber) 4 in if(play_lock_current::l#1!=4) goto play_lock_current::@1
|
|
Adding number conversion cast (unumber) PLAYFIELD_COLS-1+1 in if(play_remove_lines::x#1!=PLAYFIELD_COLS-1+1) goto play_remove_lines::@2
|
|
Adding number conversion cast (unumber) 1 in if(play_remove_lines::x#1!=(unumber)PLAYFIELD_COLS-1+1) goto play_remove_lines::@2
|
|
Adding number conversion cast (unumber) PLAYFIELD_LINES-1+1 in if(play_remove_lines::y#1!=PLAYFIELD_LINES-1+1) goto play_remove_lines::@1
|
|
Adding number conversion cast (unumber) 1 in if(play_remove_lines::y#1!=(unumber)PLAYFIELD_LINES-1+1) goto play_remove_lines::@1
|
|
Adding number conversion cast (unumber) $1d+1 in if(level#22>=$1d+1) goto play_increase_level::@1
|
|
Adding number conversion cast (unumber) 1 in if(level#22>=(unumber)$1d+1) goto play_increase_level::@1
|
|
Adding number conversion cast (unumber) 5 in if(play_increase_level::b#1!=5) goto play_increase_level::@6
|
|
Successful SSA optimization PassNAddNumberTypeConversions
|
|
Simplifying constant integer cast PLAYFIELD_COLS*2
|
|
Simplifying constant integer cast SPRITES_FIRST_YPOS+$13
|
|
Simplifying constant integer cast PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Simplifying constant integer cast PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Simplifying constant integer cast 8
|
|
Simplifying constant integer cast 8
|
|
Simplifying constant integer cast PLAYFIELD_LINES-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast $19
|
|
Simplifying constant integer cast PLAYFIELD_COLS-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast PLAYFIELD_LINES-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast PLAYFIELD_LINES-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 5
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast 4
|
|
Simplifying constant integer cast PLAYFIELD_COLS-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast PLAYFIELD_LINES-1+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast $1d+(unumber)1
|
|
Simplifying constant integer cast 1
|
|
Simplifying constant integer cast 5
|
|
Simplifying constant integer cast SPRITES_FIRST_YPOS+$15
|
|
Successful SSA optimization PassNCastSimplification
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) $19
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 5
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) 5
|
|
Successful SSA optimization PassNFinalizeNumberTypeConversions
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::toSpritePtr1_return#0 = sprites_irq::toSpritePtr1_return#1 sprites_irq::$5 irq_sprite_ptr __start::__init1_$1
|
|
Alias render_init::$5 = render_init::$4
|
|
Alias play_movement::render#1 = play_movement::$0
|
|
Alias current_piece_gfx#7 = current_piece#4
|
|
Alias main::render#1 = main::render#2
|
|
Successful SSA optimization Pass2AliasElimination
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::toSpritePtr1_return#0 = sprites_irq::toSpritePtr1_return#1 sprites_irq::$5 irq_sprite_ptr __start::__init1_$1
|
|
Identical Phi Values current_movedown_slow#58 current_movedown_slow#22
|
|
Identical Phi Values current_piece#53 current_piece#16
|
|
Identical Phi Values current_piece_char#50 current_piece_char#17
|
|
Identical Phi Values current_orientation#61 current_orientation#18
|
|
Identical Phi Values current_piece_gfx#104 current_piece_gfx#19
|
|
Identical Phi Values current_xpos#106 current_xpos#2
|
|
Identical Phi Values current_ypos#33 current_ypos#20
|
|
Identical Phi Values game_over#44 game_over#16
|
|
Identical Phi Values next_piece_idx#45 next_piece_idx#17
|
|
Identical Phi Values current_movedown_counter#33 current_movedown_counter#15
|
|
Identical Phi Values lines_bcd#43 lines_bcd#16
|
|
Identical Phi Values level#101 level#18
|
|
Identical Phi Values level_bcd#53 level_bcd#18
|
|
Successful SSA optimization Pass2IdenticalPhiElimination
|
|
Constant right-side identified [59] render_init::vicSelectGfxBank1_toDd001_$0 = > (word)render_init::vicSelectGfxBank1_gfx#0
|
|
Constant right-side identified [81] render_show::toD0181_$0 = render_show::toD0181_$7 & $3fff
|
|
Constant right-side identified [84] render_show::toD0181_$3 = > (word)render_show::toD0181_gfx#0
|
|
Constant right-side identified [88] render_show::toD0182_$0 = render_show::toD0182_$7 & $3fff
|
|
Constant right-side identified [91] render_show::toD0182_$3 = > (word)render_show::toD0182_gfx#0
|
|
Constant right-side identified [272] sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1 / $40
|
|
Constant right-side identified [328] play_move_down::movedown#1 = ++ play_move_down::movedown#0
|
|
Constant right-side identified [538] __start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1 / $40
|
|
Successful SSA optimization Pass2ConstantRValueConsolidation
|
|
Constant render_init::vicSelectGfxBank1_toDd001_$0 = >(word)render_init::vicSelectGfxBank1_gfx#0
|
|
Constant render_show::toD0181_$0 = render_show::toD0181_$7&$3fff
|
|
Constant render_show::toD0181_$3 = >(word)render_show::toD0181_gfx#0
|
|
Constant render_show::toD0182_$0 = render_show::toD0182_$7&$3fff
|
|
Constant render_show::toD0182_$3 = >(word)render_show::toD0182_gfx#0
|
|
Constant sprites_irq::toSpritePtr1_$0 = sprites_irq::toSpritePtr1_$1/$40
|
|
Constant play_move_down::movedown#1 = ++play_move_down::movedown#0
|
|
Constant __start::__init1_toSpritePtr1_$0 = __start::__init1_toSpritePtr1_$1/$40
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant sprites_irq::toSpritePtr1_return#0 = (byte)sprites_irq::toSpritePtr1_$0
|
|
Constant __start::__init1_toSpritePtr1_return#0 = (byte)__start::__init1_toSpritePtr1_$0
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant sprites_irq::toSpritePtr1_return#1 = sprites_irq::toSpritePtr1_return#0
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Constant sprites_irq::$5 = sprites_irq::toSpritePtr1_return#1
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)irq_sprite_ptr = __start::__init1_$1
|
|
Constant right-side identified [59] render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0 / $40
|
|
Constant right-side identified [80] render_show::toD0181_$1 = render_show::toD0181_$0 * 4
|
|
Constant right-side identified [82] render_show::toD0181_$4 = render_show::toD0181_$3 / 4
|
|
Constant right-side identified [85] render_show::toD0182_$1 = render_show::toD0182_$0 * 4
|
|
Constant right-side identified [87] render_show::toD0182_$4 = render_show::toD0182_$3 / 4
|
|
Constant right-side identified [527] __start::__init1_$1 = __start::__init1_toSpritePtr1_return#0 + 3
|
|
Successful SSA optimization Pass2ConstantRValueConsolidation
|
|
Constant render_init::vicSelectGfxBank1_toDd001_$1 = render_init::vicSelectGfxBank1_toDd001_$0/$40
|
|
Constant render_show::toD0181_$1 = render_show::toD0181_$0*4
|
|
Constant render_show::toD0181_$4 = render_show::toD0181_$3/4
|
|
Constant render_show::toD0182_$1 = render_show::toD0182_$0*4
|
|
Constant render_show::toD0182_$4 = render_show::toD0182_$3/4
|
|
Constant __start::__init1_$1 = __start::__init1_toSpritePtr1_return#0+3
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Constant right-side identified [59] render_init::vicSelectGfxBank1_toDd001_return#0 = 3 ^ render_init::vicSelectGfxBank1_toDd001_$1
|
|
Constant right-side identified [79] render_show::toD0181_$2 = > render_show::toD0181_$1
|
|
Constant right-side identified [80] render_show::toD0181_$5 = render_show::toD0181_$4 & $f
|
|
Constant right-side identified [82] render_show::toD0182_$2 = > render_show::toD0182_$1
|
|
Constant right-side identified [83] render_show::toD0182_$5 = render_show::toD0182_$4 & $f
|
|
Successful SSA optimization Pass2ConstantRValueConsolidation
|
|
Constant render_init::vicSelectGfxBank1_toDd001_return#0 = 3^render_init::vicSelectGfxBank1_toDd001_$1
|
|
Constant render_show::toD0181_$2 = >render_show::toD0181_$1
|
|
Constant render_show::toD0181_$5 = render_show::toD0181_$4&$f
|
|
Constant render_show::toD0182_$2 = >render_show::toD0182_$1
|
|
Constant render_show::toD0182_$5 = render_show::toD0182_$4&$f
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Constant right-side identified [78] render_show::toD0181_return#0 = render_show::toD0181_$2 | render_show::toD0181_$5
|
|
Constant right-side identified [79] render_show::toD0182_return#0 = render_show::toD0182_$2 | render_show::toD0182_$5
|
|
Successful SSA optimization Pass2ConstantRValueConsolidation
|
|
Constant render_show::toD0181_return#0 = render_show::toD0181_$2|render_show::toD0181_$5
|
|
Constant render_show::toD0182_return#0 = render_show::toD0182_$2|render_show::toD0182_$5
|
|
Successful SSA optimization Pass2ConstantIdentification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Inlining Noop Cast [188] render_next::next_piece_gfx#0 = (byte*)PIECES[render_next::$6] keeping PIECES[render_next::$6]
|
|
Inlining Noop Cast [410] current_piece_gfx#7 = (byte*)PIECES[play_spawn_current::$7] keeping PIECES[play_spawn_current::$7]
|
|
Successful SSA optimization Pass2NopCastInlining
|
|
Rewriting multiplication to use shift [69] render_init::$5 = render_init::i#2 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [151] render_playfield::$3 = render_playfield::$0 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [167] render_moving::$6 = render_moving::$1 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [187] render_next::$6 = next_piece_idx#13 * SIZEOF_WORD
|
|
Rewriting multiplication to use shift [209] sprites_init::s2#0 = sprites_init::s#2 * 2
|
|
Rewriting multiplication to use shift [268] play_init::$2 = play_init::j#2 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [278] play_init::$3 = play_init::b#2 * SIZEOF_DWORD
|
|
Rewriting multiplication to use shift [373] play_collision::$14 = play_collision::yp#2 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [393] play_lock_current::$4 = play_lock_current::yp#2 * SIZEOF_POINTER
|
|
Rewriting multiplication to use shift [409] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 * SIZEOF_WORD
|
|
Rewriting multiplication to use shift [451] play_update_score::$9 = play_update_score::removed#0 * SIZEOF_DWORD
|
|
Rewriting multiplication to use shift [474] play_increase_level::$5 = play_increase_level::b#2 * SIZEOF_DWORD
|
|
Successful SSA optimization Pass2MultiplyToShiftRewriting
|
|
Inlining constant with var siblings keyboard_event_scan::keycode#0
|
|
Inlining constant with var siblings keyboard_event_scan::row#0
|
|
Inlining constant with var siblings keyboard_event_scan::col#0
|
|
Inlining constant with var siblings keyboard_event_pressed::keycode#0
|
|
Inlining constant with var siblings keyboard_event_pressed::keycode#1
|
|
Inlining constant with var siblings keyboard_event_pressed::keycode#2
|
|
Inlining constant with var siblings keyboard_event_pressed::keycode#3
|
|
Inlining constant with var siblings keyboard_event_pressed::keycode#4
|
|
Inlining constant with var siblings keyboard_event_get::return#0
|
|
Inlining constant with var siblings render_init::li_1#0
|
|
Inlining constant with var siblings render_init::li_2#0
|
|
Inlining constant with var siblings render_init::i#0
|
|
Inlining constant with var siblings render_score::screen#1
|
|
Inlining constant with var siblings render_score::screen#2
|
|
Inlining constant with var siblings render_bcd::offset#0
|
|
Inlining constant with var siblings render_bcd::only_low#0
|
|
Inlining constant with var siblings render_bcd::offset#1
|
|
Inlining constant with var siblings render_bcd::only_low#1
|
|
Inlining constant with var siblings render_bcd::offset#2
|
|
Inlining constant with var siblings render_bcd::only_low#2
|
|
Inlining constant with var siblings render_bcd::offset#3
|
|
Inlining constant with var siblings render_bcd::only_low#3
|
|
Inlining constant with var siblings render_bcd::offset#4
|
|
Inlining constant with var siblings render_bcd::only_low#4
|
|
Inlining constant with var siblings render_bcd::offset#5
|
|
Inlining constant with var siblings render_bcd::only_low#5
|
|
Inlining constant with var siblings render_screen_original::screen#0
|
|
Inlining constant with var siblings render_screen_original::screen#1
|
|
Inlining constant with var siblings render_screen_original::oscr#0
|
|
Inlining constant with var siblings render_screen_original::ocols#0
|
|
Inlining constant with var siblings render_screen_original::cols#0
|
|
Inlining constant with var siblings render_screen_original::y#0
|
|
Inlining constant with var siblings render_screen_original::x#0
|
|
Inlining constant with var siblings render_playfield::i#0
|
|
Inlining constant with var siblings render_playfield::l#0
|
|
Inlining constant with var siblings render_playfield::c#0
|
|
Inlining constant with var siblings render_moving::i#0
|
|
Inlining constant with var siblings render_moving::l#0
|
|
Inlining constant with var siblings render_moving::c#0
|
|
Inlining constant with var siblings render_next::screen_next_area#1
|
|
Inlining constant with var siblings render_next::screen_next_area#2
|
|
Inlining constant with var siblings render_next::l#0
|
|
Inlining constant with var siblings render_next::c#0
|
|
Inlining constant with var siblings sprites_init::xpos#0
|
|
Inlining constant with var siblings sprites_init::s#0
|
|
Inlining constant with different constant siblings sprites_irq::toSpritePtr1_return#1
|
|
Inlining constant with var siblings play_init::idx#0
|
|
Inlining constant with var siblings play_init::pli#0
|
|
Inlining constant with var siblings play_init::j#0
|
|
Inlining constant with var siblings play_init::b#0
|
|
Inlining constant with var siblings play_move_down::movedown#0
|
|
Inlining constant with var siblings play_move_down::return#1
|
|
Inlining constant with var siblings play_move_down::return#2
|
|
Inlining constant with var siblings play_move_down::movedown#1
|
|
Inlining constant with var siblings play_move_leftright::return#1
|
|
Inlining constant with var siblings play_move_leftright::return#3
|
|
Inlining constant with var siblings play_move_leftright::return#4
|
|
Inlining constant with var siblings play_move_rotate::return#1
|
|
Inlining constant with var siblings play_move_rotate::return#3
|
|
Inlining constant with var siblings play_move_rotate::return#4
|
|
Inlining constant with var siblings play_collision::i#0
|
|
Inlining constant with var siblings play_collision::l#0
|
|
Inlining constant with var siblings play_collision::c#0
|
|
Inlining constant with var siblings play_collision::return#4
|
|
Inlining constant with var siblings play_collision::return#6
|
|
Inlining constant with var siblings play_collision::return#7
|
|
Inlining constant with var siblings play_collision::return#8
|
|
Inlining constant with var siblings play_collision::return#9
|
|
Inlining constant with var siblings play_collision::orientation#4
|
|
Inlining constant with var siblings play_lock_current::i#0
|
|
Inlining constant with var siblings play_lock_current::l#0
|
|
Inlining constant with var siblings play_lock_current::c#0
|
|
Inlining constant with var siblings play_spawn_current::piece_idx#0
|
|
Inlining constant with var siblings play_remove_lines::r#0
|
|
Inlining constant with var siblings play_remove_lines::w#0
|
|
Inlining constant with var siblings play_remove_lines::removed#0
|
|
Inlining constant with var siblings play_remove_lines::y#0
|
|
Inlining constant with var siblings play_remove_lines::full#0
|
|
Inlining constant with var siblings play_remove_lines::x#0
|
|
Inlining constant with var siblings play_remove_lines::full#1
|
|
Inlining constant with var siblings play_increase_level::b#0
|
|
Inlining constant with var siblings render_screen_show#0
|
|
Inlining constant with var siblings render_screen_render#0
|
|
Inlining constant with var siblings current_movedown_counter#3
|
|
Inlining constant with var siblings current_orientation#7
|
|
Inlining constant with var siblings game_over#4
|
|
Inlining constant with var siblings current_movedown_slow#8
|
|
Inlining constant with var siblings keyboard_events_size#30
|
|
Inlining constant with var siblings lines_bcd#34
|
|
Inlining constant with var siblings level_bcd#11
|
|
Inlining constant with var siblings level#10
|
|
Inlining constant with var siblings game_over#10
|
|
Inlining constant with var siblings next_piece_idx#10
|
|
Inlining constant with var siblings current_movedown_counter#28
|
|
Constant inlined play_remove_lines::x#0 = 0
|
|
Constant inlined play_init::pli#0 = playfield
|
|
Constant inlined render_show::toD0182_$0 = (word)PLAYFIELD_SCREEN_2&$3fff
|
|
Constant inlined play_move_rotate::return#1 = 0
|
|
Constant inlined render_show::toD0182_$1 = (word)PLAYFIELD_SCREEN_2&$3fff*4
|
|
Constant inlined play_move_rotate::return#4 = 1
|
|
Constant inlined sprites_irq::toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
Constant inlined render_show::toD0182_$2 = >(word)PLAYFIELD_SCREEN_2&$3fff*4
|
|
Constant inlined play_move_rotate::return#3 = 0
|
|
Constant inlined game_over#10 = 0
|
|
Constant inlined current_movedown_counter#3 = 0
|
|
Constant inlined render_screen_original::screen#1 = PLAYFIELD_SCREEN_2
|
|
Constant inlined keyboard_events_size#30 = 0
|
|
Constant inlined render_screen_original::screen#0 = PLAYFIELD_SCREEN_1
|
|
Constant inlined render_init::vicSelectGfxBank1_toDd001_$1 = >(word)PLAYFIELD_CHARSET/$40
|
|
Constant inlined render_init::vicSelectGfxBank1_toDd001_$0 = >(word)PLAYFIELD_CHARSET
|
|
Constant inlined render_show::toD0182_$3 = >(word)PLAYFIELD_CHARSET
|
|
Constant inlined render_show::toD0182_$4 = >(word)PLAYFIELD_CHARSET/4
|
|
Constant inlined render_show::toD0182_$5 = >(word)PLAYFIELD_CHARSET/4&$f
|
|
Constant inlined __start::__init1_toSpritePtr1_sprite#0 = PLAYFIELD_SPRITES
|
|
Constant inlined render_show::toD0182_$7 = (word)PLAYFIELD_SCREEN_2
|
|
Constant inlined render_screen_original::y#0 = 0
|
|
Constant inlined render_playfield::i#0 = PLAYFIELD_COLS*2
|
|
Constant inlined current_movedown_slow#8 = 1
|
|
Constant inlined lines_bcd#34 = 0
|
|
Constant inlined level_bcd#11 = 0
|
|
Constant inlined play_collision::i#0 = 0
|
|
Constant inlined render_bcd::offset#0 = render_score::score_offset
|
|
Constant inlined render_bcd::offset#1 = render_score::score_offset+2
|
|
Constant inlined render_bcd::offset#4 = render_score::lines_offset+1
|
|
Constant inlined render_bcd::offset#5 = render_score::level_offset
|
|
Constant inlined render_bcd::offset#2 = render_score::score_offset+4
|
|
Constant inlined render_bcd::offset#3 = render_score::lines_offset
|
|
Constant inlined render_show::toD0182_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant inlined play_lock_current::i#0 = 0
|
|
Constant inlined play_remove_lines::y#0 = 0
|
|
Constant inlined render_next::screen_next_area#1 = PLAYFIELD_SCREEN_1+render_next::next_area_offset
|
|
Constant inlined render_next::screen_next_area#2 = PLAYFIELD_SCREEN_2+render_next::next_area_offset
|
|
Constant inlined keyboard_event_scan::col#0 = 0
|
|
Constant inlined next_piece_idx#10 = 0
|
|
Constant inlined sprites_irq::$5 = sprites_irq::toSpritePtr1_return#0
|
|
Constant inlined render_show::toD0181_screen#0 = PLAYFIELD_SCREEN_1
|
|
Constant inlined current_orientation#7 = 0
|
|
Constant inlined render_playfield::l#0 = 2
|
|
Constant inlined render_moving::c#0 = 0
|
|
Constant inlined render_screen_original::x#0 = 0
|
|
Constant inlined render_bcd::only_low#0 = 0
|
|
Constant inlined render_bcd::only_low#1 = 0
|
|
Constant inlined render_bcd::only_low#2 = 0
|
|
Constant inlined keyboard_event_pressed::keycode#4 = KEY_SPACE
|
|
Constant inlined render_bcd::only_low#3 = 1
|
|
Constant inlined render_bcd::only_low#4 = 0
|
|
Constant inlined render_bcd::only_low#5 = 0
|
|
Constant inlined __start::__init1_toSpritePtr1_$0 = (word)PLAYFIELD_SPRITES/$40
|
|
Constant inlined __start::__init1_toSpritePtr1_$1 = (word)PLAYFIELD_SPRITES
|
|
Constant inlined game_over#4 = 1
|
|
Constant inlined keyboard_event_pressed::keycode#3 = KEY_COMMODORE
|
|
Constant inlined keyboard_event_pressed::keycode#2 = KEY_CTRL
|
|
Constant inlined render_init::i#0 = 0
|
|
Constant inlined keyboard_event_pressed::keycode#1 = KEY_RSHIFT
|
|
Constant inlined keyboard_event_pressed::keycode#0 = KEY_LSHIFT
|
|
Constant inlined play_collision::return#7 = COLLISION_RIGHT
|
|
Constant inlined play_collision::return#6 = COLLISION_LEFT
|
|
Constant inlined play_collision::return#4 = COLLISION_BOTTOM
|
|
Constant inlined play_move_down::return#2 = 1
|
|
Constant inlined play_move_down::return#1 = 0
|
|
Constant inlined render_init::vicSelectGfxBank1_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant inlined play_collision::return#9 = COLLISION_NONE
|
|
Constant inlined play_collision::return#8 = COLLISION_PLAYFIELD
|
|
Constant inlined render_next::l#0 = 0
|
|
Constant inlined play_remove_lines::r#0 = PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Constant inlined sprites_init::xpos#0 = (byte)$18+$f*8
|
|
Constant inlined render_screen_render#0 = $20
|
|
Constant inlined play_lock_current::l#0 = 0
|
|
Constant inlined level#10 = 0
|
|
Constant inlined render_show::toD0181_gfx#0 = PLAYFIELD_CHARSET
|
|
Constant inlined render_playfield::c#0 = 0
|
|
Constant inlined play_spawn_current::piece_idx#0 = 7
|
|
Constant inlined play_remove_lines::removed#0 = 0
|
|
Constant inlined play_remove_lines::full#1 = 0
|
|
Constant inlined play_remove_lines::full#0 = 1
|
|
Constant inlined sprites_irq::toSpritePtr1_return#1 = sprites_irq::toSpritePtr1_return#0
|
|
Constant inlined sprites_init::s#0 = 0
|
|
Constant inlined render_moving::l#0 = 0
|
|
Constant inlined play_move_leftright::return#1 = 1
|
|
Constant inlined play_move_leftright::return#4 = 1
|
|
Constant inlined play_move_leftright::return#3 = 0
|
|
Constant inlined render_show::toD0181_$1 = (word)PLAYFIELD_SCREEN_1&$3fff*4
|
|
Constant inlined render_show::toD0181_$0 = (word)PLAYFIELD_SCREEN_1&$3fff
|
|
Constant inlined sprites_irq::toSpritePtr1_$1 = (word)PLAYFIELD_SPRITES
|
|
Constant inlined sprites_irq::toSpritePtr1_$0 = (word)PLAYFIELD_SPRITES/$40
|
|
Constant inlined keyboard_event_scan::keycode#0 = 0
|
|
Constant inlined play_collision::c#0 = 0
|
|
Constant inlined render_show::toD0181_$7 = (word)PLAYFIELD_SCREEN_1
|
|
Constant inlined render_show::toD0181_$5 = >(word)PLAYFIELD_CHARSET/4&$f
|
|
Constant inlined render_show::toD0181_$4 = >(word)PLAYFIELD_CHARSET/4
|
|
Constant inlined current_movedown_counter#28 = 0
|
|
Constant inlined render_show::toD0181_$3 = >(word)PLAYFIELD_CHARSET
|
|
Constant inlined render_show::toD0181_$2 = >(word)PLAYFIELD_SCREEN_1&$3fff*4
|
|
Constant inlined __start::__init1_$1 = __start::__init1_toSpritePtr1_return#0+3
|
|
Constant inlined render_init::li_2#0 = PLAYFIELD_SCREEN_2+(byte)2*$28+$10
|
|
Constant inlined play_move_down::movedown#1 = ++0
|
|
Constant inlined play_move_down::movedown#0 = 0
|
|
Constant inlined play_remove_lines::w#0 = PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
Constant inlined play_init::j#0 = 0
|
|
Constant inlined render_screen_original::ocols#0 = PLAYFIELD_COLORS_ORIGINAL+(byte)$20*2
|
|
Constant inlined play_lock_current::c#0 = 0
|
|
Constant inlined keyboard_event_scan::row#0 = 0
|
|
Constant inlined play_init::b#0 = 0
|
|
Constant inlined render_next::c#0 = 0
|
|
Constant inlined play_init::idx#0 = 0
|
|
Constant inlined play_collision::orientation#4 = 0
|
|
Constant inlined render_moving::i#0 = 0
|
|
Constant inlined render_show::toD0182_screen#0 = PLAYFIELD_SCREEN_2
|
|
Constant inlined render_screen_original::oscr#0 = PLAYFIELD_SCREEN_ORIGINAL+(byte)$20*2
|
|
Constant inlined render_score::screen#1 = PLAYFIELD_SCREEN_1
|
|
Constant inlined play_increase_level::b#0 = 0
|
|
Constant inlined render_screen_show#0 = 0
|
|
Constant inlined render_score::screen#2 = PLAYFIELD_SCREEN_2
|
|
Constant inlined play_collision::l#0 = 0
|
|
Constant inlined keyboard_event_get::return#0 = $ff
|
|
Constant inlined render_init::li_1#0 = PLAYFIELD_SCREEN_1+(byte)2*$28+$10
|
|
Constant inlined render_screen_original::cols#0 = COLS
|
|
Successful SSA optimization Pass2ConstantInlining
|
|
Consolidated array index constant in *(render_score::score_bytes+2)
|
|
Consolidated array index constant in *(render_score::score_bytes+1)
|
|
Consolidated array index constant in *(SPRITES_YPOS+2)
|
|
Consolidated array index constant in *(SPRITES_YPOS+4)
|
|
Consolidated array index constant in *(SPRITES_YPOS+6)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_1+1)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_1+2)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_1+3)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_2+1)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_2+2)
|
|
Consolidated array index constant in *(PLAYFIELD_SPRITE_PTRS_2+3)
|
|
Consolidated array index constant in *(playfield_lines_idx+PLAYFIELD_LINES)
|
|
Successful SSA optimization Pass2ConstantAdditionElimination
|
|
Simplifying constant integer increment ++0
|
|
Successful SSA optimization Pass2ConstantSimplification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Eliminating unused constant SIZEOF_POINTER
|
|
Eliminating unused constant SIZEOF_WORD
|
|
Eliminating unused constant SIZEOF_DWORD
|
|
Successful SSA optimization PassNEliminateUnusedVars
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) 8
|
|
Finalized unsigned number type (byte) $1e
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (word) $3000
|
|
Finalized unsigned number type (word) $2800
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $40
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) 5
|
|
Finalized unsigned number type (byte) $1c
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) 1
|
|
Finalized unsigned number type (byte) $16
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) $13
|
|
Finalized unsigned number type (byte) $1f
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) $c
|
|
Finalized unsigned number type (byte) $18
|
|
Finalized unsigned number type (byte) 4
|
|
Finalized unsigned number type (byte) 5
|
|
Finalized unsigned number type (byte) 5
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) $28
|
|
Finalized unsigned number type (byte) $20
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) $20
|
|
Finalized unsigned number type (byte) 2
|
|
Finalized unsigned number type (byte) $18
|
|
Finalized unsigned number type (byte) $f
|
|
Finalized unsigned number type (byte) 8
|
|
Successful SSA optimization PassNFinalizeNumberTypeConversions
|
|
Simplifying constant integer cast 2*$28
|
|
Simplifying constant integer cast 2*$28
|
|
Simplifying constant integer cast $20*2
|
|
Simplifying constant integer cast $20*2
|
|
Simplifying constant integer cast $18+$f*8
|
|
Successful SSA optimization PassNCastSimplification
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Alias candidate removed (volatile)sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
Added new block during phi lifting keyboard_event_scan::@25(between keyboard_event_scan::@9 and keyboard_event_scan::@7)
|
|
Added new block during phi lifting keyboard_event_scan::@26(between keyboard_event_scan::@11 and keyboard_event_scan::@10)
|
|
Added new block during phi lifting keyboard_event_scan::@27(between keyboard_event_scan::@10 and keyboard_event_scan::@11)
|
|
Added new block during phi lifting keyboard_event_scan::@28(between keyboard_event_scan::@13 and keyboard_event_scan::@11)
|
|
Added new block during phi lifting render_init::@6(between render_init::@1 and render_init::@1)
|
|
Added new block during phi lifting render_bcd::@3(between render_bcd and render_bcd::@1)
|
|
Added new block during phi lifting render_screen_original::@6(between render_screen_original::@5 and render_screen_original::@1)
|
|
Added new block during phi lifting render_screen_original::@7(between render_screen_original::@2 and render_screen_original::@2)
|
|
Added new block during phi lifting render_screen_original::@8(between render_screen_original::@2 and render_screen_original::@3)
|
|
Added new block during phi lifting render_screen_original::@9(between render_screen_original::@3 and render_screen_original::@3)
|
|
Added new block during phi lifting render_screen_original::@10(between render_screen_original::@3 and render_screen_original::@4)
|
|
Added new block during phi lifting render_screen_original::@11(between render_screen_original::@4 and render_screen_original::@4)
|
|
Added new block during phi lifting render_playfield::@4(between render_playfield::@3 and render_playfield::@1)
|
|
Added new block during phi lifting render_playfield::@5(between render_playfield::@2 and render_playfield::@2)
|
|
Added new block during phi lifting render_moving::@8(between render_moving::@3 and render_moving::@1)
|
|
Added new block during phi lifting render_moving::@9(between render_moving::@5 and render_moving::@3)
|
|
Added new block during phi lifting render_moving::@10(between render_moving::@5 and render_moving::@4)
|
|
Added new block during phi lifting render_next::@10(between render_next::@9 and render_next::@4)
|
|
Added new block during phi lifting render_next::@11(between render_next::@7 and render_next::@5)
|
|
Added new block during phi lifting sprites_init::@2(between sprites_init::@1 and sprites_init::@1)
|
|
Added new block during phi lifting play_init::@4(between play_init::@1 and play_init::@1)
|
|
Added new block during phi lifting play_init::@5(between play_init::@3 and play_init::@3)
|
|
Added new block during phi lifting play_move_down::@19(between play_move_down::@13 and play_move_down::@2)
|
|
Added new block during phi lifting play_move_down::@20(between play_move_down::@6 and play_move_down::@2)
|
|
Added new block during phi lifting play_move_down::@21(between play_move_down::@2 and play_move_down::@3)
|
|
Added new block during phi lifting play_collision::@14(between play_collision::@12 and play_collision::@1)
|
|
Added new block during phi lifting play_collision::@15(between play_collision::@3 and play_collision::@2)
|
|
Added new block during phi lifting play_lock_current::@6(between play_lock_current::@5 and play_lock_current::@1)
|
|
Added new block during phi lifting play_lock_current::@7(between play_lock_current::@3 and play_lock_current::@2)
|
|
Added new block during phi lifting play_spawn_current::@7(between play_spawn_current::@6 and play_spawn_current::@1)
|
|
Added new block during phi lifting play_remove_lines::@11(between play_remove_lines::@7 and play_remove_lines::@1)
|
|
Added new block during phi lifting play_remove_lines::@12(between play_remove_lines::@3 and play_remove_lines::@2)
|
|
Added new block during phi lifting play_remove_lines::@13(between play_remove_lines::@2 and play_remove_lines::@3)
|
|
Added new block during phi lifting play_remove_lines::@14(between play_remove_lines::@5 and play_remove_lines::@7)
|
|
Added new block during phi lifting play_remove_lines::@15(between play_remove_lines::@7 and play_remove_lines::@8)
|
|
Added new block during phi lifting play_update_score::@4(between play_update_score and play_update_score::@return)
|
|
Added new block during phi lifting play_update_score::@5(between play_update_score::@1 and play_update_score::@return)
|
|
Added new block during phi lifting play_increase_level::@8(between play_increase_level::@2 and play_increase_level::@3)
|
|
Added new block during phi lifting play_increase_level::@9(between play_increase_level::@6 and play_increase_level::@6)
|
|
Added new block during phi lifting main::@28(between main::@7 and main::@1)
|
|
Adding NOP phi() at start of __start
|
|
Adding NOP phi() at start of __start::__init1_toSpritePtr1
|
|
Adding NOP phi() at start of __start::__init1_toSpritePtr1_@return
|
|
Adding NOP phi() at start of __start::@1
|
|
Adding NOP phi() at start of __start::@2
|
|
Adding NOP phi() at start of sprites_irq::toSpritePtr1
|
|
Adding NOP phi() at start of sprites_irq::toSpritePtr1_@return
|
|
Adding NOP phi() at start of main
|
|
Adding NOP phi() at start of main::@10
|
|
Adding NOP phi() at start of main::@11
|
|
Adding NOP phi() at start of main::@12
|
|
Adding NOP phi() at start of main::@13
|
|
Adding NOP phi() at start of main::@15
|
|
Adding NOP phi() at start of main::@3
|
|
Adding NOP phi() at start of main::@19
|
|
Adding NOP phi() at start of main::@20
|
|
Adding NOP phi() at start of main::@5
|
|
Adding NOP phi() at start of main::@25
|
|
Adding NOP phi() at start of main::@26
|
|
Adding NOP phi() at start of render_init
|
|
Adding NOP phi() at start of render_init::vicSelectGfxBank1_toDd001
|
|
Adding NOP phi() at start of render_init::vicSelectGfxBank1_toDd001_@return
|
|
Adding NOP phi() at start of render_init::@4
|
|
Adding NOP phi() at start of render_init::@5
|
|
Adding NOP phi() at start of render_init::@2
|
|
Adding NOP phi() at start of play_init
|
|
Adding NOP phi() at start of play_spawn_current::@2
|
|
Adding NOP phi() at start of play_spawn_current::sid_rnd1_@return
|
|
Adding NOP phi() at start of render_next::@3
|
|
Adding NOP phi() at start of render_next::@1
|
|
Adding NOP phi() at start of render_show::@3
|
|
Adding NOP phi() at start of render_show::toD0182
|
|
Adding NOP phi() at start of render_show::toD0182_@return
|
|
Adding NOP phi() at start of render_show::@5
|
|
Adding NOP phi() at start of render_show::@1
|
|
Adding NOP phi() at start of render_show::toD0181
|
|
Adding NOP phi() at start of render_show::toD0181_@return
|
|
Adding NOP phi() at start of render_show::@4
|
|
Adding NOP phi() at start of keyboard_event_scan::@18
|
|
Adding NOP phi() at start of keyboard_event_scan::@19
|
|
Adding NOP phi() at start of keyboard_event_scan::@1
|
|
Adding NOP phi() at start of keyboard_event_scan::@4
|
|
Adding NOP phi() at start of keyboard_event_scan::@2
|
|
Adding NOP phi() at start of keyboard_event_scan::@5
|
|
Adding NOP phi() at start of keyboard_event_scan::@3
|
|
Adding NOP phi() at start of keyboard_event_scan::@6
|
|
Adding NOP phi() at start of render_score::@3
|
|
Adding NOP phi() at start of render_score::@9
|
|
Adding NOP phi() at start of render_score::@1
|
|
Adding NOP phi() at start of play_collision::@11
|
|
Adding NOP phi() at start of play_collision::@7
|
|
Adding NOP phi() at start of play_collision::@8
|
|
Adding NOP phi() at start of play_collision::@9
|
|
Adding NOP phi() at start of play_collision::@13
|
|
Adding NOP phi() at start of play_move_down::@5
|
|
Adding NOP phi() at start of play_move_down::@10
|
|
Adding NOP phi() at start of play_move_down::@15
|
|
Adding NOP phi() at start of play_remove_lines
|
|
Adding NOP phi() at start of play_remove_lines::@4
|
|
Adding NOP phi() at start of play_remove_lines::@10
|
|
Adding NOP phi() at start of play_update_score::@2
|
|
Adding NOP phi() at start of play_increase_level::@1
|
|
CALL GRAPH
|
|
Calls in [__start] to main:10
|
|
Calls in [main] to render_init:58 sprites_init:60 sprites_irq_init:62 play_init:64 play_spawn_current:66 play_spawn_current:69 render_playfield:71 render_moving:76 render_next:78 render_show:90 keyboard_event_scan:92 keyboard_event_get:94 play_movement:101 render_playfield:106 render_moving:112 render_next:115 render_score:117 render_screen_swap:119
|
|
Calls in [render_init] to render_screen_original:163 render_screen_original:165
|
|
Calls in [play_spawn_current] to play_collision:238
|
|
Calls in [keyboard_event_scan] to keyboard_matrix_read:356 keyboard_event_pressed:367 keyboard_event_pressed:373 keyboard_event_pressed:379 keyboard_event_pressed:385
|
|
Calls in [play_movement] to play_move_down:431 play_move_leftright:442 play_move_rotate:447
|
|
Calls in [render_score] to render_bcd:462 render_bcd:467 render_bcd:472 render_bcd:477 render_bcd:482 render_bcd:487
|
|
Calls in [play_move_down] to keyboard_event_pressed:597 play_collision:617 play_lock_current:622 play_remove_lines:624 play_update_score:628 play_spawn_current:631
|
|
Calls in [play_move_leftright] to play_collision:696 play_collision:712
|
|
Calls in [play_move_rotate] to play_collision:735
|
|
Calls in [play_update_score] to play_increase_level:841
|
|
|
|
Created 167 initial phi equivalence classes
|
|
Coalesced [67] next_piece_idx#85 = next_piece_idx#19
|
|
Coalesced [68] game_over#89 = game_over#53
|
|
Not coalescing [72] current_ypos#97 = current_ypos#5
|
|
Not coalescing [73] current_xpos#118 = current_xpos#100
|
|
Not coalescing [75] current_piece_char#99 = current_piece_char#4
|
|
Not coalescing [77] next_piece_idx#79 = next_piece_idx#19
|
|
Coalesced [79] current_movedown_slow#98 = current_movedown_slow#0
|
|
Coalesced [81] current_piece_char#105 = current_piece_char#4
|
|
Coalesced [83] current_xpos#129 = current_xpos#100
|
|
Coalesced [84] current_ypos#103 = current_ypos#5
|
|
Coalesced [85] game_over#92 = game_over#53
|
|
Coalesced [86] next_piece_idx#87 = next_piece_idx#19
|
|
Not coalescing [105] render_screen_render#63 = render_screen_render#19
|
|
Not coalescing [107] current_ypos#98 = current_ypos#20
|
|
Not coalescing [108] render_screen_render#64 = render_screen_render#19
|
|
Not coalescing [109] current_xpos#119 = current_xpos#2
|
|
Not coalescing [110] current_piece_gfx#112 = current_piece_gfx#19
|
|
Not coalescing [111] current_piece_char#100 = current_piece_char#17
|
|
Not coalescing [113] render_screen_render#65 = render_screen_render#19
|
|
Not coalescing [114] next_piece_idx#80 = next_piece_idx#17
|
|
Coalesced [120] render_screen_show#59 = render_screen_show#14
|
|
Coalesced [121] render_screen_render#66 = render_screen_render#12
|
|
Coalesced [122] current_movedown_slow#99 = current_movedown_slow#22
|
|
Coalesced [123] current_piece#104 = current_piece#16
|
|
Coalesced [124] current_piece_char#106 = current_piece_char#17
|
|
Coalesced [125] current_orientation#106 = current_orientation#18
|
|
Coalesced [126] current_piece_gfx#123 = current_piece_gfx#19
|
|
Coalesced [127] current_xpos#130 = current_xpos#2
|
|
Coalesced [128] current_ypos#104 = current_ypos#20
|
|
Coalesced [129] game_over#93 = game_over#16
|
|
Coalesced [130] next_piece_idx#88 = next_piece_idx#17
|
|
Coalesced [131] keyboard_events_size#89 = keyboard_events_size#17
|
|
Coalesced [132] current_movedown_counter#62 = current_movedown_counter#15
|
|
Coalesced [133] lines_bcd#94 = lines_bcd#16
|
|
Coalesced [134] level#110 = level#18
|
|
Coalesced [135] level_bcd#109 = level_bcd#18
|
|
Coalesced (already) [136] render_screen_show#60 = render_screen_show#17
|
|
Coalesced (already) [137] render_screen_render#67 = render_screen_render#19
|
|
Coalesced (already) [138] current_movedown_slow#100 = current_movedown_slow#22
|
|
Coalesced (already) [139] current_piece#105 = current_piece#16
|
|
Coalesced (already) [140] current_piece_char#107 = current_piece_char#17
|
|
Coalesced (already) [141] current_orientation#107 = current_orientation#18
|
|
Coalesced (already) [142] current_piece_gfx#124 = current_piece_gfx#19
|
|
Coalesced (already) [143] current_xpos#131 = current_xpos#2
|
|
Coalesced (already) [144] current_ypos#105 = current_ypos#20
|
|
Coalesced (already) [145] game_over#94 = game_over#16
|
|
Coalesced (already) [146] next_piece_idx#89 = next_piece_idx#17
|
|
Coalesced (already) [147] keyboard_events_size#90 = keyboard_events_size#17
|
|
Coalesced (already) [148] current_movedown_counter#63 = current_movedown_counter#15
|
|
Coalesced (already) [149] lines_bcd#95 = lines_bcd#16
|
|
Coalesced (already) [150] level#111 = level#18
|
|
Coalesced (already) [151] level_bcd#110 = level_bcd#18
|
|
Coalesced [177] render_init::i#3 = render_init::i#1
|
|
Coalesced [178] render_init::li_1#3 = render_init::li_1#1
|
|
Coalesced [179] render_init::li_2#3 = render_init::li_2#1
|
|
Coalesced [192] sprites_init::s#3 = sprites_init::s#1
|
|
Coalesced [193] sprites_init::xpos#3 = sprites_init::xpos#1
|
|
Coalesced [223] play_init::b#3 = play_init::b#1
|
|
Coalesced [224] play_init::j#3 = play_init::j#1
|
|
Coalesced [225] play_init::pli#3 = play_init::pli#1
|
|
Coalesced [226] play_init::idx#3 = play_init::idx#1
|
|
Coalesced [236] play_collision::yp#14 = play_collision::ypos#4
|
|
Coalesced [237] play_collision::xpos#18 = play_collision::xpos#4
|
|
Coalesced [246] next_piece_idx#19 = play_spawn_current::piece_idx#2
|
|
Coalesced [251] play_spawn_current::piece_idx#4 = play_spawn_current::piece_idx#1
|
|
Coalesced (already) [252] game_over#91 = game_over#66
|
|
Coalesced [258] render_playfield::i#6 = render_playfield::i#3
|
|
Coalesced [259] render_playfield::screen_line#3 = render_playfield::screen_line#0
|
|
Coalesced [269] render_playfield::l#5 = render_playfield::l#1
|
|
Coalesced [270] render_playfield::i#5 = render_playfield::i#1
|
|
Coalesced (already) [271] render_playfield::i#7 = render_playfield::i#1
|
|
Coalesced [272] render_playfield::screen_line#4 = render_playfield::screen_line#1
|
|
Coalesced [273] render_playfield::c#3 = render_playfield::c#1
|
|
Coalesced [276] render_moving::ypos#9 = render_moving::ypos#0
|
|
Coalesced [280] render_moving::i#12 = render_moving::i#1
|
|
Coalesced [286] render_moving::ypos#10 = render_moving::ypos#1
|
|
Coalesced [287] render_moving::i#10 = render_moving::i#8
|
|
Coalesced [288] render_moving::l#9 = render_moving::l#1
|
|
Coalesced [293] render_moving::i#13 = render_moving::i#3
|
|
Coalesced [294] render_moving::xpos#5 = render_moving::xpos#0
|
|
Coalesced [303] render_moving::i#11 = render_moving::i#2
|
|
Coalesced (already) [304] render_moving::i#14 = render_moving::i#2
|
|
Coalesced [305] render_moving::xpos#6 = render_moving::xpos#1
|
|
Coalesced [306] render_moving::c#5 = render_moving::c#1
|
|
Coalesced [314] render_next::screen_next_area#12 = render_next::screen_next_area#11
|
|
Coalesced [316] render_next::next_piece_gfx#10 = render_next::next_piece_gfx#3
|
|
Coalesced [317] render_next::screen_next_area#14 = render_next::screen_next_area#10
|
|
Coalesced [330] render_next::next_piece_gfx#9 = render_next::next_piece_gfx#1
|
|
Coalesced [331] render_next::screen_next_area#13 = render_next::screen_next_area#4
|
|
Coalesced [332] render_next::l#8 = render_next::l#1
|
|
Coalesced (already) [333] render_next::next_piece_gfx#11 = render_next::next_piece_gfx#1
|
|
Coalesced [334] render_next::screen_next_area#15 = render_next::screen_next_area#3
|
|
Coalesced [335] render_next::c#6 = render_next::c#1
|
|
Coalesced [353] keyboard_events_size#77 = keyboard_events_size#20
|
|
Coalesced [361] keyboard_event_scan::keycode#17 = keyboard_event_scan::keycode#1
|
|
Coalesced [362] keyboard_events_size#80 = keyboard_events_size#32
|
|
Coalesced [391] keyboard_event_scan::row#14 = keyboard_event_scan::row#1
|
|
Coalesced [392] keyboard_event_scan::keycode#15 = keyboard_event_scan::keycode#13
|
|
Coalesced (already) [393] keyboard_events_size#78 = keyboard_events_size#14
|
|
Coalesced [394] keyboard_event_scan::keycode#19 = keyboard_event_scan::keycode#11
|
|
Coalesced [395] keyboard_events_size#82 = keyboard_events_size#32
|
|
Coalesced [405] keyboard_events_size#86 = keyboard_events_size#1
|
|
Coalesced [411] keyboard_event_scan::keycode#16 = keyboard_event_scan::keycode#14
|
|
Coalesced [412] keyboard_events_size#79 = keyboard_events_size#31
|
|
Coalesced [413] keyboard_event_scan::col#8 = keyboard_event_scan::col#1
|
|
Coalesced (already) [414] keyboard_event_scan::keycode#18 = keyboard_event_scan::keycode#14
|
|
Coalesced (already) [415] keyboard_events_size#81 = keyboard_events_size#31
|
|
Coalesced [419] keyboard_events_size#84 = keyboard_events_size#0
|
|
Coalesced (already) [420] keyboard_events_size#85 = keyboard_events_size#11
|
|
Coalesced (already) [421] keyboard_events_size#83 = keyboard_events_size#11
|
|
Coalesced [425] keyboard_event_get::return#6 = keyboard_event_get::return#1
|
|
Coalesced [426] keyboard_events_size#88 = keyboard_events_size#3
|
|
Coalesced (already) [429] keyboard_events_size#87 = keyboard_events_size#14
|
|
Coalesced [435] play_movement::return#6 = play_movement::render#1
|
|
Coalesced [436] current_orientation#98 = current_orientation#21
|
|
Coalesced [437] current_piece_gfx#113 = current_piece_gfx#21
|
|
Coalesced [438] current_xpos#120 = current_xpos#23
|
|
Coalesced [451] play_movement::return#7 = play_movement::return#0
|
|
Coalesced [452] current_orientation#99 = current_orientation#26
|
|
Coalesced [453] current_piece_gfx#114 = current_piece_gfx#22
|
|
Coalesced [454] current_xpos#121 = current_xpos#27
|
|
Coalesced [460] render_bcd::screen#7 = render_bcd::screen#0
|
|
Coalesced [461] render_bcd::bcd#9 = render_bcd::bcd#0
|
|
Coalesced [465] render_bcd::screen#8 = render_bcd::screen#1
|
|
Coalesced [466] render_bcd::bcd#10 = render_bcd::bcd#1
|
|
Coalesced [470] render_bcd::screen#9 = render_bcd::screen#2
|
|
Coalesced [471] render_bcd::bcd#11 = render_bcd::bcd#2
|
|
Coalesced [475] render_bcd::screen#10 = render_bcd::screen#3
|
|
Coalesced [476] render_bcd::bcd#12 = render_bcd::bcd#3
|
|
Coalesced [480] render_bcd::screen#11 = render_bcd::screen#4
|
|
Coalesced [481] render_bcd::bcd#13 = render_bcd::bcd#4
|
|
Coalesced [485] render_bcd::screen#12 = render_bcd::screen#5
|
|
Coalesced [486] render_bcd::bcd#14 = render_bcd::bcd#5
|
|
Coalesced [495] render_screen_original::screen#11 = render_screen_original::screen#9
|
|
Coalesced [497] render_screen_original::screen#13 = render_screen_original::screen#8
|
|
Coalesced [498] render_screen_original::cols#10 = render_screen_original::cols#7
|
|
Coalesced [506] render_screen_original::oscr#8 = render_screen_original::oscr#4
|
|
Coalesced [507] render_screen_original::screen#15 = render_screen_original::screen#2
|
|
Coalesced [508] render_screen_original::ocols#8 = render_screen_original::ocols#4
|
|
Coalesced [509] render_screen_original::cols#12 = render_screen_original::cols#1
|
|
Coalesced [510] render_screen_original::x#8 = render_screen_original::x#1
|
|
Coalesced [520] render_screen_original::screen#17 = render_screen_original::screen#3
|
|
Coalesced [521] render_screen_original::cols#14 = render_screen_original::cols#2
|
|
Coalesced [522] render_screen_original::x#10 = render_screen_original::x#2
|
|
Coalesced [533] render_screen_original::screen#12 = render_screen_original::screen#10
|
|
Coalesced [534] render_screen_original::cols#9 = render_screen_original::cols#3
|
|
Coalesced [535] render_screen_original::oscr#7 = render_screen_original::oscr#1
|
|
Coalesced [536] render_screen_original::ocols#7 = render_screen_original::ocols#1
|
|
Coalesced [537] render_screen_original::y#7 = render_screen_original::y#1
|
|
Coalesced [538] render_screen_original::screen#18 = render_screen_original::screen#10
|
|
Coalesced [539] render_screen_original::cols#15 = render_screen_original::cols#3
|
|
Coalesced [540] render_screen_original::x#11 = render_screen_original::x#3
|
|
Coalesced (already) [541] render_screen_original::oscr#9 = render_screen_original::oscr#1
|
|
Coalesced [542] render_screen_original::screen#16 = render_screen_original::screen#3
|
|
Coalesced (already) [543] render_screen_original::ocols#9 = render_screen_original::ocols#1
|
|
Coalesced [544] render_screen_original::cols#13 = render_screen_original::cols#2
|
|
Coalesced [545] render_screen_original::x#9 = render_screen_original::x#2
|
|
Coalesced (already) [546] render_screen_original::screen#14 = render_screen_original::screen#2
|
|
Coalesced (already) [547] render_screen_original::cols#11 = render_screen_original::cols#1
|
|
Coalesced [548] render_screen_original::x#7 = render_screen_original::x#1
|
|
Coalesced [551] play_collision::yp#15 = play_collision::yp#0
|
|
Coalesced [555] play_collision::i#11 = play_collision::i#3
|
|
Not coalescing [556] play_collision::xp#8 = play_collision::xpos#6
|
|
Coalesced [578] play_collision::yp#16 = play_collision::yp#1
|
|
Not coalescing [579] play_collision::i#10 = play_collision::i#1
|
|
Coalesced [580] play_collision::l#10 = play_collision::l#1
|
|
Not coalescing [581] play_collision::i#12 = play_collision::i#1
|
|
Coalesced [582] play_collision::xp#9 = play_collision::xp#1
|
|
Coalesced [583] play_collision::c#8 = play_collision::c#1
|
|
Coalesced [603] play_move_down::movedown#14 = play_move_down::movedown#2
|
|
Coalesced [607] play_move_down::movedown#16 = play_move_down::movedown#3
|
|
Not coalescing [613] current_piece#98 = current_piece#23
|
|
Coalesced [614] play_collision::orientation#6 = play_collision::orientation#0
|
|
Coalesced [615] play_collision::yp#10 = play_collision::ypos#0
|
|
Coalesced [616] play_collision::xpos#14 = play_collision::xpos#0
|
|
Coalesced (already) [629] next_piece_idx#86 = next_piece_idx#23
|
|
Coalesced (already) [630] game_over#90 = game_over#22
|
|
Coalesced [632] current_ypos#100 = current_ypos#5
|
|
Coalesced [633] lines_bcd#88 = lines_bcd#18
|
|
Coalesced [634] level#104 = level#20
|
|
Coalesced [635] current_movedown_slow#91 = current_movedown_slow#24
|
|
Coalesced [636] level_bcd#101 = level_bcd#20
|
|
Coalesced [638] current_piece_char#102 = current_piece_char#4
|
|
Coalesced [640] current_xpos#123 = current_xpos#100
|
|
Coalesced [641] game_over#86 = game_over#53
|
|
Coalesced [642] next_piece_idx#82 = next_piece_idx#19
|
|
Coalesced (already) [644] current_ypos#101 = current_ypos#40
|
|
Coalesced [645] lines_bcd#89 = lines_bcd#28
|
|
Coalesced [646] level#105 = level#35
|
|
Coalesced [647] current_movedown_slow#92 = current_movedown_slow#39
|
|
Coalesced [648] level_bcd#102 = level_bcd#33
|
|
Coalesced [649] current_piece#96 = current_piece#30
|
|
Coalesced (already) [650] current_piece_char#103 = current_piece_char#31
|
|
Coalesced [651] current_orientation#101 = current_orientation#39
|
|
Coalesced [652] current_piece_gfx#117 = current_piece_gfx#37
|
|
Coalesced (already) [653] current_xpos#124 = current_xpos#45
|
|
Coalesced (already) [654] game_over#87 = game_over#29
|
|
Coalesced (already) [655] next_piece_idx#83 = next_piece_idx#32
|
|
Coalesced [659] current_ypos#99 = current_ypos#2
|
|
Coalesced (already) [660] lines_bcd#87 = lines_bcd#20
|
|
Coalesced (already) [661] level#103 = level#25
|
|
Coalesced (already) [662] current_movedown_slow#90 = current_movedown_slow#13
|
|
Coalesced (already) [663] level_bcd#100 = level_bcd#10
|
|
Coalesced (already) [664] current_piece#94 = current_piece#23
|
|
Coalesced (already) [665] current_piece_char#101 = current_piece_char#23
|
|
Coalesced (already) [666] current_orientation#100 = current_orientation#12
|
|
Coalesced (already) [667] current_piece_gfx#115 = current_piece_gfx#12
|
|
Coalesced (already) [668] current_xpos#122 = current_xpos#13
|
|
Coalesced (already) [669] game_over#85 = game_over#22
|
|
Coalesced (already) [670] next_piece_idx#81 = next_piece_idx#23
|
|
Coalesced [671] current_movedown_counter#61 = current_movedown_counter#13
|
|
Coalesced (already) [672] current_ypos#102 = current_ypos#10
|
|
Coalesced (already) [673] lines_bcd#90 = lines_bcd#20
|
|
Coalesced (already) [674] level#106 = level#25
|
|
Coalesced (already) [675] current_movedown_slow#93 = current_movedown_slow#13
|
|
Coalesced (already) [676] level_bcd#103 = level_bcd#10
|
|
Coalesced (already) [677] current_piece#97 = current_piece#23
|
|
Coalesced (already) [678] current_piece_char#104 = current_piece_char#23
|
|
Coalesced (already) [679] current_orientation#102 = current_orientation#12
|
|
Coalesced (already) [680] current_piece_gfx#118 = current_piece_gfx#12
|
|
Coalesced (already) [681] current_xpos#125 = current_xpos#13
|
|
Coalesced (already) [682] game_over#88 = game_over#22
|
|
Coalesced (already) [683] next_piece_idx#84 = next_piece_idx#23
|
|
Coalesced [684] play_move_down::movedown#15 = play_move_down::movedown#7
|
|
Coalesced [685] play_move_down::movedown#13 = play_move_down::movedown#10
|
|
Coalesced (already) [686] play_move_down::movedown#12 = play_move_down::movedown#10
|
|
Not coalescing [692] current_piece#100 = current_piece#16
|
|
Coalesced [693] play_collision::orientation#8 = play_collision::orientation#2
|
|
Coalesced [694] play_collision::yp#12 = play_collision::ypos#2
|
|
Coalesced [695] play_collision::xpos#16 = play_collision::xpos#2
|
|
Coalesced [701] current_xpos#127 = current_xpos#5
|
|
Coalesced (already) [704] current_xpos#126 = current_xpos#23
|
|
Not coalescing [708] current_piece#99 = current_piece#16
|
|
Coalesced [709] play_collision::orientation#7 = play_collision::orientation#1
|
|
Coalesced [710] play_collision::yp#11 = play_collision::ypos#1
|
|
Coalesced [711] play_collision::xpos#15 = play_collision::xpos#1
|
|
Coalesced [717] current_xpos#128 = current_xpos#7
|
|
Coalesced (already) [720] current_orientation#104 = current_orientation#21
|
|
Coalesced (already) [721] current_piece_gfx#120 = current_piece_gfx#21
|
|
Coalesced [726] play_move_rotate::orientation#7 = play_move_rotate::orientation#2
|
|
Not coalescing [731] current_piece#101 = current_piece#16
|
|
Coalesced [732] play_collision::orientation#9 = play_collision::orientation#3
|
|
Coalesced [733] play_collision::yp#13 = play_collision::ypos#3
|
|
Coalesced [734] play_collision::xpos#17 = play_collision::xpos#3
|
|
Coalesced [741] current_orientation#105 = current_orientation#6
|
|
Coalesced [742] current_piece_gfx#121 = current_piece_gfx#6
|
|
Coalesced (already) [743] current_orientation#103 = current_orientation#21
|
|
Coalesced (already) [744] current_piece_gfx#119 = current_piece_gfx#21
|
|
Coalesced [747] play_move_rotate::orientation#6 = play_move_rotate::orientation#1
|
|
Coalesced [755] render_bcd::screen_pos#6 = render_bcd::screen_pos#2
|
|
Coalesced [761] render_bcd::screen_pos#5 = render_bcd::screen_pos#0
|
|
Coalesced [763] play_lock_current::yp#7 = play_lock_current::yp#0
|
|
Coalesced [768] play_lock_current::i#8 = play_lock_current::i#3
|
|
Coalesced [769] play_lock_current::xp#5 = play_lock_current::xp#0
|
|
Coalesced [781] play_lock_current::yp#8 = play_lock_current::yp#1
|
|
Not coalescing [782] play_lock_current::i#7 = play_lock_current::i#1
|
|
Coalesced [783] play_lock_current::l#7 = play_lock_current::l#1
|
|
Not coalescing [784] play_lock_current::i#9 = play_lock_current::i#1
|
|
Coalesced [785] play_lock_current::xp#6 = play_lock_current::xp#1
|
|
Coalesced [786] play_lock_current::c#5 = play_lock_current::c#1
|
|
Coalesced [789] play_remove_lines::r#10 = play_remove_lines::r#3
|
|
Coalesced [790] play_remove_lines::w#14 = play_remove_lines::w#12
|
|
Coalesced [804] play_remove_lines::w#17 = play_remove_lines::w#2
|
|
Coalesced [805] play_remove_lines::removed#14 = play_remove_lines::removed#1
|
|
Coalesced [809] play_remove_lines::w#18 = play_remove_lines::w#11
|
|
Coalesced [816] play_remove_lines::w#19 = play_remove_lines::w#3
|
|
Coalesced [817] play_remove_lines::r#9 = play_remove_lines::r#1
|
|
Coalesced [818] play_remove_lines::w#13 = play_remove_lines::w#11
|
|
Coalesced [819] play_remove_lines::y#9 = play_remove_lines::y#1
|
|
Coalesced [820] play_remove_lines::removed#12 = play_remove_lines::removed#7
|
|
Coalesced [821] play_remove_lines::w#16 = play_remove_lines::w#1
|
|
Coalesced (already) [822] play_remove_lines::removed#13 = play_remove_lines::removed#11
|
|
Coalesced (already) [823] play_remove_lines::r#11 = play_remove_lines::r#1
|
|
Coalesced (already) [824] play_remove_lines::w#15 = play_remove_lines::w#1
|
|
Coalesced [825] play_remove_lines::x#5 = play_remove_lines::x#1
|
|
Coalesced [826] play_remove_lines::full#5 = play_remove_lines::full#2
|
|
Coalesced (already) [827] play_remove_lines::full#6 = play_remove_lines::full#4
|
|
Coalesced [842] lines_bcd#93 = lines_bcd#31
|
|
Coalesced [843] level#109 = level#22
|
|
Coalesced [844] current_movedown_slow#96 = current_movedown_slow#67
|
|
Coalesced [845] level_bcd#106 = level_bcd#63
|
|
Coalesced (already) [848] lines_bcd#92 = lines_bcd#31
|
|
Coalesced (already) [849] level#108 = level#25
|
|
Coalesced (already) [850] current_movedown_slow#95 = current_movedown_slow#13
|
|
Coalesced (already) [851] level_bcd#105 = level_bcd#10
|
|
Coalesced (already) [852] lines_bcd#91 = lines_bcd#20
|
|
Coalesced (already) [853] level#107 = level#25
|
|
Coalesced (already) [854] current_movedown_slow#94 = current_movedown_slow#13
|
|
Coalesced (already) [855] level_bcd#104 = level_bcd#10
|
|
Coalesced [859] current_movedown_slow#97 = current_movedown_slow#9
|
|
Coalesced [865] level_bcd#108 = level_bcd#7
|
|
Coalesced [875] play_increase_level::b#3 = play_increase_level::b#1
|
|
Coalesced [876] level_bcd#107 = level_bcd#22
|
|
Coalesced down to 93 phi equivalence classes
|
|
Culled Empty Block label __start::__init1_toSpritePtr1_@return
|
|
Culled Empty Block label __start::@2
|
|
Culled Empty Block label sprites_irq::toSpritePtr1_@return
|
|
Culled Empty Block label main::@5
|
|
Culled Empty Block label main::@27
|
|
Culled Empty Block label main::@28
|
|
Culled Empty Block label render_init::vicSelectGfxBank1_toDd001_@return
|
|
Culled Empty Block label render_init::@5
|
|
Culled Empty Block label render_init::@2
|
|
Culled Empty Block label render_init::@6
|
|
Culled Empty Block label sprites_init::@2
|
|
Culled Empty Block label play_init::@5
|
|
Culled Empty Block label play_init::@4
|
|
Culled Empty Block label play_spawn_current::@2
|
|
Culled Empty Block label play_spawn_current::@4
|
|
Culled Empty Block label play_spawn_current::sid_rnd1_@return
|
|
Culled Empty Block label render_playfield::@4
|
|
Culled Empty Block label render_playfield::@5
|
|
Culled Empty Block label render_moving::@8
|
|
Culled Empty Block label render_moving::@9
|
|
Culled Empty Block label render_moving::@10
|
|
Culled Empty Block label render_next::@3
|
|
Culled Empty Block label render_next::@10
|
|
Culled Empty Block label render_next::@11
|
|
Culled Empty Block label render_show::@3
|
|
Culled Empty Block label render_show::toD0182_@return
|
|
Culled Empty Block label render_show::@5
|
|
Culled Empty Block label render_show::@1
|
|
Culled Empty Block label render_show::toD0181_@return
|
|
Culled Empty Block label render_show::@4
|
|
Culled Empty Block label keyboard_event_scan::@25
|
|
Culled Empty Block label keyboard_event_scan::@8
|
|
Culled Empty Block label keyboard_event_scan::@26
|
|
Culled Empty Block label keyboard_event_scan::@28
|
|
Culled Empty Block label keyboard_event_scan::@27
|
|
Culled Empty Block label keyboard_event_get::@1
|
|
Culled Empty Block label play_movement::@2
|
|
Culled Empty Block label render_score::@3
|
|
Culled Empty Block label render_score::@9
|
|
Culled Empty Block label render_screen_original::@8
|
|
Culled Empty Block label render_screen_original::@10
|
|
Culled Empty Block label render_screen_original::@6
|
|
Culled Empty Block label render_screen_original::@11
|
|
Culled Empty Block label render_screen_original::@9
|
|
Culled Empty Block label render_screen_original::@7
|
|
Culled Empty Block label play_collision::@11
|
|
Culled Empty Block label play_collision::@7
|
|
Culled Empty Block label play_collision::@8
|
|
Culled Empty Block label play_collision::@9
|
|
Culled Empty Block label play_collision::@13
|
|
Culled Empty Block label play_move_down::@4
|
|
Culled Empty Block label play_move_down::@21
|
|
Culled Empty Block label play_move_down::@20
|
|
Culled Empty Block label play_move_down::@19
|
|
Culled Empty Block label play_move_leftright::@2
|
|
Culled Empty Block label play_move_rotate::@6
|
|
Culled Empty Block label play_move_rotate::@4
|
|
Culled Empty Block label render_bcd::@3
|
|
Culled Empty Block label play_remove_lines::@4
|
|
Culled Empty Block label play_remove_lines::@15
|
|
Culled Empty Block label play_remove_lines::@10
|
|
Culled Empty Block label play_remove_lines::@11
|
|
Culled Empty Block label play_remove_lines::@14
|
|
Culled Empty Block label play_remove_lines::@12
|
|
Culled Empty Block label play_update_score::@3
|
|
Culled Empty Block label play_update_score::@5
|
|
Culled Empty Block label play_update_score::@4
|
|
Culled Empty Block label play_increase_level::@9
|
|
Culled Empty Block label play_increase_level::@8
|
|
Culled Empty Block label play_increase_level::@1
|
|
Renumbering block keyboard_event_scan::@9 to keyboard_event_scan::@8
|
|
Renumbering block keyboard_event_scan::@10 to keyboard_event_scan::@9
|
|
Renumbering block keyboard_event_scan::@11 to keyboard_event_scan::@10
|
|
Renumbering block keyboard_event_scan::@12 to keyboard_event_scan::@11
|
|
Renumbering block keyboard_event_scan::@13 to keyboard_event_scan::@12
|
|
Renumbering block keyboard_event_scan::@14 to keyboard_event_scan::@13
|
|
Renumbering block keyboard_event_scan::@15 to keyboard_event_scan::@14
|
|
Renumbering block keyboard_event_scan::@16 to keyboard_event_scan::@15
|
|
Renumbering block keyboard_event_scan::@17 to keyboard_event_scan::@16
|
|
Renumbering block keyboard_event_scan::@18 to keyboard_event_scan::@17
|
|
Renumbering block keyboard_event_scan::@19 to keyboard_event_scan::@18
|
|
Renumbering block keyboard_event_scan::@20 to keyboard_event_scan::@19
|
|
Renumbering block keyboard_event_scan::@21 to keyboard_event_scan::@20
|
|
Renumbering block keyboard_event_scan::@22 to keyboard_event_scan::@21
|
|
Renumbering block keyboard_event_scan::@23 to keyboard_event_scan::@22
|
|
Renumbering block keyboard_event_scan::@24 to keyboard_event_scan::@23
|
|
Renumbering block keyboard_event_get::@2 to keyboard_event_get::@1
|
|
Renumbering block render_init::@3 to render_init::@2
|
|
Renumbering block render_init::@4 to render_init::@3
|
|
Renumbering block render_show::@2 to render_show::@1
|
|
Renumbering block render_score::@4 to render_score::@3
|
|
Renumbering block render_score::@5 to render_score::@4
|
|
Renumbering block render_score::@6 to render_score::@5
|
|
Renumbering block render_score::@7 to render_score::@6
|
|
Renumbering block render_score::@8 to render_score::@7
|
|
Renumbering block render_next::@4 to render_next::@3
|
|
Renumbering block render_next::@5 to render_next::@4
|
|
Renumbering block render_next::@6 to render_next::@5
|
|
Renumbering block render_next::@7 to render_next::@6
|
|
Renumbering block render_next::@8 to render_next::@7
|
|
Renumbering block render_next::@9 to render_next::@8
|
|
Renumbering block play_movement::@3 to play_movement::@2
|
|
Renumbering block play_movement::@4 to play_movement::@3
|
|
Renumbering block play_movement::@5 to play_movement::@4
|
|
Renumbering block play_move_down::@5 to play_move_down::@4
|
|
Renumbering block play_move_down::@6 to play_move_down::@5
|
|
Renumbering block play_move_down::@7 to play_move_down::@6
|
|
Renumbering block play_move_down::@8 to play_move_down::@7
|
|
Renumbering block play_move_down::@9 to play_move_down::@8
|
|
Renumbering block play_move_down::@10 to play_move_down::@9
|
|
Renumbering block play_move_down::@11 to play_move_down::@10
|
|
Renumbering block play_move_down::@12 to play_move_down::@11
|
|
Renumbering block play_move_down::@13 to play_move_down::@12
|
|
Renumbering block play_move_down::@14 to play_move_down::@13
|
|
Renumbering block play_move_down::@15 to play_move_down::@14
|
|
Renumbering block play_move_down::@16 to play_move_down::@15
|
|
Renumbering block play_move_down::@17 to play_move_down::@16
|
|
Renumbering block play_move_down::@18 to play_move_down::@17
|
|
Renumbering block play_move_leftright::@3 to play_move_leftright::@2
|
|
Renumbering block play_move_leftright::@4 to play_move_leftright::@3
|
|
Renumbering block play_move_leftright::@5 to play_move_leftright::@4
|
|
Renumbering block play_move_leftright::@6 to play_move_leftright::@5
|
|
Renumbering block play_move_leftright::@7 to play_move_leftright::@6
|
|
Renumbering block play_move_leftright::@8 to play_move_leftright::@7
|
|
Renumbering block play_move_rotate::@5 to play_move_rotate::@4
|
|
Renumbering block play_move_rotate::@7 to play_move_rotate::@5
|
|
Renumbering block play_move_rotate::@8 to play_move_rotate::@6
|
|
Renumbering block play_collision::@10 to play_collision::@7
|
|
Renumbering block play_collision::@12 to play_collision::@8
|
|
Renumbering block play_collision::@14 to play_collision::@9
|
|
Renumbering block play_collision::@15 to play_collision::@10
|
|
Renumbering block play_spawn_current::@3 to play_spawn_current::@2
|
|
Renumbering block play_spawn_current::@5 to play_spawn_current::@3
|
|
Renumbering block play_spawn_current::@6 to play_spawn_current::@4
|
|
Renumbering block play_spawn_current::@7 to play_spawn_current::@5
|
|
Renumbering block play_remove_lines::@5 to play_remove_lines::@4
|
|
Renumbering block play_remove_lines::@6 to play_remove_lines::@5
|
|
Renumbering block play_remove_lines::@7 to play_remove_lines::@6
|
|
Renumbering block play_remove_lines::@8 to play_remove_lines::@7
|
|
Renumbering block play_remove_lines::@9 to play_remove_lines::@8
|
|
Renumbering block play_remove_lines::@13 to play_remove_lines::@9
|
|
Renumbering block play_increase_level::@2 to play_increase_level::@1
|
|
Renumbering block play_increase_level::@3 to play_increase_level::@2
|
|
Renumbering block play_increase_level::@4 to play_increase_level::@3
|
|
Renumbering block play_increase_level::@5 to play_increase_level::@4
|
|
Renumbering block play_increase_level::@6 to play_increase_level::@5
|
|
Renumbering block play_increase_level::@7 to play_increase_level::@6
|
|
Renumbering block main::@6 to main::@5
|
|
Renumbering block main::@7 to main::@6
|
|
Renumbering block main::@8 to main::@7
|
|
Renumbering block main::@9 to main::@8
|
|
Renumbering block main::@10 to main::@9
|
|
Renumbering block main::@11 to main::@10
|
|
Renumbering block main::@12 to main::@11
|
|
Renumbering block main::@13 to main::@12
|
|
Renumbering block main::@14 to main::@13
|
|
Renumbering block main::@15 to main::@14
|
|
Renumbering block main::@16 to main::@15
|
|
Renumbering block main::@17 to main::@16
|
|
Renumbering block main::@18 to main::@17
|
|
Renumbering block main::@19 to main::@18
|
|
Renumbering block main::@20 to main::@19
|
|
Renumbering block main::@21 to main::@20
|
|
Renumbering block main::@22 to main::@21
|
|
Renumbering block main::@23 to main::@22
|
|
Renumbering block main::@24 to main::@23
|
|
Renumbering block main::@25 to main::@24
|
|
Renumbering block main::@26 to main::@25
|
|
Adding NOP phi() at start of __start
|
|
Adding NOP phi() at start of __start::__init1_toSpritePtr1
|
|
Adding NOP phi() at start of __start::@1
|
|
Adding NOP phi() at start of sprites_irq::toSpritePtr1
|
|
Adding NOP phi() at start of main
|
|
Adding NOP phi() at start of main::@9
|
|
Adding NOP phi() at start of main::@10
|
|
Adding NOP phi() at start of main::@11
|
|
Adding NOP phi() at start of main::@12
|
|
Adding NOP phi() at start of main::@13
|
|
Adding NOP phi() at start of main::@14
|
|
Adding NOP phi() at start of main::@3
|
|
Adding NOP phi() at start of main::@18
|
|
Adding NOP phi() at start of main::@19
|
|
Adding NOP phi() at start of main::@24
|
|
Adding NOP phi() at start of main::@25
|
|
Adding NOP phi() at start of render_init
|
|
Adding NOP phi() at start of render_init::vicSelectGfxBank1_toDd001
|
|
Adding NOP phi() at start of render_init::@3
|
|
Adding NOP phi() at start of play_init
|
|
Adding NOP phi() at start of play_spawn_current::@5
|
|
Adding NOP phi() at start of render_next::@1
|
|
Adding NOP phi() at start of render_show::toD0182
|
|
Adding NOP phi() at start of render_show::toD0181
|
|
Adding NOP phi() at start of keyboard_event_scan
|
|
Adding NOP phi() at start of keyboard_event_scan::@17
|
|
Adding NOP phi() at start of keyboard_event_scan::@18
|
|
Adding NOP phi() at start of keyboard_event_scan::@1
|
|
Adding NOP phi() at start of keyboard_event_scan::@4
|
|
Adding NOP phi() at start of keyboard_event_scan::@2
|
|
Adding NOP phi() at start of keyboard_event_scan::@5
|
|
Adding NOP phi() at start of keyboard_event_scan::@3
|
|
Adding NOP phi() at start of keyboard_event_scan::@6
|
|
Adding NOP phi() at start of render_score::@1
|
|
Adding NOP phi() at start of play_move_down::@4
|
|
Adding NOP phi() at start of play_move_down::@9
|
|
Adding NOP phi() at start of play_move_down::@14
|
|
Adding NOP phi() at start of play_move_down::@16
|
|
Adding NOP phi() at start of play_remove_lines
|
|
Adding NOP phi() at start of play_remove_lines::@9
|
|
Adding NOP phi() at start of play_update_score::@2
|
|
|
|
FINAL CONTROL FLOW GRAPH
|
|
|
|
void __start()
|
|
__start: scope:[__start] from
|
|
[0] phi()
|
|
to:__start::__init1
|
|
__start::__init1: scope:[__start] from __start
|
|
[1] render_screen_showing = 0
|
|
[2] score_bcd = 0
|
|
[3] irq_raster_next = IRQ_RASTER_FIRST
|
|
[4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15
|
|
to:__start::__init1_toSpritePtr1
|
|
__start::__init1_toSpritePtr1: scope:[__start] from __start::__init1
|
|
[5] phi()
|
|
to:__start::__init1_@1
|
|
__start::__init1_@1: scope:[__start] from __start::__init1_toSpritePtr1
|
|
[6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3
|
|
[7] irq_cnt = 0
|
|
to:__start::@1
|
|
__start::@1: scope:[__start] from __start::__init1_@1
|
|
[8] phi()
|
|
[9] call main
|
|
to:__start::@return
|
|
__start::@return: scope:[__start] from __start::@1
|
|
[10] return
|
|
to:@return
|
|
|
|
__interrupt(hardware_clobber) void sprites_irq()
|
|
sprites_irq: scope:[sprites_irq] from
|
|
asm { cld }
|
|
[12] sprites_irq::ypos#0 = irq_sprite_ypos
|
|
[13] *SPRITES_YPOS = sprites_irq::ypos#0
|
|
[14] *(SPRITES_YPOS+2) = sprites_irq::ypos#0
|
|
[15] *(SPRITES_YPOS+4) = sprites_irq::ypos#0
|
|
[16] *(SPRITES_YPOS+6) = sprites_irq::ypos#0
|
|
[17] sprites_irq::$0 = irq_raster_next + 1
|
|
[18] sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0
|
|
to:sprites_irq::@8
|
|
sprites_irq::@8: scope:[sprites_irq] from sprites_irq sprites_irq::@8
|
|
[19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8
|
|
to:sprites_irq::@9
|
|
sprites_irq::@9: scope:[sprites_irq] from sprites_irq::@8
|
|
[20] sprites_irq::ptr#0 = irq_sprite_ptr
|
|
[21] if(render_screen_showing==0) goto sprites_irq::@1
|
|
to:sprites_irq::@10
|
|
sprites_irq::@10: scope:[sprites_irq] from sprites_irq::@9
|
|
[22] *PLAYFIELD_SPRITE_PTRS_2 = sprites_irq::ptr#0
|
|
[23] sprites_irq::ptr#3 = ++ sprites_irq::ptr#0
|
|
[24] *(PLAYFIELD_SPRITE_PTRS_2+1) = sprites_irq::ptr#3
|
|
[25] *(PLAYFIELD_SPRITE_PTRS_2+2) = sprites_irq::ptr#3
|
|
[26] sprites_irq::ptr#4 = ++ sprites_irq::ptr#3
|
|
[27] *(PLAYFIELD_SPRITE_PTRS_2+3) = sprites_irq::ptr#4
|
|
to:sprites_irq::@2
|
|
sprites_irq::@2: scope:[sprites_irq] from sprites_irq::@1 sprites_irq::@10
|
|
[28] irq_cnt = ++ irq_cnt
|
|
[29] if(irq_cnt==9) goto sprites_irq::@3
|
|
to:sprites_irq::@6
|
|
sprites_irq::@6: scope:[sprites_irq] from sprites_irq::@2
|
|
[30] if(irq_cnt==$a) goto sprites_irq::@4
|
|
to:sprites_irq::@7
|
|
sprites_irq::@7: scope:[sprites_irq] from sprites_irq::@6
|
|
[31] irq_raster_next = irq_raster_next + $14
|
|
[32] irq_sprite_ypos = irq_sprite_ypos + $15
|
|
[33] irq_sprite_ptr = irq_sprite_ptr + 3
|
|
to:sprites_irq::@5
|
|
sprites_irq::@5: scope:[sprites_irq] from sprites_irq::@11 sprites_irq::@4 sprites_irq::@7
|
|
[34] *RASTER = irq_raster_next
|
|
[35] *IRQ_STATUS = IRQ_RASTER
|
|
to:sprites_irq::@return
|
|
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@5
|
|
[36] return
|
|
to:@return
|
|
sprites_irq::@4: scope:[sprites_irq] from sprites_irq::@6
|
|
[37] irq_cnt = 0
|
|
[38] irq_raster_next = IRQ_RASTER_FIRST
|
|
[39] irq_sprite_ypos = irq_sprite_ypos + $15
|
|
[40] irq_sprite_ptr = irq_sprite_ptr + 3
|
|
to:sprites_irq::@5
|
|
sprites_irq::@3: scope:[sprites_irq] from sprites_irq::@2
|
|
[41] irq_raster_next = irq_raster_next + $15
|
|
[42] irq_sprite_ypos = SPRITES_FIRST_YPOS
|
|
to:sprites_irq::toSpritePtr1
|
|
sprites_irq::toSpritePtr1: scope:[sprites_irq] from sprites_irq::@3
|
|
[43] phi()
|
|
to:sprites_irq::@11
|
|
sprites_irq::@11: scope:[sprites_irq] from sprites_irq::toSpritePtr1
|
|
[44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0
|
|
to:sprites_irq::@5
|
|
sprites_irq::@1: scope:[sprites_irq] from sprites_irq::@9
|
|
[45] *PLAYFIELD_SPRITE_PTRS_1 = sprites_irq::ptr#0
|
|
[46] sprites_irq::ptr#1 = ++ sprites_irq::ptr#0
|
|
[47] *(PLAYFIELD_SPRITE_PTRS_1+1) = sprites_irq::ptr#1
|
|
[48] *(PLAYFIELD_SPRITE_PTRS_1+2) = sprites_irq::ptr#1
|
|
[49] sprites_irq::ptr#2 = ++ sprites_irq::ptr#1
|
|
[50] *(PLAYFIELD_SPRITE_PTRS_1+3) = sprites_irq::ptr#2
|
|
to:sprites_irq::@2
|
|
|
|
void main()
|
|
main: scope:[main] from __start::@1
|
|
[51] phi()
|
|
to:main::sid_rnd_init1
|
|
main::sid_rnd_init1: scope:[main] from main
|
|
[52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff
|
|
[53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE
|
|
to:main::@8
|
|
main::@8: scope:[main] from main::sid_rnd_init1
|
|
asm { sei }
|
|
[55] call render_init
|
|
to:main::@9
|
|
main::@9: scope:[main] from main::@8
|
|
[56] phi()
|
|
[57] call sprites_init
|
|
to:main::@10
|
|
main::@10: scope:[main] from main::@9
|
|
[58] phi()
|
|
[59] call sprites_irq_init
|
|
to:main::@11
|
|
main::@11: scope:[main] from main::@10
|
|
[60] phi()
|
|
[61] call play_init
|
|
to:main::@12
|
|
main::@12: scope:[main] from main::@11
|
|
[62] phi()
|
|
[63] call play_spawn_current
|
|
to:main::@13
|
|
main::@13: scope:[main] from main::@12
|
|
[64] phi()
|
|
[65] call play_spawn_current
|
|
to:main::@14
|
|
main::@14: scope:[main] from main::@13
|
|
[66] phi()
|
|
[67] call render_playfield
|
|
to:main::@15
|
|
main::@15: scope:[main] from main::@14
|
|
[68] current_ypos#97 = current_ypos#5
|
|
[69] current_xpos#118 = current_xpos#100
|
|
[70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7]
|
|
[71] current_piece_char#99 = current_piece_char#4
|
|
[72] call render_moving
|
|
to:main::@16
|
|
main::@16: scope:[main] from main::@15
|
|
[73] next_piece_idx#79 = play_spawn_current::piece_idx#2
|
|
[74] call render_next
|
|
to:main::@17
|
|
main::@17: scope:[main] from main::@16
|
|
[75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7]
|
|
[76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7]
|
|
to:main::@1
|
|
main::@1: scope:[main] from main::@17 main::@25 main::@6
|
|
[77] level_bcd#10 = phi( main::@17/0, main::@25/level_bcd#18, main::@6/level_bcd#18 )
|
|
[77] level#25 = phi( main::@17/0, main::@25/level#18, main::@6/level#18 )
|
|
[77] lines_bcd#20 = phi( main::@17/0, main::@25/lines_bcd#16, main::@6/lines_bcd#16 )
|
|
[77] current_movedown_counter#17 = phi( main::@17/0, main::@25/current_movedown_counter#15, main::@6/current_movedown_counter#15 )
|
|
[77] keyboard_events_size#20 = phi( main::@17/0, main::@25/keyboard_events_size#17, main::@6/keyboard_events_size#17 )
|
|
[77] next_piece_idx#23 = phi( main::@17/play_spawn_current::piece_idx#2, main::@25/next_piece_idx#17, main::@6/next_piece_idx#17 )
|
|
[77] game_over#22 = phi( main::@17/game_over#53, main::@25/game_over#16, main::@6/game_over#16 )
|
|
[77] current_ypos#10 = phi( main::@17/current_ypos#5, main::@25/current_ypos#20, main::@6/current_ypos#20 )
|
|
[77] current_xpos#13 = phi( main::@17/current_xpos#100, main::@25/current_xpos#2, main::@6/current_xpos#2 )
|
|
[77] current_piece_gfx#12 = phi( main::@17/current_piece_gfx#122, main::@25/current_piece_gfx#19, main::@6/current_piece_gfx#19 )
|
|
[77] current_orientation#12 = phi( main::@17/0, main::@25/current_orientation#18, main::@6/current_orientation#18 )
|
|
[77] current_piece_char#23 = phi( main::@17/current_piece_char#4, main::@25/current_piece_char#17, main::@6/current_piece_char#17 )
|
|
[77] current_piece#23 = phi( main::@17/current_piece#103, main::@25/current_piece#16, main::@6/current_piece#16 )
|
|
[77] current_movedown_slow#13 = phi( main::@17/current_movedown_slow#0, main::@25/current_movedown_slow#22, main::@6/current_movedown_slow#22 )
|
|
[77] render_screen_render#19 = phi( main::@17/$20, main::@25/render_screen_render#12, main::@6/render_screen_render#19 )
|
|
[77] render_screen_show#17 = phi( main::@17/0, main::@25/render_screen_show#14, main::@6/render_screen_show#17 )
|
|
to:main::@2
|
|
main::@2: scope:[main] from main::@1 main::@2
|
|
[78] if(*RASTER!=$ff) goto main::@2
|
|
to:main::@3
|
|
main::@3: scope:[main] from main::@2
|
|
[79] phi()
|
|
[80] call render_show
|
|
to:main::@18
|
|
main::@18: scope:[main] from main::@3
|
|
[81] phi()
|
|
[82] call keyboard_event_scan
|
|
to:main::@19
|
|
main::@19: scope:[main] from main::@18
|
|
[83] phi()
|
|
[84] call keyboard_event_get
|
|
[85] keyboard_event_get::return#3 = keyboard_event_get::return#2
|
|
to:main::@20
|
|
main::@20: scope:[main] from main::@19
|
|
[86] main::key_event#0 = keyboard_event_get::return#3
|
|
[87] if(game_over#22==0) goto main::@4
|
|
to:main::@5
|
|
main::@5: scope:[main] from main::@20 main::@5
|
|
[88] *BORDER_COLOR = ++ *BORDER_COLOR
|
|
to:main::@5
|
|
main::@4: scope:[main] from main::@20
|
|
[89] play_movement::key_event#0 = main::key_event#0
|
|
[90] call play_movement
|
|
[91] play_movement::return#3 = play_movement::return#2
|
|
to:main::@21
|
|
main::@21: scope:[main] from main::@4
|
|
[92] main::render#1 = play_movement::return#3
|
|
to:main::@6
|
|
main::@6: scope:[main] from main::@21
|
|
[93] if(main::render#1==0) goto main::@1
|
|
to:main::@7
|
|
main::@7: scope:[main] from main::@6
|
|
[94] render_screen_render#63 = render_screen_render#19
|
|
[95] call render_playfield
|
|
to:main::@22
|
|
main::@22: scope:[main] from main::@7
|
|
[96] current_ypos#98 = current_ypos#20
|
|
[97] render_screen_render#64 = render_screen_render#19
|
|
[98] current_xpos#119 = current_xpos#2
|
|
[99] current_piece_gfx#112 = current_piece_gfx#19
|
|
[100] current_piece_char#100 = current_piece_char#17
|
|
[101] call render_moving
|
|
to:main::@23
|
|
main::@23: scope:[main] from main::@22
|
|
[102] render_screen_render#65 = render_screen_render#19
|
|
[103] next_piece_idx#80 = next_piece_idx#17
|
|
[104] call render_next
|
|
to:main::@24
|
|
main::@24: scope:[main] from main::@23
|
|
[105] phi()
|
|
[106] call render_score
|
|
to:main::@25
|
|
main::@25: scope:[main] from main::@24
|
|
[107] phi()
|
|
[108] call render_screen_swap
|
|
to:main::@1
|
|
|
|
void render_init()
|
|
render_init: scope:[render_init] from main::@8
|
|
[109] phi()
|
|
to:render_init::vicSelectGfxBank1
|
|
render_init::vicSelectGfxBank1: scope:[render_init] from render_init
|
|
[110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3
|
|
to:render_init::vicSelectGfxBank1_toDd001
|
|
render_init::vicSelectGfxBank1_toDd001: scope:[render_init] from render_init::vicSelectGfxBank1
|
|
[111] phi()
|
|
to:render_init::vicSelectGfxBank1_@1
|
|
render_init::vicSelectGfxBank1_@1: scope:[render_init] from render_init::vicSelectGfxBank1_toDd001
|
|
[112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0
|
|
to:render_init::@2
|
|
render_init::@2: scope:[render_init] from render_init::vicSelectGfxBank1_@1
|
|
[113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
[114] *BORDER_COLOR = BLACK
|
|
[115] *BG_COLOR = BLACK
|
|
[116] *BG_COLOR1 = *PIECES_COLORS_1
|
|
[117] *BG_COLOR2 = *PIECES_COLORS_2
|
|
[118] *BG_COLOR3 = GREY
|
|
[119] call render_screen_original
|
|
to:render_init::@3
|
|
render_init::@3: scope:[render_init] from render_init::@2
|
|
[120] phi()
|
|
[121] call render_screen_original
|
|
to:render_init::@1
|
|
render_init::@1: scope:[render_init] from render_init::@1 render_init::@3
|
|
[122] render_init::li_2#2 = phi( render_init::@1/render_init::li_2#1, render_init::@3/PLAYFIELD_SCREEN_2+2*$28+$10 )
|
|
[122] render_init::li_1#2 = phi( render_init::@1/render_init::li_1#1, render_init::@3/PLAYFIELD_SCREEN_1+2*$28+$10 )
|
|
[122] render_init::i#2 = phi( render_init::@1/render_init::i#1, render_init::@3/0 )
|
|
[123] render_init::$5 = render_init::i#2 << 1
|
|
[124] screen_lines_1[render_init::$5] = render_init::li_1#2
|
|
[125] screen_lines_2[render_init::$5] = render_init::li_2#2
|
|
[126] render_init::li_1#1 = render_init::li_1#2 + $28
|
|
[127] render_init::li_2#1 = render_init::li_2#2 + $28
|
|
[128] render_init::i#1 = ++ render_init::i#2
|
|
[129] if(render_init::i#1!=PLAYFIELD_LINES-1+1) goto render_init::@1
|
|
to:render_init::@return
|
|
render_init::@return: scope:[render_init] from render_init::@1
|
|
[130] return
|
|
to:@return
|
|
|
|
void sprites_init()
|
|
sprites_init: scope:[sprites_init] from main::@9
|
|
[131] *SPRITES_ENABLE = $f
|
|
[132] *SPRITES_MC = 0
|
|
[133] *SPRITES_EXPAND_Y = *SPRITES_MC
|
|
[134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y
|
|
to:sprites_init::@1
|
|
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
|
|
[135] sprites_init::xpos#2 = phi( sprites_init/$18+$f*8, sprites_init::@1/sprites_init::xpos#1 )
|
|
[135] sprites_init::s#2 = phi( sprites_init/0, sprites_init::@1/sprites_init::s#1 )
|
|
[136] sprites_init::s2#0 = sprites_init::s#2 << 1
|
|
[137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2
|
|
[138] SPRITES_COLOR[sprites_init::s#2] = BLACK
|
|
[139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18
|
|
[140] sprites_init::s#1 = ++ sprites_init::s#2
|
|
[141] if(sprites_init::s#1!=4) goto sprites_init::@1
|
|
to:sprites_init::@return
|
|
sprites_init::@return: scope:[sprites_init] from sprites_init::@1
|
|
[142] return
|
|
to:@return
|
|
|
|
void sprites_irq_init()
|
|
sprites_irq_init: scope:[sprites_irq_init] from main::@10
|
|
asm { sei }
|
|
[144] *IRQ_STATUS = IRQ_RASTER
|
|
asm { ldaCIA1_INTERRUPT }
|
|
[146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK
|
|
[147] *PROCPORT = PROCPORT_RAM_IO
|
|
[148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR
|
|
[149] *VICII_CONTROL = *VICII_CONTROL & $7f
|
|
[150] *RASTER = IRQ_RASTER_FIRST
|
|
[151] *IRQ_ENABLE = IRQ_RASTER
|
|
[152] *HARDWARE_IRQ = &sprites_irq
|
|
asm { cli }
|
|
to:sprites_irq_init::@return
|
|
sprites_irq_init::@return: scope:[sprites_irq_init] from sprites_irq_init
|
|
[154] return
|
|
to:@return
|
|
|
|
void play_init()
|
|
play_init: scope:[play_init] from main::@11
|
|
[155] phi()
|
|
to:play_init::@1
|
|
play_init::@1: scope:[play_init] from play_init play_init::@1
|
|
[156] play_init::idx#2 = phi( play_init/0, play_init::@1/play_init::idx#1 )
|
|
[156] play_init::pli#2 = phi( play_init/playfield, play_init::@1/play_init::pli#1 )
|
|
[156] play_init::j#2 = phi( play_init/0, play_init::@1/play_init::j#1 )
|
|
[157] play_init::$2 = play_init::j#2 << 1
|
|
[158] playfield_lines[play_init::$2] = play_init::pli#2
|
|
[159] playfield_lines_idx[play_init::j#2] = play_init::idx#2
|
|
[160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS
|
|
[161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS
|
|
[162] play_init::j#1 = ++ play_init::j#2
|
|
[163] if(play_init::j#1!=PLAYFIELD_LINES-1+1) goto play_init::@1
|
|
to:play_init::@2
|
|
play_init::@2: scope:[play_init] from play_init::@1
|
|
[164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES
|
|
[165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS
|
|
to:play_init::@3
|
|
play_init::@3: scope:[play_init] from play_init::@2 play_init::@3
|
|
[166] play_init::b#2 = phi( play_init::@2/0, play_init::@3/play_init::b#1 )
|
|
[167] play_init::$3 = play_init::b#2 << 2
|
|
[168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3]
|
|
[169] play_init::b#1 = ++ play_init::b#2
|
|
[170] if(play_init::b#1!=5) goto play_init::@3
|
|
to:play_init::@return
|
|
play_init::@return: scope:[play_init] from play_init::@3
|
|
[171] return
|
|
to:@return
|
|
|
|
void play_spawn_current()
|
|
play_spawn_current: scope:[play_spawn_current] from main::@12 main::@13 play_move_down::@16
|
|
[172] game_over#66 = phi( main::@12/0, main::@13/game_over#53, play_move_down::@16/game_over#22 )
|
|
[172] next_piece_idx#18 = phi( main::@12/0, main::@13/play_spawn_current::piece_idx#2, play_move_down::@16/next_piece_idx#23 )
|
|
[173] play_spawn_current::current_piece_idx#0 = next_piece_idx#18
|
|
[174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1
|
|
[175] current_piece_char#4 = PIECES_CHARS[play_spawn_current::current_piece_idx#0]
|
|
[176] current_xpos#100 = PIECES_START_X[play_spawn_current::current_piece_idx#0]
|
|
[177] current_ypos#5 = PIECES_START_Y[play_spawn_current::current_piece_idx#0]
|
|
[178] play_collision::xpos#4 = current_xpos#100
|
|
[179] play_collision::ypos#4 = current_ypos#5
|
|
[180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7]
|
|
[181] call play_collision
|
|
[182] play_collision::return#10 = play_collision::return#15
|
|
to:play_spawn_current::@4
|
|
play_spawn_current::@4: scope:[play_spawn_current] from play_spawn_current
|
|
[183] play_spawn_current::$1 = play_collision::return#10
|
|
[184] if(play_spawn_current::$1!=COLLISION_PLAYFIELD) goto play_spawn_current::@5
|
|
to:play_spawn_current::@1
|
|
play_spawn_current::@5: scope:[play_spawn_current] from play_spawn_current::@4
|
|
[185] phi()
|
|
to:play_spawn_current::@1
|
|
play_spawn_current::@1: scope:[play_spawn_current] from play_spawn_current::@4 play_spawn_current::@5
|
|
[186] game_over#53 = phi( play_spawn_current::@4/1, play_spawn_current::@5/game_over#66 )
|
|
to:play_spawn_current::@2
|
|
play_spawn_current::@2: scope:[play_spawn_current] from play_spawn_current::@1 play_spawn_current::@3
|
|
[187] play_spawn_current::piece_idx#2 = phi( play_spawn_current::@1/7, play_spawn_current::@3/play_spawn_current::piece_idx#1 )
|
|
[188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1
|
|
to:play_spawn_current::@return
|
|
play_spawn_current::@return: scope:[play_spawn_current] from play_spawn_current::@2
|
|
[189] return
|
|
to:@return
|
|
play_spawn_current::sid_rnd1: scope:[play_spawn_current] from play_spawn_current::@2
|
|
[190] play_spawn_current::sid_rnd1_return#0 = *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC)
|
|
to:play_spawn_current::@3
|
|
play_spawn_current::@3: scope:[play_spawn_current] from play_spawn_current::sid_rnd1
|
|
[191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7
|
|
to:play_spawn_current::@2
|
|
|
|
void render_playfield()
|
|
render_playfield: scope:[render_playfield] from main::@14 main::@7
|
|
[192] render_screen_render#24 = phi( main::@14/$20, main::@7/render_screen_render#63 )
|
|
to:render_playfield::@1
|
|
render_playfield::@1: scope:[render_playfield] from render_playfield render_playfield::@3
|
|
[193] render_playfield::i#3 = phi( render_playfield/PLAYFIELD_COLS*2, render_playfield::@3/render_playfield::i#1 )
|
|
[193] render_playfield::l#2 = phi( render_playfield/2, render_playfield::@3/render_playfield::l#1 )
|
|
[194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2
|
|
[195] render_playfield::$3 = render_playfield::$0 << 1
|
|
[196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3]
|
|
to:render_playfield::@2
|
|
render_playfield::@2: scope:[render_playfield] from render_playfield::@1 render_playfield::@2
|
|
[197] render_playfield::c#2 = phi( render_playfield::@1/0, render_playfield::@2/render_playfield::c#1 )
|
|
[197] render_playfield::screen_line#2 = phi( render_playfield::@1/render_playfield::screen_line#0, render_playfield::@2/render_playfield::screen_line#1 )
|
|
[197] render_playfield::i#2 = phi( render_playfield::@1/render_playfield::i#3, render_playfield::@2/render_playfield::i#1 )
|
|
[198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2]
|
|
[199] render_playfield::screen_line#1 = ++ render_playfield::screen_line#2
|
|
[200] render_playfield::i#1 = ++ render_playfield::i#2
|
|
[201] render_playfield::c#1 = ++ render_playfield::c#2
|
|
[202] if(render_playfield::c#1!=PLAYFIELD_COLS-1+1) goto render_playfield::@2
|
|
to:render_playfield::@3
|
|
render_playfield::@3: scope:[render_playfield] from render_playfield::@2
|
|
[203] render_playfield::l#1 = ++ render_playfield::l#2
|
|
[204] if(render_playfield::l#1!=PLAYFIELD_LINES-1+1) goto render_playfield::@1
|
|
to:render_playfield::@return
|
|
render_playfield::@return: scope:[render_playfield] from render_playfield::@3
|
|
[205] return
|
|
to:@return
|
|
|
|
void render_moving()
|
|
render_moving: scope:[render_moving] from main::@15 main::@22
|
|
[206] current_piece_char#70 = phi( main::@15/current_piece_char#99, main::@22/current_piece_char#100 )
|
|
[206] current_piece_gfx#66 = phi( main::@15/current_piece_gfx#111, main::@22/current_piece_gfx#112 )
|
|
[206] current_xpos#61 = phi( main::@15/current_xpos#118, main::@22/current_xpos#119 )
|
|
[206] render_screen_render#35 = phi( main::@15/$20, main::@22/render_screen_render#64 )
|
|
[206] current_ypos#14 = phi( main::@15/current_ypos#97, main::@22/current_ypos#98 )
|
|
[207] render_moving::ypos#0 = current_ypos#14
|
|
to:render_moving::@1
|
|
render_moving::@1: scope:[render_moving] from render_moving render_moving::@3
|
|
[208] render_moving::l#4 = phi( render_moving/0, render_moving::@3/render_moving::l#1 )
|
|
[208] render_moving::i#3 = phi( render_moving/0, render_moving::@3/render_moving::i#8 )
|
|
[208] render_moving::ypos#2 = phi( render_moving/render_moving::ypos#0, render_moving::@3/render_moving::ypos#1 )
|
|
[209] if(render_moving::ypos#2>=1+1) goto render_moving::@2
|
|
to:render_moving::@7
|
|
render_moving::@7: scope:[render_moving] from render_moving::@1
|
|
[210] render_moving::i#1 = render_moving::i#3 + 4
|
|
to:render_moving::@3
|
|
render_moving::@3: scope:[render_moving] from render_moving::@5 render_moving::@7
|
|
[211] render_moving::i#8 = phi( render_moving::@5/render_moving::i#2, render_moving::@7/render_moving::i#1 )
|
|
[212] render_moving::ypos#1 = ++ render_moving::ypos#2
|
|
[213] render_moving::l#1 = ++ render_moving::l#4
|
|
[214] if(render_moving::l#1!=4) goto render_moving::@1
|
|
to:render_moving::@return
|
|
render_moving::@return: scope:[render_moving] from render_moving::@3
|
|
[215] return
|
|
to:@return
|
|
render_moving::@2: scope:[render_moving] from render_moving::@1
|
|
[216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2
|
|
[217] render_moving::$6 = render_moving::$1 << 1
|
|
[218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6]
|
|
[219] render_moving::xpos#0 = current_xpos#61
|
|
to:render_moving::@4
|
|
render_moving::@4: scope:[render_moving] from render_moving::@2 render_moving::@5
|
|
[220] render_moving::c#2 = phi( render_moving::@2/0, render_moving::@5/render_moving::c#1 )
|
|
[220] render_moving::xpos#2 = phi( render_moving::@2/render_moving::xpos#0, render_moving::@5/render_moving::xpos#1 )
|
|
[220] render_moving::i#4 = phi( render_moving::@2/render_moving::i#3, render_moving::@5/render_moving::i#2 )
|
|
[221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4]
|
|
[222] render_moving::i#2 = ++ render_moving::i#4
|
|
[223] if(render_moving::current_cell#0==0) goto render_moving::@5
|
|
to:render_moving::@6
|
|
render_moving::@6: scope:[render_moving] from render_moving::@4
|
|
[224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70
|
|
to:render_moving::@5
|
|
render_moving::@5: scope:[render_moving] from render_moving::@4 render_moving::@6
|
|
[225] render_moving::xpos#1 = ++ render_moving::xpos#2
|
|
[226] render_moving::c#1 = ++ render_moving::c#2
|
|
[227] if(render_moving::c#1!=4) goto render_moving::@4
|
|
to:render_moving::@3
|
|
|
|
void render_next()
|
|
render_next: scope:[render_next] from main::@16 main::@23
|
|
[228] next_piece_idx#13 = phi( main::@16/next_piece_idx#79, main::@23/next_piece_idx#80 )
|
|
[228] render_screen_render#16 = phi( main::@16/$20, main::@23/render_screen_render#65 )
|
|
[229] if(render_screen_render#16==0) goto render_next::@1
|
|
to:render_next::@2
|
|
render_next::@1: scope:[render_next] from render_next
|
|
[230] phi()
|
|
to:render_next::@2
|
|
render_next::@2: scope:[render_next] from render_next render_next::@1
|
|
[231] render_next::screen_next_area#11 = phi( render_next::@1/PLAYFIELD_SCREEN_1+render_next::next_area_offset, render_next/PLAYFIELD_SCREEN_2+render_next::next_area_offset )
|
|
[232] render_next::$6 = next_piece_idx#13 << 1
|
|
[233] render_next::next_piece_char#0 = PIECES_NEXT_CHARS[next_piece_idx#13]
|
|
[234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6]
|
|
to:render_next::@3
|
|
render_next::@3: scope:[render_next] from render_next::@2 render_next::@8
|
|
[235] render_next::l#7 = phi( render_next::@2/0, render_next::@8/render_next::l#1 )
|
|
[235] render_next::screen_next_area#10 = phi( render_next::@2/render_next::screen_next_area#11, render_next::@8/render_next::screen_next_area#4 )
|
|
[235] render_next::next_piece_gfx#3 = phi( render_next::@2/render_next::next_piece_gfx#8, render_next::@8/render_next::next_piece_gfx#1 )
|
|
to:render_next::@4
|
|
render_next::@4: scope:[render_next] from render_next::@3 render_next::@6
|
|
[236] render_next::c#2 = phi( render_next::@3/0, render_next::@6/render_next::c#1 )
|
|
[236] render_next::screen_next_area#5 = phi( render_next::@3/render_next::screen_next_area#10, render_next::@6/render_next::screen_next_area#3 )
|
|
[236] render_next::next_piece_gfx#2 = phi( render_next::@3/render_next::next_piece_gfx#3, render_next::@6/render_next::next_piece_gfx#1 )
|
|
[237] render_next::cell#0 = *render_next::next_piece_gfx#2
|
|
[238] render_next::next_piece_gfx#1 = ++ render_next::next_piece_gfx#2
|
|
[239] if(render_next::cell#0!=0) goto render_next::@5
|
|
to:render_next::@7
|
|
render_next::@7: scope:[render_next] from render_next::@4
|
|
[240] *render_next::screen_next_area#5 = 0
|
|
to:render_next::@6
|
|
render_next::@6: scope:[render_next] from render_next::@5 render_next::@7
|
|
[241] render_next::screen_next_area#3 = ++ render_next::screen_next_area#5
|
|
[242] render_next::c#1 = ++ render_next::c#2
|
|
[243] if(render_next::c#1!=4) goto render_next::@4
|
|
to:render_next::@8
|
|
render_next::@8: scope:[render_next] from render_next::@6
|
|
[244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24
|
|
[245] render_next::l#1 = ++ render_next::l#7
|
|
[246] if(render_next::l#1!=4) goto render_next::@3
|
|
to:render_next::@return
|
|
render_next::@return: scope:[render_next] from render_next::@8
|
|
[247] return
|
|
to:@return
|
|
render_next::@5: scope:[render_next] from render_next::@4
|
|
[248] *render_next::screen_next_area#5 = render_next::next_piece_char#0
|
|
to:render_next::@6
|
|
|
|
void render_show()
|
|
render_show: scope:[render_show] from main::@3
|
|
[249] if(render_screen_show#17==0) goto render_show::toD0181
|
|
to:render_show::toD0182
|
|
render_show::toD0182: scope:[render_show] from render_show
|
|
[250] phi()
|
|
to:render_show::@1
|
|
render_show::@1: scope:[render_show] from render_show::toD0181 render_show::toD0182
|
|
[251] render_show::d018val#3 = phi( render_show::toD0181/render_show::toD0181_return#0, render_show::toD0182/render_show::toD0182_return#0 )
|
|
[252] *D018 = render_show::d018val#3
|
|
[253] *BG_COLOR1 = PIECES_COLORS_1[level#25]
|
|
[254] *BG_COLOR2 = PIECES_COLORS_2[level#25]
|
|
[255] render_screen_showing = render_screen_show#17
|
|
to:render_show::@return
|
|
render_show::@return: scope:[render_show] from render_show::@1
|
|
[256] return
|
|
to:@return
|
|
render_show::toD0181: scope:[render_show] from render_show
|
|
[257] phi()
|
|
to:render_show::@1
|
|
|
|
void keyboard_event_scan()
|
|
keyboard_event_scan: scope:[keyboard_event_scan] from main::@18
|
|
[258] phi()
|
|
to:keyboard_event_scan::@7
|
|
keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@8
|
|
[259] keyboard_events_size#32 = phi( keyboard_event_scan/keyboard_events_size#20, keyboard_event_scan::@8/keyboard_events_size#14 )
|
|
[259] keyboard_event_scan::keycode#11 = phi( keyboard_event_scan/0, keyboard_event_scan::@8/keyboard_event_scan::keycode#13 )
|
|
[259] keyboard_event_scan::row#2 = phi( keyboard_event_scan/0, keyboard_event_scan::@8/keyboard_event_scan::row#1 )
|
|
[260] keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2
|
|
[261] call keyboard_matrix_read
|
|
[262] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
|
|
to:keyboard_event_scan::@19
|
|
keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@7
|
|
[263] keyboard_event_scan::row_scan#0 = keyboard_matrix_read::return#2
|
|
[264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9
|
|
to:keyboard_event_scan::@16
|
|
keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@19
|
|
[265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8
|
|
to:keyboard_event_scan::@8
|
|
keyboard_event_scan::@8: scope:[keyboard_event_scan] from keyboard_event_scan::@15 keyboard_event_scan::@16
|
|
[266] keyboard_events_size#14 = phi( keyboard_event_scan::@15/keyboard_events_size#31, keyboard_event_scan::@16/keyboard_events_size#32 )
|
|
[266] keyboard_event_scan::keycode#13 = phi( keyboard_event_scan::@15/keyboard_event_scan::keycode#14, keyboard_event_scan::@16/keyboard_event_scan::keycode#1 )
|
|
[267] keyboard_event_scan::row#1 = ++ keyboard_event_scan::row#2
|
|
[268] if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7
|
|
to:keyboard_event_scan::@17
|
|
keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@8
|
|
[269] phi()
|
|
[270] call keyboard_event_pressed
|
|
[271] keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11
|
|
to:keyboard_event_scan::@20
|
|
keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@17
|
|
[272] keyboard_event_scan::$0 = keyboard_event_pressed::return#0
|
|
[273] if(keyboard_event_scan::$0==0) goto keyboard_event_scan::@1
|
|
to:keyboard_event_scan::@18
|
|
keyboard_event_scan::@18: scope:[keyboard_event_scan] from keyboard_event_scan::@20
|
|
[274] phi()
|
|
to:keyboard_event_scan::@1
|
|
keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan::@18 keyboard_event_scan::@20
|
|
[275] phi()
|
|
[276] call keyboard_event_pressed
|
|
[277] keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11
|
|
to:keyboard_event_scan::@21
|
|
keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@1
|
|
[278] keyboard_event_scan::$3 = keyboard_event_pressed::return#1
|
|
[279] if(keyboard_event_scan::$3==0) goto keyboard_event_scan::@2
|
|
to:keyboard_event_scan::@4
|
|
keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@21
|
|
[280] phi()
|
|
to:keyboard_event_scan::@2
|
|
keyboard_event_scan::@2: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@4
|
|
[281] phi()
|
|
[282] call keyboard_event_pressed
|
|
[283] keyboard_event_pressed::return#2 = keyboard_event_pressed::return#11
|
|
to:keyboard_event_scan::@22
|
|
keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@2
|
|
[284] keyboard_event_scan::$6 = keyboard_event_pressed::return#2
|
|
[285] if(keyboard_event_scan::$6==0) goto keyboard_event_scan::@3
|
|
to:keyboard_event_scan::@5
|
|
keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@22
|
|
[286] phi()
|
|
to:keyboard_event_scan::@3
|
|
keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@5
|
|
[287] phi()
|
|
[288] call keyboard_event_pressed
|
|
[289] keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11
|
|
to:keyboard_event_scan::@23
|
|
keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@3
|
|
[290] keyboard_event_scan::$9 = keyboard_event_pressed::return#10
|
|
[291] if(keyboard_event_scan::$9==0) goto keyboard_event_scan::@return
|
|
to:keyboard_event_scan::@6
|
|
keyboard_event_scan::@6: scope:[keyboard_event_scan] from keyboard_event_scan::@23
|
|
[292] phi()
|
|
to:keyboard_event_scan::@return
|
|
keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@6
|
|
[293] return
|
|
to:@return
|
|
keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@10 keyboard_event_scan::@19
|
|
[294] keyboard_events_size#11 = phi( keyboard_event_scan::@10/keyboard_events_size#31, keyboard_event_scan::@19/keyboard_events_size#32 )
|
|
[294] keyboard_event_scan::keycode#10 = phi( keyboard_event_scan::@10/keyboard_event_scan::keycode#14, keyboard_event_scan::@19/keyboard_event_scan::keycode#11 )
|
|
[294] keyboard_event_scan::col#2 = phi( keyboard_event_scan::@10/keyboard_event_scan::col#1, keyboard_event_scan::@19/0 )
|
|
[295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2]
|
|
[296] keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2]
|
|
[297] if(keyboard_event_scan::$16==0) goto keyboard_event_scan::@10
|
|
to:keyboard_event_scan::@12
|
|
keyboard_event_scan::@12: scope:[keyboard_event_scan] from keyboard_event_scan::@9
|
|
[298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10
|
|
to:keyboard_event_scan::@13
|
|
keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@12
|
|
[299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2]
|
|
[300] if(keyboard_event_scan::event_type#0==0) goto keyboard_event_scan::@11
|
|
to:keyboard_event_scan::@14
|
|
keyboard_event_scan::@14: scope:[keyboard_event_scan] from keyboard_event_scan::@13
|
|
[301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10
|
|
[302] keyboard_events_size#1 = ++ keyboard_events_size#11
|
|
to:keyboard_event_scan::@10
|
|
keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9
|
|
[303] keyboard_events_size#31 = phi( keyboard_event_scan::@9/keyboard_events_size#11, keyboard_event_scan::@11/keyboard_events_size#0, keyboard_event_scan::@12/keyboard_events_size#11, keyboard_event_scan::@14/keyboard_events_size#1 )
|
|
[304] keyboard_event_scan::keycode#14 = ++ keyboard_event_scan::keycode#10
|
|
[305] keyboard_event_scan::col#1 = ++ keyboard_event_scan::col#2
|
|
[306] if(keyboard_event_scan::col#1!=8) goto keyboard_event_scan::@9
|
|
to:keyboard_event_scan::@15
|
|
keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@10
|
|
[307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0
|
|
to:keyboard_event_scan::@8
|
|
keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@13
|
|
[308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40
|
|
[309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23
|
|
[310] keyboard_events_size#0 = ++ keyboard_events_size#11
|
|
to:keyboard_event_scan::@10
|
|
|
|
byte keyboard_event_get()
|
|
keyboard_event_get: scope:[keyboard_event_get] from main::@19
|
|
[311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return
|
|
to:keyboard_event_get::@1
|
|
keyboard_event_get::@1: scope:[keyboard_event_get] from keyboard_event_get
|
|
[312] keyboard_events_size#3 = -- keyboard_events_size#14
|
|
[313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3]
|
|
to:keyboard_event_get::@return
|
|
keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@1
|
|
[314] keyboard_events_size#17 = phi( keyboard_event_get/keyboard_events_size#14, keyboard_event_get::@1/keyboard_events_size#3 )
|
|
[314] keyboard_event_get::return#2 = phi( keyboard_event_get/$ff, keyboard_event_get::@1/keyboard_event_get::return#1 )
|
|
[315] return
|
|
to:@return
|
|
|
|
byte play_movement(byte play_movement::key_event)
|
|
play_movement: scope:[play_movement] from main::@4
|
|
[316] play_move_down::key_event#0 = play_movement::key_event#0
|
|
[317] call play_move_down
|
|
[318] play_move_down::return#0 = play_move_down::return#3
|
|
to:play_movement::@2
|
|
play_movement::@2: scope:[play_movement] from play_movement
|
|
[319] play_movement::render#1 = play_move_down::return#0
|
|
[320] if(game_over#16==0) goto play_movement::@1
|
|
to:play_movement::@return
|
|
play_movement::@return: scope:[play_movement] from play_movement::@2 play_movement::@4
|
|
[321] current_xpos#2 = phi( play_movement::@2/current_xpos#23, play_movement::@4/current_xpos#27 )
|
|
[321] current_piece_gfx#19 = phi( play_movement::@2/current_piece_gfx#21, play_movement::@4/current_piece_gfx#22 )
|
|
[321] current_orientation#18 = phi( play_movement::@2/current_orientation#21, play_movement::@4/current_orientation#26 )
|
|
[321] play_movement::return#2 = phi( play_movement::@2/play_movement::render#1, play_movement::@4/play_movement::return#0 )
|
|
[322] return
|
|
to:@return
|
|
play_movement::@1: scope:[play_movement] from play_movement::@2
|
|
[323] play_move_leftright::key_event#0 = play_movement::key_event#0
|
|
[324] call play_move_leftright
|
|
[325] play_move_leftright::return#0 = play_move_leftright::return#2
|
|
to:play_movement::@3
|
|
play_movement::@3: scope:[play_movement] from play_movement::@1
|
|
[326] play_movement::$3 = play_move_leftright::return#0
|
|
[327] play_movement::render#2 = play_movement::render#1 + play_movement::$3
|
|
[328] play_move_rotate::key_event#0 = play_movement::key_event#0
|
|
[329] call play_move_rotate
|
|
[330] play_move_rotate::return#0 = play_move_rotate::return#2
|
|
to:play_movement::@4
|
|
play_movement::@4: scope:[play_movement] from play_movement::@3
|
|
[331] play_movement::$4 = play_move_rotate::return#0
|
|
[332] play_movement::return#0 = play_movement::render#2 + play_movement::$4
|
|
to:play_movement::@return
|
|
|
|
void render_score()
|
|
render_score: scope:[render_score] from main::@24
|
|
[333] if(render_screen_render#19==0) goto render_score::@1
|
|
to:render_score::@2
|
|
render_score::@1: scope:[render_score] from render_score
|
|
[334] phi()
|
|
to:render_score::@2
|
|
render_score::@2: scope:[render_score] from render_score render_score::@1
|
|
[335] render_score::screen#3 = phi( render_score::@1/PLAYFIELD_SCREEN_1, render_score/PLAYFIELD_SCREEN_2 )
|
|
[336] render_bcd::screen#0 = render_score::screen#3
|
|
[337] render_bcd::bcd#0 = *(render_score::score_bytes+2)
|
|
[338] call render_bcd
|
|
to:render_score::@3
|
|
render_score::@3: scope:[render_score] from render_score::@2
|
|
[339] render_bcd::screen#1 = render_score::screen#3
|
|
[340] render_bcd::bcd#1 = *(render_score::score_bytes+1)
|
|
[341] call render_bcd
|
|
to:render_score::@4
|
|
render_score::@4: scope:[render_score] from render_score::@3
|
|
[342] render_bcd::screen#2 = render_score::screen#3
|
|
[343] render_bcd::bcd#2 = *render_score::score_bytes
|
|
[344] call render_bcd
|
|
to:render_score::@5
|
|
render_score::@5: scope:[render_score] from render_score::@4
|
|
[345] render_bcd::bcd#3 = > lines_bcd#16
|
|
[346] render_bcd::screen#3 = render_score::screen#3
|
|
[347] call render_bcd
|
|
to:render_score::@6
|
|
render_score::@6: scope:[render_score] from render_score::@5
|
|
[348] render_bcd::bcd#4 = < lines_bcd#16
|
|
[349] render_bcd::screen#4 = render_score::screen#3
|
|
[350] call render_bcd
|
|
to:render_score::@7
|
|
render_score::@7: scope:[render_score] from render_score::@6
|
|
[351] render_bcd::screen#5 = render_score::screen#3
|
|
[352] render_bcd::bcd#5 = level_bcd#18
|
|
[353] call render_bcd
|
|
to:render_score::@return
|
|
render_score::@return: scope:[render_score] from render_score::@7
|
|
[354] return
|
|
to:@return
|
|
|
|
void render_screen_swap()
|
|
render_screen_swap: scope:[render_screen_swap] from main::@25
|
|
[355] render_screen_render#12 = render_screen_render#19 ^ $20
|
|
[356] render_screen_show#14 = render_screen_show#17 ^ $20
|
|
to:render_screen_swap::@return
|
|
render_screen_swap::@return: scope:[render_screen_swap] from render_screen_swap
|
|
[357] return
|
|
to:@return
|
|
|
|
void render_screen_original(byte* render_screen_original::screen)
|
|
render_screen_original: scope:[render_screen_original] from render_init::@2 render_init::@3
|
|
[358] render_screen_original::screen#9 = phi( render_init::@2/PLAYFIELD_SCREEN_1, render_init::@3/PLAYFIELD_SCREEN_2 )
|
|
to:render_screen_original::@1
|
|
render_screen_original::@1: scope:[render_screen_original] from render_screen_original render_screen_original::@5
|
|
[359] render_screen_original::y#6 = phi( render_screen_original/0, render_screen_original::@5/render_screen_original::y#1 )
|
|
[359] render_screen_original::ocols#4 = phi( render_screen_original/PLAYFIELD_COLORS_ORIGINAL+$20*2, render_screen_original::@5/render_screen_original::ocols#1 )
|
|
[359] render_screen_original::oscr#4 = phi( render_screen_original/PLAYFIELD_SCREEN_ORIGINAL+$20*2, render_screen_original::@5/render_screen_original::oscr#1 )
|
|
[359] render_screen_original::cols#7 = phi( render_screen_original/COLS, render_screen_original::@5/render_screen_original::cols#3 )
|
|
[359] render_screen_original::screen#8 = phi( render_screen_original/render_screen_original::screen#9, render_screen_original::@5/render_screen_original::screen#10 )
|
|
to:render_screen_original::@2
|
|
render_screen_original::@2: scope:[render_screen_original] from render_screen_original::@1 render_screen_original::@2
|
|
[360] render_screen_original::x#4 = phi( render_screen_original::@1/0, render_screen_original::@2/render_screen_original::x#1 )
|
|
[360] render_screen_original::cols#4 = phi( render_screen_original::@1/render_screen_original::cols#7, render_screen_original::@2/render_screen_original::cols#1 )
|
|
[360] render_screen_original::screen#5 = phi( render_screen_original::@1/render_screen_original::screen#8, render_screen_original::@2/render_screen_original::screen#2 )
|
|
[361] *render_screen_original::screen#5 = render_screen_original::SPACE
|
|
[362] render_screen_original::screen#2 = ++ render_screen_original::screen#5
|
|
[363] *render_screen_original::cols#4 = BLACK
|
|
[364] render_screen_original::cols#1 = ++ render_screen_original::cols#4
|
|
[365] render_screen_original::x#1 = ++ render_screen_original::x#4
|
|
[366] if(render_screen_original::x#1!=4) goto render_screen_original::@2
|
|
to:render_screen_original::@3
|
|
render_screen_original::@3: scope:[render_screen_original] from render_screen_original::@2 render_screen_original::@3
|
|
[367] render_screen_original::x#5 = phi( render_screen_original::@2/render_screen_original::x#1, render_screen_original::@3/render_screen_original::x#2 )
|
|
[367] render_screen_original::cols#5 = phi( render_screen_original::@2/render_screen_original::cols#1, render_screen_original::@3/render_screen_original::cols#2 )
|
|
[367] render_screen_original::ocols#2 = phi( render_screen_original::@2/render_screen_original::ocols#4, render_screen_original::@3/render_screen_original::ocols#1 )
|
|
[367] render_screen_original::screen#6 = phi( render_screen_original::@2/render_screen_original::screen#2, render_screen_original::@3/render_screen_original::screen#3 )
|
|
[367] render_screen_original::oscr#2 = phi( render_screen_original::@2/render_screen_original::oscr#4, render_screen_original::@3/render_screen_original::oscr#1 )
|
|
[368] *render_screen_original::screen#6 = *render_screen_original::oscr#2
|
|
[369] render_screen_original::screen#3 = ++ render_screen_original::screen#6
|
|
[370] render_screen_original::oscr#1 = ++ render_screen_original::oscr#2
|
|
[371] *render_screen_original::cols#5 = *render_screen_original::ocols#2
|
|
[372] render_screen_original::cols#2 = ++ render_screen_original::cols#5
|
|
[373] render_screen_original::ocols#1 = ++ render_screen_original::ocols#2
|
|
[374] render_screen_original::x#2 = ++ render_screen_original::x#5
|
|
[375] if(render_screen_original::x#2!=$24) goto render_screen_original::@3
|
|
to:render_screen_original::@4
|
|
render_screen_original::@4: scope:[render_screen_original] from render_screen_original::@3 render_screen_original::@4
|
|
[376] render_screen_original::x#6 = phi( render_screen_original::@3/render_screen_original::x#2, render_screen_original::@4/render_screen_original::x#3 )
|
|
[376] render_screen_original::cols#6 = phi( render_screen_original::@3/render_screen_original::cols#2, render_screen_original::@4/render_screen_original::cols#3 )
|
|
[376] render_screen_original::screen#7 = phi( render_screen_original::@3/render_screen_original::screen#3, render_screen_original::@4/render_screen_original::screen#10 )
|
|
[377] *render_screen_original::screen#7 = render_screen_original::SPACE
|
|
[378] render_screen_original::screen#10 = ++ render_screen_original::screen#7
|
|
[379] *render_screen_original::cols#6 = BLACK
|
|
[380] render_screen_original::cols#3 = ++ render_screen_original::cols#6
|
|
[381] render_screen_original::x#3 = ++ render_screen_original::x#6
|
|
[382] if(render_screen_original::x#3!=$28) goto render_screen_original::@4
|
|
to:render_screen_original::@5
|
|
render_screen_original::@5: scope:[render_screen_original] from render_screen_original::@4
|
|
[383] render_screen_original::y#1 = ++ render_screen_original::y#6
|
|
[384] if(render_screen_original::y#1!=$19) goto render_screen_original::@1
|
|
to:render_screen_original::@return
|
|
render_screen_original::@return: scope:[render_screen_original] from render_screen_original::@5
|
|
[385] return
|
|
to:@return
|
|
|
|
byte play_collision(byte play_collision::xpos , byte play_collision::ypos , byte play_collision::orientation)
|
|
play_collision: scope:[play_collision] from play_move_down::@8 play_move_leftright::@1 play_move_leftright::@3 play_move_rotate::@3 play_spawn_current
|
|
[386] play_collision::xpos#6 = phi( play_move_down::@8/play_collision::xpos#0, play_move_leftright::@1/play_collision::xpos#1, play_move_leftright::@3/play_collision::xpos#2, play_move_rotate::@3/play_collision::xpos#3, play_spawn_current/play_collision::xpos#4 )
|
|
[386] play_collision::yp#0 = phi( play_move_down::@8/play_collision::ypos#0, play_move_leftright::@1/play_collision::ypos#1, play_move_leftright::@3/play_collision::ypos#2, play_move_rotate::@3/play_collision::ypos#3, play_spawn_current/play_collision::ypos#4 )
|
|
[386] play_collision::orientation#5 = phi( play_move_down::@8/play_collision::orientation#0, play_move_leftright::@1/play_collision::orientation#1, play_move_leftright::@3/play_collision::orientation#2, play_move_rotate::@3/play_collision::orientation#3, play_spawn_current/0 )
|
|
[386] current_piece#18 = phi( play_move_down::@8/current_piece#98, play_move_leftright::@1/current_piece#99, play_move_leftright::@3/current_piece#100, play_move_rotate::@3/current_piece#101, play_spawn_current/current_piece#102 )
|
|
[387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5
|
|
to:play_collision::@1
|
|
play_collision::@1: scope:[play_collision] from play_collision play_collision::@9
|
|
[388] play_collision::l#6 = phi( play_collision/0, play_collision::@9/play_collision::l#1 )
|
|
[388] play_collision::i#3 = phi( play_collision/0, play_collision::@9/play_collision::i#10 )
|
|
[388] play_collision::yp#2 = phi( play_collision/play_collision::yp#0, play_collision::@9/play_collision::yp#1 )
|
|
[389] play_collision::$14 = play_collision::yp#2 << 1
|
|
[390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14]
|
|
[391] play_collision::xp#8 = play_collision::xpos#6
|
|
to:play_collision::@2
|
|
play_collision::@2: scope:[play_collision] from play_collision::@1 play_collision::@10
|
|
[392] play_collision::c#2 = phi( play_collision::@1/0, play_collision::@10/play_collision::c#1 )
|
|
[392] play_collision::xp#2 = phi( play_collision::@1/play_collision::xp#8, play_collision::@10/play_collision::xp#1 )
|
|
[392] play_collision::i#2 = phi( play_collision::@1/play_collision::i#3, play_collision::@10/play_collision::i#12 )
|
|
[393] play_collision::i#1 = ++ play_collision::i#2
|
|
[394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3
|
|
to:play_collision::@7
|
|
play_collision::@7: scope:[play_collision] from play_collision::@2
|
|
[395] if(play_collision::yp#2<PLAYFIELD_LINES) goto play_collision::@4
|
|
to:play_collision::@return
|
|
play_collision::@4: scope:[play_collision] from play_collision::@7
|
|
[396] play_collision::$5 = play_collision::xp#2 & $80
|
|
[397] if(play_collision::$5==0) goto play_collision::@5
|
|
to:play_collision::@return
|
|
play_collision::@5: scope:[play_collision] from play_collision::@4
|
|
[398] if(play_collision::xp#2<PLAYFIELD_COLS) goto play_collision::@6
|
|
to:play_collision::@return
|
|
play_collision::@6: scope:[play_collision] from play_collision::@5
|
|
[399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3
|
|
to:play_collision::@return
|
|
play_collision::@return: scope:[play_collision] from play_collision::@4 play_collision::@5 play_collision::@6 play_collision::@7 play_collision::@8
|
|
[400] play_collision::return#15 = phi( play_collision::@7/COLLISION_BOTTOM, play_collision::@8/COLLISION_NONE, play_collision::@4/COLLISION_LEFT, play_collision::@5/COLLISION_RIGHT, play_collision::@6/COLLISION_PLAYFIELD )
|
|
[401] return
|
|
to:@return
|
|
play_collision::@3: scope:[play_collision] from play_collision::@2 play_collision::@6
|
|
[402] play_collision::xp#1 = ++ play_collision::xp#2
|
|
[403] play_collision::c#1 = ++ play_collision::c#2
|
|
[404] if(play_collision::c#1!=4) goto play_collision::@10
|
|
to:play_collision::@8
|
|
play_collision::@8: scope:[play_collision] from play_collision::@3
|
|
[405] play_collision::yp#1 = ++ play_collision::yp#2
|
|
[406] play_collision::l#1 = ++ play_collision::l#6
|
|
[407] if(play_collision::l#1!=4) goto play_collision::@9
|
|
to:play_collision::@return
|
|
play_collision::@9: scope:[play_collision] from play_collision::@8
|
|
[408] play_collision::i#10 = play_collision::i#1
|
|
to:play_collision::@1
|
|
play_collision::@10: scope:[play_collision] from play_collision::@3
|
|
[409] play_collision::i#12 = play_collision::i#1
|
|
to:play_collision::@2
|
|
|
|
byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
|
|
keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@7
|
|
[410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0]
|
|
[411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B)
|
|
to:keyboard_matrix_read::@return
|
|
keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read
|
|
[412] return
|
|
to:@return
|
|
|
|
byte keyboard_event_pressed(byte keyboard_event_pressed::keycode)
|
|
keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@1 keyboard_event_scan::@17 keyboard_event_scan::@2 keyboard_event_scan::@3 play_move_down::@1
|
|
[413] keyboard_event_pressed::keycode#5 = phi( keyboard_event_scan::@1/KEY_RSHIFT, keyboard_event_scan::@17/KEY_LSHIFT, keyboard_event_scan::@2/KEY_CTRL, keyboard_event_scan::@3/KEY_COMMODORE, play_move_down::@1/KEY_SPACE )
|
|
[414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3
|
|
[415] keyboard_event_pressed::row_bits#0 = keyboard_scan_values[keyboard_event_pressed::$0]
|
|
[416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7
|
|
[417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1]
|
|
to:keyboard_event_pressed::@return
|
|
keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed
|
|
[418] return
|
|
to:@return
|
|
|
|
byte play_move_down(byte play_move_down::key_event)
|
|
play_move_down: scope:[play_move_down] from play_movement
|
|
[419] current_movedown_counter#13 = ++ current_movedown_counter#17
|
|
[420] if(play_move_down::key_event#0!=KEY_SPACE) goto play_move_down::@1
|
|
to:play_move_down::@4
|
|
play_move_down::@4: scope:[play_move_down] from play_move_down
|
|
[421] phi()
|
|
to:play_move_down::@1
|
|
play_move_down::@1: scope:[play_move_down] from play_move_down play_move_down::@4
|
|
[422] play_move_down::movedown#10 = phi( play_move_down/0, play_move_down::@4/1 )
|
|
[423] call keyboard_event_pressed
|
|
[424] keyboard_event_pressed::return#12 = keyboard_event_pressed::return#11
|
|
to:play_move_down::@12
|
|
play_move_down::@12: scope:[play_move_down] from play_move_down::@1
|
|
[425] play_move_down::$2 = keyboard_event_pressed::return#12
|
|
[426] if(play_move_down::$2==0) goto play_move_down::@2
|
|
to:play_move_down::@5
|
|
play_move_down::@5: scope:[play_move_down] from play_move_down::@12
|
|
[427] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2
|
|
to:play_move_down::@6
|
|
play_move_down::@6: scope:[play_move_down] from play_move_down::@5
|
|
[428] play_move_down::movedown#2 = ++ play_move_down::movedown#10
|
|
to:play_move_down::@2
|
|
play_move_down::@2: scope:[play_move_down] from play_move_down::@12 play_move_down::@5 play_move_down::@6
|
|
[429] play_move_down::movedown#7 = phi( play_move_down::@12/play_move_down::movedown#10, play_move_down::@5/play_move_down::movedown#10, play_move_down::@6/play_move_down::movedown#2 )
|
|
[430] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3
|
|
to:play_move_down::@7
|
|
play_move_down::@7: scope:[play_move_down] from play_move_down::@2
|
|
[431] play_move_down::movedown#3 = ++ play_move_down::movedown#7
|
|
to:play_move_down::@3
|
|
play_move_down::@3: scope:[play_move_down] from play_move_down::@2 play_move_down::@7
|
|
[432] play_move_down::movedown#6 = phi( play_move_down::@2/play_move_down::movedown#7, play_move_down::@7/play_move_down::movedown#3 )
|
|
[433] if(play_move_down::movedown#6==0) goto play_move_down::@return
|
|
to:play_move_down::@8
|
|
play_move_down::@8: scope:[play_move_down] from play_move_down::@3
|
|
[434] play_collision::ypos#0 = current_ypos#10 + 1
|
|
[435] play_collision::xpos#0 = current_xpos#13
|
|
[436] play_collision::orientation#0 = current_orientation#12
|
|
[437] current_piece#98 = current_piece#23
|
|
[438] call play_collision
|
|
[439] play_collision::return#0 = play_collision::return#15
|
|
to:play_move_down::@13
|
|
play_move_down::@13: scope:[play_move_down] from play_move_down::@8
|
|
[440] play_move_down::$12 = play_collision::return#0
|
|
[441] if(play_move_down::$12==COLLISION_NONE) goto play_move_down::@10
|
|
to:play_move_down::@9
|
|
play_move_down::@9: scope:[play_move_down] from play_move_down::@13
|
|
[442] phi()
|
|
[443] call play_lock_current
|
|
to:play_move_down::@14
|
|
play_move_down::@14: scope:[play_move_down] from play_move_down::@9
|
|
[444] phi()
|
|
[445] call play_remove_lines
|
|
[446] play_remove_lines::return#0 = play_remove_lines::removed#7
|
|
to:play_move_down::@15
|
|
play_move_down::@15: scope:[play_move_down] from play_move_down::@14
|
|
[447] play_move_down::removed#0 = play_remove_lines::return#0
|
|
[448] play_update_score::removed#0 = play_move_down::removed#0
|
|
[449] call play_update_score
|
|
to:play_move_down::@16
|
|
play_move_down::@16: scope:[play_move_down] from play_move_down::@15
|
|
[450] phi()
|
|
[451] call play_spawn_current
|
|
to:play_move_down::@17
|
|
play_move_down::@17: scope:[play_move_down] from play_move_down::@16
|
|
[452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7]
|
|
[453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7]
|
|
to:play_move_down::@11
|
|
play_move_down::@11: scope:[play_move_down] from play_move_down::@10 play_move_down::@17
|
|
[454] next_piece_idx#32 = phi( play_move_down::@10/next_piece_idx#23, play_move_down::@17/play_spawn_current::piece_idx#2 )
|
|
[454] game_over#29 = phi( play_move_down::@10/game_over#22, play_move_down::@17/game_over#53 )
|
|
[454] current_xpos#45 = phi( play_move_down::@10/current_xpos#13, play_move_down::@17/current_xpos#100 )
|
|
[454] current_piece_gfx#37 = phi( play_move_down::@10/current_piece_gfx#12, play_move_down::@17/current_piece_gfx#116 )
|
|
[454] current_orientation#39 = phi( play_move_down::@10/current_orientation#12, play_move_down::@17/0 )
|
|
[454] current_piece_char#31 = phi( play_move_down::@10/current_piece_char#23, play_move_down::@17/current_piece_char#4 )
|
|
[454] current_piece#30 = phi( play_move_down::@10/current_piece#23, play_move_down::@17/current_piece#95 )
|
|
[454] level_bcd#33 = phi( play_move_down::@10/level_bcd#10, play_move_down::@17/level_bcd#20 )
|
|
[454] current_movedown_slow#39 = phi( play_move_down::@10/current_movedown_slow#13, play_move_down::@17/current_movedown_slow#24 )
|
|
[454] level#35 = phi( play_move_down::@10/level#25, play_move_down::@17/level#20 )
|
|
[454] lines_bcd#28 = phi( play_move_down::@10/lines_bcd#20, play_move_down::@17/lines_bcd#18 )
|
|
[454] current_ypos#40 = phi( play_move_down::@10/current_ypos#2, play_move_down::@17/current_ypos#5 )
|
|
to:play_move_down::@return
|
|
play_move_down::@return: scope:[play_move_down] from play_move_down::@11 play_move_down::@3
|
|
[455] next_piece_idx#17 = phi( play_move_down::@11/next_piece_idx#32, play_move_down::@3/next_piece_idx#23 )
|
|
[455] game_over#16 = phi( play_move_down::@11/game_over#29, play_move_down::@3/game_over#22 )
|
|
[455] current_xpos#23 = phi( play_move_down::@11/current_xpos#45, play_move_down::@3/current_xpos#13 )
|
|
[455] current_piece_gfx#21 = phi( play_move_down::@11/current_piece_gfx#37, play_move_down::@3/current_piece_gfx#12 )
|
|
[455] current_orientation#21 = phi( play_move_down::@11/current_orientation#39, play_move_down::@3/current_orientation#12 )
|
|
[455] current_piece_char#17 = phi( play_move_down::@11/current_piece_char#31, play_move_down::@3/current_piece_char#23 )
|
|
[455] current_piece#16 = phi( play_move_down::@11/current_piece#30, play_move_down::@3/current_piece#23 )
|
|
[455] level_bcd#18 = phi( play_move_down::@11/level_bcd#33, play_move_down::@3/level_bcd#10 )
|
|
[455] current_movedown_slow#22 = phi( play_move_down::@11/current_movedown_slow#39, play_move_down::@3/current_movedown_slow#13 )
|
|
[455] level#18 = phi( play_move_down::@11/level#35, play_move_down::@3/level#25 )
|
|
[455] lines_bcd#16 = phi( play_move_down::@11/lines_bcd#28, play_move_down::@3/lines_bcd#20 )
|
|
[455] current_ypos#20 = phi( play_move_down::@11/current_ypos#40, play_move_down::@3/current_ypos#10 )
|
|
[455] current_movedown_counter#15 = phi( play_move_down::@11/0, play_move_down::@3/current_movedown_counter#13 )
|
|
[455] play_move_down::return#3 = phi( play_move_down::@11/1, play_move_down::@3/0 )
|
|
[456] return
|
|
to:@return
|
|
play_move_down::@10: scope:[play_move_down] from play_move_down::@13
|
|
[457] current_ypos#2 = ++ current_ypos#10
|
|
to:play_move_down::@11
|
|
|
|
byte play_move_leftright(byte play_move_leftright::key_event)
|
|
play_move_leftright: scope:[play_move_leftright] from play_movement::@1
|
|
[458] if(play_move_leftright::key_event#0==KEY_COMMA) goto play_move_leftright::@1
|
|
to:play_move_leftright::@2
|
|
play_move_leftright::@2: scope:[play_move_leftright] from play_move_leftright
|
|
[459] if(play_move_leftright::key_event#0!=KEY_DOT) goto play_move_leftright::@return
|
|
to:play_move_leftright::@3
|
|
play_move_leftright::@3: scope:[play_move_leftright] from play_move_leftright::@2
|
|
[460] play_collision::xpos#2 = current_xpos#23 + 1
|
|
[461] play_collision::ypos#2 = current_ypos#20
|
|
[462] play_collision::orientation#2 = current_orientation#21
|
|
[463] current_piece#100 = current_piece#16
|
|
[464] call play_collision
|
|
[465] play_collision::return#13 = play_collision::return#15
|
|
to:play_move_leftright::@7
|
|
play_move_leftright::@7: scope:[play_move_leftright] from play_move_leftright::@3
|
|
[466] play_move_leftright::$4 = play_collision::return#13
|
|
[467] if(play_move_leftright::$4!=COLLISION_NONE) goto play_move_leftright::@return
|
|
to:play_move_leftright::@4
|
|
play_move_leftright::@4: scope:[play_move_leftright] from play_move_leftright::@7
|
|
[468] current_xpos#5 = ++ current_xpos#23
|
|
to:play_move_leftright::@return
|
|
play_move_leftright::@return: scope:[play_move_leftright] from play_move_leftright::@2 play_move_leftright::@4 play_move_leftright::@5 play_move_leftright::@6 play_move_leftright::@7
|
|
[469] current_xpos#27 = phi( play_move_leftright::@2/current_xpos#23, play_move_leftright::@4/current_xpos#5, play_move_leftright::@5/current_xpos#7, play_move_leftright::@6/current_xpos#23, play_move_leftright::@7/current_xpos#23 )
|
|
[469] play_move_leftright::return#2 = phi( play_move_leftright::@2/0, play_move_leftright::@4/1, play_move_leftright::@5/1, play_move_leftright::@6/0, play_move_leftright::@7/0 )
|
|
[470] return
|
|
to:@return
|
|
play_move_leftright::@1: scope:[play_move_leftright] from play_move_leftright
|
|
[471] play_collision::xpos#1 = current_xpos#23 - 1
|
|
[472] play_collision::ypos#1 = current_ypos#20
|
|
[473] play_collision::orientation#1 = current_orientation#21
|
|
[474] current_piece#99 = current_piece#16
|
|
[475] call play_collision
|
|
[476] play_collision::return#1 = play_collision::return#15
|
|
to:play_move_leftright::@6
|
|
play_move_leftright::@6: scope:[play_move_leftright] from play_move_leftright::@1
|
|
[477] play_move_leftright::$8 = play_collision::return#1
|
|
[478] if(play_move_leftright::$8!=COLLISION_NONE) goto play_move_leftright::@return
|
|
to:play_move_leftright::@5
|
|
play_move_leftright::@5: scope:[play_move_leftright] from play_move_leftright::@6
|
|
[479] current_xpos#7 = -- current_xpos#23
|
|
to:play_move_leftright::@return
|
|
|
|
byte play_move_rotate(byte play_move_rotate::key_event)
|
|
play_move_rotate: scope:[play_move_rotate] from play_movement::@3
|
|
[480] if(play_move_rotate::key_event#0==KEY_Z) goto play_move_rotate::@1
|
|
to:play_move_rotate::@4
|
|
play_move_rotate::@4: scope:[play_move_rotate] from play_move_rotate
|
|
[481] if(play_move_rotate::key_event#0==KEY_X) goto play_move_rotate::@2
|
|
to:play_move_rotate::@return
|
|
play_move_rotate::@return: scope:[play_move_rotate] from play_move_rotate::@4 play_move_rotate::@5 play_move_rotate::@6
|
|
[482] current_piece_gfx#22 = phi( play_move_rotate::@6/current_piece_gfx#21, play_move_rotate::@4/current_piece_gfx#21, play_move_rotate::@5/current_piece_gfx#6 )
|
|
[482] current_orientation#26 = phi( play_move_rotate::@6/current_orientation#21, play_move_rotate::@4/current_orientation#21, play_move_rotate::@5/current_orientation#6 )
|
|
[482] play_move_rotate::return#2 = phi( play_move_rotate::@6/0, play_move_rotate::@4/0, play_move_rotate::@5/1 )
|
|
[483] return
|
|
to:@return
|
|
play_move_rotate::@2: scope:[play_move_rotate] from play_move_rotate::@4
|
|
[484] play_move_rotate::$5 = current_orientation#21 + $10
|
|
[485] play_move_rotate::orientation#2 = play_move_rotate::$5 & $3f
|
|
to:play_move_rotate::@3
|
|
play_move_rotate::@3: scope:[play_move_rotate] from play_move_rotate::@1 play_move_rotate::@2
|
|
[486] play_move_rotate::orientation#3 = phi( play_move_rotate::@1/play_move_rotate::orientation#1, play_move_rotate::@2/play_move_rotate::orientation#2 )
|
|
[487] play_collision::xpos#3 = current_xpos#27
|
|
[488] play_collision::ypos#3 = current_ypos#20
|
|
[489] play_collision::orientation#3 = play_move_rotate::orientation#3
|
|
[490] current_piece#101 = current_piece#16
|
|
[491] call play_collision
|
|
[492] play_collision::return#14 = play_collision::return#15
|
|
to:play_move_rotate::@6
|
|
play_move_rotate::@6: scope:[play_move_rotate] from play_move_rotate::@3
|
|
[493] play_move_rotate::$2 = play_collision::return#14
|
|
[494] if(play_move_rotate::$2!=COLLISION_NONE) goto play_move_rotate::@return
|
|
to:play_move_rotate::@5
|
|
play_move_rotate::@5: scope:[play_move_rotate] from play_move_rotate::@6
|
|
[495] current_orientation#6 = play_move_rotate::orientation#3
|
|
[496] current_piece_gfx#6 = current_piece#16 + current_orientation#6
|
|
to:play_move_rotate::@return
|
|
play_move_rotate::@1: scope:[play_move_rotate] from play_move_rotate
|
|
[497] play_move_rotate::$7 = current_orientation#21 - $10
|
|
[498] play_move_rotate::orientation#1 = play_move_rotate::$7 & $3f
|
|
to:play_move_rotate::@3
|
|
|
|
void render_bcd(byte* render_bcd::screen , word render_bcd::offset , byte render_bcd::bcd , byte render_bcd::only_low)
|
|
render_bcd: scope:[render_bcd] from render_score::@2 render_score::@3 render_score::@4 render_score::@5 render_score::@6 render_score::@7
|
|
[499] render_bcd::bcd#6 = phi( render_score::@2/render_bcd::bcd#0, render_score::@3/render_bcd::bcd#1, render_score::@4/render_bcd::bcd#2, render_score::@5/render_bcd::bcd#3, render_score::@6/render_bcd::bcd#4, render_score::@7/render_bcd::bcd#5 )
|
|
[499] render_bcd::only_low#6 = phi( render_score::@2/0, render_score::@3/0, render_score::@4/0, render_score::@5/1, render_score::@6/0, render_score::@7/0 )
|
|
[499] render_bcd::offset#6 = phi( render_score::@2/render_score::score_offset, render_score::@3/render_score::score_offset+2, render_score::@4/render_score::score_offset+4, render_score::@5/render_score::lines_offset, render_score::@6/render_score::lines_offset+1, render_score::@7/render_score::level_offset )
|
|
[499] render_bcd::screen#6 = phi( render_score::@2/render_bcd::screen#0, render_score::@3/render_bcd::screen#1, render_score::@4/render_bcd::screen#2, render_score::@5/render_bcd::screen#3, render_score::@6/render_bcd::screen#4, render_score::@7/render_bcd::screen#5 )
|
|
[500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6
|
|
[501] if(render_bcd::only_low#6!=0) goto render_bcd::@1
|
|
to:render_bcd::@2
|
|
render_bcd::@2: scope:[render_bcd] from render_bcd
|
|
[502] render_bcd::$5 = render_bcd::bcd#6 >> 4
|
|
[503] render_bcd::$6 = render_bcd::ZERO_CHAR + render_bcd::$5
|
|
[504] *render_bcd::screen_pos#0 = render_bcd::$6
|
|
[505] render_bcd::screen_pos#2 = ++ render_bcd::screen_pos#0
|
|
to:render_bcd::@1
|
|
render_bcd::@1: scope:[render_bcd] from render_bcd render_bcd::@2
|
|
[506] render_bcd::screen_pos#3 = phi( render_bcd/render_bcd::screen_pos#0, render_bcd::@2/render_bcd::screen_pos#2 )
|
|
[507] render_bcd::$3 = render_bcd::bcd#6 & $f
|
|
[508] render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3
|
|
[509] *render_bcd::screen_pos#3 = render_bcd::$4
|
|
to:render_bcd::@return
|
|
render_bcd::@return: scope:[render_bcd] from render_bcd::@1
|
|
[510] return
|
|
to:@return
|
|
|
|
void play_lock_current()
|
|
play_lock_current: scope:[play_lock_current] from play_move_down::@9
|
|
[511] play_lock_current::yp#0 = current_ypos#10
|
|
to:play_lock_current::@1
|
|
play_lock_current::@1: scope:[play_lock_current] from play_lock_current play_lock_current::@6
|
|
[512] play_lock_current::l#6 = phi( play_lock_current/0, play_lock_current::@6/play_lock_current::l#1 )
|
|
[512] play_lock_current::i#3 = phi( play_lock_current/0, play_lock_current::@6/play_lock_current::i#7 )
|
|
[512] play_lock_current::yp#2 = phi( play_lock_current/play_lock_current::yp#0, play_lock_current::@6/play_lock_current::yp#1 )
|
|
[513] play_lock_current::$4 = play_lock_current::yp#2 << 1
|
|
[514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4]
|
|
[515] play_lock_current::xp#0 = current_xpos#13
|
|
to:play_lock_current::@2
|
|
play_lock_current::@2: scope:[play_lock_current] from play_lock_current::@1 play_lock_current::@7
|
|
[516] play_lock_current::c#2 = phi( play_lock_current::@1/0, play_lock_current::@7/play_lock_current::c#1 )
|
|
[516] play_lock_current::xp#2 = phi( play_lock_current::@1/play_lock_current::xp#0, play_lock_current::@7/play_lock_current::xp#1 )
|
|
[516] play_lock_current::i#2 = phi( play_lock_current::@1/play_lock_current::i#3, play_lock_current::@7/play_lock_current::i#9 )
|
|
[517] play_lock_current::i#1 = ++ play_lock_current::i#2
|
|
[518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3
|
|
to:play_lock_current::@4
|
|
play_lock_current::@4: scope:[play_lock_current] from play_lock_current::@2
|
|
[519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23
|
|
to:play_lock_current::@3
|
|
play_lock_current::@3: scope:[play_lock_current] from play_lock_current::@2 play_lock_current::@4
|
|
[520] play_lock_current::xp#1 = ++ play_lock_current::xp#2
|
|
[521] play_lock_current::c#1 = ++ play_lock_current::c#2
|
|
[522] if(play_lock_current::c#1!=4) goto play_lock_current::@7
|
|
to:play_lock_current::@5
|
|
play_lock_current::@5: scope:[play_lock_current] from play_lock_current::@3
|
|
[523] play_lock_current::yp#1 = ++ play_lock_current::yp#2
|
|
[524] play_lock_current::l#1 = ++ play_lock_current::l#6
|
|
[525] if(play_lock_current::l#1!=4) goto play_lock_current::@6
|
|
to:play_lock_current::@return
|
|
play_lock_current::@return: scope:[play_lock_current] from play_lock_current::@5
|
|
[526] return
|
|
to:@return
|
|
play_lock_current::@6: scope:[play_lock_current] from play_lock_current::@5
|
|
[527] play_lock_current::i#7 = play_lock_current::i#1
|
|
to:play_lock_current::@1
|
|
play_lock_current::@7: scope:[play_lock_current] from play_lock_current::@3
|
|
[528] play_lock_current::i#9 = play_lock_current::i#1
|
|
to:play_lock_current::@2
|
|
|
|
byte play_remove_lines()
|
|
play_remove_lines: scope:[play_remove_lines] from play_move_down::@14
|
|
[529] phi()
|
|
to:play_remove_lines::@1
|
|
play_remove_lines::@1: scope:[play_remove_lines] from play_remove_lines play_remove_lines::@6
|
|
[530] play_remove_lines::removed#11 = phi( play_remove_lines/0, play_remove_lines::@6/play_remove_lines::removed#7 )
|
|
[530] play_remove_lines::y#8 = phi( play_remove_lines/0, play_remove_lines::@6/play_remove_lines::y#1 )
|
|
[530] play_remove_lines::w#12 = phi( play_remove_lines/PLAYFIELD_LINES*PLAYFIELD_COLS-1, play_remove_lines::@6/play_remove_lines::w#11 )
|
|
[530] play_remove_lines::r#3 = phi( play_remove_lines/PLAYFIELD_LINES*PLAYFIELD_COLS-1, play_remove_lines::@6/play_remove_lines::r#1 )
|
|
to:play_remove_lines::@2
|
|
play_remove_lines::@2: scope:[play_remove_lines] from play_remove_lines::@1 play_remove_lines::@3
|
|
[531] play_remove_lines::full#4 = phi( play_remove_lines::@1/1, play_remove_lines::@3/play_remove_lines::full#2 )
|
|
[531] play_remove_lines::x#2 = phi( play_remove_lines::@1/0, play_remove_lines::@3/play_remove_lines::x#1 )
|
|
[531] play_remove_lines::w#4 = phi( play_remove_lines::@1/play_remove_lines::w#12, play_remove_lines::@3/play_remove_lines::w#1 )
|
|
[531] play_remove_lines::r#2 = phi( play_remove_lines::@1/play_remove_lines::r#3, play_remove_lines::@3/play_remove_lines::r#1 )
|
|
[532] play_remove_lines::c#0 = playfield[play_remove_lines::r#2]
|
|
[533] play_remove_lines::r#1 = -- play_remove_lines::r#2
|
|
[534] if(play_remove_lines::c#0!=0) goto play_remove_lines::@9
|
|
to:play_remove_lines::@3
|
|
play_remove_lines::@9: scope:[play_remove_lines] from play_remove_lines::@2
|
|
[535] phi()
|
|
to:play_remove_lines::@3
|
|
play_remove_lines::@3: scope:[play_remove_lines] from play_remove_lines::@2 play_remove_lines::@9
|
|
[536] play_remove_lines::full#2 = phi( play_remove_lines::@9/play_remove_lines::full#4, play_remove_lines::@2/0 )
|
|
[537] playfield[play_remove_lines::w#4] = play_remove_lines::c#0
|
|
[538] play_remove_lines::w#1 = -- play_remove_lines::w#4
|
|
[539] play_remove_lines::x#1 = ++ play_remove_lines::x#2
|
|
[540] if(play_remove_lines::x#1!=PLAYFIELD_COLS-1+1) goto play_remove_lines::@2
|
|
to:play_remove_lines::@4
|
|
play_remove_lines::@4: scope:[play_remove_lines] from play_remove_lines::@3
|
|
[541] if(play_remove_lines::full#2!=1) goto play_remove_lines::@6
|
|
to:play_remove_lines::@5
|
|
play_remove_lines::@5: scope:[play_remove_lines] from play_remove_lines::@4
|
|
[542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS
|
|
[543] play_remove_lines::removed#1 = ++ play_remove_lines::removed#11
|
|
to:play_remove_lines::@6
|
|
play_remove_lines::@6: scope:[play_remove_lines] from play_remove_lines::@4 play_remove_lines::@5
|
|
[544] play_remove_lines::removed#7 = phi( play_remove_lines::@4/play_remove_lines::removed#11, play_remove_lines::@5/play_remove_lines::removed#1 )
|
|
[544] play_remove_lines::w#11 = phi( play_remove_lines::@4/play_remove_lines::w#1, play_remove_lines::@5/play_remove_lines::w#2 )
|
|
[545] play_remove_lines::y#1 = ++ play_remove_lines::y#8
|
|
[546] if(play_remove_lines::y#1!=PLAYFIELD_LINES-1+1) goto play_remove_lines::@1
|
|
to:play_remove_lines::@7
|
|
play_remove_lines::@7: scope:[play_remove_lines] from play_remove_lines::@6 play_remove_lines::@8
|
|
[547] play_remove_lines::w#6 = phi( play_remove_lines::@6/play_remove_lines::w#11, play_remove_lines::@8/play_remove_lines::w#3 )
|
|
[548] if(play_remove_lines::w#6!=$ff) goto play_remove_lines::@8
|
|
to:play_remove_lines::@return
|
|
play_remove_lines::@return: scope:[play_remove_lines] from play_remove_lines::@7
|
|
[549] return
|
|
to:@return
|
|
play_remove_lines::@8: scope:[play_remove_lines] from play_remove_lines::@7
|
|
[550] playfield[play_remove_lines::w#6] = 0
|
|
[551] play_remove_lines::w#3 = -- play_remove_lines::w#6
|
|
to:play_remove_lines::@7
|
|
|
|
void play_update_score(byte play_update_score::removed)
|
|
play_update_score: scope:[play_update_score] from play_move_down::@15
|
|
[552] if(play_update_score::removed#0==0) goto play_update_score::@return
|
|
to:play_update_score::@1
|
|
play_update_score::@1: scope:[play_update_score] from play_update_score
|
|
[553] play_update_score::$2 = < lines_bcd#20
|
|
[554] play_update_score::lines_before#0 = play_update_score::$2 & $f0
|
|
[555] play_update_score::$9 = play_update_score::removed#0 << 2
|
|
[556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9]
|
|
asm { sed }
|
|
[558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0
|
|
[559] score_bcd = score_bcd + play_update_score::add_bcd#0
|
|
asm { cld }
|
|
[561] play_update_score::$4 = < lines_bcd#31
|
|
[562] play_update_score::lines_after#0 = play_update_score::$4 & $f0
|
|
[563] if(play_update_score::lines_before#0==play_update_score::lines_after#0) goto play_update_score::@return
|
|
to:play_update_score::@2
|
|
play_update_score::@2: scope:[play_update_score] from play_update_score::@1
|
|
[564] phi()
|
|
[565] call play_increase_level
|
|
to:play_update_score::@return
|
|
play_update_score::@return: scope:[play_update_score] from play_update_score play_update_score::@1 play_update_score::@2
|
|
[566] level_bcd#20 = phi( play_update_score/level_bcd#10, play_update_score::@1/level_bcd#10, play_update_score::@2/level_bcd#63 )
|
|
[566] current_movedown_slow#24 = phi( play_update_score/current_movedown_slow#13, play_update_score::@1/current_movedown_slow#13, play_update_score::@2/current_movedown_slow#67 )
|
|
[566] level#20 = phi( play_update_score/level#25, play_update_score::@1/level#25, play_update_score::@2/level#22 )
|
|
[566] lines_bcd#18 = phi( play_update_score/lines_bcd#20, play_update_score::@1/lines_bcd#31, play_update_score::@2/lines_bcd#31 )
|
|
[567] return
|
|
to:@return
|
|
|
|
void play_increase_level()
|
|
play_increase_level: scope:[play_increase_level] from play_update_score::@2
|
|
[568] level#22 = ++ level#25
|
|
[569] if(level#22>=$1d+1) goto play_increase_level::@1
|
|
to:play_increase_level::@3
|
|
play_increase_level::@3: scope:[play_increase_level] from play_increase_level
|
|
[570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22]
|
|
to:play_increase_level::@1
|
|
play_increase_level::@1: scope:[play_increase_level] from play_increase_level play_increase_level::@3
|
|
[571] current_movedown_slow#67 = phi( play_increase_level/1, play_increase_level::@3/current_movedown_slow#9 )
|
|
[572] level_bcd#22 = ++ level_bcd#10
|
|
[573] play_increase_level::$1 = level_bcd#22 & $f
|
|
[574] if(play_increase_level::$1!=$a) goto play_increase_level::@2
|
|
to:play_increase_level::@4
|
|
play_increase_level::@4: scope:[play_increase_level] from play_increase_level::@1
|
|
[575] level_bcd#7 = level_bcd#22 + 6
|
|
to:play_increase_level::@2
|
|
play_increase_level::@2: scope:[play_increase_level] from play_increase_level::@1 play_increase_level::@4
|
|
[576] level_bcd#63 = phi( play_increase_level::@1/level_bcd#22, play_increase_level::@4/level_bcd#7 )
|
|
asm { sed }
|
|
to:play_increase_level::@5
|
|
play_increase_level::@5: scope:[play_increase_level] from play_increase_level::@2 play_increase_level::@5
|
|
[578] play_increase_level::b#2 = phi( play_increase_level::@2/0, play_increase_level::@5/play_increase_level::b#1 )
|
|
[579] play_increase_level::$5 = play_increase_level::b#2 << 2
|
|
[580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5]
|
|
[581] play_increase_level::b#1 = ++ play_increase_level::b#2
|
|
[582] if(play_increase_level::b#1!=5) goto play_increase_level::@5
|
|
to:play_increase_level::@6
|
|
play_increase_level::@6: scope:[play_increase_level] from play_increase_level::@5
|
|
asm { cld }
|
|
to:play_increase_level::@return
|
|
play_increase_level::@return: scope:[play_increase_level] from play_increase_level::@6
|
|
[584] return
|
|
to:@return
|
|
|
|
|
|
VARIABLE REGISTER WEIGHTS
|
|
void __start()
|
|
byte __start::__init1_toSpritePtr1_return
|
|
byte* __start::__init1_toSpritePtr1_sprite
|
|
byte current_movedown_counter
|
|
byte current_movedown_counter#13 26666.933333333334
|
|
byte current_movedown_counter#15 2732.5135135135133
|
|
byte current_movedown_counter#17 7777.153846153846
|
|
byte current_movedown_slow
|
|
byte current_movedown_slow#0 4.869565217391305
|
|
byte current_movedown_slow#13 41091.392857142855
|
|
byte current_movedown_slow#22 5435.243243243243
|
|
byte current_movedown_slow#24 442857.7142857142
|
|
byte current_movedown_slow#39 300003.0
|
|
byte current_movedown_slow#67 733333.4666666666
|
|
byte current_movedown_slow#9 2.0000002E7
|
|
byte current_orientation
|
|
byte current_orientation#12 8137.972972972973
|
|
byte current_orientation#18 1004.952380952381
|
|
byte current_orientation#21 16530.79591836735
|
|
byte current_orientation#26 51667.33333333333
|
|
byte current_orientation#39 200002.0
|
|
byte current_orientation#6 150001.5
|
|
byte* current_piece
|
|
byte* current_piece#100 200002.0
|
|
byte* current_piece#101 200002.0
|
|
byte* current_piece#102 2000002.0
|
|
byte* current_piece#103 11.0
|
|
byte* current_piece#16 7706.51282051282
|
|
byte* current_piece#18 1.1400006E7
|
|
byte* current_piece#23 8138.27027027027
|
|
byte* current_piece#30 300003.0
|
|
byte* current_piece#95 100001.0
|
|
byte* current_piece#98 200002.0
|
|
byte* current_piece#99 200002.0
|
|
byte current_piece_char
|
|
byte current_piece_char#100 202.0
|
|
byte current_piece_char#17 5437.9729729729725
|
|
byte current_piece_char#23 1.8182183847272727E8
|
|
byte current_piece_char#31 300003.0
|
|
byte current_piece_char#4 34375.75
|
|
byte current_piece_char#70 47624.42857142857
|
|
byte current_piece_char#99 22.0
|
|
byte* current_piece_gfx
|
|
byte* current_piece_gfx#111 11.0
|
|
byte* current_piece_gfx#112 101.0
|
|
byte* current_piece_gfx#116 200002.0
|
|
byte* current_piece_gfx#12 1.8182183847272727E8
|
|
byte* current_piece_gfx#122 22.0
|
|
byte* current_piece_gfx#19 1009.7619047619048
|
|
byte* current_piece_gfx#21 15185.37037037037
|
|
byte* current_piece_gfx#22 51667.33333333333
|
|
byte* current_piece_gfx#37 300003.0
|
|
byte* current_piece_gfx#6 200002.0
|
|
byte* current_piece_gfx#66 47624.42857142857
|
|
byte current_xpos
|
|
byte current_xpos#100 67742.74193548388
|
|
byte current_xpos#118 7.333333333333333
|
|
byte current_xpos#119 67.33333333333333
|
|
byte current_xpos#13 1.8187293036363635E7
|
|
byte current_xpos#2 1009.7619047619048
|
|
byte current_xpos#23 36400.4
|
|
byte current_xpos#27 20333.566666666666
|
|
byte current_xpos#45 300003.0
|
|
byte current_xpos#5 200002.0
|
|
byte current_xpos#61 4767.285714285714
|
|
byte current_xpos#7 200002.0
|
|
byte current_ypos
|
|
byte current_ypos#10 35165.32432432432
|
|
byte current_ypos#14 1113.0
|
|
byte current_ypos#2 200002.0
|
|
byte current_ypos#20 6425.74358974359
|
|
byte current_ypos#40 300003.0
|
|
byte current_ypos#5 70000.83333333334
|
|
byte current_ypos#97 5.5
|
|
byte current_ypos#98 40.4
|
|
byte game_over
|
|
byte game_over#16 5705.54054054054
|
|
byte game_over#22 6567.760869565218
|
|
byte game_over#29 300003.0
|
|
byte game_over#53 47827.13043478261
|
|
byte game_over#66 78572.35714285714
|
|
volatile byte irq_cnt loadstore 0.48000000000000004
|
|
volatile byte irq_raster_next loadstore 0.44444444444444453
|
|
volatile byte irq_sprite_ptr loadstore 0.45161290322580644
|
|
volatile byte irq_sprite_ypos loadstore 0.48275862068965525
|
|
byte keyboard_event_get()
|
|
byte keyboard_event_get::return
|
|
byte keyboard_event_get::return#1 20002.0
|
|
byte keyboard_event_get::return#2 3667.333333333333
|
|
byte keyboard_event_get::return#3 2002.0
|
|
byte keyboard_event_pressed(byte keyboard_event_pressed::keycode)
|
|
byte~ keyboard_event_pressed::$0 2000002.0
|
|
byte~ keyboard_event_pressed::$1 2000002.0
|
|
byte keyboard_event_pressed::keycode
|
|
byte keyboard_event_pressed::keycode#5 666667.3333333334
|
|
byte keyboard_event_pressed::return
|
|
byte keyboard_event_pressed::return#0 20002.0
|
|
byte keyboard_event_pressed::return#1 20002.0
|
|
byte keyboard_event_pressed::return#10 20002.0
|
|
byte keyboard_event_pressed::return#11 162857.99999999997
|
|
byte keyboard_event_pressed::return#12 200002.0
|
|
byte keyboard_event_pressed::return#2 20002.0
|
|
byte keyboard_event_pressed::row_bits
|
|
byte keyboard_event_pressed::row_bits#0 1000001.0
|
|
void keyboard_event_scan()
|
|
byte~ keyboard_event_scan::$0 20002.0
|
|
byte~ keyboard_event_scan::$15 2.00000002E8
|
|
byte~ keyboard_event_scan::$16 2.00000002E8
|
|
byte~ keyboard_event_scan::$23 2.00000002E8
|
|
byte~ keyboard_event_scan::$3 20002.0
|
|
byte~ keyboard_event_scan::$6 20002.0
|
|
byte~ keyboard_event_scan::$9 20002.0
|
|
byte keyboard_event_scan::col
|
|
byte keyboard_event_scan::col#1 1.500000015E8
|
|
byte keyboard_event_scan::col#2 2.857142885714286E7
|
|
byte keyboard_event_scan::event_type
|
|
byte keyboard_event_scan::event_type#0 2.00000002E8
|
|
byte keyboard_event_scan::keycode
|
|
byte keyboard_event_scan::keycode#1 2.0000002E7
|
|
byte keyboard_event_scan::keycode#10 3.153846192307692E7
|
|
byte keyboard_event_scan::keycode#11 5000000.5
|
|
byte keyboard_event_scan::keycode#13 1.0000001E7
|
|
byte keyboard_event_scan::keycode#14 5.250000075E7
|
|
byte keyboard_event_scan::row
|
|
byte keyboard_event_scan::row#1 1.50000015E7
|
|
byte keyboard_event_scan::row#2 6000000.24
|
|
byte keyboard_event_scan::row_scan
|
|
byte keyboard_event_scan::row_scan#0 1.2777778055555556E7
|
|
byte keyboard_events_size
|
|
byte keyboard_events_size#0 2.00000002E8
|
|
byte keyboard_events_size#1 2.00000002E8
|
|
byte keyboard_events_size#11 8.100000089999999E7
|
|
byte keyboard_events_size#14 968709.8709677419
|
|
byte keyboard_events_size#17 811.6923076923076
|
|
byte keyboard_events_size#20 1850.5
|
|
byte keyboard_events_size#3 15001.5
|
|
byte keyboard_events_size#31 1.020000012E8
|
|
byte keyboard_events_size#32 4287143.428571429
|
|
byte keyboard_matrix_read(byte keyboard_matrix_read::rowid)
|
|
byte keyboard_matrix_read::return
|
|
byte keyboard_matrix_read::return#0 3.6666667333333336E7
|
|
byte keyboard_matrix_read::return#2 2.0000002E7
|
|
byte keyboard_matrix_read::row_pressed_bits
|
|
byte keyboard_matrix_read::rowid
|
|
byte keyboard_matrix_read::rowid#0 1.10000002E8
|
|
byte keyboard_modifiers
|
|
byte level
|
|
byte level#18 5435.243243243243
|
|
byte level#20 442857.7142857142
|
|
byte level#22 1722222.4444444445
|
|
byte level#25 185168.31818181818
|
|
byte level#35 300003.0
|
|
byte level_bcd
|
|
byte level_bcd#10 200018.1475409836
|
|
byte level_bcd#18 3425.508474576271
|
|
byte level_bcd#20 442857.7142857142
|
|
byte level_bcd#22 1.3333334666666666E7
|
|
byte level_bcd#33 300003.0
|
|
byte level_bcd#63 2100000.3
|
|
byte level_bcd#7 2.0000002E7
|
|
word lines_bcd
|
|
word lines_bcd#16 3442.4745762711864
|
|
word lines_bcd#18 442857.7142857142
|
|
word lines_bcd#20 64022.14
|
|
word lines_bcd#28 300003.0
|
|
word lines_bcd#31 500000.5
|
|
void main()
|
|
byte main::key_event
|
|
byte main::key_event#0 1001.0
|
|
byte main::render
|
|
byte main::render#1 2002.0
|
|
byte next_piece_idx
|
|
byte next_piece_idx#13 422.79999999999995
|
|
byte next_piece_idx#17 5437.9729729729725
|
|
byte next_piece_idx#18 1100013.0
|
|
byte next_piece_idx#23 6546.0
|
|
byte next_piece_idx#32 300003.0
|
|
byte next_piece_idx#79 22.0
|
|
byte next_piece_idx#80 202.0
|
|
byte play_collision(byte play_collision::xpos , byte play_collision::ypos , byte play_collision::orientation)
|
|
byte~ play_collision::$14 2.0000000002E10
|
|
byte~ play_collision::$5 2.00000000002E11
|
|
byte play_collision::c
|
|
byte play_collision::c#1 1.00000000001E11
|
|
byte play_collision::c#2 2.2222222222444443E10
|
|
byte play_collision::i
|
|
byte play_collision::i#1 1.6153846154076923E10
|
|
byte play_collision::i#10 2.0000000002E10
|
|
byte play_collision::i#12 2.00000000002E11
|
|
byte play_collision::i#2 1.55000000002E11
|
|
byte play_collision::i#3 5.0000000005E9
|
|
byte play_collision::l
|
|
byte play_collision::l#1 1.0000000001E10
|
|
byte play_collision::l#6 1.1764705883529413E9
|
|
byte play_collision::orientation
|
|
byte play_collision::orientation#0 100001.0
|
|
byte play_collision::orientation#1 100001.0
|
|
byte play_collision::orientation#2 100001.0
|
|
byte play_collision::orientation#3 100001.0
|
|
byte play_collision::orientation#5 1.0400005E7
|
|
byte* play_collision::piece_gfx
|
|
byte* play_collision::piece_gfx#0 4.762380952476191E9
|
|
byte* play_collision::playfield_line
|
|
byte* play_collision::playfield_line#0 7.857142857285714E9
|
|
byte play_collision::return
|
|
byte play_collision::return#0 200002.0
|
|
byte play_collision::return#1 200002.0
|
|
byte play_collision::return#10 2000002.0
|
|
byte play_collision::return#13 200002.0
|
|
byte play_collision::return#14 200002.0
|
|
byte play_collision::return#15 200000.71428571423
|
|
byte play_collision::xp
|
|
byte play_collision::xp#1 5.00000000005E10
|
|
byte play_collision::xp#2 6.375000000075E10
|
|
byte play_collision::xp#8 2.0000000002E10
|
|
byte play_collision::xpos
|
|
byte play_collision::xpos#0 66667.33333333333
|
|
byte play_collision::xpos#1 50000.5
|
|
byte play_collision::xpos#2 50000.5
|
|
byte play_collision::xpos#3 50000.5
|
|
byte play_collision::xpos#4 666667.3333333334
|
|
byte play_collision::xpos#6 4.546090911818181E8
|
|
byte play_collision::yp
|
|
byte play_collision::yp#0 5700003.0
|
|
byte play_collision::yp#1 5.0000000005E9
|
|
byte play_collision::yp#2 8.1256250003125E9
|
|
byte play_collision::ypos
|
|
byte play_collision::ypos#0 50000.5
|
|
byte play_collision::ypos#1 66667.33333333333
|
|
byte play_collision::ypos#2 66667.33333333333
|
|
byte play_collision::ypos#3 66667.33333333333
|
|
byte play_collision::ypos#4 1000001.0
|
|
void play_increase_level()
|
|
byte~ play_increase_level::$1 2.0000002E7
|
|
byte~ play_increase_level::$5 4.0000000004E10
|
|
byte play_increase_level::b
|
|
byte play_increase_level::b#1 1.50000000015E10
|
|
byte play_increase_level::b#2 1.0000000001E10
|
|
void play_init()
|
|
byte~ play_init::$2 2002.0
|
|
byte~ play_init::$3 3003.0
|
|
byte play_init::b
|
|
byte play_init::b#1 1501.5
|
|
byte play_init::b#2 1001.0
|
|
byte play_init::idx
|
|
byte play_init::idx#1 667.3333333333334
|
|
byte play_init::idx#2 600.5999999999999
|
|
byte play_init::j
|
|
byte play_init::j#1 1501.5
|
|
byte play_init::j#2 667.3333333333334
|
|
byte* play_init::pli
|
|
byte* play_init::pli#1 500.5
|
|
byte* play_init::pli#2 750.75
|
|
void play_lock_current()
|
|
byte~ play_lock_current::$4 2.000000002E9
|
|
byte play_lock_current::c
|
|
byte play_lock_current::c#1 1.0000000001E10
|
|
byte play_lock_current::c#2 4.0000000004E9
|
|
byte play_lock_current::i
|
|
byte play_lock_current::i#1 2.333333333666667E9
|
|
byte play_lock_current::i#2 1.5500000002E10
|
|
byte play_lock_current::i#3 5.000000005E8
|
|
byte play_lock_current::i#7 2.000000002E9
|
|
byte play_lock_current::i#9 2.0000000002E10
|
|
byte play_lock_current::l
|
|
byte play_lock_current::l#1 1.000000001E9
|
|
byte play_lock_current::l#6 1.53846154E8
|
|
byte* play_lock_current::playfield_line
|
|
byte* play_lock_current::playfield_line#0 1.1000000002E9
|
|
byte play_lock_current::xp
|
|
byte play_lock_current::xp#0 2.000000002E9
|
|
byte play_lock_current::xp#1 5.0000000005E9
|
|
byte play_lock_current::xp#2 7.750000001E9
|
|
byte play_lock_current::yp
|
|
byte play_lock_current::yp#0 2000002.0
|
|
byte play_lock_current::yp#1 5.000000005E8
|
|
byte play_lock_current::yp#2 2.500833336666667E8
|
|
byte play_move_down(byte play_move_down::key_event)
|
|
byte~ play_move_down::$12 200002.0
|
|
byte~ play_move_down::$2 200002.0
|
|
byte play_move_down::key_event
|
|
byte play_move_down::key_event#0 55001.0
|
|
byte play_move_down::movedown
|
|
byte play_move_down::movedown#10 50000.5
|
|
byte play_move_down::movedown#2 200002.0
|
|
byte play_move_down::movedown#3 200002.0
|
|
byte play_move_down::movedown#6 300003.0
|
|
byte play_move_down::movedown#7 250002.5
|
|
byte play_move_down::removed
|
|
byte play_move_down::removed#0 200002.0
|
|
byte play_move_down::return
|
|
byte play_move_down::return#0 20002.0
|
|
byte play_move_down::return#3 3333.6666666666665
|
|
byte play_move_leftright(byte play_move_leftright::key_event)
|
|
byte~ play_move_leftright::$4 200002.0
|
|
byte~ play_move_leftright::$8 200002.0
|
|
byte play_move_leftright::key_event
|
|
byte play_move_leftright::key_event#0 105001.5
|
|
byte play_move_leftright::return
|
|
byte play_move_leftright::return#0 20002.0
|
|
byte play_move_leftright::return#2 3333.6666666666665
|
|
byte play_move_rotate(byte play_move_rotate::key_event)
|
|
byte~ play_move_rotate::$2 200002.0
|
|
byte~ play_move_rotate::$5 200002.0
|
|
byte~ play_move_rotate::$7 200002.0
|
|
byte play_move_rotate::key_event
|
|
byte play_move_rotate::key_event#0 105001.5
|
|
byte play_move_rotate::orientation
|
|
byte play_move_rotate::orientation#1 200002.0
|
|
byte play_move_rotate::orientation#2 200002.0
|
|
byte play_move_rotate::orientation#3 44444.88888888889
|
|
byte play_move_rotate::return
|
|
byte play_move_rotate::return#0 20002.0
|
|
byte play_move_rotate::return#2 3333.6666666666665
|
|
byte play_movement(byte play_movement::key_event)
|
|
byte~ play_movement::$3 20002.0
|
|
byte~ play_movement::$4 20002.0
|
|
byte play_movement::key_event
|
|
byte play_movement::key_event#0 2818.5454545454545
|
|
byte play_movement::render
|
|
byte play_movement::render#1 5000.5
|
|
byte play_movement::render#2 4000.4
|
|
byte play_movement::return
|
|
byte play_movement::return#0 20002.0
|
|
byte play_movement::return#2 7001.0
|
|
byte play_movement::return#3 2002.0
|
|
byte play_remove_lines()
|
|
byte play_remove_lines::c
|
|
byte play_remove_lines::c#0 6.0000000006E9
|
|
byte play_remove_lines::full
|
|
byte play_remove_lines::full#2 4.2000000006E9
|
|
byte play_remove_lines::full#4 4.0000000004E9
|
|
byte play_remove_lines::r
|
|
byte play_remove_lines::r#1 1.5000000002142856E9
|
|
byte play_remove_lines::r#2 1.5500000002E10
|
|
byte play_remove_lines::r#3 2.000000002E9
|
|
byte play_remove_lines::removed
|
|
byte play_remove_lines::removed#1 2.000000002E9
|
|
byte play_remove_lines::removed#11 2.30769231E8
|
|
byte play_remove_lines::removed#7 3.333444448888889E8
|
|
byte play_remove_lines::return
|
|
byte play_remove_lines::return#0 200002.0
|
|
byte play_remove_lines::w
|
|
byte play_remove_lines::w#1 5.500000001E9
|
|
byte play_remove_lines::w#11 1.3333333346666667E9
|
|
byte play_remove_lines::w#12 2.000000002E9
|
|
byte play_remove_lines::w#2 1.000000001E9
|
|
byte play_remove_lines::w#3 2.000000002E9
|
|
byte play_remove_lines::w#4 4.428571429142857E9
|
|
byte play_remove_lines::w#6 1.6666666683333335E9
|
|
byte play_remove_lines::x
|
|
byte play_remove_lines::x#1 1.50000000015E10
|
|
byte play_remove_lines::x#2 2.50000000025E9
|
|
byte play_remove_lines::y
|
|
byte play_remove_lines::y#1 1.5000000015E9
|
|
byte play_remove_lines::y#8 1.3333333346666667E8
|
|
void play_spawn_current()
|
|
byte~ play_spawn_current::$1 2000002.0
|
|
byte~ play_spawn_current::$7 32258.09677419355
|
|
byte play_spawn_current::current_piece_idx
|
|
byte play_spawn_current::current_piece_idx#0 1250001.25
|
|
byte play_spawn_current::piece_idx
|
|
byte play_spawn_current::piece_idx#1 2.000000002E9
|
|
byte play_spawn_current::piece_idx#2 1.000050018E8
|
|
byte play_spawn_current::sid_rnd1_return
|
|
byte play_spawn_current::sid_rnd1_return#0 2.000000002E9
|
|
void play_update_score(byte play_update_score::removed)
|
|
byte~ play_update_score::$2 2000002.0
|
|
byte~ play_update_score::$4 2000002.0
|
|
byte~ play_update_score::$9 2000002.0
|
|
dword play_update_score::add_bcd
|
|
dword play_update_score::add_bcd#0 666667.3333333334
|
|
byte play_update_score::lines_after
|
|
byte play_update_score::lines_after#0 2000002.0
|
|
byte play_update_score::lines_before
|
|
byte play_update_score::lines_before#0 222222.44444444444
|
|
byte play_update_score::removed
|
|
byte play_update_score::removed#0 442857.7142857142
|
|
void render_bcd(byte* render_bcd::screen , word render_bcd::offset , byte render_bcd::bcd , byte render_bcd::only_low)
|
|
byte~ render_bcd::$3 20002.0
|
|
byte~ render_bcd::$4 20002.0
|
|
byte~ render_bcd::$5 20002.0
|
|
byte~ render_bcd::$6 20002.0
|
|
byte render_bcd::bcd
|
|
byte render_bcd::bcd#0 2002.0
|
|
byte render_bcd::bcd#1 2002.0
|
|
byte render_bcd::bcd#2 2002.0
|
|
byte render_bcd::bcd#3 1001.0
|
|
byte render_bcd::bcd#4 1001.0
|
|
byte render_bcd::bcd#5 2002.0
|
|
byte render_bcd::bcd#6 3251.0
|
|
word render_bcd::offset
|
|
word render_bcd::offset#6 10001.0
|
|
byte render_bcd::only_low
|
|
byte render_bcd::only_low#6 5000.5
|
|
byte* render_bcd::screen
|
|
byte* render_bcd::screen#0 1001.0
|
|
byte* render_bcd::screen#1 1001.0
|
|
byte* render_bcd::screen#2 1001.0
|
|
byte* render_bcd::screen#3 2002.0
|
|
byte* render_bcd::screen#4 2002.0
|
|
byte* render_bcd::screen#5 1001.0
|
|
byte* render_bcd::screen#6 16007.0
|
|
byte* render_bcd::screen_pos
|
|
byte* render_bcd::screen_pos#0 8000.8
|
|
byte* render_bcd::screen_pos#2 20002.0
|
|
byte* render_bcd::screen_pos#3 10001.0
|
|
void render_init()
|
|
byte~ render_init::$5 1501.5
|
|
byte render_init::i
|
|
byte render_init::i#1 1501.5
|
|
byte render_init::i#2 500.5
|
|
byte* render_init::li_1
|
|
byte* render_init::li_1#1 500.5
|
|
byte* render_init::li_1#2 750.75
|
|
byte* render_init::li_2
|
|
byte* render_init::li_2#1 667.3333333333334
|
|
byte* render_init::li_2#2 600.5999999999999
|
|
byte* render_init::vicSelectGfxBank1_gfx
|
|
byte* render_init::vicSelectGfxBank1_toDd001_gfx
|
|
byte render_init::vicSelectGfxBank1_toDd001_return
|
|
void render_moving()
|
|
byte~ render_moving::$1 200002.0
|
|
byte~ render_moving::$6 200002.0
|
|
byte render_moving::c
|
|
byte render_moving::c#1 1500001.5
|
|
byte render_moving::c#2 333333.6666666667
|
|
byte render_moving::current_cell
|
|
byte render_moving::current_cell#0 1000001.0
|
|
byte render_moving::i
|
|
byte render_moving::i#1 200002.0
|
|
byte render_moving::i#2 500000.5
|
|
byte render_moving::i#3 50000.5
|
|
byte render_moving::i#4 1550002.0
|
|
byte render_moving::i#8 300000.75
|
|
byte render_moving::l
|
|
byte render_moving::l#1 150001.5
|
|
byte render_moving::l#4 11764.823529411764
|
|
byte* render_moving::screen_line
|
|
byte* render_moving::screen_line#0 110000.20000000001
|
|
byte render_moving::xpos
|
|
byte render_moving::xpos#0 200002.0
|
|
byte render_moving::xpos#1 666667.3333333334
|
|
byte render_moving::xpos#2 620000.8
|
|
byte render_moving::ypos
|
|
byte render_moving::ypos#0 2002.0
|
|
byte render_moving::ypos#1 66667.33333333333
|
|
byte render_moving::ypos#2 25062.8125
|
|
void render_next()
|
|
byte~ render_next::$6 500.5
|
|
byte render_next::c
|
|
byte render_next::c#1 1500001.5
|
|
byte render_next::c#2 285714.5714285714
|
|
byte render_next::cell
|
|
byte render_next::cell#0 1000001.0
|
|
byte render_next::l
|
|
byte render_next::l#1 150001.5
|
|
byte render_next::l#7 18182.0
|
|
byte render_next::next_piece_char
|
|
byte render_next::next_piece_char#0 66733.46666666667
|
|
byte* render_next::next_piece_gfx
|
|
byte* render_next::next_piece_gfx#1 210000.30000000002
|
|
byte* render_next::next_piece_gfx#2 1550002.0
|
|
byte* render_next::next_piece_gfx#3 201003.0
|
|
byte* render_next::next_piece_gfx#8 2002.0
|
|
byte* render_next::screen_next_area
|
|
byte* render_next::screen_next_area#10 201003.0
|
|
byte* render_next::screen_next_area#11 250.25
|
|
byte* render_next::screen_next_area#3 700001.0
|
|
byte* render_next::screen_next_area#4 66667.33333333333
|
|
byte* render_next::screen_next_area#5 683334.1666666667
|
|
void render_playfield()
|
|
byte~ render_playfield::$0 200002.0
|
|
byte~ render_playfield::$3 200002.0
|
|
byte render_playfield::c
|
|
byte render_playfield::c#1 1500001.5
|
|
byte render_playfield::c#2 500000.5
|
|
byte render_playfield::i
|
|
byte render_playfield::i#1 420000.60000000003
|
|
byte render_playfield::i#2 1033334.6666666667
|
|
byte render_playfield::i#3 50000.5
|
|
byte render_playfield::l
|
|
byte render_playfield::l#1 150001.5
|
|
byte render_playfield::l#2 30000.300000000003
|
|
byte* render_playfield::screen_line
|
|
byte* render_playfield::screen_line#0 200002.0
|
|
byte* render_playfield::screen_line#1 500000.5
|
|
byte* render_playfield::screen_line#2 1550002.0
|
|
void render_score()
|
|
byte* render_score::screen
|
|
byte* render_score::screen#3 375.375
|
|
void render_screen_original(byte* render_screen_original::screen)
|
|
byte* render_screen_original::cols
|
|
byte* render_screen_original::cols#1 100001.0
|
|
byte* render_screen_original::cols#2 75000.75
|
|
byte* render_screen_original::cols#3 42000.600000000006
|
|
byte* render_screen_original::cols#4 77501.0
|
|
byte* render_screen_original::cols#5 80000.8
|
|
byte* render_screen_original::cols#6 100001.0
|
|
byte* render_screen_original::cols#7 20002.0
|
|
byte* render_screen_original::ocols
|
|
byte* render_screen_original::ocols#1 17500.25
|
|
byte* render_screen_original::ocols#2 66667.33333333333
|
|
byte* render_screen_original::ocols#4 13750.25
|
|
byte* render_screen_original::oscr
|
|
byte* render_screen_original::oscr#1 14000.2
|
|
byte* render_screen_original::oscr#2 133334.66666666666
|
|
byte* render_screen_original::oscr#4 13750.25
|
|
byte* render_screen_original::screen
|
|
byte* render_screen_original::screen#10 30000.428571428572
|
|
byte* render_screen_original::screen#2 60000.600000000006
|
|
byte* render_screen_original::screen#3 42857.57142857143
|
|
byte* render_screen_original::screen#5 155002.0
|
|
byte* render_screen_original::screen#6 200002.0
|
|
byte* render_screen_original::screen#7 200002.0
|
|
byte* render_screen_original::screen#8 21003.0
|
|
byte* render_screen_original::screen#9 1001.0
|
|
byte render_screen_original::x
|
|
byte render_screen_original::x#1 200002.0
|
|
byte render_screen_original::x#2 200002.0
|
|
byte render_screen_original::x#3 150001.5
|
|
byte render_screen_original::x#4 40000.4
|
|
byte render_screen_original::x#5 42857.57142857143
|
|
byte render_screen_original::x#6 60000.600000000006
|
|
byte render_screen_original::y
|
|
byte render_screen_original::y#1 15001.5
|
|
byte render_screen_original::y#6 833.4166666666666
|
|
byte render_screen_render
|
|
byte render_screen_render#12 275.5
|
|
byte render_screen_render#16 1102.0
|
|
byte render_screen_render#19 84.76923076923077
|
|
byte render_screen_render#24 7700.153846153846
|
|
byte render_screen_render#35 4766.761904761905
|
|
byte render_screen_render#63 202.0
|
|
byte render_screen_render#64 50.5
|
|
byte render_screen_render#65 101.0
|
|
byte render_screen_show
|
|
byte render_screen_show#14 367.33333333333337
|
|
byte render_screen_show#17 577.65
|
|
volatile byte render_screen_showing loadstore 1000.5
|
|
void render_screen_swap()
|
|
void render_show()
|
|
byte render_show::d018val
|
|
byte render_show::d018val#3 10001.0
|
|
byte* render_show::toD0181_gfx
|
|
byte render_show::toD0181_return
|
|
byte* render_show::toD0181_screen
|
|
byte* render_show::toD0182_gfx
|
|
byte render_show::toD0182_return
|
|
byte* render_show::toD0182_screen
|
|
volatile dword score_bcd loadstore 14705.911764705883
|
|
void sprites_init()
|
|
byte sprites_init::s
|
|
byte sprites_init::s#1 1501.5
|
|
byte sprites_init::s#2 800.8
|
|
byte sprites_init::s2
|
|
byte sprites_init::s2#0 2002.0
|
|
byte sprites_init::xpos
|
|
byte sprites_init::xpos#1 667.3333333333334
|
|
byte sprites_init::xpos#2 750.75
|
|
__interrupt(hardware_clobber) void sprites_irq()
|
|
byte~ sprites_irq::$0 4.0
|
|
byte sprites_irq::ptr
|
|
byte sprites_irq::ptr#0 2.5
|
|
byte sprites_irq::ptr#1 2.6666666666666665
|
|
byte sprites_irq::ptr#2 4.0
|
|
byte sprites_irq::ptr#3 2.6666666666666665
|
|
byte sprites_irq::ptr#4 4.0
|
|
volatile byte sprites_irq::raster_sprite_gfx_modify loadstore 6.5
|
|
byte sprites_irq::toSpritePtr1_return
|
|
byte* sprites_irq::toSpritePtr1_sprite
|
|
byte sprites_irq::ypos
|
|
byte sprites_irq::ypos#0 2.5
|
|
void sprites_irq_init()
|
|
|
|
Initial phi equivalence classes
|
|
[ render_screen_show#17 render_screen_show#14 ]
|
|
[ render_screen_render#19 render_screen_render#12 ]
|
|
[ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
[ render_init::i#2 render_init::i#1 ]
|
|
[ render_init::li_1#2 render_init::li_1#1 ]
|
|
[ render_init::li_2#2 render_init::li_2#1 ]
|
|
[ sprites_init::s#2 sprites_init::s#1 ]
|
|
[ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
[ play_init::j#2 play_init::j#1 ]
|
|
[ play_init::pli#2 play_init::pli#1 ]
|
|
[ play_init::idx#2 play_init::idx#1 ]
|
|
[ play_init::b#2 play_init::b#1 ]
|
|
[ render_screen_render#24 render_screen_render#63 ]
|
|
[ render_playfield::l#2 render_playfield::l#1 ]
|
|
[ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
[ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ]
|
|
[ render_playfield::c#2 render_playfield::c#1 ]
|
|
[ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
[ render_screen_render#35 render_screen_render#64 ]
|
|
[ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
[ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ]
|
|
[ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
[ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
[ render_moving::l#4 render_moving::l#1 ]
|
|
[ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
[ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
[ render_moving::c#2 render_moving::c#1 ]
|
|
[ render_screen_render#16 render_screen_render#65 ]
|
|
[ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
[ render_next::l#7 render_next::l#1 ]
|
|
[ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#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 ]
|
|
[ render_next::c#2 render_next::c#1 ]
|
|
[ render_show::d018val#3 ]
|
|
[ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
[ keyboard_event_scan::col#2 keyboard_event_scan::col#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 ]
|
|
[ 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 ]
|
|
[ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
|
[ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
[ render_score::screen#3 ]
|
|
[ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
[ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ]
|
|
[ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ]
|
|
[ 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 ]
|
|
[ 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 ]
|
|
[ 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 ]
|
|
[ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ]
|
|
[ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#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 ]
|
|
[ 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 ]
|
|
[ play_collision::l#6 play_collision::l#1 ]
|
|
[ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
[ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
[ play_collision::c#2 play_collision::c#1 ]
|
|
[ play_collision::return#15 ]
|
|
[ keyboard_event_pressed::keycode#5 ]
|
|
[ 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 ]
|
|
[ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
[ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ]
|
|
[ level#35 level#25 level#18 level#20 level#22 ]
|
|
[ 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 ]
|
|
[ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
[ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ]
|
|
[ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
[ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
[ 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 ]
|
|
[ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
[ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
[ 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 ]
|
|
[ play_move_down::return#3 ]
|
|
[ play_move_leftright::return#2 ]
|
|
[ play_move_rotate::return#2 ]
|
|
[ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
[ 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_bcd::offset#6 ]
|
|
[ render_bcd::only_low#6 ]
|
|
[ 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 ]
|
|
[ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ]
|
|
[ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
[ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
[ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
[ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
[ play_lock_current::c#2 play_lock_current::c#1 ]
|
|
[ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
[ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
[ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
|
[ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
|
[ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
|
[ 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 ]
|
|
[ play_increase_level::b#2 play_increase_level::b#1 ]
|
|
Added variable render_screen_showing to live range equivalence class [ render_screen_showing ]
|
|
Added variable score_bcd to live range equivalence class [ score_bcd ]
|
|
Added variable irq_raster_next to live range equivalence class [ irq_raster_next ]
|
|
Added variable irq_sprite_ypos to live range equivalence class [ irq_sprite_ypos ]
|
|
Added variable irq_sprite_ptr to live range equivalence class [ irq_sprite_ptr ]
|
|
Added variable irq_cnt to live range equivalence class [ irq_cnt ]
|
|
Added variable sprites_irq::ypos#0 to live range equivalence class [ sprites_irq::ypos#0 ]
|
|
Added variable sprites_irq::$0 to live range equivalence class [ sprites_irq::$0 ]
|
|
Added variable sprites_irq::raster_sprite_gfx_modify to live range equivalence class [ sprites_irq::raster_sprite_gfx_modify ]
|
|
Added variable sprites_irq::ptr#0 to live range equivalence class [ sprites_irq::ptr#0 ]
|
|
Added variable sprites_irq::ptr#3 to live range equivalence class [ sprites_irq::ptr#3 ]
|
|
Added variable sprites_irq::ptr#4 to live range equivalence class [ sprites_irq::ptr#4 ]
|
|
Added variable sprites_irq::ptr#1 to live range equivalence class [ sprites_irq::ptr#1 ]
|
|
Added variable sprites_irq::ptr#2 to live range equivalence class [ sprites_irq::ptr#2 ]
|
|
Added variable keyboard_event_get::return#3 to live range equivalence class [ keyboard_event_get::return#3 ]
|
|
Added variable main::key_event#0 to live range equivalence class [ main::key_event#0 ]
|
|
Added variable play_movement::key_event#0 to live range equivalence class [ play_movement::key_event#0 ]
|
|
Added variable play_movement::return#3 to live range equivalence class [ play_movement::return#3 ]
|
|
Added variable main::render#1 to live range equivalence class [ main::render#1 ]
|
|
Added variable render_init::$5 to live range equivalence class [ render_init::$5 ]
|
|
Added variable sprites_init::s2#0 to live range equivalence class [ sprites_init::s2#0 ]
|
|
Added variable play_init::$2 to live range equivalence class [ play_init::$2 ]
|
|
Added variable play_init::$3 to live range equivalence class [ play_init::$3 ]
|
|
Added variable play_spawn_current::current_piece_idx#0 to live range equivalence class [ play_spawn_current::current_piece_idx#0 ]
|
|
Added variable play_spawn_current::$7 to live range equivalence class [ play_spawn_current::$7 ]
|
|
Added variable play_collision::return#10 to live range equivalence class [ play_collision::return#10 ]
|
|
Added variable play_spawn_current::$1 to live range equivalence class [ play_spawn_current::$1 ]
|
|
Added variable play_spawn_current::sid_rnd1_return#0 to live range equivalence class [ play_spawn_current::sid_rnd1_return#0 ]
|
|
Added variable render_playfield::$0 to live range equivalence class [ render_playfield::$0 ]
|
|
Added variable render_playfield::$3 to live range equivalence class [ render_playfield::$3 ]
|
|
Added variable render_moving::$1 to live range equivalence class [ render_moving::$1 ]
|
|
Added variable render_moving::$6 to live range equivalence class [ render_moving::$6 ]
|
|
Added variable render_moving::screen_line#0 to live range equivalence class [ render_moving::screen_line#0 ]
|
|
Added variable render_moving::current_cell#0 to live range equivalence class [ render_moving::current_cell#0 ]
|
|
Added variable render_next::$6 to live range equivalence class [ render_next::$6 ]
|
|
Added variable render_next::next_piece_char#0 to live range equivalence class [ render_next::next_piece_char#0 ]
|
|
Added variable render_next::cell#0 to live range equivalence class [ render_next::cell#0 ]
|
|
Added variable keyboard_matrix_read::rowid#0 to live range equivalence class [ keyboard_matrix_read::rowid#0 ]
|
|
Added variable keyboard_matrix_read::return#2 to live range equivalence class [ keyboard_matrix_read::return#2 ]
|
|
Added variable keyboard_event_scan::row_scan#0 to live range equivalence class [ keyboard_event_scan::row_scan#0 ]
|
|
Added variable keyboard_event_pressed::return#0 to live range equivalence class [ keyboard_event_pressed::return#0 ]
|
|
Added variable keyboard_event_scan::$0 to live range equivalence class [ keyboard_event_scan::$0 ]
|
|
Added variable keyboard_event_pressed::return#1 to live range equivalence class [ keyboard_event_pressed::return#1 ]
|
|
Added variable keyboard_event_scan::$3 to live range equivalence class [ keyboard_event_scan::$3 ]
|
|
Added variable keyboard_event_pressed::return#2 to live range equivalence class [ keyboard_event_pressed::return#2 ]
|
|
Added variable keyboard_event_scan::$6 to live range equivalence class [ keyboard_event_scan::$6 ]
|
|
Added variable keyboard_event_pressed::return#10 to live range equivalence class [ keyboard_event_pressed::return#10 ]
|
|
Added variable keyboard_event_scan::$9 to live range equivalence class [ keyboard_event_scan::$9 ]
|
|
Added variable keyboard_event_scan::$15 to live range equivalence class [ keyboard_event_scan::$15 ]
|
|
Added variable keyboard_event_scan::$16 to live range equivalence class [ keyboard_event_scan::$16 ]
|
|
Added variable keyboard_event_scan::event_type#0 to live range equivalence class [ keyboard_event_scan::event_type#0 ]
|
|
Added variable keyboard_event_scan::$23 to live range equivalence class [ keyboard_event_scan::$23 ]
|
|
Added variable play_move_down::key_event#0 to live range equivalence class [ play_move_down::key_event#0 ]
|
|
Added variable play_move_down::return#0 to live range equivalence class [ play_move_down::return#0 ]
|
|
Added variable play_move_leftright::key_event#0 to live range equivalence class [ play_move_leftright::key_event#0 ]
|
|
Added variable play_move_leftright::return#0 to live range equivalence class [ play_move_leftright::return#0 ]
|
|
Added variable play_movement::$3 to live range equivalence class [ play_movement::$3 ]
|
|
Added variable play_movement::render#2 to live range equivalence class [ play_movement::render#2 ]
|
|
Added variable play_move_rotate::key_event#0 to live range equivalence class [ play_move_rotate::key_event#0 ]
|
|
Added variable play_move_rotate::return#0 to live range equivalence class [ play_move_rotate::return#0 ]
|
|
Added variable play_movement::$4 to live range equivalence class [ play_movement::$4 ]
|
|
Added variable play_collision::piece_gfx#0 to live range equivalence class [ play_collision::piece_gfx#0 ]
|
|
Added variable play_collision::$14 to live range equivalence class [ play_collision::$14 ]
|
|
Added variable play_collision::playfield_line#0 to live range equivalence class [ play_collision::playfield_line#0 ]
|
|
Added variable play_collision::i#1 to live range equivalence class [ play_collision::i#1 ]
|
|
Added variable play_collision::$5 to live range equivalence class [ play_collision::$5 ]
|
|
Added variable keyboard_matrix_read::return#0 to live range equivalence class [ keyboard_matrix_read::return#0 ]
|
|
Added variable keyboard_event_pressed::$0 to live range equivalence class [ keyboard_event_pressed::$0 ]
|
|
Added variable keyboard_event_pressed::row_bits#0 to live range equivalence class [ keyboard_event_pressed::row_bits#0 ]
|
|
Added variable keyboard_event_pressed::$1 to live range equivalence class [ keyboard_event_pressed::$1 ]
|
|
Added variable keyboard_event_pressed::return#11 to live range equivalence class [ keyboard_event_pressed::return#11 ]
|
|
Added variable keyboard_event_pressed::return#12 to live range equivalence class [ keyboard_event_pressed::return#12 ]
|
|
Added variable play_move_down::$2 to live range equivalence class [ play_move_down::$2 ]
|
|
Added variable play_collision::return#0 to live range equivalence class [ play_collision::return#0 ]
|
|
Added variable play_move_down::$12 to live range equivalence class [ play_move_down::$12 ]
|
|
Added variable play_remove_lines::return#0 to live range equivalence class [ play_remove_lines::return#0 ]
|
|
Added variable play_move_down::removed#0 to live range equivalence class [ play_move_down::removed#0 ]
|
|
Added variable play_update_score::removed#0 to live range equivalence class [ play_update_score::removed#0 ]
|
|
Added variable play_collision::return#13 to live range equivalence class [ play_collision::return#13 ]
|
|
Added variable play_move_leftright::$4 to live range equivalence class [ play_move_leftright::$4 ]
|
|
Added variable play_collision::return#1 to live range equivalence class [ play_collision::return#1 ]
|
|
Added variable play_move_leftright::$8 to live range equivalence class [ play_move_leftright::$8 ]
|
|
Added variable play_move_rotate::$5 to live range equivalence class [ play_move_rotate::$5 ]
|
|
Added variable play_collision::return#14 to live range equivalence class [ play_collision::return#14 ]
|
|
Added variable play_move_rotate::$2 to live range equivalence class [ play_move_rotate::$2 ]
|
|
Added variable play_move_rotate::$7 to live range equivalence class [ play_move_rotate::$7 ]
|
|
Added variable render_bcd::$5 to live range equivalence class [ render_bcd::$5 ]
|
|
Added variable render_bcd::$6 to live range equivalence class [ render_bcd::$6 ]
|
|
Added variable render_bcd::$3 to live range equivalence class [ render_bcd::$3 ]
|
|
Added variable render_bcd::$4 to live range equivalence class [ render_bcd::$4 ]
|
|
Added variable play_lock_current::$4 to live range equivalence class [ play_lock_current::$4 ]
|
|
Added variable play_lock_current::playfield_line#0 to live range equivalence class [ play_lock_current::playfield_line#0 ]
|
|
Added variable play_lock_current::i#1 to live range equivalence class [ play_lock_current::i#1 ]
|
|
Added variable play_remove_lines::c#0 to live range equivalence class [ play_remove_lines::c#0 ]
|
|
Added variable play_update_score::$2 to live range equivalence class [ play_update_score::$2 ]
|
|
Added variable play_update_score::lines_before#0 to live range equivalence class [ play_update_score::lines_before#0 ]
|
|
Added variable play_update_score::$9 to live range equivalence class [ play_update_score::$9 ]
|
|
Added variable play_update_score::add_bcd#0 to live range equivalence class [ play_update_score::add_bcd#0 ]
|
|
Added variable play_update_score::$4 to live range equivalence class [ play_update_score::$4 ]
|
|
Added variable play_update_score::lines_after#0 to live range equivalence class [ play_update_score::lines_after#0 ]
|
|
Added variable play_increase_level::$1 to live range equivalence class [ play_increase_level::$1 ]
|
|
Added variable play_increase_level::$5 to live range equivalence class [ play_increase_level::$5 ]
|
|
Complete equivalence classes
|
|
[ render_screen_show#17 render_screen_show#14 ]
|
|
[ render_screen_render#19 render_screen_render#12 ]
|
|
[ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
[ render_init::i#2 render_init::i#1 ]
|
|
[ render_init::li_1#2 render_init::li_1#1 ]
|
|
[ render_init::li_2#2 render_init::li_2#1 ]
|
|
[ sprites_init::s#2 sprites_init::s#1 ]
|
|
[ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
[ play_init::j#2 play_init::j#1 ]
|
|
[ play_init::pli#2 play_init::pli#1 ]
|
|
[ play_init::idx#2 play_init::idx#1 ]
|
|
[ play_init::b#2 play_init::b#1 ]
|
|
[ render_screen_render#24 render_screen_render#63 ]
|
|
[ render_playfield::l#2 render_playfield::l#1 ]
|
|
[ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
[ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ]
|
|
[ render_playfield::c#2 render_playfield::c#1 ]
|
|
[ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
[ render_screen_render#35 render_screen_render#64 ]
|
|
[ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
[ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ]
|
|
[ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
[ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
[ render_moving::l#4 render_moving::l#1 ]
|
|
[ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
[ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
[ render_moving::c#2 render_moving::c#1 ]
|
|
[ render_screen_render#16 render_screen_render#65 ]
|
|
[ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
[ render_next::l#7 render_next::l#1 ]
|
|
[ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#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 ]
|
|
[ render_next::c#2 render_next::c#1 ]
|
|
[ render_show::d018val#3 ]
|
|
[ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
[ keyboard_event_scan::col#2 keyboard_event_scan::col#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 ]
|
|
[ 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 ]
|
|
[ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
|
[ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
[ render_score::screen#3 ]
|
|
[ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
[ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ]
|
|
[ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ]
|
|
[ 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 ]
|
|
[ 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 ]
|
|
[ 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 ]
|
|
[ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ]
|
|
[ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#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 ]
|
|
[ 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 ]
|
|
[ play_collision::l#6 play_collision::l#1 ]
|
|
[ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
[ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
[ play_collision::c#2 play_collision::c#1 ]
|
|
[ play_collision::return#15 ]
|
|
[ keyboard_event_pressed::keycode#5 ]
|
|
[ 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 ]
|
|
[ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
[ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ]
|
|
[ level#35 level#25 level#18 level#20 level#22 ]
|
|
[ 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 ]
|
|
[ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
[ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ]
|
|
[ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
[ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
[ 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 ]
|
|
[ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
[ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
[ 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 ]
|
|
[ play_move_down::return#3 ]
|
|
[ play_move_leftright::return#2 ]
|
|
[ play_move_rotate::return#2 ]
|
|
[ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
[ 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_bcd::offset#6 ]
|
|
[ render_bcd::only_low#6 ]
|
|
[ 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 ]
|
|
[ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ]
|
|
[ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
[ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
[ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
[ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
[ play_lock_current::c#2 play_lock_current::c#1 ]
|
|
[ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
[ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
[ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
|
[ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
|
[ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
|
[ 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 ]
|
|
[ play_increase_level::b#2 play_increase_level::b#1 ]
|
|
[ render_screen_showing ]
|
|
[ score_bcd ]
|
|
[ irq_raster_next ]
|
|
[ irq_sprite_ypos ]
|
|
[ irq_sprite_ptr ]
|
|
[ irq_cnt ]
|
|
[ sprites_irq::ypos#0 ]
|
|
[ sprites_irq::$0 ]
|
|
[ sprites_irq::raster_sprite_gfx_modify ]
|
|
[ sprites_irq::ptr#0 ]
|
|
[ sprites_irq::ptr#3 ]
|
|
[ sprites_irq::ptr#4 ]
|
|
[ sprites_irq::ptr#1 ]
|
|
[ sprites_irq::ptr#2 ]
|
|
[ keyboard_event_get::return#3 ]
|
|
[ main::key_event#0 ]
|
|
[ play_movement::key_event#0 ]
|
|
[ play_movement::return#3 ]
|
|
[ main::render#1 ]
|
|
[ render_init::$5 ]
|
|
[ sprites_init::s2#0 ]
|
|
[ play_init::$2 ]
|
|
[ play_init::$3 ]
|
|
[ play_spawn_current::current_piece_idx#0 ]
|
|
[ play_spawn_current::$7 ]
|
|
[ play_collision::return#10 ]
|
|
[ play_spawn_current::$1 ]
|
|
[ play_spawn_current::sid_rnd1_return#0 ]
|
|
[ render_playfield::$0 ]
|
|
[ render_playfield::$3 ]
|
|
[ render_moving::$1 ]
|
|
[ render_moving::$6 ]
|
|
[ render_moving::screen_line#0 ]
|
|
[ render_moving::current_cell#0 ]
|
|
[ render_next::$6 ]
|
|
[ render_next::next_piece_char#0 ]
|
|
[ render_next::cell#0 ]
|
|
[ keyboard_matrix_read::rowid#0 ]
|
|
[ keyboard_matrix_read::return#2 ]
|
|
[ keyboard_event_scan::row_scan#0 ]
|
|
[ keyboard_event_pressed::return#0 ]
|
|
[ keyboard_event_scan::$0 ]
|
|
[ keyboard_event_pressed::return#1 ]
|
|
[ keyboard_event_scan::$3 ]
|
|
[ keyboard_event_pressed::return#2 ]
|
|
[ keyboard_event_scan::$6 ]
|
|
[ keyboard_event_pressed::return#10 ]
|
|
[ keyboard_event_scan::$9 ]
|
|
[ keyboard_event_scan::$15 ]
|
|
[ keyboard_event_scan::$16 ]
|
|
[ keyboard_event_scan::event_type#0 ]
|
|
[ keyboard_event_scan::$23 ]
|
|
[ play_move_down::key_event#0 ]
|
|
[ play_move_down::return#0 ]
|
|
[ play_move_leftright::key_event#0 ]
|
|
[ play_move_leftright::return#0 ]
|
|
[ play_movement::$3 ]
|
|
[ play_movement::render#2 ]
|
|
[ play_move_rotate::key_event#0 ]
|
|
[ play_move_rotate::return#0 ]
|
|
[ play_movement::$4 ]
|
|
[ play_collision::piece_gfx#0 ]
|
|
[ play_collision::$14 ]
|
|
[ play_collision::playfield_line#0 ]
|
|
[ play_collision::i#1 ]
|
|
[ play_collision::$5 ]
|
|
[ keyboard_matrix_read::return#0 ]
|
|
[ keyboard_event_pressed::$0 ]
|
|
[ keyboard_event_pressed::row_bits#0 ]
|
|
[ keyboard_event_pressed::$1 ]
|
|
[ keyboard_event_pressed::return#11 ]
|
|
[ keyboard_event_pressed::return#12 ]
|
|
[ play_move_down::$2 ]
|
|
[ play_collision::return#0 ]
|
|
[ play_move_down::$12 ]
|
|
[ play_remove_lines::return#0 ]
|
|
[ play_move_down::removed#0 ]
|
|
[ play_update_score::removed#0 ]
|
|
[ play_collision::return#13 ]
|
|
[ play_move_leftright::$4 ]
|
|
[ play_collision::return#1 ]
|
|
[ play_move_leftright::$8 ]
|
|
[ play_move_rotate::$5 ]
|
|
[ play_collision::return#14 ]
|
|
[ play_move_rotate::$2 ]
|
|
[ play_move_rotate::$7 ]
|
|
[ render_bcd::$5 ]
|
|
[ render_bcd::$6 ]
|
|
[ render_bcd::$3 ]
|
|
[ render_bcd::$4 ]
|
|
[ play_lock_current::$4 ]
|
|
[ play_lock_current::playfield_line#0 ]
|
|
[ play_lock_current::i#1 ]
|
|
[ play_remove_lines::c#0 ]
|
|
[ play_update_score::$2 ]
|
|
[ play_update_score::lines_before#0 ]
|
|
[ play_update_score::$9 ]
|
|
[ play_update_score::add_bcd#0 ]
|
|
[ play_update_score::$4 ]
|
|
[ play_update_score::lines_after#0 ]
|
|
[ play_increase_level::$1 ]
|
|
[ play_increase_level::$5 ]
|
|
Allocated zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Allocated zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Allocated zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Allocated zp[1]:5 [ render_init::i#2 render_init::i#1 ]
|
|
Allocated zp[2]:6 [ render_init::li_1#2 render_init::li_1#1 ]
|
|
Allocated zp[2]:8 [ render_init::li_2#2 render_init::li_2#1 ]
|
|
Allocated zp[1]:10 [ sprites_init::s#2 sprites_init::s#1 ]
|
|
Allocated zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Allocated zp[1]:12 [ play_init::j#2 play_init::j#1 ]
|
|
Allocated zp[2]:13 [ play_init::pli#2 play_init::pli#1 ]
|
|
Allocated zp[1]:15 [ play_init::idx#2 play_init::idx#1 ]
|
|
Allocated zp[1]:16 [ play_init::b#2 play_init::b#1 ]
|
|
Allocated zp[1]:17 [ render_screen_render#24 render_screen_render#63 ]
|
|
Allocated zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Allocated zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
Allocated zp[2]:20 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ]
|
|
Allocated zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ]
|
|
Allocated zp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
Allocated zp[1]:24 [ render_screen_render#35 render_screen_render#64 ]
|
|
Allocated zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
Allocated zp[2]:26 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ]
|
|
Allocated zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
Allocated zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Allocated zp[1]:30 [ render_moving::l#4 render_moving::l#1 ]
|
|
Allocated zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
Allocated zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
Allocated zp[1]:33 [ render_moving::c#2 render_moving::c#1 ]
|
|
Allocated zp[1]:34 [ render_screen_render#16 render_screen_render#65 ]
|
|
Allocated zp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
Allocated zp[1]:36 [ render_next::l#7 render_next::l#1 ]
|
|
Allocated zp[2]:37 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 ]
|
|
Allocated zp[2]:39 [ 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 ]
|
|
Allocated zp[1]:41 [ render_next::c#2 render_next::c#1 ]
|
|
Allocated zp[1]:42 [ render_show::d018val#3 ]
|
|
Allocated zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Allocated zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
Allocated zp[1]:45 [ 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 ]
|
|
Allocated zp[1]:46 [ 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 ]
|
|
Allocated zp[1]:47 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
|
Allocated zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
Allocated zp[2]:49 [ render_score::screen#3 ]
|
|
Allocated zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Allocated zp[2]:52 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ]
|
|
Allocated zp[2]:54 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ]
|
|
Allocated zp[2]:56 [ 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 ]
|
|
Allocated zp[2]:58 [ 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 ]
|
|
Allocated zp[1]:60 [ 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 ]
|
|
Allocated zp[2]:61 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ]
|
|
Allocated zp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
|
Allocated zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
|
Allocated zp[1]:65 [ 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 ]
|
|
Allocated zp[1]:66 [ play_collision::l#6 play_collision::l#1 ]
|
|
Allocated zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
Allocated zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
Allocated zp[1]:69 [ play_collision::c#2 play_collision::c#1 ]
|
|
Allocated zp[1]:70 [ play_collision::return#15 ]
|
|
Allocated zp[1]:71 [ keyboard_event_pressed::keycode#5 ]
|
|
Allocated zp[1]:72 [ 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 ]
|
|
Allocated zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Allocated zp[2]:74 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ]
|
|
Allocated zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Allocated zp[1]:77 [ 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 ]
|
|
Allocated zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Allocated zp[2]:79 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ]
|
|
Allocated zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Allocated zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Allocated zp[2]:83 [ 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 ]
|
|
Allocated zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Allocated zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Allocated zp[1]:87 [ 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 ]
|
|
Allocated zp[1]:88 [ play_move_down::return#3 ]
|
|
Allocated zp[1]:89 [ play_move_leftright::return#2 ]
|
|
Allocated zp[1]:90 [ play_move_rotate::return#2 ]
|
|
Allocated zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
Allocated zp[2]:92 [ 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 ]
|
|
Allocated zp[2]:94 [ render_bcd::offset#6 ]
|
|
Allocated zp[1]:96 [ render_bcd::only_low#6 ]
|
|
Allocated zp[1]:97 [ 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 ]
|
|
Allocated zp[2]:98 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ]
|
|
Allocated zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Allocated zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
Allocated zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
Allocated zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
Allocated zp[1]:104 [ play_lock_current::c#2 play_lock_current::c#1 ]
|
|
Allocated zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
Allocated zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
Allocated zp[1]:107 [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
|
Allocated zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
|
Allocated zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
|
Allocated zp[1]:110 [ 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 ]
|
|
Allocated zp[1]:111 [ play_increase_level::b#2 play_increase_level::b#1 ]
|
|
Allocated zp[1]:112 [ render_screen_showing ]
|
|
Allocated zp[4]:113 [ score_bcd ]
|
|
Allocated zp[1]:117 [ irq_raster_next ]
|
|
Allocated zp[1]:118 [ irq_sprite_ypos ]
|
|
Allocated zp[1]:119 [ irq_sprite_ptr ]
|
|
Allocated zp[1]:120 [ irq_cnt ]
|
|
Allocated zp[1]:121 [ sprites_irq::ypos#0 ]
|
|
Allocated zp[1]:122 [ sprites_irq::$0 ]
|
|
Allocated zp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ]
|
|
Allocated zp[1]:124 [ sprites_irq::ptr#0 ]
|
|
Allocated zp[1]:125 [ sprites_irq::ptr#3 ]
|
|
Allocated zp[1]:126 [ sprites_irq::ptr#4 ]
|
|
Allocated zp[1]:127 [ sprites_irq::ptr#1 ]
|
|
Allocated zp[1]:128 [ sprites_irq::ptr#2 ]
|
|
Allocated zp[1]:129 [ keyboard_event_get::return#3 ]
|
|
Allocated zp[1]:130 [ main::key_event#0 ]
|
|
Allocated zp[1]:131 [ play_movement::key_event#0 ]
|
|
Allocated zp[1]:132 [ play_movement::return#3 ]
|
|
Allocated zp[1]:133 [ main::render#1 ]
|
|
Allocated zp[1]:134 [ render_init::$5 ]
|
|
Allocated zp[1]:135 [ sprites_init::s2#0 ]
|
|
Allocated zp[1]:136 [ play_init::$2 ]
|
|
Allocated zp[1]:137 [ play_init::$3 ]
|
|
Allocated zp[1]:138 [ play_spawn_current::current_piece_idx#0 ]
|
|
Allocated zp[1]:139 [ play_spawn_current::$7 ]
|
|
Allocated zp[1]:140 [ play_collision::return#10 ]
|
|
Allocated zp[1]:141 [ play_spawn_current::$1 ]
|
|
Allocated zp[1]:142 [ play_spawn_current::sid_rnd1_return#0 ]
|
|
Allocated zp[1]:143 [ render_playfield::$0 ]
|
|
Allocated zp[1]:144 [ render_playfield::$3 ]
|
|
Allocated zp[1]:145 [ render_moving::$1 ]
|
|
Allocated zp[1]:146 [ render_moving::$6 ]
|
|
Allocated zp[2]:147 [ render_moving::screen_line#0 ]
|
|
Allocated zp[1]:149 [ render_moving::current_cell#0 ]
|
|
Allocated zp[1]:150 [ render_next::$6 ]
|
|
Allocated zp[1]:151 [ render_next::next_piece_char#0 ]
|
|
Allocated zp[1]:152 [ render_next::cell#0 ]
|
|
Allocated zp[1]:153 [ keyboard_matrix_read::rowid#0 ]
|
|
Allocated zp[1]:154 [ keyboard_matrix_read::return#2 ]
|
|
Allocated zp[1]:155 [ keyboard_event_scan::row_scan#0 ]
|
|
Allocated zp[1]:156 [ keyboard_event_pressed::return#0 ]
|
|
Allocated zp[1]:157 [ keyboard_event_scan::$0 ]
|
|
Allocated zp[1]:158 [ keyboard_event_pressed::return#1 ]
|
|
Allocated zp[1]:159 [ keyboard_event_scan::$3 ]
|
|
Allocated zp[1]:160 [ keyboard_event_pressed::return#2 ]
|
|
Allocated zp[1]:161 [ keyboard_event_scan::$6 ]
|
|
Allocated zp[1]:162 [ keyboard_event_pressed::return#10 ]
|
|
Allocated zp[1]:163 [ keyboard_event_scan::$9 ]
|
|
Allocated zp[1]:164 [ keyboard_event_scan::$15 ]
|
|
Allocated zp[1]:165 [ keyboard_event_scan::$16 ]
|
|
Allocated zp[1]:166 [ keyboard_event_scan::event_type#0 ]
|
|
Allocated zp[1]:167 [ keyboard_event_scan::$23 ]
|
|
Allocated zp[1]:168 [ play_move_down::key_event#0 ]
|
|
Allocated zp[1]:169 [ play_move_down::return#0 ]
|
|
Allocated zp[1]:170 [ play_move_leftright::key_event#0 ]
|
|
Allocated zp[1]:171 [ play_move_leftright::return#0 ]
|
|
Allocated zp[1]:172 [ play_movement::$3 ]
|
|
Allocated zp[1]:173 [ play_movement::render#2 ]
|
|
Allocated zp[1]:174 [ play_move_rotate::key_event#0 ]
|
|
Allocated zp[1]:175 [ play_move_rotate::return#0 ]
|
|
Allocated zp[1]:176 [ play_movement::$4 ]
|
|
Allocated zp[2]:177 [ play_collision::piece_gfx#0 ]
|
|
Allocated zp[1]:179 [ play_collision::$14 ]
|
|
Allocated zp[2]:180 [ play_collision::playfield_line#0 ]
|
|
Allocated zp[1]:182 [ play_collision::i#1 ]
|
|
Allocated zp[1]:183 [ play_collision::$5 ]
|
|
Allocated zp[1]:184 [ keyboard_matrix_read::return#0 ]
|
|
Allocated zp[1]:185 [ keyboard_event_pressed::$0 ]
|
|
Allocated zp[1]:186 [ keyboard_event_pressed::row_bits#0 ]
|
|
Allocated zp[1]:187 [ keyboard_event_pressed::$1 ]
|
|
Allocated zp[1]:188 [ keyboard_event_pressed::return#11 ]
|
|
Allocated zp[1]:189 [ keyboard_event_pressed::return#12 ]
|
|
Allocated zp[1]:190 [ play_move_down::$2 ]
|
|
Allocated zp[1]:191 [ play_collision::return#0 ]
|
|
Allocated zp[1]:192 [ play_move_down::$12 ]
|
|
Allocated zp[1]:193 [ play_remove_lines::return#0 ]
|
|
Allocated zp[1]:194 [ play_move_down::removed#0 ]
|
|
Allocated zp[1]:195 [ play_update_score::removed#0 ]
|
|
Allocated zp[1]:196 [ play_collision::return#13 ]
|
|
Allocated zp[1]:197 [ play_move_leftright::$4 ]
|
|
Allocated zp[1]:198 [ play_collision::return#1 ]
|
|
Allocated zp[1]:199 [ play_move_leftright::$8 ]
|
|
Allocated zp[1]:200 [ play_move_rotate::$5 ]
|
|
Allocated zp[1]:201 [ play_collision::return#14 ]
|
|
Allocated zp[1]:202 [ play_move_rotate::$2 ]
|
|
Allocated zp[1]:203 [ play_move_rotate::$7 ]
|
|
Allocated zp[1]:204 [ render_bcd::$5 ]
|
|
Allocated zp[1]:205 [ render_bcd::$6 ]
|
|
Allocated zp[1]:206 [ render_bcd::$3 ]
|
|
Allocated zp[1]:207 [ render_bcd::$4 ]
|
|
Allocated zp[1]:208 [ play_lock_current::$4 ]
|
|
Allocated zp[2]:209 [ play_lock_current::playfield_line#0 ]
|
|
Allocated zp[1]:211 [ play_lock_current::i#1 ]
|
|
Allocated zp[1]:212 [ play_remove_lines::c#0 ]
|
|
Allocated zp[1]:213 [ play_update_score::$2 ]
|
|
Allocated zp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Allocated zp[1]:215 [ play_update_score::$9 ]
|
|
Allocated zp[4]:216 [ play_update_score::add_bcd#0 ]
|
|
Allocated zp[1]:220 [ play_update_score::$4 ]
|
|
Allocated zp[1]:221 [ play_update_score::lines_after#0 ]
|
|
Allocated zp[1]:222 [ play_increase_level::$1 ]
|
|
Allocated zp[1]:223 [ play_increase_level::$5 ]
|
|
REGISTER UPLIFT POTENTIAL REGISTERS
|
|
Statement [1] render_screen_showing = 0 [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [2] score_bcd = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [3] irq_raster_next = IRQ_RASTER_FIRST [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [7] irq_cnt = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] ( [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] { } ) always clobbers reg byte a
|
|
Statement [21] if(render_screen_showing==0) goto sprites_irq::@1 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:124 [ sprites_irq::ptr#0 ]
|
|
Statement [29] if(irq_cnt==9) goto sprites_irq::@3 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] { } ) always clobbers reg byte a
|
|
Statement [30] if(irq_cnt==$a) goto sprites_irq::@4 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [31] irq_raster_next = irq_raster_next + $14 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [32] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [33] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [34] *RASTER = irq_raster_next [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [35] *IRQ_STATUS = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [36] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
|
|
Statement [37] irq_cnt = 0 [ irq_sprite_ypos irq_sprite_ptr ] ( [ irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [38] irq_raster_next = IRQ_RASTER_FIRST [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [39] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [40] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [41] irq_raster_next = irq_raster_next + $15 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [42] irq_sprite_ypos = SPRITES_FIRST_YPOS [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:139 [ play_spawn_current::$7 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:87 [ 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 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:77 [ 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 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Statement [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [78] if(*RASTER!=$ff) goto main::@2 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:46 [ 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 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Statement [99] current_piece_gfx#112 = current_piece_gfx#19 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:24 [ render_screen_render#35 render_screen_render#64 ]
|
|
Statement [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [114] *BORDER_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [115] *BG_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [116] *BG_COLOR1 = *PIECES_COLORS_1 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [117] *BG_COLOR2 = *PIECES_COLORS_2 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [118] *BG_COLOR3 = GREY [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [123] render_init::$5 = render_init::i#2 << 1 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:5 [ render_init::i#2 render_init::i#1 ]
|
|
Statement [124] screen_lines_1[render_init::$5] = render_init::li_1#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:134 [ render_init::$5 ]
|
|
Statement [125] screen_lines_2[render_init::$5] = render_init::li_2#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] { } ) always clobbers reg byte a
|
|
Statement [126] render_init::li_1#1 = render_init::li_1#2 + $28 [ render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] { } ) always clobbers reg byte a
|
|
Statement [127] render_init::li_2#1 = render_init::li_2#2 + $28 [ render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] { } ) always clobbers reg byte a
|
|
Statement [131] *SPRITES_ENABLE = $f [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [132] *SPRITES_MC = 0 [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [133] *SPRITES_EXPAND_Y = *SPRITES_MC [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [136] sprites_init::s2#0 = sprites_init::s#2 << 1 [ sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:10 [ sprites_init::s#2 sprites_init::s#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Statement [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [138] SPRITES_COLOR[sprites_init::s#2] = BLACK [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 [ sprites_init::s#2 sprites_init::xpos#1 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#1 ] { } ) always clobbers reg byte a
|
|
Statement [144] *IRQ_STATUS = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement asm { ldaCIA1_INTERRUPT } always clobbers reg byte a
|
|
Statement [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [147] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [149] *VICII_CONTROL = *VICII_CONTROL & $7f [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [150] *RASTER = IRQ_RASTER_FIRST [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [151] *IRQ_ENABLE = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [152] *HARDWARE_IRQ = &sprites_irq [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [157] play_init::$2 = play_init::j#2 << 1 [ play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:12 [ play_init::j#2 play_init::j#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:15 [ play_init::idx#2 play_init::idx#1 ]
|
|
Statement [158] playfield_lines[play_init::$2] = play_init::pli#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::idx#2 play_init::pli#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::idx#2 play_init::pli#1 ] { } ) always clobbers reg byte a
|
|
Statement [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::pli#1 play_init::idx#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#1 play_init::idx#1 ] { } ) always clobbers reg byte a
|
|
Statement [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES [ ] ( main:9::play_init:61 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [167] play_init::$3 = play_init::b#2 << 2 [ current_movedown_slow#0 play_init::b#2 play_init::$3 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 play_init::$3 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:16 [ play_init::b#2 play_init::b#1 ]
|
|
Statement [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] [ current_movedown_slow#0 play_init::b#2 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 ] { } ) always clobbers reg byte a
|
|
Statement [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 [ play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:138 [ play_spawn_current::current_piece_idx#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:131 [ play_movement::key_event#0 ]
|
|
Statement [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:65 [ 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 ]
|
|
Statement [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:17 [ render_screen_render#24 render_screen_render#63 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
Statement [195] render_playfield::$3 = render_playfield::$0 << 1 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:139 [ play_spawn_current::$7 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:87 [ 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 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:77 [ 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 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:17 [ render_screen_render#24 render_screen_render#63 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:46 [ 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 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Statement [210] render_moving::i#1 = render_moving::i#3 + 4 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:30 [ render_moving::l#4 render_moving::l#1 ]
|
|
Statement [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
Statement [217] render_moving::$6 = render_moving::$1 << 1 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:33 [ render_moving::c#2 render_moving::c#1 ]
|
|
Statement [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [232] render_next::$6 = next_piece_idx#13 << 1 [ next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
Statement [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] [ render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:151 [ render_next::next_piece_char#0 ]
|
|
Statement [237] render_next::cell#0 = *render_next::next_piece_gfx#2 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp[1]:151 [ render_next::next_piece_char#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:36 [ render_next::l#7 render_next::l#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:36 [ render_next::l#7 render_next::l#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:41 [ render_next::c#2 render_next::c#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:41 [ render_next::c#2 render_next::c#1 ]
|
|
Statement [240] *render_next::screen_next_area#5 = 0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 [ keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Statement [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:155 [ keyboard_event_scan::row_scan#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:45 [ 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 ]
|
|
Statement [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] { } ) always clobbers reg byte a
|
|
Statement [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a
|
|
Statement [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] { } ) always clobbers reg byte a
|
|
Statement [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] { } ) always clobbers reg byte a
|
|
Statement [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [336] render_bcd::screen#0 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [339] render_bcd::screen#1 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [342] render_bcd::screen#2 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [346] render_bcd::screen#3 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:97 [ 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 ]
|
|
Statement [349] render_bcd::screen#4 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [351] render_bcd::screen#5 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [355] render_screen_render#12 = render_screen_render#19 ^ $20 [ render_screen_show#17 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#17 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [356] render_screen_show#14 = render_screen_show#17 ^ $20 [ render_screen_show#14 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#14 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [361] *render_screen_original::screen#5 = render_screen_original::SPACE [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte a as potential for zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:60 [ 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 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:60 [ 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 ]
|
|
Statement [363] *render_screen_original::cols#4 = BLACK [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 [ render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [377] *render_screen_original::screen#7 = render_screen_original::SPACE [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [379] *render_screen_original::cols#6 = BLACK [ render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 [ play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:173 [ play_movement::render#2 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
Statement [389] play_collision::$14 = play_collision::yp#2 << 1 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:66 [ play_collision::l#6 play_collision::l#1 ]
|
|
Statement [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:69 [ play_collision::c#2 play_collision::c#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:182 [ play_collision::i#1 ]
|
|
Statement [396] play_collision::$5 = play_collision::xp#2 & $80 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] [ ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_matrix_read::return#0 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 [ keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:71 [ keyboard_event_pressed::keycode#5 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:72 [ 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 ]
|
|
Statement [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:186 [ keyboard_event_pressed::row_bits#0 ]
|
|
Statement [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] [ keyboard_event_pressed::return#11 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::return#11 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [437] current_piece#98 = current_piece#23 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
|
Statement [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [463] current_piece#100 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [474] current_piece#99 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [484] play_move_rotate::$5 = current_orientation#21 + $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [490] current_piece#101 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 [ current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [497] play_move_rotate::$7 = current_orientation#21 - $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 [ render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:96 [ render_bcd::only_low#6 ]
|
|
Statement [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 [ render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [504] *render_bcd::screen_pos#0 = render_bcd::$6 [ render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp[1]:97 [ 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 ]
|
|
Statement [507] render_bcd::$3 = render_bcd::bcd#6 & $f [ render_bcd::screen_pos#3 render_bcd::$3 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [509] *render_bcd::screen_pos#3 = render_bcd::$4 [ ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
Statement [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:104 [ play_lock_current::c#2 play_lock_current::c#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:211 [ play_lock_current::i#1 ]
|
|
Statement [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS [ play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:107 [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
|
Statement [550] playfield[play_remove_lines::w#6] = 0 [ play_remove_lines::removed#7 play_remove_lines::w#6 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::removed#7 play_remove_lines::w#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:110 [ 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 ]
|
|
Statement [555] play_update_score::$9 = play_update_score::removed#0 << 2 [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:195 [ play_update_score::removed#0 ]
|
|
Removing always clobbered register reg byte a as potential for zp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Statement [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [559] score_bcd = score_bcd + play_update_score::add_bcd#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [573] play_increase_level::$1 = level_bcd#22 & $f [ level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [575] level_bcd#7 = level_bcd#22 + 6 [ level#22 current_movedown_slow#67 level_bcd#7 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte x
|
|
Removing always clobbered register reg byte x as potential for zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:46 [ 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 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:131 [ play_movement::key_event#0 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:87 [ 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 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:77 [ 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 ]
|
|
Statement [579] play_increase_level::$5 = play_increase_level::b#2 << 2 [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:111 [ play_increase_level::b#2 play_increase_level::b#1 ]
|
|
Statement [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [1] render_screen_showing = 0 [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [2] score_bcd = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [3] irq_raster_next = IRQ_RASTER_FIRST [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [7] irq_cnt = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] ( [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] { } ) always clobbers reg byte a
|
|
Statement [21] if(render_screen_showing==0) goto sprites_irq::@1 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] { } ) always clobbers reg byte a
|
|
Statement [29] if(irq_cnt==9) goto sprites_irq::@3 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] { } ) always clobbers reg byte a
|
|
Statement [30] if(irq_cnt==$a) goto sprites_irq::@4 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [31] irq_raster_next = irq_raster_next + $14 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [32] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [33] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [34] *RASTER = irq_raster_next [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [35] *IRQ_STATUS = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [36] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
|
|
Statement [37] irq_cnt = 0 [ irq_sprite_ypos irq_sprite_ptr ] ( [ irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [38] irq_raster_next = IRQ_RASTER_FIRST [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [39] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [40] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [41] irq_raster_next = irq_raster_next + $15 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [42] irq_sprite_ypos = SPRITES_FIRST_YPOS [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } ) always clobbers reg byte a
|
|
Statement [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [78] if(*RASTER!=$ff) goto main::@2 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] { } ) always clobbers reg byte a
|
|
Statement [87] if(game_over#22==0) goto main::@4 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] { } ) always clobbers reg byte a
|
|
Removing always clobbered register reg byte a as potential for zp[1]:130 [ main::key_event#0 ]
|
|
Statement [99] current_piece_gfx#112 = current_piece_gfx#19 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [114] *BORDER_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [115] *BG_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [116] *BG_COLOR1 = *PIECES_COLORS_1 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [117] *BG_COLOR2 = *PIECES_COLORS_2 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [118] *BG_COLOR3 = GREY [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [123] render_init::$5 = render_init::i#2 << 1 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [124] screen_lines_1[render_init::$5] = render_init::li_1#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [125] screen_lines_2[render_init::$5] = render_init::li_2#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] { } ) always clobbers reg byte a
|
|
Statement [126] render_init::li_1#1 = render_init::li_1#2 + $28 [ render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] { } ) always clobbers reg byte a
|
|
Statement [127] render_init::li_2#1 = render_init::li_2#2 + $28 [ render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] { } ) always clobbers reg byte a
|
|
Statement [131] *SPRITES_ENABLE = $f [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [132] *SPRITES_MC = 0 [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [133] *SPRITES_EXPAND_Y = *SPRITES_MC [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [136] sprites_init::s2#0 = sprites_init::s#2 << 1 [ sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] { } ) always clobbers reg byte a
|
|
Statement [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [138] SPRITES_COLOR[sprites_init::s#2] = BLACK [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 [ sprites_init::s#2 sprites_init::xpos#1 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#1 ] { } ) always clobbers reg byte a
|
|
Statement [144] *IRQ_STATUS = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement asm { ldaCIA1_INTERRUPT } always clobbers reg byte a
|
|
Statement [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [147] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [149] *VICII_CONTROL = *VICII_CONTROL & $7f [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [150] *RASTER = IRQ_RASTER_FIRST [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [151] *IRQ_ENABLE = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [152] *HARDWARE_IRQ = &sprites_irq [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [157] play_init::$2 = play_init::j#2 << 1 [ play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] { } ) always clobbers reg byte a
|
|
Statement [158] playfield_lines[play_init::$2] = play_init::pli#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::idx#2 play_init::pli#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::idx#2 play_init::pli#1 ] { } ) always clobbers reg byte a
|
|
Statement [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::pli#1 play_init::idx#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#1 play_init::idx#1 ] { } ) always clobbers reg byte a
|
|
Statement [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES [ ] ( main:9::play_init:61 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS [ current_movedown_slow#0 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 ] { } ) always clobbers reg byte a
|
|
Statement [167] play_init::$3 = play_init::b#2 << 2 [ current_movedown_slow#0 play_init::b#2 play_init::$3 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 play_init::$3 ] { } ) always clobbers reg byte a
|
|
Statement [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] [ current_movedown_slow#0 play_init::b#2 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 ] { } ) always clobbers reg byte a
|
|
Statement [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 [ play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [195] render_playfield::$3 = render_playfield::$0 << 1 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a reg byte y
|
|
Statement [210] render_moving::i#1 = render_moving::i#3 + 4 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [217] render_moving::$6 = render_moving::$1 << 1 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [232] render_next::$6 = next_piece_idx#13 << 1 [ next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] [ render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [237] render_next::cell#0 = *render_next::next_piece_gfx#2 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [240] *render_next::screen_next_area#5 = 0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [249] if(render_screen_show#17==0) goto render_show::toD0181 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [255] render_screen_showing = render_screen_show#17 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] { } ) always clobbers reg byte a
|
|
Statement [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 [ keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] { } ) always clobbers reg byte a
|
|
Statement [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] { } ) always clobbers reg byte a
|
|
Statement [298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a
|
|
Statement [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] { } ) always clobbers reg byte a
|
|
Statement [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:155 [ keyboard_event_scan::row_scan#0 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
Removing always clobbered register reg byte y as potential for zp[1]:45 [ 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 ]
|
|
Statement [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] { } ) always clobbers reg byte a
|
|
Statement [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] { } ) always clobbers reg byte a
|
|
Statement [309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte y
|
|
Statement [311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return [ keyboard_events_size#14 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte a
|
|
Statement [313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3] [ keyboard_events_size#3 keyboard_event_get::return#1 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#3 keyboard_event_get::return#1 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte y
|
|
Statement [320] if(game_over#16==0) goto play_movement::@1 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [333] if(render_screen_render#19==0) goto render_score::@1 [ render_screen_render#19 lines_bcd#16 level_bcd#18 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { } ) always clobbers reg byte a
|
|
Statement [336] render_bcd::screen#0 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [339] render_bcd::screen#1 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [342] render_bcd::screen#2 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [346] render_bcd::screen#3 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [349] render_bcd::screen#4 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [351] render_bcd::screen#5 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [355] render_screen_render#12 = render_screen_render#19 ^ $20 [ render_screen_show#17 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#17 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [356] render_screen_show#14 = render_screen_show#17 ^ $20 [ render_screen_show#14 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#14 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [361] *render_screen_original::screen#5 = render_screen_original::SPACE [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [363] *render_screen_original::cols#4 = BLACK [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 [ render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [377] *render_screen_original::screen#7 = render_screen_original::SPACE [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [379] *render_screen_original::cols#6 = BLACK [ render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 [ play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [389] play_collision::$14 = play_collision::yp#2 << 1 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [396] play_collision::$5 = play_collision::xp#2 & $80 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] [ ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_matrix_read::return#0 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 [ keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] [ keyboard_event_pressed::return#11 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::return#11 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [437] current_piece#98 = current_piece#23 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [463] current_piece#100 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [474] current_piece#99 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [484] play_move_rotate::$5 = current_orientation#21 + $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [490] current_piece#101 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 [ current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [497] play_move_rotate::$7 = current_orientation#21 - $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 [ render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 [ render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [504] *render_bcd::screen_pos#0 = render_bcd::$6 [ render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [507] render_bcd::$3 = render_bcd::bcd#6 & $f [ render_bcd::screen_pos#3 render_bcd::$3 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [509] *render_bcd::screen_pos#3 = render_bcd::$4 [ ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS [ play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [550] playfield[play_remove_lines::w#6] = 0 [ play_remove_lines::removed#7 play_remove_lines::w#6 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::removed#7 play_remove_lines::w#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [555] play_update_score::$9 = play_update_score::removed#0 << 2 [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [559] score_bcd = score_bcd + play_update_score::add_bcd#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [569] if(level#22>=$1d+1) goto play_increase_level::@1 [ level_bcd#10 level#22 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22] [ level_bcd#10 level#22 current_movedown_slow#9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 current_movedown_slow#9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte y
|
|
Removing always clobbered register reg byte y as potential for zp[1]:131 [ play_movement::key_event#0 ]
|
|
Statement [573] play_increase_level::$1 = level_bcd#22 & $f [ level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [575] level_bcd#7 = level_bcd#22 + 6 [ level#22 current_movedown_slow#67 level_bcd#7 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte x
|
|
Statement [579] play_increase_level::$5 = play_increase_level::b#2 << 2 [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [1] render_screen_showing = 0 [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [2] score_bcd = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [3] irq_raster_next = IRQ_RASTER_FIRST [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [7] irq_cnt = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] ( [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] { } ) always clobbers reg byte a
|
|
Statement [21] if(render_screen_showing==0) goto sprites_irq::@1 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] { } ) always clobbers reg byte a
|
|
Statement [29] if(irq_cnt==9) goto sprites_irq::@3 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] { } ) always clobbers reg byte a
|
|
Statement [30] if(irq_cnt==$a) goto sprites_irq::@4 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [31] irq_raster_next = irq_raster_next + $14 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [32] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [33] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [34] *RASTER = irq_raster_next [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [35] *IRQ_STATUS = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [36] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
|
|
Statement [37] irq_cnt = 0 [ irq_sprite_ypos irq_sprite_ptr ] ( [ irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [38] irq_raster_next = IRQ_RASTER_FIRST [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [39] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [40] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [41] irq_raster_next = irq_raster_next + $15 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [42] irq_sprite_ypos = SPRITES_FIRST_YPOS [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } ) always clobbers reg byte a
|
|
Statement [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [78] if(*RASTER!=$ff) goto main::@2 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] { } ) always clobbers reg byte a
|
|
Statement [87] if(game_over#22==0) goto main::@4 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] { } ) always clobbers reg byte a
|
|
Statement [99] current_piece_gfx#112 = current_piece_gfx#19 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [114] *BORDER_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [115] *BG_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [116] *BG_COLOR1 = *PIECES_COLORS_1 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [117] *BG_COLOR2 = *PIECES_COLORS_2 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [118] *BG_COLOR3 = GREY [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [123] render_init::$5 = render_init::i#2 << 1 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [124] screen_lines_1[render_init::$5] = render_init::li_1#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [125] screen_lines_2[render_init::$5] = render_init::li_2#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] { } ) always clobbers reg byte a
|
|
Statement [126] render_init::li_1#1 = render_init::li_1#2 + $28 [ render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] { } ) always clobbers reg byte a
|
|
Statement [127] render_init::li_2#1 = render_init::li_2#2 + $28 [ render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] { } ) always clobbers reg byte a
|
|
Statement [131] *SPRITES_ENABLE = $f [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [132] *SPRITES_MC = 0 [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [133] *SPRITES_EXPAND_Y = *SPRITES_MC [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [136] sprites_init::s2#0 = sprites_init::s#2 << 1 [ sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] { } ) always clobbers reg byte a
|
|
Statement [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [138] SPRITES_COLOR[sprites_init::s#2] = BLACK [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 [ sprites_init::s#2 sprites_init::xpos#1 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#1 ] { } ) always clobbers reg byte a
|
|
Statement [144] *IRQ_STATUS = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement asm { ldaCIA1_INTERRUPT } always clobbers reg byte a
|
|
Statement [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [147] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [149] *VICII_CONTROL = *VICII_CONTROL & $7f [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [150] *RASTER = IRQ_RASTER_FIRST [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [151] *IRQ_ENABLE = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [152] *HARDWARE_IRQ = &sprites_irq [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [157] play_init::$2 = play_init::j#2 << 1 [ play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] { } ) always clobbers reg byte a
|
|
Statement [158] playfield_lines[play_init::$2] = play_init::pli#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::idx#2 play_init::pli#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::idx#2 play_init::pli#1 ] { } ) always clobbers reg byte a
|
|
Statement [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::pli#1 play_init::idx#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#1 play_init::idx#1 ] { } ) always clobbers reg byte a
|
|
Statement [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES [ ] ( main:9::play_init:61 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS [ current_movedown_slow#0 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 ] { } ) always clobbers reg byte a
|
|
Statement [167] play_init::$3 = play_init::b#2 << 2 [ current_movedown_slow#0 play_init::b#2 play_init::$3 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 play_init::$3 ] { } ) always clobbers reg byte a
|
|
Statement [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] [ current_movedown_slow#0 play_init::b#2 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 ] { } ) always clobbers reg byte a
|
|
Statement [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 [ play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [195] render_playfield::$3 = render_playfield::$0 << 1 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a reg byte y
|
|
Statement [210] render_moving::i#1 = render_moving::i#3 + 4 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [217] render_moving::$6 = render_moving::$1 << 1 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [232] render_next::$6 = next_piece_idx#13 << 1 [ next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] [ render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [237] render_next::cell#0 = *render_next::next_piece_gfx#2 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [240] *render_next::screen_next_area#5 = 0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [249] if(render_screen_show#17==0) goto render_show::toD0181 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [255] render_screen_showing = render_screen_show#17 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] { } ) always clobbers reg byte a
|
|
Statement [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 [ keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] { } ) always clobbers reg byte a reg byte x
|
|
Removing always clobbered register reg byte x as potential for zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Removing always clobbered register reg byte x as potential for zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Statement [268] if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7 [ keyboard_event_scan::row#1 keyboard_event_scan::keycode#13 keyboard_events_size#14 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#1 keyboard_event_scan::keycode#13 keyboard_events_size#14 ] { } ) always clobbers reg byte a
|
|
Statement [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] { } ) always clobbers reg byte a
|
|
Statement [296] keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$16 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$16 ] { } ) always clobbers reg byte a
|
|
Statement [298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a
|
|
Statement [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] { } ) always clobbers reg byte a
|
|
Statement [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] { } ) always clobbers reg byte a
|
|
Statement [309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte y
|
|
Statement [311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return [ keyboard_events_size#14 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte a
|
|
Statement [313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3] [ keyboard_events_size#3 keyboard_event_get::return#1 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#3 keyboard_event_get::return#1 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte y
|
|
Statement [320] if(game_over#16==0) goto play_movement::@1 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [333] if(render_screen_render#19==0) goto render_score::@1 [ render_screen_render#19 lines_bcd#16 level_bcd#18 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { } ) always clobbers reg byte a
|
|
Statement [336] render_bcd::screen#0 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [339] render_bcd::screen#1 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [342] render_bcd::screen#2 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [346] render_bcd::screen#3 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [349] render_bcd::screen#4 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [351] render_bcd::screen#5 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [355] render_screen_render#12 = render_screen_render#19 ^ $20 [ render_screen_show#17 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#17 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [356] render_screen_show#14 = render_screen_show#17 ^ $20 [ render_screen_show#14 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#14 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [361] *render_screen_original::screen#5 = render_screen_original::SPACE [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [363] *render_screen_original::cols#4 = BLACK [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 [ render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [377] *render_screen_original::screen#7 = render_screen_original::SPACE [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [379] *render_screen_original::cols#6 = BLACK [ render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 [ play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [389] play_collision::$14 = play_collision::yp#2 << 1 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [396] play_collision::$5 = play_collision::xp#2 & $80 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] [ ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_matrix_read::return#0 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 [ keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] [ keyboard_event_pressed::return#11 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::return#11 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [427] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [430] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#7 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [437] current_piece#98 = current_piece#23 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [463] current_piece#100 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [474] current_piece#99 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [484] play_move_rotate::$5 = current_orientation#21 + $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [490] current_piece#101 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 [ current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [497] play_move_rotate::$7 = current_orientation#21 - $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 [ render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 [ render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [504] *render_bcd::screen_pos#0 = render_bcd::$6 [ render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [507] render_bcd::$3 = render_bcd::bcd#6 & $f [ render_bcd::screen_pos#3 render_bcd::$3 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [509] *render_bcd::screen_pos#3 = render_bcd::$4 [ ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS [ play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [550] playfield[play_remove_lines::w#6] = 0 [ play_remove_lines::removed#7 play_remove_lines::w#6 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::removed#7 play_remove_lines::w#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [555] play_update_score::$9 = play_update_score::removed#0 << 2 [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [559] score_bcd = score_bcd + play_update_score::add_bcd#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [569] if(level#22>=$1d+1) goto play_increase_level::@1 [ level_bcd#10 level#22 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22] [ level_bcd#10 level#22 current_movedown_slow#9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 current_movedown_slow#9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte y
|
|
Statement [573] play_increase_level::$1 = level_bcd#22 & $f [ level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [575] level_bcd#7 = level_bcd#22 + 6 [ level#22 current_movedown_slow#67 level_bcd#7 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte x
|
|
Statement [579] play_increase_level::$5 = play_increase_level::b#2 << 2 [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [1] render_screen_showing = 0 [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [2] score_bcd = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [3] irq_raster_next = IRQ_RASTER_FIRST [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [7] irq_cnt = 0 [ score_bcd ] ( [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] ( [ render_screen_showing irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::raster_sprite_gfx_modify ] { } ) always clobbers reg byte a
|
|
Statement [21] if(render_screen_showing==0) goto sprites_irq::@1 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt sprites_irq::ptr#0 ] { } ) always clobbers reg byte a
|
|
Statement [29] if(irq_cnt==9) goto sprites_irq::@3 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr irq_cnt ] { } ) always clobbers reg byte a
|
|
Statement [30] if(irq_cnt==$a) goto sprites_irq::@4 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [31] irq_raster_next = irq_raster_next + $14 [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [32] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [33] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [34] *RASTER = irq_raster_next [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [35] *IRQ_STATUS = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
|
|
Statement [36] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
|
|
Statement [37] irq_cnt = 0 [ irq_sprite_ypos irq_sprite_ptr ] ( [ irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [38] irq_raster_next = IRQ_RASTER_FIRST [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ypos irq_sprite_ptr ] { } ) always clobbers reg byte a
|
|
Statement [39] irq_sprite_ypos = irq_sprite_ypos + $15 [ irq_raster_next irq_sprite_ptr ] ( [ irq_raster_next irq_sprite_ptr ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [40] irq_sprite_ptr = irq_sprite_ptr + 3 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [41] irq_raster_next = irq_raster_next + $15 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [42] irq_sprite_ypos = SPRITES_FIRST_YPOS [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 [ irq_raster_next ] ( [ irq_raster_next ] { } ) always clobbers reg byte a
|
|
Statement [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE [ score_bcd ] ( main:9 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#97 current_ypos#5 current_xpos#118 current_xpos#100 current_piece_gfx#111 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } ) always clobbers reg byte a
|
|
Statement [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] ( main:9 [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 current_piece#103 current_piece_gfx#122 current_movedown_slow#0 game_over#53 ] { } ) always clobbers reg byte a
|
|
Statement [78] if(*RASTER!=$ff) goto main::@2 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 ] { } ) always clobbers reg byte a
|
|
Statement [87] if(game_over#22==0) goto main::@4 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#17 main::key_event#0 ] { } ) always clobbers reg byte a
|
|
Statement [99] current_piece_gfx#112 = current_piece_gfx#19 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] ( main:9 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 current_ypos#98 render_screen_render#64 current_xpos#119 current_piece_gfx#112 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [114] *BORDER_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [115] *BG_COLOR = BLACK [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [116] *BG_COLOR1 = *PIECES_COLORS_1 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [117] *BG_COLOR2 = *PIECES_COLORS_2 [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [118] *BG_COLOR3 = GREY [ ] ( main:9::render_init:55 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [123] render_init::$5 = render_init::i#2 << 1 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [124] screen_lines_1[render_init::$5] = render_init::li_1#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 render_init::$5 ] { } ) always clobbers reg byte a
|
|
Statement [125] screen_lines_2[render_init::$5] = render_init::li_2#2 [ render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#2 render_init::li_2#2 ] { } ) always clobbers reg byte a
|
|
Statement [126] render_init::li_1#1 = render_init::li_1#2 + $28 [ render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_2#2 render_init::li_1#1 ] { } ) always clobbers reg byte a
|
|
Statement [127] render_init::li_2#1 = render_init::li_2#2 + $28 [ render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] ( main:9::render_init:55 [ score_bcd render_init::i#2 render_init::li_1#1 render_init::li_2#1 ] { } ) always clobbers reg byte a
|
|
Statement [131] *SPRITES_ENABLE = $f [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [132] *SPRITES_MC = 0 [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [133] *SPRITES_EXPAND_Y = *SPRITES_MC [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y [ ] ( main:9::sprites_init:57 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [136] sprites_init::s2#0 = sprites_init::s#2 << 1 [ sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 sprites_init::s2#0 ] { } ) always clobbers reg byte a
|
|
Statement [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [138] SPRITES_COLOR[sprites_init::s#2] = BLACK [ sprites_init::s#2 sprites_init::xpos#2 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#2 ] { } ) always clobbers reg byte a
|
|
Statement [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 [ sprites_init::s#2 sprites_init::xpos#1 ] ( main:9::sprites_init:57 [ score_bcd sprites_init::s#2 sprites_init::xpos#1 ] { } ) always clobbers reg byte a
|
|
Statement [144] *IRQ_STATUS = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement asm { ldaCIA1_INTERRUPT } always clobbers reg byte a
|
|
Statement [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [147] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [149] *VICII_CONTROL = *VICII_CONTROL & $7f [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [150] *RASTER = IRQ_RASTER_FIRST [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [151] *IRQ_ENABLE = IRQ_RASTER [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [152] *HARDWARE_IRQ = &sprites_irq [ ] ( main:9::sprites_irq_init:59 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [157] play_init::$2 = play_init::j#2 << 1 [ play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 play_init::$2 ] { } ) always clobbers reg byte a
|
|
Statement [158] playfield_lines[play_init::$2] = play_init::pli#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 [ play_init::j#2 play_init::pli#2 play_init::idx#2 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#2 play_init::idx#2 ] { } ) always clobbers reg byte a
|
|
Statement [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::idx#2 play_init::pli#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::idx#2 play_init::pli#1 ] { } ) always clobbers reg byte a
|
|
Statement [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS [ play_init::j#2 play_init::pli#1 play_init::idx#1 ] ( main:9::play_init:61 [ score_bcd play_init::j#2 play_init::pli#1 play_init::idx#1 ] { } ) always clobbers reg byte a
|
|
Statement [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES [ ] ( main:9::play_init:61 [ score_bcd ] { } ) always clobbers reg byte a
|
|
Statement [165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS [ current_movedown_slow#0 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 ] { } ) always clobbers reg byte a
|
|
Statement [167] play_init::$3 = play_init::b#2 << 2 [ current_movedown_slow#0 play_init::b#2 play_init::$3 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 play_init::$3 ] { } ) always clobbers reg byte a
|
|
Statement [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] [ current_movedown_slow#0 play_init::b#2 ] ( main:9::play_init:61 [ score_bcd current_movedown_slow#0 play_init::b#2 ] { } ) always clobbers reg byte a
|
|
Statement [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 [ play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 play_spawn_current::$7 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [175] current_piece_char#4 = PIECES_CHARS[play_spawn_current::current_piece_idx#0] [ play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [176] current_xpos#100 = PIECES_START_X[play_spawn_current::current_piece_idx#0] [ current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_spawn_current::current_piece_idx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [177] current_ypos#5 = PIECES_START_Y[play_spawn_current::current_piece_idx#0] [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#4 play_collision::ypos#4 current_piece#102 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7 [ current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] ( main:9::play_spawn_current:63 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { } main:9::play_spawn_current:65 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#53 play_spawn_current::piece_idx#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } } ) always clobbers reg byte a
|
|
Statement [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [195] render_playfield::$3 = render_playfield::$0 << 1 [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::$3 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#3 render_playfield::screen_line#0 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a
|
|
Statement [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] [ render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] ( main:9::render_playfield:67 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { } main:9::render_playfield:95 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#24 render_playfield::l#2 render_playfield::i#2 render_playfield::screen_line#2 render_playfield::c#2 ] { { render_screen_render#24 = render_screen_render#63 } } ) always clobbers reg byte a reg byte y
|
|
Statement [210] render_moving::i#1 = render_moving::i#3 + 4 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$1 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [217] render_moving::$6 = render_moving::$1 << 1 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::$6 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::i#3 render_moving::l#4 render_moving::screen_line#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::screen_line#0 render_moving::i#4 render_moving::xpos#2 render_moving::c#2 render_moving::current_cell#0 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 [ render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] ( main:9::render_moving:72 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#97 } { current_xpos#118 = current_xpos#61 } { current_piece_gfx#111 = current_piece_gfx#66 } { current_piece_char#70 = current_piece_char#99 } } main:9::render_moving:101 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_render#35 current_xpos#61 current_piece_gfx#66 current_piece_char#70 render_moving::ypos#2 render_moving::l#4 render_moving::i#2 render_moving::screen_line#0 render_moving::xpos#2 render_moving::c#2 ] { { current_ypos#14 = current_ypos#98 } { render_screen_render#35 = render_screen_render#64 } { current_xpos#119 = current_xpos#61 } { current_piece_gfx#112 = current_piece_gfx#66 } { current_piece_char#100 = current_piece_char#70 } } ) always clobbers reg byte a
|
|
Statement [232] render_next::$6 = next_piece_idx#13 << 1 [ next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 next_piece_idx#13 render_next::screen_next_area#11 render_next::$6 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] [ render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::screen_next_area#11 render_next::next_piece_char#0 render_next::next_piece_gfx#8 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [237] render_next::cell#0 = *render_next::next_piece_gfx#2 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#2 render_next::screen_next_area#5 render_next::c#2 render_next::cell#0 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [240] *render_next::screen_next_area#5 = 0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#4 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a
|
|
Statement [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 [ render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] ( main:9::render_next:74 [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 current_movedown_slow#0 game_over#53 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { next_piece_idx#13 = next_piece_idx#79 } } main:9::render_next:104 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_next::next_piece_char#0 render_next::l#7 render_next::next_piece_gfx#1 render_next::screen_next_area#5 render_next::c#2 ] { { render_screen_render#16 = render_screen_render#65 } { next_piece_idx#13 = next_piece_idx#80 } } ) always clobbers reg byte a reg byte y
|
|
Statement [249] if(render_screen_show#17==0) goto render_show::toD0181 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [255] render_screen_showing = render_screen_show#17 [ render_screen_show#17 level#25 ] ( main:9::render_show:80 [ score_bcd render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 keyboard_events_size#20 current_movedown_counter#17 lines_bcd#20 level_bcd#10 render_screen_show#17 level#25 ] { } ) always clobbers reg byte a
|
|
Statement [264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_event_scan::row_scan#0 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 [ keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_events_size#32 keyboard_event_scan::keycode#1 ] { } ) always clobbers reg byte a reg byte x
|
|
Statement [268] if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7 [ keyboard_event_scan::row#1 keyboard_event_scan::keycode#13 keyboard_events_size#14 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#1 keyboard_event_scan::keycode#13 keyboard_events_size#14 ] { } ) always clobbers reg byte a
|
|
Statement [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$15 ] { } ) always clobbers reg byte a
|
|
Statement [296] keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$16 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$16 ] { } ) always clobbers reg byte a
|
|
Statement [298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a
|
|
Statement [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::event_type#0 ] { } ) always clobbers reg byte a
|
|
Statement [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 [ keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#14 keyboard_events_size#31 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 keyboard_event_scan::$23 ] { } ) always clobbers reg byte a
|
|
Statement [309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23 [ keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] ( main:9::keyboard_event_scan:82 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::row_scan#0 keyboard_event_scan::col#2 keyboard_event_scan::keycode#10 keyboard_events_size#11 ] { } ) always clobbers reg byte y
|
|
Statement [311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return [ keyboard_events_size#14 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte a
|
|
Statement [313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3] [ keyboard_events_size#3 keyboard_event_get::return#1 ] ( main:9::keyboard_event_get:84 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#3 keyboard_event_get::return#1 ] { { keyboard_event_get::return#2 = keyboard_event_get::return#3 } } ) always clobbers reg byte y
|
|
Statement [320] if(game_over#16==0) goto play_movement::@1 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_orientation#21 current_piece_gfx#21 current_xpos#23 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_movement::render#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] ( main:9::play_movement:90 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_ypos#20 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::return#0 current_orientation#26 current_piece_gfx#22 current_xpos#27 ] { { play_movement::key_event#0 = main::key_event#0 } { play_movement::return#2 = play_movement::return#3 } } ) always clobbers reg byte a
|
|
Statement [333] if(render_screen_render#19==0) goto render_score::@1 [ render_screen_render#19 lines_bcd#16 level_bcd#18 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { } ) always clobbers reg byte a
|
|
Statement [336] render_bcd::screen#0 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [339] render_bcd::screen#1 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#1 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [342] render_bcd::screen#2 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen#2 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [346] render_bcd::screen#3 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#3 render_bcd::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [349] render_bcd::screen#4 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#4 render_bcd::screen#4 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } ) always clobbers reg byte a
|
|
Statement [351] render_bcd::screen#5 = render_score::screen#3 [ render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] ( main:9::render_score:106 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen#5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [355] render_screen_render#12 = render_screen_render#19 ^ $20 [ render_screen_show#17 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#17 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [356] render_screen_show#14 = render_screen_show#17 ^ $20 [ render_screen_show#14 render_screen_render#12 ] ( main:9::render_screen_swap:108 [ score_bcd current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 render_screen_show#14 render_screen_render#12 ] { } ) always clobbers reg byte a
|
|
Statement [361] *render_screen_original::screen#5 = render_screen_original::SPACE [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::screen#5 render_screen_original::cols#4 render_screen_original::x#4 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [363] *render_screen_original::cols#4 = BLACK [ render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::oscr#4 render_screen_original::ocols#4 render_screen_original::y#6 render_screen_original::cols#4 render_screen_original::x#4 render_screen_original::screen#2 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 [ render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#2 render_screen_original::screen#6 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#2 render_screen_original::cols#5 render_screen_original::x#5 render_screen_original::screen#3 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [377] *render_screen_original::screen#7 = render_screen_original::SPACE [ render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::screen#7 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [379] *render_screen_original::cols#6 = BLACK [ render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] ( main:9::render_init:55::render_screen_original:119 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } main:9::render_init:55::render_screen_original:121 [ score_bcd render_screen_original::y#6 render_screen_original::screen#10 render_screen_original::oscr#1 render_screen_original::ocols#1 render_screen_original::cols#6 render_screen_original::x#6 ] { } ) always clobbers reg byte a reg byte y
|
|
Statement [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 [ play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::yp#0 play_collision::xpos#6 play_collision::piece_gfx#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [389] play_collision::$14 = play_collision::yp#2 << 1 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::$14 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::i#3 play_collision::l#6 play_collision::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [396] play_collision::$5 = play_collision::xp#2 & $80 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 play_collision::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 [ play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] ( main:9::play_spawn_current:63::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_spawn_current:65::play_collision:181 [ score_bcd current_movedown_slow#0 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { next_piece_idx#18 = play_spawn_current::piece_idx#2 } { game_over#53 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_spawn_current:451::play_collision:181 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 game_over#66 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { next_piece_idx#18 = next_piece_idx#23 } { game_over#22 = game_over#66 } { current_piece#102 = current_piece#18 } { current_ypos#5 = play_collision::yp#0 play_collision::ypos#4 } { play_collision::xpos#4 = play_collision::xpos#6 current_xpos#100 } { play_collision::return#10 = play_collision::return#15 } } main:9::play_movement:90::play_move_down:317::play_collision:438 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:464 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } main:9::play_movement:90::play_move_leftright:324::play_collision:475 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } main:9::play_movement:90::play_move_rotate:329::play_collision:491 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::orientation#3 play_collision::xpos#6 play_collision::piece_gfx#0 play_collision::yp#2 play_collision::l#6 play_collision::playfield_line#0 play_collision::xp#2 play_collision::c#2 play_collision::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] [ ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) [ keyboard_matrix_read::return#0 ] ( main:9::keyboard_event_scan:82::keyboard_matrix_read:261 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_event_scan::row#2 keyboard_event_scan::keycode#11 keyboard_events_size#32 keyboard_matrix_read::return#0 ] { { keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 } { keyboard_matrix_read::return#0 = keyboard_matrix_read::return#2 } } ) always clobbers reg byte a
|
|
Statement [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 [ keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::keycode#5 keyboard_event_pressed::$0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 [ keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::row_bits#0 keyboard_event_pressed::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] [ keyboard_event_pressed::return#11 ] ( main:9::keyboard_event_scan:82::keyboard_event_pressed:270 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:276 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:282 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#2 } } main:9::keyboard_event_scan:82::keyboard_event_pressed:288 [ score_bcd render_screen_show#17 render_screen_render#19 current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 current_movedown_counter#17 lines_bcd#20 level#25 level_bcd#10 keyboard_events_size#14 keyboard_event_pressed::return#11 ] { { keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11 } } main:9::play_movement:90::play_move_down:317::keyboard_event_pressed:423 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 keyboard_event_pressed::return#11 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { keyboard_event_pressed::return#11 = keyboard_event_pressed::return#12 } } ) always clobbers reg byte a
|
|
Statement [427] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#10 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [430] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#7 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_movedown_counter#13 play_move_down::movedown#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [437] current_piece#98 = current_piece#23 [ score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 current_piece#23 current_piece_char#23 current_orientation#12 current_piece_gfx#12 current_xpos#13 current_ypos#10 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece#98 play_collision::orientation#0 play_collision::ypos#0 play_collision::xpos#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { current_piece#18 = current_piece#98 } { play_collision::orientation#0 = play_collision::orientation#5 current_orientation#12 } { play_collision::yp#0 = play_collision::ypos#0 } { play_collision::xpos#0 = play_collision::xpos#6 current_xpos#13 } { play_collision::return#0 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 play_spawn_current::$7 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] [ score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] ( main:9::play_movement:90::play_move_down:317 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_ypos#5 current_xpos#100 current_piece_char#4 play_spawn_current::piece_idx#2 game_over#53 current_piece#95 current_piece_gfx#116 lines_bcd#18 level#20 current_movedown_slow#24 level_bcd#20 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [463] current_piece#100 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#100 play_collision::orientation#2 play_collision::ypos#2 play_collision::xpos#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#100 = current_piece#18 } { play_collision::orientation#2 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#2 } { play_collision::xpos#2 = play_collision::xpos#6 } { play_collision::return#13 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [474] current_piece#99 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] ( main:9::play_movement:90::play_move_leftright:324 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::key_event#0 play_movement::render#1 current_piece_gfx#21 current_piece#16 current_ypos#20 current_orientation#21 current_xpos#23 current_piece#99 play_collision::orientation#1 play_collision::ypos#1 play_collision::xpos#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_leftright::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_leftright::return#0 = play_move_leftright::return#2 } { current_piece#18 = current_piece#99 } { play_collision::orientation#1 = play_collision::orientation#5 current_orientation#21 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#1 } { play_collision::xpos#1 = play_collision::xpos#6 } { play_collision::return#1 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [484] play_move_rotate::$5 = current_orientation#21 + $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [490] current_piece#101 = current_piece#16 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 current_piece#101 play_collision::orientation#3 play_collision::ypos#3 play_collision::xpos#3 play_move_rotate::orientation#3 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } { current_piece#101 = current_piece#18 } { play_collision::orientation#3 = play_collision::orientation#5 play_move_rotate::orientation#3 } { current_ypos#20 = play_collision::yp#0 play_collision::ypos#3 } { play_collision::xpos#3 = play_collision::xpos#6 current_xpos#27 } { play_collision::return#14 = play_collision::return#15 } } ) always clobbers reg byte a
|
|
Statement [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 [ current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_xpos#27 current_orientation#6 current_piece_gfx#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [497] play_move_rotate::$7 = current_orientation#21 - $10 [ current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] ( main:9::play_movement:90::play_move_rotate:329 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 score_bcd current_movedown_slow#22 current_piece_char#17 game_over#16 next_piece_idx#17 current_movedown_counter#15 lines_bcd#16 level#18 level_bcd#18 play_movement::render#2 current_piece#16 current_ypos#20 current_orientation#21 current_piece_gfx#21 current_xpos#27 play_move_rotate::$7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_rotate::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_rotate::return#0 = play_move_rotate::return#2 } } ) always clobbers reg byte a
|
|
Statement [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 [ render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::only_low#6 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 [ render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 render_bcd::$5 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [504] *render_bcd::screen_pos#0 = render_bcd::$6 [ render_bcd::bcd#6 render_bcd::screen_pos#0 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::bcd#6 render_bcd::screen_pos#0 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [507] render_bcd::$3 = render_bcd::bcd#6 & $f [ render_bcd::screen_pos#3 render_bcd::$3 ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_bcd::screen_pos#3 render_bcd::$3 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte a
|
|
Statement [509] *render_bcd::screen_pos#3 = render_bcd::$4 [ ] ( main:9::render_score:106::render_bcd:338 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#0 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#0 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:341 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#1 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#1 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:344 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#2 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#2 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:347 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#3 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#3 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:350 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 render_score::screen#3 ] { { render_bcd::screen#4 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#4 = render_bcd::bcd#6 } } main:9::render_score:106::render_bcd:353 [ score_bcd render_screen_show#17 current_movedown_slow#22 current_piece#16 current_piece_char#17 current_orientation#18 current_piece_gfx#19 current_xpos#2 current_ypos#20 game_over#16 next_piece_idx#17 keyboard_events_size#17 current_movedown_counter#15 level#18 render_screen_render#19 lines_bcd#16 level_bcd#18 ] { { render_bcd::screen#5 = render_bcd::screen#6 render_score::screen#3 } { render_bcd::bcd#5 = render_bcd::bcd#6 level_bcd#18 } } ) always clobbers reg byte y
|
|
Statement [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::$4 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::i#3 play_lock_current::l#6 play_lock_current::playfield_line#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 [ current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] ( main:9::play_movement:90::play_move_down:317::play_lock_current:443 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 current_piece_char#23 current_piece_gfx#12 current_xpos#13 play_lock_current::yp#2 play_lock_current::l#6 play_lock_current::playfield_line#0 play_lock_current::xp#2 play_lock_current::c#2 play_lock_current::i#1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } } ) always clobbers reg byte a
|
|
Statement [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS [ play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::y#8 play_remove_lines::removed#11 play_remove_lines::r#1 play_remove_lines::w#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [550] playfield[play_remove_lines::w#6] = 0 [ play_remove_lines::removed#7 play_remove_lines::w#6 ] ( main:9::play_movement:90::play_move_down:317::play_remove_lines:445 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 score_bcd current_movedown_slow#13 game_over#22 next_piece_idx#23 lines_bcd#20 level#25 level_bcd#10 play_remove_lines::removed#7 play_remove_lines::w#6 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_remove_lines::return#0 = play_remove_lines::removed#7 } } ) always clobbers reg byte a
|
|
Statement [555] play_update_score::$9 = play_update_score::removed#0 << 2 [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::$9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] [ score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 lines_bcd#20 level#25 level_bcd#10 play_update_score::removed#0 play_update_score::lines_before#0 play_update_score::add_bcd#0 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 play_update_score::add_bcd#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [559] score_bcd = score_bcd + play_update_score::add_bcd#0 [ score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd current_movedown_slow#13 level#25 level_bcd#10 play_update_score::lines_before#0 lines_bcd#31 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [569] if(level#22>=$1d+1) goto play_increase_level::@1 [ level_bcd#10 level#22 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22] [ level_bcd#10 level#22 current_movedown_slow#9 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level_bcd#10 level#22 current_movedown_slow#9 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte y
|
|
Statement [573] play_increase_level::$1 = level_bcd#22 & $f [ level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#22 play_increase_level::$1 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [575] level_bcd#7 = level_bcd#22 + 6 [ level#22 current_movedown_slow#67 level_bcd#7 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#7 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a reg byte x
|
|
Statement [579] play_increase_level::$5 = play_increase_level::b#2 << 2 [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 play_increase_level::$5 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Statement [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] [ level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] ( main:9::play_movement:90::play_move_down:317::play_update_score:449::play_increase_level:565 [ render_screen_show#17 render_screen_render#19 keyboard_events_size#17 play_movement::key_event#0 game_over#22 next_piece_idx#23 score_bcd lines_bcd#31 level#22 current_movedown_slow#67 level_bcd#63 play_increase_level::b#2 ] { { play_movement::key_event#0 = main::key_event#0 play_move_down::key_event#0 } { play_movement::return#2 = play_movement::return#3 } { play_move_down::return#0 = play_move_down::return#3 } { play_update_score::removed#0 = play_move_down::removed#0 } } ) always clobbers reg byte a
|
|
Potential registers zp[1]:2 [ render_screen_show#17 render_screen_show#14 ] : zp[1]:2 ,
|
|
Potential registers zp[1]:3 [ render_screen_render#19 render_screen_render#12 ] : zp[1]:3 ,
|
|
Potential registers zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ] : zp[1]:4 ,
|
|
Potential registers zp[1]:5 [ render_init::i#2 render_init::i#1 ] : zp[1]:5 , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:6 [ render_init::li_1#2 render_init::li_1#1 ] : zp[2]:6 ,
|
|
Potential registers zp[2]:8 [ render_init::li_2#2 render_init::li_2#1 ] : zp[2]:8 ,
|
|
Potential registers zp[1]:10 [ sprites_init::s#2 sprites_init::s#1 ] : zp[1]:10 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ] : zp[1]:11 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:12 [ play_init::j#2 play_init::j#1 ] : zp[1]:12 , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:13 [ play_init::pli#2 play_init::pli#1 ] : zp[2]:13 ,
|
|
Potential registers zp[1]:15 [ play_init::idx#2 play_init::idx#1 ] : zp[1]:15 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:16 [ play_init::b#2 play_init::b#1 ] : zp[1]:16 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:17 [ render_screen_render#24 render_screen_render#63 ] : zp[1]:17 , reg byte x ,
|
|
Potential registers zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ] : zp[1]:18 , reg byte x ,
|
|
Potential registers zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] : zp[1]:19 , reg byte x ,
|
|
Potential registers zp[2]:20 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] : zp[2]:20 ,
|
|
Potential registers zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ] : zp[1]:22 , reg byte x ,
|
|
Potential registers zp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ] : zp[1]:23 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:24 [ render_screen_render#35 render_screen_render#64 ] : zp[1]:24 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ] : zp[1]:25 , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:26 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ] : zp[2]:26 ,
|
|
Potential registers zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ] : zp[1]:28 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ] : zp[1]:29 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:30 [ render_moving::l#4 render_moving::l#1 ] : zp[1]:30 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] : zp[1]:31 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] : zp[1]:32 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:33 [ render_moving::c#2 render_moving::c#1 ] : zp[1]:33 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:34 [ render_screen_render#16 render_screen_render#65 ] : zp[1]:34 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ] : zp[1]:35 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:36 [ render_next::l#7 render_next::l#1 ] : zp[1]:36 , reg byte x ,
|
|
Potential registers zp[2]:37 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 ] : zp[2]:37 ,
|
|
Potential registers zp[2]:39 [ 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[2]:39 ,
|
|
Potential registers zp[1]:41 [ render_next::c#2 render_next::c#1 ] : zp[1]:41 , reg byte x ,
|
|
Potential registers zp[1]:42 [ render_show::d018val#3 ] : zp[1]:42 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] : zp[1]:43 ,
|
|
Potential registers zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] : zp[1]:44 , reg byte x ,
|
|
Potential registers zp[1]:45 [ 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 ] : zp[1]:45 , reg byte x ,
|
|
Potential registers zp[1]:46 [ 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 ] : zp[1]:46 ,
|
|
Potential registers zp[1]:47 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] : zp[1]:47 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] : zp[1]:48 , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:49 [ render_score::screen#3 ] : zp[2]:49 ,
|
|
Potential registers zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ] : zp[1]:51 , reg byte x ,
|
|
Potential registers zp[2]:52 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] : zp[2]:52 ,
|
|
Potential registers zp[2]:54 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] : zp[2]:54 ,
|
|
Potential registers zp[2]:56 [ 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 ] : zp[2]:56 ,
|
|
Potential registers zp[2]:58 [ 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 ] : zp[2]:58 ,
|
|
Potential registers zp[1]:60 [ 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[1]:60 , reg byte x ,
|
|
Potential registers zp[2]:61 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ] : zp[2]:61 ,
|
|
Potential registers zp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] : zp[1]:63 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] : zp[1]:64 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:65 [ 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 ] : zp[1]:65 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:66 [ play_collision::l#6 play_collision::l#1 ] : zp[1]:66 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] : zp[1]:67 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] : zp[1]:68 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:69 [ play_collision::c#2 play_collision::c#1 ] : zp[1]:69 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:70 [ play_collision::return#15 ] : zp[1]:70 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:71 [ keyboard_event_pressed::keycode#5 ] : zp[1]:71 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:72 [ 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 ] : zp[1]:72 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ] : zp[1]:73 ,
|
|
Potential registers zp[2]:74 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ] : zp[2]:74 ,
|
|
Potential registers zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ] : zp[1]:76 ,
|
|
Potential registers zp[1]:77 [ 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]:77 ,
|
|
Potential registers zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ] : zp[1]:78 ,
|
|
Potential registers zp[2]:79 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ] : zp[2]:79 ,
|
|
Potential registers zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ] : zp[1]:81 ,
|
|
Potential registers zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ] : zp[1]:82 ,
|
|
Potential registers zp[2]:83 [ 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[2]:83 ,
|
|
Potential registers zp[1]:85 [ 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]:85 ,
|
|
Potential registers zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ] : zp[1]:86 ,
|
|
Potential registers zp[1]:87 [ 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 ] : zp[1]:87 ,
|
|
Potential registers zp[1]:88 [ play_move_down::return#3 ] : zp[1]:88 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:89 [ play_move_leftright::return#2 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:90 [ play_move_rotate::return#2 ] : zp[1]:90 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] : zp[1]:91 , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:92 [ 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 ] : zp[2]:92 ,
|
|
Potential registers zp[2]:94 [ render_bcd::offset#6 ] : zp[2]:94 ,
|
|
Potential registers zp[1]:96 [ render_bcd::only_low#6 ] : zp[1]:96 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:97 [ 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]:97 , reg byte x ,
|
|
Potential registers zp[2]:98 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] : zp[2]:98 ,
|
|
Potential registers zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ] : zp[1]:100 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ] : zp[1]:101 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] : zp[1]:102 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] : zp[1]:103 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:104 [ play_lock_current::c#2 play_lock_current::c#1 ] : zp[1]:104 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ] : zp[1]:105 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] : zp[1]:106 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:107 [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] : zp[1]:107 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ] : zp[1]:108 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ] : zp[1]:109 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:110 [ 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 ] : zp[1]:110 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:111 [ play_increase_level::b#2 play_increase_level::b#1 ] : zp[1]:111 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:112 [ render_screen_showing ] : zp[1]:112 ,
|
|
Potential registers zp[4]:113 [ score_bcd ] : zp[4]:113 ,
|
|
Potential registers zp[1]:117 [ irq_raster_next ] : zp[1]:117 ,
|
|
Potential registers zp[1]:118 [ irq_sprite_ypos ] : zp[1]:118 ,
|
|
Potential registers zp[1]:119 [ irq_sprite_ptr ] : zp[1]:119 ,
|
|
Potential registers zp[1]:120 [ irq_cnt ] : zp[1]:120 ,
|
|
Potential registers zp[1]:121 [ sprites_irq::ypos#0 ] : zp[1]:121 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:122 [ sprites_irq::$0 ] : zp[1]:122 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ] : zp[1]:123 ,
|
|
Potential registers zp[1]:124 [ sprites_irq::ptr#0 ] : zp[1]:124 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:125 [ sprites_irq::ptr#3 ] : zp[1]:125 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:126 [ sprites_irq::ptr#4 ] : zp[1]:126 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:127 [ sprites_irq::ptr#1 ] : zp[1]:127 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:128 [ sprites_irq::ptr#2 ] : zp[1]:128 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:129 [ keyboard_event_get::return#3 ] : zp[1]:129 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:130 [ main::key_event#0 ] : zp[1]:130 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:131 [ play_movement::key_event#0 ] : zp[1]:131 ,
|
|
Potential registers zp[1]:132 [ play_movement::return#3 ] : zp[1]:132 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:133 [ main::render#1 ] : zp[1]:133 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:134 [ render_init::$5 ] : zp[1]:134 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:135 [ sprites_init::s2#0 ] : zp[1]:135 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:136 [ play_init::$2 ] : zp[1]:136 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:137 [ play_init::$3 ] : zp[1]:137 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:138 [ play_spawn_current::current_piece_idx#0 ] : zp[1]:138 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:139 [ play_spawn_current::$7 ] : zp[1]:139 , reg byte x ,
|
|
Potential registers zp[1]:140 [ play_collision::return#10 ] : zp[1]:140 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:141 [ play_spawn_current::$1 ] : zp[1]:141 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:142 [ play_spawn_current::sid_rnd1_return#0 ] : zp[1]:142 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:143 [ render_playfield::$0 ] : zp[1]:143 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:144 [ render_playfield::$3 ] : zp[1]:144 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:145 [ render_moving::$1 ] : zp[1]:145 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:146 [ render_moving::$6 ] : zp[1]:146 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:147 [ render_moving::screen_line#0 ] : zp[2]:147 ,
|
|
Potential registers zp[1]:149 [ render_moving::current_cell#0 ] : zp[1]:149 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:150 [ render_next::$6 ] : zp[1]:150 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:151 [ render_next::next_piece_char#0 ] : zp[1]:151 , reg byte x ,
|
|
Potential registers zp[1]:152 [ render_next::cell#0 ] : zp[1]:152 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:153 [ keyboard_matrix_read::rowid#0 ] : zp[1]:153 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:154 [ keyboard_matrix_read::return#2 ] : zp[1]:154 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:155 [ keyboard_event_scan::row_scan#0 ] : zp[1]:155 , reg byte x ,
|
|
Potential registers zp[1]:156 [ keyboard_event_pressed::return#0 ] : zp[1]:156 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:157 [ keyboard_event_scan::$0 ] : zp[1]:157 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:158 [ keyboard_event_pressed::return#1 ] : zp[1]:158 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:159 [ keyboard_event_scan::$3 ] : zp[1]:159 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:160 [ keyboard_event_pressed::return#2 ] : zp[1]:160 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:161 [ keyboard_event_scan::$6 ] : zp[1]:161 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:162 [ keyboard_event_pressed::return#10 ] : zp[1]:162 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:163 [ keyboard_event_scan::$9 ] : zp[1]:163 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:164 [ keyboard_event_scan::$15 ] : zp[1]:164 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:165 [ keyboard_event_scan::$16 ] : zp[1]:165 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:166 [ keyboard_event_scan::event_type#0 ] : zp[1]:166 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:167 [ keyboard_event_scan::$23 ] : zp[1]:167 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:168 [ play_move_down::key_event#0 ] : zp[1]:168 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:169 [ play_move_down::return#0 ] : zp[1]:169 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:170 [ play_move_leftright::key_event#0 ] : zp[1]:170 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:171 [ play_move_leftright::return#0 ] : zp[1]:171 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:172 [ play_movement::$3 ] : zp[1]:172 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:173 [ play_movement::render#2 ] : zp[1]:173 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:174 [ play_move_rotate::key_event#0 ] : zp[1]:174 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:175 [ play_move_rotate::return#0 ] : zp[1]:175 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:176 [ play_movement::$4 ] : zp[1]:176 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:177 [ play_collision::piece_gfx#0 ] : zp[2]:177 ,
|
|
Potential registers zp[1]:179 [ play_collision::$14 ] : zp[1]:179 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:180 [ play_collision::playfield_line#0 ] : zp[2]:180 ,
|
|
Potential registers zp[1]:182 [ play_collision::i#1 ] : zp[1]:182 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:183 [ play_collision::$5 ] : zp[1]:183 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:184 [ keyboard_matrix_read::return#0 ] : zp[1]:184 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:185 [ keyboard_event_pressed::$0 ] : zp[1]:185 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:186 [ keyboard_event_pressed::row_bits#0 ] : zp[1]:186 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:187 [ keyboard_event_pressed::$1 ] : zp[1]:187 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:188 [ keyboard_event_pressed::return#11 ] : zp[1]:188 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:189 [ keyboard_event_pressed::return#12 ] : zp[1]:189 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:190 [ play_move_down::$2 ] : zp[1]:190 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:191 [ play_collision::return#0 ] : zp[1]:191 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:192 [ play_move_down::$12 ] : zp[1]:192 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:193 [ play_remove_lines::return#0 ] : zp[1]:193 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:194 [ play_move_down::removed#0 ] : zp[1]:194 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:195 [ play_update_score::removed#0 ] : zp[1]:195 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:196 [ play_collision::return#13 ] : zp[1]:196 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:197 [ play_move_leftright::$4 ] : zp[1]:197 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:198 [ play_collision::return#1 ] : zp[1]:198 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:199 [ play_move_leftright::$8 ] : zp[1]:199 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:200 [ play_move_rotate::$5 ] : zp[1]:200 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:201 [ play_collision::return#14 ] : zp[1]:201 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:202 [ play_move_rotate::$2 ] : zp[1]:202 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:203 [ play_move_rotate::$7 ] : zp[1]:203 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:204 [ render_bcd::$5 ] : zp[1]:204 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:205 [ render_bcd::$6 ] : zp[1]:205 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:206 [ render_bcd::$3 ] : zp[1]:206 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:207 [ render_bcd::$4 ] : zp[1]:207 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:208 [ play_lock_current::$4 ] : zp[1]:208 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[2]:209 [ play_lock_current::playfield_line#0 ] : zp[2]:209 ,
|
|
Potential registers zp[1]:211 [ play_lock_current::i#1 ] : zp[1]:211 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:212 [ play_remove_lines::c#0 ] : zp[1]:212 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:213 [ play_update_score::$2 ] : zp[1]:213 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:214 [ play_update_score::lines_before#0 ] : zp[1]:214 , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:215 [ play_update_score::$9 ] : zp[1]:215 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[4]:216 [ play_update_score::add_bcd#0 ] : zp[4]:216 ,
|
|
Potential registers zp[1]:220 [ play_update_score::$4 ] : zp[1]:220 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:221 [ play_update_score::lines_after#0 ] : zp[1]:221 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:222 [ play_increase_level::$1 ] : zp[1]:222 , reg byte a , reg byte x , reg byte y ,
|
|
Potential registers zp[1]:223 [ play_increase_level::$5 ] : zp[1]:223 , reg byte a , reg byte x , reg byte y ,
|
|
|
|
REGISTER UPLIFT SCOPES
|
|
Uplift Scope [play_collision] 380,000,000,006.5: zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] 200,000,000,002: zp[1]:183 [ play_collision::$5 ] 133,750,000,003.25: zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] 122,222,222,223.44: zp[1]:69 [ play_collision::c#2 play_collision::c#1 ] 20,000,000,002: zp[1]:179 [ play_collision::$14 ] 16,153,846,154.08: zp[1]:182 [ play_collision::i#1 ] 13,132,575,007.31: zp[1]:65 [ 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 ] 11,176,470,589.35: zp[1]:66 [ play_collision::l#6 play_collision::l#1 ] 7,857,142,857.29: zp[2]:180 [ play_collision::playfield_line#0 ] 4,762,380,952.48: zp[2]:177 [ play_collision::piece_gfx#0 ] 455,492,427.35: zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] 10,800,009: zp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] 2,000,002: zp[1]:140 [ play_collision::return#10 ] 200,002: zp[1]:191 [ play_collision::return#0 ] 200,002: zp[1]:196 [ play_collision::return#13 ] 200,002: zp[1]:198 [ play_collision::return#1 ] 200,002: zp[1]:201 [ play_collision::return#14 ] 200,000.71: zp[1]:70 [ play_collision::return#15 ]
|
|
Uplift Scope [play_lock_current] 38,000,000,006.5: zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] 14,750,000,003.5: zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] 14,000,000,001.4: zp[1]:104 [ play_lock_current::c#2 play_lock_current::c#1 ] 2,333,333,333.67: zp[1]:211 [ play_lock_current::i#1 ] 2,000,000,002: zp[1]:208 [ play_lock_current::$4 ] 1,153,846,155: zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ] 1,100,000,000.2: zp[2]:209 [ play_lock_current::playfield_line#0 ] 752,083,336.17: zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Uplift Scope [play_remove_lines] 19,000,000,004.21: zp[1]:107 [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ] 17,928,571,438.14: zp[1]:110 [ 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 ] 17,500,000,001.75: zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ] 8,200,000,001: zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ] 6,000,000,000.6: zp[1]:212 [ play_remove_lines::c#0 ] 2,564,113,677.89: zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] 1,633,333,334.97: zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ] 200,002: zp[1]:193 [ play_remove_lines::return#0 ]
|
|
Uplift Scope [play_increase_level] 40,000,000,004: zp[1]:223 [ play_increase_level::$5 ] 25,000,000,002.5: zp[1]:111 [ play_increase_level::b#2 play_increase_level::b#1 ] 20,000,002: zp[1]:222 [ play_increase_level::$1 ]
|
|
Uplift Scope [] 2,101,417,003.77: zp[1]:87 [ 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 ] 588,273,523.09: zp[1]:46 [ 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 ] 182,589,729.94: zp[2]:83 [ 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 ] 182,161,655.2: zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ] 36,379,641.34: zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ] 21,522,727.69: zp[1]:77 [ 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 ] 19,012,786.51: zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ] 14,200,016: zp[2]:61 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ] 2,655,686.72: zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ] 1,310,325.83: zp[2]:74 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ] 611,596.9: zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ] 438,675.79: zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ] 427,344.55: zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ] 415,859.78: zp[2]:79 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ] 47,848.43: zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ] 47,736.43: zp[2]:26 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ] 37,176.6: zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ] 14,705.91: zp[4]:113 [ score_bcd ] 7,902.15: zp[1]:17 [ render_screen_render#24 render_screen_render#63 ] 4,841.95: zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ] 4,817.26: zp[1]:24 [ render_screen_render#35 render_screen_render#64 ] 1,203: zp[1]:34 [ render_screen_render#16 render_screen_render#65 ] 1,158.9: zp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ] 1,000.5: zp[1]:112 [ render_screen_showing ] 944.98: zp[1]:2 [ render_screen_show#17 render_screen_show#14 ] 646.8: zp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ] 360.27: zp[1]:3 [ render_screen_render#19 render_screen_render#12 ] 0.48: zp[1]:118 [ irq_sprite_ypos ] 0.48: zp[1]:120 [ irq_cnt ] 0.45: zp[1]:119 [ irq_sprite_ptr ] 0.44: zp[1]:117 [ irq_raster_next ]
|
|
Uplift Scope [play_spawn_current] 2,000,000,002: zp[1]:142 [ play_spawn_current::sid_rnd1_return#0 ] 2,000,002: zp[1]:141 [ play_spawn_current::$1 ] 1,250,001.25: zp[1]:138 [ play_spawn_current::current_piece_idx#0 ] 32,258.1: zp[1]:139 [ play_spawn_current::$7 ]
|
|
Uplift Scope [keyboard_event_scan] 200,000,002: zp[1]:164 [ keyboard_event_scan::$15 ] 200,000,002: zp[1]:165 [ keyboard_event_scan::$16 ] 200,000,002: zp[1]:166 [ keyboard_event_scan::event_type#0 ] 200,000,002: zp[1]:167 [ keyboard_event_scan::$23 ] 178,571,430.36: zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] 119,038,466.17: zp[1]:45 [ 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 ] 21,000,001.74: zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] 12,777,778.06: zp[1]:155 [ keyboard_event_scan::row_scan#0 ] 20,002: zp[1]:157 [ keyboard_event_scan::$0 ] 20,002: zp[1]:159 [ keyboard_event_scan::$3 ] 20,002: zp[1]:161 [ keyboard_event_scan::$6 ] 20,002: zp[1]:163 [ keyboard_event_scan::$9 ]
|
|
Uplift Scope [keyboard_matrix_read] 110,000,002: zp[1]:153 [ keyboard_matrix_read::rowid#0 ] 36,666,667.33: zp[1]:184 [ keyboard_matrix_read::return#0 ] 20,000,002: zp[1]:154 [ keyboard_matrix_read::return#2 ]
|
|
Uplift Scope [play_update_score] 2,000,002: zp[1]:213 [ play_update_score::$2 ] 2,000,002: zp[1]:215 [ play_update_score::$9 ] 2,000,002: zp[1]:220 [ play_update_score::$4 ] 2,000,002: zp[1]:221 [ play_update_score::lines_after#0 ] 666,667.33: zp[4]:216 [ play_update_score::add_bcd#0 ] 442,857.71: zp[1]:195 [ play_update_score::removed#0 ] 222,222.44: zp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Uplift Scope [render_moving] 2,600,005.75: zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] 1,833,335.17: zp[1]:33 [ render_moving::c#2 render_moving::c#1 ] 1,486,670.13: zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] 1,000,001: zp[1]:149 [ render_moving::current_cell#0 ] 200,002: zp[1]:145 [ render_moving::$1 ] 200,002: zp[1]:146 [ render_moving::$6 ] 161,766.32: zp[1]:30 [ render_moving::l#4 render_moving::l#1 ] 110,000.2: zp[2]:147 [ render_moving::screen_line#0 ] 93,732.15: zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Uplift Scope [render_next] 1,963,007.3: zp[2]:37 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 ] 1,785,716.07: zp[1]:41 [ render_next::c#2 render_next::c#1 ] 1,651,255.75: zp[2]:39 [ 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 ] 1,000,001: zp[1]:152 [ render_next::cell#0 ] 168,183.5: zp[1]:36 [ render_next::l#7 render_next::l#1 ] 66,733.47: zp[1]:151 [ render_next::next_piece_char#0 ] 500.5: zp[1]:150 [ render_next::$6 ]
|
|
Uplift Scope [render_playfield] 2,250,004.5: zp[2]:20 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] 2,000,002: zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ] 1,503,335.77: zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] 200,002: zp[1]:143 [ render_playfield::$0 ] 200,002: zp[1]:144 [ render_playfield::$3 ] 180,001.8: zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Uplift Scope [keyboard_event_pressed] 2,000,002: zp[1]:185 [ keyboard_event_pressed::$0 ] 2,000,002: zp[1]:187 [ keyboard_event_pressed::$1 ] 1,000,001: zp[1]:186 [ keyboard_event_pressed::row_bits#0 ] 666,667.33: zp[1]:71 [ keyboard_event_pressed::keycode#5 ] 200,002: zp[1]:189 [ keyboard_event_pressed::return#12 ] 162,858: zp[1]:188 [ keyboard_event_pressed::return#11 ] 20,002: zp[1]:156 [ keyboard_event_pressed::return#0 ] 20,002: zp[1]:158 [ keyboard_event_pressed::return#1 ] 20,002: zp[1]:160 [ keyboard_event_pressed::return#2 ] 20,002: zp[1]:162 [ keyboard_event_pressed::return#10 ]
|
|
Uplift Scope [render_screen_original] 709,868.6: zp[2]:56 [ 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 ] 692,864.07: zp[1]:60 [ 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 ] 494,507.15: zp[2]:58 [ 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 ] 161,085.12: zp[2]:52 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] 97,917.83: zp[2]:54 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] 15,834.92: zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Uplift Scope [play_move_down] 1,000,010: zp[1]:72 [ 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 ] 200,002: zp[1]:190 [ play_move_down::$2 ] 200,002: zp[1]:192 [ play_move_down::$12 ] 200,002: zp[1]:194 [ play_move_down::removed#0 ] 55,001: zp[1]:168 [ play_move_down::key_event#0 ] 20,002: zp[1]:169 [ play_move_down::return#0 ] 3,333.67: zp[1]:88 [ play_move_down::return#3 ]
|
|
Uplift Scope [play_move_rotate] 444,448.89: zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] 200,002: zp[1]:200 [ play_move_rotate::$5 ] 200,002: zp[1]:202 [ play_move_rotate::$2 ] 200,002: zp[1]:203 [ play_move_rotate::$7 ] 105,001.5: zp[1]:174 [ play_move_rotate::key_event#0 ] 20,002: zp[1]:175 [ play_move_rotate::return#0 ] 3,333.67: zp[1]:90 [ play_move_rotate::return#2 ]
|
|
Uplift Scope [play_move_leftright] 200,002: zp[1]:197 [ play_move_leftright::$4 ] 200,002: zp[1]:199 [ play_move_leftright::$8 ] 105,001.5: zp[1]:170 [ play_move_leftright::key_event#0 ] 20,002: zp[1]:171 [ play_move_leftright::return#0 ] 3,333.67: zp[1]:89 [ play_move_leftright::return#2 ]
|
|
Uplift Scope [render_bcd] 38,003.8: zp[2]:98 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] 24,015: zp[2]:92 [ 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 ] 20,002: zp[1]:204 [ render_bcd::$5 ] 20,002: zp[1]:205 [ render_bcd::$6 ] 20,002: zp[1]:206 [ render_bcd::$3 ] 20,002: zp[1]:207 [ render_bcd::$4 ] 13,261: zp[1]:97 [ 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 ] 10,001: zp[2]:94 [ render_bcd::offset#6 ] 5,000.5: zp[1]:96 [ render_bcd::only_low#6 ]
|
|
Uplift Scope [play_movement] 32,003.5: zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] 20,002: zp[1]:172 [ play_movement::$3 ] 20,002: zp[1]:176 [ play_movement::$4 ] 4,000.4: zp[1]:173 [ play_movement::render#2 ] 2,818.55: zp[1]:131 [ play_movement::key_event#0 ] 2,002: zp[1]:132 [ play_movement::return#3 ]
|
|
Uplift Scope [keyboard_event_get] 23,669.33: zp[1]:47 [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] 2,002: zp[1]:129 [ keyboard_event_get::return#3 ]
|
|
Uplift Scope [play_init] 3,003: zp[1]:137 [ play_init::$3 ] 2,502.5: zp[1]:16 [ play_init::b#2 play_init::b#1 ] 2,168.83: zp[1]:12 [ play_init::j#2 play_init::j#1 ] 2,002: zp[1]:136 [ play_init::$2 ] 1,267.93: zp[1]:15 [ play_init::idx#2 play_init::idx#1 ] 1,251.25: zp[2]:13 [ play_init::pli#2 play_init::pli#1 ]
|
|
Uplift Scope [render_show] 10,001: zp[1]:42 [ render_show::d018val#3 ]
|
|
Uplift Scope [render_init] 2,002: zp[1]:5 [ render_init::i#2 render_init::i#1 ] 1,501.5: zp[1]:134 [ render_init::$5 ] 1,267.93: zp[2]:8 [ render_init::li_2#2 render_init::li_2#1 ] 1,251.25: zp[2]:6 [ render_init::li_1#2 render_init::li_1#1 ]
|
|
Uplift Scope [sprites_init] 2,302.3: zp[1]:10 [ sprites_init::s#2 sprites_init::s#1 ] 2,002: zp[1]:135 [ sprites_init::s2#0 ] 1,418.08: zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Uplift Scope [main] 2,002: zp[1]:133 [ main::render#1 ] 1,001: zp[1]:130 [ main::key_event#0 ]
|
|
Uplift Scope [render_score] 375.38: zp[2]:49 [ render_score::screen#3 ]
|
|
Uplift Scope [sprites_irq] 6.5: zp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ] 4: zp[1]:122 [ sprites_irq::$0 ] 4: zp[1]:126 [ sprites_irq::ptr#4 ] 4: zp[1]:128 [ sprites_irq::ptr#2 ] 2.67: zp[1]:125 [ sprites_irq::ptr#3 ] 2.67: zp[1]:127 [ sprites_irq::ptr#1 ] 2.5: zp[1]:121 [ sprites_irq::ypos#0 ] 2.5: zp[1]:124 [ sprites_irq::ptr#0 ]
|
|
Uplift Scope [MOS6526_CIA]
|
|
Uplift Scope [MOS6569_VICII]
|
|
Uplift Scope [MOS6581_SID]
|
|
Uplift Scope [render_screen_swap]
|
|
Uplift Scope [sprites_irq_init]
|
|
Uplift Scope [__start]
|
|
|
|
Uplifting [play_collision] best 4788740 combination zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] reg byte a [ play_collision::$5 ] zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] reg byte x [ play_collision::c#2 play_collision::c#1 ] zp[1]:179 [ play_collision::$14 ] zp[1]:182 [ play_collision::i#1 ] zp[1]:65 [ 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 ] zp[1]:66 [ play_collision::l#6 play_collision::l#1 ] zp[2]:180 [ play_collision::playfield_line#0 ] zp[2]:177 [ play_collision::piece_gfx#0 ] zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] zp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ] zp[1]:140 [ play_collision::return#10 ] zp[1]:191 [ play_collision::return#0 ] zp[1]:196 [ play_collision::return#13 ] zp[1]:198 [ play_collision::return#1 ] zp[1]:201 [ play_collision::return#14 ] zp[1]:70 [ play_collision::return#15 ]
|
|
Limited combination testing to 100 combinations of 429981696 possible.
|
|
Uplifting [play_lock_current] best 4694740 combination zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ] zp[1]:211 [ play_lock_current::i#1 ] reg byte a [ play_lock_current::$4 ] zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ] zp[2]:209 [ play_lock_current::playfield_line#0 ] zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Limited combination testing to 100 combinations of 2916 possible.
|
|
Uplifting [play_remove_lines] best 4555740 combination 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 ] zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ] zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ] zp[1]:212 [ play_remove_lines::c#0 ] zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ] zp[1]:193 [ play_remove_lines::return#0 ]
|
|
Limited combination testing to 100 combinations of 20736 possible.
|
|
Uplifting [play_increase_level] best 4541734 combination reg byte a [ play_increase_level::$5 ] reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ] reg byte a [ play_increase_level::$1 ]
|
|
Uplifting [] best 4541601 combination zp[1]:87 [ 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 ] zp[1]:46 [ 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 ] zp[2]:83 [ 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]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ] zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ] zp[1]:77 [ 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]:85 [ 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[2]:61 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ] zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ] zp[2]:74 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ] zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ] zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ] zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ] zp[2]:79 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ] zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ] zp[2]:26 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ] zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ] zp[4]:113 [ score_bcd ] reg byte x [ render_screen_render#24 render_screen_render#63 ] zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ] zp[1]:24 [ render_screen_render#35 render_screen_render#64 ] zp[1]:34 [ render_screen_render#16 render_screen_render#65 ] zp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ] zp[1]:112 [ render_screen_showing ] zp[1]:2 [ render_screen_show#17 render_screen_show#14 ] zp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ] zp[1]:3 [ render_screen_render#19 render_screen_render#12 ] zp[1]:118 [ irq_sprite_ypos ] zp[1]:120 [ irq_cnt ] zp[1]:119 [ irq_sprite_ptr ] zp[1]:117 [ irq_raster_next ]
|
|
Limited combination testing to 100 combinations of 1944 possible.
|
|
Uplifting [play_spawn_current] best 4535582 combination reg byte a [ play_spawn_current::sid_rnd1_return#0 ] reg byte a [ play_spawn_current::$1 ] reg byte x [ play_spawn_current::current_piece_idx#0 ] zp[1]:139 [ play_spawn_current::$7 ]
|
|
Uplifting [keyboard_event_scan] best 4295582 combination 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 ] zp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ] zp[1]:45 [ 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 ] zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] zp[1]:155 [ keyboard_event_scan::row_scan#0 ] zp[1]:157 [ keyboard_event_scan::$0 ] zp[1]:159 [ keyboard_event_scan::$3 ] zp[1]:161 [ keyboard_event_scan::$6 ] zp[1]:163 [ keyboard_event_scan::$9 ]
|
|
Limited combination testing to 100 combinations of 524288 possible.
|
|
Uplifting [keyboard_matrix_read] best 4283576 combination reg byte x [ keyboard_matrix_read::rowid#0 ] reg byte a [ keyboard_matrix_read::return#0 ] reg byte a [ keyboard_matrix_read::return#2 ]
|
|
Uplifting [play_update_score] best 4283554 combination reg byte a [ play_update_score::$2 ] reg byte a [ play_update_score::$9 ] reg byte a [ play_update_score::$4 ] reg byte a [ play_update_score::lines_after#0 ] zp[4]:216 [ play_update_score::add_bcd#0 ] zp[1]:195 [ play_update_score::removed#0 ] zp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Limited combination testing to 100 combinations of 2304 possible.
|
|
Uplifting [render_moving] best 4268554 combination zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] reg byte x [ render_moving::c#2 render_moving::c#1 ] zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] reg byte a [ render_moving::current_cell#0 ] zp[1]:145 [ render_moving::$1 ] zp[1]:146 [ render_moving::$6 ] zp[1]:30 [ render_moving::l#4 render_moving::l#1 ] zp[2]:147 [ render_moving::screen_line#0 ] zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Limited combination testing to 100 combinations of 15552 possible.
|
|
Uplifting [render_next] best 4253550 combination zp[2]:37 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 ] reg byte x [ render_next::c#2 render_next::c#1 ] zp[2]:39 [ 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 ] reg byte a [ render_next::cell#0 ] zp[1]:36 [ render_next::l#7 render_next::l#1 ] zp[1]:151 [ render_next::next_piece_char#0 ] reg byte x [ render_next::$6 ]
|
|
Limited combination testing to 100 combinations of 128 possible.
|
|
Uplifting [render_playfield] best 4252550 combination zp[2]:20 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ] zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] reg byte a [ render_playfield::$0 ] reg byte a [ render_playfield::$3 ] zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Limited combination testing to 100 combinations of 128 possible.
|
|
Uplifting [keyboard_event_pressed] best 4252521 combination reg byte y [ keyboard_event_pressed::$0 ] reg byte x [ keyboard_event_pressed::$1 ] reg byte y [ keyboard_event_pressed::row_bits#0 ] reg byte x [ keyboard_event_pressed::keycode#5 ] zp[1]:189 [ keyboard_event_pressed::return#12 ] zp[1]:188 [ keyboard_event_pressed::return#11 ] zp[1]:156 [ keyboard_event_pressed::return#0 ] zp[1]:158 [ keyboard_event_pressed::return#1 ] zp[1]:160 [ keyboard_event_pressed::return#2 ] zp[1]:162 [ keyboard_event_pressed::return#10 ]
|
|
Limited combination testing to 100 combinations of 589824 possible.
|
|
Uplifting [render_screen_original] best 4250421 combination zp[2]:56 [ 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 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]:58 [ 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 ] zp[2]:52 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] zp[2]:54 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Uplifting [play_move_down] best 4250403 combination zp[1]:72 [ 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 ] reg byte a [ play_move_down::$2 ] reg byte a [ play_move_down::$12 ] reg byte a [ play_move_down::removed#0 ] zp[1]:168 [ play_move_down::key_event#0 ] zp[1]:169 [ play_move_down::return#0 ] zp[1]:88 [ play_move_down::return#3 ]
|
|
Limited combination testing to 100 combinations of 12288 possible.
|
|
Uplifting [play_move_rotate] best 4250387 combination zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] reg byte x [ play_move_rotate::$5 ] reg byte a [ play_move_rotate::$2 ] reg byte a [ play_move_rotate::$7 ] zp[1]:174 [ play_move_rotate::key_event#0 ] zp[1]:175 [ play_move_rotate::return#0 ] zp[1]:90 [ play_move_rotate::return#2 ]
|
|
Limited combination testing to 100 combinations of 12288 possible.
|
|
Uplifting [play_move_leftright] best 4250360 combination reg byte a [ play_move_leftright::$4 ] reg byte a [ play_move_leftright::$8 ] reg byte a [ play_move_leftright::key_event#0 ] reg byte a [ play_move_leftright::return#0 ] zp[1]:89 [ play_move_leftright::return#2 ]
|
|
Limited combination testing to 100 combinations of 1024 possible.
|
|
Uplifting [render_bcd] best 4250340 combination zp[2]:98 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] zp[2]:92 [ 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 ] reg byte a [ render_bcd::$5 ] reg byte a [ render_bcd::$6 ] reg byte a [ render_bcd::$3 ] reg byte a [ render_bcd::$4 ] zp[1]:97 [ 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[2]:94 [ render_bcd::offset#6 ] zp[1]:96 [ render_bcd::only_low#6 ]
|
|
Limited combination testing to 100 combinations of 1536 possible.
|
|
Uplifting [play_movement] best 4250328 combination zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] reg byte a [ play_movement::$3 ] reg byte a [ play_movement::$4 ] zp[1]:173 [ play_movement::render#2 ] zp[1]:131 [ play_movement::key_event#0 ] zp[1]:132 [ play_movement::return#3 ]
|
|
Limited combination testing to 100 combinations of 576 possible.
|
|
Uplifting [keyboard_event_get] best 4249422 combination reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ] reg byte a [ keyboard_event_get::return#3 ]
|
|
Uplifting [play_init] best 4249212 combination reg byte a [ play_init::$3 ] zp[1]:16 [ play_init::b#2 play_init::b#1 ] reg byte y [ play_init::j#2 play_init::j#1 ] reg byte x [ play_init::$2 ] zp[1]:15 [ play_init::idx#2 play_init::idx#1 ] zp[2]:13 [ play_init::pli#2 play_init::pli#1 ]
|
|
Limited combination testing to 100 combinations of 432 possible.
|
|
Uplifting [render_show] best 4249203 combination reg byte a [ render_show::d018val#3 ]
|
|
Uplifting [render_init] best 4249033 combination reg byte y [ render_init::i#2 render_init::i#1 ] reg byte x [ render_init::$5 ] zp[2]:8 [ render_init::li_2#2 render_init::li_2#1 ] zp[2]:6 [ render_init::li_1#2 render_init::li_1#1 ]
|
|
Uplifting [sprites_init] best 4248863 combination reg byte y [ sprites_init::s#2 sprites_init::s#1 ] reg byte x [ sprites_init::s2#0 ] zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Uplifting [main] best 4247863 combination reg byte a [ main::render#1 ] reg byte x [ main::key_event#0 ]
|
|
Uplifting [render_score] best 4247863 combination zp[2]:49 [ render_score::screen#3 ]
|
|
Uplifting [sprites_irq] best 4247839 combination zp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ] reg byte x [ sprites_irq::$0 ] reg byte a [ sprites_irq::ptr#4 ] reg byte a [ sprites_irq::ptr#2 ] reg byte a [ sprites_irq::ptr#3 ] zp[1]:127 [ sprites_irq::ptr#1 ] zp[1]:121 [ sprites_irq::ypos#0 ] zp[1]:124 [ sprites_irq::ptr#0 ]
|
|
Limited combination testing to 100 combinations of 12288 possible.
|
|
Uplifting [MOS6526_CIA] best 4247839 combination
|
|
Uplifting [MOS6569_VICII] best 4247839 combination
|
|
Uplifting [MOS6581_SID] best 4247839 combination
|
|
Uplifting [render_screen_swap] best 4247839 combination
|
|
Uplifting [sprites_irq_init] best 4247839 combination
|
|
Uplifting [__start] best 4247839 combination
|
|
Attempting to uplift remaining variables inzp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
Uplifting [play_collision] best 4247839 combination zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ]
|
|
Attempting to uplift remaining variables inzp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
Uplifting [play_collision] best 4247839 combination zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
Uplifting [play_lock_current] best 4247839 combination zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ]
|
|
Attempting to uplift remaining variables inzp[1]:179 [ play_collision::$14 ]
|
|
Uplifting [play_collision] best 4243839 combination reg byte a [ play_collision::$14 ]
|
|
Attempting to uplift remaining variables inzp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
|
Uplifting [play_remove_lines] best 4243839 combination zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:182 [ play_collision::i#1 ]
|
|
Uplifting [play_collision] best 4243839 combination zp[1]:182 [ play_collision::i#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
Uplifting [play_lock_current] best 4243839 combination zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:65 [ 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 ]
|
|
Uplifting [play_collision] best 4243839 combination zp[1]:65 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:66 [ play_collision::l#6 play_collision::l#1 ]
|
|
Uplifting [play_collision] best 4243839 combination zp[1]:66 [ play_collision::l#6 play_collision::l#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
|
Uplifting [play_remove_lines] best 4243839 combination zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:212 [ play_remove_lines::c#0 ]
|
|
Uplifting [play_remove_lines] best 4243839 combination zp[1]:212 [ play_remove_lines::c#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
Uplifting [play_remove_lines] best 4243839 combination zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:211 [ play_lock_current::i#1 ]
|
|
Uplifting [play_lock_current] best 4243839 combination zp[1]:211 [ play_lock_current::i#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:87 [ 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 ]
|
|
Uplifting [] best 4243839 combination zp[1]:87 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
Uplifting [play_remove_lines] best 4243839 combination zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
Uplifting [play_lock_current] best 4243839 combination zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Uplifting [play_lock_current] best 4243839 combination zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:46 [ 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 ]
|
|
Uplifting [] best 4243839 combination zp[1]:46 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
|
Uplifting [play_collision] best 4243839 combination zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ]
|
|
Attempting to uplift remaining variables inzp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Uplifting [] best 4243839 combination zp[1]:81 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Attempting to uplift remaining variables inzp[1]:44 [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
Uplifting [keyboard_event_scan] best 4093839 combination reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:45 [ 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 ]
|
|
Uplifting [keyboard_event_scan] best 4093839 combination zp[1]:45 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Uplifting [] best 4093839 combination zp[1]:78 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Attempting to uplift remaining variables inzp[1]:77 [ 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 ]
|
|
Uplifting [] best 4093839 combination zp[1]:77 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Uplifting [keyboard_event_scan] best 4093839 combination zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Uplifting [] best 4093839 combination zp[1]:85 [ current_xpos#45 current_xpos#13 current_xpos#100 current_xpos#2 current_xpos#23 current_xpos#27 current_xpos#5 current_xpos#7 ]
|
|
Attempting to uplift remaining variables inzp[1]:155 [ keyboard_event_scan::row_scan#0 ]
|
|
Uplifting [keyboard_event_scan] best 4093839 combination zp[1]:155 [ keyboard_event_scan::row_scan#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:63 [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
|
Uplifting [play_collision] best 4093823 combination reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
|
Attempting to uplift remaining variables inzp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Uplifting [] best 4093823 combination zp[1]:76 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Attempting to uplift remaining variables inzp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
Uplifting [render_moving] best 4093823 combination zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ]
|
|
Uplifting [render_playfield] best 4093823 combination zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:140 [ play_collision::return#10 ]
|
|
Uplifting [play_collision] best 4093817 combination reg byte a [ play_collision::return#10 ]
|
|
Attempting to uplift remaining variables inzp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
Uplifting [render_playfield] best 4093817 combination zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
Uplifting [render_moving] best 4093817 combination zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:72 [ 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 ]
|
|
Uplifting [play_move_down] best 4093817 combination zp[1]:72 [ 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Uplifting [] best 4093817 combination zp[1]:73 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Attempting to uplift remaining variables inzp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
Uplifting [play_move_rotate] best 4093817 combination zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:195 [ play_update_score::removed#0 ]
|
|
Uplifting [play_update_score] best 4093811 combination reg byte x [ play_update_score::removed#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Uplifting [] best 4093811 combination zp[1]:86 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Attempting to uplift remaining variables inzp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Uplifting [] best 4093811 combination zp[1]:82 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Attempting to uplift remaining variables inzp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Uplifting [play_update_score] best 4093811 combination zp[1]:214 [ play_update_score::lines_before#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:145 [ render_moving::$1 ]
|
|
Uplifting [render_moving] best 4093211 combination reg byte a [ render_moving::$1 ]
|
|
Attempting to uplift remaining variables inzp[1]:146 [ render_moving::$6 ]
|
|
Uplifting [render_moving] best 4092811 combination reg byte a [ render_moving::$6 ]
|
|
Attempting to uplift remaining variables inzp[1]:189 [ keyboard_event_pressed::return#12 ]
|
|
Uplifting [keyboard_event_pressed] best 4092805 combination reg byte a [ keyboard_event_pressed::return#12 ]
|
|
Attempting to uplift remaining variables inzp[1]:191 [ play_collision::return#0 ]
|
|
Uplifting [play_collision] best 4092799 combination reg byte a [ play_collision::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:193 [ play_remove_lines::return#0 ]
|
|
Uplifting [play_remove_lines] best 4092793 combination reg byte a [ play_remove_lines::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:196 [ play_collision::return#13 ]
|
|
Uplifting [play_collision] best 4092787 combination reg byte a [ play_collision::return#13 ]
|
|
Attempting to uplift remaining variables inzp[1]:198 [ play_collision::return#1 ]
|
|
Uplifting [play_collision] best 4092781 combination reg byte a [ play_collision::return#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:201 [ play_collision::return#14 ]
|
|
Uplifting [play_collision] best 4092775 combination reg byte a [ play_collision::return#14 ]
|
|
Attempting to uplift remaining variables inzp[1]:70 [ play_collision::return#15 ]
|
|
Uplifting [play_collision] best 4092745 combination reg byte a [ play_collision::return#15 ]
|
|
Attempting to uplift remaining variables inzp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Uplifting [render_playfield] best 4092745 combination zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:36 [ render_next::l#7 render_next::l#1 ]
|
|
Uplifting [render_next] best 4092745 combination zp[1]:36 [ render_next::l#7 render_next::l#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:188 [ keyboard_event_pressed::return#11 ]
|
|
Uplifting [keyboard_event_pressed] best 4092727 combination reg byte a [ keyboard_event_pressed::return#11 ]
|
|
Attempting to uplift remaining variables inzp[1]:30 [ render_moving::l#4 render_moving::l#1 ]
|
|
Uplifting [render_moving] best 4092727 combination zp[1]:30 [ render_moving::l#4 render_moving::l#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:174 [ play_move_rotate::key_event#0 ]
|
|
Uplifting [play_move_rotate] best 4092718 combination reg byte a [ play_move_rotate::key_event#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Uplifting [render_moving] best 4092718 combination zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:151 [ render_next::next_piece_char#0 ]
|
|
Uplifting [render_next] best 4092718 combination zp[1]:151 [ render_next::next_piece_char#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:168 [ play_move_down::key_event#0 ]
|
|
Uplifting [play_move_down] best 4092712 combination reg byte a [ play_move_down::key_event#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
Uplifting [] best 4092712 combination zp[1]:28 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
Attempting to uplift remaining variables inzp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Uplifting [] best 4092712 combination zp[1]:4 [ current_movedown_counter#17 current_movedown_counter#15 current_movedown_counter#13 ]
|
|
Attempting to uplift remaining variables inzp[1]:139 [ play_spawn_current::$7 ]
|
|
Uplifting [play_spawn_current] best 4092712 combination zp[1]:139 [ play_spawn_current::$7 ]
|
|
Attempting to uplift remaining variables inzp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
Uplifting [play_movement] best 4092712 combination zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:156 [ keyboard_event_pressed::return#0 ]
|
|
Uplifting [keyboard_event_pressed] best 4092706 combination reg byte a [ keyboard_event_pressed::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:157 [ keyboard_event_scan::$0 ]
|
|
Uplifting [keyboard_event_scan] best 4092700 combination reg byte a [ keyboard_event_scan::$0 ]
|
|
Attempting to uplift remaining variables inzp[1]:158 [ keyboard_event_pressed::return#1 ]
|
|
Uplifting [keyboard_event_pressed] best 4092694 combination reg byte a [ keyboard_event_pressed::return#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:159 [ keyboard_event_scan::$3 ]
|
|
Uplifting [keyboard_event_scan] best 4092688 combination reg byte a [ keyboard_event_scan::$3 ]
|
|
Attempting to uplift remaining variables inzp[1]:160 [ keyboard_event_pressed::return#2 ]
|
|
Uplifting [keyboard_event_pressed] best 4092682 combination reg byte a [ keyboard_event_pressed::return#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:161 [ keyboard_event_scan::$6 ]
|
|
Uplifting [keyboard_event_scan] best 4092676 combination reg byte a [ keyboard_event_scan::$6 ]
|
|
Attempting to uplift remaining variables inzp[1]:162 [ keyboard_event_pressed::return#10 ]
|
|
Uplifting [keyboard_event_pressed] best 4092670 combination reg byte a [ keyboard_event_pressed::return#10 ]
|
|
Attempting to uplift remaining variables inzp[1]:163 [ keyboard_event_scan::$9 ]
|
|
Uplifting [keyboard_event_scan] best 4092664 combination reg byte a [ keyboard_event_scan::$9 ]
|
|
Attempting to uplift remaining variables inzp[1]:169 [ play_move_down::return#0 ]
|
|
Uplifting [play_move_down] best 4092658 combination reg byte a [ play_move_down::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:175 [ play_move_rotate::return#0 ]
|
|
Uplifting [play_move_rotate] best 4092652 combination reg byte a [ play_move_rotate::return#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Uplifting [render_screen_original] best 4092652 combination zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:97 [ 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 ]
|
|
Uplifting [render_bcd] best 4092632 combination 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 ]
|
|
Attempting to uplift remaining variables inzp[1]:96 [ render_bcd::only_low#6 ]
|
|
Uplifting [render_bcd] best 4092611 combination reg byte y [ render_bcd::only_low#6 ]
|
|
Attempting to uplift remaining variables inzp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
Uplifting [] best 4092611 combination zp[1]:25 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
Attempting to uplift remaining variables inzp[1]:24 [ render_screen_render#35 render_screen_render#64 ]
|
|
Uplifting [] best 4092611 combination zp[1]:24 [ render_screen_render#35 render_screen_render#64 ]
|
|
Attempting to uplift remaining variables inzp[1]:173 [ play_movement::render#2 ]
|
|
Uplifting [play_movement] best 4092611 combination zp[1]:173 [ play_movement::render#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:88 [ play_move_down::return#3 ]
|
|
Uplifting [play_move_down] best 4092604 combination reg byte x [ play_move_down::return#3 ]
|
|
Attempting to uplift remaining variables inzp[1]:89 [ play_move_leftright::return#2 ]
|
|
Uplifting [play_move_leftright] best 4092595 combination reg byte a [ play_move_leftright::return#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:90 [ play_move_rotate::return#2 ]
|
|
Uplifting [play_move_rotate] best 4092586 combination reg byte a [ play_move_rotate::return#2 ]
|
|
Attempting to uplift remaining variables inzp[1]:131 [ play_movement::key_event#0 ]
|
|
Uplifting [play_movement] best 4092586 combination zp[1]:131 [ play_movement::key_event#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:16 [ play_init::b#2 play_init::b#1 ]
|
|
Uplifting [play_init] best 4092486 combination reg byte x [ play_init::b#2 play_init::b#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:132 [ play_movement::return#3 ]
|
|
Uplifting [play_movement] best 4091886 combination reg byte a [ play_movement::return#3 ]
|
|
Attempting to uplift remaining variables inzp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Uplifting [sprites_init] best 4091886 combination zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:15 [ play_init::idx#2 play_init::idx#1 ]
|
|
Uplifting [play_init] best 4091886 combination zp[1]:15 [ play_init::idx#2 play_init::idx#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:34 [ render_screen_render#16 render_screen_render#65 ]
|
|
Uplifting [] best 4091850 combination reg byte x [ render_screen_render#16 render_screen_render#65 ]
|
|
Attempting to uplift remaining variables inzp[1]:23 [ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
Uplifting [] best 4091814 combination reg byte x [ current_ypos#14 current_ypos#97 current_ypos#98 ]
|
|
Attempting to uplift remaining variables inzp[1]:112 [ render_screen_showing ]
|
|
Uplifting [] best 4091814 combination zp[1]:112 [ render_screen_showing ]
|
|
Attempting to uplift remaining variables inzp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Uplifting [] best 4091814 combination zp[1]:2 [ render_screen_show#17 render_screen_show#14 ]
|
|
Attempting to uplift remaining variables inzp[1]:35 [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
Uplifting [] best 4091777 combination reg byte y [ next_piece_idx#13 next_piece_idx#79 next_piece_idx#80 ]
|
|
Attempting to uplift remaining variables inzp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Uplifting [] best 4091777 combination zp[1]:3 [ render_screen_render#19 render_screen_render#12 ]
|
|
Attempting to uplift remaining variables inzp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ]
|
|
Uplifting [sprites_irq] best 4091777 combination zp[1]:123 [ sprites_irq::raster_sprite_gfx_modify ]
|
|
Attempting to uplift remaining variables inzp[1]:127 [ sprites_irq::ptr#1 ]
|
|
Uplifting [sprites_irq] best 4091765 combination reg byte x [ sprites_irq::ptr#1 ]
|
|
Attempting to uplift remaining variables inzp[1]:121 [ sprites_irq::ypos#0 ]
|
|
Uplifting [sprites_irq] best 4091750 combination reg byte a [ sprites_irq::ypos#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:124 [ sprites_irq::ptr#0 ]
|
|
Uplifting [sprites_irq] best 4091735 combination reg byte x [ sprites_irq::ptr#0 ]
|
|
Attempting to uplift remaining variables inzp[1]:118 [ irq_sprite_ypos ]
|
|
Uplifting [] best 4091735 combination zp[1]:118 [ irq_sprite_ypos ]
|
|
Attempting to uplift remaining variables inzp[1]:120 [ irq_cnt ]
|
|
Uplifting [] best 4091735 combination zp[1]:120 [ irq_cnt ]
|
|
Attempting to uplift remaining variables inzp[1]:119 [ irq_sprite_ptr ]
|
|
Uplifting [] best 4091735 combination zp[1]:119 [ irq_sprite_ptr ]
|
|
Attempting to uplift remaining variables inzp[1]:117 [ irq_raster_next ]
|
|
Uplifting [] best 4091735 combination zp[1]:117 [ irq_raster_next ]
|
|
Coalescing zero page register [ zp[2]:49 [ render_score::screen#3 ] ] with [ zp[2]:92 [ 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 ] ] - score: 6
|
|
Coalescing zero page register [ zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 ] ] with [ zp[1]:173 [ play_movement::render#2 ] ] - score: 2
|
|
Coalescing zero page register [ zp[2]:94 [ render_bcd::offset#6 ] ] with [ zp[2]:98 [ render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] ] - score: 1
|
|
Coalescing zero page register [ zp[2]:13 [ play_init::pli#2 play_init::pli#1 ] ] with [ zp[2]:6 [ render_init::li_1#2 render_init::li_1#1 ] ]
|
|
Coalescing zero page register [ zp[1]:15 [ play_init::idx#2 play_init::idx#1 ] ] with [ zp[1]:11 [ sprites_init::xpos#2 sprites_init::xpos#1 ] ]
|
|
Coalescing zero page register [ zp[2]:20 [ render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 ] ] with [ zp[2]:8 [ render_init::li_2#2 render_init::li_2#1 ] ]
|
|
Coalescing zero page register [ zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 ] ] with [ zp[1]:18 [ render_playfield::l#2 render_playfield::l#1 ] ]
|
|
Coalescing zero page register [ zp[1]:30 [ render_moving::l#4 render_moving::l#1 ] ] with [ zp[1]:19 [ render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] ]
|
|
Coalescing zero page register [ zp[1]:31 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#2 render_moving::i#1 ] ] with [ zp[1]:22 [ render_playfield::c#2 render_playfield::c#1 ] ]
|
|
Coalescing zero page register [ zp[1]:36 [ render_next::l#7 render_next::l#1 ] ] with [ zp[1]:32 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] ]
|
|
Coalescing zero page register [ zp[1]:48 [ play_movement::return#2 play_movement::render#1 play_movement::return#0 play_movement::render#2 ] ] with [ zp[1]:43 [ keyboard_event_scan::row#2 keyboard_event_scan::row#1 ] ]
|
|
Coalescing zero page register [ zp[2]:49 [ 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 ] ] with [ zp[2]:37 [ render_next::next_piece_gfx#2 render_next::next_piece_gfx#3 render_next::next_piece_gfx#8 render_next::next_piece_gfx#1 ] ]
|
|
Coalescing zero page register [ zp[1]:51 [ render_screen_original::y#6 render_screen_original::y#1 ] ] with [ zp[1]:45 [ 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 ] ]
|
|
Coalescing zero page register [ zp[2]:52 [ render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 ] ] with [ zp[2]:39 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:72 [ 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 ] ] with [ zp[1]:64 [ play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 ] ]
|
|
Coalescing zero page register [ zp[2]:94 [ render_bcd::offset#6 render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 ] ] with [ zp[2]:54 [ render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 ] ]
|
|
Coalescing zero page register [ zp[1]:100 [ play_lock_current::yp#2 play_lock_current::yp#0 play_lock_current::yp#1 ] ] with [ zp[1]:65 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 ] ] with [ zp[1]:66 [ play_collision::l#6 play_collision::l#1 ] ]
|
|
Coalescing zero page register [ zp[1]:102 [ play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 ] ] with [ zp[1]:67 [ play_collision::i#2 play_collision::i#3 play_collision::i#10 play_collision::i#12 ] ]
|
|
Coalescing zero page register [ zp[1]:103 [ play_lock_current::xp#2 play_lock_current::xp#0 play_lock_current::xp#1 ] ] with [ zp[1]:68 [ play_collision::xp#2 play_collision::xp#8 play_collision::xp#1 ] ]
|
|
Coalescing zero page register [ zp[1]:105 [ play_remove_lines::y#8 play_remove_lines::y#1 ] ] with [ zp[1]:91 [ play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 ] ]
|
|
Coalescing zero page register [ zp[1]:139 [ play_spawn_current::$7 ] ] with [ zp[1]:106 [ play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ] ]
|
|
Coalescing zero page register [ zp[2]:147 [ render_moving::screen_line#0 ] ] with [ zp[2]:56 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:151 [ render_next::next_piece_char#0 ] ] with [ zp[1]:108 [ play_remove_lines::x#2 play_remove_lines::x#1 ] ]
|
|
Coalescing zero page register [ zp[1]:155 [ keyboard_event_scan::row_scan#0 ] ] with [ zp[1]:109 [ play_remove_lines::full#4 play_remove_lines::full#2 ] ]
|
|
Coalescing zero page register [ zp[2]:177 [ play_collision::piece_gfx#0 ] ] with [ zp[2]:58 [ 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 ] ]
|
|
Coalescing zero page register [ zp[2]:209 [ play_lock_current::playfield_line#0 ] ] with [ zp[2]:180 [ play_collision::playfield_line#0 ] ]
|
|
Coalescing zero page register [ zp[1]:211 [ play_lock_current::i#1 ] ] with [ zp[1]:182 [ play_collision::i#1 ] ]
|
|
Coalescing zero page register [ zp[1]:214 [ play_update_score::lines_before#0 ] ] with [ zp[1]:212 [ play_remove_lines::c#0 ] ]
|
|
Coalescing zero page register [ zp[1]:29 [ render_moving::ypos#2 render_moving::ypos#0 render_moving::ypos#1 render_playfield::l#2 render_playfield::l#1 ] ] with [ zp[1]:15 [ play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 ] ]
|
|
Coalescing zero page register [ zp[1]:48 [ 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 ] ] with [ zp[1]:30 [ render_moving::l#4 render_moving::l#1 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 ] ]
|
|
Coalescing zero page register [ zp[2]:49 [ 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 ] ] with [ zp[2]:13 [ play_init::pli#2 play_init::pli#1 render_init::li_1#2 render_init::li_1#1 ] ]
|
|
Coalescing zero page register [ zp[1]:51 [ 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 ] ] with [ zp[1]:31 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:72 [ 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 ] ] with [ zp[1]:36 [ render_next::l#7 render_next::l#1 render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 ] ]
|
|
Coalescing zero page register [ zp[1]:151 [ render_next::next_piece_char#0 play_remove_lines::x#2 play_remove_lines::x#1 ] ] with [ zp[1]:100 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:155 [ keyboard_event_scan::row_scan#0 play_remove_lines::full#4 play_remove_lines::full#2 ] ] with [ zp[1]:101 [ play_lock_current::l#6 play_lock_current::l#1 play_collision::l#6 play_collision::l#1 ] ]
|
|
Coalescing zero page register [ zp[2]:209 [ play_lock_current::playfield_line#0 play_collision::playfield_line#0 ] ] with [ zp[2]:20 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:214 [ play_update_score::lines_before#0 play_remove_lines::c#0 ] ] with [ zp[1]:102 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:103 [ 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 ] ] with [ zp[1]:29 [ 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 ] ]
|
|
Coalescing zero page register [ zp[1]:105 [ 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 ] ] with [ zp[1]:51 [ 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 ] ]
|
|
Coalescing zero page register [ zp[2]:209 [ 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 ] ] with [ zp[2]:52 [ 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 ] ]
|
|
Allocated (was zp[1]:24) zp[1]:5 [ render_screen_render#35 render_screen_render#64 ]
|
|
Allocated (was zp[1]:25) zp[1]:6 [ current_xpos#61 current_xpos#118 current_xpos#119 ]
|
|
Allocated (was zp[2]:26) zp[2]:7 [ current_piece_gfx#66 current_piece_gfx#111 current_piece_gfx#112 ]
|
|
Allocated (was zp[1]:28) zp[1]:9 [ current_piece_char#70 current_piece_char#99 current_piece_char#100 ]
|
|
Allocated (was zp[1]:46) 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 ]
|
|
Allocated (was zp[1]:48) 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 ]
|
|
Allocated (was zp[2]:49) 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 ]
|
|
Allocated (was zp[2]:61) zp[2]:14 [ current_piece#18 current_piece#98 current_piece#99 current_piece#100 current_piece#101 current_piece#102 ]
|
|
Allocated (was zp[1]:72) 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 ]
|
|
Allocated (was zp[1]:73) zp[1]:17 [ current_ypos#40 current_ypos#2 current_ypos#10 current_ypos#5 current_ypos#20 ]
|
|
Allocated (was zp[2]:74) zp[2]:18 [ lines_bcd#28 lines_bcd#20 lines_bcd#16 lines_bcd#18 lines_bcd#31 ]
|
|
Allocated (was zp[1]:76) zp[1]:20 [ level#35 level#25 level#18 level#20 level#22 ]
|
|
Allocated (was zp[1]:77) 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 ]
|
|
Allocated (was zp[1]:78) zp[1]:22 [ level_bcd#33 level_bcd#10 level_bcd#18 level_bcd#20 level_bcd#63 level_bcd#22 level_bcd#7 ]
|
|
Allocated (was zp[2]:79) zp[2]:23 [ current_piece#30 current_piece#23 current_piece#103 current_piece#16 current_piece#95 ]
|
|
Allocated (was zp[1]:81) zp[1]:25 [ current_piece_char#31 current_piece_char#23 current_piece_char#4 current_piece_char#17 ]
|
|
Allocated (was zp[1]:82) zp[1]:26 [ current_orientation#39 current_orientation#12 current_orientation#18 current_orientation#21 current_orientation#26 current_orientation#6 ]
|
|
Allocated (was zp[2]:83) 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 ]
|
|
Allocated (was zp[1]:85) 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 ]
|
|
Allocated (was zp[1]:86) zp[1]:30 [ game_over#29 game_over#66 game_over#22 game_over#53 game_over#16 ]
|
|
Allocated (was zp[1]:87) 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 ]
|
|
Allocated (was zp[2]:94) 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 ]
|
|
Allocated (was zp[1]:103) 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 ]
|
|
Allocated (was zp[1]:105) 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 ]
|
|
Allocated (was zp[1]:112) zp[1]:36 [ render_screen_showing ]
|
|
Allocated (was zp[4]:113) zp[4]:37 [ score_bcd ]
|
|
Allocated (was zp[1]:117) zp[1]:41 [ irq_raster_next ]
|
|
Allocated (was zp[1]:118) zp[1]:42 [ irq_sprite_ypos ]
|
|
Allocated (was zp[1]:119) zp[1]:43 [ irq_sprite_ptr ]
|
|
Allocated (was zp[1]:120) zp[1]:44 [ irq_cnt ]
|
|
Allocated (was zp[1]:123) zp[1]:45 [ sprites_irq::raster_sprite_gfx_modify ]
|
|
Allocated (was zp[1]:131) zp[1]:46 [ play_movement::key_event#0 ]
|
|
Allocated (was zp[1]:139) zp[1]:47 [ play_spawn_current::$7 play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 ]
|
|
Allocated (was zp[2]:147) 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 ]
|
|
Allocated (was zp[1]:151) 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 ]
|
|
Allocated (was zp[1]:155) 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 ]
|
|
Allocated (was zp[2]:177) 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 ]
|
|
Allocated (was zp[2]:209) 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 ]
|
|
Allocated (was zp[1]:211) zp[1]:56 [ play_lock_current::i#1 play_collision::i#1 ]
|
|
Allocated (was zp[1]:214) 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 ]
|
|
Allocated (was zp[4]:216) zp[4]:58 [ play_update_score::add_bcd#0 ]
|
|
Interrupt procedure sprites_irq clobbers AXcnzvdP
|
|
|
|
ASSEMBLER BEFORE OPTIMIZATION
|
|
// File Comments
|
|
// Tetris Game for the Commodore 64
|
|
// The tetris game tries to match NES tetris gameplay pretty closely
|
|
// Source: https://meatfighter.com/nintendotetrisai/
|
|
// Upstart
|
|
// Commodore 64 PRG executable file
|
|
.file [name="tetris.prg", type="prg", segments="Program"]
|
|
.segmentdef Program [segments="Basic, Code, Data"]
|
|
.segmentdef Basic [start=$0801]
|
|
.segmentdef Code [start=$80d]
|
|
.segmentdef Data [startAfter="Code"]
|
|
.segment Basic
|
|
:BasicUpstart(__start)
|
|
// Global Constants & labels
|
|
// Value that disables all CIA interrupts when stored to the CIA Interrupt registers
|
|
.const CIA_INTERRUPT_CLEAR = $7f
|
|
// The offset of the sprite pointers from the screen start address
|
|
.const OFFSET_SPRITE_PTRS = $3f8
|
|
.const VICII_ECM = $40
|
|
.const VICII_DEN = $10
|
|
.const VICII_RSEL = 8
|
|
// Bits for the VICII IRQ Status/Enable Registers
|
|
.const IRQ_RASTER = 1
|
|
// SID Channel Control Register Noise Waveform
|
|
.const SID_CONTROL_NOISE = $80
|
|
// Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
|
|
.const PROCPORT_DDR_MEMORY_MASK = 7
|
|
// RAM in 0xA000, 0xE000 I/O in 0xD000
|
|
.const PROCPORT_RAM_IO = 5
|
|
// The colors of the C64
|
|
.const BLACK = 0
|
|
.const RED = 2
|
|
.const CYAN = 3
|
|
.const PURPLE = 4
|
|
.const GREEN = 5
|
|
.const BLUE = 6
|
|
.const ORANGE = 8
|
|
.const PINK = $a
|
|
.const DARK_GREY = $b
|
|
.const GREY = $c
|
|
.const LIGHT_GREEN = $d
|
|
.const LIGHT_BLUE = $e
|
|
.const KEY_Z = $c
|
|
.const KEY_LSHIFT = $f
|
|
.const KEY_X = $17
|
|
.const KEY_DOT = $2c
|
|
.const KEY_COMMA = $2f
|
|
.const KEY_RSHIFT = $34
|
|
.const KEY_CTRL = $3a
|
|
.const KEY_SPACE = $3c
|
|
.const KEY_COMMODORE = $3d
|
|
// The size of the playfield
|
|
.const PLAYFIELD_LINES = $16
|
|
.const PLAYFIELD_COLS = $a
|
|
// The Y-position of the first sprite row
|
|
.const SPRITES_FIRST_YPOS = $31
|
|
// The line of the first IRQ
|
|
.const IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS+$13
|
|
// The rate of moving down the current piece fast (number of frames between moves if movedown is not forced)
|
|
.const current_movedown_fast = $a
|
|
// No collision
|
|
.const COLLISION_NONE = 0
|
|
// Playfield piece collision (cell on top of other cell on the playfield)
|
|
.const COLLISION_PLAYFIELD = 1
|
|
// Bottom collision (cell below bottom of the playfield)
|
|
.const COLLISION_BOTTOM = 2
|
|
// Left side collision (cell beyond the left side of the playfield)
|
|
.const COLLISION_LEFT = 4
|
|
// Right side collision (cell beyond the right side of the playfield)
|
|
.const COLLISION_RIGHT = 8
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_FREQ = $e
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL = $12
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_OSC = $1b
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
.const OFFSET_STRUCT_MOS6526_CIA_INTERRUPT = $d
|
|
.label SPRITES_XPOS = $d000
|
|
.label SPRITES_YPOS = $d001
|
|
.label SPRITES_COLOR = $d027
|
|
.label SPRITES_ENABLE = $d015
|
|
.label SPRITES_EXPAND_Y = $d017
|
|
.label SPRITES_MC = $d01c
|
|
.label SPRITES_EXPAND_X = $d01d
|
|
.label RASTER = $d012
|
|
.label BORDER_COLOR = $d020
|
|
.label BG_COLOR = $d021
|
|
.label BG_COLOR1 = $d022
|
|
.label BG_COLOR2 = $d023
|
|
.label BG_COLOR3 = $d024
|
|
.label VICII_CONTROL = $d011
|
|
.label D011 = $d011
|
|
.label D018 = $d018
|
|
// VIC II IRQ Status Register
|
|
.label IRQ_STATUS = $d019
|
|
// VIC II IRQ Enable Register
|
|
.label IRQ_ENABLE = $d01a
|
|
// Processor port data direction register
|
|
.label PROCPORT_DDR = 0
|
|
// Processor Port Register controlling RAM/ROM configuration and the datasette
|
|
.label PROCPORT = 1
|
|
// The SID MOS 6581/8580
|
|
.label SID = $d400
|
|
// Color Ram
|
|
.label COLS = $d800
|
|
// The CIA#1: keyboard matrix, joystick #1/#2
|
|
.label CIA1 = $dc00
|
|
// The CIA#2: Serial bus, RS-232, VIC memory bank
|
|
.label CIA2 = $dd00
|
|
// CIA#1 Interrupt for reading in ASM
|
|
.label CIA1_INTERRUPT = $dc0d
|
|
// The vector used when the HARDWARE serves IRQ interrupts
|
|
.label HARDWARE_IRQ = $fffe
|
|
// Address of the first screen
|
|
.label PLAYFIELD_SCREEN_1 = $400
|
|
// Address of the second screen
|
|
.label PLAYFIELD_SCREEN_2 = $2c00
|
|
// Screen Sprite pointers on screen 1
|
|
.label PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+OFFSET_SPRITE_PTRS
|
|
// Screen Sprite pointers on screen 2
|
|
.label PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+OFFSET_SPRITE_PTRS
|
|
// The screen currently being showed to the user. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_showing = $24
|
|
// Current score in BCD-format
|
|
.label score_bcd = $25
|
|
// The raster line of the next IRQ
|
|
.label irq_raster_next = $29
|
|
// Y-pos of the sprites on the next IRQ
|
|
.label irq_sprite_ypos = $2a
|
|
// Index of the sprites to show on the next IRQ
|
|
.label irq_sprite_ptr = $2b
|
|
// Counting the 10 IRQs
|
|
.label irq_cnt = $2c
|
|
// Keyboard event buffer size. The number of events currently in the event buffer
|
|
.label keyboard_events_size = $a
|
|
// The rate of moving down the current piece (number of frames between moves if movedown is not forced)
|
|
.label current_movedown_slow = $15
|
|
// Position of top left corner of current moving piece on the playfield
|
|
.label current_xpos = $1d
|
|
.label current_ypos = $11
|
|
// The curent piece orientation - each piece have 4 orientations (00/0x10/0x20/0x30).
|
|
// The orientation chooses one of the 4 sub-graphics of the piece.
|
|
.label current_orientation = $1a
|
|
// Pointer to the current piece in the current orientation. Updated each time current_orientation is updated.
|
|
.label current_piece_gfx = $1b
|
|
// The char of the current piece
|
|
.label current_piece_char = $19
|
|
// Current level BCD-format
|
|
.label level_bcd = $16
|
|
// The screen currently being rendered to. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_render = 3
|
|
// The screen currently to show next to the user. 0x00 for screen 1 / 0x20 for screen 2.
|
|
// Show showing screen 1 and rendering to screen 2
|
|
.label render_screen_show = 2
|
|
// Counts up to the next movedown of current piece
|
|
.label current_movedown_counter = 4
|
|
// Current number of cleared lines in BCD-format
|
|
.label lines_bcd = $12
|
|
// Current level in normal (non-BCD) format
|
|
.label level = $14
|
|
// The current moving piece. Points to the start of the piece definition.
|
|
.label current_piece = $17
|
|
// Is the game over?
|
|
.label game_over = $1e
|
|
// The index of the next moving piece. (0-6)
|
|
.label next_piece_idx = $1f
|
|
// The current moving piece. Points to the start of the piece definition.
|
|
.label current_piece_1 = $e
|
|
// The screen currently being rendered to. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_render_1 = 5
|
|
// Position of top left corner of current moving piece on the playfield
|
|
.label current_xpos_1 = 6
|
|
// Pointer to the current piece in the current orientation. Updated each time current_orientation is updated.
|
|
.label current_piece_gfx_1 = 7
|
|
// The char of the current piece
|
|
.label current_piece_char_1 = 9
|
|
.segment Code
|
|
// __start
|
|
__start: {
|
|
.const __init1_toSpritePtr1_return = $ff&PLAYFIELD_SPRITES/$40
|
|
jmp __init1
|
|
// __start::__init1
|
|
__init1:
|
|
// [1] render_screen_showing = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z render_screen_showing
|
|
// [2] score_bcd = 0 -- vduz1=vduc1
|
|
lda #<0
|
|
sta.z score_bcd
|
|
lda #>0
|
|
sta.z score_bcd+1
|
|
lda #<0>>$10
|
|
sta.z score_bcd+2
|
|
lda #>0>>$10
|
|
sta.z score_bcd+3
|
|
// [3] irq_raster_next = IRQ_RASTER_FIRST -- vbuz1=vbuc1
|
|
lda #IRQ_RASTER_FIRST
|
|
sta.z irq_raster_next
|
|
// [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 -- vbuz1=vbuc1
|
|
lda #SPRITES_FIRST_YPOS+$15
|
|
sta.z irq_sprite_ypos
|
|
// [5] phi from __start::__init1 to __start::__init1_toSpritePtr1 [phi:__start::__init1->__start::__init1_toSpritePtr1]
|
|
__init1_toSpritePtr1_from___init1:
|
|
jmp __init1_toSpritePtr1
|
|
// __start::__init1_toSpritePtr1
|
|
__init1_toSpritePtr1:
|
|
jmp __init1___b1
|
|
// __start::__init1_@1
|
|
__init1___b1:
|
|
// [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 -- vbuz1=vbuc1
|
|
lda #__init1_toSpritePtr1_return+3
|
|
sta.z irq_sprite_ptr
|
|
// [7] irq_cnt = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z irq_cnt
|
|
// [8] phi from __start::__init1_@1 to __start::@1 [phi:__start::__init1_@1->__start::@1]
|
|
__b1_from___init1___b1:
|
|
jmp __b1
|
|
// __start::@1
|
|
__b1:
|
|
// [9] call main
|
|
// [51] phi from __start::@1 to main [phi:__start::@1->main]
|
|
main_from___b1:
|
|
jsr main
|
|
jmp __breturn
|
|
// __start::@return
|
|
__breturn:
|
|
// [10] return
|
|
rts
|
|
}
|
|
// sprites_irq
|
|
// Raster Interrupt Routine - sets up the sprites covering the playfield
|
|
// Repeats 10 timers every 2 lines from line IRQ_RASTER_FIRST
|
|
// Utilizes duplicated gfx in the sprites to allow for some leeway in updating the sprite pointers
|
|
sprites_irq: {
|
|
.const toSpritePtr1_return = $ff&PLAYFIELD_SPRITES/$40
|
|
.label raster_sprite_gfx_modify = $2d
|
|
// interrupt(isr_hardware_clobber_entry) -- isr_hardware_all_entry
|
|
sta rega+1
|
|
stx regx+1
|
|
// asm { cld }
|
|
//(*BG_COLOR)++;
|
|
// Clear decimal flag (because it is used by the score algorithm)
|
|
cld
|
|
// [12] sprites_irq::ypos#0 = irq_sprite_ypos -- vbuaa=vbuz1
|
|
// Place the sprites
|
|
lda.z irq_sprite_ypos
|
|
// [13] *SPRITES_YPOS = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS
|
|
// [14] *(SPRITES_YPOS+2) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+2
|
|
// [15] *(SPRITES_YPOS+4) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+4
|
|
// [16] *(SPRITES_YPOS+6) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+6
|
|
// [17] sprites_irq::$0 = irq_raster_next + 1 -- vbuxx=vbuz1_plus_1
|
|
ldx.z irq_raster_next
|
|
inx
|
|
// [18] sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0 -- vbuz1=vbuxx
|
|
// Wait for the y-position before changing sprite pointers
|
|
stx.z raster_sprite_gfx_modify
|
|
jmp __b8
|
|
// sprites_irq::@8
|
|
__b8:
|
|
// [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 -- _deref_pbuc1_lt_vbuz1_then_la1
|
|
lda RASTER
|
|
cmp.z raster_sprite_gfx_modify
|
|
bcc __b8
|
|
jmp __b9
|
|
// sprites_irq::@9
|
|
__b9:
|
|
// [20] sprites_irq::ptr#0 = irq_sprite_ptr -- vbuxx=vbuz1
|
|
ldx.z irq_sprite_ptr
|
|
// [21] if(render_screen_showing==0) goto sprites_irq::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_showing
|
|
cmp #0
|
|
beq __b1
|
|
jmp __b10
|
|
// sprites_irq::@10
|
|
__b10:
|
|
// [22] *PLAYFIELD_SPRITE_PTRS_2 = sprites_irq::ptr#0 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_2
|
|
// [23] sprites_irq::ptr#3 = ++ sprites_irq::ptr#0 -- vbuaa=_inc_vbuxx
|
|
inx
|
|
txa
|
|
// [24] *(PLAYFIELD_SPRITE_PTRS_2+1) = sprites_irq::ptr#3 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+1
|
|
// [25] *(PLAYFIELD_SPRITE_PTRS_2+2) = sprites_irq::ptr#3 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+2
|
|
// [26] sprites_irq::ptr#4 = ++ sprites_irq::ptr#3 -- vbuaa=_inc_vbuaa
|
|
clc
|
|
adc #1
|
|
// [27] *(PLAYFIELD_SPRITE_PTRS_2+3) = sprites_irq::ptr#4 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+3
|
|
jmp __b2
|
|
// sprites_irq::@2
|
|
__b2:
|
|
// [28] irq_cnt = ++ irq_cnt -- vbuz1=_inc_vbuz1
|
|
inc.z irq_cnt
|
|
// [29] if(irq_cnt==9) goto sprites_irq::@3 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #9
|
|
cmp.z irq_cnt
|
|
beq __b3
|
|
jmp __b6
|
|
// sprites_irq::@6
|
|
__b6:
|
|
// [30] if(irq_cnt==$a) goto sprites_irq::@4 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #$a
|
|
cmp.z irq_cnt
|
|
beq __b4
|
|
jmp __b7
|
|
// sprites_irq::@7
|
|
__b7:
|
|
// [31] irq_raster_next = irq_raster_next + $14 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_raster_next
|
|
axs #-[$14]
|
|
stx.z irq_raster_next
|
|
// [32] irq_sprite_ypos = irq_sprite_ypos + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ypos
|
|
axs #-[$15]
|
|
stx.z irq_sprite_ypos
|
|
// [33] irq_sprite_ptr = irq_sprite_ptr + 3 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ptr
|
|
axs #-[3]
|
|
stx.z irq_sprite_ptr
|
|
jmp __b5
|
|
// sprites_irq::@5
|
|
__b5:
|
|
// [34] *RASTER = irq_raster_next -- _deref_pbuc1=vbuz1
|
|
// Setup next interrupt
|
|
lda.z irq_raster_next
|
|
sta RASTER
|
|
// [35] *IRQ_STATUS = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Acknowledge the IRQ and setup the next one
|
|
lda #IRQ_RASTER
|
|
sta IRQ_STATUS
|
|
jmp __breturn
|
|
// sprites_irq::@return
|
|
__breturn:
|
|
// [36] return
|
|
// interrupt(isr_hardware_clobber_exit) -- isr_hardware_all_exit
|
|
rega:
|
|
lda #0
|
|
regx:
|
|
ldx #0
|
|
rti
|
|
// sprites_irq::@4
|
|
__b4:
|
|
// [37] irq_cnt = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z irq_cnt
|
|
// [38] irq_raster_next = IRQ_RASTER_FIRST -- vbuz1=vbuc1
|
|
lda #IRQ_RASTER_FIRST
|
|
sta.z irq_raster_next
|
|
// [39] irq_sprite_ypos = irq_sprite_ypos + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ypos
|
|
axs #-[$15]
|
|
stx.z irq_sprite_ypos
|
|
// [40] irq_sprite_ptr = irq_sprite_ptr + 3 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ptr
|
|
axs #-[3]
|
|
stx.z irq_sprite_ptr
|
|
jmp __b5
|
|
// sprites_irq::@3
|
|
__b3:
|
|
// [41] irq_raster_next = irq_raster_next + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_raster_next
|
|
axs #-[$15]
|
|
stx.z irq_raster_next
|
|
// [42] irq_sprite_ypos = SPRITES_FIRST_YPOS -- vbuz1=vbuc1
|
|
lda #SPRITES_FIRST_YPOS
|
|
sta.z irq_sprite_ypos
|
|
// [43] phi from sprites_irq::@3 to sprites_irq::toSpritePtr1 [phi:sprites_irq::@3->sprites_irq::toSpritePtr1]
|
|
toSpritePtr1_from___b3:
|
|
jmp toSpritePtr1
|
|
// sprites_irq::toSpritePtr1
|
|
toSpritePtr1:
|
|
jmp __b11
|
|
// sprites_irq::@11
|
|
__b11:
|
|
// [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 -- vbuz1=vbuc1
|
|
lda #toSpritePtr1_return
|
|
sta.z irq_sprite_ptr
|
|
jmp __b5
|
|
// sprites_irq::@1
|
|
__b1:
|
|
// [45] *PLAYFIELD_SPRITE_PTRS_1 = sprites_irq::ptr#0 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1
|
|
// [46] sprites_irq::ptr#1 = ++ sprites_irq::ptr#0 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [47] *(PLAYFIELD_SPRITE_PTRS_1+1) = sprites_irq::ptr#1 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1+1
|
|
// [48] *(PLAYFIELD_SPRITE_PTRS_1+2) = sprites_irq::ptr#1 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1+2
|
|
// [49] sprites_irq::ptr#2 = ++ sprites_irq::ptr#1 -- vbuaa=_inc_vbuxx
|
|
inx
|
|
txa
|
|
// [50] *(PLAYFIELD_SPRITE_PTRS_1+3) = sprites_irq::ptr#2 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_1+3
|
|
jmp __b2
|
|
}
|
|
// main
|
|
main: {
|
|
jmp sid_rnd_init1
|
|
// main::sid_rnd_init1
|
|
sid_rnd_init1:
|
|
// [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff -- _deref_pwuc1=vwuc2
|
|
lda #<$ffff
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ
|
|
lda #>$ffff
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ+1
|
|
// [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE -- _deref_pbuc1=vbuc2
|
|
lda #SID_CONTROL_NOISE
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL
|
|
jmp __b8
|
|
// main::@8
|
|
__b8:
|
|
// asm { sei }
|
|
sei
|
|
// [55] call render_init
|
|
// [109] phi from main::@8 to render_init [phi:main::@8->render_init]
|
|
render_init_from___b8:
|
|
jsr render_init
|
|
// [56] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
|
|
__b9_from___b8:
|
|
jmp __b9
|
|
// main::@9
|
|
__b9:
|
|
// [57] call sprites_init
|
|
jsr sprites_init
|
|
// [58] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
|
|
__b10_from___b9:
|
|
jmp __b10
|
|
// main::@10
|
|
__b10:
|
|
// [59] call sprites_irq_init
|
|
jsr sprites_irq_init
|
|
// [60] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
|
|
__b11_from___b10:
|
|
jmp __b11
|
|
// main::@11
|
|
__b11:
|
|
// [61] call play_init
|
|
// [155] phi from main::@11 to play_init [phi:main::@11->play_init]
|
|
play_init_from___b11:
|
|
jsr play_init
|
|
// [62] phi from main::@11 to main::@12 [phi:main::@11->main::@12]
|
|
__b12_from___b11:
|
|
jmp __b12
|
|
// main::@12
|
|
__b12:
|
|
// [63] call play_spawn_current
|
|
// Spawn twice to spawn both current & next
|
|
// [172] phi from main::@12 to play_spawn_current [phi:main::@12->play_spawn_current]
|
|
play_spawn_current_from___b12:
|
|
// [172] phi game_over#66 = 0 [phi:main::@12->play_spawn_current#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z game_over
|
|
// [172] phi next_piece_idx#18 = 0 [phi:main::@12->play_spawn_current#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z next_piece_idx
|
|
jsr play_spawn_current
|
|
// [64] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
|
|
__b13_from___b12:
|
|
jmp __b13
|
|
// main::@13
|
|
__b13:
|
|
// [65] call play_spawn_current
|
|
// [172] phi from main::@13 to play_spawn_current [phi:main::@13->play_spawn_current]
|
|
play_spawn_current_from___b13:
|
|
// [172] phi game_over#66 = game_over#53 [phi:main::@13->play_spawn_current#0] -- register_copy
|
|
// [172] phi next_piece_idx#18 = play_spawn_current::piece_idx#2 [phi:main::@13->play_spawn_current#1] -- register_copy
|
|
jsr play_spawn_current
|
|
// [66] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
|
|
__b14_from___b13:
|
|
jmp __b14
|
|
// main::@14
|
|
__b14:
|
|
// [67] call render_playfield
|
|
// [192] phi from main::@14 to render_playfield [phi:main::@14->render_playfield]
|
|
render_playfield_from___b14:
|
|
// [192] phi render_screen_render#24 = $20 [phi:main::@14->render_playfield#0] -- vbuxx=vbuc1
|
|
ldx #$20
|
|
jsr render_playfield
|
|
jmp __b15
|
|
// main::@15
|
|
__b15:
|
|
// [68] current_ypos#97 = current_ypos#5 -- vbuxx=vbuz1
|
|
ldx.z current_ypos
|
|
// [69] current_xpos#118 = current_xpos#100 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z current_xpos_1
|
|
// [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx_1
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx_1+1
|
|
// [71] current_piece_char#99 = current_piece_char#4 -- vbuz1=vbuz2
|
|
lda.z current_piece_char
|
|
sta.z current_piece_char_1
|
|
// [72] call render_moving
|
|
// [206] phi from main::@15 to render_moving [phi:main::@15->render_moving]
|
|
render_moving_from___b15:
|
|
// [206] phi current_piece_char#70 = current_piece_char#99 [phi:main::@15->render_moving#0] -- register_copy
|
|
// [206] phi current_piece_gfx#66 = current_piece_gfx#111 [phi:main::@15->render_moving#1] -- register_copy
|
|
// [206] phi current_xpos#61 = current_xpos#118 [phi:main::@15->render_moving#2] -- register_copy
|
|
// [206] phi render_screen_render#35 = $20 [phi:main::@15->render_moving#3] -- vbuz1=vbuc1
|
|
lda #$20
|
|
sta.z render_screen_render_1
|
|
// [206] phi current_ypos#14 = current_ypos#97 [phi:main::@15->render_moving#4] -- register_copy
|
|
jsr render_moving
|
|
jmp __b16
|
|
// main::@16
|
|
__b16:
|
|
// [73] next_piece_idx#79 = play_spawn_current::piece_idx#2 -- vbuyy=vbuz1
|
|
ldy.z play_spawn_current.piece_idx
|
|
// [74] call render_next
|
|
// [228] phi from main::@16 to render_next [phi:main::@16->render_next]
|
|
render_next_from___b16:
|
|
// [228] phi next_piece_idx#13 = next_piece_idx#79 [phi:main::@16->render_next#0] -- register_copy
|
|
// [228] phi render_screen_render#16 = $20 [phi:main::@16->render_next#1] -- vbuxx=vbuc1
|
|
ldx #$20
|
|
jsr render_next
|
|
jmp __b17
|
|
// main::@17
|
|
__b17:
|
|
// [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece
|
|
lda PIECES+1,y
|
|
sta.z current_piece+1
|
|
// [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx+1
|
|
// [77] phi from main::@17 to main::@1 [phi:main::@17->main::@1]
|
|
__b1_from___b17:
|
|
// [77] phi level_bcd#10 = 0 [phi:main::@17->main::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z level_bcd
|
|
// [77] phi level#25 = 0 [phi:main::@17->main::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z level
|
|
// [77] phi lines_bcd#20 = 0 [phi:main::@17->main::@1#2] -- vwuz1=vwuc1
|
|
lda #<0
|
|
sta.z lines_bcd
|
|
lda #>0
|
|
sta.z lines_bcd+1
|
|
// [77] phi current_movedown_counter#17 = 0 [phi:main::@17->main::@1#3] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_movedown_counter
|
|
// [77] phi keyboard_events_size#20 = 0 [phi:main::@17->main::@1#4] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z keyboard_events_size
|
|
// [77] phi next_piece_idx#23 = play_spawn_current::piece_idx#2 [phi:main::@17->main::@1#5] -- register_copy
|
|
// [77] phi game_over#22 = game_over#53 [phi:main::@17->main::@1#6] -- register_copy
|
|
// [77] phi current_ypos#10 = current_ypos#5 [phi:main::@17->main::@1#7] -- register_copy
|
|
// [77] phi current_xpos#13 = current_xpos#100 [phi:main::@17->main::@1#8] -- register_copy
|
|
// [77] phi current_piece_gfx#12 = current_piece_gfx#122 [phi:main::@17->main::@1#9] -- register_copy
|
|
// [77] phi current_orientation#12 = 0 [phi:main::@17->main::@1#10] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_orientation
|
|
// [77] phi current_piece_char#23 = current_piece_char#4 [phi:main::@17->main::@1#11] -- register_copy
|
|
// [77] phi current_piece#23 = current_piece#103 [phi:main::@17->main::@1#12] -- register_copy
|
|
// [77] phi current_movedown_slow#13 = current_movedown_slow#0 [phi:main::@17->main::@1#13] -- register_copy
|
|
// [77] phi render_screen_render#19 = $20 [phi:main::@17->main::@1#14] -- vbuz1=vbuc1
|
|
lda #$20
|
|
sta.z render_screen_render
|
|
// [77] phi render_screen_show#17 = 0 [phi:main::@17->main::@1#15] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z render_screen_show
|
|
jmp __b1
|
|
// [77] phi from main::@25 main::@6 to main::@1 [phi:main::@25/main::@6->main::@1]
|
|
__b1_from___b25:
|
|
__b1_from___b6:
|
|
// [77] phi level_bcd#10 = level_bcd#18 [phi:main::@25/main::@6->main::@1#0] -- register_copy
|
|
// [77] phi level#25 = level#18 [phi:main::@25/main::@6->main::@1#1] -- register_copy
|
|
// [77] phi lines_bcd#20 = lines_bcd#16 [phi:main::@25/main::@6->main::@1#2] -- register_copy
|
|
// [77] phi current_movedown_counter#17 = current_movedown_counter#15 [phi:main::@25/main::@6->main::@1#3] -- register_copy
|
|
// [77] phi keyboard_events_size#20 = keyboard_events_size#17 [phi:main::@25/main::@6->main::@1#4] -- register_copy
|
|
// [77] phi next_piece_idx#23 = next_piece_idx#17 [phi:main::@25/main::@6->main::@1#5] -- register_copy
|
|
// [77] phi game_over#22 = game_over#16 [phi:main::@25/main::@6->main::@1#6] -- register_copy
|
|
// [77] phi current_ypos#10 = current_ypos#20 [phi:main::@25/main::@6->main::@1#7] -- register_copy
|
|
// [77] phi current_xpos#13 = current_xpos#2 [phi:main::@25/main::@6->main::@1#8] -- register_copy
|
|
// [77] phi current_piece_gfx#12 = current_piece_gfx#19 [phi:main::@25/main::@6->main::@1#9] -- register_copy
|
|
// [77] phi current_orientation#12 = current_orientation#18 [phi:main::@25/main::@6->main::@1#10] -- register_copy
|
|
// [77] phi current_piece_char#23 = current_piece_char#17 [phi:main::@25/main::@6->main::@1#11] -- register_copy
|
|
// [77] phi current_piece#23 = current_piece#16 [phi:main::@25/main::@6->main::@1#12] -- register_copy
|
|
// [77] phi current_movedown_slow#13 = current_movedown_slow#22 [phi:main::@25/main::@6->main::@1#13] -- register_copy
|
|
// [77] phi render_screen_render#19 = render_screen_render#12 [phi:main::@25/main::@6->main::@1#14] -- register_copy
|
|
// [77] phi render_screen_show#17 = render_screen_show#14 [phi:main::@25/main::@6->main::@1#15] -- register_copy
|
|
jmp __b1
|
|
// main::@1
|
|
__b1:
|
|
jmp __b2
|
|
// Wait for a frame to pass
|
|
// main::@2
|
|
__b2:
|
|
// [78] if(*RASTER!=$ff) goto main::@2 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
lda #$ff
|
|
cmp RASTER
|
|
bne __b2
|
|
// [79] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
|
__b3_from___b2:
|
|
jmp __b3
|
|
// main::@3
|
|
__b3:
|
|
// [80] call render_show
|
|
//*BORDER_COLOR = render_screen_show/0x10;
|
|
// Update D018 to show the selected screen
|
|
jsr render_show
|
|
// [81] phi from main::@3 to main::@18 [phi:main::@3->main::@18]
|
|
__b18_from___b3:
|
|
jmp __b18
|
|
// main::@18
|
|
__b18:
|
|
// [82] call keyboard_event_scan
|
|
// Scan keyboard events
|
|
// [258] phi from main::@18 to keyboard_event_scan [phi:main::@18->keyboard_event_scan]
|
|
keyboard_event_scan_from___b18:
|
|
jsr keyboard_event_scan
|
|
// [83] phi from main::@18 to main::@19 [phi:main::@18->main::@19]
|
|
__b19_from___b18:
|
|
jmp __b19
|
|
// main::@19
|
|
__b19:
|
|
// [84] call keyboard_event_get
|
|
jsr keyboard_event_get
|
|
// [85] keyboard_event_get::return#3 = keyboard_event_get::return#2
|
|
jmp __b20
|
|
// main::@20
|
|
__b20:
|
|
// [86] main::key_event#0 = keyboard_event_get::return#3 -- vbuxx=vbuaa
|
|
tax
|
|
// [87] if(game_over#22==0) goto main::@4 -- vbuz1_eq_0_then_la1
|
|
lda.z game_over
|
|
cmp #0
|
|
beq __b4
|
|
jmp __b5
|
|
// main::@5
|
|
__b5:
|
|
// [88] *BORDER_COLOR = ++ *BORDER_COLOR -- _deref_pbuc1=_inc__deref_pbuc1
|
|
inc BORDER_COLOR
|
|
jmp __b5
|
|
// main::@4
|
|
__b4:
|
|
// [89] play_movement::key_event#0 = main::key_event#0 -- vbuz1=vbuxx
|
|
stx.z play_movement.key_event
|
|
// [90] call play_movement
|
|
jsr play_movement
|
|
// [91] play_movement::return#3 = play_movement::return#2 -- vbuaa=vbuz1
|
|
lda.z play_movement.return
|
|
jmp __b21
|
|
// main::@21
|
|
__b21:
|
|
// [92] main::render#1 = play_movement::return#3
|
|
jmp __b6
|
|
// main::@6
|
|
__b6:
|
|
// [93] if(main::render#1==0) goto main::@1 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b1_from___b6
|
|
jmp __b7
|
|
// main::@7
|
|
__b7:
|
|
// [94] render_screen_render#63 = render_screen_render#19 -- vbuxx=vbuz1
|
|
ldx.z render_screen_render
|
|
// [95] call render_playfield
|
|
// [192] phi from main::@7 to render_playfield [phi:main::@7->render_playfield]
|
|
render_playfield_from___b7:
|
|
// [192] phi render_screen_render#24 = render_screen_render#63 [phi:main::@7->render_playfield#0] -- register_copy
|
|
jsr render_playfield
|
|
jmp __b22
|
|
// main::@22
|
|
__b22:
|
|
// [96] current_ypos#98 = current_ypos#20 -- vbuxx=vbuz1
|
|
ldx.z current_ypos
|
|
// [97] render_screen_render#64 = render_screen_render#19 -- vbuz1=vbuz2
|
|
lda.z render_screen_render
|
|
sta.z render_screen_render_1
|
|
// [98] current_xpos#119 = current_xpos#2 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z current_xpos_1
|
|
// [99] current_piece_gfx#112 = current_piece_gfx#19 -- pbuz1=pbuz2
|
|
lda.z current_piece_gfx
|
|
sta.z current_piece_gfx_1
|
|
lda.z current_piece_gfx+1
|
|
sta.z current_piece_gfx_1+1
|
|
// [100] current_piece_char#100 = current_piece_char#17 -- vbuz1=vbuz2
|
|
lda.z current_piece_char
|
|
sta.z current_piece_char_1
|
|
// [101] call render_moving
|
|
// [206] phi from main::@22 to render_moving [phi:main::@22->render_moving]
|
|
render_moving_from___b22:
|
|
// [206] phi current_piece_char#70 = current_piece_char#100 [phi:main::@22->render_moving#0] -- register_copy
|
|
// [206] phi current_piece_gfx#66 = current_piece_gfx#112 [phi:main::@22->render_moving#1] -- register_copy
|
|
// [206] phi current_xpos#61 = current_xpos#119 [phi:main::@22->render_moving#2] -- register_copy
|
|
// [206] phi render_screen_render#35 = render_screen_render#64 [phi:main::@22->render_moving#3] -- register_copy
|
|
// [206] phi current_ypos#14 = current_ypos#98 [phi:main::@22->render_moving#4] -- register_copy
|
|
jsr render_moving
|
|
jmp __b23
|
|
// main::@23
|
|
__b23:
|
|
// [102] render_screen_render#65 = render_screen_render#19 -- vbuxx=vbuz1
|
|
ldx.z render_screen_render
|
|
// [103] next_piece_idx#80 = next_piece_idx#17 -- vbuyy=vbuz1
|
|
ldy.z next_piece_idx
|
|
// [104] call render_next
|
|
// [228] phi from main::@23 to render_next [phi:main::@23->render_next]
|
|
render_next_from___b23:
|
|
// [228] phi next_piece_idx#13 = next_piece_idx#80 [phi:main::@23->render_next#0] -- register_copy
|
|
// [228] phi render_screen_render#16 = render_screen_render#65 [phi:main::@23->render_next#1] -- register_copy
|
|
jsr render_next
|
|
// [105] phi from main::@23 to main::@24 [phi:main::@23->main::@24]
|
|
__b24_from___b23:
|
|
jmp __b24
|
|
// main::@24
|
|
__b24:
|
|
// [106] call render_score
|
|
jsr render_score
|
|
// [107] phi from main::@24 to main::@25 [phi:main::@24->main::@25]
|
|
__b25_from___b24:
|
|
jmp __b25
|
|
// main::@25
|
|
__b25:
|
|
// [108] call render_screen_swap
|
|
jsr render_screen_swap
|
|
jmp __b1_from___b25
|
|
}
|
|
// render_init
|
|
// Initialize rendering
|
|
render_init: {
|
|
.const vicSelectGfxBank1_toDd001_return = 3^(>PLAYFIELD_CHARSET)/$40
|
|
// Initialize the screen line pointers;
|
|
.label li_1 = $c
|
|
.label li_2 = $36
|
|
jmp vicSelectGfxBank1
|
|
// render_init::vicSelectGfxBank1
|
|
vicSelectGfxBank1:
|
|
// [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 -- _deref_pbuc1=vbuc2
|
|
lda #3
|
|
sta CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR
|
|
// [111] phi from render_init::vicSelectGfxBank1 to render_init::vicSelectGfxBank1_toDd001 [phi:render_init::vicSelectGfxBank1->render_init::vicSelectGfxBank1_toDd001]
|
|
vicSelectGfxBank1_toDd001_from_vicSelectGfxBank1:
|
|
jmp vicSelectGfxBank1_toDd001
|
|
// render_init::vicSelectGfxBank1_toDd001
|
|
vicSelectGfxBank1_toDd001:
|
|
jmp vicSelectGfxBank1___b1
|
|
// render_init::vicSelectGfxBank1_@1
|
|
vicSelectGfxBank1___b1:
|
|
// [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 -- _deref_pbuc1=vbuc2
|
|
lda #vicSelectGfxBank1_toDd001_return
|
|
sta CIA2
|
|
jmp __b2
|
|
// render_init::@2
|
|
__b2:
|
|
// [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 -- _deref_pbuc1=vbuc2
|
|
// Enable Extended Background Color Mode
|
|
lda #VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
sta D011
|
|
// [114] *BORDER_COLOR = BLACK -- _deref_pbuc1=vbuc2
|
|
lda #BLACK
|
|
sta BORDER_COLOR
|
|
// [115] *BG_COLOR = BLACK -- _deref_pbuc1=vbuc2
|
|
lda #BLACK
|
|
sta BG_COLOR
|
|
// [116] *BG_COLOR1 = *PIECES_COLORS_1 -- _deref_pbuc1=_deref_pbuc2
|
|
lda PIECES_COLORS_1
|
|
sta BG_COLOR1
|
|
// [117] *BG_COLOR2 = *PIECES_COLORS_2 -- _deref_pbuc1=_deref_pbuc2
|
|
lda PIECES_COLORS_2
|
|
sta BG_COLOR2
|
|
// [118] *BG_COLOR3 = GREY -- _deref_pbuc1=vbuc2
|
|
lda #GREY
|
|
sta BG_COLOR3
|
|
// [119] call render_screen_original
|
|
// Setup chars on the screens
|
|
// [358] phi from render_init::@2 to render_screen_original [phi:render_init::@2->render_screen_original]
|
|
render_screen_original_from___b2:
|
|
// [358] phi render_screen_original::screen#9 = PLAYFIELD_SCREEN_1 [phi:render_init::@2->render_screen_original#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1
|
|
sta.z render_screen_original.screen
|
|
lda #>PLAYFIELD_SCREEN_1
|
|
sta.z render_screen_original.screen+1
|
|
jsr render_screen_original
|
|
// [120] phi from render_init::@2 to render_init::@3 [phi:render_init::@2->render_init::@3]
|
|
__b3_from___b2:
|
|
jmp __b3
|
|
// render_init::@3
|
|
__b3:
|
|
// [121] call render_screen_original
|
|
// [358] phi from render_init::@3 to render_screen_original [phi:render_init::@3->render_screen_original]
|
|
render_screen_original_from___b3:
|
|
// [358] phi render_screen_original::screen#9 = PLAYFIELD_SCREEN_2 [phi:render_init::@3->render_screen_original#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2
|
|
sta.z render_screen_original.screen
|
|
lda #>PLAYFIELD_SCREEN_2
|
|
sta.z render_screen_original.screen+1
|
|
jsr render_screen_original
|
|
// [122] phi from render_init::@3 to render_init::@1 [phi:render_init::@3->render_init::@1]
|
|
__b1_from___b3:
|
|
// [122] phi render_init::li_2#2 = PLAYFIELD_SCREEN_2+2*$28+$10 [phi:render_init::@3->render_init::@1#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2+2*$28+$10
|
|
sta.z li_2
|
|
lda #>PLAYFIELD_SCREEN_2+2*$28+$10
|
|
sta.z li_2+1
|
|
// [122] phi render_init::li_1#2 = PLAYFIELD_SCREEN_1+2*$28+$10 [phi:render_init::@3->render_init::@1#1] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1+2*$28+$10
|
|
sta.z li_1
|
|
lda #>PLAYFIELD_SCREEN_1+2*$28+$10
|
|
sta.z li_1+1
|
|
// [122] phi render_init::i#2 = 0 [phi:render_init::@3->render_init::@1#2] -- vbuyy=vbuc1
|
|
ldy #0
|
|
jmp __b1
|
|
// [122] phi from render_init::@1 to render_init::@1 [phi:render_init::@1->render_init::@1]
|
|
__b1_from___b1:
|
|
// [122] phi render_init::li_2#2 = render_init::li_2#1 [phi:render_init::@1->render_init::@1#0] -- register_copy
|
|
// [122] phi render_init::li_1#2 = render_init::li_1#1 [phi:render_init::@1->render_init::@1#1] -- register_copy
|
|
// [122] phi render_init::i#2 = render_init::i#1 [phi:render_init::@1->render_init::@1#2] -- register_copy
|
|
jmp __b1
|
|
// render_init::@1
|
|
__b1:
|
|
// [123] render_init::$5 = render_init::i#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [124] screen_lines_1[render_init::$5] = render_init::li_1#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z li_1
|
|
sta screen_lines_1,x
|
|
lda.z li_1+1
|
|
sta screen_lines_1+1,x
|
|
// [125] screen_lines_2[render_init::$5] = render_init::li_2#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z li_2
|
|
sta screen_lines_2,x
|
|
lda.z li_2+1
|
|
sta screen_lines_2+1,x
|
|
// [126] render_init::li_1#1 = render_init::li_1#2 + $28 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$28
|
|
clc
|
|
adc.z li_1
|
|
sta.z li_1
|
|
bcc !+
|
|
inc.z li_1+1
|
|
!:
|
|
// [127] render_init::li_2#1 = render_init::li_2#2 + $28 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$28
|
|
clc
|
|
adc.z li_2
|
|
sta.z li_2
|
|
bcc !+
|
|
inc.z li_2+1
|
|
!:
|
|
// [128] render_init::i#1 = ++ render_init::i#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [129] if(render_init::i#1!=PLAYFIELD_LINES-1+1) goto render_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #PLAYFIELD_LINES-1+1
|
|
bne __b1_from___b1
|
|
jmp __breturn
|
|
// render_init::@return
|
|
__breturn:
|
|
// [130] return
|
|
rts
|
|
}
|
|
// sprites_init
|
|
// Setup the sprites
|
|
sprites_init: {
|
|
.label xpos = $22
|
|
// [131] *SPRITES_ENABLE = $f -- _deref_pbuc1=vbuc2
|
|
lda #$f
|
|
sta SPRITES_ENABLE
|
|
// [132] *SPRITES_MC = 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta SPRITES_MC
|
|
// [133] *SPRITES_EXPAND_Y = *SPRITES_MC -- _deref_pbuc1=_deref_pbuc2
|
|
lda SPRITES_MC
|
|
sta SPRITES_EXPAND_Y
|
|
// [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y -- _deref_pbuc1=_deref_pbuc2
|
|
lda SPRITES_EXPAND_Y
|
|
sta SPRITES_EXPAND_X
|
|
// [135] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1]
|
|
__b1_from_sprites_init:
|
|
// [135] phi sprites_init::xpos#2 = $18+$f*8 [phi:sprites_init->sprites_init::@1#0] -- vbuz1=vbuc1
|
|
lda #$18+$f*8
|
|
sta.z xpos
|
|
// [135] phi sprites_init::s#2 = 0 [phi:sprites_init->sprites_init::@1#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
jmp __b1
|
|
// [135] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1]
|
|
__b1_from___b1:
|
|
// [135] phi sprites_init::xpos#2 = sprites_init::xpos#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy
|
|
// [135] phi sprites_init::s#2 = sprites_init::s#1 [phi:sprites_init::@1->sprites_init::@1#1] -- register_copy
|
|
jmp __b1
|
|
// sprites_init::@1
|
|
__b1:
|
|
// [136] sprites_init::s2#0 = sprites_init::s#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 -- pbuc1_derefidx_vbuxx=vbuz1
|
|
lda.z xpos
|
|
sta SPRITES_XPOS,x
|
|
// [138] SPRITES_COLOR[sprites_init::s#2] = BLACK -- pbuc1_derefidx_vbuyy=vbuc2
|
|
lda #BLACK
|
|
sta SPRITES_COLOR,y
|
|
// [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z xpos
|
|
axs #-[$18]
|
|
stx.z xpos
|
|
// [140] sprites_init::s#1 = ++ sprites_init::s#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [141] if(sprites_init::s#1!=4) goto sprites_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #4
|
|
bne __b1_from___b1
|
|
jmp __breturn
|
|
// sprites_init::@return
|
|
__breturn:
|
|
// [142] return
|
|
rts
|
|
}
|
|
// sprites_irq_init
|
|
// Setup the IRQ
|
|
sprites_irq_init: {
|
|
// asm { sei }
|
|
sei
|
|
// [144] *IRQ_STATUS = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Acknowledge any IRQ and setup the next one
|
|
lda #IRQ_RASTER
|
|
sta IRQ_STATUS
|
|
// asm { ldaCIA1_INTERRUPT }
|
|
lda CIA1_INTERRUPT
|
|
// [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK -- _deref_pbuc1=vbuc2
|
|
// Disable kernal & basic
|
|
lda #PROCPORT_DDR_MEMORY_MASK
|
|
sta PROCPORT_DDR
|
|
// [147] *PROCPORT = PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2
|
|
lda #PROCPORT_RAM_IO
|
|
sta PROCPORT
|
|
// [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR -- _deref_pbuc1=vbuc2
|
|
// Disable CIA 1 Timer IRQ
|
|
lda #CIA_INTERRUPT_CLEAR
|
|
sta CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT
|
|
// [149] *VICII_CONTROL = *VICII_CONTROL & $7f -- _deref_pbuc1=_deref_pbuc1_band_vbuc2
|
|
// Set raster line
|
|
lda #$7f
|
|
and VICII_CONTROL
|
|
sta VICII_CONTROL
|
|
// [150] *RASTER = IRQ_RASTER_FIRST -- _deref_pbuc1=vbuc2
|
|
lda #IRQ_RASTER_FIRST
|
|
sta RASTER
|
|
// [151] *IRQ_ENABLE = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Enable Raster Interrupt
|
|
lda #IRQ_RASTER
|
|
sta IRQ_ENABLE
|
|
// [152] *HARDWARE_IRQ = &sprites_irq -- _deref_qprc1=pprc2
|
|
// Set the IRQ routine
|
|
lda #<sprites_irq
|
|
sta HARDWARE_IRQ
|
|
lda #>sprites_irq
|
|
sta HARDWARE_IRQ+1
|
|
// asm { cli }
|
|
cli
|
|
jmp __breturn
|
|
// sprites_irq_init::@return
|
|
__breturn:
|
|
// [154] return
|
|
rts
|
|
}
|
|
// play_init
|
|
// Initialize play data tables
|
|
play_init: {
|
|
.label pli = $c
|
|
// Initialize the playfield line pointers;
|
|
.label idx = $22
|
|
// [156] phi from play_init to play_init::@1 [phi:play_init->play_init::@1]
|
|
__b1_from_play_init:
|
|
// [156] phi play_init::idx#2 = 0 [phi:play_init->play_init::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z idx
|
|
// [156] phi play_init::pli#2 = playfield [phi:play_init->play_init::@1#1] -- pbuz1=pbuc1
|
|
lda #<playfield
|
|
sta.z pli
|
|
lda #>playfield
|
|
sta.z pli+1
|
|
// [156] phi play_init::j#2 = 0 [phi:play_init->play_init::@1#2] -- vbuyy=vbuc1
|
|
ldy #0
|
|
jmp __b1
|
|
// [156] phi from play_init::@1 to play_init::@1 [phi:play_init::@1->play_init::@1]
|
|
__b1_from___b1:
|
|
// [156] phi play_init::idx#2 = play_init::idx#1 [phi:play_init::@1->play_init::@1#0] -- register_copy
|
|
// [156] phi play_init::pli#2 = play_init::pli#1 [phi:play_init::@1->play_init::@1#1] -- register_copy
|
|
// [156] phi play_init::j#2 = play_init::j#1 [phi:play_init::@1->play_init::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_init::@1
|
|
__b1:
|
|
// [157] play_init::$2 = play_init::j#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [158] playfield_lines[play_init::$2] = play_init::pli#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z pli
|
|
sta playfield_lines,x
|
|
lda.z pli+1
|
|
sta playfield_lines+1,x
|
|
// [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 -- pbuc1_derefidx_vbuyy=vbuz1
|
|
lda.z idx
|
|
sta playfield_lines_idx,y
|
|
// [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #PLAYFIELD_COLS
|
|
clc
|
|
adc.z pli
|
|
sta.z pli
|
|
bcc !+
|
|
inc.z pli+1
|
|
!:
|
|
// [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z idx
|
|
axs #-[PLAYFIELD_COLS]
|
|
stx.z idx
|
|
// [162] play_init::j#1 = ++ play_init::j#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [163] if(play_init::j#1!=PLAYFIELD_LINES-1+1) goto play_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #PLAYFIELD_LINES-1+1
|
|
bne __b1_from___b1
|
|
jmp __b2
|
|
// play_init::@2
|
|
__b2:
|
|
// [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES -- _deref_pbuc1=vbuc2
|
|
lda #PLAYFIELD_COLS*PLAYFIELD_LINES
|
|
sta playfield_lines_idx+PLAYFIELD_LINES
|
|
// [165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS -- vbuz1=_deref_pbuc1
|
|
// Set initial speed of moving down a tetromino
|
|
lda MOVEDOWN_SLOW_SPEEDS
|
|
sta.z current_movedown_slow
|
|
// [166] phi from play_init::@2 to play_init::@3 [phi:play_init::@2->play_init::@3]
|
|
__b3_from___b2:
|
|
// [166] phi play_init::b#2 = 0 [phi:play_init::@2->play_init::@3#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp __b3
|
|
// Set the initial score add values
|
|
// [166] phi from play_init::@3 to play_init::@3 [phi:play_init::@3->play_init::@3]
|
|
__b3_from___b3:
|
|
// [166] phi play_init::b#2 = play_init::b#1 [phi:play_init::@3->play_init::@3#0] -- register_copy
|
|
jmp __b3
|
|
// play_init::@3
|
|
__b3:
|
|
// [167] play_init::$3 = play_init::b#2 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] -- pduc1_derefidx_vbuaa=pduc2_derefidx_vbuaa
|
|
tay
|
|
lda SCORE_BASE_BCD,y
|
|
sta score_add_bcd,y
|
|
lda SCORE_BASE_BCD+1,y
|
|
sta score_add_bcd+1,y
|
|
lda SCORE_BASE_BCD+2,y
|
|
sta score_add_bcd+2,y
|
|
lda SCORE_BASE_BCD+3,y
|
|
sta score_add_bcd+3,y
|
|
// [169] play_init::b#1 = ++ play_init::b#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [170] if(play_init::b#1!=5) goto play_init::@3 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #5
|
|
bne __b3_from___b3
|
|
jmp __breturn
|
|
// play_init::@return
|
|
__breturn:
|
|
// [171] return
|
|
rts
|
|
}
|
|
// play_spawn_current
|
|
// Spawn a new piece
|
|
// Moves the next piece into the current and spawns a new next piece
|
|
play_spawn_current: {
|
|
.label __7 = $2f
|
|
// Spawn a new next piece
|
|
// Pick a random piece (0-6)
|
|
.label piece_idx = $1f
|
|
// [173] play_spawn_current::current_piece_idx#0 = next_piece_idx#18 -- vbuxx=vbuz1
|
|
// Move next piece into current
|
|
ldx.z next_piece_idx
|
|
// [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 -- vbuz1=vbuxx_rol_1
|
|
txa
|
|
asl
|
|
sta.z __7
|
|
// [175] current_piece_char#4 = PIECES_CHARS[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_CHARS,x
|
|
sta.z current_piece_char
|
|
// [176] current_xpos#100 = PIECES_START_X[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_START_X,x
|
|
sta.z current_xpos
|
|
// [177] current_ypos#5 = PIECES_START_Y[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_START_Y,x
|
|
sta.z current_ypos
|
|
// [178] play_collision::xpos#4 = current_xpos#100 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [179] play_collision::ypos#4 = current_ypos#5 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z __7
|
|
lda PIECES,y
|
|
sta.z current_piece_1
|
|
lda PIECES+1,y
|
|
sta.z current_piece_1+1
|
|
// [181] call play_collision
|
|
// [386] phi from play_spawn_current to play_collision [phi:play_spawn_current->play_collision]
|
|
play_collision_from_play_spawn_current:
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#4 [phi:play_spawn_current->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#4 [phi:play_spawn_current->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = 0 [phi:play_spawn_current->play_collision#2] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [386] phi current_piece#18 = current_piece#102 [phi:play_spawn_current->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// [182] play_collision::return#10 = play_collision::return#15
|
|
jmp __b4
|
|
// play_spawn_current::@4
|
|
__b4:
|
|
// [183] play_spawn_current::$1 = play_collision::return#10
|
|
// [184] if(play_spawn_current::$1!=COLLISION_PLAYFIELD) goto play_spawn_current::@5 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_PLAYFIELD
|
|
bne __b5_from___b4
|
|
// [186] phi from play_spawn_current::@4 to play_spawn_current::@1 [phi:play_spawn_current::@4->play_spawn_current::@1]
|
|
__b1_from___b4:
|
|
// [186] phi game_over#53 = 1 [phi:play_spawn_current::@4->play_spawn_current::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z game_over
|
|
jmp __b1
|
|
// [185] phi from play_spawn_current::@4 to play_spawn_current::@5 [phi:play_spawn_current::@4->play_spawn_current::@5]
|
|
__b5_from___b4:
|
|
jmp __b5
|
|
// play_spawn_current::@5
|
|
__b5:
|
|
// [186] phi from play_spawn_current::@5 to play_spawn_current::@1 [phi:play_spawn_current::@5->play_spawn_current::@1]
|
|
__b1_from___b5:
|
|
// [186] phi game_over#53 = game_over#66 [phi:play_spawn_current::@5->play_spawn_current::@1#0] -- register_copy
|
|
jmp __b1
|
|
// play_spawn_current::@1
|
|
__b1:
|
|
// [187] phi from play_spawn_current::@1 to play_spawn_current::@2 [phi:play_spawn_current::@1->play_spawn_current::@2]
|
|
__b2_from___b1:
|
|
// [187] phi play_spawn_current::piece_idx#2 = 7 [phi:play_spawn_current::@1->play_spawn_current::@2#0] -- vbuz1=vbuc1
|
|
lda #7
|
|
sta.z piece_idx
|
|
jmp __b2
|
|
// play_spawn_current::@2
|
|
__b2:
|
|
// [188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #7
|
|
cmp.z piece_idx
|
|
beq sid_rnd1
|
|
jmp __breturn
|
|
// play_spawn_current::@return
|
|
__breturn:
|
|
// [189] return
|
|
rts
|
|
// play_spawn_current::sid_rnd1
|
|
sid_rnd1:
|
|
// [190] play_spawn_current::sid_rnd1_return#0 = *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC) -- vbuaa=_deref_pbuc1
|
|
lda SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC
|
|
jmp __b3
|
|
// play_spawn_current::@3
|
|
__b3:
|
|
// [191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7 -- vbuz1=vbuaa_band_vbuc1
|
|
and #7
|
|
sta.z piece_idx
|
|
// [187] phi from play_spawn_current::@3 to play_spawn_current::@2 [phi:play_spawn_current::@3->play_spawn_current::@2]
|
|
__b2_from___b3:
|
|
// [187] phi play_spawn_current::piece_idx#2 = play_spawn_current::piece_idx#1 [phi:play_spawn_current::@3->play_spawn_current::@2#0] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// render_playfield
|
|
// Render the static playfield on the screen (all pieces already locked into place)
|
|
render_playfield: {
|
|
.label screen_line = $36
|
|
// Do not render the top 2 lines.
|
|
.label i = $b
|
|
.label c = $23
|
|
.label l = $22
|
|
// [193] phi from render_playfield to render_playfield::@1 [phi:render_playfield->render_playfield::@1]
|
|
__b1_from_render_playfield:
|
|
// [193] phi render_playfield::i#3 = PLAYFIELD_COLS*2 [phi:render_playfield->render_playfield::@1#0] -- vbuz1=vbuc1
|
|
lda #PLAYFIELD_COLS*2
|
|
sta.z i
|
|
// [193] phi render_playfield::l#2 = 2 [phi:render_playfield->render_playfield::@1#1] -- vbuz1=vbuc1
|
|
lda #2
|
|
sta.z l
|
|
jmp __b1
|
|
// [193] phi from render_playfield::@3 to render_playfield::@1 [phi:render_playfield::@3->render_playfield::@1]
|
|
__b1_from___b3:
|
|
// [193] phi render_playfield::i#3 = render_playfield::i#1 [phi:render_playfield::@3->render_playfield::@1#0] -- register_copy
|
|
// [193] phi render_playfield::l#2 = render_playfield::l#1 [phi:render_playfield::@3->render_playfield::@1#1] -- register_copy
|
|
jmp __b1
|
|
// render_playfield::@1
|
|
__b1:
|
|
// [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 -- vbuaa=vbuxx_plus_vbuz1
|
|
txa
|
|
clc
|
|
adc.z l
|
|
// [195] render_playfield::$3 = render_playfield::$0 << 1 -- vbuaa=vbuaa_rol_1
|
|
asl
|
|
// [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda screen_lines_1,y
|
|
sta.z screen_line
|
|
lda screen_lines_1+1,y
|
|
sta.z screen_line+1
|
|
// [197] phi from render_playfield::@1 to render_playfield::@2 [phi:render_playfield::@1->render_playfield::@2]
|
|
__b2_from___b1:
|
|
// [197] phi render_playfield::c#2 = 0 [phi:render_playfield::@1->render_playfield::@2#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z c
|
|
// [197] phi render_playfield::screen_line#2 = render_playfield::screen_line#0 [phi:render_playfield::@1->render_playfield::@2#1] -- register_copy
|
|
// [197] phi render_playfield::i#2 = render_playfield::i#3 [phi:render_playfield::@1->render_playfield::@2#2] -- register_copy
|
|
jmp __b2
|
|
// [197] phi from render_playfield::@2 to render_playfield::@2 [phi:render_playfield::@2->render_playfield::@2]
|
|
__b2_from___b2:
|
|
// [197] phi render_playfield::c#2 = render_playfield::c#1 [phi:render_playfield::@2->render_playfield::@2#0] -- register_copy
|
|
// [197] phi render_playfield::screen_line#2 = render_playfield::screen_line#1 [phi:render_playfield::@2->render_playfield::@2#1] -- register_copy
|
|
// [197] phi render_playfield::i#2 = render_playfield::i#1 [phi:render_playfield::@2->render_playfield::@2#2] -- register_copy
|
|
jmp __b2
|
|
// render_playfield::@2
|
|
__b2:
|
|
// [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
|
|
ldy.z i
|
|
lda playfield,y
|
|
ldy #0
|
|
sta (screen_line),y
|
|
// [199] render_playfield::screen_line#1 = ++ render_playfield::screen_line#2 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_line
|
|
bne !+
|
|
inc.z screen_line+1
|
|
!:
|
|
// [200] render_playfield::i#1 = ++ render_playfield::i#2 -- vbuz1=_inc_vbuz1
|
|
inc.z i
|
|
// [201] render_playfield::c#1 = ++ render_playfield::c#2 -- vbuz1=_inc_vbuz1
|
|
inc.z c
|
|
// [202] if(render_playfield::c#1!=PLAYFIELD_COLS-1+1) goto render_playfield::@2 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_COLS-1+1
|
|
cmp.z c
|
|
bne __b2_from___b2
|
|
jmp __b3
|
|
// render_playfield::@3
|
|
__b3:
|
|
// [203] render_playfield::l#1 = ++ render_playfield::l#2 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [204] if(render_playfield::l#1!=PLAYFIELD_LINES-1+1) goto render_playfield::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_LINES-1+1
|
|
cmp.z l
|
|
bne __b1_from___b3
|
|
jmp __breturn
|
|
// render_playfield::@return
|
|
__breturn:
|
|
// [205] return
|
|
rts
|
|
}
|
|
// render_moving
|
|
// Render the current moving piece at position (current_xpos, current_ypos)
|
|
// Ignores cases where parts of the tetromino is outside the playfield (sides/bottom) since the movement collision routine prevents this.
|
|
render_moving: {
|
|
.label ypos = $22
|
|
.label screen_line = $30
|
|
.label xpos = $10
|
|
.label i = $23
|
|
.label l = $b
|
|
// [207] render_moving::ypos#0 = current_ypos#14 -- vbuz1=vbuxx
|
|
stx.z ypos
|
|
// [208] phi from render_moving to render_moving::@1 [phi:render_moving->render_moving::@1]
|
|
__b1_from_render_moving:
|
|
// [208] phi render_moving::l#4 = 0 [phi:render_moving->render_moving::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [208] phi render_moving::i#3 = 0 [phi:render_moving->render_moving::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z i
|
|
// [208] phi render_moving::ypos#2 = render_moving::ypos#0 [phi:render_moving->render_moving::@1#2] -- register_copy
|
|
jmp __b1
|
|
// [208] phi from render_moving::@3 to render_moving::@1 [phi:render_moving::@3->render_moving::@1]
|
|
__b1_from___b3:
|
|
// [208] phi render_moving::l#4 = render_moving::l#1 [phi:render_moving::@3->render_moving::@1#0] -- register_copy
|
|
// [208] phi render_moving::i#3 = render_moving::i#8 [phi:render_moving::@3->render_moving::@1#1] -- register_copy
|
|
// [208] phi render_moving::ypos#2 = render_moving::ypos#1 [phi:render_moving::@3->render_moving::@1#2] -- register_copy
|
|
jmp __b1
|
|
// render_moving::@1
|
|
__b1:
|
|
// [209] if(render_moving::ypos#2>=1+1) goto render_moving::@2 -- vbuz1_ge_vbuc1_then_la1
|
|
lda.z ypos
|
|
cmp #1+1
|
|
bcs __b2
|
|
jmp __b7
|
|
// render_moving::@7
|
|
__b7:
|
|
// [210] render_moving::i#1 = render_moving::i#3 + 4 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z i
|
|
axs #-[4]
|
|
stx.z i
|
|
// [211] phi from render_moving::@5 render_moving::@7 to render_moving::@3 [phi:render_moving::@5/render_moving::@7->render_moving::@3]
|
|
__b3_from___b5:
|
|
__b3_from___b7:
|
|
// [211] phi render_moving::i#8 = render_moving::i#2 [phi:render_moving::@5/render_moving::@7->render_moving::@3#0] -- register_copy
|
|
jmp __b3
|
|
// render_moving::@3
|
|
__b3:
|
|
// [212] render_moving::ypos#1 = ++ render_moving::ypos#2 -- vbuz1=_inc_vbuz1
|
|
inc.z ypos
|
|
// [213] render_moving::l#1 = ++ render_moving::l#4 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [214] if(render_moving::l#1!=4) goto render_moving::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b1_from___b3
|
|
jmp __breturn
|
|
// render_moving::@return
|
|
__breturn:
|
|
// [215] return
|
|
rts
|
|
// render_moving::@2
|
|
__b2:
|
|
// [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 -- vbuaa=vbuz1_plus_vbuz2
|
|
lda.z render_screen_render_1
|
|
clc
|
|
adc.z ypos
|
|
// [217] render_moving::$6 = render_moving::$1 << 1 -- vbuaa=vbuaa_rol_1
|
|
asl
|
|
// [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda screen_lines_1,y
|
|
sta.z screen_line
|
|
lda screen_lines_1+1,y
|
|
sta.z screen_line+1
|
|
// [219] render_moving::xpos#0 = current_xpos#61 -- vbuz1=vbuz2
|
|
lda.z current_xpos_1
|
|
sta.z xpos
|
|
// [220] phi from render_moving::@2 to render_moving::@4 [phi:render_moving::@2->render_moving::@4]
|
|
__b4_from___b2:
|
|
// [220] phi render_moving::c#2 = 0 [phi:render_moving::@2->render_moving::@4#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [220] phi render_moving::xpos#2 = render_moving::xpos#0 [phi:render_moving::@2->render_moving::@4#1] -- register_copy
|
|
// [220] phi render_moving::i#4 = render_moving::i#3 [phi:render_moving::@2->render_moving::@4#2] -- register_copy
|
|
jmp __b4
|
|
// [220] phi from render_moving::@5 to render_moving::@4 [phi:render_moving::@5->render_moving::@4]
|
|
__b4_from___b5:
|
|
// [220] phi render_moving::c#2 = render_moving::c#1 [phi:render_moving::@5->render_moving::@4#0] -- register_copy
|
|
// [220] phi render_moving::xpos#2 = render_moving::xpos#1 [phi:render_moving::@5->render_moving::@4#1] -- register_copy
|
|
// [220] phi render_moving::i#4 = render_moving::i#2 [phi:render_moving::@5->render_moving::@4#2] -- register_copy
|
|
jmp __b4
|
|
// render_moving::@4
|
|
__b4:
|
|
// [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] -- vbuaa=pbuz1_derefidx_vbuz2
|
|
ldy.z i
|
|
lda (current_piece_gfx_1),y
|
|
// [222] render_moving::i#2 = ++ render_moving::i#4 -- vbuz1=_inc_vbuz1
|
|
inc.z i
|
|
// [223] if(render_moving::current_cell#0==0) goto render_moving::@5 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b5
|
|
jmp __b6
|
|
// render_moving::@6
|
|
__b6:
|
|
// [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 -- pbuz1_derefidx_vbuz2=vbuz3
|
|
lda.z current_piece_char_1
|
|
ldy.z xpos
|
|
sta (screen_line),y
|
|
jmp __b5
|
|
// render_moving::@5
|
|
__b5:
|
|
// [225] render_moving::xpos#1 = ++ render_moving::xpos#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xpos
|
|
// [226] render_moving::c#1 = ++ render_moving::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [227] if(render_moving::c#1!=4) goto render_moving::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b4_from___b5
|
|
jmp __b3_from___b5
|
|
}
|
|
// render_next
|
|
// Render the next tetromino in the "next" area
|
|
render_next: {
|
|
// Find the screen area
|
|
.const next_area_offset = $28*$c+$18+4
|
|
.label next_piece_char = $32
|
|
.label next_piece_gfx = $c
|
|
.label screen_next_area = $36
|
|
.label l = $10
|
|
// [229] if(render_screen_render#16==0) goto render_next::@1 -- vbuxx_eq_0_then_la1
|
|
cpx #0
|
|
beq __b1_from_render_next
|
|
// [231] phi from render_next to render_next::@2 [phi:render_next->render_next::@2]
|
|
__b2_from_render_next:
|
|
// [231] phi render_next::screen_next_area#11 = PLAYFIELD_SCREEN_2+render_next::next_area_offset [phi:render_next->render_next::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2+next_area_offset
|
|
sta.z screen_next_area
|
|
lda #>PLAYFIELD_SCREEN_2+next_area_offset
|
|
sta.z screen_next_area+1
|
|
jmp __b2
|
|
// [230] phi from render_next to render_next::@1 [phi:render_next->render_next::@1]
|
|
__b1_from_render_next:
|
|
jmp __b1
|
|
// render_next::@1
|
|
__b1:
|
|
// [231] phi from render_next::@1 to render_next::@2 [phi:render_next::@1->render_next::@2]
|
|
__b2_from___b1:
|
|
// [231] phi render_next::screen_next_area#11 = PLAYFIELD_SCREEN_1+render_next::next_area_offset [phi:render_next::@1->render_next::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1+next_area_offset
|
|
sta.z screen_next_area
|
|
lda #>PLAYFIELD_SCREEN_1+next_area_offset
|
|
sta.z screen_next_area+1
|
|
jmp __b2
|
|
// render_next::@2
|
|
__b2:
|
|
// [232] render_next::$6 = next_piece_idx#13 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [233] render_next::next_piece_char#0 = PIECES_NEXT_CHARS[next_piece_idx#13] -- vbuz1=pbuc1_derefidx_vbuyy
|
|
lda PIECES_NEXT_CHARS,y
|
|
sta.z next_piece_char
|
|
// [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] -- pbuz1=qbuc1_derefidx_vbuxx
|
|
lda PIECES,x
|
|
sta.z next_piece_gfx
|
|
lda PIECES+1,x
|
|
sta.z next_piece_gfx+1
|
|
// [235] phi from render_next::@2 to render_next::@3 [phi:render_next::@2->render_next::@3]
|
|
__b3_from___b2:
|
|
// [235] phi render_next::l#7 = 0 [phi:render_next::@2->render_next::@3#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [235] phi render_next::screen_next_area#10 = render_next::screen_next_area#11 [phi:render_next::@2->render_next::@3#1] -- register_copy
|
|
// [235] phi render_next::next_piece_gfx#3 = render_next::next_piece_gfx#8 [phi:render_next::@2->render_next::@3#2] -- register_copy
|
|
jmp __b3
|
|
// [235] phi from render_next::@8 to render_next::@3 [phi:render_next::@8->render_next::@3]
|
|
__b3_from___b8:
|
|
// [235] phi render_next::l#7 = render_next::l#1 [phi:render_next::@8->render_next::@3#0] -- register_copy
|
|
// [235] phi render_next::screen_next_area#10 = render_next::screen_next_area#4 [phi:render_next::@8->render_next::@3#1] -- register_copy
|
|
// [235] phi render_next::next_piece_gfx#3 = render_next::next_piece_gfx#1 [phi:render_next::@8->render_next::@3#2] -- register_copy
|
|
jmp __b3
|
|
// render_next::@3
|
|
__b3:
|
|
// [236] phi from render_next::@3 to render_next::@4 [phi:render_next::@3->render_next::@4]
|
|
__b4_from___b3:
|
|
// [236] phi render_next::c#2 = 0 [phi:render_next::@3->render_next::@4#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [236] phi render_next::screen_next_area#5 = render_next::screen_next_area#10 [phi:render_next::@3->render_next::@4#1] -- register_copy
|
|
// [236] phi render_next::next_piece_gfx#2 = render_next::next_piece_gfx#3 [phi:render_next::@3->render_next::@4#2] -- register_copy
|
|
jmp __b4
|
|
// [236] phi from render_next::@6 to render_next::@4 [phi:render_next::@6->render_next::@4]
|
|
__b4_from___b6:
|
|
// [236] phi render_next::c#2 = render_next::c#1 [phi:render_next::@6->render_next::@4#0] -- register_copy
|
|
// [236] phi render_next::screen_next_area#5 = render_next::screen_next_area#3 [phi:render_next::@6->render_next::@4#1] -- register_copy
|
|
// [236] phi render_next::next_piece_gfx#2 = render_next::next_piece_gfx#1 [phi:render_next::@6->render_next::@4#2] -- register_copy
|
|
jmp __b4
|
|
// render_next::@4
|
|
__b4:
|
|
// [237] render_next::cell#0 = *render_next::next_piece_gfx#2 -- vbuaa=_deref_pbuz1
|
|
ldy #0
|
|
lda (next_piece_gfx),y
|
|
// [238] render_next::next_piece_gfx#1 = ++ render_next::next_piece_gfx#2 -- pbuz1=_inc_pbuz1
|
|
inc.z next_piece_gfx
|
|
bne !+
|
|
inc.z next_piece_gfx+1
|
|
!:
|
|
// [239] if(render_next::cell#0!=0) goto render_next::@5 -- vbuaa_neq_0_then_la1
|
|
cmp #0
|
|
bne __b5
|
|
jmp __b7
|
|
// render_next::@7
|
|
__b7:
|
|
// [240] *render_next::screen_next_area#5 = 0 -- _deref_pbuz1=vbuc1
|
|
lda #0
|
|
ldy #0
|
|
sta (screen_next_area),y
|
|
jmp __b6
|
|
// render_next::@6
|
|
__b6:
|
|
// [241] render_next::screen_next_area#3 = ++ render_next::screen_next_area#5 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_next_area
|
|
bne !+
|
|
inc.z screen_next_area+1
|
|
!:
|
|
// [242] render_next::c#1 = ++ render_next::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [243] if(render_next::c#1!=4) goto render_next::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b4_from___b6
|
|
jmp __b8
|
|
// render_next::@8
|
|
__b8:
|
|
// [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$24
|
|
clc
|
|
adc.z screen_next_area
|
|
sta.z screen_next_area
|
|
bcc !+
|
|
inc.z screen_next_area+1
|
|
!:
|
|
// [245] render_next::l#1 = ++ render_next::l#7 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [246] if(render_next::l#1!=4) goto render_next::@3 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b3_from___b8
|
|
jmp __breturn
|
|
// render_next::@return
|
|
__breturn:
|
|
// [247] return
|
|
rts
|
|
// render_next::@5
|
|
__b5:
|
|
// [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 -- _deref_pbuz1=vbuz2
|
|
lda.z next_piece_char
|
|
ldy #0
|
|
sta (screen_next_area),y
|
|
jmp __b6
|
|
}
|
|
// render_show
|
|
// Update 0xD018 to show the current screen (used for double buffering)
|
|
render_show: {
|
|
.const toD0181_return = (>(PLAYFIELD_SCREEN_1&$3fff)*4)|(>PLAYFIELD_CHARSET)/4&$f
|
|
.const toD0182_return = (>(PLAYFIELD_SCREEN_2&$3fff)*4)|(>PLAYFIELD_CHARSET)/4&$f
|
|
// [249] if(render_screen_show#17==0) goto render_show::toD0181 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_show
|
|
cmp #0
|
|
beq toD0181_from_render_show
|
|
// [250] phi from render_show to render_show::toD0182 [phi:render_show->render_show::toD0182]
|
|
toD0182_from_render_show:
|
|
jmp toD0182
|
|
// render_show::toD0182
|
|
toD0182:
|
|
// [251] phi from render_show::toD0182 to render_show::@1 [phi:render_show::toD0182->render_show::@1]
|
|
__b1_from_toD0182:
|
|
// [251] phi render_show::d018val#3 = render_show::toD0182_return#0 [phi:render_show::toD0182->render_show::@1#0] -- vbuaa=vbuc1
|
|
lda #toD0182_return
|
|
jmp __b1
|
|
// render_show::@1
|
|
__b1:
|
|
// [252] *D018 = render_show::d018val#3 -- _deref_pbuc1=vbuaa
|
|
sta D018
|
|
// [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] -- _deref_pbuc1=pbuc2_derefidx_vbuz1
|
|
ldy.z level
|
|
lda PIECES_COLORS_1,y
|
|
sta BG_COLOR1
|
|
// [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] -- _deref_pbuc1=pbuc2_derefidx_vbuz1
|
|
ldy.z level
|
|
lda PIECES_COLORS_2,y
|
|
sta BG_COLOR2
|
|
// [255] render_screen_showing = render_screen_show#17 -- vbuz1=vbuz2
|
|
lda.z render_screen_show
|
|
sta.z render_screen_showing
|
|
jmp __breturn
|
|
// render_show::@return
|
|
__breturn:
|
|
// [256] return
|
|
rts
|
|
// [257] phi from render_show to render_show::toD0181 [phi:render_show->render_show::toD0181]
|
|
toD0181_from_render_show:
|
|
jmp toD0181
|
|
// render_show::toD0181
|
|
toD0181:
|
|
// [251] phi from render_show::toD0181 to render_show::@1 [phi:render_show::toD0181->render_show::@1]
|
|
__b1_from_toD0181:
|
|
// [251] phi render_show::d018val#3 = render_show::toD0181_return#0 [phi:render_show::toD0181->render_show::@1#0] -- vbuaa=vbuc1
|
|
lda #toD0181_return
|
|
jmp __b1
|
|
}
|
|
// keyboard_event_scan
|
|
// Scans the entire matrix to determine which keys have been pressed/depressed.
|
|
// Generates keyboard events into the event buffer. Events can be read using keyboard_event_get().
|
|
// Handles debounce and only generates events when the status of a key changes.
|
|
// Also stores current status of modifiers in keyboard_modifiers.
|
|
keyboard_event_scan: {
|
|
.label row_scan = $33
|
|
.label keycode = $23
|
|
.label row = $b
|
|
// [259] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7]
|
|
__b7_from_keyboard_event_scan:
|
|
// [259] phi keyboard_events_size#32 = keyboard_events_size#20 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy
|
|
// [259] phi keyboard_event_scan::keycode#11 = 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z keycode
|
|
// [259] phi keyboard_event_scan::row#2 = 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z row
|
|
jmp __b7
|
|
// [259] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7]
|
|
__b7_from___b8:
|
|
// [259] phi keyboard_events_size#32 = keyboard_events_size#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy
|
|
// [259] phi keyboard_event_scan::keycode#11 = keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy
|
|
// [259] phi keyboard_event_scan::row#2 = keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy
|
|
jmp __b7
|
|
// keyboard_event_scan::@7
|
|
__b7:
|
|
// [260] keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 -- vbuxx=vbuz1
|
|
ldx.z row
|
|
// [261] call keyboard_matrix_read
|
|
jsr keyboard_matrix_read
|
|
// [262] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
|
|
jmp __b19
|
|
// keyboard_event_scan::@19
|
|
__b19:
|
|
// [263] keyboard_event_scan::row_scan#0 = keyboard_matrix_read::return#2 -- vbuz1=vbuaa
|
|
sta.z row_scan
|
|
// [264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1
|
|
lda.z row_scan
|
|
ldy.z row
|
|
cmp keyboard_scan_values,y
|
|
bne __b9_from___b19
|
|
jmp __b16
|
|
// keyboard_event_scan::@16
|
|
__b16:
|
|
// [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z keycode
|
|
axs #-[8]
|
|
stx.z keycode
|
|
// [266] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8]
|
|
__b8_from___b15:
|
|
__b8_from___b16:
|
|
// [266] phi keyboard_events_size#14 = keyboard_events_size#31 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy
|
|
// [266] phi keyboard_event_scan::keycode#13 = keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy
|
|
jmp __b8
|
|
// keyboard_event_scan::@8
|
|
__b8:
|
|
// [267] keyboard_event_scan::row#1 = ++ keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1
|
|
inc.z row
|
|
// [268] if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #8
|
|
cmp.z row
|
|
bne __b7_from___b8
|
|
// [269] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17]
|
|
__b17_from___b8:
|
|
jmp __b17
|
|
// keyboard_event_scan::@17
|
|
__b17:
|
|
// [270] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed]
|
|
keyboard_event_pressed_from___b17:
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_LSHIFT
|
|
jsr keyboard_event_pressed
|
|
// [271] keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11
|
|
jmp __b20
|
|
// keyboard_event_scan::@20
|
|
__b20:
|
|
// [272] keyboard_event_scan::$0 = keyboard_event_pressed::return#0
|
|
// [273] if(keyboard_event_scan::$0==0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b1_from___b20
|
|
// [274] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18]
|
|
__b18_from___b20:
|
|
jmp __b18
|
|
// keyboard_event_scan::@18
|
|
__b18:
|
|
// [275] phi from keyboard_event_scan::@18 keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18/keyboard_event_scan::@20->keyboard_event_scan::@1]
|
|
__b1_from___b18:
|
|
__b1_from___b20:
|
|
jmp __b1
|
|
// keyboard_event_scan::@1
|
|
__b1:
|
|
// [276] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed]
|
|
keyboard_event_pressed_from___b1:
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_RSHIFT
|
|
jsr keyboard_event_pressed
|
|
// [277] keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11
|
|
jmp __b21
|
|
// keyboard_event_scan::@21
|
|
__b21:
|
|
// [278] keyboard_event_scan::$3 = keyboard_event_pressed::return#1
|
|
// [279] if(keyboard_event_scan::$3==0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b2_from___b21
|
|
// [280] phi from keyboard_event_scan::@21 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@21->keyboard_event_scan::@4]
|
|
__b4_from___b21:
|
|
jmp __b4
|
|
// keyboard_event_scan::@4
|
|
__b4:
|
|
// [281] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2]
|
|
__b2_from___b21:
|
|
__b2_from___b4:
|
|
jmp __b2
|
|
// keyboard_event_scan::@2
|
|
__b2:
|
|
// [282] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed]
|
|
keyboard_event_pressed_from___b2:
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_CTRL
|
|
jsr keyboard_event_pressed
|
|
// [283] keyboard_event_pressed::return#2 = keyboard_event_pressed::return#11
|
|
jmp __b22
|
|
// keyboard_event_scan::@22
|
|
__b22:
|
|
// [284] keyboard_event_scan::$6 = keyboard_event_pressed::return#2
|
|
// [285] if(keyboard_event_scan::$6==0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b3_from___b22
|
|
// [286] phi from keyboard_event_scan::@22 to keyboard_event_scan::@5 [phi:keyboard_event_scan::@22->keyboard_event_scan::@5]
|
|
__b5_from___b22:
|
|
jmp __b5
|
|
// keyboard_event_scan::@5
|
|
__b5:
|
|
// [287] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3]
|
|
__b3_from___b22:
|
|
__b3_from___b5:
|
|
jmp __b3
|
|
// keyboard_event_scan::@3
|
|
__b3:
|
|
// [288] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed]
|
|
keyboard_event_pressed_from___b3:
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_COMMODORE
|
|
jsr keyboard_event_pressed
|
|
// [289] keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11
|
|
jmp __b23
|
|
// keyboard_event_scan::@23
|
|
__b23:
|
|
// [290] keyboard_event_scan::$9 = keyboard_event_pressed::return#10
|
|
// [291] if(keyboard_event_scan::$9==0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __breturn
|
|
// [292] phi from keyboard_event_scan::@23 to keyboard_event_scan::@6 [phi:keyboard_event_scan::@23->keyboard_event_scan::@6]
|
|
__b6_from___b23:
|
|
jmp __b6
|
|
// keyboard_event_scan::@6
|
|
__b6:
|
|
jmp __breturn
|
|
// keyboard_event_scan::@return
|
|
__breturn:
|
|
// [293] return
|
|
rts
|
|
// Something has changed on the keyboard row - check each column
|
|
// [294] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9]
|
|
__b9_from___b10:
|
|
// [294] phi keyboard_events_size#11 = keyboard_events_size#31 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy
|
|
// [294] phi keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy
|
|
// [294] phi keyboard_event_scan::col#2 = keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy
|
|
jmp __b9
|
|
// [294] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9]
|
|
__b9_from___b19:
|
|
// [294] phi keyboard_events_size#11 = keyboard_events_size#32 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy
|
|
// [294] phi keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy
|
|
// [294] phi keyboard_event_scan::col#2 = 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp __b9
|
|
// keyboard_event_scan::@9
|
|
__b9:
|
|
// [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2
|
|
lda.z row_scan
|
|
ldy.z row
|
|
eor keyboard_scan_values,y
|
|
// [296] keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx
|
|
and keyboard_matrix_col_bitmask,x
|
|
// [297] if(keyboard_event_scan::$16==0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b10_from___b9
|
|
jmp __b12
|
|
// keyboard_event_scan::@12
|
|
__b12:
|
|
// [298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #8
|
|
cmp.z keyboard_events_size
|
|
beq __b10_from___b12
|
|
jmp __b13
|
|
// keyboard_event_scan::@13
|
|
__b13:
|
|
// [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx
|
|
lda keyboard_matrix_col_bitmask,x
|
|
and.z row_scan
|
|
// [300] if(keyboard_event_scan::event_type#0==0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b11
|
|
jmp __b14
|
|
// keyboard_event_scan::@14
|
|
__b14:
|
|
// [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
// Key pressed
|
|
lda.z keycode
|
|
ldy.z keyboard_events_size
|
|
sta keyboard_events,y
|
|
// [302] keyboard_events_size#1 = ++ keyboard_events_size#11 -- vbuz1=_inc_vbuz1
|
|
inc.z keyboard_events_size
|
|
// [303] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10]
|
|
__b10_from___b11:
|
|
__b10_from___b12:
|
|
__b10_from___b14:
|
|
__b10_from___b9:
|
|
// [303] phi keyboard_events_size#31 = keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy
|
|
jmp __b10
|
|
// keyboard_event_scan::@10
|
|
__b10:
|
|
// [304] keyboard_event_scan::keycode#14 = ++ keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1
|
|
inc.z keycode
|
|
// [305] keyboard_event_scan::col#1 = ++ keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [306] if(keyboard_event_scan::col#1!=8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #8
|
|
bne __b9_from___b10
|
|
jmp __b15
|
|
// keyboard_event_scan::@15
|
|
__b15:
|
|
// [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
// Store the current keyboard status for the row to debounce
|
|
lda.z row_scan
|
|
ldy.z row
|
|
sta keyboard_scan_values,y
|
|
jmp __b8_from___b15
|
|
// keyboard_event_scan::@11
|
|
__b11:
|
|
// [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 -- vbuaa=vbuz1_bor_vbuc1
|
|
lda #$40
|
|
ora.z keycode
|
|
// [309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa
|
|
// Key released
|
|
ldy.z keyboard_events_size
|
|
sta keyboard_events,y
|
|
// [310] keyboard_events_size#0 = ++ keyboard_events_size#11 -- vbuz1=_inc_vbuz1
|
|
inc.z keyboard_events_size
|
|
jmp __b10_from___b11
|
|
}
|
|
// keyboard_event_get
|
|
// Get the next event from the keyboard event buffer.
|
|
// Returns $ff if there is no event waiting. As all events are <$7f it is enough to examine bit 7 when determining if there is any event to process.
|
|
// The buffer is filled by keyboard_event_scan()
|
|
keyboard_event_get: {
|
|
// [311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1
|
|
lda.z keyboard_events_size
|
|
cmp #0
|
|
beq __breturn_from_keyboard_event_get
|
|
jmp __b1
|
|
// keyboard_event_get::@1
|
|
__b1:
|
|
// [312] keyboard_events_size#3 = -- keyboard_events_size#14 -- vbuz1=_dec_vbuz1
|
|
dec.z keyboard_events_size
|
|
// [313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3] -- vbuaa=pbuc1_derefidx_vbuz1
|
|
ldy.z keyboard_events_size
|
|
lda keyboard_events,y
|
|
// [314] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return]
|
|
__breturn_from___b1:
|
|
// [314] phi keyboard_events_size#17 = keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy
|
|
// [314] phi keyboard_event_get::return#2 = keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy
|
|
jmp __breturn
|
|
// [314] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return]
|
|
__breturn_from_keyboard_event_get:
|
|
// [314] phi keyboard_events_size#17 = keyboard_events_size#14 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy
|
|
// [314] phi keyboard_event_get::return#2 = $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1
|
|
lda #$ff
|
|
jmp __breturn
|
|
// keyboard_event_get::@return
|
|
__breturn:
|
|
// [315] return
|
|
rts
|
|
}
|
|
// play_movement
|
|
// Perform any movement of the current piece
|
|
// key_event is the next keyboard_event() og 0xff if no keyboard event is pending
|
|
// Returns a byte signaling whether rendering is needed. (0 no render, >0 render needed)
|
|
// play_movement(byte zp($2e) key_event)
|
|
play_movement: {
|
|
.label render = $b
|
|
.label return = $b
|
|
.label key_event = $2e
|
|
// [316] play_move_down::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [317] call play_move_down
|
|
jsr play_move_down
|
|
// [318] play_move_down::return#0 = play_move_down::return#3 -- vbuaa=vbuxx
|
|
txa
|
|
jmp __b2
|
|
// play_movement::@2
|
|
__b2:
|
|
// [319] play_movement::render#1 = play_move_down::return#0 -- vbuz1=vbuaa
|
|
sta.z render
|
|
// [320] if(game_over#16==0) goto play_movement::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z game_over
|
|
cmp #0
|
|
beq __b1
|
|
// [321] phi from play_movement::@2 play_movement::@4 to play_movement::@return [phi:play_movement::@2/play_movement::@4->play_movement::@return]
|
|
__breturn_from___b2:
|
|
__breturn_from___b4:
|
|
// [321] phi current_xpos#2 = current_xpos#23 [phi:play_movement::@2/play_movement::@4->play_movement::@return#0] -- register_copy
|
|
// [321] phi current_piece_gfx#19 = current_piece_gfx#21 [phi:play_movement::@2/play_movement::@4->play_movement::@return#1] -- register_copy
|
|
// [321] phi current_orientation#18 = current_orientation#21 [phi:play_movement::@2/play_movement::@4->play_movement::@return#2] -- register_copy
|
|
// [321] phi play_movement::return#2 = play_movement::render#1 [phi:play_movement::@2/play_movement::@4->play_movement::@return#3] -- register_copy
|
|
jmp __breturn
|
|
// play_movement::@return
|
|
__breturn:
|
|
// [322] return
|
|
rts
|
|
// play_movement::@1
|
|
__b1:
|
|
// [323] play_move_leftright::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [324] call play_move_leftright
|
|
jsr play_move_leftright
|
|
// [325] play_move_leftright::return#0 = play_move_leftright::return#2
|
|
jmp __b3
|
|
// play_movement::@3
|
|
__b3:
|
|
// [326] play_movement::$3 = play_move_leftright::return#0
|
|
// [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 -- vbuz1=vbuz1_plus_vbuaa
|
|
clc
|
|
adc.z render
|
|
sta.z render
|
|
// [328] play_move_rotate::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [329] call play_move_rotate
|
|
jsr play_move_rotate
|
|
// [330] play_move_rotate::return#0 = play_move_rotate::return#2
|
|
jmp __b4
|
|
// play_movement::@4
|
|
__b4:
|
|
// [331] play_movement::$4 = play_move_rotate::return#0
|
|
// [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 -- vbuz1=vbuz1_plus_vbuaa
|
|
clc
|
|
adc.z return
|
|
sta.z return
|
|
jmp __breturn_from___b4
|
|
}
|
|
// render_score
|
|
// Show the current score
|
|
render_score: {
|
|
.const score_offset = $28*5+$1c
|
|
.const lines_offset = $28*1+$16
|
|
.const level_offset = $28*$13+$1f
|
|
.label score_bytes = score_bcd
|
|
.label screen = $c
|
|
// [333] if(render_screen_render#19==0) goto render_score::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_render
|
|
cmp #0
|
|
beq __b1_from_render_score
|
|
// [335] phi from render_score to render_score::@2 [phi:render_score->render_score::@2]
|
|
__b2_from_render_score:
|
|
// [335] phi render_score::screen#3 = PLAYFIELD_SCREEN_2 [phi:render_score->render_score::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2
|
|
sta.z screen
|
|
lda #>PLAYFIELD_SCREEN_2
|
|
sta.z screen+1
|
|
jmp __b2
|
|
// [334] phi from render_score to render_score::@1 [phi:render_score->render_score::@1]
|
|
__b1_from_render_score:
|
|
jmp __b1
|
|
// render_score::@1
|
|
__b1:
|
|
// [335] phi from render_score::@1 to render_score::@2 [phi:render_score::@1->render_score::@2]
|
|
__b2_from___b1:
|
|
// [335] phi render_score::screen#3 = PLAYFIELD_SCREEN_1 [phi:render_score::@1->render_score::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1
|
|
sta.z screen
|
|
lda #>PLAYFIELD_SCREEN_1
|
|
sta.z screen+1
|
|
jmp __b2
|
|
// render_score::@2
|
|
__b2:
|
|
// [336] render_bcd::screen#0 = render_score::screen#3
|
|
// [337] render_bcd::bcd#0 = *(render_score::score_bytes+2) -- vbuxx=_deref_pbuc1
|
|
ldx score_bytes+2
|
|
// [338] call render_bcd
|
|
// [499] phi from render_score::@2 to render_bcd [phi:render_score::@2->render_bcd]
|
|
render_bcd_from___b2:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#0 [phi:render_score::@2->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@2->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset [phi:render_score::@2->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#0 [phi:render_score::@2->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __b3
|
|
// render_score::@3
|
|
__b3:
|
|
// [339] render_bcd::screen#1 = render_score::screen#3
|
|
// [340] render_bcd::bcd#1 = *(render_score::score_bytes+1) -- vbuxx=_deref_pbuc1
|
|
ldx score_bytes+1
|
|
// [341] call render_bcd
|
|
// [499] phi from render_score::@3 to render_bcd [phi:render_score::@3->render_bcd]
|
|
render_bcd_from___b3:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#1 [phi:render_score::@3->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@3->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset+2 [phi:render_score::@3->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset+2
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset+2
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#1 [phi:render_score::@3->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __b4
|
|
// render_score::@4
|
|
__b4:
|
|
// [342] render_bcd::screen#2 = render_score::screen#3
|
|
// [343] render_bcd::bcd#2 = *render_score::score_bytes -- vbuxx=_deref_pbuc1
|
|
ldx.z score_bytes
|
|
// [344] call render_bcd
|
|
// [499] phi from render_score::@4 to render_bcd [phi:render_score::@4->render_bcd]
|
|
render_bcd_from___b4:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#2 [phi:render_score::@4->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@4->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset+4 [phi:render_score::@4->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset+4
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset+4
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#2 [phi:render_score::@4->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __b5
|
|
// render_score::@5
|
|
__b5:
|
|
// [345] render_bcd::bcd#3 = > lines_bcd#16 -- vbuxx=_hi_vwuz1
|
|
ldx.z lines_bcd+1
|
|
// [346] render_bcd::screen#3 = render_score::screen#3
|
|
// [347] call render_bcd
|
|
// [499] phi from render_score::@5 to render_bcd [phi:render_score::@5->render_bcd]
|
|
render_bcd_from___b5:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#3 [phi:render_score::@5->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 1 [phi:render_score::@5->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #1
|
|
// [499] phi render_bcd::offset#6 = render_score::lines_offset [phi:render_score::@5->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<lines_offset
|
|
sta.z render_bcd.offset
|
|
lda #>lines_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#3 [phi:render_score::@5->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __b6
|
|
// render_score::@6
|
|
__b6:
|
|
// [348] render_bcd::bcd#4 = < lines_bcd#16 -- vbuxx=_lo_vwuz1
|
|
ldx.z lines_bcd
|
|
// [349] render_bcd::screen#4 = render_score::screen#3
|
|
// [350] call render_bcd
|
|
// [499] phi from render_score::@6 to render_bcd [phi:render_score::@6->render_bcd]
|
|
render_bcd_from___b6:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#4 [phi:render_score::@6->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@6->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::lines_offset+1 [phi:render_score::@6->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<lines_offset+1
|
|
sta.z render_bcd.offset
|
|
lda #>lines_offset+1
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#4 [phi:render_score::@6->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __b7
|
|
// render_score::@7
|
|
__b7:
|
|
// [351] render_bcd::screen#5 = render_score::screen#3
|
|
// [352] render_bcd::bcd#5 = level_bcd#18 -- vbuxx=vbuz1
|
|
ldx.z level_bcd
|
|
// [353] call render_bcd
|
|
// [499] phi from render_score::@7 to render_bcd [phi:render_score::@7->render_bcd]
|
|
render_bcd_from___b7:
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#5 [phi:render_score::@7->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@7->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::level_offset [phi:render_score::@7->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<level_offset
|
|
sta.z render_bcd.offset
|
|
lda #>level_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#5 [phi:render_score::@7->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
jmp __breturn
|
|
// render_score::@return
|
|
__breturn:
|
|
// [354] return
|
|
rts
|
|
}
|
|
// render_screen_swap
|
|
// Swap rendering to the other screen (used for double buffering)
|
|
render_screen_swap: {
|
|
// [355] render_screen_render#12 = render_screen_render#19 ^ $20 -- vbuz1=vbuz1_bxor_vbuc1
|
|
lda #$20
|
|
eor.z render_screen_render
|
|
sta.z render_screen_render
|
|
// [356] render_screen_show#14 = render_screen_show#17 ^ $20 -- vbuz1=vbuz1_bxor_vbuc1
|
|
lda #$20
|
|
eor.z render_screen_show
|
|
sta.z render_screen_show
|
|
jmp __breturn
|
|
// render_screen_swap::@return
|
|
__breturn:
|
|
// [357] return
|
|
rts
|
|
}
|
|
// render_screen_original
|
|
// Copy the original screen data to the passed screen
|
|
// Also copies colors to 0xd800
|
|
// render_screen_original(byte* zp($30) screen)
|
|
render_screen_original: {
|
|
.const SPACE = 0
|
|
.label screen = $30
|
|
.label cols = $34
|
|
.label oscr = $36
|
|
.label ocols = $20
|
|
.label y = $23
|
|
// [359] phi from render_screen_original to render_screen_original::@1 [phi:render_screen_original->render_screen_original::@1]
|
|
__b1_from_render_screen_original:
|
|
// [359] phi render_screen_original::y#6 = 0 [phi:render_screen_original->render_screen_original::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z y
|
|
// [359] phi render_screen_original::ocols#4 = PLAYFIELD_COLORS_ORIGINAL+$20*2 [phi:render_screen_original->render_screen_original::@1#1] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
sta.z ocols
|
|
lda #>PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
sta.z ocols+1
|
|
// [359] phi render_screen_original::oscr#4 = PLAYFIELD_SCREEN_ORIGINAL+$20*2 [phi:render_screen_original->render_screen_original::@1#2] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
sta.z oscr
|
|
lda #>PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
sta.z oscr+1
|
|
// [359] phi render_screen_original::cols#7 = COLS [phi:render_screen_original->render_screen_original::@1#3] -- pbuz1=pbuc1
|
|
lda #<COLS
|
|
sta.z cols
|
|
lda #>COLS
|
|
sta.z cols+1
|
|
// [359] phi render_screen_original::screen#8 = render_screen_original::screen#9 [phi:render_screen_original->render_screen_original::@1#4] -- register_copy
|
|
jmp __b1
|
|
// [359] phi from render_screen_original::@5 to render_screen_original::@1 [phi:render_screen_original::@5->render_screen_original::@1]
|
|
__b1_from___b5:
|
|
// [359] phi render_screen_original::y#6 = render_screen_original::y#1 [phi:render_screen_original::@5->render_screen_original::@1#0] -- register_copy
|
|
// [359] phi render_screen_original::ocols#4 = render_screen_original::ocols#1 [phi:render_screen_original::@5->render_screen_original::@1#1] -- register_copy
|
|
// [359] phi render_screen_original::oscr#4 = render_screen_original::oscr#1 [phi:render_screen_original::@5->render_screen_original::@1#2] -- register_copy
|
|
// [359] phi render_screen_original::cols#7 = render_screen_original::cols#3 [phi:render_screen_original::@5->render_screen_original::@1#3] -- register_copy
|
|
// [359] phi render_screen_original::screen#8 = render_screen_original::screen#10 [phi:render_screen_original::@5->render_screen_original::@1#4] -- register_copy
|
|
jmp __b1
|
|
// render_screen_original::@1
|
|
__b1:
|
|
// [360] phi from render_screen_original::@1 to render_screen_original::@2 [phi:render_screen_original::@1->render_screen_original::@2]
|
|
__b2_from___b1:
|
|
// [360] phi render_screen_original::x#4 = 0 [phi:render_screen_original::@1->render_screen_original::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [360] phi render_screen_original::cols#4 = render_screen_original::cols#7 [phi:render_screen_original::@1->render_screen_original::@2#1] -- register_copy
|
|
// [360] phi render_screen_original::screen#5 = render_screen_original::screen#8 [phi:render_screen_original::@1->render_screen_original::@2#2] -- register_copy
|
|
jmp __b2
|
|
// [360] phi from render_screen_original::@2 to render_screen_original::@2 [phi:render_screen_original::@2->render_screen_original::@2]
|
|
__b2_from___b2:
|
|
// [360] phi render_screen_original::x#4 = render_screen_original::x#1 [phi:render_screen_original::@2->render_screen_original::@2#0] -- register_copy
|
|
// [360] phi render_screen_original::cols#4 = render_screen_original::cols#1 [phi:render_screen_original::@2->render_screen_original::@2#1] -- register_copy
|
|
// [360] phi render_screen_original::screen#5 = render_screen_original::screen#2 [phi:render_screen_original::@2->render_screen_original::@2#2] -- register_copy
|
|
jmp __b2
|
|
// render_screen_original::@2
|
|
__b2:
|
|
// [361] *render_screen_original::screen#5 = render_screen_original::SPACE -- _deref_pbuz1=vbuc1
|
|
lda #SPACE
|
|
ldy #0
|
|
sta (screen),y
|
|
// [362] render_screen_original::screen#2 = ++ render_screen_original::screen#5 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// [363] *render_screen_original::cols#4 = BLACK -- _deref_pbuz1=vbuc1
|
|
lda #BLACK
|
|
ldy #0
|
|
sta (cols),y
|
|
// [364] render_screen_original::cols#1 = ++ render_screen_original::cols#4 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// [365] render_screen_original::x#1 = ++ render_screen_original::x#4 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [366] if(render_screen_original::x#1!=4) goto render_screen_original::@2 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b2_from___b2
|
|
// [367] phi from render_screen_original::@2 render_screen_original::@3 to render_screen_original::@3 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3]
|
|
__b3_from___b2:
|
|
__b3_from___b3:
|
|
// [367] phi render_screen_original::x#5 = render_screen_original::x#1 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#0] -- register_copy
|
|
// [367] phi render_screen_original::cols#5 = render_screen_original::cols#1 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#1] -- register_copy
|
|
// [367] phi render_screen_original::ocols#2 = render_screen_original::ocols#4 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#2] -- register_copy
|
|
// [367] phi render_screen_original::screen#6 = render_screen_original::screen#2 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#3] -- register_copy
|
|
// [367] phi render_screen_original::oscr#2 = render_screen_original::oscr#4 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#4] -- register_copy
|
|
jmp __b3
|
|
// render_screen_original::@3
|
|
__b3:
|
|
// [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 -- _deref_pbuz1=_deref_pbuz2
|
|
ldy #0
|
|
lda (oscr),y
|
|
ldy #0
|
|
sta (screen),y
|
|
// [369] render_screen_original::screen#3 = ++ render_screen_original::screen#6 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// [370] render_screen_original::oscr#1 = ++ render_screen_original::oscr#2 -- pbuz1=_inc_pbuz1
|
|
inc.z oscr
|
|
bne !+
|
|
inc.z oscr+1
|
|
!:
|
|
// [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 -- _deref_pbuz1=_deref_pbuz2
|
|
ldy #0
|
|
lda (ocols),y
|
|
ldy #0
|
|
sta (cols),y
|
|
// [372] render_screen_original::cols#2 = ++ render_screen_original::cols#5 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// [373] render_screen_original::ocols#1 = ++ render_screen_original::ocols#2 -- pbuz1=_inc_pbuz1
|
|
inc.z ocols
|
|
bne !+
|
|
inc.z ocols+1
|
|
!:
|
|
// [374] render_screen_original::x#2 = ++ render_screen_original::x#5 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [375] if(render_screen_original::x#2!=$24) goto render_screen_original::@3 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$24
|
|
bne __b3_from___b3
|
|
// [376] phi from render_screen_original::@3 render_screen_original::@4 to render_screen_original::@4 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4]
|
|
__b4_from___b3:
|
|
__b4_from___b4:
|
|
// [376] phi render_screen_original::x#6 = render_screen_original::x#2 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#0] -- register_copy
|
|
// [376] phi render_screen_original::cols#6 = render_screen_original::cols#2 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#1] -- register_copy
|
|
// [376] phi render_screen_original::screen#7 = render_screen_original::screen#3 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#2] -- register_copy
|
|
jmp __b4
|
|
// render_screen_original::@4
|
|
__b4:
|
|
// [377] *render_screen_original::screen#7 = render_screen_original::SPACE -- _deref_pbuz1=vbuc1
|
|
lda #SPACE
|
|
ldy #0
|
|
sta (screen),y
|
|
// [378] render_screen_original::screen#10 = ++ render_screen_original::screen#7 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// [379] *render_screen_original::cols#6 = BLACK -- _deref_pbuz1=vbuc1
|
|
lda #BLACK
|
|
ldy #0
|
|
sta (cols),y
|
|
// [380] render_screen_original::cols#3 = ++ render_screen_original::cols#6 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// [381] render_screen_original::x#3 = ++ render_screen_original::x#6 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [382] if(render_screen_original::x#3!=$28) goto render_screen_original::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$28
|
|
bne __b4_from___b4
|
|
jmp __b5
|
|
// render_screen_original::@5
|
|
__b5:
|
|
// [383] render_screen_original::y#1 = ++ render_screen_original::y#6 -- vbuz1=_inc_vbuz1
|
|
inc.z y
|
|
// [384] if(render_screen_original::y#1!=$19) goto render_screen_original::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$19
|
|
cmp.z y
|
|
bne __b1_from___b5
|
|
jmp __breturn
|
|
// render_screen_original::@return
|
|
__breturn:
|
|
// [385] return
|
|
rts
|
|
}
|
|
// play_collision
|
|
// Test if there is a collision between the current piece moved to (x, y) and anything on the playfield or the playfield boundaries
|
|
// Returns information about the type of the collision detected
|
|
// play_collision(byte zp($10) xpos, byte zp($32) ypos, byte register(X) orientation)
|
|
play_collision: {
|
|
.label xpos = $10
|
|
.label ypos = $32
|
|
.label piece_gfx = $34
|
|
.label yp = $32
|
|
.label playfield_line = $36
|
|
.label i = $38
|
|
.label xp = $22
|
|
.label l = $33
|
|
.label i_1 = $39
|
|
// [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 -- pbuz1=pbuz2_plus_vbuxx
|
|
txa
|
|
clc
|
|
adc.z current_piece_1
|
|
sta.z piece_gfx
|
|
lda #0
|
|
adc.z current_piece_1+1
|
|
sta.z piece_gfx+1
|
|
// [388] phi from play_collision to play_collision::@1 [phi:play_collision->play_collision::@1]
|
|
__b1_from_play_collision:
|
|
// [388] phi play_collision::l#6 = 0 [phi:play_collision->play_collision::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [388] phi play_collision::i#3 = 0 [phi:play_collision->play_collision::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z i_1
|
|
// [388] phi play_collision::yp#2 = play_collision::yp#0 [phi:play_collision->play_collision::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_collision::@1
|
|
__b1:
|
|
// [389] play_collision::$14 = play_collision::yp#2 << 1 -- vbuaa=vbuz1_rol_1
|
|
lda.z yp
|
|
asl
|
|
// [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda playfield_lines,y
|
|
sta.z playfield_line
|
|
lda playfield_lines+1,y
|
|
sta.z playfield_line+1
|
|
// [391] play_collision::xp#8 = play_collision::xpos#6 -- vbuz1=vbuz2
|
|
lda.z xpos
|
|
sta.z xp
|
|
// [392] phi from play_collision::@1 to play_collision::@2 [phi:play_collision::@1->play_collision::@2]
|
|
__b2_from___b1:
|
|
// [392] phi play_collision::c#2 = 0 [phi:play_collision::@1->play_collision::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [392] phi play_collision::xp#2 = play_collision::xp#8 [phi:play_collision::@1->play_collision::@2#1] -- register_copy
|
|
// [392] phi play_collision::i#2 = play_collision::i#3 [phi:play_collision::@1->play_collision::@2#2] -- register_copy
|
|
jmp __b2
|
|
// play_collision::@2
|
|
__b2:
|
|
// [393] play_collision::i#1 = ++ play_collision::i#2 -- vbuz1=_inc_vbuz2
|
|
ldy.z i_1
|
|
iny
|
|
sty.z i
|
|
// [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z i_1
|
|
lda (piece_gfx),y
|
|
cmp #0
|
|
beq __b3
|
|
jmp __b7
|
|
// play_collision::@7
|
|
__b7:
|
|
// [395] if(play_collision::yp#2<PLAYFIELD_LINES) goto play_collision::@4 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z yp
|
|
cmp #PLAYFIELD_LINES
|
|
bcc __b4
|
|
// [400] phi from play_collision::@7 to play_collision::@return [phi:play_collision::@7->play_collision::@return]
|
|
__breturn_from___b7:
|
|
// [400] phi play_collision::return#15 = COLLISION_BOTTOM [phi:play_collision::@7->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_BOTTOM
|
|
jmp __breturn
|
|
// play_collision::@4
|
|
__b4:
|
|
// [396] play_collision::$5 = play_collision::xp#2 & $80 -- vbuaa=vbuz1_band_vbuc1
|
|
lda #$80
|
|
and.z xp
|
|
// [397] if(play_collision::$5==0) goto play_collision::@5 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b5
|
|
// [400] phi from play_collision::@4 to play_collision::@return [phi:play_collision::@4->play_collision::@return]
|
|
__breturn_from___b4:
|
|
// [400] phi play_collision::return#15 = COLLISION_LEFT [phi:play_collision::@4->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_LEFT
|
|
jmp __breturn
|
|
// play_collision::@5
|
|
__b5:
|
|
// [398] if(play_collision::xp#2<PLAYFIELD_COLS) goto play_collision::@6 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z xp
|
|
cmp #PLAYFIELD_COLS
|
|
bcc __b6
|
|
// [400] phi from play_collision::@5 to play_collision::@return [phi:play_collision::@5->play_collision::@return]
|
|
__breturn_from___b5:
|
|
// [400] phi play_collision::return#15 = COLLISION_RIGHT [phi:play_collision::@5->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_RIGHT
|
|
jmp __breturn
|
|
// play_collision::@6
|
|
__b6:
|
|
// [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z xp
|
|
lda (playfield_line),y
|
|
cmp #0
|
|
beq __b3
|
|
// [400] phi from play_collision::@6 to play_collision::@return [phi:play_collision::@6->play_collision::@return]
|
|
__breturn_from___b6:
|
|
// [400] phi play_collision::return#15 = COLLISION_PLAYFIELD [phi:play_collision::@6->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_PLAYFIELD
|
|
jmp __breturn
|
|
// play_collision::@return
|
|
__breturn:
|
|
// [401] return
|
|
rts
|
|
// play_collision::@3
|
|
__b3:
|
|
// [402] play_collision::xp#1 = ++ play_collision::xp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xp
|
|
// [403] play_collision::c#1 = ++ play_collision::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [404] if(play_collision::c#1!=4) goto play_collision::@10 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b10
|
|
jmp __b8
|
|
// play_collision::@8
|
|
__b8:
|
|
// [405] play_collision::yp#1 = ++ play_collision::yp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z yp
|
|
// [406] play_collision::l#1 = ++ play_collision::l#6 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [407] if(play_collision::l#1!=4) goto play_collision::@9 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b9
|
|
// [400] phi from play_collision::@8 to play_collision::@return [phi:play_collision::@8->play_collision::@return]
|
|
__breturn_from___b8:
|
|
// [400] phi play_collision::return#15 = COLLISION_NONE [phi:play_collision::@8->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_NONE
|
|
jmp __breturn
|
|
// play_collision::@9
|
|
__b9:
|
|
// [408] play_collision::i#10 = play_collision::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [388] phi from play_collision::@9 to play_collision::@1 [phi:play_collision::@9->play_collision::@1]
|
|
__b1_from___b9:
|
|
// [388] phi play_collision::l#6 = play_collision::l#1 [phi:play_collision::@9->play_collision::@1#0] -- register_copy
|
|
// [388] phi play_collision::i#3 = play_collision::i#10 [phi:play_collision::@9->play_collision::@1#1] -- register_copy
|
|
// [388] phi play_collision::yp#2 = play_collision::yp#1 [phi:play_collision::@9->play_collision::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_collision::@10
|
|
__b10:
|
|
// [409] play_collision::i#12 = play_collision::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [392] phi from play_collision::@10 to play_collision::@2 [phi:play_collision::@10->play_collision::@2]
|
|
__b2_from___b10:
|
|
// [392] phi play_collision::c#2 = play_collision::c#1 [phi:play_collision::@10->play_collision::@2#0] -- register_copy
|
|
// [392] phi play_collision::xp#2 = play_collision::xp#1 [phi:play_collision::@10->play_collision::@2#1] -- register_copy
|
|
// [392] phi play_collision::i#2 = play_collision::i#12 [phi:play_collision::@10->play_collision::@2#2] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// keyboard_matrix_read
|
|
// Read a single row of the keyboard matrix
|
|
// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs.
|
|
// Returns the keys pressed on the row as bits according to the C64 key matrix.
|
|
// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write
|
|
// leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader.
|
|
// keyboard_matrix_read(byte register(X) rowid)
|
|
keyboard_matrix_read: {
|
|
// [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] -- _deref_pbuc1=pbuc2_derefidx_vbuxx
|
|
lda keyboard_matrix_row_bitmask,x
|
|
sta CIA1
|
|
// [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1
|
|
lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B
|
|
eor #$ff
|
|
jmp __breturn
|
|
// keyboard_matrix_read::@return
|
|
__breturn:
|
|
// [412] return
|
|
rts
|
|
}
|
|
// keyboard_event_pressed
|
|
// Determine if a specific key is currently pressed based on the last keyboard_event_scan()
|
|
// Returns 0 is not pressed and non-0 if pressed
|
|
// keyboard_event_pressed(byte register(X) keycode)
|
|
keyboard_event_pressed: {
|
|
// [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 -- vbuyy=vbuxx_ror_3
|
|
txa
|
|
lsr
|
|
lsr
|
|
lsr
|
|
tay
|
|
// [415] keyboard_event_pressed::row_bits#0 = keyboard_scan_values[keyboard_event_pressed::$0] -- vbuyy=pbuc1_derefidx_vbuyy
|
|
lda keyboard_scan_values,y
|
|
tay
|
|
// [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 -- vbuxx=vbuxx_band_vbuc1
|
|
lda #7
|
|
axs #0
|
|
// [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] -- vbuaa=vbuyy_band_pbuc1_derefidx_vbuxx
|
|
tya
|
|
and keyboard_matrix_col_bitmask,x
|
|
jmp __breturn
|
|
// keyboard_event_pressed::@return
|
|
__breturn:
|
|
// [418] return
|
|
rts
|
|
}
|
|
// play_move_down
|
|
// Move down the current piece
|
|
// Return non-zero if a render is needed
|
|
// play_move_down(byte register(A) key_event)
|
|
play_move_down: {
|
|
.label movedown = $10
|
|
// [419] current_movedown_counter#13 = ++ current_movedown_counter#17 -- vbuz1=_inc_vbuz1
|
|
inc.z current_movedown_counter
|
|
// [420] if(play_move_down::key_event#0!=KEY_SPACE) goto play_move_down::@1 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #KEY_SPACE
|
|
bne __b1_from_play_move_down
|
|
// [421] phi from play_move_down to play_move_down::@4 [phi:play_move_down->play_move_down::@4]
|
|
__b4_from_play_move_down:
|
|
jmp __b4
|
|
// play_move_down::@4
|
|
__b4:
|
|
// [422] phi from play_move_down::@4 to play_move_down::@1 [phi:play_move_down::@4->play_move_down::@1]
|
|
__b1_from___b4:
|
|
// [422] phi play_move_down::movedown#10 = 1 [phi:play_move_down::@4->play_move_down::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z movedown
|
|
jmp __b1
|
|
// [422] phi from play_move_down to play_move_down::@1 [phi:play_move_down->play_move_down::@1]
|
|
__b1_from_play_move_down:
|
|
// [422] phi play_move_down::movedown#10 = 0 [phi:play_move_down->play_move_down::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z movedown
|
|
jmp __b1
|
|
// play_move_down::@1
|
|
__b1:
|
|
// [423] call keyboard_event_pressed
|
|
// [413] phi from play_move_down::@1 to keyboard_event_pressed [phi:play_move_down::@1->keyboard_event_pressed]
|
|
keyboard_event_pressed_from___b1:
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_SPACE [phi:play_move_down::@1->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_SPACE
|
|
jsr keyboard_event_pressed
|
|
// [424] keyboard_event_pressed::return#12 = keyboard_event_pressed::return#11
|
|
jmp __b12
|
|
// play_move_down::@12
|
|
__b12:
|
|
// [425] play_move_down::$2 = keyboard_event_pressed::return#12
|
|
// [426] if(play_move_down::$2==0) goto play_move_down::@2 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b2_from___b12
|
|
jmp __b5
|
|
// play_move_down::@5
|
|
__b5:
|
|
// [427] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z current_movedown_counter
|
|
cmp #current_movedown_fast
|
|
bcc __b2_from___b5
|
|
jmp __b6
|
|
// play_move_down::@6
|
|
__b6:
|
|
// [428] play_move_down::movedown#2 = ++ play_move_down::movedown#10 -- vbuz1=_inc_vbuz1
|
|
inc.z movedown
|
|
// [429] phi from play_move_down::@12 play_move_down::@5 play_move_down::@6 to play_move_down::@2 [phi:play_move_down::@12/play_move_down::@5/play_move_down::@6->play_move_down::@2]
|
|
__b2_from___b12:
|
|
__b2_from___b5:
|
|
__b2_from___b6:
|
|
// [429] phi play_move_down::movedown#7 = play_move_down::movedown#10 [phi:play_move_down::@12/play_move_down::@5/play_move_down::@6->play_move_down::@2#0] -- register_copy
|
|
jmp __b2
|
|
// play_move_down::@2
|
|
__b2:
|
|
// [430] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3 -- vbuz1_lt_vbuz2_then_la1
|
|
lda.z current_movedown_counter
|
|
cmp.z current_movedown_slow
|
|
bcc __b3_from___b2
|
|
jmp __b7
|
|
// play_move_down::@7
|
|
__b7:
|
|
// [431] play_move_down::movedown#3 = ++ play_move_down::movedown#7 -- vbuz1=_inc_vbuz1
|
|
inc.z movedown
|
|
// [432] phi from play_move_down::@2 play_move_down::@7 to play_move_down::@3 [phi:play_move_down::@2/play_move_down::@7->play_move_down::@3]
|
|
__b3_from___b2:
|
|
__b3_from___b7:
|
|
// [432] phi play_move_down::movedown#6 = play_move_down::movedown#7 [phi:play_move_down::@2/play_move_down::@7->play_move_down::@3#0] -- register_copy
|
|
jmp __b3
|
|
// play_move_down::@3
|
|
__b3:
|
|
// [433] if(play_move_down::movedown#6==0) goto play_move_down::@return -- vbuz1_eq_0_then_la1
|
|
lda.z movedown
|
|
cmp #0
|
|
beq __breturn_from___b3
|
|
jmp __b8
|
|
// play_move_down::@8
|
|
__b8:
|
|
// [434] play_collision::ypos#0 = current_ypos#10 + 1 -- vbuz1=vbuz2_plus_1
|
|
ldy.z current_ypos
|
|
iny
|
|
sty.z play_collision.ypos
|
|
// [435] play_collision::xpos#0 = current_xpos#13 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [436] play_collision::orientation#0 = current_orientation#12 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [437] current_piece#98 = current_piece#23 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// [438] call play_collision
|
|
// [386] phi from play_move_down::@8 to play_collision [phi:play_move_down::@8->play_collision]
|
|
play_collision_from___b8:
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#0 [phi:play_move_down::@8->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#0 [phi:play_move_down::@8->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#0 [phi:play_move_down::@8->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#98 [phi:play_move_down::@8->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// [439] play_collision::return#0 = play_collision::return#15
|
|
jmp __b13
|
|
// play_move_down::@13
|
|
__b13:
|
|
// [440] play_move_down::$12 = play_collision::return#0
|
|
// [441] if(play_move_down::$12==COLLISION_NONE) goto play_move_down::@10 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
beq __b10
|
|
// [442] phi from play_move_down::@13 to play_move_down::@9 [phi:play_move_down::@13->play_move_down::@9]
|
|
__b9_from___b13:
|
|
jmp __b9
|
|
// play_move_down::@9
|
|
__b9:
|
|
// [443] call play_lock_current
|
|
// Lock current piece
|
|
jsr play_lock_current
|
|
// [444] phi from play_move_down::@9 to play_move_down::@14 [phi:play_move_down::@9->play_move_down::@14]
|
|
__b14_from___b9:
|
|
jmp __b14
|
|
// play_move_down::@14
|
|
__b14:
|
|
// [445] call play_remove_lines
|
|
// [529] phi from play_move_down::@14 to play_remove_lines [phi:play_move_down::@14->play_remove_lines]
|
|
play_remove_lines_from___b14:
|
|
jsr play_remove_lines
|
|
// [446] play_remove_lines::return#0 = play_remove_lines::removed#7 -- vbuaa=vbuz1
|
|
lda.z play_remove_lines.removed
|
|
jmp __b15
|
|
// play_move_down::@15
|
|
__b15:
|
|
// [447] play_move_down::removed#0 = play_remove_lines::return#0
|
|
// [448] play_update_score::removed#0 = play_move_down::removed#0 -- vbuxx=vbuaa
|
|
tax
|
|
// [449] call play_update_score
|
|
// Tally up the score
|
|
jsr play_update_score
|
|
// [450] phi from play_move_down::@15 to play_move_down::@16 [phi:play_move_down::@15->play_move_down::@16]
|
|
__b16_from___b15:
|
|
jmp __b16
|
|
// play_move_down::@16
|
|
__b16:
|
|
// [451] call play_spawn_current
|
|
// Spawn a new piece
|
|
// [172] phi from play_move_down::@16 to play_spawn_current [phi:play_move_down::@16->play_spawn_current]
|
|
play_spawn_current_from___b16:
|
|
// [172] phi game_over#66 = game_over#22 [phi:play_move_down::@16->play_spawn_current#0] -- register_copy
|
|
// [172] phi next_piece_idx#18 = next_piece_idx#23 [phi:play_move_down::@16->play_spawn_current#1] -- register_copy
|
|
jsr play_spawn_current
|
|
jmp __b17
|
|
// play_move_down::@17
|
|
__b17:
|
|
// [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece
|
|
lda PIECES+1,y
|
|
sta.z current_piece+1
|
|
// [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx+1
|
|
// [454] phi from play_move_down::@17 to play_move_down::@11 [phi:play_move_down::@17->play_move_down::@11]
|
|
__b11_from___b17:
|
|
// [454] phi next_piece_idx#32 = play_spawn_current::piece_idx#2 [phi:play_move_down::@17->play_move_down::@11#0] -- register_copy
|
|
// [454] phi game_over#29 = game_over#53 [phi:play_move_down::@17->play_move_down::@11#1] -- register_copy
|
|
// [454] phi current_xpos#45 = current_xpos#100 [phi:play_move_down::@17->play_move_down::@11#2] -- register_copy
|
|
// [454] phi current_piece_gfx#37 = current_piece_gfx#116 [phi:play_move_down::@17->play_move_down::@11#3] -- register_copy
|
|
// [454] phi current_orientation#39 = 0 [phi:play_move_down::@17->play_move_down::@11#4] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_orientation
|
|
// [454] phi current_piece_char#31 = current_piece_char#4 [phi:play_move_down::@17->play_move_down::@11#5] -- register_copy
|
|
// [454] phi current_piece#30 = current_piece#95 [phi:play_move_down::@17->play_move_down::@11#6] -- register_copy
|
|
// [454] phi level_bcd#33 = level_bcd#20 [phi:play_move_down::@17->play_move_down::@11#7] -- register_copy
|
|
// [454] phi current_movedown_slow#39 = current_movedown_slow#24 [phi:play_move_down::@17->play_move_down::@11#8] -- register_copy
|
|
// [454] phi level#35 = level#20 [phi:play_move_down::@17->play_move_down::@11#9] -- register_copy
|
|
// [454] phi lines_bcd#28 = lines_bcd#18 [phi:play_move_down::@17->play_move_down::@11#10] -- register_copy
|
|
// [454] phi current_ypos#40 = current_ypos#5 [phi:play_move_down::@17->play_move_down::@11#11] -- register_copy
|
|
jmp __b11
|
|
// play_move_down::@11
|
|
__b11:
|
|
// [455] phi from play_move_down::@11 to play_move_down::@return [phi:play_move_down::@11->play_move_down::@return]
|
|
__breturn_from___b11:
|
|
// [455] phi next_piece_idx#17 = next_piece_idx#32 [phi:play_move_down::@11->play_move_down::@return#0] -- register_copy
|
|
// [455] phi game_over#16 = game_over#29 [phi:play_move_down::@11->play_move_down::@return#1] -- register_copy
|
|
// [455] phi current_xpos#23 = current_xpos#45 [phi:play_move_down::@11->play_move_down::@return#2] -- register_copy
|
|
// [455] phi current_piece_gfx#21 = current_piece_gfx#37 [phi:play_move_down::@11->play_move_down::@return#3] -- register_copy
|
|
// [455] phi current_orientation#21 = current_orientation#39 [phi:play_move_down::@11->play_move_down::@return#4] -- register_copy
|
|
// [455] phi current_piece_char#17 = current_piece_char#31 [phi:play_move_down::@11->play_move_down::@return#5] -- register_copy
|
|
// [455] phi current_piece#16 = current_piece#30 [phi:play_move_down::@11->play_move_down::@return#6] -- register_copy
|
|
// [455] phi level_bcd#18 = level_bcd#33 [phi:play_move_down::@11->play_move_down::@return#7] -- register_copy
|
|
// [455] phi current_movedown_slow#22 = current_movedown_slow#39 [phi:play_move_down::@11->play_move_down::@return#8] -- register_copy
|
|
// [455] phi level#18 = level#35 [phi:play_move_down::@11->play_move_down::@return#9] -- register_copy
|
|
// [455] phi lines_bcd#16 = lines_bcd#28 [phi:play_move_down::@11->play_move_down::@return#10] -- register_copy
|
|
// [455] phi current_ypos#20 = current_ypos#40 [phi:play_move_down::@11->play_move_down::@return#11] -- register_copy
|
|
// [455] phi current_movedown_counter#15 = 0 [phi:play_move_down::@11->play_move_down::@return#12] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_movedown_counter
|
|
// [455] phi play_move_down::return#3 = 1 [phi:play_move_down::@11->play_move_down::@return#13] -- vbuxx=vbuc1
|
|
ldx #1
|
|
jmp __breturn
|
|
// [455] phi from play_move_down::@3 to play_move_down::@return [phi:play_move_down::@3->play_move_down::@return]
|
|
__breturn_from___b3:
|
|
// [455] phi next_piece_idx#17 = next_piece_idx#23 [phi:play_move_down::@3->play_move_down::@return#0] -- register_copy
|
|
// [455] phi game_over#16 = game_over#22 [phi:play_move_down::@3->play_move_down::@return#1] -- register_copy
|
|
// [455] phi current_xpos#23 = current_xpos#13 [phi:play_move_down::@3->play_move_down::@return#2] -- register_copy
|
|
// [455] phi current_piece_gfx#21 = current_piece_gfx#12 [phi:play_move_down::@3->play_move_down::@return#3] -- register_copy
|
|
// [455] phi current_orientation#21 = current_orientation#12 [phi:play_move_down::@3->play_move_down::@return#4] -- register_copy
|
|
// [455] phi current_piece_char#17 = current_piece_char#23 [phi:play_move_down::@3->play_move_down::@return#5] -- register_copy
|
|
// [455] phi current_piece#16 = current_piece#23 [phi:play_move_down::@3->play_move_down::@return#6] -- register_copy
|
|
// [455] phi level_bcd#18 = level_bcd#10 [phi:play_move_down::@3->play_move_down::@return#7] -- register_copy
|
|
// [455] phi current_movedown_slow#22 = current_movedown_slow#13 [phi:play_move_down::@3->play_move_down::@return#8] -- register_copy
|
|
// [455] phi level#18 = level#25 [phi:play_move_down::@3->play_move_down::@return#9] -- register_copy
|
|
// [455] phi lines_bcd#16 = lines_bcd#20 [phi:play_move_down::@3->play_move_down::@return#10] -- register_copy
|
|
// [455] phi current_ypos#20 = current_ypos#10 [phi:play_move_down::@3->play_move_down::@return#11] -- register_copy
|
|
// [455] phi current_movedown_counter#15 = current_movedown_counter#13 [phi:play_move_down::@3->play_move_down::@return#12] -- register_copy
|
|
// [455] phi play_move_down::return#3 = 0 [phi:play_move_down::@3->play_move_down::@return#13] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp __breturn
|
|
// play_move_down::@return
|
|
__breturn:
|
|
// [456] return
|
|
rts
|
|
// play_move_down::@10
|
|
__b10:
|
|
// [457] current_ypos#2 = ++ current_ypos#10 -- vbuz1=_inc_vbuz1
|
|
inc.z current_ypos
|
|
// [454] phi from play_move_down::@10 to play_move_down::@11 [phi:play_move_down::@10->play_move_down::@11]
|
|
__b11_from___b10:
|
|
// [454] phi next_piece_idx#32 = next_piece_idx#23 [phi:play_move_down::@10->play_move_down::@11#0] -- register_copy
|
|
// [454] phi game_over#29 = game_over#22 [phi:play_move_down::@10->play_move_down::@11#1] -- register_copy
|
|
// [454] phi current_xpos#45 = current_xpos#13 [phi:play_move_down::@10->play_move_down::@11#2] -- register_copy
|
|
// [454] phi current_piece_gfx#37 = current_piece_gfx#12 [phi:play_move_down::@10->play_move_down::@11#3] -- register_copy
|
|
// [454] phi current_orientation#39 = current_orientation#12 [phi:play_move_down::@10->play_move_down::@11#4] -- register_copy
|
|
// [454] phi current_piece_char#31 = current_piece_char#23 [phi:play_move_down::@10->play_move_down::@11#5] -- register_copy
|
|
// [454] phi current_piece#30 = current_piece#23 [phi:play_move_down::@10->play_move_down::@11#6] -- register_copy
|
|
// [454] phi level_bcd#33 = level_bcd#10 [phi:play_move_down::@10->play_move_down::@11#7] -- register_copy
|
|
// [454] phi current_movedown_slow#39 = current_movedown_slow#13 [phi:play_move_down::@10->play_move_down::@11#8] -- register_copy
|
|
// [454] phi level#35 = level#25 [phi:play_move_down::@10->play_move_down::@11#9] -- register_copy
|
|
// [454] phi lines_bcd#28 = lines_bcd#20 [phi:play_move_down::@10->play_move_down::@11#10] -- register_copy
|
|
// [454] phi current_ypos#40 = current_ypos#2 [phi:play_move_down::@10->play_move_down::@11#11] -- register_copy
|
|
jmp __b11
|
|
}
|
|
// play_move_leftright
|
|
// Move left/right or rotate the current piece
|
|
// Return non-zero if a render is needed
|
|
// play_move_leftright(byte register(A) key_event)
|
|
play_move_leftright: {
|
|
// [458] if(play_move_leftright::key_event#0==KEY_COMMA) goto play_move_leftright::@1 -- vbuaa_eq_vbuc1_then_la1
|
|
// Handle keyboard events
|
|
cmp #KEY_COMMA
|
|
beq __b1
|
|
jmp __b2
|
|
// play_move_leftright::@2
|
|
__b2:
|
|
// [459] if(play_move_leftright::key_event#0!=KEY_DOT) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #KEY_DOT
|
|
bne __breturn_from___b2
|
|
jmp __b3
|
|
// play_move_leftright::@3
|
|
__b3:
|
|
// [460] play_collision::xpos#2 = current_xpos#23 + 1 -- vbuz1=vbuz2_plus_1
|
|
ldy.z current_xpos
|
|
iny
|
|
sty.z play_collision.xpos
|
|
// [461] play_collision::ypos#2 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [462] play_collision::orientation#2 = current_orientation#21 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [463] current_piece#100 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// [464] call play_collision
|
|
// [386] phi from play_move_leftright::@3 to play_collision [phi:play_move_leftright::@3->play_collision]
|
|
play_collision_from___b3:
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#2 [phi:play_move_leftright::@3->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#2 [phi:play_move_leftright::@3->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#2 [phi:play_move_leftright::@3->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#100 [phi:play_move_leftright::@3->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// [465] play_collision::return#13 = play_collision::return#15
|
|
jmp __b7
|
|
// play_move_leftright::@7
|
|
__b7:
|
|
// [466] play_move_leftright::$4 = play_collision::return#13
|
|
// [467] if(play_move_leftright::$4!=COLLISION_NONE) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __breturn_from___b7
|
|
jmp __b4
|
|
// play_move_leftright::@4
|
|
__b4:
|
|
// [468] current_xpos#5 = ++ current_xpos#23 -- vbuz1=_inc_vbuz1
|
|
inc.z current_xpos
|
|
// [469] phi from play_move_leftright::@4 play_move_leftright::@5 to play_move_leftright::@return [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return]
|
|
__breturn_from___b4:
|
|
__breturn_from___b5:
|
|
// [469] phi current_xpos#27 = current_xpos#5 [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return#0] -- register_copy
|
|
// [469] phi play_move_leftright::return#2 = 1 [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return#1] -- vbuaa=vbuc1
|
|
lda #1
|
|
jmp __breturn
|
|
// [469] phi from play_move_leftright::@2 play_move_leftright::@6 play_move_leftright::@7 to play_move_leftright::@return [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return]
|
|
__breturn_from___b2:
|
|
__breturn_from___b6:
|
|
__breturn_from___b7:
|
|
// [469] phi current_xpos#27 = current_xpos#23 [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return#0] -- register_copy
|
|
// [469] phi play_move_leftright::return#2 = 0 [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return#1] -- vbuaa=vbuc1
|
|
lda #0
|
|
jmp __breturn
|
|
// play_move_leftright::@return
|
|
__breturn:
|
|
// [470] return
|
|
rts
|
|
// play_move_leftright::@1
|
|
__b1:
|
|
// [471] play_collision::xpos#1 = current_xpos#23 - 1 -- vbuz1=vbuz2_minus_1
|
|
ldx.z current_xpos
|
|
dex
|
|
stx.z play_collision.xpos
|
|
// [472] play_collision::ypos#1 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [473] play_collision::orientation#1 = current_orientation#21 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [474] current_piece#99 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// [475] call play_collision
|
|
// [386] phi from play_move_leftright::@1 to play_collision [phi:play_move_leftright::@1->play_collision]
|
|
play_collision_from___b1:
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#1 [phi:play_move_leftright::@1->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#1 [phi:play_move_leftright::@1->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#1 [phi:play_move_leftright::@1->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#99 [phi:play_move_leftright::@1->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// [476] play_collision::return#1 = play_collision::return#15
|
|
jmp __b6
|
|
// play_move_leftright::@6
|
|
__b6:
|
|
// [477] play_move_leftright::$8 = play_collision::return#1
|
|
// [478] if(play_move_leftright::$8!=COLLISION_NONE) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __breturn_from___b6
|
|
jmp __b5
|
|
// play_move_leftright::@5
|
|
__b5:
|
|
// [479] current_xpos#7 = -- current_xpos#23 -- vbuz1=_dec_vbuz1
|
|
dec.z current_xpos
|
|
jmp __breturn_from___b5
|
|
}
|
|
// play_move_rotate
|
|
// Rotate the current piece based on key-presses
|
|
// Return non-zero if a render is needed
|
|
// play_move_rotate(byte register(A) key_event)
|
|
play_move_rotate: {
|
|
// Handle keyboard events
|
|
.label orientation = $23
|
|
// [480] if(play_move_rotate::key_event#0==KEY_Z) goto play_move_rotate::@1 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #KEY_Z
|
|
beq __b1
|
|
jmp __b4
|
|
// play_move_rotate::@4
|
|
__b4:
|
|
// [481] if(play_move_rotate::key_event#0==KEY_X) goto play_move_rotate::@2 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #KEY_X
|
|
beq __b2
|
|
// [482] phi from play_move_rotate::@4 play_move_rotate::@6 to play_move_rotate::@return [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return]
|
|
__breturn_from___b4:
|
|
__breturn_from___b6:
|
|
// [482] phi current_piece_gfx#22 = current_piece_gfx#21 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#0] -- register_copy
|
|
// [482] phi current_orientation#26 = current_orientation#21 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#1] -- register_copy
|
|
// [482] phi play_move_rotate::return#2 = 0 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#2] -- vbuaa=vbuc1
|
|
lda #0
|
|
jmp __breturn
|
|
// play_move_rotate::@return
|
|
__breturn:
|
|
// [483] return
|
|
rts
|
|
// play_move_rotate::@2
|
|
__b2:
|
|
// [484] play_move_rotate::$5 = current_orientation#21 + $10 -- vbuxx=vbuz1_plus_vbuc1
|
|
lax.z current_orientation
|
|
axs #-[$10]
|
|
// [485] play_move_rotate::orientation#2 = play_move_rotate::$5 & $3f -- vbuz1=vbuxx_band_vbuc1
|
|
lda #$3f
|
|
sax.z orientation
|
|
// [486] phi from play_move_rotate::@1 play_move_rotate::@2 to play_move_rotate::@3 [phi:play_move_rotate::@1/play_move_rotate::@2->play_move_rotate::@3]
|
|
__b3_from___b1:
|
|
__b3_from___b2:
|
|
// [486] phi play_move_rotate::orientation#3 = play_move_rotate::orientation#1 [phi:play_move_rotate::@1/play_move_rotate::@2->play_move_rotate::@3#0] -- register_copy
|
|
jmp __b3
|
|
// play_move_rotate::@3
|
|
__b3:
|
|
// [487] play_collision::xpos#3 = current_xpos#27 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [488] play_collision::ypos#3 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [489] play_collision::orientation#3 = play_move_rotate::orientation#3 -- vbuxx=vbuz1
|
|
ldx.z orientation
|
|
// [490] current_piece#101 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// [491] call play_collision
|
|
// [386] phi from play_move_rotate::@3 to play_collision [phi:play_move_rotate::@3->play_collision]
|
|
play_collision_from___b3:
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#3 [phi:play_move_rotate::@3->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#3 [phi:play_move_rotate::@3->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#3 [phi:play_move_rotate::@3->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#101 [phi:play_move_rotate::@3->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// [492] play_collision::return#14 = play_collision::return#15
|
|
jmp __b6
|
|
// play_move_rotate::@6
|
|
__b6:
|
|
// [493] play_move_rotate::$2 = play_collision::return#14
|
|
// [494] if(play_move_rotate::$2!=COLLISION_NONE) goto play_move_rotate::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __breturn_from___b6
|
|
jmp __b5
|
|
// play_move_rotate::@5
|
|
__b5:
|
|
// [495] current_orientation#6 = play_move_rotate::orientation#3 -- vbuz1=vbuz2
|
|
lda.z orientation
|
|
sta.z current_orientation
|
|
// [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 -- pbuz1=pbuz2_plus_vbuz3
|
|
lda.z current_orientation
|
|
clc
|
|
adc.z current_piece
|
|
sta.z current_piece_gfx
|
|
lda #0
|
|
adc.z current_piece+1
|
|
sta.z current_piece_gfx+1
|
|
// [482] phi from play_move_rotate::@5 to play_move_rotate::@return [phi:play_move_rotate::@5->play_move_rotate::@return]
|
|
__breturn_from___b5:
|
|
// [482] phi current_piece_gfx#22 = current_piece_gfx#6 [phi:play_move_rotate::@5->play_move_rotate::@return#0] -- register_copy
|
|
// [482] phi current_orientation#26 = current_orientation#6 [phi:play_move_rotate::@5->play_move_rotate::@return#1] -- register_copy
|
|
// [482] phi play_move_rotate::return#2 = 1 [phi:play_move_rotate::@5->play_move_rotate::@return#2] -- vbuaa=vbuc1
|
|
lda #1
|
|
jmp __breturn
|
|
// play_move_rotate::@1
|
|
__b1:
|
|
// [497] play_move_rotate::$7 = current_orientation#21 - $10 -- vbuaa=vbuz1_minus_vbuc1
|
|
lda.z current_orientation
|
|
sec
|
|
sbc #$10
|
|
// [498] play_move_rotate::orientation#1 = play_move_rotate::$7 & $3f -- vbuz1=vbuaa_band_vbuc1
|
|
and #$3f
|
|
sta.z orientation
|
|
jmp __b3_from___b1
|
|
}
|
|
// render_bcd
|
|
// Render BCD digits on a screen.
|
|
// - screen: pointer to the screen to render on
|
|
// - offset: offset on the screen
|
|
// - bcd: The BCD-value to render
|
|
// - only_low: if non-zero only renders the low digit
|
|
// render_bcd(byte* zp($c) screen, word zp($20) offset, byte register(X) bcd, byte register(Y) only_low)
|
|
render_bcd: {
|
|
.const ZERO_CHAR = $35
|
|
.label screen = $c
|
|
.label screen_pos = $20
|
|
.label offset = $20
|
|
// [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 -- pbuz1=pbuz2_plus_vwuz1
|
|
lda.z screen_pos
|
|
clc
|
|
adc.z screen
|
|
sta.z screen_pos
|
|
lda.z screen_pos+1
|
|
adc.z screen+1
|
|
sta.z screen_pos+1
|
|
// [501] if(render_bcd::only_low#6!=0) goto render_bcd::@1 -- vbuyy_neq_0_then_la1
|
|
cpy #0
|
|
bne __b1_from_render_bcd
|
|
jmp __b2
|
|
// render_bcd::@2
|
|
__b2:
|
|
// [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 -- vbuaa=vbuxx_ror_4
|
|
txa
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
// [503] render_bcd::$6 = render_bcd::ZERO_CHAR + render_bcd::$5 -- vbuaa=vbuc1_plus_vbuaa
|
|
clc
|
|
adc #ZERO_CHAR
|
|
// [504] *render_bcd::screen_pos#0 = render_bcd::$6 -- _deref_pbuz1=vbuaa
|
|
ldy #0
|
|
sta (screen_pos),y
|
|
// [505] render_bcd::screen_pos#2 = ++ render_bcd::screen_pos#0 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_pos
|
|
bne !+
|
|
inc.z screen_pos+1
|
|
!:
|
|
// [506] phi from render_bcd render_bcd::@2 to render_bcd::@1 [phi:render_bcd/render_bcd::@2->render_bcd::@1]
|
|
__b1_from_render_bcd:
|
|
__b1_from___b2:
|
|
// [506] phi render_bcd::screen_pos#3 = render_bcd::screen_pos#0 [phi:render_bcd/render_bcd::@2->render_bcd::@1#0] -- register_copy
|
|
jmp __b1
|
|
// render_bcd::@1
|
|
__b1:
|
|
// [507] render_bcd::$3 = render_bcd::bcd#6 & $f -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #$f
|
|
// [508] render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3 -- vbuaa=vbuc1_plus_vbuaa
|
|
clc
|
|
adc #ZERO_CHAR
|
|
// [509] *render_bcd::screen_pos#3 = render_bcd::$4 -- _deref_pbuz1=vbuaa
|
|
ldy #0
|
|
sta (screen_pos),y
|
|
jmp __breturn
|
|
// render_bcd::@return
|
|
__breturn:
|
|
// [510] return
|
|
rts
|
|
}
|
|
// play_lock_current
|
|
// Lock the current piece onto the playfield
|
|
play_lock_current: {
|
|
.label yp = $32
|
|
.label playfield_line = $36
|
|
.label xp = $22
|
|
.label i = $38
|
|
.label l = $33
|
|
.label i_1 = $39
|
|
// [511] play_lock_current::yp#0 = current_ypos#10 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z yp
|
|
// [512] phi from play_lock_current to play_lock_current::@1 [phi:play_lock_current->play_lock_current::@1]
|
|
__b1_from_play_lock_current:
|
|
// [512] phi play_lock_current::l#6 = 0 [phi:play_lock_current->play_lock_current::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [512] phi play_lock_current::i#3 = 0 [phi:play_lock_current->play_lock_current::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z i_1
|
|
// [512] phi play_lock_current::yp#2 = play_lock_current::yp#0 [phi:play_lock_current->play_lock_current::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_lock_current::@1
|
|
__b1:
|
|
// [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 -- vbuaa=vbuz1_rol_1
|
|
lda.z yp
|
|
asl
|
|
// [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda playfield_lines,y
|
|
sta.z playfield_line
|
|
lda playfield_lines+1,y
|
|
sta.z playfield_line+1
|
|
// [515] play_lock_current::xp#0 = current_xpos#13 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z xp
|
|
// [516] phi from play_lock_current::@1 to play_lock_current::@2 [phi:play_lock_current::@1->play_lock_current::@2]
|
|
__b2_from___b1:
|
|
// [516] phi play_lock_current::c#2 = 0 [phi:play_lock_current::@1->play_lock_current::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [516] phi play_lock_current::xp#2 = play_lock_current::xp#0 [phi:play_lock_current::@1->play_lock_current::@2#1] -- register_copy
|
|
// [516] phi play_lock_current::i#2 = play_lock_current::i#3 [phi:play_lock_current::@1->play_lock_current::@2#2] -- register_copy
|
|
jmp __b2
|
|
// play_lock_current::@2
|
|
__b2:
|
|
// [517] play_lock_current::i#1 = ++ play_lock_current::i#2 -- vbuz1=_inc_vbuz2
|
|
ldy.z i_1
|
|
iny
|
|
sty.z i
|
|
// [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z i_1
|
|
lda (current_piece_gfx),y
|
|
cmp #0
|
|
beq __b3
|
|
jmp __b4
|
|
// play_lock_current::@4
|
|
__b4:
|
|
// [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 -- pbuz1_derefidx_vbuz2=vbuz3
|
|
lda.z current_piece_char
|
|
ldy.z xp
|
|
sta (playfield_line),y
|
|
jmp __b3
|
|
// play_lock_current::@3
|
|
__b3:
|
|
// [520] play_lock_current::xp#1 = ++ play_lock_current::xp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xp
|
|
// [521] play_lock_current::c#1 = ++ play_lock_current::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [522] if(play_lock_current::c#1!=4) goto play_lock_current::@7 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b7
|
|
jmp __b5
|
|
// play_lock_current::@5
|
|
__b5:
|
|
// [523] play_lock_current::yp#1 = ++ play_lock_current::yp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z yp
|
|
// [524] play_lock_current::l#1 = ++ play_lock_current::l#6 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [525] if(play_lock_current::l#1!=4) goto play_lock_current::@6 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b6
|
|
jmp __breturn
|
|
// play_lock_current::@return
|
|
__breturn:
|
|
// [526] return
|
|
rts
|
|
// play_lock_current::@6
|
|
__b6:
|
|
// [527] play_lock_current::i#7 = play_lock_current::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [512] phi from play_lock_current::@6 to play_lock_current::@1 [phi:play_lock_current::@6->play_lock_current::@1]
|
|
__b1_from___b6:
|
|
// [512] phi play_lock_current::l#6 = play_lock_current::l#1 [phi:play_lock_current::@6->play_lock_current::@1#0] -- register_copy
|
|
// [512] phi play_lock_current::i#3 = play_lock_current::i#7 [phi:play_lock_current::@6->play_lock_current::@1#1] -- register_copy
|
|
// [512] phi play_lock_current::yp#2 = play_lock_current::yp#1 [phi:play_lock_current::@6->play_lock_current::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_lock_current::@7
|
|
__b7:
|
|
// [528] play_lock_current::i#9 = play_lock_current::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [516] phi from play_lock_current::@7 to play_lock_current::@2 [phi:play_lock_current::@7->play_lock_current::@2]
|
|
__b2_from___b7:
|
|
// [516] phi play_lock_current::c#2 = play_lock_current::c#1 [phi:play_lock_current::@7->play_lock_current::@2#0] -- register_copy
|
|
// [516] phi play_lock_current::xp#2 = play_lock_current::xp#1 [phi:play_lock_current::@7->play_lock_current::@2#1] -- register_copy
|
|
// [516] phi play_lock_current::i#2 = play_lock_current::i#9 [phi:play_lock_current::@7->play_lock_current::@2#2] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// play_remove_lines
|
|
// Look through the playfield for lines - and remove any lines found
|
|
// Utilizes two cursors on the playfield - one reading cells and one writing cells
|
|
// Whenever a full line is detected the writing cursor is instructed to write to the same line once more.
|
|
// Returns the number of lines removed
|
|
play_remove_lines: {
|
|
.label c = $39
|
|
.label x = $32
|
|
.label y = $23
|
|
.label removed = $2f
|
|
.label full = $33
|
|
// [530] phi from play_remove_lines to play_remove_lines::@1 [phi:play_remove_lines->play_remove_lines::@1]
|
|
__b1_from_play_remove_lines:
|
|
// [530] phi play_remove_lines::removed#11 = 0 [phi:play_remove_lines->play_remove_lines::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z removed
|
|
// [530] phi play_remove_lines::y#8 = 0 [phi:play_remove_lines->play_remove_lines::@1#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z y
|
|
// [530] phi play_remove_lines::w#12 = PLAYFIELD_LINES*PLAYFIELD_COLS-1 [phi:play_remove_lines->play_remove_lines::@1#2] -- vbuxx=vbuc1
|
|
ldx #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
// [530] phi play_remove_lines::r#3 = PLAYFIELD_LINES*PLAYFIELD_COLS-1 [phi:play_remove_lines->play_remove_lines::@1#3] -- vbuyy=vbuc1
|
|
ldy #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
jmp __b1
|
|
// Read all lines and rewrite them
|
|
// [530] phi from play_remove_lines::@6 to play_remove_lines::@1 [phi:play_remove_lines::@6->play_remove_lines::@1]
|
|
__b1_from___b6:
|
|
// [530] phi play_remove_lines::removed#11 = play_remove_lines::removed#7 [phi:play_remove_lines::@6->play_remove_lines::@1#0] -- register_copy
|
|
// [530] phi play_remove_lines::y#8 = play_remove_lines::y#1 [phi:play_remove_lines::@6->play_remove_lines::@1#1] -- register_copy
|
|
// [530] phi play_remove_lines::w#12 = play_remove_lines::w#11 [phi:play_remove_lines::@6->play_remove_lines::@1#2] -- register_copy
|
|
// [530] phi play_remove_lines::r#3 = play_remove_lines::r#1 [phi:play_remove_lines::@6->play_remove_lines::@1#3] -- register_copy
|
|
jmp __b1
|
|
// play_remove_lines::@1
|
|
__b1:
|
|
// [531] phi from play_remove_lines::@1 to play_remove_lines::@2 [phi:play_remove_lines::@1->play_remove_lines::@2]
|
|
__b2_from___b1:
|
|
// [531] phi play_remove_lines::full#4 = 1 [phi:play_remove_lines::@1->play_remove_lines::@2#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z full
|
|
// [531] phi play_remove_lines::x#2 = 0 [phi:play_remove_lines::@1->play_remove_lines::@2#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z x
|
|
// [531] phi play_remove_lines::w#4 = play_remove_lines::w#12 [phi:play_remove_lines::@1->play_remove_lines::@2#2] -- register_copy
|
|
// [531] phi play_remove_lines::r#2 = play_remove_lines::r#3 [phi:play_remove_lines::@1->play_remove_lines::@2#3] -- register_copy
|
|
jmp __b2
|
|
// [531] phi from play_remove_lines::@3 to play_remove_lines::@2 [phi:play_remove_lines::@3->play_remove_lines::@2]
|
|
__b2_from___b3:
|
|
// [531] phi play_remove_lines::full#4 = play_remove_lines::full#2 [phi:play_remove_lines::@3->play_remove_lines::@2#0] -- register_copy
|
|
// [531] phi play_remove_lines::x#2 = play_remove_lines::x#1 [phi:play_remove_lines::@3->play_remove_lines::@2#1] -- register_copy
|
|
// [531] phi play_remove_lines::w#4 = play_remove_lines::w#1 [phi:play_remove_lines::@3->play_remove_lines::@2#2] -- register_copy
|
|
// [531] phi play_remove_lines::r#2 = play_remove_lines::r#1 [phi:play_remove_lines::@3->play_remove_lines::@2#3] -- register_copy
|
|
jmp __b2
|
|
// play_remove_lines::@2
|
|
__b2:
|
|
// [532] play_remove_lines::c#0 = playfield[play_remove_lines::r#2] -- vbuz1=pbuc1_derefidx_vbuyy
|
|
lda playfield,y
|
|
sta.z c
|
|
// [533] play_remove_lines::r#1 = -- play_remove_lines::r#2 -- vbuyy=_dec_vbuyy
|
|
dey
|
|
// [534] if(play_remove_lines::c#0!=0) goto play_remove_lines::@9 -- vbuz1_neq_0_then_la1
|
|
lda.z c
|
|
cmp #0
|
|
bne __b9_from___b2
|
|
// [536] phi from play_remove_lines::@2 to play_remove_lines::@3 [phi:play_remove_lines::@2->play_remove_lines::@3]
|
|
__b3_from___b2:
|
|
// [536] phi play_remove_lines::full#2 = 0 [phi:play_remove_lines::@2->play_remove_lines::@3#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z full
|
|
jmp __b3
|
|
// [535] phi from play_remove_lines::@2 to play_remove_lines::@9 [phi:play_remove_lines::@2->play_remove_lines::@9]
|
|
__b9_from___b2:
|
|
jmp __b9
|
|
// play_remove_lines::@9
|
|
__b9:
|
|
// [536] phi from play_remove_lines::@9 to play_remove_lines::@3 [phi:play_remove_lines::@9->play_remove_lines::@3]
|
|
__b3_from___b9:
|
|
// [536] phi play_remove_lines::full#2 = play_remove_lines::full#4 [phi:play_remove_lines::@9->play_remove_lines::@3#0] -- register_copy
|
|
jmp __b3
|
|
// play_remove_lines::@3
|
|
__b3:
|
|
// [537] playfield[play_remove_lines::w#4] = play_remove_lines::c#0 -- pbuc1_derefidx_vbuxx=vbuz1
|
|
lda.z c
|
|
sta playfield,x
|
|
// [538] play_remove_lines::w#1 = -- play_remove_lines::w#4 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
// [539] play_remove_lines::x#1 = ++ play_remove_lines::x#2 -- vbuz1=_inc_vbuz1
|
|
inc.z x
|
|
// [540] if(play_remove_lines::x#1!=PLAYFIELD_COLS-1+1) goto play_remove_lines::@2 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_COLS-1+1
|
|
cmp.z x
|
|
bne __b2_from___b3
|
|
jmp __b4
|
|
// play_remove_lines::@4
|
|
__b4:
|
|
// [541] if(play_remove_lines::full#2!=1) goto play_remove_lines::@6 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #1
|
|
cmp.z full
|
|
bne __b6_from___b4
|
|
jmp __b5
|
|
// play_remove_lines::@5
|
|
__b5:
|
|
// [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS -- vbuxx=vbuxx_plus_vbuc1
|
|
txa
|
|
axs #-[PLAYFIELD_COLS]
|
|
// [543] play_remove_lines::removed#1 = ++ play_remove_lines::removed#11 -- vbuz1=_inc_vbuz1
|
|
inc.z removed
|
|
// [544] phi from play_remove_lines::@4 play_remove_lines::@5 to play_remove_lines::@6 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6]
|
|
__b6_from___b4:
|
|
__b6_from___b5:
|
|
// [544] phi play_remove_lines::removed#7 = play_remove_lines::removed#11 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6#0] -- register_copy
|
|
// [544] phi play_remove_lines::w#11 = play_remove_lines::w#1 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6#1] -- register_copy
|
|
jmp __b6
|
|
// play_remove_lines::@6
|
|
__b6:
|
|
// [545] play_remove_lines::y#1 = ++ play_remove_lines::y#8 -- vbuz1=_inc_vbuz1
|
|
inc.z y
|
|
// [546] if(play_remove_lines::y#1!=PLAYFIELD_LINES-1+1) goto play_remove_lines::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_LINES-1+1
|
|
cmp.z y
|
|
bne __b1_from___b6
|
|
// [547] phi from play_remove_lines::@6 play_remove_lines::@8 to play_remove_lines::@7 [phi:play_remove_lines::@6/play_remove_lines::@8->play_remove_lines::@7]
|
|
__b7_from___b6:
|
|
__b7_from___b8:
|
|
// [547] phi play_remove_lines::w#6 = play_remove_lines::w#11 [phi:play_remove_lines::@6/play_remove_lines::@8->play_remove_lines::@7#0] -- register_copy
|
|
jmp __b7
|
|
// Write zeros in the rest of the lines
|
|
// play_remove_lines::@7
|
|
__b7:
|
|
// [548] if(play_remove_lines::w#6!=$ff) goto play_remove_lines::@8 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$ff
|
|
bne __b8
|
|
jmp __breturn
|
|
// play_remove_lines::@return
|
|
__breturn:
|
|
// [549] return
|
|
rts
|
|
// play_remove_lines::@8
|
|
__b8:
|
|
// [550] playfield[play_remove_lines::w#6] = 0 -- pbuc1_derefidx_vbuxx=vbuc2
|
|
lda #0
|
|
sta playfield,x
|
|
// [551] play_remove_lines::w#3 = -- play_remove_lines::w#6 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
jmp __b7_from___b8
|
|
}
|
|
// play_update_score
|
|
// Update the score based on the number of lines removed
|
|
// play_update_score(byte register(X) removed)
|
|
play_update_score: {
|
|
.label lines_before = $39
|
|
.label add_bcd = $3a
|
|
// [552] if(play_update_score::removed#0==0) goto play_update_score::@return -- vbuxx_eq_0_then_la1
|
|
cpx #0
|
|
beq __breturn_from_play_update_score
|
|
jmp __b1
|
|
// play_update_score::@1
|
|
__b1:
|
|
// [553] play_update_score::$2 = < lines_bcd#20 -- vbuaa=_lo_vwuz1
|
|
lda.z lines_bcd
|
|
// [554] play_update_score::lines_before#0 = play_update_score::$2 & $f0 -- vbuz1=vbuaa_band_vbuc1
|
|
and #$f0
|
|
sta.z lines_before
|
|
// [555] play_update_score::$9 = play_update_score::removed#0 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] -- vduz1=pduc1_derefidx_vbuaa
|
|
tay
|
|
lda score_add_bcd,y
|
|
sta.z add_bcd
|
|
lda score_add_bcd+1,y
|
|
sta.z add_bcd+1
|
|
lda score_add_bcd+2,y
|
|
sta.z add_bcd+2
|
|
lda score_add_bcd+3,y
|
|
sta.z add_bcd+3
|
|
// asm { sed }
|
|
sed
|
|
// [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 -- vwuz1=vwuz1_plus_vbuxx
|
|
txa
|
|
clc
|
|
adc.z lines_bcd
|
|
sta.z lines_bcd
|
|
bcc !+
|
|
inc.z lines_bcd+1
|
|
!:
|
|
// [559] score_bcd = score_bcd + play_update_score::add_bcd#0 -- vduz1=vduz1_plus_vduz2
|
|
lda.z score_bcd
|
|
clc
|
|
adc.z add_bcd
|
|
sta.z score_bcd
|
|
lda.z score_bcd+1
|
|
adc.z add_bcd+1
|
|
sta.z score_bcd+1
|
|
lda.z score_bcd+2
|
|
adc.z add_bcd+2
|
|
sta.z score_bcd+2
|
|
lda.z score_bcd+3
|
|
adc.z add_bcd+3
|
|
sta.z score_bcd+3
|
|
// asm { cld }
|
|
cld
|
|
// [561] play_update_score::$4 = < lines_bcd#31 -- vbuaa=_lo_vwuz1
|
|
lda.z lines_bcd
|
|
// [562] play_update_score::lines_after#0 = play_update_score::$4 & $f0 -- vbuaa=vbuaa_band_vbuc1
|
|
and #$f0
|
|
// [563] if(play_update_score::lines_before#0==play_update_score::lines_after#0) goto play_update_score::@return -- vbuz1_eq_vbuaa_then_la1
|
|
cmp.z lines_before
|
|
beq __breturn_from___b1
|
|
// [564] phi from play_update_score::@1 to play_update_score::@2 [phi:play_update_score::@1->play_update_score::@2]
|
|
__b2_from___b1:
|
|
jmp __b2
|
|
// play_update_score::@2
|
|
__b2:
|
|
// [565] call play_increase_level
|
|
jsr play_increase_level
|
|
// [566] phi from play_update_score play_update_score::@1 play_update_score::@2 to play_update_score::@return [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return]
|
|
__breturn_from_play_update_score:
|
|
__breturn_from___b1:
|
|
__breturn_from___b2:
|
|
// [566] phi level_bcd#20 = level_bcd#10 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#0] -- register_copy
|
|
// [566] phi current_movedown_slow#24 = current_movedown_slow#13 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#1] -- register_copy
|
|
// [566] phi level#20 = level#25 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#2] -- register_copy
|
|
// [566] phi lines_bcd#18 = lines_bcd#20 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#3] -- register_copy
|
|
jmp __breturn
|
|
// play_update_score::@return
|
|
__breturn:
|
|
// [567] return
|
|
rts
|
|
}
|
|
// play_increase_level
|
|
// Increase the level
|
|
play_increase_level: {
|
|
// [568] level#22 = ++ level#25 -- vbuz1=_inc_vbuz1
|
|
inc.z level
|
|
// [569] if(level#22>=$1d+1) goto play_increase_level::@1 -- vbuz1_ge_vbuc1_then_la1
|
|
// Update speed of moving tetrominos down
|
|
lda.z level
|
|
cmp #$1d+1
|
|
bcs __b1_from_play_increase_level
|
|
jmp __b3
|
|
// play_increase_level::@3
|
|
__b3:
|
|
// [570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22] -- vbuz1=pbuc1_derefidx_vbuz2
|
|
ldy.z level
|
|
lda MOVEDOWN_SLOW_SPEEDS,y
|
|
sta.z current_movedown_slow
|
|
// [571] phi from play_increase_level::@3 to play_increase_level::@1 [phi:play_increase_level::@3->play_increase_level::@1]
|
|
__b1_from___b3:
|
|
// [571] phi current_movedown_slow#67 = current_movedown_slow#9 [phi:play_increase_level::@3->play_increase_level::@1#0] -- register_copy
|
|
jmp __b1
|
|
// [571] phi from play_increase_level to play_increase_level::@1 [phi:play_increase_level->play_increase_level::@1]
|
|
__b1_from_play_increase_level:
|
|
// [571] phi current_movedown_slow#67 = 1 [phi:play_increase_level->play_increase_level::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z current_movedown_slow
|
|
jmp __b1
|
|
// play_increase_level::@1
|
|
__b1:
|
|
// [572] level_bcd#22 = ++ level_bcd#10 -- vbuz1=_inc_vbuz1
|
|
inc.z level_bcd
|
|
// [573] play_increase_level::$1 = level_bcd#22 & $f -- vbuaa=vbuz1_band_vbuc1
|
|
lda #$f
|
|
and.z level_bcd
|
|
// [574] if(play_increase_level::$1!=$a) goto play_increase_level::@2 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #$a
|
|
bne __b2_from___b1
|
|
jmp __b4
|
|
// play_increase_level::@4
|
|
__b4:
|
|
// [575] level_bcd#7 = level_bcd#22 + 6 -- vbuz1=vbuz1_plus_vbuc1
|
|
// If level low nybble hits 0xa change to 0x10
|
|
lax.z level_bcd
|
|
axs #-[6]
|
|
stx.z level_bcd
|
|
// [576] phi from play_increase_level::@1 play_increase_level::@4 to play_increase_level::@2 [phi:play_increase_level::@1/play_increase_level::@4->play_increase_level::@2]
|
|
__b2_from___b1:
|
|
__b2_from___b4:
|
|
// [576] phi level_bcd#63 = level_bcd#22 [phi:play_increase_level::@1/play_increase_level::@4->play_increase_level::@2#0] -- register_copy
|
|
jmp __b2
|
|
// play_increase_level::@2
|
|
__b2:
|
|
// asm { sed }
|
|
// Increase the score values gained
|
|
sed
|
|
// [578] phi from play_increase_level::@2 to play_increase_level::@5 [phi:play_increase_level::@2->play_increase_level::@5]
|
|
__b5_from___b2:
|
|
// [578] phi play_increase_level::b#2 = 0 [phi:play_increase_level::@2->play_increase_level::@5#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
jmp __b5
|
|
// [578] phi from play_increase_level::@5 to play_increase_level::@5 [phi:play_increase_level::@5->play_increase_level::@5]
|
|
__b5_from___b5:
|
|
// [578] phi play_increase_level::b#2 = play_increase_level::b#1 [phi:play_increase_level::@5->play_increase_level::@5#0] -- register_copy
|
|
jmp __b5
|
|
// play_increase_level::@5
|
|
__b5:
|
|
// [579] play_increase_level::$5 = play_increase_level::b#2 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] -- pduc1_derefidx_vbuaa=pduc1_derefidx_vbuaa_plus_pduc2_derefidx_vbuaa
|
|
tay
|
|
clc
|
|
lda score_add_bcd,y
|
|
adc SCORE_BASE_BCD,y
|
|
sta score_add_bcd,y
|
|
lda score_add_bcd+1,y
|
|
adc SCORE_BASE_BCD+1,y
|
|
sta score_add_bcd+1,y
|
|
lda score_add_bcd+2,y
|
|
adc SCORE_BASE_BCD+2,y
|
|
sta score_add_bcd+2,y
|
|
lda score_add_bcd+3,y
|
|
adc SCORE_BASE_BCD+3,y
|
|
sta score_add_bcd+3,y
|
|
// [581] play_increase_level::b#1 = ++ play_increase_level::b#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [582] if(play_increase_level::b#1!=5) goto play_increase_level::@5 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #5
|
|
bne __b5_from___b5
|
|
jmp __b6
|
|
// play_increase_level::@6
|
|
__b6:
|
|
// asm { cld }
|
|
cld
|
|
jmp __breturn
|
|
// play_increase_level::@return
|
|
__breturn:
|
|
// [584] return
|
|
rts
|
|
}
|
|
// File Data
|
|
.segment Data
|
|
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
|
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
|
// Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7)
|
|
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
|
|
// Keyboard event buffer. Contains keycodes for key presses/releases. Presses are represented by the keycode. Releases by keycode | $40. The buffer is filled by keyboard_scan()
|
|
keyboard_events: .fill 8, 0
|
|
// The values scanned values for each row. Set by keyboard_scan() and used by keyboard_get_event()
|
|
keyboard_scan_values: .fill 8, 0
|
|
// The playfield. 0 is empty non-zero is color.
|
|
// The playfield is layed out line by line, meaning the first 10 bytes are line 1, the next 10 line 2 and so forth,
|
|
playfield: .fill PLAYFIELD_LINES*PLAYFIELD_COLS, 0
|
|
// The T-piece
|
|
.align $40
|
|
PIECE_T: .byte 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
|
|
// The S-piece
|
|
.align $40
|
|
PIECE_S: .byte 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
|
|
// The Z-piece
|
|
.align $40
|
|
PIECE_Z: .byte 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
|
|
// The L-piece
|
|
.align $40
|
|
PIECE_L: .byte 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
|
|
// The J-piece
|
|
.align $40
|
|
PIECE_J: .byte 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
|
|
// The O-piece
|
|
.align $40
|
|
PIECE_O: .byte 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
|
|
// The I-piece
|
|
.align $40
|
|
PIECE_I: .byte 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
|
|
// The different pieces
|
|
PIECES: .word PIECE_T, PIECE_S, PIECE_Z, PIECE_J, PIECE_O, PIECE_I, PIECE_L
|
|
// The chars to use for the different pieces - when inside the playing area
|
|
PIECES_CHARS: .byte $65, $66, $a6, $66, $65, $65, $a6
|
|
// The chars to use for the different pieces - when outside the playing area (eg. the next area).
|
|
PIECES_NEXT_CHARS: .byte $63, $64, $a4, $64, $63, $63, $a4
|
|
// The initial X/Y for each piece
|
|
PIECES_START_X: .byte 4, 4, 4, 4, 4, 4, 4
|
|
PIECES_START_Y: .byte 1, 1, 1, 1, 1, 0, 1
|
|
PLAYFIELD_SCREEN_ORIGINAL:
|
|
// 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 )
|
|
|
|
// Original Color Data
|
|
PLAYFIELD_COLORS_ORIGINAL:
|
|
.import binary "playfield-screen.col"
|
|
|
|
// The color #1 to use for the pieces for each level
|
|
PIECES_COLORS_1: .byte 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
|
|
// The color #2 to use for the pieces for each level
|
|
PIECES_COLORS_2: .byte 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
|
|
// Pointers to the screen address for rendering each playfield line
|
|
// The lines for screen 1 is aligned with 0x80 and screen 2 with 0x40 - so XOR'ing with 0x40 gives screen 2 lines.
|
|
.align $80
|
|
screen_lines_1: .fill 2*PLAYFIELD_LINES, 0
|
|
.align $40
|
|
screen_lines_2: .fill 2*PLAYFIELD_LINES, 0
|
|
// Pointers to the playfield address for each playfield line
|
|
playfield_lines: .fill 2*PLAYFIELD_LINES, 0
|
|
// Indixes into the playfield for each playfield line
|
|
playfield_lines_idx: .fill PLAYFIELD_LINES+1, 0
|
|
// The speed of moving down the piece when soft-drop is not activated
|
|
// This array holds the number of frames per move by level (0-29). For all levels 29+ the value is 1.
|
|
MOVEDOWN_SLOW_SPEEDS: .byte $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
|
|
// Base Score values for removing 0-4 lines (in BCD)
|
|
// These values are added to score_add_bcd for each level gained.
|
|
SCORE_BASE_BCD: .dword 0, $40, $100, $300, $1200
|
|
// Score values for removing 0-4 lines (in BCD)
|
|
// These values are updated based on the players level and the base values from SCORE_BASE_BCD
|
|
score_add_bcd: .fill 4*5, 0
|
|
.pc = $3000 "PLAYFIELD_SPRITES"
|
|
// Sprites covering the playfield
|
|
PLAYFIELD_SPRITES:
|
|
.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
|
|
}
|
|
}
|
|
|
|
.pc = $2800 "PLAYFIELD_CHARSET"
|
|
// Address of the charset
|
|
PLAYFIELD_CHARSET:
|
|
.fill 8,$00 // Place a filled char at the start of the charset
|
|
.import binary "playfield-screen.imap"
|
|
|
|
|
|
ASSEMBLER OPTIMIZATIONS
|
|
Removing instruction jmp __init1
|
|
Removing instruction jmp __init1_toSpritePtr1
|
|
Removing instruction jmp __init1___b1
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __b9
|
|
Removing instruction jmp __b10
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp toSpritePtr1
|
|
Removing instruction jmp __b11
|
|
Removing instruction jmp sid_rnd_init1
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __b9
|
|
Removing instruction jmp __b10
|
|
Removing instruction jmp __b11
|
|
Removing instruction jmp __b12
|
|
Removing instruction jmp __b13
|
|
Removing instruction jmp __b14
|
|
Removing instruction jmp __b15
|
|
Removing instruction jmp __b16
|
|
Removing instruction jmp __b17
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b18
|
|
Removing instruction jmp __b19
|
|
Removing instruction jmp __b20
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b21
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b22
|
|
Removing instruction jmp __b23
|
|
Removing instruction jmp __b24
|
|
Removing instruction jmp __b25
|
|
Removing instruction jmp vicSelectGfxBank1
|
|
Removing instruction jmp vicSelectGfxBank1_toDd001
|
|
Removing instruction jmp vicSelectGfxBank1___b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp toD0182
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp toD0181
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b19
|
|
Removing instruction jmp __b16
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __b17
|
|
Removing instruction jmp __b20
|
|
Removing instruction jmp __b18
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b21
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b22
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b23
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b9
|
|
Removing instruction jmp __b12
|
|
Removing instruction jmp __b13
|
|
Removing instruction jmp __b14
|
|
Removing instruction jmp __b10
|
|
Removing instruction jmp __b15
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b12
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b8
|
|
Removing instruction jmp __b13
|
|
Removing instruction jmp __b9
|
|
Removing instruction jmp __b14
|
|
Removing instruction jmp __b15
|
|
Removing instruction jmp __b16
|
|
Removing instruction jmp __b17
|
|
Removing instruction jmp __b11
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b9
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __b7
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __breturn
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b5
|
|
Removing instruction jmp __b6
|
|
Removing instruction jmp __breturn
|
|
Succesful ASM optimization Pass5NextJumpElimination
|
|
Removing instruction lda #<0
|
|
Removing instruction lda #>0
|
|
Removing instruction lda #0
|
|
Removing instruction ldy.z play_spawn_current.__7
|
|
Removing instruction lda #0
|
|
Removing instruction lda #<0
|
|
Removing instruction lda #>0
|
|
Removing instruction lda #0
|
|
Removing instruction lda #0
|
|
Removing instruction lda #0
|
|
Removing instruction lda #BLACK
|
|
Removing instruction lda SPRITES_MC
|
|
Removing instruction lda SPRITES_EXPAND_Y
|
|
Removing instruction lda #0
|
|
Replacing instruction ldy #0 with TAY
|
|
Removing instruction ldy.z level
|
|
Removing instruction lda #0
|
|
Removing instruction lda.z row_scan
|
|
Removing instruction ldy #0
|
|
Removing instruction ldy #0
|
|
Removing instruction lda #0
|
|
Removing instruction ldy.z play_spawn_current.__7
|
|
Removing instruction lda.z current_orientation
|
|
Removing instruction lda #0
|
|
Removing instruction lda #0
|
|
Removing instruction lda.z c
|
|
Succesful ASM optimization Pass5UnnecesaryLoadElimination
|
|
Replacing label __b1_from___b6 with __b1
|
|
Replacing label __b1_from___b25 with __b1
|
|
Replacing label __b1_from___b1 with __b1
|
|
Replacing label __b1_from___b1 with __b1
|
|
Replacing label __b1_from___b1 with __b1
|
|
Replacing label __b3_from___b3 with __b3
|
|
Replacing label __b5_from___b4 with __b1
|
|
Replacing label __b2_from___b2 with __b2
|
|
Replacing label __b1_from___b3 with __b1
|
|
Replacing label __b1_from___b3 with __b1
|
|
Replacing label __b4_from___b5 with __b4
|
|
Replacing label __b3_from___b5 with __b3
|
|
Replacing label __b1_from_render_next with __b1
|
|
Replacing label __b4_from___b6 with __b4
|
|
Replacing label __b3_from___b8 with __b3
|
|
Replacing label toD0181_from_render_show with toD0181
|
|
Replacing label __b7_from___b8 with __b7
|
|
Replacing label __b1_from___b20 with __b1
|
|
Replacing label __b2_from___b21 with __b2
|
|
Replacing label __b3_from___b22 with __b3
|
|
Replacing label __breturn with __b6
|
|
Replacing label __b10_from___b9 with __b10
|
|
Replacing label __b10_from___b12 with __b10
|
|
Replacing label __b8_from___b15 with __b8
|
|
Replacing label __b10_from___b11 with __b10
|
|
Replacing label __breturn_from___b4 with __breturn
|
|
Replacing label __b1_from_render_score with __b1
|
|
Replacing label __b2_from___b2 with __b2
|
|
Replacing label __b3_from___b3 with __b3
|
|
Replacing label __b4_from___b4 with __b4
|
|
Replacing label __b1_from___b5 with __b1
|
|
Replacing label __b2_from___b12 with __b2
|
|
Replacing label __b2_from___b5 with __b2
|
|
Replacing label __b3_from___b2 with __b3
|
|
Replacing label __breturn_from___b2 with __breturn_from___b7
|
|
Replacing label __breturn_from___b6 with __breturn_from___b7
|
|
Replacing label __b3_from___b1 with __b3
|
|
Replacing label __b1_from_render_bcd with __b1
|
|
Replacing label __b9_from___b2 with __b3
|
|
Replacing label __b2_from___b3 with __b2
|
|
Replacing label __b6_from___b4 with __b6
|
|
Replacing label __b1_from___b6 with __b1
|
|
Replacing label __breturn_from_play_update_score with __breturn
|
|
Replacing label __breturn_from___b1 with __breturn
|
|
Replacing label __b2_from___b1 with __b2
|
|
Replacing label __b5_from___b5 with __b5
|
|
Removing instruction __init1_toSpritePtr1_from___init1:
|
|
Removing instruction __init1_toSpritePtr1:
|
|
Removing instruction __b1_from___init1___b1:
|
|
Removing instruction main_from___b1:
|
|
Removing instruction __breturn:
|
|
Removing instruction toSpritePtr1_from___b3:
|
|
Removing instruction toSpritePtr1:
|
|
Removing instruction __b9_from___b8:
|
|
Removing instruction __b10_from___b9:
|
|
Removing instruction __b11_from___b10:
|
|
Removing instruction play_init_from___b11:
|
|
Removing instruction __b12_from___b11:
|
|
Removing instruction __b13_from___b12:
|
|
Removing instruction play_spawn_current_from___b13:
|
|
Removing instruction __b14_from___b13:
|
|
Removing instruction render_playfield_from___b14:
|
|
Removing instruction __b1_from___b25:
|
|
Removing instruction __b1_from___b6:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b18_from___b3:
|
|
Removing instruction __b19_from___b18:
|
|
Removing instruction __b21:
|
|
Removing instruction __b24_from___b23:
|
|
Removing instruction __b25_from___b24:
|
|
Removing instruction vicSelectGfxBank1_toDd001_from_vicSelectGfxBank1:
|
|
Removing instruction vicSelectGfxBank1_toDd001:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction render_screen_original_from___b3:
|
|
Removing instruction __b1_from___b1:
|
|
Removing instruction __b1_from___b1:
|
|
Removing instruction __b1_from___b1:
|
|
Removing instruction __b3_from___b3:
|
|
Removing instruction __b5_from___b4:
|
|
Removing instruction __b5:
|
|
Removing instruction __b1_from___b5:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b1_from___b3:
|
|
Removing instruction __b2_from___b2:
|
|
Removing instruction __b1_from___b3:
|
|
Removing instruction __b3_from___b5:
|
|
Removing instruction __b3_from___b7:
|
|
Removing instruction __b4_from___b5:
|
|
Removing instruction __b1_from_render_next:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b3_from___b8:
|
|
Removing instruction __b4_from___b3:
|
|
Removing instruction __b4_from___b6:
|
|
Removing instruction toD0182_from_render_show:
|
|
Removing instruction __b1_from_toD0182:
|
|
Removing instruction toD0181_from_render_show:
|
|
Removing instruction __b1_from_toD0181:
|
|
Removing instruction __b7_from___b8:
|
|
Removing instruction __b8_from___b15:
|
|
Removing instruction __b8_from___b16:
|
|
Removing instruction __b17_from___b8:
|
|
Removing instruction keyboard_event_pressed_from___b17:
|
|
Removing instruction __b18_from___b20:
|
|
Removing instruction __b18:
|
|
Removing instruction __b1_from___b18:
|
|
Removing instruction __b1_from___b20:
|
|
Removing instruction keyboard_event_pressed_from___b1:
|
|
Removing instruction __b4_from___b21:
|
|
Removing instruction __b4:
|
|
Removing instruction __b2_from___b21:
|
|
Removing instruction __b2_from___b4:
|
|
Removing instruction keyboard_event_pressed_from___b2:
|
|
Removing instruction __b5_from___b22:
|
|
Removing instruction __b5:
|
|
Removing instruction __b3_from___b22:
|
|
Removing instruction __b3_from___b5:
|
|
Removing instruction keyboard_event_pressed_from___b3:
|
|
Removing instruction __b6_from___b23:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b10_from___b11:
|
|
Removing instruction __b10_from___b12:
|
|
Removing instruction __b10_from___b14:
|
|
Removing instruction __b10_from___b9:
|
|
Removing instruction __breturn_from___b2:
|
|
Removing instruction __breturn_from___b4:
|
|
Removing instruction __b1_from_render_score:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b1_from___b5:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b2_from___b2:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b3_from___b3:
|
|
Removing instruction __b4_from___b3:
|
|
Removing instruction __b4_from___b4:
|
|
Removing instruction __b4_from_play_move_down:
|
|
Removing instruction __b1_from___b4:
|
|
Removing instruction keyboard_event_pressed_from___b1:
|
|
Removing instruction __b2_from___b12:
|
|
Removing instruction __b2_from___b5:
|
|
Removing instruction __b2_from___b6:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b3_from___b7:
|
|
Removing instruction __b9_from___b13:
|
|
Removing instruction __b14_from___b9:
|
|
Removing instruction play_remove_lines_from___b14:
|
|
Removing instruction __b16_from___b15:
|
|
Removing instruction __breturn_from___b11:
|
|
Removing instruction __breturn_from___b4:
|
|
Removing instruction __breturn_from___b2:
|
|
Removing instruction __breturn_from___b6:
|
|
Removing instruction __breturn_from___b4:
|
|
Removing instruction __b3_from___b1:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b1_from_render_bcd:
|
|
Removing instruction __b1_from___b2:
|
|
Removing instruction __b1_from___b6:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b2_from___b3:
|
|
Removing instruction __b9_from___b2:
|
|
Removing instruction __b9:
|
|
Removing instruction __b3_from___b9:
|
|
Removing instruction __b6_from___b4:
|
|
Removing instruction __b6_from___b5:
|
|
Removing instruction __b7_from___b6:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __breturn_from_play_update_score:
|
|
Removing instruction __breturn_from___b1:
|
|
Removing instruction __breturn_from___b2:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b2_from___b4:
|
|
Removing instruction __b5_from___b5:
|
|
Succesful ASM optimization Pass5RedundantLabelElimination
|
|
Removing instruction __init1:
|
|
Removing instruction __init1___b1:
|
|
Removing instruction __b1:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b9:
|
|
Removing instruction __b10:
|
|
Removing instruction __b6:
|
|
Removing instruction __b7:
|
|
Removing instruction __b11:
|
|
Removing instruction sid_rnd_init1:
|
|
Removing instruction __b8:
|
|
Removing instruction render_init_from___b8:
|
|
Removing instruction __b9:
|
|
Removing instruction __b10:
|
|
Removing instruction __b11:
|
|
Removing instruction __b12:
|
|
Removing instruction play_spawn_current_from___b12:
|
|
Removing instruction __b13:
|
|
Removing instruction __b14:
|
|
Removing instruction __b15:
|
|
Removing instruction render_moving_from___b15:
|
|
Removing instruction __b16:
|
|
Removing instruction render_next_from___b16:
|
|
Removing instruction __b17:
|
|
Removing instruction __b1_from___b17:
|
|
Removing instruction __b3:
|
|
Removing instruction __b18:
|
|
Removing instruction keyboard_event_scan_from___b18:
|
|
Removing instruction __b19:
|
|
Removing instruction __b20:
|
|
Removing instruction __b6:
|
|
Removing instruction __b7:
|
|
Removing instruction render_playfield_from___b7:
|
|
Removing instruction __b22:
|
|
Removing instruction render_moving_from___b22:
|
|
Removing instruction __b23:
|
|
Removing instruction render_next_from___b23:
|
|
Removing instruction __b24:
|
|
Removing instruction __b25:
|
|
Removing instruction vicSelectGfxBank1:
|
|
Removing instruction vicSelectGfxBank1___b1:
|
|
Removing instruction __b2:
|
|
Removing instruction render_screen_original_from___b2:
|
|
Removing instruction __b3:
|
|
Removing instruction __b1_from___b3:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_sprites_init:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_play_init:
|
|
Removing instruction __b2:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __breturn:
|
|
Removing instruction play_collision_from_play_spawn_current:
|
|
Removing instruction __b4:
|
|
Removing instruction __b1_from___b4:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b3:
|
|
Removing instruction __b2_from___b3:
|
|
Removing instruction __b1_from_render_playfield:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b3:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_render_moving:
|
|
Removing instruction __b7:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b4_from___b2:
|
|
Removing instruction __b6:
|
|
Removing instruction __b2_from_render_next:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b7:
|
|
Removing instruction __b8:
|
|
Removing instruction __breturn:
|
|
Removing instruction toD0182:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b7_from_keyboard_event_scan:
|
|
Removing instruction __b19:
|
|
Removing instruction __b16:
|
|
Removing instruction __b17:
|
|
Removing instruction __b20:
|
|
Removing instruction __b21:
|
|
Removing instruction __b22:
|
|
Removing instruction __b23:
|
|
Removing instruction __b12:
|
|
Removing instruction __b13:
|
|
Removing instruction __b14:
|
|
Removing instruction __b15:
|
|
Removing instruction __b1:
|
|
Removing instruction __breturn_from___b1:
|
|
Removing instruction __b2:
|
|
Removing instruction __b3:
|
|
Removing instruction __b4:
|
|
Removing instruction __b2_from_render_score:
|
|
Removing instruction render_bcd_from___b2:
|
|
Removing instruction __b3:
|
|
Removing instruction render_bcd_from___b3:
|
|
Removing instruction __b4:
|
|
Removing instruction render_bcd_from___b4:
|
|
Removing instruction __b5:
|
|
Removing instruction render_bcd_from___b5:
|
|
Removing instruction __b6:
|
|
Removing instruction render_bcd_from___b6:
|
|
Removing instruction __b7:
|
|
Removing instruction render_bcd_from___b7:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_render_screen_original:
|
|
Removing instruction __b5:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_play_collision:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b7:
|
|
Removing instruction __breturn_from___b7:
|
|
Removing instruction __breturn_from___b4:
|
|
Removing instruction __breturn_from___b5:
|
|
Removing instruction __breturn_from___b6:
|
|
Removing instruction __b8:
|
|
Removing instruction __breturn_from___b8:
|
|
Removing instruction __b1_from___b9:
|
|
Removing instruction __b2_from___b10:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b4:
|
|
Removing instruction __b12:
|
|
Removing instruction __b5:
|
|
Removing instruction __b6:
|
|
Removing instruction __b7:
|
|
Removing instruction __b8:
|
|
Removing instruction play_collision_from___b8:
|
|
Removing instruction __b13:
|
|
Removing instruction __b9:
|
|
Removing instruction __b14:
|
|
Removing instruction __b15:
|
|
Removing instruction __b16:
|
|
Removing instruction play_spawn_current_from___b16:
|
|
Removing instruction __b17:
|
|
Removing instruction __b11_from___b17:
|
|
Removing instruction __b11_from___b10:
|
|
Removing instruction __b2:
|
|
Removing instruction __b3:
|
|
Removing instruction play_collision_from___b3:
|
|
Removing instruction __b7:
|
|
Removing instruction __b4:
|
|
Removing instruction play_collision_from___b1:
|
|
Removing instruction __b6:
|
|
Removing instruction __b5:
|
|
Removing instruction __b4:
|
|
Removing instruction play_collision_from___b3:
|
|
Removing instruction __b6:
|
|
Removing instruction __b5:
|
|
Removing instruction __breturn_from___b5:
|
|
Removing instruction __b2:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from_play_lock_current:
|
|
Removing instruction __b2_from___b1:
|
|
Removing instruction __b4:
|
|
Removing instruction __b5:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1_from___b6:
|
|
Removing instruction __b2_from___b7:
|
|
Removing instruction __b1_from_play_remove_lines:
|
|
Removing instruction __b3_from___b2:
|
|
Removing instruction __b4:
|
|
Removing instruction __b5:
|
|
Removing instruction __b7:
|
|
Removing instruction __breturn:
|
|
Removing instruction __b1:
|
|
Removing instruction __b2:
|
|
Removing instruction __b3:
|
|
Removing instruction __b1_from___b3:
|
|
Removing instruction __b4:
|
|
Removing instruction __b5_from___b2:
|
|
Removing instruction __b6:
|
|
Removing instruction __breturn:
|
|
Succesful ASM optimization Pass5UnusedLabelElimination
|
|
Skipping double jump to __b9 in bne __b9_from___b10
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Replacing jump to rts with rts in jmp __breturn
|
|
Succesful ASM optimization Pass5DoubleJumpElimination
|
|
Relabelling long label __b9_from___b10 to __b4
|
|
Relabelling long label __b9_from___b19 to __b5
|
|
Relabelling long label __breturn_from_keyboard_event_get to __b1
|
|
Relabelling long label __b1_from_play_move_down to __b4
|
|
Relabelling long label __breturn_from___b3 to __b5
|
|
Relabelling long label __breturn_from___b5 to __b2
|
|
Relabelling long label __breturn_from___b7 to __b3
|
|
Relabelling long label __breturn_from___b6 to __b4
|
|
Relabelling long label __b7_from___b8 to __b4
|
|
Relabelling long label __b1_from_play_increase_level to __b3
|
|
Succesful ASM optimization Pass5RelabelLongLabels
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b4
|
|
Removing instruction jmp __b7
|
|
Removing instruction beq __b1
|
|
Removing instruction beq __b2
|
|
Removing instruction beq __b3
|
|
Removing instruction beq __b6
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b1
|
|
Removing instruction jmp __b2
|
|
Removing instruction jmp __b3
|
|
Removing instruction jmp __b5
|
|
Succesful ASM optimization Pass5NextJumpElimination
|
|
Replacing instruction ldy.z level with TAY
|
|
Removing instruction __b1:
|
|
Removing instruction __b2:
|
|
Removing instruction __b3:
|
|
Removing instruction __b6:
|
|
Removing instruction __b4:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Removing instruction __breturn:
|
|
Succesful ASM optimization Pass5UnusedLabelElimination
|
|
Removing unreachable instruction jmp __b9
|
|
Succesful ASM optimization Pass5UnreachableCodeElimination
|
|
|
|
FINAL SYMBOL TABLE
|
|
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 ]
|
|
|
|
|
|
FINAL ASSEMBLER
|
|
Score: 3343892
|
|
|
|
// File Comments
|
|
// Tetris Game for the Commodore 64
|
|
// The tetris game tries to match NES tetris gameplay pretty closely
|
|
// Source: https://meatfighter.com/nintendotetrisai/
|
|
// Upstart
|
|
// Commodore 64 PRG executable file
|
|
.file [name="tetris.prg", type="prg", segments="Program"]
|
|
.segmentdef Program [segments="Basic, Code, Data"]
|
|
.segmentdef Basic [start=$0801]
|
|
.segmentdef Code [start=$80d]
|
|
.segmentdef Data [startAfter="Code"]
|
|
.segment Basic
|
|
:BasicUpstart(__start)
|
|
// Global Constants & labels
|
|
// Value that disables all CIA interrupts when stored to the CIA Interrupt registers
|
|
.const CIA_INTERRUPT_CLEAR = $7f
|
|
// The offset of the sprite pointers from the screen start address
|
|
.const OFFSET_SPRITE_PTRS = $3f8
|
|
.const VICII_ECM = $40
|
|
.const VICII_DEN = $10
|
|
.const VICII_RSEL = 8
|
|
// Bits for the VICII IRQ Status/Enable Registers
|
|
.const IRQ_RASTER = 1
|
|
// SID Channel Control Register Noise Waveform
|
|
.const SID_CONTROL_NOISE = $80
|
|
// Mask for PROCESSOR_PORT_DDR which allows only memory configuration to be written
|
|
.const PROCPORT_DDR_MEMORY_MASK = 7
|
|
// RAM in 0xA000, 0xE000 I/O in 0xD000
|
|
.const PROCPORT_RAM_IO = 5
|
|
// The colors of the C64
|
|
.const BLACK = 0
|
|
.const RED = 2
|
|
.const CYAN = 3
|
|
.const PURPLE = 4
|
|
.const GREEN = 5
|
|
.const BLUE = 6
|
|
.const ORANGE = 8
|
|
.const PINK = $a
|
|
.const DARK_GREY = $b
|
|
.const GREY = $c
|
|
.const LIGHT_GREEN = $d
|
|
.const LIGHT_BLUE = $e
|
|
.const KEY_Z = $c
|
|
.const KEY_LSHIFT = $f
|
|
.const KEY_X = $17
|
|
.const KEY_DOT = $2c
|
|
.const KEY_COMMA = $2f
|
|
.const KEY_RSHIFT = $34
|
|
.const KEY_CTRL = $3a
|
|
.const KEY_SPACE = $3c
|
|
.const KEY_COMMODORE = $3d
|
|
// The size of the playfield
|
|
.const PLAYFIELD_LINES = $16
|
|
.const PLAYFIELD_COLS = $a
|
|
// The Y-position of the first sprite row
|
|
.const SPRITES_FIRST_YPOS = $31
|
|
// The line of the first IRQ
|
|
.const IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS+$13
|
|
// The rate of moving down the current piece fast (number of frames between moves if movedown is not forced)
|
|
.const current_movedown_fast = $a
|
|
// No collision
|
|
.const COLLISION_NONE = 0
|
|
// Playfield piece collision (cell on top of other cell on the playfield)
|
|
.const COLLISION_PLAYFIELD = 1
|
|
// Bottom collision (cell below bottom of the playfield)
|
|
.const COLLISION_BOTTOM = 2
|
|
// Left side collision (cell beyond the left side of the playfield)
|
|
.const COLLISION_LEFT = 4
|
|
// Right side collision (cell beyond the right side of the playfield)
|
|
.const COLLISION_RIGHT = 8
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR = 2
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_FREQ = $e
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL = $12
|
|
.const OFFSET_STRUCT_MOS6581_SID_CH3_OSC = $1b
|
|
.const OFFSET_STRUCT_MOS6526_CIA_PORT_B = 1
|
|
.const OFFSET_STRUCT_MOS6526_CIA_INTERRUPT = $d
|
|
.label SPRITES_XPOS = $d000
|
|
.label SPRITES_YPOS = $d001
|
|
.label SPRITES_COLOR = $d027
|
|
.label SPRITES_ENABLE = $d015
|
|
.label SPRITES_EXPAND_Y = $d017
|
|
.label SPRITES_MC = $d01c
|
|
.label SPRITES_EXPAND_X = $d01d
|
|
.label RASTER = $d012
|
|
.label BORDER_COLOR = $d020
|
|
.label BG_COLOR = $d021
|
|
.label BG_COLOR1 = $d022
|
|
.label BG_COLOR2 = $d023
|
|
.label BG_COLOR3 = $d024
|
|
.label VICII_CONTROL = $d011
|
|
.label D011 = $d011
|
|
.label D018 = $d018
|
|
// VIC II IRQ Status Register
|
|
.label IRQ_STATUS = $d019
|
|
// VIC II IRQ Enable Register
|
|
.label IRQ_ENABLE = $d01a
|
|
// Processor port data direction register
|
|
.label PROCPORT_DDR = 0
|
|
// Processor Port Register controlling RAM/ROM configuration and the datasette
|
|
.label PROCPORT = 1
|
|
// The SID MOS 6581/8580
|
|
.label SID = $d400
|
|
// Color Ram
|
|
.label COLS = $d800
|
|
// The CIA#1: keyboard matrix, joystick #1/#2
|
|
.label CIA1 = $dc00
|
|
// The CIA#2: Serial bus, RS-232, VIC memory bank
|
|
.label CIA2 = $dd00
|
|
// CIA#1 Interrupt for reading in ASM
|
|
.label CIA1_INTERRUPT = $dc0d
|
|
// The vector used when the HARDWARE serves IRQ interrupts
|
|
.label HARDWARE_IRQ = $fffe
|
|
// Address of the first screen
|
|
.label PLAYFIELD_SCREEN_1 = $400
|
|
// Address of the second screen
|
|
.label PLAYFIELD_SCREEN_2 = $2c00
|
|
// Screen Sprite pointers on screen 1
|
|
.label PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+OFFSET_SPRITE_PTRS
|
|
// Screen Sprite pointers on screen 2
|
|
.label PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+OFFSET_SPRITE_PTRS
|
|
// The screen currently being showed to the user. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_showing = $24
|
|
// Current score in BCD-format
|
|
.label score_bcd = $25
|
|
// The raster line of the next IRQ
|
|
.label irq_raster_next = $29
|
|
// Y-pos of the sprites on the next IRQ
|
|
.label irq_sprite_ypos = $2a
|
|
// Index of the sprites to show on the next IRQ
|
|
.label irq_sprite_ptr = $2b
|
|
// Counting the 10 IRQs
|
|
.label irq_cnt = $2c
|
|
// Keyboard event buffer size. The number of events currently in the event buffer
|
|
.label keyboard_events_size = $a
|
|
// The rate of moving down the current piece (number of frames between moves if movedown is not forced)
|
|
.label current_movedown_slow = $15
|
|
// Position of top left corner of current moving piece on the playfield
|
|
.label current_xpos = $1d
|
|
.label current_ypos = $11
|
|
// The curent piece orientation - each piece have 4 orientations (00/0x10/0x20/0x30).
|
|
// The orientation chooses one of the 4 sub-graphics of the piece.
|
|
.label current_orientation = $1a
|
|
// Pointer to the current piece in the current orientation. Updated each time current_orientation is updated.
|
|
.label current_piece_gfx = $1b
|
|
// The char of the current piece
|
|
.label current_piece_char = $19
|
|
// Current level BCD-format
|
|
.label level_bcd = $16
|
|
// The screen currently being rendered to. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_render = 3
|
|
// The screen currently to show next to the user. 0x00 for screen 1 / 0x20 for screen 2.
|
|
// Show showing screen 1 and rendering to screen 2
|
|
.label render_screen_show = 2
|
|
// Counts up to the next movedown of current piece
|
|
.label current_movedown_counter = 4
|
|
// Current number of cleared lines in BCD-format
|
|
.label lines_bcd = $12
|
|
// Current level in normal (non-BCD) format
|
|
.label level = $14
|
|
// The current moving piece. Points to the start of the piece definition.
|
|
.label current_piece = $17
|
|
// Is the game over?
|
|
.label game_over = $1e
|
|
// The index of the next moving piece. (0-6)
|
|
.label next_piece_idx = $1f
|
|
// The current moving piece. Points to the start of the piece definition.
|
|
.label current_piece_1 = $e
|
|
// The screen currently being rendered to. 0x00 for screen 1 / 0x20 for screen 2.
|
|
.label render_screen_render_1 = 5
|
|
// Position of top left corner of current moving piece on the playfield
|
|
.label current_xpos_1 = 6
|
|
// Pointer to the current piece in the current orientation. Updated each time current_orientation is updated.
|
|
.label current_piece_gfx_1 = 7
|
|
// The char of the current piece
|
|
.label current_piece_char_1 = 9
|
|
.segment Code
|
|
// __start
|
|
__start: {
|
|
.const __init1_toSpritePtr1_return = $ff&PLAYFIELD_SPRITES/$40
|
|
// __start::__init1
|
|
// render_screen_showing = 0
|
|
// [1] render_screen_showing = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z render_screen_showing
|
|
// score_bcd = 0
|
|
// [2] score_bcd = 0 -- vduz1=vduc1
|
|
sta.z score_bcd
|
|
sta.z score_bcd+1
|
|
lda #<0>>$10
|
|
sta.z score_bcd+2
|
|
lda #>0>>$10
|
|
sta.z score_bcd+3
|
|
// irq_raster_next = IRQ_RASTER_FIRST
|
|
// [3] irq_raster_next = IRQ_RASTER_FIRST -- vbuz1=vbuc1
|
|
lda #IRQ_RASTER_FIRST
|
|
sta.z irq_raster_next
|
|
// irq_sprite_ypos = SPRITES_FIRST_YPOS + 21
|
|
// [4] irq_sprite_ypos = SPRITES_FIRST_YPOS+$15 -- vbuz1=vbuc1
|
|
lda #SPRITES_FIRST_YPOS+$15
|
|
sta.z irq_sprite_ypos
|
|
// [5] phi from __start::__init1 to __start::__init1_toSpritePtr1 [phi:__start::__init1->__start::__init1_toSpritePtr1]
|
|
// __start::__init1_toSpritePtr1
|
|
// __start::__init1_@1
|
|
// irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES) + 3
|
|
// [6] irq_sprite_ptr = __start::__init1_toSpritePtr1_return#0+3 -- vbuz1=vbuc1
|
|
lda #__init1_toSpritePtr1_return+3
|
|
sta.z irq_sprite_ptr
|
|
// irq_cnt = 0
|
|
// [7] irq_cnt = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z irq_cnt
|
|
// [8] phi from __start::__init1_@1 to __start::@1 [phi:__start::__init1_@1->__start::@1]
|
|
// __start::@1
|
|
// [9] call main
|
|
// [51] phi from __start::@1 to main [phi:__start::@1->main]
|
|
jsr main
|
|
// __start::@return
|
|
// [10] return
|
|
rts
|
|
}
|
|
// sprites_irq
|
|
// Raster Interrupt Routine - sets up the sprites covering the playfield
|
|
// Repeats 10 timers every 2 lines from line IRQ_RASTER_FIRST
|
|
// Utilizes duplicated gfx in the sprites to allow for some leeway in updating the sprite pointers
|
|
sprites_irq: {
|
|
.const toSpritePtr1_return = $ff&PLAYFIELD_SPRITES/$40
|
|
.label raster_sprite_gfx_modify = $2d
|
|
// interrupt(isr_hardware_clobber_entry) -- isr_hardware_all_entry
|
|
sta rega+1
|
|
stx regx+1
|
|
// asm
|
|
// asm { cld }
|
|
//(*BG_COLOR)++;
|
|
// Clear decimal flag (because it is used by the score algorithm)
|
|
cld
|
|
// ypos = irq_sprite_ypos
|
|
// [12] sprites_irq::ypos#0 = irq_sprite_ypos -- vbuaa=vbuz1
|
|
// Place the sprites
|
|
lda.z irq_sprite_ypos
|
|
// SPRITES_YPOS[0] = ypos
|
|
// [13] *SPRITES_YPOS = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS
|
|
// SPRITES_YPOS[2] = ypos
|
|
// [14] *(SPRITES_YPOS+2) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+2
|
|
// SPRITES_YPOS[4] = ypos
|
|
// [15] *(SPRITES_YPOS+4) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+4
|
|
// SPRITES_YPOS[6] = ypos
|
|
// [16] *(SPRITES_YPOS+6) = sprites_irq::ypos#0 -- _deref_pbuc1=vbuaa
|
|
sta SPRITES_YPOS+6
|
|
// irq_raster_next+1
|
|
// [17] sprites_irq::$0 = irq_raster_next + 1 -- vbuxx=vbuz1_plus_1
|
|
ldx.z irq_raster_next
|
|
inx
|
|
// raster_sprite_gfx_modify = irq_raster_next+1
|
|
// [18] sprites_irq::raster_sprite_gfx_modify = sprites_irq::$0 -- vbuz1=vbuxx
|
|
// Wait for the y-position before changing sprite pointers
|
|
stx.z raster_sprite_gfx_modify
|
|
// sprites_irq::@8
|
|
__b8:
|
|
// while(*RASTER<raster_sprite_gfx_modify)
|
|
// [19] if(*RASTER<sprites_irq::raster_sprite_gfx_modify) goto sprites_irq::@8 -- _deref_pbuc1_lt_vbuz1_then_la1
|
|
lda RASTER
|
|
cmp.z raster_sprite_gfx_modify
|
|
bcc __b8
|
|
// sprites_irq::@9
|
|
// ptr = irq_sprite_ptr
|
|
// [20] sprites_irq::ptr#0 = irq_sprite_ptr -- vbuxx=vbuz1
|
|
ldx.z irq_sprite_ptr
|
|
// if(render_screen_showing==0)
|
|
// [21] if(render_screen_showing==0) goto sprites_irq::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_showing
|
|
cmp #0
|
|
beq __b1
|
|
// sprites_irq::@10
|
|
// PLAYFIELD_SPRITE_PTRS_2[0] = ptr++
|
|
// [22] *PLAYFIELD_SPRITE_PTRS_2 = sprites_irq::ptr#0 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_2
|
|
// PLAYFIELD_SPRITE_PTRS_2[0] = ptr++;
|
|
// [23] sprites_irq::ptr#3 = ++ sprites_irq::ptr#0 -- vbuaa=_inc_vbuxx
|
|
inx
|
|
txa
|
|
// PLAYFIELD_SPRITE_PTRS_2[1] = ptr
|
|
// [24] *(PLAYFIELD_SPRITE_PTRS_2+1) = sprites_irq::ptr#3 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+1
|
|
// PLAYFIELD_SPRITE_PTRS_2[2] = ptr++
|
|
// [25] *(PLAYFIELD_SPRITE_PTRS_2+2) = sprites_irq::ptr#3 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+2
|
|
// PLAYFIELD_SPRITE_PTRS_2[2] = ptr++;
|
|
// [26] sprites_irq::ptr#4 = ++ sprites_irq::ptr#3 -- vbuaa=_inc_vbuaa
|
|
clc
|
|
adc #1
|
|
// PLAYFIELD_SPRITE_PTRS_2[3] = ptr
|
|
// [27] *(PLAYFIELD_SPRITE_PTRS_2+3) = sprites_irq::ptr#4 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_2+3
|
|
// sprites_irq::@2
|
|
__b2:
|
|
// ++irq_cnt;
|
|
// [28] irq_cnt = ++ irq_cnt -- vbuz1=_inc_vbuz1
|
|
inc.z irq_cnt
|
|
// if(irq_cnt==9)
|
|
// [29] if(irq_cnt==9) goto sprites_irq::@3 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #9
|
|
cmp.z irq_cnt
|
|
beq __b3
|
|
// sprites_irq::@6
|
|
// if(irq_cnt==10)
|
|
// [30] if(irq_cnt==$a) goto sprites_irq::@4 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #$a
|
|
cmp.z irq_cnt
|
|
beq __b4
|
|
// sprites_irq::@7
|
|
// irq_raster_next += 20
|
|
// [31] irq_raster_next = irq_raster_next + $14 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_raster_next
|
|
axs #-[$14]
|
|
stx.z irq_raster_next
|
|
// irq_sprite_ypos += 21
|
|
// [32] irq_sprite_ypos = irq_sprite_ypos + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ypos
|
|
axs #-[$15]
|
|
stx.z irq_sprite_ypos
|
|
// irq_sprite_ptr += 3
|
|
// [33] irq_sprite_ptr = irq_sprite_ptr + 3 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ptr
|
|
axs #-[3]
|
|
stx.z irq_sprite_ptr
|
|
// sprites_irq::@5
|
|
__b5:
|
|
// *RASTER = irq_raster_next
|
|
// [34] *RASTER = irq_raster_next -- _deref_pbuc1=vbuz1
|
|
// Setup next interrupt
|
|
lda.z irq_raster_next
|
|
sta RASTER
|
|
// *IRQ_STATUS = IRQ_RASTER
|
|
// [35] *IRQ_STATUS = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Acknowledge the IRQ and setup the next one
|
|
lda #IRQ_RASTER
|
|
sta IRQ_STATUS
|
|
// sprites_irq::@return
|
|
// }
|
|
// [36] return
|
|
// interrupt(isr_hardware_clobber_exit) -- isr_hardware_all_exit
|
|
rega:
|
|
lda #0
|
|
regx:
|
|
ldx #0
|
|
rti
|
|
// sprites_irq::@4
|
|
__b4:
|
|
// irq_cnt = 0
|
|
// [37] irq_cnt = 0 -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z irq_cnt
|
|
// irq_raster_next = IRQ_RASTER_FIRST
|
|
// [38] irq_raster_next = IRQ_RASTER_FIRST -- vbuz1=vbuc1
|
|
lda #IRQ_RASTER_FIRST
|
|
sta.z irq_raster_next
|
|
// irq_sprite_ypos += 21
|
|
// [39] irq_sprite_ypos = irq_sprite_ypos + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ypos
|
|
axs #-[$15]
|
|
stx.z irq_sprite_ypos
|
|
// irq_sprite_ptr += 3
|
|
// [40] irq_sprite_ptr = irq_sprite_ptr + 3 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_sprite_ptr
|
|
axs #-[3]
|
|
stx.z irq_sprite_ptr
|
|
jmp __b5
|
|
// sprites_irq::@3
|
|
__b3:
|
|
// irq_raster_next += 21
|
|
// [41] irq_raster_next = irq_raster_next + $15 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z irq_raster_next
|
|
axs #-[$15]
|
|
stx.z irq_raster_next
|
|
// irq_sprite_ypos = SPRITES_FIRST_YPOS
|
|
// [42] irq_sprite_ypos = SPRITES_FIRST_YPOS -- vbuz1=vbuc1
|
|
lda #SPRITES_FIRST_YPOS
|
|
sta.z irq_sprite_ypos
|
|
// [43] phi from sprites_irq::@3 to sprites_irq::toSpritePtr1 [phi:sprites_irq::@3->sprites_irq::toSpritePtr1]
|
|
// sprites_irq::toSpritePtr1
|
|
// sprites_irq::@11
|
|
// irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES)
|
|
// [44] irq_sprite_ptr = sprites_irq::toSpritePtr1_return#0 -- vbuz1=vbuc1
|
|
lda #toSpritePtr1_return
|
|
sta.z irq_sprite_ptr
|
|
jmp __b5
|
|
// sprites_irq::@1
|
|
__b1:
|
|
// PLAYFIELD_SPRITE_PTRS_1[0] = ptr++
|
|
// [45] *PLAYFIELD_SPRITE_PTRS_1 = sprites_irq::ptr#0 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1
|
|
// PLAYFIELD_SPRITE_PTRS_1[0] = ptr++;
|
|
// [46] sprites_irq::ptr#1 = ++ sprites_irq::ptr#0 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// PLAYFIELD_SPRITE_PTRS_1[1] = ptr
|
|
// [47] *(PLAYFIELD_SPRITE_PTRS_1+1) = sprites_irq::ptr#1 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1+1
|
|
// PLAYFIELD_SPRITE_PTRS_1[2] = ptr++
|
|
// [48] *(PLAYFIELD_SPRITE_PTRS_1+2) = sprites_irq::ptr#1 -- _deref_pbuc1=vbuxx
|
|
stx PLAYFIELD_SPRITE_PTRS_1+2
|
|
// PLAYFIELD_SPRITE_PTRS_1[2] = ptr++;
|
|
// [49] sprites_irq::ptr#2 = ++ sprites_irq::ptr#1 -- vbuaa=_inc_vbuxx
|
|
inx
|
|
txa
|
|
// PLAYFIELD_SPRITE_PTRS_1[3] = ptr
|
|
// [50] *(PLAYFIELD_SPRITE_PTRS_1+3) = sprites_irq::ptr#2 -- _deref_pbuc1=vbuaa
|
|
sta PLAYFIELD_SPRITE_PTRS_1+3
|
|
jmp __b2
|
|
}
|
|
// main
|
|
main: {
|
|
// main::sid_rnd_init1
|
|
// SID->CH3_FREQ = 0xffff
|
|
// [52] *((word*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ) = $ffff -- _deref_pwuc1=vwuc2
|
|
lda #<$ffff
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ
|
|
lda #>$ffff
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_FREQ+1
|
|
// SID->CH3_CONTROL = SID_CONTROL_NOISE
|
|
// [53] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL) = SID_CONTROL_NOISE -- _deref_pbuc1=vbuc2
|
|
lda #SID_CONTROL_NOISE
|
|
sta SID+OFFSET_STRUCT_MOS6581_SID_CH3_CONTROL
|
|
// main::@8
|
|
// asm
|
|
// asm { sei }
|
|
sei
|
|
// render_init()
|
|
// [55] call render_init
|
|
// [109] phi from main::@8 to render_init [phi:main::@8->render_init]
|
|
jsr render_init
|
|
// [56] phi from main::@8 to main::@9 [phi:main::@8->main::@9]
|
|
// main::@9
|
|
// sprites_init()
|
|
// [57] call sprites_init
|
|
jsr sprites_init
|
|
// [58] phi from main::@9 to main::@10 [phi:main::@9->main::@10]
|
|
// main::@10
|
|
// sprites_irq_init()
|
|
// [59] call sprites_irq_init
|
|
jsr sprites_irq_init
|
|
// [60] phi from main::@10 to main::@11 [phi:main::@10->main::@11]
|
|
// main::@11
|
|
// play_init()
|
|
// [61] call play_init
|
|
// [155] phi from main::@11 to play_init [phi:main::@11->play_init]
|
|
jsr play_init
|
|
// [62] phi from main::@11 to main::@12 [phi:main::@11->main::@12]
|
|
// main::@12
|
|
// play_spawn_current()
|
|
// [63] call play_spawn_current
|
|
// Spawn twice to spawn both current & next
|
|
// [172] phi from main::@12 to play_spawn_current [phi:main::@12->play_spawn_current]
|
|
// [172] phi game_over#66 = 0 [phi:main::@12->play_spawn_current#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z game_over
|
|
// [172] phi next_piece_idx#18 = 0 [phi:main::@12->play_spawn_current#1] -- vbuz1=vbuc1
|
|
sta.z next_piece_idx
|
|
jsr play_spawn_current
|
|
// [64] phi from main::@12 to main::@13 [phi:main::@12->main::@13]
|
|
// main::@13
|
|
// play_spawn_current()
|
|
// [65] call play_spawn_current
|
|
// [172] phi from main::@13 to play_spawn_current [phi:main::@13->play_spawn_current]
|
|
// [172] phi game_over#66 = game_over#53 [phi:main::@13->play_spawn_current#0] -- register_copy
|
|
// [172] phi next_piece_idx#18 = play_spawn_current::piece_idx#2 [phi:main::@13->play_spawn_current#1] -- register_copy
|
|
jsr play_spawn_current
|
|
// [66] phi from main::@13 to main::@14 [phi:main::@13->main::@14]
|
|
// main::@14
|
|
// render_playfield()
|
|
// [67] call render_playfield
|
|
// [192] phi from main::@14 to render_playfield [phi:main::@14->render_playfield]
|
|
// [192] phi render_screen_render#24 = $20 [phi:main::@14->render_playfield#0] -- vbuxx=vbuc1
|
|
ldx #$20
|
|
jsr render_playfield
|
|
// main::@15
|
|
// [68] current_ypos#97 = current_ypos#5 -- vbuxx=vbuz1
|
|
ldx.z current_ypos
|
|
// [69] current_xpos#118 = current_xpos#100 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z current_xpos_1
|
|
// [70] current_piece_gfx#111 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx_1
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx_1+1
|
|
// [71] current_piece_char#99 = current_piece_char#4 -- vbuz1=vbuz2
|
|
lda.z current_piece_char
|
|
sta.z current_piece_char_1
|
|
// render_moving()
|
|
// [72] call render_moving
|
|
// [206] phi from main::@15 to render_moving [phi:main::@15->render_moving]
|
|
// [206] phi current_piece_char#70 = current_piece_char#99 [phi:main::@15->render_moving#0] -- register_copy
|
|
// [206] phi current_piece_gfx#66 = current_piece_gfx#111 [phi:main::@15->render_moving#1] -- register_copy
|
|
// [206] phi current_xpos#61 = current_xpos#118 [phi:main::@15->render_moving#2] -- register_copy
|
|
// [206] phi render_screen_render#35 = $20 [phi:main::@15->render_moving#3] -- vbuz1=vbuc1
|
|
lda #$20
|
|
sta.z render_screen_render_1
|
|
// [206] phi current_ypos#14 = current_ypos#97 [phi:main::@15->render_moving#4] -- register_copy
|
|
jsr render_moving
|
|
// main::@16
|
|
// [73] next_piece_idx#79 = play_spawn_current::piece_idx#2 -- vbuyy=vbuz1
|
|
ldy.z play_spawn_current.piece_idx
|
|
// render_next()
|
|
// [74] call render_next
|
|
// [228] phi from main::@16 to render_next [phi:main::@16->render_next]
|
|
// [228] phi next_piece_idx#13 = next_piece_idx#79 [phi:main::@16->render_next#0] -- register_copy
|
|
// [228] phi render_screen_render#16 = $20 [phi:main::@16->render_next#1] -- vbuxx=vbuc1
|
|
ldx #$20
|
|
jsr render_next
|
|
// main::@17
|
|
// [75] current_piece#103 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece
|
|
lda PIECES+1,y
|
|
sta.z current_piece+1
|
|
// [76] current_piece_gfx#122 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx+1
|
|
// [77] phi from main::@17 to main::@1 [phi:main::@17->main::@1]
|
|
// [77] phi level_bcd#10 = 0 [phi:main::@17->main::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z level_bcd
|
|
// [77] phi level#25 = 0 [phi:main::@17->main::@1#1] -- vbuz1=vbuc1
|
|
sta.z level
|
|
// [77] phi lines_bcd#20 = 0 [phi:main::@17->main::@1#2] -- vwuz1=vwuc1
|
|
sta.z lines_bcd
|
|
sta.z lines_bcd+1
|
|
// [77] phi current_movedown_counter#17 = 0 [phi:main::@17->main::@1#3] -- vbuz1=vbuc1
|
|
sta.z current_movedown_counter
|
|
// [77] phi keyboard_events_size#20 = 0 [phi:main::@17->main::@1#4] -- vbuz1=vbuc1
|
|
sta.z keyboard_events_size
|
|
// [77] phi next_piece_idx#23 = play_spawn_current::piece_idx#2 [phi:main::@17->main::@1#5] -- register_copy
|
|
// [77] phi game_over#22 = game_over#53 [phi:main::@17->main::@1#6] -- register_copy
|
|
// [77] phi current_ypos#10 = current_ypos#5 [phi:main::@17->main::@1#7] -- register_copy
|
|
// [77] phi current_xpos#13 = current_xpos#100 [phi:main::@17->main::@1#8] -- register_copy
|
|
// [77] phi current_piece_gfx#12 = current_piece_gfx#122 [phi:main::@17->main::@1#9] -- register_copy
|
|
// [77] phi current_orientation#12 = 0 [phi:main::@17->main::@1#10] -- vbuz1=vbuc1
|
|
sta.z current_orientation
|
|
// [77] phi current_piece_char#23 = current_piece_char#4 [phi:main::@17->main::@1#11] -- register_copy
|
|
// [77] phi current_piece#23 = current_piece#103 [phi:main::@17->main::@1#12] -- register_copy
|
|
// [77] phi current_movedown_slow#13 = current_movedown_slow#0 [phi:main::@17->main::@1#13] -- register_copy
|
|
// [77] phi render_screen_render#19 = $20 [phi:main::@17->main::@1#14] -- vbuz1=vbuc1
|
|
lda #$20
|
|
sta.z render_screen_render
|
|
// [77] phi render_screen_show#17 = 0 [phi:main::@17->main::@1#15] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z render_screen_show
|
|
// [77] phi from main::@25 main::@6 to main::@1 [phi:main::@25/main::@6->main::@1]
|
|
// [77] phi level_bcd#10 = level_bcd#18 [phi:main::@25/main::@6->main::@1#0] -- register_copy
|
|
// [77] phi level#25 = level#18 [phi:main::@25/main::@6->main::@1#1] -- register_copy
|
|
// [77] phi lines_bcd#20 = lines_bcd#16 [phi:main::@25/main::@6->main::@1#2] -- register_copy
|
|
// [77] phi current_movedown_counter#17 = current_movedown_counter#15 [phi:main::@25/main::@6->main::@1#3] -- register_copy
|
|
// [77] phi keyboard_events_size#20 = keyboard_events_size#17 [phi:main::@25/main::@6->main::@1#4] -- register_copy
|
|
// [77] phi next_piece_idx#23 = next_piece_idx#17 [phi:main::@25/main::@6->main::@1#5] -- register_copy
|
|
// [77] phi game_over#22 = game_over#16 [phi:main::@25/main::@6->main::@1#6] -- register_copy
|
|
// [77] phi current_ypos#10 = current_ypos#20 [phi:main::@25/main::@6->main::@1#7] -- register_copy
|
|
// [77] phi current_xpos#13 = current_xpos#2 [phi:main::@25/main::@6->main::@1#8] -- register_copy
|
|
// [77] phi current_piece_gfx#12 = current_piece_gfx#19 [phi:main::@25/main::@6->main::@1#9] -- register_copy
|
|
// [77] phi current_orientation#12 = current_orientation#18 [phi:main::@25/main::@6->main::@1#10] -- register_copy
|
|
// [77] phi current_piece_char#23 = current_piece_char#17 [phi:main::@25/main::@6->main::@1#11] -- register_copy
|
|
// [77] phi current_piece#23 = current_piece#16 [phi:main::@25/main::@6->main::@1#12] -- register_copy
|
|
// [77] phi current_movedown_slow#13 = current_movedown_slow#22 [phi:main::@25/main::@6->main::@1#13] -- register_copy
|
|
// [77] phi render_screen_render#19 = render_screen_render#12 [phi:main::@25/main::@6->main::@1#14] -- register_copy
|
|
// [77] phi render_screen_show#17 = render_screen_show#14 [phi:main::@25/main::@6->main::@1#15] -- register_copy
|
|
// main::@1
|
|
__b1:
|
|
// Wait for a frame to pass
|
|
// main::@2
|
|
__b2:
|
|
// while(*RASTER!=0xff)
|
|
// [78] if(*RASTER!=$ff) goto main::@2 -- _deref_pbuc1_neq_vbuc2_then_la1
|
|
lda #$ff
|
|
cmp RASTER
|
|
bne __b2
|
|
// [79] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
|
|
// main::@3
|
|
// render_show()
|
|
// [80] call render_show
|
|
//*BORDER_COLOR = render_screen_show/0x10;
|
|
// Update D018 to show the selected screen
|
|
jsr render_show
|
|
// [81] phi from main::@3 to main::@18 [phi:main::@3->main::@18]
|
|
// main::@18
|
|
// keyboard_event_scan()
|
|
// [82] call keyboard_event_scan
|
|
// Scan keyboard events
|
|
// [258] phi from main::@18 to keyboard_event_scan [phi:main::@18->keyboard_event_scan]
|
|
jsr keyboard_event_scan
|
|
// [83] phi from main::@18 to main::@19 [phi:main::@18->main::@19]
|
|
// main::@19
|
|
// keyboard_event_get()
|
|
// [84] call keyboard_event_get
|
|
jsr keyboard_event_get
|
|
// [85] keyboard_event_get::return#3 = keyboard_event_get::return#2
|
|
// main::@20
|
|
// key_event = keyboard_event_get()
|
|
// [86] main::key_event#0 = keyboard_event_get::return#3 -- vbuxx=vbuaa
|
|
tax
|
|
// if(game_over==0)
|
|
// [87] if(game_over#22==0) goto main::@4 -- vbuz1_eq_0_then_la1
|
|
lda.z game_over
|
|
cmp #0
|
|
beq __b4
|
|
// main::@5
|
|
__b5:
|
|
// (*BORDER_COLOR)++;
|
|
// [88] *BORDER_COLOR = ++ *BORDER_COLOR -- _deref_pbuc1=_inc__deref_pbuc1
|
|
inc BORDER_COLOR
|
|
jmp __b5
|
|
// main::@4
|
|
__b4:
|
|
// play_movement(key_event)
|
|
// [89] play_movement::key_event#0 = main::key_event#0 -- vbuz1=vbuxx
|
|
stx.z play_movement.key_event
|
|
// [90] call play_movement
|
|
jsr play_movement
|
|
// [91] play_movement::return#3 = play_movement::return#2 -- vbuaa=vbuz1
|
|
lda.z play_movement.return
|
|
// main::@21
|
|
// render = play_movement(key_event)
|
|
// [92] main::render#1 = play_movement::return#3
|
|
// main::@6
|
|
// if(render!=0)
|
|
// [93] if(main::render#1==0) goto main::@1 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b1
|
|
// main::@7
|
|
// [94] render_screen_render#63 = render_screen_render#19 -- vbuxx=vbuz1
|
|
ldx.z render_screen_render
|
|
// render_playfield()
|
|
// [95] call render_playfield
|
|
// [192] phi from main::@7 to render_playfield [phi:main::@7->render_playfield]
|
|
// [192] phi render_screen_render#24 = render_screen_render#63 [phi:main::@7->render_playfield#0] -- register_copy
|
|
jsr render_playfield
|
|
// main::@22
|
|
// [96] current_ypos#98 = current_ypos#20 -- vbuxx=vbuz1
|
|
ldx.z current_ypos
|
|
// [97] render_screen_render#64 = render_screen_render#19 -- vbuz1=vbuz2
|
|
lda.z render_screen_render
|
|
sta.z render_screen_render_1
|
|
// [98] current_xpos#119 = current_xpos#2 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z current_xpos_1
|
|
// [99] current_piece_gfx#112 = current_piece_gfx#19 -- pbuz1=pbuz2
|
|
lda.z current_piece_gfx
|
|
sta.z current_piece_gfx_1
|
|
lda.z current_piece_gfx+1
|
|
sta.z current_piece_gfx_1+1
|
|
// [100] current_piece_char#100 = current_piece_char#17 -- vbuz1=vbuz2
|
|
lda.z current_piece_char
|
|
sta.z current_piece_char_1
|
|
// render_moving()
|
|
// [101] call render_moving
|
|
// [206] phi from main::@22 to render_moving [phi:main::@22->render_moving]
|
|
// [206] phi current_piece_char#70 = current_piece_char#100 [phi:main::@22->render_moving#0] -- register_copy
|
|
// [206] phi current_piece_gfx#66 = current_piece_gfx#112 [phi:main::@22->render_moving#1] -- register_copy
|
|
// [206] phi current_xpos#61 = current_xpos#119 [phi:main::@22->render_moving#2] -- register_copy
|
|
// [206] phi render_screen_render#35 = render_screen_render#64 [phi:main::@22->render_moving#3] -- register_copy
|
|
// [206] phi current_ypos#14 = current_ypos#98 [phi:main::@22->render_moving#4] -- register_copy
|
|
jsr render_moving
|
|
// main::@23
|
|
// [102] render_screen_render#65 = render_screen_render#19 -- vbuxx=vbuz1
|
|
ldx.z render_screen_render
|
|
// [103] next_piece_idx#80 = next_piece_idx#17 -- vbuyy=vbuz1
|
|
ldy.z next_piece_idx
|
|
// render_next()
|
|
// [104] call render_next
|
|
// [228] phi from main::@23 to render_next [phi:main::@23->render_next]
|
|
// [228] phi next_piece_idx#13 = next_piece_idx#80 [phi:main::@23->render_next#0] -- register_copy
|
|
// [228] phi render_screen_render#16 = render_screen_render#65 [phi:main::@23->render_next#1] -- register_copy
|
|
jsr render_next
|
|
// [105] phi from main::@23 to main::@24 [phi:main::@23->main::@24]
|
|
// main::@24
|
|
// render_score()
|
|
// [106] call render_score
|
|
jsr render_score
|
|
// [107] phi from main::@24 to main::@25 [phi:main::@24->main::@25]
|
|
// main::@25
|
|
// render_screen_swap()
|
|
// [108] call render_screen_swap
|
|
jsr render_screen_swap
|
|
jmp __b1
|
|
}
|
|
// render_init
|
|
// Initialize rendering
|
|
render_init: {
|
|
.const vicSelectGfxBank1_toDd001_return = 3^(>PLAYFIELD_CHARSET)/$40
|
|
// Initialize the screen line pointers;
|
|
.label li_1 = $c
|
|
.label li_2 = $36
|
|
// render_init::vicSelectGfxBank1
|
|
// CIA2->PORT_A_DDR = %00000011
|
|
// [110] *((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR) = 3 -- _deref_pbuc1=vbuc2
|
|
lda #3
|
|
sta CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A_DDR
|
|
// [111] phi from render_init::vicSelectGfxBank1 to render_init::vicSelectGfxBank1_toDd001 [phi:render_init::vicSelectGfxBank1->render_init::vicSelectGfxBank1_toDd001]
|
|
// render_init::vicSelectGfxBank1_toDd001
|
|
// render_init::vicSelectGfxBank1_@1
|
|
// CIA2->PORT_A = toDd00(gfx)
|
|
// [112] *((byte*)CIA2) = render_init::vicSelectGfxBank1_toDd001_return#0 -- _deref_pbuc1=vbuc2
|
|
lda #vicSelectGfxBank1_toDd001_return
|
|
sta CIA2
|
|
// render_init::@2
|
|
// *D011 = VICII_ECM | VICII_DEN | VICII_RSEL | 3
|
|
// [113] *D011 = VICII_ECM|VICII_DEN|VICII_RSEL|3 -- _deref_pbuc1=vbuc2
|
|
// Enable Extended Background Color Mode
|
|
lda #VICII_ECM|VICII_DEN|VICII_RSEL|3
|
|
sta D011
|
|
// *BORDER_COLOR = BLACK
|
|
// [114] *BORDER_COLOR = BLACK -- _deref_pbuc1=vbuc2
|
|
lda #BLACK
|
|
sta BORDER_COLOR
|
|
// *BG_COLOR = BLACK
|
|
// [115] *BG_COLOR = BLACK -- _deref_pbuc1=vbuc2
|
|
sta BG_COLOR
|
|
// *BG_COLOR1 = PIECES_COLORS_1[0]
|
|
// [116] *BG_COLOR1 = *PIECES_COLORS_1 -- _deref_pbuc1=_deref_pbuc2
|
|
lda PIECES_COLORS_1
|
|
sta BG_COLOR1
|
|
// *BG_COLOR2 = PIECES_COLORS_2[0]
|
|
// [117] *BG_COLOR2 = *PIECES_COLORS_2 -- _deref_pbuc1=_deref_pbuc2
|
|
lda PIECES_COLORS_2
|
|
sta BG_COLOR2
|
|
// *BG_COLOR3 = GREY
|
|
// [118] *BG_COLOR3 = GREY -- _deref_pbuc1=vbuc2
|
|
lda #GREY
|
|
sta BG_COLOR3
|
|
// render_screen_original(PLAYFIELD_SCREEN_1)
|
|
// [119] call render_screen_original
|
|
// Setup chars on the screens
|
|
// [358] phi from render_init::@2 to render_screen_original [phi:render_init::@2->render_screen_original]
|
|
// [358] phi render_screen_original::screen#9 = PLAYFIELD_SCREEN_1 [phi:render_init::@2->render_screen_original#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1
|
|
sta.z render_screen_original.screen
|
|
lda #>PLAYFIELD_SCREEN_1
|
|
sta.z render_screen_original.screen+1
|
|
jsr render_screen_original
|
|
// [120] phi from render_init::@2 to render_init::@3 [phi:render_init::@2->render_init::@3]
|
|
// render_init::@3
|
|
// render_screen_original(PLAYFIELD_SCREEN_2)
|
|
// [121] call render_screen_original
|
|
// [358] phi from render_init::@3 to render_screen_original [phi:render_init::@3->render_screen_original]
|
|
// [358] phi render_screen_original::screen#9 = PLAYFIELD_SCREEN_2 [phi:render_init::@3->render_screen_original#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2
|
|
sta.z render_screen_original.screen
|
|
lda #>PLAYFIELD_SCREEN_2
|
|
sta.z render_screen_original.screen+1
|
|
jsr render_screen_original
|
|
// [122] phi from render_init::@3 to render_init::@1 [phi:render_init::@3->render_init::@1]
|
|
// [122] phi render_init::li_2#2 = PLAYFIELD_SCREEN_2+2*$28+$10 [phi:render_init::@3->render_init::@1#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2+2*$28+$10
|
|
sta.z li_2
|
|
lda #>PLAYFIELD_SCREEN_2+2*$28+$10
|
|
sta.z li_2+1
|
|
// [122] phi render_init::li_1#2 = PLAYFIELD_SCREEN_1+2*$28+$10 [phi:render_init::@3->render_init::@1#1] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1+2*$28+$10
|
|
sta.z li_1
|
|
lda #>PLAYFIELD_SCREEN_1+2*$28+$10
|
|
sta.z li_1+1
|
|
// [122] phi render_init::i#2 = 0 [phi:render_init::@3->render_init::@1#2] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [122] phi from render_init::@1 to render_init::@1 [phi:render_init::@1->render_init::@1]
|
|
// [122] phi render_init::li_2#2 = render_init::li_2#1 [phi:render_init::@1->render_init::@1#0] -- register_copy
|
|
// [122] phi render_init::li_1#2 = render_init::li_1#1 [phi:render_init::@1->render_init::@1#1] -- register_copy
|
|
// [122] phi render_init::i#2 = render_init::i#1 [phi:render_init::@1->render_init::@1#2] -- register_copy
|
|
// render_init::@1
|
|
__b1:
|
|
// screen_lines_1[i] = li_1
|
|
// [123] render_init::$5 = render_init::i#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [124] screen_lines_1[render_init::$5] = render_init::li_1#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z li_1
|
|
sta screen_lines_1,x
|
|
lda.z li_1+1
|
|
sta screen_lines_1+1,x
|
|
// screen_lines_2[i] = li_2
|
|
// [125] screen_lines_2[render_init::$5] = render_init::li_2#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z li_2
|
|
sta screen_lines_2,x
|
|
lda.z li_2+1
|
|
sta screen_lines_2+1,x
|
|
// li_1 += 40
|
|
// [126] render_init::li_1#1 = render_init::li_1#2 + $28 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$28
|
|
clc
|
|
adc.z li_1
|
|
sta.z li_1
|
|
bcc !+
|
|
inc.z li_1+1
|
|
!:
|
|
// li_2 += 40
|
|
// [127] render_init::li_2#1 = render_init::li_2#2 + $28 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$28
|
|
clc
|
|
adc.z li_2
|
|
sta.z li_2
|
|
bcc !+
|
|
inc.z li_2+1
|
|
!:
|
|
// for(char i:0..PLAYFIELD_LINES-1)
|
|
// [128] render_init::i#1 = ++ render_init::i#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [129] if(render_init::i#1!=PLAYFIELD_LINES-1+1) goto render_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #PLAYFIELD_LINES-1+1
|
|
bne __b1
|
|
// render_init::@return
|
|
// }
|
|
// [130] return
|
|
rts
|
|
}
|
|
// sprites_init
|
|
// Setup the sprites
|
|
sprites_init: {
|
|
.label xpos = $22
|
|
// *SPRITES_ENABLE = %00001111
|
|
// [131] *SPRITES_ENABLE = $f -- _deref_pbuc1=vbuc2
|
|
lda #$f
|
|
sta SPRITES_ENABLE
|
|
// *SPRITES_MC = 0
|
|
// [132] *SPRITES_MC = 0 -- _deref_pbuc1=vbuc2
|
|
lda #0
|
|
sta SPRITES_MC
|
|
// *SPRITES_EXPAND_Y = *SPRITES_MC = 0
|
|
// [133] *SPRITES_EXPAND_Y = *SPRITES_MC -- _deref_pbuc1=_deref_pbuc2
|
|
sta SPRITES_EXPAND_Y
|
|
// *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y = *SPRITES_MC = 0
|
|
// [134] *SPRITES_EXPAND_X = *SPRITES_EXPAND_Y -- _deref_pbuc1=_deref_pbuc2
|
|
sta SPRITES_EXPAND_X
|
|
// [135] phi from sprites_init to sprites_init::@1 [phi:sprites_init->sprites_init::@1]
|
|
// [135] phi sprites_init::xpos#2 = $18+$f*8 [phi:sprites_init->sprites_init::@1#0] -- vbuz1=vbuc1
|
|
lda #$18+$f*8
|
|
sta.z xpos
|
|
// [135] phi sprites_init::s#2 = 0 [phi:sprites_init->sprites_init::@1#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [135] phi from sprites_init::@1 to sprites_init::@1 [phi:sprites_init::@1->sprites_init::@1]
|
|
// [135] phi sprites_init::xpos#2 = sprites_init::xpos#1 [phi:sprites_init::@1->sprites_init::@1#0] -- register_copy
|
|
// [135] phi sprites_init::s#2 = sprites_init::s#1 [phi:sprites_init::@1->sprites_init::@1#1] -- register_copy
|
|
// sprites_init::@1
|
|
__b1:
|
|
// s2 = s*2
|
|
// [136] sprites_init::s2#0 = sprites_init::s#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// SPRITES_XPOS[s2] = xpos
|
|
// [137] SPRITES_XPOS[sprites_init::s2#0] = sprites_init::xpos#2 -- pbuc1_derefidx_vbuxx=vbuz1
|
|
lda.z xpos
|
|
sta SPRITES_XPOS,x
|
|
// SPRITES_COLOR[s] = BLACK
|
|
// [138] SPRITES_COLOR[sprites_init::s#2] = BLACK -- pbuc1_derefidx_vbuyy=vbuc2
|
|
lda #BLACK
|
|
sta SPRITES_COLOR,y
|
|
// xpos = xpos+24
|
|
// [139] sprites_init::xpos#1 = sprites_init::xpos#2 + $18 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z xpos
|
|
axs #-[$18]
|
|
stx.z xpos
|
|
// for(char s:0..3)
|
|
// [140] sprites_init::s#1 = ++ sprites_init::s#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [141] if(sprites_init::s#1!=4) goto sprites_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #4
|
|
bne __b1
|
|
// sprites_init::@return
|
|
// }
|
|
// [142] return
|
|
rts
|
|
}
|
|
// sprites_irq_init
|
|
// Setup the IRQ
|
|
sprites_irq_init: {
|
|
// asm
|
|
// asm { sei }
|
|
sei
|
|
// *IRQ_STATUS = IRQ_RASTER
|
|
// [144] *IRQ_STATUS = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Acknowledge any IRQ and setup the next one
|
|
lda #IRQ_RASTER
|
|
sta IRQ_STATUS
|
|
// asm
|
|
// asm { ldaCIA1_INTERRUPT }
|
|
lda CIA1_INTERRUPT
|
|
// *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK
|
|
// [146] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK -- _deref_pbuc1=vbuc2
|
|
// Disable kernal & basic
|
|
lda #PROCPORT_DDR_MEMORY_MASK
|
|
sta PROCPORT_DDR
|
|
// *PROCPORT = PROCPORT_RAM_IO
|
|
// [147] *PROCPORT = PROCPORT_RAM_IO -- _deref_pbuc1=vbuc2
|
|
lda #PROCPORT_RAM_IO
|
|
sta PROCPORT
|
|
// CIA1->INTERRUPT = CIA_INTERRUPT_CLEAR
|
|
// [148] *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT) = CIA_INTERRUPT_CLEAR -- _deref_pbuc1=vbuc2
|
|
// Disable CIA 1 Timer IRQ
|
|
lda #CIA_INTERRUPT_CLEAR
|
|
sta CIA1+OFFSET_STRUCT_MOS6526_CIA_INTERRUPT
|
|
// *VICII_CONTROL &=0x7f
|
|
// [149] *VICII_CONTROL = *VICII_CONTROL & $7f -- _deref_pbuc1=_deref_pbuc1_band_vbuc2
|
|
// Set raster line
|
|
lda #$7f
|
|
and VICII_CONTROL
|
|
sta VICII_CONTROL
|
|
// *RASTER = IRQ_RASTER_FIRST
|
|
// [150] *RASTER = IRQ_RASTER_FIRST -- _deref_pbuc1=vbuc2
|
|
lda #IRQ_RASTER_FIRST
|
|
sta RASTER
|
|
// *IRQ_ENABLE = IRQ_RASTER
|
|
// [151] *IRQ_ENABLE = IRQ_RASTER -- _deref_pbuc1=vbuc2
|
|
// Enable Raster Interrupt
|
|
lda #IRQ_RASTER
|
|
sta IRQ_ENABLE
|
|
// *HARDWARE_IRQ = &sprites_irq
|
|
// [152] *HARDWARE_IRQ = &sprites_irq -- _deref_qprc1=pprc2
|
|
// Set the IRQ routine
|
|
lda #<sprites_irq
|
|
sta HARDWARE_IRQ
|
|
lda #>sprites_irq
|
|
sta HARDWARE_IRQ+1
|
|
// asm
|
|
// asm { cli }
|
|
cli
|
|
// sprites_irq_init::@return
|
|
// }
|
|
// [154] return
|
|
rts
|
|
}
|
|
// play_init
|
|
// Initialize play data tables
|
|
play_init: {
|
|
.label pli = $c
|
|
// Initialize the playfield line pointers;
|
|
.label idx = $22
|
|
// [156] phi from play_init to play_init::@1 [phi:play_init->play_init::@1]
|
|
// [156] phi play_init::idx#2 = 0 [phi:play_init->play_init::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z idx
|
|
// [156] phi play_init::pli#2 = playfield [phi:play_init->play_init::@1#1] -- pbuz1=pbuc1
|
|
lda #<playfield
|
|
sta.z pli
|
|
lda #>playfield
|
|
sta.z pli+1
|
|
// [156] phi play_init::j#2 = 0 [phi:play_init->play_init::@1#2] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [156] phi from play_init::@1 to play_init::@1 [phi:play_init::@1->play_init::@1]
|
|
// [156] phi play_init::idx#2 = play_init::idx#1 [phi:play_init::@1->play_init::@1#0] -- register_copy
|
|
// [156] phi play_init::pli#2 = play_init::pli#1 [phi:play_init::@1->play_init::@1#1] -- register_copy
|
|
// [156] phi play_init::j#2 = play_init::j#1 [phi:play_init::@1->play_init::@1#2] -- register_copy
|
|
// play_init::@1
|
|
__b1:
|
|
// playfield_lines[j] = pli
|
|
// [157] play_init::$2 = play_init::j#2 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// [158] playfield_lines[play_init::$2] = play_init::pli#2 -- qbuc1_derefidx_vbuxx=pbuz1
|
|
lda.z pli
|
|
sta playfield_lines,x
|
|
lda.z pli+1
|
|
sta playfield_lines+1,x
|
|
// playfield_lines_idx[j] = idx
|
|
// [159] playfield_lines_idx[play_init::j#2] = play_init::idx#2 -- pbuc1_derefidx_vbuyy=vbuz1
|
|
lda.z idx
|
|
sta playfield_lines_idx,y
|
|
// pli += PLAYFIELD_COLS
|
|
// [160] play_init::pli#1 = play_init::pli#2 + PLAYFIELD_COLS -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #PLAYFIELD_COLS
|
|
clc
|
|
adc.z pli
|
|
sta.z pli
|
|
bcc !+
|
|
inc.z pli+1
|
|
!:
|
|
// idx += PLAYFIELD_COLS
|
|
// [161] play_init::idx#1 = play_init::idx#2 + PLAYFIELD_COLS -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z idx
|
|
axs #-[PLAYFIELD_COLS]
|
|
stx.z idx
|
|
// for(char j:0..PLAYFIELD_LINES-1)
|
|
// [162] play_init::j#1 = ++ play_init::j#2 -- vbuyy=_inc_vbuyy
|
|
iny
|
|
// [163] if(play_init::j#1!=PLAYFIELD_LINES-1+1) goto play_init::@1 -- vbuyy_neq_vbuc1_then_la1
|
|
cpy #PLAYFIELD_LINES-1+1
|
|
bne __b1
|
|
// play_init::@2
|
|
// playfield_lines_idx[PLAYFIELD_LINES] = PLAYFIELD_COLS*PLAYFIELD_LINES
|
|
// [164] *(playfield_lines_idx+PLAYFIELD_LINES) = PLAYFIELD_COLS*PLAYFIELD_LINES -- _deref_pbuc1=vbuc2
|
|
lda #PLAYFIELD_COLS*PLAYFIELD_LINES
|
|
sta playfield_lines_idx+PLAYFIELD_LINES
|
|
// current_movedown_slow = MOVEDOWN_SLOW_SPEEDS[level]
|
|
// [165] current_movedown_slow#0 = *MOVEDOWN_SLOW_SPEEDS -- vbuz1=_deref_pbuc1
|
|
// Set initial speed of moving down a tetromino
|
|
lda MOVEDOWN_SLOW_SPEEDS
|
|
sta.z current_movedown_slow
|
|
// [166] phi from play_init::@2 to play_init::@3 [phi:play_init::@2->play_init::@3]
|
|
// [166] phi play_init::b#2 = 0 [phi:play_init::@2->play_init::@3#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// Set the initial score add values
|
|
// [166] phi from play_init::@3 to play_init::@3 [phi:play_init::@3->play_init::@3]
|
|
// [166] phi play_init::b#2 = play_init::b#1 [phi:play_init::@3->play_init::@3#0] -- register_copy
|
|
// play_init::@3
|
|
__b3:
|
|
// score_add_bcd[b] = SCORE_BASE_BCD[b]
|
|
// [167] play_init::$3 = play_init::b#2 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [168] score_add_bcd[play_init::$3] = SCORE_BASE_BCD[play_init::$3] -- pduc1_derefidx_vbuaa=pduc2_derefidx_vbuaa
|
|
tay
|
|
lda SCORE_BASE_BCD,y
|
|
sta score_add_bcd,y
|
|
lda SCORE_BASE_BCD+1,y
|
|
sta score_add_bcd+1,y
|
|
lda SCORE_BASE_BCD+2,y
|
|
sta score_add_bcd+2,y
|
|
lda SCORE_BASE_BCD+3,y
|
|
sta score_add_bcd+3,y
|
|
// for(char b: 0..4)
|
|
// [169] play_init::b#1 = ++ play_init::b#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [170] if(play_init::b#1!=5) goto play_init::@3 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #5
|
|
bne __b3
|
|
// play_init::@return
|
|
// }
|
|
// [171] return
|
|
rts
|
|
}
|
|
// play_spawn_current
|
|
// Spawn a new piece
|
|
// Moves the next piece into the current and spawns a new next piece
|
|
play_spawn_current: {
|
|
.label __7 = $2f
|
|
// Spawn a new next piece
|
|
// Pick a random piece (0-6)
|
|
.label piece_idx = $1f
|
|
// current_piece_idx = next_piece_idx
|
|
// [173] play_spawn_current::current_piece_idx#0 = next_piece_idx#18 -- vbuxx=vbuz1
|
|
// Move next piece into current
|
|
ldx.z next_piece_idx
|
|
// current_piece = PIECES[current_piece_idx]
|
|
// [174] play_spawn_current::$7 = play_spawn_current::current_piece_idx#0 << 1 -- vbuz1=vbuxx_rol_1
|
|
txa
|
|
asl
|
|
sta.z __7
|
|
// current_piece_char = PIECES_CHARS[current_piece_idx]
|
|
// [175] current_piece_char#4 = PIECES_CHARS[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_CHARS,x
|
|
sta.z current_piece_char
|
|
// current_xpos = PIECES_START_X[current_piece_idx]
|
|
// [176] current_xpos#100 = PIECES_START_X[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_START_X,x
|
|
sta.z current_xpos
|
|
// current_ypos = PIECES_START_Y[current_piece_idx]
|
|
// [177] current_ypos#5 = PIECES_START_Y[play_spawn_current::current_piece_idx#0] -- vbuz1=pbuc1_derefidx_vbuxx
|
|
lda PIECES_START_Y,x
|
|
sta.z current_ypos
|
|
// play_collision(current_xpos,current_ypos,current_orientation)
|
|
// [178] play_collision::xpos#4 = current_xpos#100 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [179] play_collision::ypos#4 = current_ypos#5 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [180] current_piece#102 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z __7
|
|
lda PIECES,y
|
|
sta.z current_piece_1
|
|
lda PIECES+1,y
|
|
sta.z current_piece_1+1
|
|
// play_collision(current_xpos,current_ypos,current_orientation)
|
|
// [181] call play_collision
|
|
// [386] phi from play_spawn_current to play_collision [phi:play_spawn_current->play_collision]
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#4 [phi:play_spawn_current->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#4 [phi:play_spawn_current->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = 0 [phi:play_spawn_current->play_collision#2] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [386] phi current_piece#18 = current_piece#102 [phi:play_spawn_current->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// play_collision(current_xpos,current_ypos,current_orientation)
|
|
// [182] play_collision::return#10 = play_collision::return#15
|
|
// play_spawn_current::@4
|
|
// [183] play_spawn_current::$1 = play_collision::return#10
|
|
// if(play_collision(current_xpos,current_ypos,current_orientation)==COLLISION_PLAYFIELD)
|
|
// [184] if(play_spawn_current::$1!=COLLISION_PLAYFIELD) goto play_spawn_current::@5 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_PLAYFIELD
|
|
bne __b1
|
|
// [186] phi from play_spawn_current::@4 to play_spawn_current::@1 [phi:play_spawn_current::@4->play_spawn_current::@1]
|
|
// [186] phi game_over#53 = 1 [phi:play_spawn_current::@4->play_spawn_current::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z game_over
|
|
// [185] phi from play_spawn_current::@4 to play_spawn_current::@5 [phi:play_spawn_current::@4->play_spawn_current::@5]
|
|
// play_spawn_current::@5
|
|
// [186] phi from play_spawn_current::@5 to play_spawn_current::@1 [phi:play_spawn_current::@5->play_spawn_current::@1]
|
|
// [186] phi game_over#53 = game_over#66 [phi:play_spawn_current::@5->play_spawn_current::@1#0] -- register_copy
|
|
// play_spawn_current::@1
|
|
__b1:
|
|
// [187] phi from play_spawn_current::@1 to play_spawn_current::@2 [phi:play_spawn_current::@1->play_spawn_current::@2]
|
|
// [187] phi play_spawn_current::piece_idx#2 = 7 [phi:play_spawn_current::@1->play_spawn_current::@2#0] -- vbuz1=vbuc1
|
|
lda #7
|
|
sta.z piece_idx
|
|
// play_spawn_current::@2
|
|
__b2:
|
|
// while(piece_idx==7)
|
|
// [188] if(play_spawn_current::piece_idx#2==7) goto play_spawn_current::sid_rnd1 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #7
|
|
cmp.z piece_idx
|
|
beq sid_rnd1
|
|
// play_spawn_current::@return
|
|
// }
|
|
// [189] return
|
|
rts
|
|
// play_spawn_current::sid_rnd1
|
|
sid_rnd1:
|
|
// return SID->CH3_OSC;
|
|
// [190] play_spawn_current::sid_rnd1_return#0 = *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC) -- vbuaa=_deref_pbuc1
|
|
lda SID+OFFSET_STRUCT_MOS6581_SID_CH3_OSC
|
|
// play_spawn_current::@3
|
|
// piece_idx = sid_rnd()&7
|
|
// [191] play_spawn_current::piece_idx#1 = play_spawn_current::sid_rnd1_return#0 & 7 -- vbuz1=vbuaa_band_vbuc1
|
|
and #7
|
|
sta.z piece_idx
|
|
// [187] phi from play_spawn_current::@3 to play_spawn_current::@2 [phi:play_spawn_current::@3->play_spawn_current::@2]
|
|
// [187] phi play_spawn_current::piece_idx#2 = play_spawn_current::piece_idx#1 [phi:play_spawn_current::@3->play_spawn_current::@2#0] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// render_playfield
|
|
// Render the static playfield on the screen (all pieces already locked into place)
|
|
render_playfield: {
|
|
.label screen_line = $36
|
|
// Do not render the top 2 lines.
|
|
.label i = $b
|
|
.label c = $23
|
|
.label l = $22
|
|
// [193] phi from render_playfield to render_playfield::@1 [phi:render_playfield->render_playfield::@1]
|
|
// [193] phi render_playfield::i#3 = PLAYFIELD_COLS*2 [phi:render_playfield->render_playfield::@1#0] -- vbuz1=vbuc1
|
|
lda #PLAYFIELD_COLS*2
|
|
sta.z i
|
|
// [193] phi render_playfield::l#2 = 2 [phi:render_playfield->render_playfield::@1#1] -- vbuz1=vbuc1
|
|
lda #2
|
|
sta.z l
|
|
// [193] phi from render_playfield::@3 to render_playfield::@1 [phi:render_playfield::@3->render_playfield::@1]
|
|
// [193] phi render_playfield::i#3 = render_playfield::i#1 [phi:render_playfield::@3->render_playfield::@1#0] -- register_copy
|
|
// [193] phi render_playfield::l#2 = render_playfield::l#1 [phi:render_playfield::@3->render_playfield::@1#1] -- register_copy
|
|
// render_playfield::@1
|
|
__b1:
|
|
// render_screen_render+l
|
|
// [194] render_playfield::$0 = render_screen_render#24 + render_playfield::l#2 -- vbuaa=vbuxx_plus_vbuz1
|
|
txa
|
|
clc
|
|
adc.z l
|
|
// screen_line = screen_lines_1[render_screen_render+l]
|
|
// [195] render_playfield::$3 = render_playfield::$0 << 1 -- vbuaa=vbuaa_rol_1
|
|
asl
|
|
// [196] render_playfield::screen_line#0 = screen_lines_1[render_playfield::$3] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda screen_lines_1,y
|
|
sta.z screen_line
|
|
lda screen_lines_1+1,y
|
|
sta.z screen_line+1
|
|
// [197] phi from render_playfield::@1 to render_playfield::@2 [phi:render_playfield::@1->render_playfield::@2]
|
|
// [197] phi render_playfield::c#2 = 0 [phi:render_playfield::@1->render_playfield::@2#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z c
|
|
// [197] phi render_playfield::screen_line#2 = render_playfield::screen_line#0 [phi:render_playfield::@1->render_playfield::@2#1] -- register_copy
|
|
// [197] phi render_playfield::i#2 = render_playfield::i#3 [phi:render_playfield::@1->render_playfield::@2#2] -- register_copy
|
|
// [197] phi from render_playfield::@2 to render_playfield::@2 [phi:render_playfield::@2->render_playfield::@2]
|
|
// [197] phi render_playfield::c#2 = render_playfield::c#1 [phi:render_playfield::@2->render_playfield::@2#0] -- register_copy
|
|
// [197] phi render_playfield::screen_line#2 = render_playfield::screen_line#1 [phi:render_playfield::@2->render_playfield::@2#1] -- register_copy
|
|
// [197] phi render_playfield::i#2 = render_playfield::i#1 [phi:render_playfield::@2->render_playfield::@2#2] -- register_copy
|
|
// render_playfield::@2
|
|
__b2:
|
|
// *(screen_line++) = playfield[i++]
|
|
// [198] *render_playfield::screen_line#2 = playfield[render_playfield::i#2] -- _deref_pbuz1=pbuc1_derefidx_vbuz2
|
|
ldy.z i
|
|
lda playfield,y
|
|
ldy #0
|
|
sta (screen_line),y
|
|
// *(screen_line++) = playfield[i++];
|
|
// [199] render_playfield::screen_line#1 = ++ render_playfield::screen_line#2 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_line
|
|
bne !+
|
|
inc.z screen_line+1
|
|
!:
|
|
// [200] render_playfield::i#1 = ++ render_playfield::i#2 -- vbuz1=_inc_vbuz1
|
|
inc.z i
|
|
// for(char c:0..PLAYFIELD_COLS-1)
|
|
// [201] render_playfield::c#1 = ++ render_playfield::c#2 -- vbuz1=_inc_vbuz1
|
|
inc.z c
|
|
// [202] if(render_playfield::c#1!=PLAYFIELD_COLS-1+1) goto render_playfield::@2 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_COLS-1+1
|
|
cmp.z c
|
|
bne __b2
|
|
// render_playfield::@3
|
|
// for(char l:2..PLAYFIELD_LINES-1)
|
|
// [203] render_playfield::l#1 = ++ render_playfield::l#2 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [204] if(render_playfield::l#1!=PLAYFIELD_LINES-1+1) goto render_playfield::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_LINES-1+1
|
|
cmp.z l
|
|
bne __b1
|
|
// render_playfield::@return
|
|
// }
|
|
// [205] return
|
|
rts
|
|
}
|
|
// render_moving
|
|
// Render the current moving piece at position (current_xpos, current_ypos)
|
|
// Ignores cases where parts of the tetromino is outside the playfield (sides/bottom) since the movement collision routine prevents this.
|
|
render_moving: {
|
|
.label ypos = $22
|
|
.label screen_line = $30
|
|
.label xpos = $10
|
|
.label i = $23
|
|
.label l = $b
|
|
// ypos = current_ypos
|
|
// [207] render_moving::ypos#0 = current_ypos#14 -- vbuz1=vbuxx
|
|
stx.z ypos
|
|
// [208] phi from render_moving to render_moving::@1 [phi:render_moving->render_moving::@1]
|
|
// [208] phi render_moving::l#4 = 0 [phi:render_moving->render_moving::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [208] phi render_moving::i#3 = 0 [phi:render_moving->render_moving::@1#1] -- vbuz1=vbuc1
|
|
sta.z i
|
|
// [208] phi render_moving::ypos#2 = render_moving::ypos#0 [phi:render_moving->render_moving::@1#2] -- register_copy
|
|
// [208] phi from render_moving::@3 to render_moving::@1 [phi:render_moving::@3->render_moving::@1]
|
|
// [208] phi render_moving::l#4 = render_moving::l#1 [phi:render_moving::@3->render_moving::@1#0] -- register_copy
|
|
// [208] phi render_moving::i#3 = render_moving::i#8 [phi:render_moving::@3->render_moving::@1#1] -- register_copy
|
|
// [208] phi render_moving::ypos#2 = render_moving::ypos#1 [phi:render_moving::@3->render_moving::@1#2] -- register_copy
|
|
// render_moving::@1
|
|
__b1:
|
|
// if(ypos>1)
|
|
// [209] if(render_moving::ypos#2>=1+1) goto render_moving::@2 -- vbuz1_ge_vbuc1_then_la1
|
|
lda.z ypos
|
|
cmp #1+1
|
|
bcs __b2
|
|
// render_moving::@7
|
|
// i += 4
|
|
// [210] render_moving::i#1 = render_moving::i#3 + 4 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z i
|
|
axs #-[4]
|
|
stx.z i
|
|
// [211] phi from render_moving::@5 render_moving::@7 to render_moving::@3 [phi:render_moving::@5/render_moving::@7->render_moving::@3]
|
|
// [211] phi render_moving::i#8 = render_moving::i#2 [phi:render_moving::@5/render_moving::@7->render_moving::@3#0] -- register_copy
|
|
// render_moving::@3
|
|
__b3:
|
|
// ypos++;
|
|
// [212] render_moving::ypos#1 = ++ render_moving::ypos#2 -- vbuz1=_inc_vbuz1
|
|
inc.z ypos
|
|
// for(char l:0..3)
|
|
// [213] render_moving::l#1 = ++ render_moving::l#4 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [214] if(render_moving::l#1!=4) goto render_moving::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b1
|
|
// render_moving::@return
|
|
// }
|
|
// [215] return
|
|
rts
|
|
// render_moving::@2
|
|
__b2:
|
|
// render_screen_render+ypos
|
|
// [216] render_moving::$1 = render_screen_render#35 + render_moving::ypos#2 -- vbuaa=vbuz1_plus_vbuz2
|
|
lda.z render_screen_render_1
|
|
clc
|
|
adc.z ypos
|
|
// screen_line = screen_lines_1[render_screen_render+ypos]
|
|
// [217] render_moving::$6 = render_moving::$1 << 1 -- vbuaa=vbuaa_rol_1
|
|
asl
|
|
// [218] render_moving::screen_line#0 = screen_lines_1[render_moving::$6] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda screen_lines_1,y
|
|
sta.z screen_line
|
|
lda screen_lines_1+1,y
|
|
sta.z screen_line+1
|
|
// xpos = current_xpos
|
|
// [219] render_moving::xpos#0 = current_xpos#61 -- vbuz1=vbuz2
|
|
lda.z current_xpos_1
|
|
sta.z xpos
|
|
// [220] phi from render_moving::@2 to render_moving::@4 [phi:render_moving::@2->render_moving::@4]
|
|
// [220] phi render_moving::c#2 = 0 [phi:render_moving::@2->render_moving::@4#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [220] phi render_moving::xpos#2 = render_moving::xpos#0 [phi:render_moving::@2->render_moving::@4#1] -- register_copy
|
|
// [220] phi render_moving::i#4 = render_moving::i#3 [phi:render_moving::@2->render_moving::@4#2] -- register_copy
|
|
// [220] phi from render_moving::@5 to render_moving::@4 [phi:render_moving::@5->render_moving::@4]
|
|
// [220] phi render_moving::c#2 = render_moving::c#1 [phi:render_moving::@5->render_moving::@4#0] -- register_copy
|
|
// [220] phi render_moving::xpos#2 = render_moving::xpos#1 [phi:render_moving::@5->render_moving::@4#1] -- register_copy
|
|
// [220] phi render_moving::i#4 = render_moving::i#2 [phi:render_moving::@5->render_moving::@4#2] -- register_copy
|
|
// render_moving::@4
|
|
__b4:
|
|
// current_cell = current_piece_gfx[i++]
|
|
// [221] render_moving::current_cell#0 = current_piece_gfx#66[render_moving::i#4] -- vbuaa=pbuz1_derefidx_vbuz2
|
|
ldy.z i
|
|
lda (current_piece_gfx_1),y
|
|
// [222] render_moving::i#2 = ++ render_moving::i#4 -- vbuz1=_inc_vbuz1
|
|
inc.z i
|
|
// if(current_cell!=0)
|
|
// [223] if(render_moving::current_cell#0==0) goto render_moving::@5 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b5
|
|
// render_moving::@6
|
|
// screen_line[xpos] = current_piece_char
|
|
// [224] render_moving::screen_line#0[render_moving::xpos#2] = current_piece_char#70 -- pbuz1_derefidx_vbuz2=vbuz3
|
|
lda.z current_piece_char_1
|
|
ldy.z xpos
|
|
sta (screen_line),y
|
|
// render_moving::@5
|
|
__b5:
|
|
// xpos++;
|
|
// [225] render_moving::xpos#1 = ++ render_moving::xpos#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xpos
|
|
// for(char c:0..3)
|
|
// [226] render_moving::c#1 = ++ render_moving::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [227] if(render_moving::c#1!=4) goto render_moving::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b4
|
|
jmp __b3
|
|
}
|
|
// render_next
|
|
// Render the next tetromino in the "next" area
|
|
render_next: {
|
|
// Find the screen area
|
|
.const next_area_offset = $28*$c+$18+4
|
|
.label next_piece_char = $32
|
|
.label next_piece_gfx = $c
|
|
.label screen_next_area = $36
|
|
.label l = $10
|
|
// if(render_screen_render==0)
|
|
// [229] if(render_screen_render#16==0) goto render_next::@1 -- vbuxx_eq_0_then_la1
|
|
cpx #0
|
|
beq __b1
|
|
// [231] phi from render_next to render_next::@2 [phi:render_next->render_next::@2]
|
|
// [231] phi render_next::screen_next_area#11 = PLAYFIELD_SCREEN_2+render_next::next_area_offset [phi:render_next->render_next::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2+next_area_offset
|
|
sta.z screen_next_area
|
|
lda #>PLAYFIELD_SCREEN_2+next_area_offset
|
|
sta.z screen_next_area+1
|
|
jmp __b2
|
|
// [230] phi from render_next to render_next::@1 [phi:render_next->render_next::@1]
|
|
// render_next::@1
|
|
__b1:
|
|
// [231] phi from render_next::@1 to render_next::@2 [phi:render_next::@1->render_next::@2]
|
|
// [231] phi render_next::screen_next_area#11 = PLAYFIELD_SCREEN_1+render_next::next_area_offset [phi:render_next::@1->render_next::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1+next_area_offset
|
|
sta.z screen_next_area
|
|
lda #>PLAYFIELD_SCREEN_1+next_area_offset
|
|
sta.z screen_next_area+1
|
|
// render_next::@2
|
|
__b2:
|
|
// next_piece_gfx = PIECES[next_piece_idx]
|
|
// [232] render_next::$6 = next_piece_idx#13 << 1 -- vbuxx=vbuyy_rol_1
|
|
tya
|
|
asl
|
|
tax
|
|
// next_piece_char = PIECES_NEXT_CHARS[next_piece_idx]
|
|
// [233] render_next::next_piece_char#0 = PIECES_NEXT_CHARS[next_piece_idx#13] -- vbuz1=pbuc1_derefidx_vbuyy
|
|
lda PIECES_NEXT_CHARS,y
|
|
sta.z next_piece_char
|
|
// [234] render_next::next_piece_gfx#8 = (byte*)PIECES[render_next::$6] -- pbuz1=qbuc1_derefidx_vbuxx
|
|
lda PIECES,x
|
|
sta.z next_piece_gfx
|
|
lda PIECES+1,x
|
|
sta.z next_piece_gfx+1
|
|
// [235] phi from render_next::@2 to render_next::@3 [phi:render_next::@2->render_next::@3]
|
|
// [235] phi render_next::l#7 = 0 [phi:render_next::@2->render_next::@3#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [235] phi render_next::screen_next_area#10 = render_next::screen_next_area#11 [phi:render_next::@2->render_next::@3#1] -- register_copy
|
|
// [235] phi render_next::next_piece_gfx#3 = render_next::next_piece_gfx#8 [phi:render_next::@2->render_next::@3#2] -- register_copy
|
|
// [235] phi from render_next::@8 to render_next::@3 [phi:render_next::@8->render_next::@3]
|
|
// [235] phi render_next::l#7 = render_next::l#1 [phi:render_next::@8->render_next::@3#0] -- register_copy
|
|
// [235] phi render_next::screen_next_area#10 = render_next::screen_next_area#4 [phi:render_next::@8->render_next::@3#1] -- register_copy
|
|
// [235] phi render_next::next_piece_gfx#3 = render_next::next_piece_gfx#1 [phi:render_next::@8->render_next::@3#2] -- register_copy
|
|
// render_next::@3
|
|
__b3:
|
|
// [236] phi from render_next::@3 to render_next::@4 [phi:render_next::@3->render_next::@4]
|
|
// [236] phi render_next::c#2 = 0 [phi:render_next::@3->render_next::@4#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [236] phi render_next::screen_next_area#5 = render_next::screen_next_area#10 [phi:render_next::@3->render_next::@4#1] -- register_copy
|
|
// [236] phi render_next::next_piece_gfx#2 = render_next::next_piece_gfx#3 [phi:render_next::@3->render_next::@4#2] -- register_copy
|
|
// [236] phi from render_next::@6 to render_next::@4 [phi:render_next::@6->render_next::@4]
|
|
// [236] phi render_next::c#2 = render_next::c#1 [phi:render_next::@6->render_next::@4#0] -- register_copy
|
|
// [236] phi render_next::screen_next_area#5 = render_next::screen_next_area#3 [phi:render_next::@6->render_next::@4#1] -- register_copy
|
|
// [236] phi render_next::next_piece_gfx#2 = render_next::next_piece_gfx#1 [phi:render_next::@6->render_next::@4#2] -- register_copy
|
|
// render_next::@4
|
|
__b4:
|
|
// cell = *next_piece_gfx++
|
|
// [237] render_next::cell#0 = *render_next::next_piece_gfx#2 -- vbuaa=_deref_pbuz1
|
|
ldy #0
|
|
lda (next_piece_gfx),y
|
|
// [238] render_next::next_piece_gfx#1 = ++ render_next::next_piece_gfx#2 -- pbuz1=_inc_pbuz1
|
|
inc.z next_piece_gfx
|
|
bne !+
|
|
inc.z next_piece_gfx+1
|
|
!:
|
|
// if(cell!=0)
|
|
// [239] if(render_next::cell#0!=0) goto render_next::@5 -- vbuaa_neq_0_then_la1
|
|
cmp #0
|
|
bne __b5
|
|
// render_next::@7
|
|
// *screen_next_area = 0
|
|
// [240] *render_next::screen_next_area#5 = 0 -- _deref_pbuz1=vbuc1
|
|
lda #0
|
|
tay
|
|
sta (screen_next_area),y
|
|
// render_next::@6
|
|
__b6:
|
|
// screen_next_area++;
|
|
// [241] render_next::screen_next_area#3 = ++ render_next::screen_next_area#5 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_next_area
|
|
bne !+
|
|
inc.z screen_next_area+1
|
|
!:
|
|
// for(char c:0..3)
|
|
// [242] render_next::c#1 = ++ render_next::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [243] if(render_next::c#1!=4) goto render_next::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b4
|
|
// render_next::@8
|
|
// screen_next_area += 36
|
|
// [244] render_next::screen_next_area#4 = render_next::screen_next_area#3 + $24 -- pbuz1=pbuz1_plus_vbuc1
|
|
lda #$24
|
|
clc
|
|
adc.z screen_next_area
|
|
sta.z screen_next_area
|
|
bcc !+
|
|
inc.z screen_next_area+1
|
|
!:
|
|
// for(char l:0..3)
|
|
// [245] render_next::l#1 = ++ render_next::l#7 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [246] if(render_next::l#1!=4) goto render_next::@3 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b3
|
|
// render_next::@return
|
|
// }
|
|
// [247] return
|
|
rts
|
|
// render_next::@5
|
|
__b5:
|
|
// *screen_next_area = next_piece_char
|
|
// [248] *render_next::screen_next_area#5 = render_next::next_piece_char#0 -- _deref_pbuz1=vbuz2
|
|
lda.z next_piece_char
|
|
ldy #0
|
|
sta (screen_next_area),y
|
|
jmp __b6
|
|
}
|
|
// render_show
|
|
// Update 0xD018 to show the current screen (used for double buffering)
|
|
render_show: {
|
|
.const toD0181_return = (>(PLAYFIELD_SCREEN_1&$3fff)*4)|(>PLAYFIELD_CHARSET)/4&$f
|
|
.const toD0182_return = (>(PLAYFIELD_SCREEN_2&$3fff)*4)|(>PLAYFIELD_CHARSET)/4&$f
|
|
// if(render_screen_show==0)
|
|
// [249] if(render_screen_show#17==0) goto render_show::toD0181 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_show
|
|
cmp #0
|
|
beq toD0181
|
|
// [250] phi from render_show to render_show::toD0182 [phi:render_show->render_show::toD0182]
|
|
// render_show::toD0182
|
|
// [251] phi from render_show::toD0182 to render_show::@1 [phi:render_show::toD0182->render_show::@1]
|
|
// [251] phi render_show::d018val#3 = render_show::toD0182_return#0 [phi:render_show::toD0182->render_show::@1#0] -- vbuaa=vbuc1
|
|
lda #toD0182_return
|
|
// render_show::@1
|
|
__b1:
|
|
// *D018 = d018val
|
|
// [252] *D018 = render_show::d018val#3 -- _deref_pbuc1=vbuaa
|
|
sta D018
|
|
// *BG_COLOR1 = PIECES_COLORS_1[level]
|
|
// [253] *BG_COLOR1 = PIECES_COLORS_1[level#25] -- _deref_pbuc1=pbuc2_derefidx_vbuz1
|
|
ldy.z level
|
|
lda PIECES_COLORS_1,y
|
|
sta BG_COLOR1
|
|
// *BG_COLOR2 = PIECES_COLORS_2[level]
|
|
// [254] *BG_COLOR2 = PIECES_COLORS_2[level#25] -- _deref_pbuc1=pbuc2_derefidx_vbuz1
|
|
lda PIECES_COLORS_2,y
|
|
sta BG_COLOR2
|
|
// render_screen_showing = render_screen_show
|
|
// [255] render_screen_showing = render_screen_show#17 -- vbuz1=vbuz2
|
|
lda.z render_screen_show
|
|
sta.z render_screen_showing
|
|
// render_show::@return
|
|
// }
|
|
// [256] return
|
|
rts
|
|
// [257] phi from render_show to render_show::toD0181 [phi:render_show->render_show::toD0181]
|
|
// render_show::toD0181
|
|
toD0181:
|
|
// [251] phi from render_show::toD0181 to render_show::@1 [phi:render_show::toD0181->render_show::@1]
|
|
// [251] phi render_show::d018val#3 = render_show::toD0181_return#0 [phi:render_show::toD0181->render_show::@1#0] -- vbuaa=vbuc1
|
|
lda #toD0181_return
|
|
jmp __b1
|
|
}
|
|
// keyboard_event_scan
|
|
// Scans the entire matrix to determine which keys have been pressed/depressed.
|
|
// Generates keyboard events into the event buffer. Events can be read using keyboard_event_get().
|
|
// Handles debounce and only generates events when the status of a key changes.
|
|
// Also stores current status of modifiers in keyboard_modifiers.
|
|
keyboard_event_scan: {
|
|
.label row_scan = $33
|
|
.label keycode = $23
|
|
.label row = $b
|
|
// [259] phi from keyboard_event_scan to keyboard_event_scan::@7 [phi:keyboard_event_scan->keyboard_event_scan::@7]
|
|
// [259] phi keyboard_events_size#32 = keyboard_events_size#20 [phi:keyboard_event_scan->keyboard_event_scan::@7#0] -- register_copy
|
|
// [259] phi keyboard_event_scan::keycode#11 = 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z keycode
|
|
// [259] phi keyboard_event_scan::row#2 = 0 [phi:keyboard_event_scan->keyboard_event_scan::@7#2] -- vbuz1=vbuc1
|
|
sta.z row
|
|
// [259] phi from keyboard_event_scan::@8 to keyboard_event_scan::@7 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7]
|
|
// [259] phi keyboard_events_size#32 = keyboard_events_size#14 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#0] -- register_copy
|
|
// [259] phi keyboard_event_scan::keycode#11 = keyboard_event_scan::keycode#13 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#1] -- register_copy
|
|
// [259] phi keyboard_event_scan::row#2 = keyboard_event_scan::row#1 [phi:keyboard_event_scan::@8->keyboard_event_scan::@7#2] -- register_copy
|
|
// keyboard_event_scan::@7
|
|
__b7:
|
|
// keyboard_matrix_read(row)
|
|
// [260] keyboard_matrix_read::rowid#0 = keyboard_event_scan::row#2 -- vbuxx=vbuz1
|
|
ldx.z row
|
|
// [261] call keyboard_matrix_read
|
|
jsr keyboard_matrix_read
|
|
// [262] keyboard_matrix_read::return#2 = keyboard_matrix_read::return#0
|
|
// keyboard_event_scan::@19
|
|
// row_scan = keyboard_matrix_read(row)
|
|
// [263] keyboard_event_scan::row_scan#0 = keyboard_matrix_read::return#2 -- vbuz1=vbuaa
|
|
sta.z row_scan
|
|
// if(row_scan!=keyboard_scan_values[row])
|
|
// [264] if(keyboard_event_scan::row_scan#0!=keyboard_scan_values[keyboard_event_scan::row#2]) goto keyboard_event_scan::@9 -- vbuz1_neq_pbuc1_derefidx_vbuz2_then_la1
|
|
ldy.z row
|
|
cmp keyboard_scan_values,y
|
|
bne __b5
|
|
// keyboard_event_scan::@16
|
|
// keycode = keycode + 8
|
|
// [265] keyboard_event_scan::keycode#1 = keyboard_event_scan::keycode#11 + 8 -- vbuz1=vbuz1_plus_vbuc1
|
|
lax.z keycode
|
|
axs #-[8]
|
|
stx.z keycode
|
|
// [266] phi from keyboard_event_scan::@15 keyboard_event_scan::@16 to keyboard_event_scan::@8 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8]
|
|
// [266] phi keyboard_events_size#14 = keyboard_events_size#31 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#0] -- register_copy
|
|
// [266] phi keyboard_event_scan::keycode#13 = keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@15/keyboard_event_scan::@16->keyboard_event_scan::@8#1] -- register_copy
|
|
// keyboard_event_scan::@8
|
|
__b8:
|
|
// for(char row : 0..7)
|
|
// [267] keyboard_event_scan::row#1 = ++ keyboard_event_scan::row#2 -- vbuz1=_inc_vbuz1
|
|
inc.z row
|
|
// [268] if(keyboard_event_scan::row#1!=8) goto keyboard_event_scan::@7 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #8
|
|
cmp.z row
|
|
bne __b7
|
|
// [269] phi from keyboard_event_scan::@8 to keyboard_event_scan::@17 [phi:keyboard_event_scan::@8->keyboard_event_scan::@17]
|
|
// keyboard_event_scan::@17
|
|
// keyboard_event_pressed(KEY_LSHIFT)
|
|
// [270] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@17 to keyboard_event_pressed [phi:keyboard_event_scan::@17->keyboard_event_pressed]
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_LSHIFT [phi:keyboard_event_scan::@17->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_LSHIFT
|
|
jsr keyboard_event_pressed
|
|
// keyboard_event_pressed(KEY_LSHIFT)
|
|
// [271] keyboard_event_pressed::return#0 = keyboard_event_pressed::return#11
|
|
// keyboard_event_scan::@20
|
|
// [272] keyboard_event_scan::$0 = keyboard_event_pressed::return#0
|
|
// if(keyboard_event_pressed(KEY_LSHIFT)!= 0)
|
|
// [273] if(keyboard_event_scan::$0==0) goto keyboard_event_scan::@1 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
// [274] phi from keyboard_event_scan::@20 to keyboard_event_scan::@18 [phi:keyboard_event_scan::@20->keyboard_event_scan::@18]
|
|
// keyboard_event_scan::@18
|
|
// [275] phi from keyboard_event_scan::@18 keyboard_event_scan::@20 to keyboard_event_scan::@1 [phi:keyboard_event_scan::@18/keyboard_event_scan::@20->keyboard_event_scan::@1]
|
|
// keyboard_event_scan::@1
|
|
// keyboard_event_pressed(KEY_RSHIFT)
|
|
// [276] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@1 to keyboard_event_pressed [phi:keyboard_event_scan::@1->keyboard_event_pressed]
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_RSHIFT [phi:keyboard_event_scan::@1->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_RSHIFT
|
|
jsr keyboard_event_pressed
|
|
// keyboard_event_pressed(KEY_RSHIFT)
|
|
// [277] keyboard_event_pressed::return#1 = keyboard_event_pressed::return#11
|
|
// keyboard_event_scan::@21
|
|
// [278] keyboard_event_scan::$3 = keyboard_event_pressed::return#1
|
|
// if(keyboard_event_pressed(KEY_RSHIFT)!= 0)
|
|
// [279] if(keyboard_event_scan::$3==0) goto keyboard_event_scan::@2 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
// [280] phi from keyboard_event_scan::@21 to keyboard_event_scan::@4 [phi:keyboard_event_scan::@21->keyboard_event_scan::@4]
|
|
// keyboard_event_scan::@4
|
|
// [281] phi from keyboard_event_scan::@21 keyboard_event_scan::@4 to keyboard_event_scan::@2 [phi:keyboard_event_scan::@21/keyboard_event_scan::@4->keyboard_event_scan::@2]
|
|
// keyboard_event_scan::@2
|
|
// keyboard_event_pressed(KEY_CTRL)
|
|
// [282] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@2 to keyboard_event_pressed [phi:keyboard_event_scan::@2->keyboard_event_pressed]
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_CTRL [phi:keyboard_event_scan::@2->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_CTRL
|
|
jsr keyboard_event_pressed
|
|
// keyboard_event_pressed(KEY_CTRL)
|
|
// [283] keyboard_event_pressed::return#2 = keyboard_event_pressed::return#11
|
|
// keyboard_event_scan::@22
|
|
// [284] keyboard_event_scan::$6 = keyboard_event_pressed::return#2
|
|
// if(keyboard_event_pressed(KEY_CTRL)!= 0)
|
|
// [285] if(keyboard_event_scan::$6==0) goto keyboard_event_scan::@3 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
// [286] phi from keyboard_event_scan::@22 to keyboard_event_scan::@5 [phi:keyboard_event_scan::@22->keyboard_event_scan::@5]
|
|
// keyboard_event_scan::@5
|
|
// [287] phi from keyboard_event_scan::@22 keyboard_event_scan::@5 to keyboard_event_scan::@3 [phi:keyboard_event_scan::@22/keyboard_event_scan::@5->keyboard_event_scan::@3]
|
|
// keyboard_event_scan::@3
|
|
// keyboard_event_pressed(KEY_COMMODORE)
|
|
// [288] call keyboard_event_pressed
|
|
// [413] phi from keyboard_event_scan::@3 to keyboard_event_pressed [phi:keyboard_event_scan::@3->keyboard_event_pressed]
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_COMMODORE [phi:keyboard_event_scan::@3->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_COMMODORE
|
|
jsr keyboard_event_pressed
|
|
// keyboard_event_pressed(KEY_COMMODORE)
|
|
// [289] keyboard_event_pressed::return#10 = keyboard_event_pressed::return#11
|
|
// keyboard_event_scan::@23
|
|
// [290] keyboard_event_scan::$9 = keyboard_event_pressed::return#10
|
|
// if(keyboard_event_pressed(KEY_COMMODORE)!= 0)
|
|
// [291] if(keyboard_event_scan::$9==0) goto keyboard_event_scan::@return -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
// [292] phi from keyboard_event_scan::@23 to keyboard_event_scan::@6 [phi:keyboard_event_scan::@23->keyboard_event_scan::@6]
|
|
// keyboard_event_scan::@6
|
|
// keyboard_event_scan::@return
|
|
// }
|
|
// [293] return
|
|
rts
|
|
// Something has changed on the keyboard row - check each column
|
|
// [294] phi from keyboard_event_scan::@10 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9]
|
|
// [294] phi keyboard_events_size#11 = keyboard_events_size#31 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#0] -- register_copy
|
|
// [294] phi keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#14 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#1] -- register_copy
|
|
// [294] phi keyboard_event_scan::col#2 = keyboard_event_scan::col#1 [phi:keyboard_event_scan::@10->keyboard_event_scan::@9#2] -- register_copy
|
|
// [294] phi from keyboard_event_scan::@19 to keyboard_event_scan::@9 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9]
|
|
__b5:
|
|
// [294] phi keyboard_events_size#11 = keyboard_events_size#32 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#0] -- register_copy
|
|
// [294] phi keyboard_event_scan::keycode#10 = keyboard_event_scan::keycode#11 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#1] -- register_copy
|
|
// [294] phi keyboard_event_scan::col#2 = 0 [phi:keyboard_event_scan::@19->keyboard_event_scan::@9#2] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// keyboard_event_scan::@9
|
|
__b9:
|
|
// row_scan^keyboard_scan_values[row]
|
|
// [295] keyboard_event_scan::$15 = keyboard_event_scan::row_scan#0 ^ keyboard_scan_values[keyboard_event_scan::row#2] -- vbuaa=vbuz1_bxor_pbuc1_derefidx_vbuz2
|
|
lda.z row_scan
|
|
ldy.z row
|
|
eor keyboard_scan_values,y
|
|
// (row_scan^keyboard_scan_values[row])&keyboard_matrix_col_bitmask[col]
|
|
// [296] keyboard_event_scan::$16 = keyboard_event_scan::$15 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] -- vbuaa=vbuaa_band_pbuc1_derefidx_vbuxx
|
|
and keyboard_matrix_col_bitmask,x
|
|
// if(((row_scan^keyboard_scan_values[row])&keyboard_matrix_col_bitmask[col])!=0)
|
|
// [297] if(keyboard_event_scan::$16==0) goto keyboard_event_scan::@10 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b10
|
|
// keyboard_event_scan::@12
|
|
// if(keyboard_events_size!=8)
|
|
// [298] if(keyboard_events_size#11==8) goto keyboard_event_scan::@10 -- vbuz1_eq_vbuc1_then_la1
|
|
lda #8
|
|
cmp.z keyboard_events_size
|
|
beq __b10
|
|
// keyboard_event_scan::@13
|
|
// event_type = row_scan&keyboard_matrix_col_bitmask[col]
|
|
// [299] keyboard_event_scan::event_type#0 = keyboard_event_scan::row_scan#0 & keyboard_matrix_col_bitmask[keyboard_event_scan::col#2] -- vbuaa=vbuz1_band_pbuc1_derefidx_vbuxx
|
|
lda keyboard_matrix_col_bitmask,x
|
|
and.z row_scan
|
|
// if(event_type==0)
|
|
// [300] if(keyboard_event_scan::event_type#0==0) goto keyboard_event_scan::@11 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b11
|
|
// keyboard_event_scan::@14
|
|
// keyboard_events[keyboard_events_size++] = keycode
|
|
// [301] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::keycode#10 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
// Key pressed
|
|
lda.z keycode
|
|
ldy.z keyboard_events_size
|
|
sta keyboard_events,y
|
|
// keyboard_events[keyboard_events_size++] = keycode;
|
|
// [302] keyboard_events_size#1 = ++ keyboard_events_size#11 -- vbuz1=_inc_vbuz1
|
|
inc.z keyboard_events_size
|
|
// [303] phi from keyboard_event_scan::@11 keyboard_event_scan::@12 keyboard_event_scan::@14 keyboard_event_scan::@9 to keyboard_event_scan::@10 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10]
|
|
// [303] phi keyboard_events_size#31 = keyboard_events_size#0 [phi:keyboard_event_scan::@11/keyboard_event_scan::@12/keyboard_event_scan::@14/keyboard_event_scan::@9->keyboard_event_scan::@10#0] -- register_copy
|
|
// keyboard_event_scan::@10
|
|
__b10:
|
|
// keycode++;
|
|
// [304] keyboard_event_scan::keycode#14 = ++ keyboard_event_scan::keycode#10 -- vbuz1=_inc_vbuz1
|
|
inc.z keycode
|
|
// for(char col : 0..7)
|
|
// [305] keyboard_event_scan::col#1 = ++ keyboard_event_scan::col#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [306] if(keyboard_event_scan::col#1!=8) goto keyboard_event_scan::@9 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #8
|
|
bne __b9
|
|
// keyboard_event_scan::@15
|
|
// keyboard_scan_values[row] = row_scan
|
|
// [307] keyboard_scan_values[keyboard_event_scan::row#2] = keyboard_event_scan::row_scan#0 -- pbuc1_derefidx_vbuz1=vbuz2
|
|
// Store the current keyboard status for the row to debounce
|
|
lda.z row_scan
|
|
ldy.z row
|
|
sta keyboard_scan_values,y
|
|
jmp __b8
|
|
// keyboard_event_scan::@11
|
|
__b11:
|
|
// keycode|$40
|
|
// [308] keyboard_event_scan::$23 = keyboard_event_scan::keycode#10 | $40 -- vbuaa=vbuz1_bor_vbuc1
|
|
lda #$40
|
|
ora.z keycode
|
|
// keyboard_events[keyboard_events_size++] = keycode|$40
|
|
// [309] keyboard_events[keyboard_events_size#11] = keyboard_event_scan::$23 -- pbuc1_derefidx_vbuz1=vbuaa
|
|
// Key released
|
|
ldy.z keyboard_events_size
|
|
sta keyboard_events,y
|
|
// keyboard_events[keyboard_events_size++] = keycode|$40;
|
|
// [310] keyboard_events_size#0 = ++ keyboard_events_size#11 -- vbuz1=_inc_vbuz1
|
|
inc.z keyboard_events_size
|
|
jmp __b10
|
|
}
|
|
// keyboard_event_get
|
|
// Get the next event from the keyboard event buffer.
|
|
// Returns $ff if there is no event waiting. As all events are <$7f it is enough to examine bit 7 when determining if there is any event to process.
|
|
// The buffer is filled by keyboard_event_scan()
|
|
keyboard_event_get: {
|
|
// if(keyboard_events_size==0)
|
|
// [311] if(keyboard_events_size#14==0) goto keyboard_event_get::@return -- vbuz1_eq_0_then_la1
|
|
lda.z keyboard_events_size
|
|
cmp #0
|
|
beq __b1
|
|
// keyboard_event_get::@1
|
|
// return keyboard_events[--keyboard_events_size];
|
|
// [312] keyboard_events_size#3 = -- keyboard_events_size#14 -- vbuz1=_dec_vbuz1
|
|
dec.z keyboard_events_size
|
|
// [313] keyboard_event_get::return#1 = keyboard_events[keyboard_events_size#3] -- vbuaa=pbuc1_derefidx_vbuz1
|
|
ldy.z keyboard_events_size
|
|
lda keyboard_events,y
|
|
// [314] phi from keyboard_event_get::@1 to keyboard_event_get::@return [phi:keyboard_event_get::@1->keyboard_event_get::@return]
|
|
// [314] phi keyboard_events_size#17 = keyboard_events_size#3 [phi:keyboard_event_get::@1->keyboard_event_get::@return#0] -- register_copy
|
|
// [314] phi keyboard_event_get::return#2 = keyboard_event_get::return#1 [phi:keyboard_event_get::@1->keyboard_event_get::@return#1] -- register_copy
|
|
rts
|
|
// [314] phi from keyboard_event_get to keyboard_event_get::@return [phi:keyboard_event_get->keyboard_event_get::@return]
|
|
__b1:
|
|
// [314] phi keyboard_events_size#17 = keyboard_events_size#14 [phi:keyboard_event_get->keyboard_event_get::@return#0] -- register_copy
|
|
// [314] phi keyboard_event_get::return#2 = $ff [phi:keyboard_event_get->keyboard_event_get::@return#1] -- vbuaa=vbuc1
|
|
lda #$ff
|
|
// keyboard_event_get::@return
|
|
// }
|
|
// [315] return
|
|
rts
|
|
}
|
|
// play_movement
|
|
// Perform any movement of the current piece
|
|
// key_event is the next keyboard_event() og 0xff if no keyboard event is pending
|
|
// Returns a byte signaling whether rendering is needed. (0 no render, >0 render needed)
|
|
// play_movement(byte zp($2e) key_event)
|
|
play_movement: {
|
|
.label render = $b
|
|
.label return = $b
|
|
.label key_event = $2e
|
|
// play_move_down(key_event)
|
|
// [316] play_move_down::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [317] call play_move_down
|
|
jsr play_move_down
|
|
// [318] play_move_down::return#0 = play_move_down::return#3 -- vbuaa=vbuxx
|
|
txa
|
|
// play_movement::@2
|
|
// render += play_move_down(key_event)
|
|
// [319] play_movement::render#1 = play_move_down::return#0 -- vbuz1=vbuaa
|
|
sta.z render
|
|
// if(game_over!=0)
|
|
// [320] if(game_over#16==0) goto play_movement::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z game_over
|
|
cmp #0
|
|
beq __b1
|
|
// [321] phi from play_movement::@2 play_movement::@4 to play_movement::@return [phi:play_movement::@2/play_movement::@4->play_movement::@return]
|
|
// [321] phi current_xpos#2 = current_xpos#23 [phi:play_movement::@2/play_movement::@4->play_movement::@return#0] -- register_copy
|
|
// [321] phi current_piece_gfx#19 = current_piece_gfx#21 [phi:play_movement::@2/play_movement::@4->play_movement::@return#1] -- register_copy
|
|
// [321] phi current_orientation#18 = current_orientation#21 [phi:play_movement::@2/play_movement::@4->play_movement::@return#2] -- register_copy
|
|
// [321] phi play_movement::return#2 = play_movement::render#1 [phi:play_movement::@2/play_movement::@4->play_movement::@return#3] -- register_copy
|
|
// play_movement::@return
|
|
// }
|
|
// [322] return
|
|
rts
|
|
// play_movement::@1
|
|
__b1:
|
|
// play_move_leftright(key_event)
|
|
// [323] play_move_leftright::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [324] call play_move_leftright
|
|
jsr play_move_leftright
|
|
// [325] play_move_leftright::return#0 = play_move_leftright::return#2
|
|
// play_movement::@3
|
|
// [326] play_movement::$3 = play_move_leftright::return#0
|
|
// render += play_move_leftright(key_event)
|
|
// [327] play_movement::render#2 = play_movement::render#1 + play_movement::$3 -- vbuz1=vbuz1_plus_vbuaa
|
|
clc
|
|
adc.z render
|
|
sta.z render
|
|
// play_move_rotate(key_event)
|
|
// [328] play_move_rotate::key_event#0 = play_movement::key_event#0 -- vbuaa=vbuz1
|
|
lda.z key_event
|
|
// [329] call play_move_rotate
|
|
jsr play_move_rotate
|
|
// [330] play_move_rotate::return#0 = play_move_rotate::return#2
|
|
// play_movement::@4
|
|
// [331] play_movement::$4 = play_move_rotate::return#0
|
|
// render += play_move_rotate(key_event)
|
|
// [332] play_movement::return#0 = play_movement::render#2 + play_movement::$4 -- vbuz1=vbuz1_plus_vbuaa
|
|
clc
|
|
adc.z return
|
|
sta.z return
|
|
rts
|
|
}
|
|
// render_score
|
|
// Show the current score
|
|
render_score: {
|
|
.const score_offset = $28*5+$1c
|
|
.const lines_offset = $28*1+$16
|
|
.const level_offset = $28*$13+$1f
|
|
.label score_bytes = score_bcd
|
|
.label screen = $c
|
|
// if(render_screen_render==0)
|
|
// [333] if(render_screen_render#19==0) goto render_score::@1 -- vbuz1_eq_0_then_la1
|
|
lda.z render_screen_render
|
|
cmp #0
|
|
beq __b1
|
|
// [335] phi from render_score to render_score::@2 [phi:render_score->render_score::@2]
|
|
// [335] phi render_score::screen#3 = PLAYFIELD_SCREEN_2 [phi:render_score->render_score::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_2
|
|
sta.z screen
|
|
lda #>PLAYFIELD_SCREEN_2
|
|
sta.z screen+1
|
|
jmp __b2
|
|
// [334] phi from render_score to render_score::@1 [phi:render_score->render_score::@1]
|
|
// render_score::@1
|
|
__b1:
|
|
// [335] phi from render_score::@1 to render_score::@2 [phi:render_score::@1->render_score::@2]
|
|
// [335] phi render_score::screen#3 = PLAYFIELD_SCREEN_1 [phi:render_score::@1->render_score::@2#0] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_1
|
|
sta.z screen
|
|
lda #>PLAYFIELD_SCREEN_1
|
|
sta.z screen+1
|
|
// render_score::@2
|
|
__b2:
|
|
// render_bcd( screen, score_offset, score_bytes[2], 0)
|
|
// [336] render_bcd::screen#0 = render_score::screen#3
|
|
// [337] render_bcd::bcd#0 = *(render_score::score_bytes+2) -- vbuxx=_deref_pbuc1
|
|
ldx score_bytes+2
|
|
// [338] call render_bcd
|
|
// [499] phi from render_score::@2 to render_bcd [phi:render_score::@2->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#0 [phi:render_score::@2->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@2->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset [phi:render_score::@2->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#0 [phi:render_score::@2->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@3
|
|
// render_bcd( screen, score_offset+2, score_bytes[1], 0)
|
|
// [339] render_bcd::screen#1 = render_score::screen#3
|
|
// [340] render_bcd::bcd#1 = *(render_score::score_bytes+1) -- vbuxx=_deref_pbuc1
|
|
ldx score_bytes+1
|
|
// [341] call render_bcd
|
|
// [499] phi from render_score::@3 to render_bcd [phi:render_score::@3->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#1 [phi:render_score::@3->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@3->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset+2 [phi:render_score::@3->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset+2
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset+2
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#1 [phi:render_score::@3->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@4
|
|
// render_bcd( screen, score_offset+4, score_bytes[0], 0)
|
|
// [342] render_bcd::screen#2 = render_score::screen#3
|
|
// [343] render_bcd::bcd#2 = *render_score::score_bytes -- vbuxx=_deref_pbuc1
|
|
ldx.z score_bytes
|
|
// [344] call render_bcd
|
|
// [499] phi from render_score::@4 to render_bcd [phi:render_score::@4->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#2 [phi:render_score::@4->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@4->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::score_offset+4 [phi:render_score::@4->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<score_offset+4
|
|
sta.z render_bcd.offset
|
|
lda #>score_offset+4
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#2 [phi:render_score::@4->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@5
|
|
// render_bcd( screen, lines_offset, >lines_bcd, 1)
|
|
// [345] render_bcd::bcd#3 = > lines_bcd#16 -- vbuxx=_hi_vwuz1
|
|
ldx.z lines_bcd+1
|
|
// [346] render_bcd::screen#3 = render_score::screen#3
|
|
// [347] call render_bcd
|
|
// [499] phi from render_score::@5 to render_bcd [phi:render_score::@5->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#3 [phi:render_score::@5->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 1 [phi:render_score::@5->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #1
|
|
// [499] phi render_bcd::offset#6 = render_score::lines_offset [phi:render_score::@5->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<lines_offset
|
|
sta.z render_bcd.offset
|
|
lda #>lines_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#3 [phi:render_score::@5->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@6
|
|
// render_bcd( screen, lines_offset+1, <lines_bcd, 0)
|
|
// [348] render_bcd::bcd#4 = < lines_bcd#16 -- vbuxx=_lo_vwuz1
|
|
ldx.z lines_bcd
|
|
// [349] render_bcd::screen#4 = render_score::screen#3
|
|
// [350] call render_bcd
|
|
// [499] phi from render_score::@6 to render_bcd [phi:render_score::@6->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#4 [phi:render_score::@6->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@6->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::lines_offset+1 [phi:render_score::@6->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<lines_offset+1
|
|
sta.z render_bcd.offset
|
|
lda #>lines_offset+1
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#4 [phi:render_score::@6->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@7
|
|
// render_bcd( screen, level_offset, level_bcd, 0)
|
|
// [351] render_bcd::screen#5 = render_score::screen#3
|
|
// [352] render_bcd::bcd#5 = level_bcd#18 -- vbuxx=vbuz1
|
|
ldx.z level_bcd
|
|
// [353] call render_bcd
|
|
// [499] phi from render_score::@7 to render_bcd [phi:render_score::@7->render_bcd]
|
|
// [499] phi render_bcd::bcd#6 = render_bcd::bcd#5 [phi:render_score::@7->render_bcd#0] -- register_copy
|
|
// [499] phi render_bcd::only_low#6 = 0 [phi:render_score::@7->render_bcd#1] -- vbuyy=vbuc1
|
|
ldy #0
|
|
// [499] phi render_bcd::offset#6 = render_score::level_offset [phi:render_score::@7->render_bcd#2] -- vwuz1=vwuc1
|
|
lda #<level_offset
|
|
sta.z render_bcd.offset
|
|
lda #>level_offset
|
|
sta.z render_bcd.offset+1
|
|
// [499] phi render_bcd::screen#6 = render_bcd::screen#5 [phi:render_score::@7->render_bcd#3] -- register_copy
|
|
jsr render_bcd
|
|
// render_score::@return
|
|
// }
|
|
// [354] return
|
|
rts
|
|
}
|
|
// render_screen_swap
|
|
// Swap rendering to the other screen (used for double buffering)
|
|
render_screen_swap: {
|
|
// render_screen_render ^= 0x20
|
|
// [355] render_screen_render#12 = render_screen_render#19 ^ $20 -- vbuz1=vbuz1_bxor_vbuc1
|
|
lda #$20
|
|
eor.z render_screen_render
|
|
sta.z render_screen_render
|
|
// render_screen_show ^= 0x20
|
|
// [356] render_screen_show#14 = render_screen_show#17 ^ $20 -- vbuz1=vbuz1_bxor_vbuc1
|
|
lda #$20
|
|
eor.z render_screen_show
|
|
sta.z render_screen_show
|
|
// render_screen_swap::@return
|
|
// }
|
|
// [357] return
|
|
rts
|
|
}
|
|
// render_screen_original
|
|
// Copy the original screen data to the passed screen
|
|
// Also copies colors to 0xd800
|
|
// render_screen_original(byte* zp($30) screen)
|
|
render_screen_original: {
|
|
.const SPACE = 0
|
|
.label screen = $30
|
|
.label cols = $34
|
|
.label oscr = $36
|
|
.label ocols = $20
|
|
.label y = $23
|
|
// [359] phi from render_screen_original to render_screen_original::@1 [phi:render_screen_original->render_screen_original::@1]
|
|
// [359] phi render_screen_original::y#6 = 0 [phi:render_screen_original->render_screen_original::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z y
|
|
// [359] phi render_screen_original::ocols#4 = PLAYFIELD_COLORS_ORIGINAL+$20*2 [phi:render_screen_original->render_screen_original::@1#1] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
sta.z ocols
|
|
lda #>PLAYFIELD_COLORS_ORIGINAL+$20*2
|
|
sta.z ocols+1
|
|
// [359] phi render_screen_original::oscr#4 = PLAYFIELD_SCREEN_ORIGINAL+$20*2 [phi:render_screen_original->render_screen_original::@1#2] -- pbuz1=pbuc1
|
|
lda #<PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
sta.z oscr
|
|
lda #>PLAYFIELD_SCREEN_ORIGINAL+$20*2
|
|
sta.z oscr+1
|
|
// [359] phi render_screen_original::cols#7 = COLS [phi:render_screen_original->render_screen_original::@1#3] -- pbuz1=pbuc1
|
|
lda #<COLS
|
|
sta.z cols
|
|
lda #>COLS
|
|
sta.z cols+1
|
|
// [359] phi render_screen_original::screen#8 = render_screen_original::screen#9 [phi:render_screen_original->render_screen_original::@1#4] -- register_copy
|
|
// [359] phi from render_screen_original::@5 to render_screen_original::@1 [phi:render_screen_original::@5->render_screen_original::@1]
|
|
// [359] phi render_screen_original::y#6 = render_screen_original::y#1 [phi:render_screen_original::@5->render_screen_original::@1#0] -- register_copy
|
|
// [359] phi render_screen_original::ocols#4 = render_screen_original::ocols#1 [phi:render_screen_original::@5->render_screen_original::@1#1] -- register_copy
|
|
// [359] phi render_screen_original::oscr#4 = render_screen_original::oscr#1 [phi:render_screen_original::@5->render_screen_original::@1#2] -- register_copy
|
|
// [359] phi render_screen_original::cols#7 = render_screen_original::cols#3 [phi:render_screen_original::@5->render_screen_original::@1#3] -- register_copy
|
|
// [359] phi render_screen_original::screen#8 = render_screen_original::screen#10 [phi:render_screen_original::@5->render_screen_original::@1#4] -- register_copy
|
|
// render_screen_original::@1
|
|
__b1:
|
|
// [360] phi from render_screen_original::@1 to render_screen_original::@2 [phi:render_screen_original::@1->render_screen_original::@2]
|
|
// [360] phi render_screen_original::x#4 = 0 [phi:render_screen_original::@1->render_screen_original::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [360] phi render_screen_original::cols#4 = render_screen_original::cols#7 [phi:render_screen_original::@1->render_screen_original::@2#1] -- register_copy
|
|
// [360] phi render_screen_original::screen#5 = render_screen_original::screen#8 [phi:render_screen_original::@1->render_screen_original::@2#2] -- register_copy
|
|
// [360] phi from render_screen_original::@2 to render_screen_original::@2 [phi:render_screen_original::@2->render_screen_original::@2]
|
|
// [360] phi render_screen_original::x#4 = render_screen_original::x#1 [phi:render_screen_original::@2->render_screen_original::@2#0] -- register_copy
|
|
// [360] phi render_screen_original::cols#4 = render_screen_original::cols#1 [phi:render_screen_original::@2->render_screen_original::@2#1] -- register_copy
|
|
// [360] phi render_screen_original::screen#5 = render_screen_original::screen#2 [phi:render_screen_original::@2->render_screen_original::@2#2] -- register_copy
|
|
// render_screen_original::@2
|
|
__b2:
|
|
// *screen++ = SPACE
|
|
// [361] *render_screen_original::screen#5 = render_screen_original::SPACE -- _deref_pbuz1=vbuc1
|
|
lda #SPACE
|
|
ldy #0
|
|
sta (screen),y
|
|
// *screen++ = SPACE;
|
|
// [362] render_screen_original::screen#2 = ++ render_screen_original::screen#5 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// *cols++ = BLACK
|
|
// [363] *render_screen_original::cols#4 = BLACK -- _deref_pbuz1=vbuc1
|
|
lda #BLACK
|
|
ldy #0
|
|
sta (cols),y
|
|
// *cols++ = BLACK;
|
|
// [364] render_screen_original::cols#1 = ++ render_screen_original::cols#4 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// while(++x!=4)
|
|
// [365] render_screen_original::x#1 = ++ render_screen_original::x#4 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [366] if(render_screen_original::x#1!=4) goto render_screen_original::@2 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b2
|
|
// [367] phi from render_screen_original::@2 render_screen_original::@3 to render_screen_original::@3 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3]
|
|
// [367] phi render_screen_original::x#5 = render_screen_original::x#1 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#0] -- register_copy
|
|
// [367] phi render_screen_original::cols#5 = render_screen_original::cols#1 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#1] -- register_copy
|
|
// [367] phi render_screen_original::ocols#2 = render_screen_original::ocols#4 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#2] -- register_copy
|
|
// [367] phi render_screen_original::screen#6 = render_screen_original::screen#2 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#3] -- register_copy
|
|
// [367] phi render_screen_original::oscr#2 = render_screen_original::oscr#4 [phi:render_screen_original::@2/render_screen_original::@3->render_screen_original::@3#4] -- register_copy
|
|
// render_screen_original::@3
|
|
__b3:
|
|
// *screen++ = *oscr++
|
|
// [368] *render_screen_original::screen#6 = *render_screen_original::oscr#2 -- _deref_pbuz1=_deref_pbuz2
|
|
ldy #0
|
|
lda (oscr),y
|
|
sta (screen),y
|
|
// *screen++ = *oscr++;
|
|
// [369] render_screen_original::screen#3 = ++ render_screen_original::screen#6 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// [370] render_screen_original::oscr#1 = ++ render_screen_original::oscr#2 -- pbuz1=_inc_pbuz1
|
|
inc.z oscr
|
|
bne !+
|
|
inc.z oscr+1
|
|
!:
|
|
// *cols++ = *ocols++
|
|
// [371] *render_screen_original::cols#5 = *render_screen_original::ocols#2 -- _deref_pbuz1=_deref_pbuz2
|
|
ldy #0
|
|
lda (ocols),y
|
|
sta (cols),y
|
|
// *cols++ = *ocols++;
|
|
// [372] render_screen_original::cols#2 = ++ render_screen_original::cols#5 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// [373] render_screen_original::ocols#1 = ++ render_screen_original::ocols#2 -- pbuz1=_inc_pbuz1
|
|
inc.z ocols
|
|
bne !+
|
|
inc.z ocols+1
|
|
!:
|
|
// while(++x!=36)
|
|
// [374] render_screen_original::x#2 = ++ render_screen_original::x#5 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [375] if(render_screen_original::x#2!=$24) goto render_screen_original::@3 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$24
|
|
bne __b3
|
|
// [376] phi from render_screen_original::@3 render_screen_original::@4 to render_screen_original::@4 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4]
|
|
// [376] phi render_screen_original::x#6 = render_screen_original::x#2 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#0] -- register_copy
|
|
// [376] phi render_screen_original::cols#6 = render_screen_original::cols#2 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#1] -- register_copy
|
|
// [376] phi render_screen_original::screen#7 = render_screen_original::screen#3 [phi:render_screen_original::@3/render_screen_original::@4->render_screen_original::@4#2] -- register_copy
|
|
// render_screen_original::@4
|
|
__b4:
|
|
// *screen++ = SPACE
|
|
// [377] *render_screen_original::screen#7 = render_screen_original::SPACE -- _deref_pbuz1=vbuc1
|
|
lda #SPACE
|
|
ldy #0
|
|
sta (screen),y
|
|
// *screen++ = SPACE;
|
|
// [378] render_screen_original::screen#10 = ++ render_screen_original::screen#7 -- pbuz1=_inc_pbuz1
|
|
inc.z screen
|
|
bne !+
|
|
inc.z screen+1
|
|
!:
|
|
// *cols++ = BLACK
|
|
// [379] *render_screen_original::cols#6 = BLACK -- _deref_pbuz1=vbuc1
|
|
lda #BLACK
|
|
ldy #0
|
|
sta (cols),y
|
|
// *cols++ = BLACK;
|
|
// [380] render_screen_original::cols#3 = ++ render_screen_original::cols#6 -- pbuz1=_inc_pbuz1
|
|
inc.z cols
|
|
bne !+
|
|
inc.z cols+1
|
|
!:
|
|
// while(++x!=40)
|
|
// [381] render_screen_original::x#3 = ++ render_screen_original::x#6 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [382] if(render_screen_original::x#3!=$28) goto render_screen_original::@4 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$28
|
|
bne __b4
|
|
// render_screen_original::@5
|
|
// for(char y:0..24)
|
|
// [383] render_screen_original::y#1 = ++ render_screen_original::y#6 -- vbuz1=_inc_vbuz1
|
|
inc.z y
|
|
// [384] if(render_screen_original::y#1!=$19) goto render_screen_original::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #$19
|
|
cmp.z y
|
|
bne __b1
|
|
// render_screen_original::@return
|
|
// }
|
|
// [385] return
|
|
rts
|
|
}
|
|
// play_collision
|
|
// Test if there is a collision between the current piece moved to (x, y) and anything on the playfield or the playfield boundaries
|
|
// Returns information about the type of the collision detected
|
|
// play_collision(byte zp($10) xpos, byte zp($32) ypos, byte register(X) orientation)
|
|
play_collision: {
|
|
.label xpos = $10
|
|
.label ypos = $32
|
|
.label piece_gfx = $34
|
|
.label yp = $32
|
|
.label playfield_line = $36
|
|
.label i = $38
|
|
.label xp = $22
|
|
.label l = $33
|
|
.label i_1 = $39
|
|
// piece_gfx = current_piece + orientation
|
|
// [387] play_collision::piece_gfx#0 = current_piece#18 + play_collision::orientation#5 -- pbuz1=pbuz2_plus_vbuxx
|
|
txa
|
|
clc
|
|
adc.z current_piece_1
|
|
sta.z piece_gfx
|
|
lda #0
|
|
adc.z current_piece_1+1
|
|
sta.z piece_gfx+1
|
|
// [388] phi from play_collision to play_collision::@1 [phi:play_collision->play_collision::@1]
|
|
// [388] phi play_collision::l#6 = 0 [phi:play_collision->play_collision::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [388] phi play_collision::i#3 = 0 [phi:play_collision->play_collision::@1#1] -- vbuz1=vbuc1
|
|
sta.z i_1
|
|
// [388] phi play_collision::yp#2 = play_collision::yp#0 [phi:play_collision->play_collision::@1#2] -- register_copy
|
|
// play_collision::@1
|
|
__b1:
|
|
// playfield_line = playfield_lines[yp]
|
|
// [389] play_collision::$14 = play_collision::yp#2 << 1 -- vbuaa=vbuz1_rol_1
|
|
lda.z yp
|
|
asl
|
|
// [390] play_collision::playfield_line#0 = playfield_lines[play_collision::$14] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda playfield_lines,y
|
|
sta.z playfield_line
|
|
lda playfield_lines+1,y
|
|
sta.z playfield_line+1
|
|
// [391] play_collision::xp#8 = play_collision::xpos#6 -- vbuz1=vbuz2
|
|
lda.z xpos
|
|
sta.z xp
|
|
// [392] phi from play_collision::@1 to play_collision::@2 [phi:play_collision::@1->play_collision::@2]
|
|
// [392] phi play_collision::c#2 = 0 [phi:play_collision::@1->play_collision::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [392] phi play_collision::xp#2 = play_collision::xp#8 [phi:play_collision::@1->play_collision::@2#1] -- register_copy
|
|
// [392] phi play_collision::i#2 = play_collision::i#3 [phi:play_collision::@1->play_collision::@2#2] -- register_copy
|
|
// play_collision::@2
|
|
__b2:
|
|
// if(piece_gfx[i++]!=0)
|
|
// [393] play_collision::i#1 = ++ play_collision::i#2 -- vbuz1=_inc_vbuz2
|
|
ldy.z i_1
|
|
iny
|
|
sty.z i
|
|
// [394] if(play_collision::piece_gfx#0[play_collision::i#2]==0) goto play_collision::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z i_1
|
|
lda (piece_gfx),y
|
|
cmp #0
|
|
beq __b3
|
|
// play_collision::@7
|
|
// if(yp>=PLAYFIELD_LINES)
|
|
// [395] if(play_collision::yp#2<PLAYFIELD_LINES) goto play_collision::@4 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z yp
|
|
cmp #PLAYFIELD_LINES
|
|
bcc __b4
|
|
// [400] phi from play_collision::@7 to play_collision::@return [phi:play_collision::@7->play_collision::@return]
|
|
// [400] phi play_collision::return#15 = COLLISION_BOTTOM [phi:play_collision::@7->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_BOTTOM
|
|
rts
|
|
// play_collision::@4
|
|
__b4:
|
|
// xp&0x80
|
|
// [396] play_collision::$5 = play_collision::xp#2 & $80 -- vbuaa=vbuz1_band_vbuc1
|
|
lda #$80
|
|
and.z xp
|
|
// if((xp&0x80)!=0)
|
|
// [397] if(play_collision::$5==0) goto play_collision::@5 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b5
|
|
// [400] phi from play_collision::@4 to play_collision::@return [phi:play_collision::@4->play_collision::@return]
|
|
// [400] phi play_collision::return#15 = COLLISION_LEFT [phi:play_collision::@4->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_LEFT
|
|
rts
|
|
// play_collision::@5
|
|
__b5:
|
|
// if(xp>=PLAYFIELD_COLS)
|
|
// [398] if(play_collision::xp#2<PLAYFIELD_COLS) goto play_collision::@6 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z xp
|
|
cmp #PLAYFIELD_COLS
|
|
bcc __b6
|
|
// [400] phi from play_collision::@5 to play_collision::@return [phi:play_collision::@5->play_collision::@return]
|
|
// [400] phi play_collision::return#15 = COLLISION_RIGHT [phi:play_collision::@5->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_RIGHT
|
|
rts
|
|
// play_collision::@6
|
|
__b6:
|
|
// if(playfield_line[xp]!=0)
|
|
// [399] if(play_collision::playfield_line#0[play_collision::xp#2]==0) goto play_collision::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z xp
|
|
lda (playfield_line),y
|
|
cmp #0
|
|
beq __b3
|
|
// [400] phi from play_collision::@6 to play_collision::@return [phi:play_collision::@6->play_collision::@return]
|
|
// [400] phi play_collision::return#15 = COLLISION_PLAYFIELD [phi:play_collision::@6->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_PLAYFIELD
|
|
// play_collision::@return
|
|
// }
|
|
// [401] return
|
|
rts
|
|
// play_collision::@3
|
|
__b3:
|
|
// xp++;
|
|
// [402] play_collision::xp#1 = ++ play_collision::xp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xp
|
|
// for(char c:0..3)
|
|
// [403] play_collision::c#1 = ++ play_collision::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [404] if(play_collision::c#1!=4) goto play_collision::@10 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b10
|
|
// play_collision::@8
|
|
// yp++;
|
|
// [405] play_collision::yp#1 = ++ play_collision::yp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z yp
|
|
// for(char l:0..3)
|
|
// [406] play_collision::l#1 = ++ play_collision::l#6 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [407] if(play_collision::l#1!=4) goto play_collision::@9 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b9
|
|
// [400] phi from play_collision::@8 to play_collision::@return [phi:play_collision::@8->play_collision::@return]
|
|
// [400] phi play_collision::return#15 = COLLISION_NONE [phi:play_collision::@8->play_collision::@return#0] -- vbuaa=vbuc1
|
|
lda #COLLISION_NONE
|
|
rts
|
|
// play_collision::@9
|
|
__b9:
|
|
// [408] play_collision::i#10 = play_collision::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [388] phi from play_collision::@9 to play_collision::@1 [phi:play_collision::@9->play_collision::@1]
|
|
// [388] phi play_collision::l#6 = play_collision::l#1 [phi:play_collision::@9->play_collision::@1#0] -- register_copy
|
|
// [388] phi play_collision::i#3 = play_collision::i#10 [phi:play_collision::@9->play_collision::@1#1] -- register_copy
|
|
// [388] phi play_collision::yp#2 = play_collision::yp#1 [phi:play_collision::@9->play_collision::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_collision::@10
|
|
__b10:
|
|
// [409] play_collision::i#12 = play_collision::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [392] phi from play_collision::@10 to play_collision::@2 [phi:play_collision::@10->play_collision::@2]
|
|
// [392] phi play_collision::c#2 = play_collision::c#1 [phi:play_collision::@10->play_collision::@2#0] -- register_copy
|
|
// [392] phi play_collision::xp#2 = play_collision::xp#1 [phi:play_collision::@10->play_collision::@2#1] -- register_copy
|
|
// [392] phi play_collision::i#2 = play_collision::i#12 [phi:play_collision::@10->play_collision::@2#2] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// keyboard_matrix_read
|
|
// Read a single row of the keyboard matrix
|
|
// The row ID (0-7) of the keyboard matrix row to read. See the C64 key matrix for row IDs.
|
|
// Returns the keys pressed on the row as bits according to the C64 key matrix.
|
|
// Notice: If the C64 normal interrupt is still running it will occasionally interrupt right between the read & write
|
|
// leading to erroneous readings. You must disable the normal interrupt or sei/cli around calls to the keyboard matrix reader.
|
|
// keyboard_matrix_read(byte register(X) rowid)
|
|
keyboard_matrix_read: {
|
|
// CIA1->PORT_A = keyboard_matrix_row_bitmask[rowid]
|
|
// [410] *((byte*)CIA1) = keyboard_matrix_row_bitmask[keyboard_matrix_read::rowid#0] -- _deref_pbuc1=pbuc2_derefidx_vbuxx
|
|
lda keyboard_matrix_row_bitmask,x
|
|
sta CIA1
|
|
// ~CIA1->PORT_B
|
|
// [411] keyboard_matrix_read::return#0 = ~ *((byte*)CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B) -- vbuaa=_bnot__deref_pbuc1
|
|
lda CIA1+OFFSET_STRUCT_MOS6526_CIA_PORT_B
|
|
eor #$ff
|
|
// keyboard_matrix_read::@return
|
|
// }
|
|
// [412] return
|
|
rts
|
|
}
|
|
// keyboard_event_pressed
|
|
// Determine if a specific key is currently pressed based on the last keyboard_event_scan()
|
|
// Returns 0 is not pressed and non-0 if pressed
|
|
// keyboard_event_pressed(byte register(X) keycode)
|
|
keyboard_event_pressed: {
|
|
// keycode>>3
|
|
// [414] keyboard_event_pressed::$0 = keyboard_event_pressed::keycode#5 >> 3 -- vbuyy=vbuxx_ror_3
|
|
txa
|
|
lsr
|
|
lsr
|
|
lsr
|
|
tay
|
|
// row_bits = keyboard_scan_values[keycode>>3]
|
|
// [415] keyboard_event_pressed::row_bits#0 = keyboard_scan_values[keyboard_event_pressed::$0] -- vbuyy=pbuc1_derefidx_vbuyy
|
|
lda keyboard_scan_values,y
|
|
tay
|
|
// keycode&7
|
|
// [416] keyboard_event_pressed::$1 = keyboard_event_pressed::keycode#5 & 7 -- vbuxx=vbuxx_band_vbuc1
|
|
lda #7
|
|
axs #0
|
|
// row_bits & keyboard_matrix_col_bitmask[keycode&7]
|
|
// [417] keyboard_event_pressed::return#11 = keyboard_event_pressed::row_bits#0 & keyboard_matrix_col_bitmask[keyboard_event_pressed::$1] -- vbuaa=vbuyy_band_pbuc1_derefidx_vbuxx
|
|
tya
|
|
and keyboard_matrix_col_bitmask,x
|
|
// keyboard_event_pressed::@return
|
|
// }
|
|
// [418] return
|
|
rts
|
|
}
|
|
// play_move_down
|
|
// Move down the current piece
|
|
// Return non-zero if a render is needed
|
|
// play_move_down(byte register(A) key_event)
|
|
play_move_down: {
|
|
.label movedown = $10
|
|
// ++current_movedown_counter;
|
|
// [419] current_movedown_counter#13 = ++ current_movedown_counter#17 -- vbuz1=_inc_vbuz1
|
|
inc.z current_movedown_counter
|
|
// if(key_event==KEY_SPACE)
|
|
// [420] if(play_move_down::key_event#0!=KEY_SPACE) goto play_move_down::@1 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #KEY_SPACE
|
|
bne __b4
|
|
// [421] phi from play_move_down to play_move_down::@4 [phi:play_move_down->play_move_down::@4]
|
|
// play_move_down::@4
|
|
// [422] phi from play_move_down::@4 to play_move_down::@1 [phi:play_move_down::@4->play_move_down::@1]
|
|
// [422] phi play_move_down::movedown#10 = 1 [phi:play_move_down::@4->play_move_down::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z movedown
|
|
jmp __b1
|
|
// [422] phi from play_move_down to play_move_down::@1 [phi:play_move_down->play_move_down::@1]
|
|
__b4:
|
|
// [422] phi play_move_down::movedown#10 = 0 [phi:play_move_down->play_move_down::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z movedown
|
|
// play_move_down::@1
|
|
__b1:
|
|
// keyboard_event_pressed(KEY_SPACE)
|
|
// [423] call keyboard_event_pressed
|
|
// [413] phi from play_move_down::@1 to keyboard_event_pressed [phi:play_move_down::@1->keyboard_event_pressed]
|
|
// [413] phi keyboard_event_pressed::keycode#5 = KEY_SPACE [phi:play_move_down::@1->keyboard_event_pressed#0] -- vbuxx=vbuc1
|
|
ldx #KEY_SPACE
|
|
jsr keyboard_event_pressed
|
|
// keyboard_event_pressed(KEY_SPACE)
|
|
// [424] keyboard_event_pressed::return#12 = keyboard_event_pressed::return#11
|
|
// play_move_down::@12
|
|
// [425] play_move_down::$2 = keyboard_event_pressed::return#12
|
|
// if(keyboard_event_pressed(KEY_SPACE)!=0)
|
|
// [426] if(play_move_down::$2==0) goto play_move_down::@2 -- vbuaa_eq_0_then_la1
|
|
cmp #0
|
|
beq __b2
|
|
// play_move_down::@5
|
|
// if(current_movedown_counter>=current_movedown_fast)
|
|
// [427] if(current_movedown_counter#13<current_movedown_fast) goto play_move_down::@2 -- vbuz1_lt_vbuc1_then_la1
|
|
lda.z current_movedown_counter
|
|
cmp #current_movedown_fast
|
|
bcc __b2
|
|
// play_move_down::@6
|
|
// movedown++;
|
|
// [428] play_move_down::movedown#2 = ++ play_move_down::movedown#10 -- vbuz1=_inc_vbuz1
|
|
inc.z movedown
|
|
// [429] phi from play_move_down::@12 play_move_down::@5 play_move_down::@6 to play_move_down::@2 [phi:play_move_down::@12/play_move_down::@5/play_move_down::@6->play_move_down::@2]
|
|
// [429] phi play_move_down::movedown#7 = play_move_down::movedown#10 [phi:play_move_down::@12/play_move_down::@5/play_move_down::@6->play_move_down::@2#0] -- register_copy
|
|
// play_move_down::@2
|
|
__b2:
|
|
// if(current_movedown_counter>=current_movedown_slow)
|
|
// [430] if(current_movedown_counter#13<current_movedown_slow#13) goto play_move_down::@3 -- vbuz1_lt_vbuz2_then_la1
|
|
lda.z current_movedown_counter
|
|
cmp.z current_movedown_slow
|
|
bcc __b3
|
|
// play_move_down::@7
|
|
// movedown++;
|
|
// [431] play_move_down::movedown#3 = ++ play_move_down::movedown#7 -- vbuz1=_inc_vbuz1
|
|
inc.z movedown
|
|
// [432] phi from play_move_down::@2 play_move_down::@7 to play_move_down::@3 [phi:play_move_down::@2/play_move_down::@7->play_move_down::@3]
|
|
// [432] phi play_move_down::movedown#6 = play_move_down::movedown#7 [phi:play_move_down::@2/play_move_down::@7->play_move_down::@3#0] -- register_copy
|
|
// play_move_down::@3
|
|
__b3:
|
|
// if(movedown!=0)
|
|
// [433] if(play_move_down::movedown#6==0) goto play_move_down::@return -- vbuz1_eq_0_then_la1
|
|
lda.z movedown
|
|
cmp #0
|
|
beq __b5
|
|
// play_move_down::@8
|
|
// play_collision(current_xpos,current_ypos+1,current_orientation)
|
|
// [434] play_collision::ypos#0 = current_ypos#10 + 1 -- vbuz1=vbuz2_plus_1
|
|
ldy.z current_ypos
|
|
iny
|
|
sty.z play_collision.ypos
|
|
// [435] play_collision::xpos#0 = current_xpos#13 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [436] play_collision::orientation#0 = current_orientation#12 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [437] current_piece#98 = current_piece#23 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// play_collision(current_xpos,current_ypos+1,current_orientation)
|
|
// [438] call play_collision
|
|
// [386] phi from play_move_down::@8 to play_collision [phi:play_move_down::@8->play_collision]
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#0 [phi:play_move_down::@8->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#0 [phi:play_move_down::@8->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#0 [phi:play_move_down::@8->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#98 [phi:play_move_down::@8->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// play_collision(current_xpos,current_ypos+1,current_orientation)
|
|
// [439] play_collision::return#0 = play_collision::return#15
|
|
// play_move_down::@13
|
|
// [440] play_move_down::$12 = play_collision::return#0
|
|
// if(play_collision(current_xpos,current_ypos+1,current_orientation)==COLLISION_NONE)
|
|
// [441] if(play_move_down::$12==COLLISION_NONE) goto play_move_down::@10 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
beq __b10
|
|
// [442] phi from play_move_down::@13 to play_move_down::@9 [phi:play_move_down::@13->play_move_down::@9]
|
|
// play_move_down::@9
|
|
// play_lock_current()
|
|
// [443] call play_lock_current
|
|
// Lock current piece
|
|
jsr play_lock_current
|
|
// [444] phi from play_move_down::@9 to play_move_down::@14 [phi:play_move_down::@9->play_move_down::@14]
|
|
// play_move_down::@14
|
|
// play_remove_lines()
|
|
// [445] call play_remove_lines
|
|
// [529] phi from play_move_down::@14 to play_remove_lines [phi:play_move_down::@14->play_remove_lines]
|
|
jsr play_remove_lines
|
|
// play_remove_lines()
|
|
// [446] play_remove_lines::return#0 = play_remove_lines::removed#7 -- vbuaa=vbuz1
|
|
lda.z play_remove_lines.removed
|
|
// play_move_down::@15
|
|
// removed = play_remove_lines()
|
|
// [447] play_move_down::removed#0 = play_remove_lines::return#0
|
|
// play_update_score(removed)
|
|
// [448] play_update_score::removed#0 = play_move_down::removed#0 -- vbuxx=vbuaa
|
|
tax
|
|
// [449] call play_update_score
|
|
// Tally up the score
|
|
jsr play_update_score
|
|
// [450] phi from play_move_down::@15 to play_move_down::@16 [phi:play_move_down::@15->play_move_down::@16]
|
|
// play_move_down::@16
|
|
// play_spawn_current()
|
|
// [451] call play_spawn_current
|
|
// Spawn a new piece
|
|
// [172] phi from play_move_down::@16 to play_spawn_current [phi:play_move_down::@16->play_spawn_current]
|
|
// [172] phi game_over#66 = game_over#22 [phi:play_move_down::@16->play_spawn_current#0] -- register_copy
|
|
// [172] phi next_piece_idx#18 = next_piece_idx#23 [phi:play_move_down::@16->play_spawn_current#1] -- register_copy
|
|
jsr play_spawn_current
|
|
// play_move_down::@17
|
|
// [452] current_piece#95 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
ldy.z play_spawn_current.__7
|
|
lda PIECES,y
|
|
sta.z current_piece
|
|
lda PIECES+1,y
|
|
sta.z current_piece+1
|
|
// [453] current_piece_gfx#116 = (byte*)PIECES[play_spawn_current::$7] -- pbuz1=qbuc1_derefidx_vbuz2
|
|
lda PIECES,y
|
|
sta.z current_piece_gfx
|
|
lda PIECES+1,y
|
|
sta.z current_piece_gfx+1
|
|
// [454] phi from play_move_down::@17 to play_move_down::@11 [phi:play_move_down::@17->play_move_down::@11]
|
|
// [454] phi next_piece_idx#32 = play_spawn_current::piece_idx#2 [phi:play_move_down::@17->play_move_down::@11#0] -- register_copy
|
|
// [454] phi game_over#29 = game_over#53 [phi:play_move_down::@17->play_move_down::@11#1] -- register_copy
|
|
// [454] phi current_xpos#45 = current_xpos#100 [phi:play_move_down::@17->play_move_down::@11#2] -- register_copy
|
|
// [454] phi current_piece_gfx#37 = current_piece_gfx#116 [phi:play_move_down::@17->play_move_down::@11#3] -- register_copy
|
|
// [454] phi current_orientation#39 = 0 [phi:play_move_down::@17->play_move_down::@11#4] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_orientation
|
|
// [454] phi current_piece_char#31 = current_piece_char#4 [phi:play_move_down::@17->play_move_down::@11#5] -- register_copy
|
|
// [454] phi current_piece#30 = current_piece#95 [phi:play_move_down::@17->play_move_down::@11#6] -- register_copy
|
|
// [454] phi level_bcd#33 = level_bcd#20 [phi:play_move_down::@17->play_move_down::@11#7] -- register_copy
|
|
// [454] phi current_movedown_slow#39 = current_movedown_slow#24 [phi:play_move_down::@17->play_move_down::@11#8] -- register_copy
|
|
// [454] phi level#35 = level#20 [phi:play_move_down::@17->play_move_down::@11#9] -- register_copy
|
|
// [454] phi lines_bcd#28 = lines_bcd#18 [phi:play_move_down::@17->play_move_down::@11#10] -- register_copy
|
|
// [454] phi current_ypos#40 = current_ypos#5 [phi:play_move_down::@17->play_move_down::@11#11] -- register_copy
|
|
// play_move_down::@11
|
|
__b11:
|
|
// [455] phi from play_move_down::@11 to play_move_down::@return [phi:play_move_down::@11->play_move_down::@return]
|
|
// [455] phi next_piece_idx#17 = next_piece_idx#32 [phi:play_move_down::@11->play_move_down::@return#0] -- register_copy
|
|
// [455] phi game_over#16 = game_over#29 [phi:play_move_down::@11->play_move_down::@return#1] -- register_copy
|
|
// [455] phi current_xpos#23 = current_xpos#45 [phi:play_move_down::@11->play_move_down::@return#2] -- register_copy
|
|
// [455] phi current_piece_gfx#21 = current_piece_gfx#37 [phi:play_move_down::@11->play_move_down::@return#3] -- register_copy
|
|
// [455] phi current_orientation#21 = current_orientation#39 [phi:play_move_down::@11->play_move_down::@return#4] -- register_copy
|
|
// [455] phi current_piece_char#17 = current_piece_char#31 [phi:play_move_down::@11->play_move_down::@return#5] -- register_copy
|
|
// [455] phi current_piece#16 = current_piece#30 [phi:play_move_down::@11->play_move_down::@return#6] -- register_copy
|
|
// [455] phi level_bcd#18 = level_bcd#33 [phi:play_move_down::@11->play_move_down::@return#7] -- register_copy
|
|
// [455] phi current_movedown_slow#22 = current_movedown_slow#39 [phi:play_move_down::@11->play_move_down::@return#8] -- register_copy
|
|
// [455] phi level#18 = level#35 [phi:play_move_down::@11->play_move_down::@return#9] -- register_copy
|
|
// [455] phi lines_bcd#16 = lines_bcd#28 [phi:play_move_down::@11->play_move_down::@return#10] -- register_copy
|
|
// [455] phi current_ypos#20 = current_ypos#40 [phi:play_move_down::@11->play_move_down::@return#11] -- register_copy
|
|
// [455] phi current_movedown_counter#15 = 0 [phi:play_move_down::@11->play_move_down::@return#12] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z current_movedown_counter
|
|
// [455] phi play_move_down::return#3 = 1 [phi:play_move_down::@11->play_move_down::@return#13] -- vbuxx=vbuc1
|
|
ldx #1
|
|
rts
|
|
// [455] phi from play_move_down::@3 to play_move_down::@return [phi:play_move_down::@3->play_move_down::@return]
|
|
__b5:
|
|
// [455] phi next_piece_idx#17 = next_piece_idx#23 [phi:play_move_down::@3->play_move_down::@return#0] -- register_copy
|
|
// [455] phi game_over#16 = game_over#22 [phi:play_move_down::@3->play_move_down::@return#1] -- register_copy
|
|
// [455] phi current_xpos#23 = current_xpos#13 [phi:play_move_down::@3->play_move_down::@return#2] -- register_copy
|
|
// [455] phi current_piece_gfx#21 = current_piece_gfx#12 [phi:play_move_down::@3->play_move_down::@return#3] -- register_copy
|
|
// [455] phi current_orientation#21 = current_orientation#12 [phi:play_move_down::@3->play_move_down::@return#4] -- register_copy
|
|
// [455] phi current_piece_char#17 = current_piece_char#23 [phi:play_move_down::@3->play_move_down::@return#5] -- register_copy
|
|
// [455] phi current_piece#16 = current_piece#23 [phi:play_move_down::@3->play_move_down::@return#6] -- register_copy
|
|
// [455] phi level_bcd#18 = level_bcd#10 [phi:play_move_down::@3->play_move_down::@return#7] -- register_copy
|
|
// [455] phi current_movedown_slow#22 = current_movedown_slow#13 [phi:play_move_down::@3->play_move_down::@return#8] -- register_copy
|
|
// [455] phi level#18 = level#25 [phi:play_move_down::@3->play_move_down::@return#9] -- register_copy
|
|
// [455] phi lines_bcd#16 = lines_bcd#20 [phi:play_move_down::@3->play_move_down::@return#10] -- register_copy
|
|
// [455] phi current_ypos#20 = current_ypos#10 [phi:play_move_down::@3->play_move_down::@return#11] -- register_copy
|
|
// [455] phi current_movedown_counter#15 = current_movedown_counter#13 [phi:play_move_down::@3->play_move_down::@return#12] -- register_copy
|
|
// [455] phi play_move_down::return#3 = 0 [phi:play_move_down::@3->play_move_down::@return#13] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// play_move_down::@return
|
|
// }
|
|
// [456] return
|
|
rts
|
|
// play_move_down::@10
|
|
__b10:
|
|
// current_ypos++;
|
|
// [457] current_ypos#2 = ++ current_ypos#10 -- vbuz1=_inc_vbuz1
|
|
inc.z current_ypos
|
|
// [454] phi from play_move_down::@10 to play_move_down::@11 [phi:play_move_down::@10->play_move_down::@11]
|
|
// [454] phi next_piece_idx#32 = next_piece_idx#23 [phi:play_move_down::@10->play_move_down::@11#0] -- register_copy
|
|
// [454] phi game_over#29 = game_over#22 [phi:play_move_down::@10->play_move_down::@11#1] -- register_copy
|
|
// [454] phi current_xpos#45 = current_xpos#13 [phi:play_move_down::@10->play_move_down::@11#2] -- register_copy
|
|
// [454] phi current_piece_gfx#37 = current_piece_gfx#12 [phi:play_move_down::@10->play_move_down::@11#3] -- register_copy
|
|
// [454] phi current_orientation#39 = current_orientation#12 [phi:play_move_down::@10->play_move_down::@11#4] -- register_copy
|
|
// [454] phi current_piece_char#31 = current_piece_char#23 [phi:play_move_down::@10->play_move_down::@11#5] -- register_copy
|
|
// [454] phi current_piece#30 = current_piece#23 [phi:play_move_down::@10->play_move_down::@11#6] -- register_copy
|
|
// [454] phi level_bcd#33 = level_bcd#10 [phi:play_move_down::@10->play_move_down::@11#7] -- register_copy
|
|
// [454] phi current_movedown_slow#39 = current_movedown_slow#13 [phi:play_move_down::@10->play_move_down::@11#8] -- register_copy
|
|
// [454] phi level#35 = level#25 [phi:play_move_down::@10->play_move_down::@11#9] -- register_copy
|
|
// [454] phi lines_bcd#28 = lines_bcd#20 [phi:play_move_down::@10->play_move_down::@11#10] -- register_copy
|
|
// [454] phi current_ypos#40 = current_ypos#2 [phi:play_move_down::@10->play_move_down::@11#11] -- register_copy
|
|
jmp __b11
|
|
}
|
|
// play_move_leftright
|
|
// Move left/right or rotate the current piece
|
|
// Return non-zero if a render is needed
|
|
// play_move_leftright(byte register(A) key_event)
|
|
play_move_leftright: {
|
|
// if(key_event==KEY_COMMA)
|
|
// [458] if(play_move_leftright::key_event#0==KEY_COMMA) goto play_move_leftright::@1 -- vbuaa_eq_vbuc1_then_la1
|
|
// Handle keyboard events
|
|
cmp #KEY_COMMA
|
|
beq __b1
|
|
// play_move_leftright::@2
|
|
// if(key_event==KEY_DOT)
|
|
// [459] if(play_move_leftright::key_event#0!=KEY_DOT) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #KEY_DOT
|
|
bne __b3
|
|
// play_move_leftright::@3
|
|
// play_collision(current_xpos+1,current_ypos,current_orientation)
|
|
// [460] play_collision::xpos#2 = current_xpos#23 + 1 -- vbuz1=vbuz2_plus_1
|
|
ldy.z current_xpos
|
|
iny
|
|
sty.z play_collision.xpos
|
|
// [461] play_collision::ypos#2 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [462] play_collision::orientation#2 = current_orientation#21 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [463] current_piece#100 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// play_collision(current_xpos+1,current_ypos,current_orientation)
|
|
// [464] call play_collision
|
|
// [386] phi from play_move_leftright::@3 to play_collision [phi:play_move_leftright::@3->play_collision]
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#2 [phi:play_move_leftright::@3->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#2 [phi:play_move_leftright::@3->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#2 [phi:play_move_leftright::@3->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#100 [phi:play_move_leftright::@3->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// play_collision(current_xpos+1,current_ypos,current_orientation)
|
|
// [465] play_collision::return#13 = play_collision::return#15
|
|
// play_move_leftright::@7
|
|
// [466] play_move_leftright::$4 = play_collision::return#13
|
|
// if(play_collision(current_xpos+1,current_ypos,current_orientation)==COLLISION_NONE)
|
|
// [467] if(play_move_leftright::$4!=COLLISION_NONE) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __b3
|
|
// play_move_leftright::@4
|
|
// current_xpos++;
|
|
// [468] current_xpos#5 = ++ current_xpos#23 -- vbuz1=_inc_vbuz1
|
|
inc.z current_xpos
|
|
// [469] phi from play_move_leftright::@4 play_move_leftright::@5 to play_move_leftright::@return [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return]
|
|
__b2:
|
|
// [469] phi current_xpos#27 = current_xpos#5 [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return#0] -- register_copy
|
|
// [469] phi play_move_leftright::return#2 = 1 [phi:play_move_leftright::@4/play_move_leftright::@5->play_move_leftright::@return#1] -- vbuaa=vbuc1
|
|
lda #1
|
|
rts
|
|
// [469] phi from play_move_leftright::@2 play_move_leftright::@6 play_move_leftright::@7 to play_move_leftright::@return [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return]
|
|
__b3:
|
|
// [469] phi current_xpos#27 = current_xpos#23 [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return#0] -- register_copy
|
|
// [469] phi play_move_leftright::return#2 = 0 [phi:play_move_leftright::@2/play_move_leftright::@6/play_move_leftright::@7->play_move_leftright::@return#1] -- vbuaa=vbuc1
|
|
lda #0
|
|
// play_move_leftright::@return
|
|
// }
|
|
// [470] return
|
|
rts
|
|
// play_move_leftright::@1
|
|
__b1:
|
|
// play_collision(current_xpos-1,current_ypos,current_orientation)
|
|
// [471] play_collision::xpos#1 = current_xpos#23 - 1 -- vbuz1=vbuz2_minus_1
|
|
ldx.z current_xpos
|
|
dex
|
|
stx.z play_collision.xpos
|
|
// [472] play_collision::ypos#1 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [473] play_collision::orientation#1 = current_orientation#21 -- vbuxx=vbuz1
|
|
ldx.z current_orientation
|
|
// [474] current_piece#99 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// play_collision(current_xpos-1,current_ypos,current_orientation)
|
|
// [475] call play_collision
|
|
// [386] phi from play_move_leftright::@1 to play_collision [phi:play_move_leftright::@1->play_collision]
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#1 [phi:play_move_leftright::@1->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#1 [phi:play_move_leftright::@1->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#1 [phi:play_move_leftright::@1->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#99 [phi:play_move_leftright::@1->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// play_collision(current_xpos-1,current_ypos,current_orientation)
|
|
// [476] play_collision::return#1 = play_collision::return#15
|
|
// play_move_leftright::@6
|
|
// [477] play_move_leftright::$8 = play_collision::return#1
|
|
// if(play_collision(current_xpos-1,current_ypos,current_orientation)==COLLISION_NONE)
|
|
// [478] if(play_move_leftright::$8!=COLLISION_NONE) goto play_move_leftright::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __b3
|
|
// play_move_leftright::@5
|
|
// current_xpos--;
|
|
// [479] current_xpos#7 = -- current_xpos#23 -- vbuz1=_dec_vbuz1
|
|
dec.z current_xpos
|
|
jmp __b2
|
|
}
|
|
// play_move_rotate
|
|
// Rotate the current piece based on key-presses
|
|
// Return non-zero if a render is needed
|
|
// play_move_rotate(byte register(A) key_event)
|
|
play_move_rotate: {
|
|
// Handle keyboard events
|
|
.label orientation = $23
|
|
// if(key_event==KEY_Z)
|
|
// [480] if(play_move_rotate::key_event#0==KEY_Z) goto play_move_rotate::@1 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #KEY_Z
|
|
beq __b1
|
|
// play_move_rotate::@4
|
|
// if(key_event==KEY_X)
|
|
// [481] if(play_move_rotate::key_event#0==KEY_X) goto play_move_rotate::@2 -- vbuaa_eq_vbuc1_then_la1
|
|
cmp #KEY_X
|
|
beq __b2
|
|
// [482] phi from play_move_rotate::@4 play_move_rotate::@6 to play_move_rotate::@return [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return]
|
|
__b4:
|
|
// [482] phi current_piece_gfx#22 = current_piece_gfx#21 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#0] -- register_copy
|
|
// [482] phi current_orientation#26 = current_orientation#21 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#1] -- register_copy
|
|
// [482] phi play_move_rotate::return#2 = 0 [phi:play_move_rotate::@4/play_move_rotate::@6->play_move_rotate::@return#2] -- vbuaa=vbuc1
|
|
lda #0
|
|
// play_move_rotate::@return
|
|
// }
|
|
// [483] return
|
|
rts
|
|
// play_move_rotate::@2
|
|
__b2:
|
|
// current_orientation+0x10
|
|
// [484] play_move_rotate::$5 = current_orientation#21 + $10 -- vbuxx=vbuz1_plus_vbuc1
|
|
lax.z current_orientation
|
|
axs #-[$10]
|
|
// orientation = (current_orientation+0x10)&0x3f
|
|
// [485] play_move_rotate::orientation#2 = play_move_rotate::$5 & $3f -- vbuz1=vbuxx_band_vbuc1
|
|
lda #$3f
|
|
sax.z orientation
|
|
// [486] phi from play_move_rotate::@1 play_move_rotate::@2 to play_move_rotate::@3 [phi:play_move_rotate::@1/play_move_rotate::@2->play_move_rotate::@3]
|
|
// [486] phi play_move_rotate::orientation#3 = play_move_rotate::orientation#1 [phi:play_move_rotate::@1/play_move_rotate::@2->play_move_rotate::@3#0] -- register_copy
|
|
// play_move_rotate::@3
|
|
__b3:
|
|
// play_collision(current_xpos, current_ypos, orientation)
|
|
// [487] play_collision::xpos#3 = current_xpos#27 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z play_collision.xpos
|
|
// [488] play_collision::ypos#3 = current_ypos#20 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z play_collision.ypos
|
|
// [489] play_collision::orientation#3 = play_move_rotate::orientation#3 -- vbuxx=vbuz1
|
|
ldx.z orientation
|
|
// [490] current_piece#101 = current_piece#16 -- pbuz1=pbuz2
|
|
lda.z current_piece
|
|
sta.z current_piece_1
|
|
lda.z current_piece+1
|
|
sta.z current_piece_1+1
|
|
// play_collision(current_xpos, current_ypos, orientation)
|
|
// [491] call play_collision
|
|
// [386] phi from play_move_rotate::@3 to play_collision [phi:play_move_rotate::@3->play_collision]
|
|
// [386] phi play_collision::xpos#6 = play_collision::xpos#3 [phi:play_move_rotate::@3->play_collision#0] -- register_copy
|
|
// [386] phi play_collision::yp#0 = play_collision::ypos#3 [phi:play_move_rotate::@3->play_collision#1] -- register_copy
|
|
// [386] phi play_collision::orientation#5 = play_collision::orientation#3 [phi:play_move_rotate::@3->play_collision#2] -- register_copy
|
|
// [386] phi current_piece#18 = current_piece#101 [phi:play_move_rotate::@3->play_collision#3] -- register_copy
|
|
jsr play_collision
|
|
// play_collision(current_xpos, current_ypos, orientation)
|
|
// [492] play_collision::return#14 = play_collision::return#15
|
|
// play_move_rotate::@6
|
|
// [493] play_move_rotate::$2 = play_collision::return#14
|
|
// if(play_collision(current_xpos, current_ypos, orientation) == COLLISION_NONE)
|
|
// [494] if(play_move_rotate::$2!=COLLISION_NONE) goto play_move_rotate::@return -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #COLLISION_NONE
|
|
bne __b4
|
|
// play_move_rotate::@5
|
|
// current_orientation = orientation
|
|
// [495] current_orientation#6 = play_move_rotate::orientation#3 -- vbuz1=vbuz2
|
|
lda.z orientation
|
|
sta.z current_orientation
|
|
// current_piece_gfx = current_piece + current_orientation
|
|
// [496] current_piece_gfx#6 = current_piece#16 + current_orientation#6 -- pbuz1=pbuz2_plus_vbuz3
|
|
clc
|
|
adc.z current_piece
|
|
sta.z current_piece_gfx
|
|
lda #0
|
|
adc.z current_piece+1
|
|
sta.z current_piece_gfx+1
|
|
// [482] phi from play_move_rotate::@5 to play_move_rotate::@return [phi:play_move_rotate::@5->play_move_rotate::@return]
|
|
// [482] phi current_piece_gfx#22 = current_piece_gfx#6 [phi:play_move_rotate::@5->play_move_rotate::@return#0] -- register_copy
|
|
// [482] phi current_orientation#26 = current_orientation#6 [phi:play_move_rotate::@5->play_move_rotate::@return#1] -- register_copy
|
|
// [482] phi play_move_rotate::return#2 = 1 [phi:play_move_rotate::@5->play_move_rotate::@return#2] -- vbuaa=vbuc1
|
|
lda #1
|
|
rts
|
|
// play_move_rotate::@1
|
|
__b1:
|
|
// current_orientation-0x10
|
|
// [497] play_move_rotate::$7 = current_orientation#21 - $10 -- vbuaa=vbuz1_minus_vbuc1
|
|
lda.z current_orientation
|
|
sec
|
|
sbc #$10
|
|
// orientation = (current_orientation-0x10)&0x3f
|
|
// [498] play_move_rotate::orientation#1 = play_move_rotate::$7 & $3f -- vbuz1=vbuaa_band_vbuc1
|
|
and #$3f
|
|
sta.z orientation
|
|
jmp __b3
|
|
}
|
|
// render_bcd
|
|
// Render BCD digits on a screen.
|
|
// - screen: pointer to the screen to render on
|
|
// - offset: offset on the screen
|
|
// - bcd: The BCD-value to render
|
|
// - only_low: if non-zero only renders the low digit
|
|
// render_bcd(byte* zp($c) screen, word zp($20) offset, byte register(X) bcd, byte register(Y) only_low)
|
|
render_bcd: {
|
|
.const ZERO_CHAR = $35
|
|
.label screen = $c
|
|
.label screen_pos = $20
|
|
.label offset = $20
|
|
// screen_pos = screen+offset
|
|
// [500] render_bcd::screen_pos#0 = render_bcd::screen#6 + render_bcd::offset#6 -- pbuz1=pbuz2_plus_vwuz1
|
|
lda.z screen_pos
|
|
clc
|
|
adc.z screen
|
|
sta.z screen_pos
|
|
lda.z screen_pos+1
|
|
adc.z screen+1
|
|
sta.z screen_pos+1
|
|
// if(only_low==0)
|
|
// [501] if(render_bcd::only_low#6!=0) goto render_bcd::@1 -- vbuyy_neq_0_then_la1
|
|
cpy #0
|
|
bne __b1
|
|
// render_bcd::@2
|
|
// bcd >> 4
|
|
// [502] render_bcd::$5 = render_bcd::bcd#6 >> 4 -- vbuaa=vbuxx_ror_4
|
|
txa
|
|
lsr
|
|
lsr
|
|
lsr
|
|
lsr
|
|
// ZERO_CHAR + (bcd >> 4)
|
|
// [503] render_bcd::$6 = render_bcd::ZERO_CHAR + render_bcd::$5 -- vbuaa=vbuc1_plus_vbuaa
|
|
clc
|
|
adc #ZERO_CHAR
|
|
// *screen_pos++ = ZERO_CHAR + (bcd >> 4)
|
|
// [504] *render_bcd::screen_pos#0 = render_bcd::$6 -- _deref_pbuz1=vbuaa
|
|
ldy #0
|
|
sta (screen_pos),y
|
|
// *screen_pos++ = ZERO_CHAR + (bcd >> 4);
|
|
// [505] render_bcd::screen_pos#2 = ++ render_bcd::screen_pos#0 -- pbuz1=_inc_pbuz1
|
|
inc.z screen_pos
|
|
bne !+
|
|
inc.z screen_pos+1
|
|
!:
|
|
// [506] phi from render_bcd render_bcd::@2 to render_bcd::@1 [phi:render_bcd/render_bcd::@2->render_bcd::@1]
|
|
// [506] phi render_bcd::screen_pos#3 = render_bcd::screen_pos#0 [phi:render_bcd/render_bcd::@2->render_bcd::@1#0] -- register_copy
|
|
// render_bcd::@1
|
|
__b1:
|
|
// bcd & 0x0f
|
|
// [507] render_bcd::$3 = render_bcd::bcd#6 & $f -- vbuaa=vbuxx_band_vbuc1
|
|
txa
|
|
and #$f
|
|
// ZERO_CHAR + (bcd & 0x0f)
|
|
// [508] render_bcd::$4 = render_bcd::ZERO_CHAR + render_bcd::$3 -- vbuaa=vbuc1_plus_vbuaa
|
|
clc
|
|
adc #ZERO_CHAR
|
|
// *screen_pos++ = ZERO_CHAR + (bcd & 0x0f)
|
|
// [509] *render_bcd::screen_pos#3 = render_bcd::$4 -- _deref_pbuz1=vbuaa
|
|
ldy #0
|
|
sta (screen_pos),y
|
|
// render_bcd::@return
|
|
// }
|
|
// [510] return
|
|
rts
|
|
}
|
|
// play_lock_current
|
|
// Lock the current piece onto the playfield
|
|
play_lock_current: {
|
|
.label yp = $32
|
|
.label playfield_line = $36
|
|
.label xp = $22
|
|
.label i = $38
|
|
.label l = $33
|
|
.label i_1 = $39
|
|
// yp = current_ypos
|
|
// [511] play_lock_current::yp#0 = current_ypos#10 -- vbuz1=vbuz2
|
|
lda.z current_ypos
|
|
sta.z yp
|
|
// [512] phi from play_lock_current to play_lock_current::@1 [phi:play_lock_current->play_lock_current::@1]
|
|
// [512] phi play_lock_current::l#6 = 0 [phi:play_lock_current->play_lock_current::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z l
|
|
// [512] phi play_lock_current::i#3 = 0 [phi:play_lock_current->play_lock_current::@1#1] -- vbuz1=vbuc1
|
|
sta.z i_1
|
|
// [512] phi play_lock_current::yp#2 = play_lock_current::yp#0 [phi:play_lock_current->play_lock_current::@1#2] -- register_copy
|
|
// play_lock_current::@1
|
|
__b1:
|
|
// playfield_line = playfield_lines[yp]
|
|
// [513] play_lock_current::$4 = play_lock_current::yp#2 << 1 -- vbuaa=vbuz1_rol_1
|
|
lda.z yp
|
|
asl
|
|
// [514] play_lock_current::playfield_line#0 = playfield_lines[play_lock_current::$4] -- pbuz1=qbuc1_derefidx_vbuaa
|
|
tay
|
|
lda playfield_lines,y
|
|
sta.z playfield_line
|
|
lda playfield_lines+1,y
|
|
sta.z playfield_line+1
|
|
// xp = current_xpos
|
|
// [515] play_lock_current::xp#0 = current_xpos#13 -- vbuz1=vbuz2
|
|
lda.z current_xpos
|
|
sta.z xp
|
|
// [516] phi from play_lock_current::@1 to play_lock_current::@2 [phi:play_lock_current::@1->play_lock_current::@2]
|
|
// [516] phi play_lock_current::c#2 = 0 [phi:play_lock_current::@1->play_lock_current::@2#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [516] phi play_lock_current::xp#2 = play_lock_current::xp#0 [phi:play_lock_current::@1->play_lock_current::@2#1] -- register_copy
|
|
// [516] phi play_lock_current::i#2 = play_lock_current::i#3 [phi:play_lock_current::@1->play_lock_current::@2#2] -- register_copy
|
|
// play_lock_current::@2
|
|
__b2:
|
|
// if(current_piece_gfx[i++]!=0)
|
|
// [517] play_lock_current::i#1 = ++ play_lock_current::i#2 -- vbuz1=_inc_vbuz2
|
|
ldy.z i_1
|
|
iny
|
|
sty.z i
|
|
// [518] if(current_piece_gfx#12[play_lock_current::i#2]==0) goto play_lock_current::@3 -- pbuz1_derefidx_vbuz2_eq_0_then_la1
|
|
ldy.z i_1
|
|
lda (current_piece_gfx),y
|
|
cmp #0
|
|
beq __b3
|
|
// play_lock_current::@4
|
|
// playfield_line[xp] = current_piece_char
|
|
// [519] play_lock_current::playfield_line#0[play_lock_current::xp#2] = current_piece_char#23 -- pbuz1_derefidx_vbuz2=vbuz3
|
|
lda.z current_piece_char
|
|
ldy.z xp
|
|
sta (playfield_line),y
|
|
// play_lock_current::@3
|
|
__b3:
|
|
// xp++;
|
|
// [520] play_lock_current::xp#1 = ++ play_lock_current::xp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z xp
|
|
// for(char c:0..3)
|
|
// [521] play_lock_current::c#1 = ++ play_lock_current::c#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [522] if(play_lock_current::c#1!=4) goto play_lock_current::@7 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #4
|
|
bne __b7
|
|
// play_lock_current::@5
|
|
// yp++;
|
|
// [523] play_lock_current::yp#1 = ++ play_lock_current::yp#2 -- vbuz1=_inc_vbuz1
|
|
inc.z yp
|
|
// for(char l:0..3)
|
|
// [524] play_lock_current::l#1 = ++ play_lock_current::l#6 -- vbuz1=_inc_vbuz1
|
|
inc.z l
|
|
// [525] if(play_lock_current::l#1!=4) goto play_lock_current::@6 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #4
|
|
cmp.z l
|
|
bne __b6
|
|
// play_lock_current::@return
|
|
// }
|
|
// [526] return
|
|
rts
|
|
// play_lock_current::@6
|
|
__b6:
|
|
// [527] play_lock_current::i#7 = play_lock_current::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [512] phi from play_lock_current::@6 to play_lock_current::@1 [phi:play_lock_current::@6->play_lock_current::@1]
|
|
// [512] phi play_lock_current::l#6 = play_lock_current::l#1 [phi:play_lock_current::@6->play_lock_current::@1#0] -- register_copy
|
|
// [512] phi play_lock_current::i#3 = play_lock_current::i#7 [phi:play_lock_current::@6->play_lock_current::@1#1] -- register_copy
|
|
// [512] phi play_lock_current::yp#2 = play_lock_current::yp#1 [phi:play_lock_current::@6->play_lock_current::@1#2] -- register_copy
|
|
jmp __b1
|
|
// play_lock_current::@7
|
|
__b7:
|
|
// [528] play_lock_current::i#9 = play_lock_current::i#1 -- vbuz1=vbuz2
|
|
lda.z i
|
|
sta.z i_1
|
|
// [516] phi from play_lock_current::@7 to play_lock_current::@2 [phi:play_lock_current::@7->play_lock_current::@2]
|
|
// [516] phi play_lock_current::c#2 = play_lock_current::c#1 [phi:play_lock_current::@7->play_lock_current::@2#0] -- register_copy
|
|
// [516] phi play_lock_current::xp#2 = play_lock_current::xp#1 [phi:play_lock_current::@7->play_lock_current::@2#1] -- register_copy
|
|
// [516] phi play_lock_current::i#2 = play_lock_current::i#9 [phi:play_lock_current::@7->play_lock_current::@2#2] -- register_copy
|
|
jmp __b2
|
|
}
|
|
// play_remove_lines
|
|
// Look through the playfield for lines - and remove any lines found
|
|
// Utilizes two cursors on the playfield - one reading cells and one writing cells
|
|
// Whenever a full line is detected the writing cursor is instructed to write to the same line once more.
|
|
// Returns the number of lines removed
|
|
play_remove_lines: {
|
|
.label c = $39
|
|
.label x = $32
|
|
.label y = $23
|
|
.label removed = $2f
|
|
.label full = $33
|
|
// [530] phi from play_remove_lines to play_remove_lines::@1 [phi:play_remove_lines->play_remove_lines::@1]
|
|
// [530] phi play_remove_lines::removed#11 = 0 [phi:play_remove_lines->play_remove_lines::@1#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z removed
|
|
// [530] phi play_remove_lines::y#8 = 0 [phi:play_remove_lines->play_remove_lines::@1#1] -- vbuz1=vbuc1
|
|
sta.z y
|
|
// [530] phi play_remove_lines::w#12 = PLAYFIELD_LINES*PLAYFIELD_COLS-1 [phi:play_remove_lines->play_remove_lines::@1#2] -- vbuxx=vbuc1
|
|
ldx #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
// [530] phi play_remove_lines::r#3 = PLAYFIELD_LINES*PLAYFIELD_COLS-1 [phi:play_remove_lines->play_remove_lines::@1#3] -- vbuyy=vbuc1
|
|
ldy #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
|
// Read all lines and rewrite them
|
|
// [530] phi from play_remove_lines::@6 to play_remove_lines::@1 [phi:play_remove_lines::@6->play_remove_lines::@1]
|
|
// [530] phi play_remove_lines::removed#11 = play_remove_lines::removed#7 [phi:play_remove_lines::@6->play_remove_lines::@1#0] -- register_copy
|
|
// [530] phi play_remove_lines::y#8 = play_remove_lines::y#1 [phi:play_remove_lines::@6->play_remove_lines::@1#1] -- register_copy
|
|
// [530] phi play_remove_lines::w#12 = play_remove_lines::w#11 [phi:play_remove_lines::@6->play_remove_lines::@1#2] -- register_copy
|
|
// [530] phi play_remove_lines::r#3 = play_remove_lines::r#1 [phi:play_remove_lines::@6->play_remove_lines::@1#3] -- register_copy
|
|
// play_remove_lines::@1
|
|
__b1:
|
|
// [531] phi from play_remove_lines::@1 to play_remove_lines::@2 [phi:play_remove_lines::@1->play_remove_lines::@2]
|
|
// [531] phi play_remove_lines::full#4 = 1 [phi:play_remove_lines::@1->play_remove_lines::@2#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z full
|
|
// [531] phi play_remove_lines::x#2 = 0 [phi:play_remove_lines::@1->play_remove_lines::@2#1] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z x
|
|
// [531] phi play_remove_lines::w#4 = play_remove_lines::w#12 [phi:play_remove_lines::@1->play_remove_lines::@2#2] -- register_copy
|
|
// [531] phi play_remove_lines::r#2 = play_remove_lines::r#3 [phi:play_remove_lines::@1->play_remove_lines::@2#3] -- register_copy
|
|
// [531] phi from play_remove_lines::@3 to play_remove_lines::@2 [phi:play_remove_lines::@3->play_remove_lines::@2]
|
|
// [531] phi play_remove_lines::full#4 = play_remove_lines::full#2 [phi:play_remove_lines::@3->play_remove_lines::@2#0] -- register_copy
|
|
// [531] phi play_remove_lines::x#2 = play_remove_lines::x#1 [phi:play_remove_lines::@3->play_remove_lines::@2#1] -- register_copy
|
|
// [531] phi play_remove_lines::w#4 = play_remove_lines::w#1 [phi:play_remove_lines::@3->play_remove_lines::@2#2] -- register_copy
|
|
// [531] phi play_remove_lines::r#2 = play_remove_lines::r#1 [phi:play_remove_lines::@3->play_remove_lines::@2#3] -- register_copy
|
|
// play_remove_lines::@2
|
|
__b2:
|
|
// c = playfield[r--]
|
|
// [532] play_remove_lines::c#0 = playfield[play_remove_lines::r#2] -- vbuz1=pbuc1_derefidx_vbuyy
|
|
lda playfield,y
|
|
sta.z c
|
|
// [533] play_remove_lines::r#1 = -- play_remove_lines::r#2 -- vbuyy=_dec_vbuyy
|
|
dey
|
|
// if(c==0)
|
|
// [534] if(play_remove_lines::c#0!=0) goto play_remove_lines::@9 -- vbuz1_neq_0_then_la1
|
|
cmp #0
|
|
bne __b3
|
|
// [536] phi from play_remove_lines::@2 to play_remove_lines::@3 [phi:play_remove_lines::@2->play_remove_lines::@3]
|
|
// [536] phi play_remove_lines::full#2 = 0 [phi:play_remove_lines::@2->play_remove_lines::@3#0] -- vbuz1=vbuc1
|
|
lda #0
|
|
sta.z full
|
|
// [535] phi from play_remove_lines::@2 to play_remove_lines::@9 [phi:play_remove_lines::@2->play_remove_lines::@9]
|
|
// play_remove_lines::@9
|
|
// [536] phi from play_remove_lines::@9 to play_remove_lines::@3 [phi:play_remove_lines::@9->play_remove_lines::@3]
|
|
// [536] phi play_remove_lines::full#2 = play_remove_lines::full#4 [phi:play_remove_lines::@9->play_remove_lines::@3#0] -- register_copy
|
|
// play_remove_lines::@3
|
|
__b3:
|
|
// playfield[w--] = c
|
|
// [537] playfield[play_remove_lines::w#4] = play_remove_lines::c#0 -- pbuc1_derefidx_vbuxx=vbuz1
|
|
lda.z c
|
|
sta playfield,x
|
|
// playfield[w--] = c;
|
|
// [538] play_remove_lines::w#1 = -- play_remove_lines::w#4 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
// for(char x:0..PLAYFIELD_COLS-1)
|
|
// [539] play_remove_lines::x#1 = ++ play_remove_lines::x#2 -- vbuz1=_inc_vbuz1
|
|
inc.z x
|
|
// [540] if(play_remove_lines::x#1!=PLAYFIELD_COLS-1+1) goto play_remove_lines::@2 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_COLS-1+1
|
|
cmp.z x
|
|
bne __b2
|
|
// play_remove_lines::@4
|
|
// if(full==1)
|
|
// [541] if(play_remove_lines::full#2!=1) goto play_remove_lines::@6 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #1
|
|
cmp.z full
|
|
bne __b6
|
|
// play_remove_lines::@5
|
|
// w = w + PLAYFIELD_COLS
|
|
// [542] play_remove_lines::w#2 = play_remove_lines::w#1 + PLAYFIELD_COLS -- vbuxx=vbuxx_plus_vbuc1
|
|
txa
|
|
axs #-[PLAYFIELD_COLS]
|
|
// removed++;
|
|
// [543] play_remove_lines::removed#1 = ++ play_remove_lines::removed#11 -- vbuz1=_inc_vbuz1
|
|
inc.z removed
|
|
// [544] phi from play_remove_lines::@4 play_remove_lines::@5 to play_remove_lines::@6 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6]
|
|
// [544] phi play_remove_lines::removed#7 = play_remove_lines::removed#11 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6#0] -- register_copy
|
|
// [544] phi play_remove_lines::w#11 = play_remove_lines::w#1 [phi:play_remove_lines::@4/play_remove_lines::@5->play_remove_lines::@6#1] -- register_copy
|
|
// play_remove_lines::@6
|
|
__b6:
|
|
// for(char y:0..PLAYFIELD_LINES-1)
|
|
// [545] play_remove_lines::y#1 = ++ play_remove_lines::y#8 -- vbuz1=_inc_vbuz1
|
|
inc.z y
|
|
// [546] if(play_remove_lines::y#1!=PLAYFIELD_LINES-1+1) goto play_remove_lines::@1 -- vbuz1_neq_vbuc1_then_la1
|
|
lda #PLAYFIELD_LINES-1+1
|
|
cmp.z y
|
|
bne __b1
|
|
// [547] phi from play_remove_lines::@6 play_remove_lines::@8 to play_remove_lines::@7 [phi:play_remove_lines::@6/play_remove_lines::@8->play_remove_lines::@7]
|
|
__b4:
|
|
// [547] phi play_remove_lines::w#6 = play_remove_lines::w#11 [phi:play_remove_lines::@6/play_remove_lines::@8->play_remove_lines::@7#0] -- register_copy
|
|
// Write zeros in the rest of the lines
|
|
// play_remove_lines::@7
|
|
// while(w!=0xff)
|
|
// [548] if(play_remove_lines::w#6!=$ff) goto play_remove_lines::@8 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #$ff
|
|
bne __b8
|
|
// play_remove_lines::@return
|
|
// }
|
|
// [549] return
|
|
rts
|
|
// play_remove_lines::@8
|
|
__b8:
|
|
// playfield[w--] = 0
|
|
// [550] playfield[play_remove_lines::w#6] = 0 -- pbuc1_derefidx_vbuxx=vbuc2
|
|
lda #0
|
|
sta playfield,x
|
|
// playfield[w--] = 0;
|
|
// [551] play_remove_lines::w#3 = -- play_remove_lines::w#6 -- vbuxx=_dec_vbuxx
|
|
dex
|
|
jmp __b4
|
|
}
|
|
// play_update_score
|
|
// Update the score based on the number of lines removed
|
|
// play_update_score(byte register(X) removed)
|
|
play_update_score: {
|
|
.label lines_before = $39
|
|
.label add_bcd = $3a
|
|
// if(removed!=0)
|
|
// [552] if(play_update_score::removed#0==0) goto play_update_score::@return -- vbuxx_eq_0_then_la1
|
|
cpx #0
|
|
beq __breturn
|
|
// play_update_score::@1
|
|
// <lines_bcd
|
|
// [553] play_update_score::$2 = < lines_bcd#20 -- vbuaa=_lo_vwuz1
|
|
lda.z lines_bcd
|
|
// lines_before = <lines_bcd&0xf0
|
|
// [554] play_update_score::lines_before#0 = play_update_score::$2 & $f0 -- vbuz1=vbuaa_band_vbuc1
|
|
and #$f0
|
|
sta.z lines_before
|
|
// add_bcd = score_add_bcd[removed]
|
|
// [555] play_update_score::$9 = play_update_score::removed#0 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [556] play_update_score::add_bcd#0 = score_add_bcd[play_update_score::$9] -- vduz1=pduc1_derefidx_vbuaa
|
|
tay
|
|
lda score_add_bcd,y
|
|
sta.z add_bcd
|
|
lda score_add_bcd+1,y
|
|
sta.z add_bcd+1
|
|
lda score_add_bcd+2,y
|
|
sta.z add_bcd+2
|
|
lda score_add_bcd+3,y
|
|
sta.z add_bcd+3
|
|
// asm
|
|
// asm { sed }
|
|
sed
|
|
// lines_bcd += removed
|
|
// [558] lines_bcd#31 = lines_bcd#20 + play_update_score::removed#0 -- vwuz1=vwuz1_plus_vbuxx
|
|
txa
|
|
clc
|
|
adc.z lines_bcd
|
|
sta.z lines_bcd
|
|
bcc !+
|
|
inc.z lines_bcd+1
|
|
!:
|
|
// score_bcd += add_bcd
|
|
// [559] score_bcd = score_bcd + play_update_score::add_bcd#0 -- vduz1=vduz1_plus_vduz2
|
|
lda.z score_bcd
|
|
clc
|
|
adc.z add_bcd
|
|
sta.z score_bcd
|
|
lda.z score_bcd+1
|
|
adc.z add_bcd+1
|
|
sta.z score_bcd+1
|
|
lda.z score_bcd+2
|
|
adc.z add_bcd+2
|
|
sta.z score_bcd+2
|
|
lda.z score_bcd+3
|
|
adc.z add_bcd+3
|
|
sta.z score_bcd+3
|
|
// asm
|
|
// asm { cld }
|
|
cld
|
|
// <lines_bcd
|
|
// [561] play_update_score::$4 = < lines_bcd#31 -- vbuaa=_lo_vwuz1
|
|
lda.z lines_bcd
|
|
// lines_after = <lines_bcd&0xf0
|
|
// [562] play_update_score::lines_after#0 = play_update_score::$4 & $f0 -- vbuaa=vbuaa_band_vbuc1
|
|
and #$f0
|
|
// if(lines_before!=lines_after)
|
|
// [563] if(play_update_score::lines_before#0==play_update_score::lines_after#0) goto play_update_score::@return -- vbuz1_eq_vbuaa_then_la1
|
|
cmp.z lines_before
|
|
beq __breturn
|
|
// [564] phi from play_update_score::@1 to play_update_score::@2 [phi:play_update_score::@1->play_update_score::@2]
|
|
// play_update_score::@2
|
|
// play_increase_level()
|
|
// [565] call play_increase_level
|
|
jsr play_increase_level
|
|
// [566] phi from play_update_score play_update_score::@1 play_update_score::@2 to play_update_score::@return [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return]
|
|
// [566] phi level_bcd#20 = level_bcd#10 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#0] -- register_copy
|
|
// [566] phi current_movedown_slow#24 = current_movedown_slow#13 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#1] -- register_copy
|
|
// [566] phi level#20 = level#25 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#2] -- register_copy
|
|
// [566] phi lines_bcd#18 = lines_bcd#20 [phi:play_update_score/play_update_score::@1/play_update_score::@2->play_update_score::@return#3] -- register_copy
|
|
// play_update_score::@return
|
|
__breturn:
|
|
// }
|
|
// [567] return
|
|
rts
|
|
}
|
|
// play_increase_level
|
|
// Increase the level
|
|
play_increase_level: {
|
|
// level++;
|
|
// [568] level#22 = ++ level#25 -- vbuz1=_inc_vbuz1
|
|
inc.z level
|
|
// if(level>29)
|
|
// [569] if(level#22>=$1d+1) goto play_increase_level::@1 -- vbuz1_ge_vbuc1_then_la1
|
|
// Update speed of moving tetrominos down
|
|
lda.z level
|
|
cmp #$1d+1
|
|
bcs __b3
|
|
// play_increase_level::@3
|
|
// current_movedown_slow = MOVEDOWN_SLOW_SPEEDS[level]
|
|
// [570] current_movedown_slow#9 = MOVEDOWN_SLOW_SPEEDS[level#22] -- vbuz1=pbuc1_derefidx_vbuz2
|
|
tay
|
|
lda MOVEDOWN_SLOW_SPEEDS,y
|
|
sta.z current_movedown_slow
|
|
// [571] phi from play_increase_level::@3 to play_increase_level::@1 [phi:play_increase_level::@3->play_increase_level::@1]
|
|
// [571] phi current_movedown_slow#67 = current_movedown_slow#9 [phi:play_increase_level::@3->play_increase_level::@1#0] -- register_copy
|
|
jmp __b1
|
|
// [571] phi from play_increase_level to play_increase_level::@1 [phi:play_increase_level->play_increase_level::@1]
|
|
__b3:
|
|
// [571] phi current_movedown_slow#67 = 1 [phi:play_increase_level->play_increase_level::@1#0] -- vbuz1=vbuc1
|
|
lda #1
|
|
sta.z current_movedown_slow
|
|
// play_increase_level::@1
|
|
__b1:
|
|
// level_bcd++;
|
|
// [572] level_bcd#22 = ++ level_bcd#10 -- vbuz1=_inc_vbuz1
|
|
inc.z level_bcd
|
|
// level_bcd&0xf
|
|
// [573] play_increase_level::$1 = level_bcd#22 & $f -- vbuaa=vbuz1_band_vbuc1
|
|
lda #$f
|
|
and.z level_bcd
|
|
// if((level_bcd&0xf)==0xa)
|
|
// [574] if(play_increase_level::$1!=$a) goto play_increase_level::@2 -- vbuaa_neq_vbuc1_then_la1
|
|
cmp #$a
|
|
bne __b2
|
|
// play_increase_level::@4
|
|
// level_bcd += 6
|
|
// [575] level_bcd#7 = level_bcd#22 + 6 -- vbuz1=vbuz1_plus_vbuc1
|
|
// If level low nybble hits 0xa change to 0x10
|
|
lax.z level_bcd
|
|
axs #-[6]
|
|
stx.z level_bcd
|
|
// [576] phi from play_increase_level::@1 play_increase_level::@4 to play_increase_level::@2 [phi:play_increase_level::@1/play_increase_level::@4->play_increase_level::@2]
|
|
// [576] phi level_bcd#63 = level_bcd#22 [phi:play_increase_level::@1/play_increase_level::@4->play_increase_level::@2#0] -- register_copy
|
|
// play_increase_level::@2
|
|
__b2:
|
|
// asm
|
|
// asm { sed }
|
|
// Increase the score values gained
|
|
sed
|
|
// [578] phi from play_increase_level::@2 to play_increase_level::@5 [phi:play_increase_level::@2->play_increase_level::@5]
|
|
// [578] phi play_increase_level::b#2 = 0 [phi:play_increase_level::@2->play_increase_level::@5#0] -- vbuxx=vbuc1
|
|
ldx #0
|
|
// [578] phi from play_increase_level::@5 to play_increase_level::@5 [phi:play_increase_level::@5->play_increase_level::@5]
|
|
// [578] phi play_increase_level::b#2 = play_increase_level::b#1 [phi:play_increase_level::@5->play_increase_level::@5#0] -- register_copy
|
|
// play_increase_level::@5
|
|
__b5:
|
|
// score_add_bcd[b] += SCORE_BASE_BCD[b]
|
|
// [579] play_increase_level::$5 = play_increase_level::b#2 << 2 -- vbuaa=vbuxx_rol_2
|
|
txa
|
|
asl
|
|
asl
|
|
// [580] score_add_bcd[play_increase_level::$5] = score_add_bcd[play_increase_level::$5] + SCORE_BASE_BCD[play_increase_level::$5] -- pduc1_derefidx_vbuaa=pduc1_derefidx_vbuaa_plus_pduc2_derefidx_vbuaa
|
|
tay
|
|
clc
|
|
lda score_add_bcd,y
|
|
adc SCORE_BASE_BCD,y
|
|
sta score_add_bcd,y
|
|
lda score_add_bcd+1,y
|
|
adc SCORE_BASE_BCD+1,y
|
|
sta score_add_bcd+1,y
|
|
lda score_add_bcd+2,y
|
|
adc SCORE_BASE_BCD+2,y
|
|
sta score_add_bcd+2,y
|
|
lda score_add_bcd+3,y
|
|
adc SCORE_BASE_BCD+3,y
|
|
sta score_add_bcd+3,y
|
|
// for(char b: 0..4)
|
|
// [581] play_increase_level::b#1 = ++ play_increase_level::b#2 -- vbuxx=_inc_vbuxx
|
|
inx
|
|
// [582] if(play_increase_level::b#1!=5) goto play_increase_level::@5 -- vbuxx_neq_vbuc1_then_la1
|
|
cpx #5
|
|
bne __b5
|
|
// play_increase_level::@6
|
|
// asm
|
|
// asm { cld }
|
|
cld
|
|
// play_increase_level::@return
|
|
// }
|
|
// [584] return
|
|
rts
|
|
}
|
|
// File Data
|
|
.segment Data
|
|
// Keyboard row bitmask as expected by CIA#1 Port A when reading a specific keyboard matrix row (rows are numbered 0-7)
|
|
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
|
// Keyboard matrix column bitmasks for a specific keybooard matrix column when reading the keyboard. (columns are numbered 0-7)
|
|
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
|
|
// Keyboard event buffer. Contains keycodes for key presses/releases. Presses are represented by the keycode. Releases by keycode | $40. The buffer is filled by keyboard_scan()
|
|
keyboard_events: .fill 8, 0
|
|
// The values scanned values for each row. Set by keyboard_scan() and used by keyboard_get_event()
|
|
keyboard_scan_values: .fill 8, 0
|
|
// The playfield. 0 is empty non-zero is color.
|
|
// The playfield is layed out line by line, meaning the first 10 bytes are line 1, the next 10 line 2 and so forth,
|
|
playfield: .fill PLAYFIELD_LINES*PLAYFIELD_COLS, 0
|
|
// The T-piece
|
|
.align $40
|
|
PIECE_T: .byte 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
|
|
// The S-piece
|
|
.align $40
|
|
PIECE_S: .byte 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
|
|
// The Z-piece
|
|
.align $40
|
|
PIECE_Z: .byte 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
|
|
// The L-piece
|
|
.align $40
|
|
PIECE_L: .byte 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
|
|
// The J-piece
|
|
.align $40
|
|
PIECE_J: .byte 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
|
|
// The O-piece
|
|
.align $40
|
|
PIECE_O: .byte 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
|
|
// The I-piece
|
|
.align $40
|
|
PIECE_I: .byte 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
|
|
// The different pieces
|
|
PIECES: .word PIECE_T, PIECE_S, PIECE_Z, PIECE_J, PIECE_O, PIECE_I, PIECE_L
|
|
// The chars to use for the different pieces - when inside the playing area
|
|
PIECES_CHARS: .byte $65, $66, $a6, $66, $65, $65, $a6
|
|
// The chars to use for the different pieces - when outside the playing area (eg. the next area).
|
|
PIECES_NEXT_CHARS: .byte $63, $64, $a4, $64, $63, $63, $a4
|
|
// The initial X/Y for each piece
|
|
PIECES_START_X: .byte 4, 4, 4, 4, 4, 4, 4
|
|
PIECES_START_Y: .byte 1, 1, 1, 1, 1, 0, 1
|
|
PLAYFIELD_SCREEN_ORIGINAL:
|
|
// 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 )
|
|
|
|
// Original Color Data
|
|
PLAYFIELD_COLORS_ORIGINAL:
|
|
.import binary "playfield-screen.col"
|
|
|
|
// The color #1 to use for the pieces for each level
|
|
PIECES_COLORS_1: .byte 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
|
|
// The color #2 to use for the pieces for each level
|
|
PIECES_COLORS_2: .byte 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
|
|
// Pointers to the screen address for rendering each playfield line
|
|
// The lines for screen 1 is aligned with 0x80 and screen 2 with 0x40 - so XOR'ing with 0x40 gives screen 2 lines.
|
|
.align $80
|
|
screen_lines_1: .fill 2*PLAYFIELD_LINES, 0
|
|
.align $40
|
|
screen_lines_2: .fill 2*PLAYFIELD_LINES, 0
|
|
// Pointers to the playfield address for each playfield line
|
|
playfield_lines: .fill 2*PLAYFIELD_LINES, 0
|
|
// Indixes into the playfield for each playfield line
|
|
playfield_lines_idx: .fill PLAYFIELD_LINES+1, 0
|
|
// The speed of moving down the piece when soft-drop is not activated
|
|
// This array holds the number of frames per move by level (0-29). For all levels 29+ the value is 1.
|
|
MOVEDOWN_SLOW_SPEEDS: .byte $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
|
|
// Base Score values for removing 0-4 lines (in BCD)
|
|
// These values are added to score_add_bcd for each level gained.
|
|
SCORE_BASE_BCD: .dword 0, $40, $100, $300, $1200
|
|
// Score values for removing 0-4 lines (in BCD)
|
|
// These values are updated based on the players level and the base values from SCORE_BASE_BCD
|
|
score_add_bcd: .fill 4*5, 0
|
|
.pc = $3000 "PLAYFIELD_SPRITES"
|
|
// Sprites covering the playfield
|
|
PLAYFIELD_SPRITES:
|
|
.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
|
|
}
|
|
}
|
|
|
|
.pc = $2800 "PLAYFIELD_CHARSET"
|
|
// Address of the charset
|
|
PLAYFIELD_CHARSET:
|
|
.fill 8,$00 // Place a filled char at the start of the charset
|
|
.import binary "playfield-screen.imap"
|
|
|
|
|