1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-26 18:29:54 +00:00

Working on deprecating lo/hi operators. Closes #667

This commit is contained in:
jespergravgaard 2021-06-14 08:05:31 +02:00
parent 0592a9e7a0
commit 9965ad9ede
6 changed files with 195 additions and 195 deletions

View File

@ -131,7 +131,7 @@ irq_screen_top::toDd002: scope:[irq_screen_top] from irq_screen_top::@5
to:irq_screen_top::@7
irq_screen_top::@7: scope:[irq_screen_top] from irq_screen_top::toDd002
[84] *((byte*)CIA2) = irq_screen_top::toDd002_return#0
[85] canvas_base_hi = >SPRITES_2
[85] canvas_base_hi = byte1 SPRITES_2
[86] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
to:irq_screen_top::@1
irq_screen_top::@1: scope:[irq_screen_top] from irq_screen_top::@6 irq_screen_top::@7
@ -161,7 +161,7 @@ irq_screen_top::toDd001: scope:[irq_screen_top] from irq_screen_top::@5
to:irq_screen_top::@6
irq_screen_top::@6: scope:[irq_screen_top] from irq_screen_top::toDd001
[98] *((byte*)CIA2) = irq_screen_top::toDd001_return#0
[99] canvas_base_hi = >SPRITES_1
[99] canvas_base_hi = byte1 SPRITES_1
[100] bobs_restore_base = 0
to:irq_screen_top::@1
@ -1028,7 +1028,7 @@ splash_run::toDd001: scope:[splash_run] from splash_run::@1
to:splash_run::@17
splash_run::@17: scope:[splash_run] from splash_run::toDd001
[550] *((byte*)CIA2) = splash_run::toDd001_return#0
[551] canvas_base_hi = >SPRITES_2
[551] canvas_base_hi = byte1 SPRITES_2
[552] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
to:splash_run::toD0181
splash_run::toD0181: scope:[splash_run] from splash_run::@17
@ -1125,7 +1125,7 @@ splash_run::@2: scope:[splash_run] from splash_run::@1
[607] splash_run::xpos#0 = splash_run::sprites_xpos[splash_run::$34]
[608] SPRITES_XPOS[splash_run::$34] = (byte)splash_run::xpos#0
[609] splash_run::msb#1 = splash_run::msb#10 >> 1
[610] splash_run::$25 = > splash_run::xpos#0
[610] splash_run::$25 = byte1 splash_run::xpos#0
[611] if(0==splash_run::$25) goto splash_run::@3
to:splash_run::@4
splash_run::@4: scope:[splash_run] from splash_run::@2
@ -1624,9 +1624,9 @@ init_render_index::@6: scope:[init_render_index] from init_render_index::@5
[851] init_render_index::$10 = init_render_index::$11 << 1
[852] init_render_index::$12 = init_render_index::render_ypos_table#4 + init_render_index::$10
[853] init_render_index::canvas#0 = init_render_index::canvas_xcol#0 + *init_render_index::$12
[854] init_render_index::$5 = < init_render_index::canvas#0
[854] init_render_index::$5 = byte0 init_render_index::canvas#0
[855] *init_render_index::render_index_xcol#2 = init_render_index::$5
[856] init_render_index::$6 = > init_render_index::canvas#0
[856] init_render_index::$6 = byte1 init_render_index::canvas#0
[857] init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_HI] = init_render_index::$6
[858] init_render_index::render_index_xcol#2[RENDER_OFFSET_YPOS_INC] = init_render_index::ypos_inc_offset#4
[859] init_render_index::ypos_inc_offset#2 = init_render_index::ypos_inc_offset#4 + 2
@ -1696,9 +1696,9 @@ init_bobs_restore::@3: scope:[init_bobs_restore] from init_bobs_restore::@1 ini
to:init_bobs_restore::@5
init_bobs_restore::@5: scope:[init_bobs_restore] from init_bobs_restore::@3
[888] *init_bobs_restore::bob_restore#5 = 0
[889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN
[889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN
[890] init_bobs_restore::bob_restore#5[3] = 0
[891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN
[891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN
[892] init_bobs_restore::bob_restore#1 = init_bobs_restore::bob_restore#5 + SIZE_BOB_RESTORE
[893] init_bobs_restore::bob#1 = ++ init_bobs_restore::bob#2
to:init_bobs_restore::@1
@ -1928,7 +1928,7 @@ render: scope:[render] from done_run::@11 splash_show::@3
[997] render::xcol#2 = phi( done_run::@11/render::xcol#0, splash_show::@3/render::xcol#1 )
[997] render::ypos#2 = phi( done_run::@11/render::ypos#0, splash_show::@3/render::ypos#1 )
[998] render::ytile#0 = render::ypos#2 >> 2
[999] render::$1 = >RENDER_INDEX + render::xcol#2
[999] render::$1 = byte1 RENDER_INDEX + render::xcol#2
[1000] render::$2 = render::ytile#0 << 1
[1001] render::render_index_xcol#0 = render::$1 w= render::$2
[1002] render::canvas_offset#0 = ((byte*)render::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render::render_index_xcol#0)
@ -1983,7 +1983,7 @@ render_tiles: scope:[render_tiles] from level_show::@6
[1025] render_tiles::tile_left_pixels#0 = TILES_LEFT + render_tiles::$0
[1026] render_tiles::$2 = render_tiles::tile_right#0 << 2
[1027] render_tiles::tile_right_pixels#0 = TILES_RIGHT + render_tiles::$2
[1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0
[1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0
[1029] render_tiles::$5 = render_tiles::ytile#0 << 1
[1030] render_tiles::render_index_xcol#0 = render_tiles::$4 w= render_tiles::$5
[1031] render_tiles::canvas_offset#0 = ((byte*)render_tiles::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render_tiles::render_index_xcol#0)

View File

@ -402,9 +402,9 @@ init_render_index::@6: scope:[init_render_index] from init_render_index::@5
init_render_index::$10 = init_render_index::$11 * SIZEOF_WORD
init_render_index::$4 = init_render_index::canvas_xcol#1 + init_render_index::render_ypos_table#2[init_render_index::$10]
init_render_index::canvas#0 = init_render_index::$4
init_render_index::$5 = < init_render_index::canvas#0
init_render_index::$5 = byte0 init_render_index::canvas#0
init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_LO] = init_render_index::$5
init_render_index::$6 = > init_render_index::canvas#0
init_render_index::$6 = byte1 init_render_index::canvas#0
init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_HI] = init_render_index::$6
init_render_index::render_index_xcol#2[RENDER_OFFSET_YPOS_INC] = init_render_index::ypos_inc_offset#4
init_render_index::ypos_inc_offset#2 = init_render_index::ypos_inc_offset#4 + 2
@ -450,7 +450,7 @@ render: scope:[render] from done_run::@14 splash_show::@4
render::ypos#2 = phi( done_run::@14/render::ypos#0, splash_show::@4/render::ypos#1 )
render::$0 = render::ypos#2 / 4
render::ytile#0 = render::$0
render::$1 = >RENDER_INDEX + render::xcol#2
render::$1 = byte1 RENDER_INDEX + render::xcol#2
render::$2 = render::ytile#0 * 2
render::render_index_xcol#0 = (byte*){ render::$1, render::$2 }
render::canvas_offset#0 = (word){ render::render_index_xcol#0[RENDER_OFFSET_CANVAS_HI], render::render_index_xcol#0[RENDER_OFFSET_CANVAS_LO] }
@ -508,7 +508,7 @@ render_tiles: scope:[render_tiles] from level_show::@8
render_tiles::$2 = render_tiles::tile_right#1 * 4
render_tiles::$3 = TILES_RIGHT + render_tiles::$2
render_tiles::tile_right_pixels#0 = render_tiles::$3
render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#1
render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#1
render_tiles::$5 = render_tiles::ytile#1 * 2
render_tiles::render_index_xcol#0 = (byte*){ render_tiles::$4, render_tiles::$5 }
render_tiles::canvas_offset#0 = (word){ render_tiles::render_index_xcol#0[RENDER_OFFSET_CANVAS_HI], render_tiles::render_index_xcol#0[RENDER_OFFSET_CANVAS_LO] }
@ -587,13 +587,13 @@ init_bobs_restore::@5: scope:[init_bobs_restore] from init_bobs_restore::@4
init_bobs_restore::@6: scope:[init_bobs_restore] from init_bobs_restore::@4
init_bobs_restore::bob#3 = phi( init_bobs_restore::@4/init_bobs_restore::bob#4 )
init_bobs_restore::bob_restore#3 = phi( init_bobs_restore::@4/init_bobs_restore::bob_restore#4 )
init_bobs_restore::$2 = < init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::$2 = byte0 init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::bob_restore#3[0] = init_bobs_restore::$2
init_bobs_restore::$3 = > init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::$3 = byte1 init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::bob_restore#3[1] = init_bobs_restore::$3
init_bobs_restore::$4 = < init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::$4 = byte0 init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::bob_restore#3[3] = init_bobs_restore::$4
init_bobs_restore::$5 = > init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::$5 = byte1 init_bobs_restore::CANVAS_HIDDEN
init_bobs_restore::bob_restore#3[4] = init_bobs_restore::$5
init_bobs_restore::bob_restore#1 = init_bobs_restore::bob_restore#3 + SIZE_BOB_RESTORE
init_bobs_restore::bob#1 = ++ init_bobs_restore::bob#3
@ -851,7 +851,7 @@ splash_run::@2: scope:[splash_run] from splash_run::@1
splash_run::$24 = splash_run::i#3 * 2
SPRITES_XPOS[splash_run::$24] = (byte)splash_run::xpos#0
splash_run::msb#1 = splash_run::msb#3 / 2
splash_run::$25 = > splash_run::xpos#0
splash_run::$25 = byte1 splash_run::xpos#0
splash_run::$35 = 0 != splash_run::$25
splash_run::$26 = ! splash_run::$35
if(splash_run::$26) goto splash_run::@4
@ -863,7 +863,7 @@ splash_run::@3: scope:[splash_run] from splash_run::@1
splash_run::toDd001: scope:[splash_run] from splash_run::@3
splash_run::msb#12 = phi( splash_run::@3/splash_run::msb#13 )
splash_run::toDd001_gfx#1 = phi( splash_run::@3/splash_run::toDd001_gfx#0 )
splash_run::toDd001_$0 = > (word)splash_run::toDd001_gfx#1
splash_run::toDd001_$0 = byte1 (word)splash_run::toDd001_gfx#1
splash_run::toDd001_$1 = splash_run::toDd001_$0 / $40
splash_run::toDd001_$2 = 3 ^ splash_run::toDd001_$1
splash_run::toDd001_return#0 = splash_run::toDd001_$2
@ -878,7 +878,7 @@ splash_run::@18: scope:[splash_run] from splash_run::toDd001_@return
splash_run::toDd001_return#3 = phi( splash_run::toDd001_@return/splash_run::toDd001_return#1 )
splash_run::$17 = splash_run::toDd001_return#3
*((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = splash_run::$17
canvas_base_hi = >SPRITES_2
canvas_base_hi = byte1 SPRITES_2
bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
splash_run::toD0181_screen#0 = SCREENS_1
splash_run::toD0181_gfx#0 = SCREENS_1
@ -890,8 +890,8 @@ splash_run::toD0181: scope:[splash_run] from splash_run::@18
splash_run::toD0181_$7 = (word)splash_run::toD0181_screen#1
splash_run::toD0181_$0 = splash_run::toD0181_$7 & $3fff
splash_run::toD0181_$1 = splash_run::toD0181_$0 * 4
splash_run::toD0181_$2 = > splash_run::toD0181_$1
splash_run::toD0181_$3 = > (word)splash_run::toD0181_gfx#1
splash_run::toD0181_$2 = byte1 splash_run::toD0181_$1
splash_run::toD0181_$3 = byte1 (word)splash_run::toD0181_gfx#1
splash_run::toD0181_$4 = splash_run::toD0181_$3 / 4
splash_run::toD0181_$5 = splash_run::toD0181_$4 & $f
splash_run::toD0181_$6 = splash_run::toD0181_$2 | splash_run::toD0181_$5
@ -1623,8 +1623,8 @@ irq_screen_top::toD0181: scope:[irq_screen_top] from irq_screen_top
irq_screen_top::toD0181_$7 = (word)irq_screen_top::toD0181_screen#1
irq_screen_top::toD0181_$0 = irq_screen_top::toD0181_$7 & $3fff
irq_screen_top::toD0181_$1 = irq_screen_top::toD0181_$0 * 4
irq_screen_top::toD0181_$2 = > irq_screen_top::toD0181_$1
irq_screen_top::toD0181_$3 = > (word)irq_screen_top::toD0181_gfx#1
irq_screen_top::toD0181_$2 = byte1 irq_screen_top::toD0181_$1
irq_screen_top::toD0181_$3 = byte1 (word)irq_screen_top::toD0181_gfx#1
irq_screen_top::toD0181_$4 = irq_screen_top::toD0181_$3 / 4
irq_screen_top::toD0181_$5 = irq_screen_top::toD0181_$4 & $f
irq_screen_top::toD0181_$6 = irq_screen_top::toD0181_$2 | irq_screen_top::toD0181_$5
@ -1652,7 +1652,7 @@ irq_screen_top::@1: scope:[irq_screen_top] from irq_screen_top::@7
to:irq_screen_top::toDd001
irq_screen_top::toDd001: scope:[irq_screen_top] from irq_screen_top::@1
irq_screen_top::toDd001_gfx#1 = phi( irq_screen_top::@1/irq_screen_top::toDd001_gfx#0 )
irq_screen_top::toDd001_$0 = > (word)irq_screen_top::toDd001_gfx#1
irq_screen_top::toDd001_$0 = byte1 (word)irq_screen_top::toDd001_gfx#1
irq_screen_top::toDd001_$1 = irq_screen_top::toDd001_$0 / $40
irq_screen_top::toDd001_$2 = 3 ^ irq_screen_top::toDd001_$1
irq_screen_top::toDd001_return#0 = irq_screen_top::toDd001_$2
@ -1665,7 +1665,7 @@ irq_screen_top::@8: scope:[irq_screen_top] from irq_screen_top::toDd001_@return
irq_screen_top::toDd001_return#3 = phi( irq_screen_top::toDd001_@return/irq_screen_top::toDd001_return#1 )
irq_screen_top::$5 = irq_screen_top::toDd001_return#3
*((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = irq_screen_top::$5
canvas_base_hi = >SPRITES_1
canvas_base_hi = byte1 SPRITES_1
bobs_restore_base = 0
to:irq_screen_top::@2
irq_screen_top::@5: scope:[irq_screen_top] from irq_screen_top::@7
@ -1673,7 +1673,7 @@ irq_screen_top::@5: scope:[irq_screen_top] from irq_screen_top::@7
to:irq_screen_top::toDd002
irq_screen_top::toDd002: scope:[irq_screen_top] from irq_screen_top::@5
irq_screen_top::toDd002_gfx#1 = phi( irq_screen_top::@5/irq_screen_top::toDd002_gfx#0 )
irq_screen_top::toDd002_$0 = > (word)irq_screen_top::toDd002_gfx#1
irq_screen_top::toDd002_$0 = byte1 (word)irq_screen_top::toDd002_gfx#1
irq_screen_top::toDd002_$1 = irq_screen_top::toDd002_$0 / $40
irq_screen_top::toDd002_$2 = 3 ^ irq_screen_top::toDd002_$1
irq_screen_top::toDd002_return#0 = irq_screen_top::toDd002_$2
@ -1686,7 +1686,7 @@ irq_screen_top::@9: scope:[irq_screen_top] from irq_screen_top::toDd002_@return
irq_screen_top::toDd002_return#3 = phi( irq_screen_top::toDd002_@return/irq_screen_top::toDd002_return#1 )
irq_screen_top::$4 = irq_screen_top::toDd002_return#3
*((byte*)CIA2+OFFSET_STRUCT_MOS6526_CIA_PORT_A) = irq_screen_top::$4
canvas_base_hi = >SPRITES_2
canvas_base_hi = byte1 SPRITES_2
bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
to:irq_screen_top::@2
irq_screen_top::@2: scope:[irq_screen_top] from irq_screen_top::@8 irq_screen_top::@9
@ -7563,10 +7563,10 @@ Successful SSA optimization Pass2ConditionalAndOrRewriting
Warning! Adding boolean cast to non-boolean condition pacman_wins
Negating conditional jump and destination [41] if(merge_code::cycle_budget#13<=0) goto merge_code::@10
Constant right-side identified [99] pacman_sound_play::$1 = sizeof PACMAN_CH1_FREQ_HI
Constant right-side identified [204] init_bobs_restore::$2 = < init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [206] init_bobs_restore::$3 = > init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [208] init_bobs_restore::$4 = < init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [210] init_bobs_restore::$5 = > init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [204] init_bobs_restore::$2 = byte0 init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [206] init_bobs_restore::$3 = byte1 init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [208] init_bobs_restore::$4 = byte0 init_bobs_restore::CANVAS_HIDDEN
Constant right-side identified [210] init_bobs_restore::$5 = byte1 init_bobs_restore::CANVAS_HIDDEN
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant pacman_sound_play::$1 = sizeof PACMAN_CH1_FREQ_HI
Constant init_render_index::render_index#0 = RENDER_INDEX
@ -7581,10 +7581,10 @@ Constant render_tiles::y#0 = 0
Constant init_bobs_restore::bob_restore#0 = bobs_restore
Constant init_bobs_restore::bob#0 = 0
Constant init_bobs_restore::i#0 = 0
Constant init_bobs_restore::$2 = <init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$3 = >init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$4 = <init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$5 = >init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$2 = byte0 init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$3 = byte1 init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$4 = byte0 init_bobs_restore::CANVAS_HIDDEN
Constant init_bobs_restore::$5 = byte1 init_bobs_restore::CANVAS_HIDDEN
Constant done_run::i#0 = 0
Constant done_run::i1#0 = 0
Constant done_run::gfx#0 = WIN_GFX
@ -7679,11 +7679,11 @@ Constant memcpy::return#2 = memcpy::destination#0
Constant splash_run::toD0181_$7 = (word)splash_run::toD0181_screen#0
Constant irq_screen_top::toD0181_$7 = (word)irq_screen_top::toD0181_screen#0
Successful SSA optimization Pass2ConstantIdentification
Constant value identified (word)splash_run::toDd001_gfx#0 in [341] splash_run::toDd001_$0 = > (word)splash_run::toDd001_gfx#0
Constant value identified (word)splash_run::toD0181_gfx#0 in [353] splash_run::toD0181_$3 = > (word)splash_run::toD0181_gfx#0
Constant value identified (word)irq_screen_top::toD0181_gfx#0 in [646] irq_screen_top::toD0181_$3 = > (word)irq_screen_top::toD0181_gfx#0
Constant value identified (word)irq_screen_top::toDd001_gfx#0 in [660] irq_screen_top::toDd001_$0 = > (word)irq_screen_top::toDd001_gfx#0
Constant value identified (word)irq_screen_top::toDd002_gfx#0 in [667] irq_screen_top::toDd002_$0 = > (word)irq_screen_top::toDd002_gfx#0
Constant value identified (word)splash_run::toDd001_gfx#0 in [341] splash_run::toDd001_$0 = byte1 (word)splash_run::toDd001_gfx#0
Constant value identified (word)splash_run::toD0181_gfx#0 in [353] splash_run::toD0181_$3 = byte1 (word)splash_run::toD0181_gfx#0
Constant value identified (word)irq_screen_top::toD0181_gfx#0 in [646] irq_screen_top::toD0181_$3 = byte1 (word)irq_screen_top::toD0181_gfx#0
Constant value identified (word)irq_screen_top::toDd001_gfx#0 in [660] irq_screen_top::toDd001_$0 = byte1 (word)irq_screen_top::toDd001_gfx#0
Constant value identified (word)irq_screen_top::toDd002_gfx#0 in [667] irq_screen_top::toDd002_$0 = byte1 (word)irq_screen_top::toDd002_gfx#0
Successful SSA optimization Pass2ConstantValues
Rewriting conditional comparison [773] if(ghosts_mode_count<=$32) goto game_logic::@47
Rewriting conditional comparison [777] if(ghosts_mode_count<=$96) goto game_logic::@47
@ -7693,8 +7693,8 @@ Successful SSA optimization Pass2DeInlineWordDerefIdx
Simplifying constant evaluating to zero (word)0+0 in
Simplifying constant evaluating to zero (word)0+0 in
Simplifying constant evaluating to zero (word)0+0 in
Simplifying constant evaluating to zero <init_bobs_restore::CANVAS_HIDDEN in
Simplifying constant evaluating to zero <init_bobs_restore::CANVAS_HIDDEN in
Simplifying constant evaluating to zero byte0 init_bobs_restore::CANVAS_HIDDEN in
Simplifying constant evaluating to zero byte0 init_bobs_restore::CANVAS_HIDDEN in
Successful SSA optimization PassNSimplifyConstantZero
Simplifying expression containing zero 6 in
Simplifying expression containing zero $c in
@ -7920,23 +7920,23 @@ Negating conditional jump and destination [852] if(ghost1_substep!=0) goto game_
Negating conditional jump and destination [898] if(pacman_substep!=0) goto game_logic::@151
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [0] memcpy::src_end#0 = memcpy::$2 + memcpy::num#0
Constant right-side identified [247] splash_run::toDd001_$0 = > (word)splash_run::toDd001_gfx#0
Constant right-side identified [247] splash_run::toDd001_$0 = byte1 (word)splash_run::toDd001_gfx#0
Constant right-side identified [253] splash_run::toD0181_$0 = splash_run::toD0181_$7 & $3fff
Constant right-side identified [256] splash_run::toD0181_$3 = > (word)splash_run::toD0181_gfx#0
Constant right-side identified [256] splash_run::toD0181_$3 = byte1 (word)splash_run::toD0181_gfx#0
Constant right-side identified [488] irq_screen_top::toD0181_$0 = irq_screen_top::toD0181_$7 & $3fff
Constant right-side identified [491] irq_screen_top::toD0181_$3 = > (word)irq_screen_top::toD0181_gfx#0
Constant right-side identified [503] irq_screen_top::toDd001_$0 = > (word)irq_screen_top::toDd001_gfx#0
Constant right-side identified [509] irq_screen_top::toDd002_$0 = > (word)irq_screen_top::toDd002_gfx#0
Constant right-side identified [491] irq_screen_top::toD0181_$3 = byte1 (word)irq_screen_top::toD0181_gfx#0
Constant right-side identified [503] irq_screen_top::toDd001_$0 = byte1 (word)irq_screen_top::toDd001_gfx#0
Constant right-side identified [509] irq_screen_top::toDd002_$0 = byte1 (word)irq_screen_top::toDd002_gfx#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant memcpy::src_end#0 = memcpy::$2+memcpy::num#0
Constant splash_run::toDd001_$0 = >(word)splash_run::toDd001_gfx#0
Constant splash_run::toDd001_$0 = byte1 (word)splash_run::toDd001_gfx#0
Constant splash_run::toD0181_$0 = splash_run::toD0181_$7&$3fff
Constant splash_run::toD0181_$3 = >(word)splash_run::toD0181_gfx#0
Constant splash_run::toD0181_$3 = byte1 (word)splash_run::toD0181_gfx#0
Constant init_level_tile_directions::open_directions#1 = LEFT
Constant irq_screen_top::toD0181_$0 = irq_screen_top::toD0181_$7&$3fff
Constant irq_screen_top::toD0181_$3 = >(word)irq_screen_top::toD0181_gfx#0
Constant irq_screen_top::toDd001_$0 = >(word)irq_screen_top::toDd001_gfx#0
Constant irq_screen_top::toDd002_$0 = >(word)irq_screen_top::toDd002_gfx#0
Constant irq_screen_top::toD0181_$3 = byte1 (word)irq_screen_top::toD0181_gfx#0
Constant irq_screen_top::toDd001_$0 = byte1 (word)irq_screen_top::toDd001_gfx#0
Constant irq_screen_top::toDd002_$0 = byte1 (word)irq_screen_top::toDd002_gfx#0
Successful SSA optimization Pass2ConstantIdentification
Rewriting conditional comparison [409] if(level_tile_get::xtile#4>$31) goto level_tile_get::@2
Rewriting conditional comparison [418] if(level_tile_directions::xtile#5>$31) goto level_tile_directions::@2
@ -8031,24 +8031,24 @@ Alias candidate removed (volatile)ghost3_direction = game_logic::$140
Alias candidate removed (volatile)ghost2_direction = game_logic::$161
Alias candidate removed (volatile)ghost1_direction = game_logic::$182
Constant right-side identified [243] splash_run::toDd001_return#0 = 3 ^ splash_run::toDd001_$1
Constant right-side identified [247] splash_run::toD0181_$2 = > splash_run::toD0181_$1
Constant right-side identified [247] splash_run::toD0181_$2 = byte1 splash_run::toD0181_$1
Constant right-side identified [248] splash_run::toD0181_$5 = splash_run::toD0181_$4 & $f
Constant right-side identified [471] irq_screen_top::toD0181_$2 = > irq_screen_top::toD0181_$1
Constant right-side identified [471] irq_screen_top::toD0181_$2 = byte1 irq_screen_top::toD0181_$1
Constant right-side identified [472] irq_screen_top::toD0181_$5 = irq_screen_top::toD0181_$4 & $f
Constant right-side identified [482] irq_screen_top::toDd001_return#0 = 3 ^ irq_screen_top::toDd001_$1
Constant right-side identified [486] irq_screen_top::toDd002_return#0 = 3 ^ irq_screen_top::toDd002_$1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant splash_run::toDd001_return#0 = 3^splash_run::toDd001_$1
Constant splash_run::toD0181_$2 = >splash_run::toD0181_$1
Constant splash_run::toD0181_$2 = byte1 splash_run::toD0181_$1
Constant splash_run::toD0181_$5 = splash_run::toD0181_$4&$f
Constant irq_screen_top::toD0181_$2 = >irq_screen_top::toD0181_$1
Constant irq_screen_top::toD0181_$2 = byte1 irq_screen_top::toD0181_$1
Constant irq_screen_top::toD0181_$5 = irq_screen_top::toD0181_$4&$f
Constant irq_screen_top::toDd001_return#0 = 3^irq_screen_top::toDd001_$1
Constant irq_screen_top::toDd002_return#0 = 3^irq_screen_top::toDd002_$1
Successful SSA optimization Pass2ConstantIdentification
Simplifying constant evaluating to zero >splash_run::toD0181_$1 in
Simplifying constant evaluating to zero byte1 splash_run::toD0181_$1 in
Simplifying constant evaluating to zero splash_run::toD0181_$4&$f in
Simplifying constant evaluating to zero >irq_screen_top::toD0181_$1 in
Simplifying constant evaluating to zero byte1 irq_screen_top::toD0181_$1 in
Simplifying constant evaluating to zero irq_screen_top::toD0181_$4&$f in
Simplifying constant evaluating to zero 3^irq_screen_top::toDd001_$1 in
Successful SSA optimization PassNSimplifyConstantZero
@ -8291,9 +8291,9 @@ Constant inlined merge_code::logic_code#6 = LOGIC_CODE_UNMERGED
Constant inlined level_tile_directions::return#1 = 0
Constant inlined done_run::ypos#0 = 0
Constant inlined init_bobs_restore::i#0 = 0
Constant inlined splash_run::toDd001_$0 = >(word)SCREENS_1
Constant inlined splash_run::toDd001_$0 = byte1 (word)SCREENS_1
Constant inlined game_logic::target_ytile3#1 = 2
Constant inlined splash_run::toDd001_$1 = >(word)SCREENS_1/$40
Constant inlined splash_run::toDd001_$1 = byte1 (word)SCREENS_1/$40
Constant inlined game_logic::target_xtile2#1 = 2
Constant inlined level_show::count#0 = 0
Constant inlined gameplay_run::i#0 = 0
@ -8306,10 +8306,10 @@ Constant inlined memcpy::src#0 = (byte*)memcpy::source#0
Constant inlined init_render_index::y_pos#0 = 0
Constant inlined merge_code::raster_code#3 = RASTER_CODE_UNMERGED
Constant inlined init_bobs_restore::$4 = 0
Constant inlined init_bobs_restore::$5 = >init_bobs_restore::CANVAS_HIDDEN
Constant inlined init_bobs_restore::$5 = byte1 init_bobs_restore::CANVAS_HIDDEN
Constant inlined init_render_index::x_col#0 = 0
Constant inlined init_bobs_restore::$2 = 0
Constant inlined init_bobs_restore::$3 = >init_bobs_restore::CANVAS_HIDDEN
Constant inlined init_bobs_restore::$3 = byte1 init_bobs_restore::CANVAS_HIDDEN
Constant inlined memset::str#2 = (void*)BANK_2
Constant inlined memset::str#1 = (void*)BANK_1+$2000
Constant inlined memset::str#0 = (void*)(byte*) 16384
@ -8319,10 +8319,10 @@ Constant inlined game_logic::target_xtile1#1 = 2
Constant inlined level_show::level#0 = LEVEL_TILES
Constant inlined init_sprite_pointers::sprites_ptr_1#0 = SCREENS_1+OFFSET_SPRITE_PTRS
Constant inlined memcpy::num#0 = INTRO_MUSIC_CRUNCHED_SIZE
Constant inlined irq_screen_top::toDd002_$1 = >(word)SCREENS_1/$40
Constant inlined irq_screen_top::toDd002_$1 = byte1 (word)SCREENS_1/$40
Constant inlined init_sprite_pointers::sprite#0 = 0
Constant inlined init_render_index::render_ypos_table#0 = RENDER_YPOS
Constant inlined irq_screen_top::toDd002_$0 = >(word)SCREENS_1
Constant inlined irq_screen_top::toDd002_$0 = byte1 (word)SCREENS_1
Constant inlined init_render_index::render_ypos_table#1 = RENDER_YPOS_9TH
Constant inlined init_render_index::render_index#0 = RENDER_INDEX
Constant inlined joyfire::return#2 = 1
@ -9951,7 +9951,7 @@ irq_screen_top::toDd002: scope:[irq_screen_top] from irq_screen_top::@5
to:irq_screen_top::@7
irq_screen_top::@7: scope:[irq_screen_top] from irq_screen_top::toDd002
[84] *((byte*)CIA2) = irq_screen_top::toDd002_return#0
[85] canvas_base_hi = >SPRITES_2
[85] canvas_base_hi = byte1 SPRITES_2
[86] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
to:irq_screen_top::@1
irq_screen_top::@1: scope:[irq_screen_top] from irq_screen_top::@6 irq_screen_top::@7
@ -9981,7 +9981,7 @@ irq_screen_top::toDd001: scope:[irq_screen_top] from irq_screen_top::@5
to:irq_screen_top::@6
irq_screen_top::@6: scope:[irq_screen_top] from irq_screen_top::toDd001
[98] *((byte*)CIA2) = irq_screen_top::toDd001_return#0
[99] canvas_base_hi = >SPRITES_1
[99] canvas_base_hi = byte1 SPRITES_1
[100] bobs_restore_base = 0
to:irq_screen_top::@1
@ -10848,7 +10848,7 @@ splash_run::toDd001: scope:[splash_run] from splash_run::@1
to:splash_run::@17
splash_run::@17: scope:[splash_run] from splash_run::toDd001
[550] *((byte*)CIA2) = splash_run::toDd001_return#0
[551] canvas_base_hi = >SPRITES_2
[551] canvas_base_hi = byte1 SPRITES_2
[552] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE
to:splash_run::toD0181
splash_run::toD0181: scope:[splash_run] from splash_run::@17
@ -10945,7 +10945,7 @@ splash_run::@2: scope:[splash_run] from splash_run::@1
[607] splash_run::xpos#0 = splash_run::sprites_xpos[splash_run::$34]
[608] SPRITES_XPOS[splash_run::$34] = (byte)splash_run::xpos#0
[609] splash_run::msb#1 = splash_run::msb#10 >> 1
[610] splash_run::$25 = > splash_run::xpos#0
[610] splash_run::$25 = byte1 splash_run::xpos#0
[611] if(0==splash_run::$25) goto splash_run::@3
to:splash_run::@4
splash_run::@4: scope:[splash_run] from splash_run::@2
@ -11444,9 +11444,9 @@ init_render_index::@6: scope:[init_render_index] from init_render_index::@5
[851] init_render_index::$10 = init_render_index::$11 << 1
[852] init_render_index::$12 = init_render_index::render_ypos_table#4 + init_render_index::$10
[853] init_render_index::canvas#0 = init_render_index::canvas_xcol#0 + *init_render_index::$12
[854] init_render_index::$5 = < init_render_index::canvas#0
[854] init_render_index::$5 = byte0 init_render_index::canvas#0
[855] *init_render_index::render_index_xcol#2 = init_render_index::$5
[856] init_render_index::$6 = > init_render_index::canvas#0
[856] init_render_index::$6 = byte1 init_render_index::canvas#0
[857] init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_HI] = init_render_index::$6
[858] init_render_index::render_index_xcol#2[RENDER_OFFSET_YPOS_INC] = init_render_index::ypos_inc_offset#4
[859] init_render_index::ypos_inc_offset#2 = init_render_index::ypos_inc_offset#4 + 2
@ -11516,9 +11516,9 @@ init_bobs_restore::@3: scope:[init_bobs_restore] from init_bobs_restore::@1 ini
to:init_bobs_restore::@5
init_bobs_restore::@5: scope:[init_bobs_restore] from init_bobs_restore::@3
[888] *init_bobs_restore::bob_restore#5 = 0
[889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN
[889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN
[890] init_bobs_restore::bob_restore#5[3] = 0
[891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN
[891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN
[892] init_bobs_restore::bob_restore#1 = init_bobs_restore::bob_restore#5 + SIZE_BOB_RESTORE
[893] init_bobs_restore::bob#1 = ++ init_bobs_restore::bob#2
to:init_bobs_restore::@1
@ -11748,7 +11748,7 @@ render: scope:[render] from done_run::@11 splash_show::@3
[997] render::xcol#2 = phi( done_run::@11/render::xcol#0, splash_show::@3/render::xcol#1 )
[997] render::ypos#2 = phi( done_run::@11/render::ypos#0, splash_show::@3/render::ypos#1 )
[998] render::ytile#0 = render::ypos#2 >> 2
[999] render::$1 = >RENDER_INDEX + render::xcol#2
[999] render::$1 = byte1 RENDER_INDEX + render::xcol#2
[1000] render::$2 = render::ytile#0 << 1
[1001] render::render_index_xcol#0 = render::$1 w= render::$2
[1002] render::canvas_offset#0 = ((byte*)render::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render::render_index_xcol#0)
@ -11803,7 +11803,7 @@ render_tiles: scope:[render_tiles] from level_show::@6
[1025] render_tiles::tile_left_pixels#0 = TILES_LEFT + render_tiles::$0
[1026] render_tiles::$2 = render_tiles::tile_right#0 << 2
[1027] render_tiles::tile_right_pixels#0 = TILES_RIGHT + render_tiles::$2
[1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0
[1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0
[1029] render_tiles::$5 = render_tiles::ytile#0 << 1
[1030] render_tiles::render_index_xcol#0 = render_tiles::$4 w= render_tiles::$5
[1031] render_tiles::canvas_offset#0 = ((byte*)render_tiles::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render_tiles::render_index_xcol#0)
@ -13540,7 +13540,7 @@ Statement [77] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITE0_COLOR) = top_s
Statement [78] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITE1_COLOR) = top_sprites_color [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase frame anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase frame anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [82] if(0!=frame) goto irq_screen_top::toDd001 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [84] *((byte*)CIA2) = irq_screen_top::toDd002_return#0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [85] canvas_base_hi = >SPRITES_2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [85] canvas_base_hi = byte1 SPRITES_2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [86] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [87] if(phase==0) goto irq_screen_top::@2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [92] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
@ -13549,7 +13549,7 @@ Statement [94] *HARDWARE_IRQ = &irq_screen_top [ ] ( [ ] { } ) always clobbers
Statement [95] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
Statement [96] music_play_next = 1 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [98] *((byte*)CIA2) = irq_screen_top::toDd001_return#0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [99] canvas_base_hi = >SPRITES_1 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [99] canvas_base_hi = byte1 SPRITES_1 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [100] bobs_restore_base = 0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [107] if(game_playable!=0) goto game_logic::@1 [ pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] ( game_logic:89 [ pacman_ch1_idx pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] { } ) always clobbers reg byte a
Statement [112] if(game_logic_substep==0) goto game_logic::@2 [ pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] ( game_logic:89 [ pacman_ch1_idx pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] { } ) always clobbers reg byte a
@ -13853,7 +13853,7 @@ Statement [545] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:62::splash_r
Statement [546] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:62::splash_run:102 [ ] { } ) always clobbers reg byte a
Statement [550] *((byte*)CIA2) = splash_run::toDd001_return#0 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:13 [ splash_run::msb#10 splash_run::msb#8 splash_run::msb#1 splash_run::msb#2 ]
Statement [551] canvas_base_hi = >SPRITES_2 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [551] canvas_base_hi = byte1 SPRITES_2 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [552] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [554] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = splash_run::toD0181_return#0 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [556] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff [ ] ( main:62::splash_run:102 [ ] { } ) always clobbers reg byte a
@ -14072,9 +14072,9 @@ Statement [884] logic_tile_yfine = $23 [ ] ( main:62::splash_run:102::init_bobs_
Statement [888] *init_bobs_restore::bob_restore#5 = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Removing always clobbered register reg byte a as potential for zp[1]:67 [ init_bobs_restore::bob#2 init_bobs_restore::bob#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:67 [ init_bobs_restore::bob#2 init_bobs_restore::bob#1 ]
Statement [889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [890] init_bobs_restore::bob_restore#5[3] = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [892] init_bobs_restore::bob_restore#1 = init_bobs_restore::bob_restore#5 + SIZE_BOB_RESTORE [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#1 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#1 ] { } ) always clobbers reg byte a
Statement [894] init_bobs_restore::bob_restore#5[init_bobs_restore::i#2] = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 init_bobs_restore::i#2 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 init_bobs_restore::i#2 ] { } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:70 [ init_bobs_restore::i#2 init_bobs_restore::i#1 ]
@ -14121,7 +14121,7 @@ Statement [998] render::ytile#0 = render::ypos#2 >> 2 [ render::ypos#2 render::x
Removing always clobbered register reg byte a as potential for zp[1]:94 [ render::ypos#2 render::ypos#0 render::ypos#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:95 [ render::xcol#2 render::xcol#0 render::xcol#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:96 [ render::pixels#4 render::pixels#0 render::pixels#1 ]
Statement [999] render::$1 = >RENDER_INDEX + render::xcol#2 [ render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Statement [999] render::$1 = byte1 RENDER_INDEX + render::xcol#2 [ render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:345 [ render::ytile#0 ]
Statement [1000] render::$2 = render::ytile#0 << 1 [ render::ypos#2 render::pixels#4 render::$1 render::$2 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::$1 render::$2 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::$1 render::$2 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:346 [ render::$1 ]
@ -14150,7 +14150,7 @@ Removing always clobbered register reg byte a as potential for zp[1]:344 [ rende
Statement [1025] render_tiles::tile_left_pixels#0 = TILES_LEFT + render_tiles::$0 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_right#0 render_tiles::tile_left_pixels#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_right#0 render_tiles::tile_left_pixels#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1026] render_tiles::$2 = render_tiles::tile_right#0 << 2 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::$2 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::$2 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1027] render_tiles::tile_right_pixels#0 = TILES_RIGHT + render_tiles::$2 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0 [ render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0 [ render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1029] render_tiles::$5 = render_tiles::ytile#0 << 1 [ render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 render_tiles::$5 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 render_tiles::$5 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Removing always clobbered register reg byte a as potential for zp[1]:362 [ render_tiles::$4 ]
Statement [1031] render_tiles::canvas_offset#0 = ((byte*)render_tiles::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render_tiles::render_index_xcol#0) [ render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a reg byte y
@ -14273,7 +14273,7 @@ Statement [77] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITE0_COLOR) = top_s
Statement [78] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITE1_COLOR) = top_sprites_color [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase frame anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase frame anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [82] if(0!=frame) goto irq_screen_top::toDd001 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [84] *((byte*)CIA2) = irq_screen_top::toDd002_return#0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [85] canvas_base_hi = >SPRITES_2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [85] canvas_base_hi = byte1 SPRITES_2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [86] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [87] if(phase==0) goto irq_screen_top::@2 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [92] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_IRQ_STATUS) = IRQ_RASTER [ ] ( [ ] { } ) always clobbers reg byte a
@ -14282,7 +14282,7 @@ Statement [94] *HARDWARE_IRQ = &irq_screen_top [ ] ( [ ] { } ) always clobbers
Statement [95] return [ ] ( [ ] { } ) always clobbers reg byte a reg byte x reg byte y
Statement [96] music_play_next = 1 [ ] ( [ ] { } ) always clobbers reg byte a
Statement [98] *((byte*)CIA2) = irq_screen_top::toDd001_return#0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [99] canvas_base_hi = >SPRITES_1 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [99] canvas_base_hi = byte1 SPRITES_1 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [100] bobs_restore_base = 0 [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] ( [ pacman_ch1_enabled pacman_ch1_idx pill_count pacman_lives phase anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep game_playable ] { } ) always clobbers reg byte a
Statement [107] if(game_playable!=0) goto game_logic::@1 [ pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] ( game_logic:89 [ pacman_ch1_idx pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] { } ) always clobbers reg byte a
Statement [112] if(game_logic_substep==0) goto game_logic::@2 [ pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] ( game_logic:89 [ pacman_ch1_idx pacman_ch1_enabled pill_count pacman_lives anim_frame_idx pacman_xfine pacman_yfine pacman_direction pacman_substep ghosts_mode ghosts_mode_count ghost1_xfine ghost1_yfine ghost1_direction ghost1_substep ghost1_reverse ghost1_respawn ghost2_xfine ghost2_yfine ghost2_direction ghost2_substep ghost2_reverse ghost2_respawn ghost3_xfine ghost3_yfine ghost3_direction ghost3_substep ghost3_reverse ghost3_respawn ghost4_xfine ghost4_yfine ghost4_direction ghost4_substep ghost4_reverse ghost4_respawn game_logic_substep ] { } ) always clobbers reg byte a
@ -14540,7 +14540,7 @@ Statement [541] byteboozer_decrunch::crunched = INTRO_MUSIC_CRUNCHED_UPPER [ byt
Statement [545] *PROCPORT_DDR = PROCPORT_DDR_MEMORY_MASK [ ] ( main:62::splash_run:102 [ ] { } ) always clobbers reg byte a
Statement [546] *PROCPORT = PROCPORT_RAM_IO [ ] ( main:62::splash_run:102 [ ] { } ) always clobbers reg byte a
Statement [550] *((byte*)CIA2) = splash_run::toDd001_return#0 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [551] canvas_base_hi = >SPRITES_2 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [551] canvas_base_hi = byte1 SPRITES_2 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [552] bobs_restore_base = NUM_BOBS*SIZE_BOB_RESTORE [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [554] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = splash_run::toD0181_return#0 [ splash_run::msb#10 ] ( main:62::splash_run:102 [ splash_run::msb#10 ] { } ) always clobbers reg byte a
Statement [556] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_SPRITES_ENABLE) = $ff [ ] ( main:62::splash_run:102 [ ] { } ) always clobbers reg byte a
@ -14721,9 +14721,9 @@ Statement [882] logic_tile_ptr = LEVEL_TILES+(word)$40*$12+$c [ ] ( main:62::spl
Statement [883] logic_tile_xcol = $c [ ] ( main:62::splash_run:102::init_bobs_restore:534 [ ] { } ) always clobbers reg byte a
Statement [884] logic_tile_yfine = $23 [ ] ( main:62::splash_run:102::init_bobs_restore:534 [ ] { } ) always clobbers reg byte a
Statement [888] *init_bobs_restore::bob_restore#5 = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [890] init_bobs_restore::bob_restore#5[3] = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 ] { } ) always clobbers reg byte a reg byte y
Statement [892] init_bobs_restore::bob_restore#1 = init_bobs_restore::bob_restore#5 + SIZE_BOB_RESTORE [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#1 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#1 ] { } ) always clobbers reg byte a
Statement [894] init_bobs_restore::bob_restore#5[init_bobs_restore::i#2] = 0 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 init_bobs_restore::i#2 ] ( main:62::splash_run:102::init_bobs_restore:534 [ init_bobs_restore::bob#2 init_bobs_restore::bob_restore#5 init_bobs_restore::i#2 ] { } ) always clobbers reg byte a
Statement [902] init_sprite_pointers::sprites_ptr_1#1 = init_sprite_pointers::sprites_ptr_1#5 + $400 [ init_sprite_pointers::screen#2 init_sprite_pointers::sprites_ptr_2#5 init_sprite_pointers::sprites_ptr_1#1 ] ( main:62::splash_run:102::init_sprite_pointers:538 [ init_sprite_pointers::screen#2 init_sprite_pointers::sprites_ptr_2#5 init_sprite_pointers::sprites_ptr_1#1 ] { } main:62::gameplay_run:104::init_sprite_pointers:630 [ pacman_wins pacman_lives init_sprite_pointers::screen#2 init_sprite_pointers::sprites_ptr_2#5 init_sprite_pointers::sprites_ptr_1#1 ] { } ) always clobbers reg byte a
@ -14755,7 +14755,7 @@ Statement [993] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH1_CONTROL) = 0 [ ] ( ma
Statement [994] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH1_ATTACK_DECAY) = 0 [ ] ( main:62::gameplay_run:104::pacman_sound_init:650 [ pacman_wins pacman_lives ] { } ) always clobbers reg byte a
Statement [995] *((byte*)SID+OFFSET_STRUCT_MOS6581_SID_CH1_SUSTAIN_RELEASE) = $f0 [ ] ( main:62::gameplay_run:104::pacman_sound_init:650 [ pacman_wins pacman_lives ] { } ) always clobbers reg byte a
Statement [998] render::ytile#0 = render::ypos#2 >> 2 [ render::ypos#2 render::xcol#2 render::pixels#4 render::ytile#0 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::xcol#2 render::pixels#4 render::ytile#0 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::xcol#2 render::pixels#4 render::ytile#0 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Statement [999] render::$1 = >RENDER_INDEX + render::xcol#2 [ render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Statement [999] render::$1 = byte1 RENDER_INDEX + render::xcol#2 [ render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::ytile#0 render::$1 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Statement [1000] render::$2 = render::ytile#0 << 1 [ render::ypos#2 render::pixels#4 render::$1 render::$2 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::$1 render::$2 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::$1 render::$2 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
Statement [1002] render::canvas_offset#0 = ((byte*)render::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render::render_index_xcol#0) [ render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a reg byte y
Statement [1003] render::canvas1#0 = SPRITES_1 + render::canvas_offset#0 [ render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 render::canvas1#0 ] ( main:62::done_run:106::render:702 [ done_run::xcol#2 done_run::ypos#2 done_run::gfx#1 render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 render::canvas1#0 ] { { render::ypos#0 = render::ypos#2 done_run::ypos#2 } { render::xcol#0 = render::xcol#2 done_run::xcol#2 } { render::pixels#0 = render::pixels#4 done_run::pixels#0 } } main:62::splash_run:102::splash_show:530::render:877 [ splash_show::xcol#2 splash_show::ypos#2 splash_show::splash#1 render::ypos#2 render::pixels#4 render::render_index_xcol#0 render::canvas_offset#0 render::canvas1#0 ] { { render::ypos#1 = render::ypos#2 splash_show::ypos#2 } { render::xcol#1 = render::xcol#2 splash_show::xcol#2 } { render::pixels#1 = render::pixels#4 splash_show::pixels#0 } } ) always clobbers reg byte a
@ -14773,7 +14773,7 @@ Statement [1024] render_tiles::$0 = render_tiles::tile_left#0 << 2 [ render_tile
Statement [1025] render_tiles::tile_left_pixels#0 = TILES_LEFT + render_tiles::$0 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_right#0 render_tiles::tile_left_pixels#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_right#0 render_tiles::tile_left_pixels#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1026] render_tiles::$2 = render_tiles::tile_right#0 << 2 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::$2 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::$2 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1027] render_tiles::tile_right_pixels#0 = TILES_RIGHT + render_tiles::$2 [ render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::xcol#0 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0 [ render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0 [ render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::ytile#0 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1029] render_tiles::$5 = render_tiles::ytile#0 << 1 [ render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 render_tiles::$5 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::$4 render_tiles::$5 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
Statement [1031] render_tiles::canvas_offset#0 = ((byte*)render_tiles::render_index_xcol#0)[RENDER_OFFSET_CANVAS_HI] w= *((byte*)render_tiles::render_index_xcol#0) [ render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a reg byte y
Statement [1032] render_tiles::canvas1#0 = SPRITES_1 + render_tiles::canvas_offset#0 [ render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 render_tiles::canvas1#0 ] ( main:62::gameplay_run:104::level_show:632::render_tiles:988 [ pacman_wins pacman_lives level_show::ytile#2 level_show::level#8 level_show::xcol#2 level_show::xtile#2 level_show::count#11 render_tiles::tile_left_pixels#0 render_tiles::tile_right_pixels#0 render_tiles::render_index_xcol#0 render_tiles::canvas_offset#0 render_tiles::canvas1#0 ] { { level_show::return#0 = level_show::count#12 } { render_tiles::xcol#0 = level_show::xcol#2 } { render_tiles::ytile#0 = level_show::ytile#2 } { render_tiles::tile_left#0 = level_show::tile_left#0 } { render_tiles::tile_right#0 = level_show::tile_right#0 } } ) always clobbers reg byte a
@ -16358,7 +16358,7 @@ irq_screen_top: {
// Change graphics bank
lda #toDd002_return
sta CIA2
// [85] canvas_base_hi = >SPRITES_2 -- vbuz1=vbuc1
// [85] canvas_base_hi = byte1 SPRITES_2 -- vbuz1=vbuc1
// Set the next canvas base address
lda #>SPRITES_2
sta.z canvas_base_hi
@ -16436,7 +16436,7 @@ irq_screen_top: {
// Change graphics bank
lda #toDd001_return
sta CIA2
// [99] canvas_base_hi = >SPRITES_1 -- vbuz1=vbuc1
// [99] canvas_base_hi = byte1 SPRITES_1 -- vbuz1=vbuc1
// Set the next canvas base address
lda #>SPRITES_1
sta.z canvas_base_hi
@ -18648,7 +18648,7 @@ splash_run: {
// Set initial graphics bank
lda #toDd001_return
sta CIA2
// [551] canvas_base_hi = >SPRITES_2 -- vbuz1=vbuc1
// [551] canvas_base_hi = byte1 SPRITES_2 -- vbuz1=vbuc1
// Set initial render/restore buffer
lda #>SPRITES_2
sta.z canvas_base_hi
@ -18905,7 +18905,7 @@ splash_run: {
txa
lsr
tax
// [610] splash_run::$25 = > splash_run::xpos#0 -- vbuaa=_byte1_vwuz1
// [610] splash_run::$25 = byte1 splash_run::xpos#0 -- vbuaa=_byte1_vwuz1
lda.z xpos+1
// [611] if(0==splash_run::$25) goto splash_run::@3 -- 0_eq_vbuaa_then_la1
cmp #0
@ -20339,12 +20339,12 @@ init_render_index: {
sta.z canvas+1
pla
sta.z canvas
// [854] init_render_index::$5 = < init_render_index::canvas#0 -- vbuaa=_byte0_pbuz1
// [854] init_render_index::$5 = byte0 init_render_index::canvas#0 -- vbuaa=_byte0_pbuz1
lda.z canvas
// [855] *init_render_index::render_index_xcol#2 = init_render_index::$5 -- _deref_pbuz1=vbuaa
ldy #0
sta (render_index_xcol_1),y
// [856] init_render_index::$6 = > init_render_index::canvas#0 -- vbuaa=_byte1_pbuz1
// [856] init_render_index::$6 = byte1 init_render_index::canvas#0 -- vbuaa=_byte1_pbuz1
lda.z canvas+1
// [857] init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_HI] = init_render_index::$6 -- pbuz1_derefidx_vbuc1=vbuaa
ldy #RENDER_OFFSET_CANVAS_HI
@ -20532,7 +20532,7 @@ init_bobs_restore: {
lda #0
ldy #0
sta (bob_restore),y
// [889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
// [889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
lda #>CANVAS_HIDDEN
ldy #1
sta (bob_restore),y
@ -20540,7 +20540,7 @@ init_bobs_restore: {
lda #0
ldy #3
sta (bob_restore),y
// [891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
// [891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
lda #>CANVAS_HIDDEN
ldy #4
sta (bob_restore),y
@ -21181,7 +21181,7 @@ render: {
lsr
lsr
tay
// [999] render::$1 = >RENDER_INDEX + render::xcol#2 -- vbuxx=vbuc1_plus_vbuz1
// [999] render::$1 = byte1 RENDER_INDEX + render::xcol#2 -- vbuxx=vbuc1_plus_vbuz1
lax.z xcol
axs #-[>RENDER_INDEX]
// [1000] render::$2 = render::ytile#0 << 1 -- vbuaa=vbuyy_rol_1
@ -21370,7 +21370,7 @@ render_tiles: {
lda #>TILES_RIGHT
adc #0
sta.z tile_right_pixels+1
// [1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0 -- vbuxx=vbuc1_plus_vbuz1
// [1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0 -- vbuxx=vbuc1_plus_vbuz1
lax.z xcol
axs #-[>RENDER_INDEX]
// [1029] render_tiles::$5 = render_tiles::ytile#0 << 1 -- vbuaa=vbuz1_rol_1
@ -24385,7 +24385,7 @@ byte irq_screen_top::toDd001_return
constant byte irq_screen_top::toDd001_return#0 toDd001_return = 0
byte* irq_screen_top::toDd002_gfx
byte irq_screen_top::toDd002_return
constant byte irq_screen_top::toDd002_return#0 toDd002_return = 3^>(word)SCREENS_1/$40
constant byte irq_screen_top::toDd002_return#0 toDd002_return = 3^byte1 (word)SCREENS_1/$40
byte joyfire()
byte~ joyfire::$0 reg byte a 2.0000002E7
byte joyfire::return
@ -24674,7 +24674,7 @@ constant byte splash_run::toD0181_return#0 toD0181_return = 0
byte* splash_run::toD0181_screen
byte* splash_run::toDd001_gfx
byte splash_run::toDd001_return
constant byte splash_run::toDd001_return#0 toDd001_return = 3^>(word)SCREENS_1/$40
constant byte splash_run::toDd001_return#0 toDd001_return = 3^byte1 (word)SCREENS_1/$40
word splash_run::xpos
word splash_run::xpos#0 xpos zp[2]:89 667.3333333333334
void splash_show()
@ -25566,7 +25566,7 @@ irq_screen_top: {
lda #toDd002_return
sta CIA2
// canvas_base_hi = BYTE1(SPRITES_2)
// [85] canvas_base_hi = >SPRITES_2 -- vbuz1=vbuc1
// [85] canvas_base_hi = byte1 SPRITES_2 -- vbuz1=vbuc1
// Set the next canvas base address
lda #>SPRITES_2
sta.z canvas_base_hi
@ -25641,7 +25641,7 @@ irq_screen_top: {
lda #toDd001_return
sta CIA2
// canvas_base_hi = BYTE1(SPRITES_1)
// [99] canvas_base_hi = >SPRITES_1 -- vbuz1=vbuc1
// [99] canvas_base_hi = byte1 SPRITES_1 -- vbuz1=vbuc1
// Set the next canvas base address
lda #>SPRITES_1
sta.z canvas_base_hi
@ -27986,7 +27986,7 @@ splash_run: {
lda #toDd001_return
sta CIA2
// canvas_base_hi = BYTE1(SPRITES_2)
// [551] canvas_base_hi = >SPRITES_2 -- vbuz1=vbuc1
// [551] canvas_base_hi = byte1 SPRITES_2 -- vbuz1=vbuc1
// Set initial render/restore buffer
lda #>SPRITES_2
sta.z canvas_base_hi
@ -28257,7 +28257,7 @@ splash_run: {
lsr
tax
// BYTE1(xpos)
// [610] splash_run::$25 = > splash_run::xpos#0 -- vbuaa=_byte1_vwuz1
// [610] splash_run::$25 = byte1 splash_run::xpos#0 -- vbuaa=_byte1_vwuz1
lda.z xpos+1
// if(BYTE1(xpos))
// [611] if(0==splash_run::$25) goto splash_run::@3 -- 0_eq_vbuaa_then_la1
@ -29667,13 +29667,13 @@ init_render_index: {
pla
sta.z canvas
// BYTE0(canvas)
// [854] init_render_index::$5 = < init_render_index::canvas#0 -- vbuaa=_byte0_pbuz1
// [854] init_render_index::$5 = byte0 init_render_index::canvas#0 -- vbuaa=_byte0_pbuz1
// render_index_xcol[RENDER_OFFSET_CANVAS_LO] = BYTE0(canvas)
// [855] *init_render_index::render_index_xcol#2 = init_render_index::$5 -- _deref_pbuz1=vbuaa
ldy #0
sta (render_index_xcol_1),y
// BYTE1(canvas)
// [856] init_render_index::$6 = > init_render_index::canvas#0 -- vbuaa=_byte1_pbuz1
// [856] init_render_index::$6 = byte1 init_render_index::canvas#0 -- vbuaa=_byte1_pbuz1
lda.z canvas+1
// render_index_xcol[RENDER_OFFSET_CANVAS_HI] = BYTE1(canvas)
// [857] init_render_index::render_index_xcol#2[RENDER_OFFSET_CANVAS_HI] = init_render_index::$6 -- pbuz1_derefidx_vbuc1=vbuaa
@ -29856,7 +29856,7 @@ init_bobs_restore: {
tay
sta (bob_restore),y
// bob_restore[1] = BYTE1(CANVAS_HIDDEN)
// [889] init_bobs_restore::bob_restore#5[1] = >init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
// [889] init_bobs_restore::bob_restore#5[1] = byte1 init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
lda #>CANVAS_HIDDEN
ldy #1
sta (bob_restore),y
@ -29866,7 +29866,7 @@ init_bobs_restore: {
ldy #3
sta (bob_restore),y
// bob_restore[4] = BYTE1(CANVAS_HIDDEN)
// [891] init_bobs_restore::bob_restore#5[4] = >init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
// [891] init_bobs_restore::bob_restore#5[4] = byte1 init_bobs_restore::CANVAS_HIDDEN -- pbuz1_derefidx_vbuc1=vbuc2
lda #>CANVAS_HIDDEN
ldy #4
sta (bob_restore),y
@ -30477,7 +30477,7 @@ render: {
lsr
tay
// BYTE1(RENDER_INDEX) + xcol
// [999] render::$1 = >RENDER_INDEX + render::xcol#2 -- vbuxx=vbuc1_plus_vbuz1
// [999] render::$1 = byte1 RENDER_INDEX + render::xcol#2 -- vbuxx=vbuc1_plus_vbuz1
lax.z xcol
axs #-[>RENDER_INDEX]
// ytile*2
@ -30673,7 +30673,7 @@ render_tiles: {
adc #0
sta.z tile_right_pixels+1
// BYTE1(RENDER_INDEX) + xcol
// [1028] render_tiles::$4 = >RENDER_INDEX + render_tiles::xcol#0 -- vbuxx=vbuc1_plus_vbuz1
// [1028] render_tiles::$4 = byte1 RENDER_INDEX + render_tiles::xcol#0 -- vbuxx=vbuc1_plus_vbuz1
lax.z xcol
axs #-[>RENDER_INDEX]
// ytile*2

View File

@ -1185,7 +1185,7 @@ byte irq_screen_top::toDd001_return
constant byte irq_screen_top::toDd001_return#0 toDd001_return = 0
byte* irq_screen_top::toDd002_gfx
byte irq_screen_top::toDd002_return
constant byte irq_screen_top::toDd002_return#0 toDd002_return = 3^>(word)SCREENS_1/$40
constant byte irq_screen_top::toDd002_return#0 toDd002_return = 3^byte1 (word)SCREENS_1/$40
byte joyfire()
byte~ joyfire::$0 reg byte a 2.0000002E7
byte joyfire::return
@ -1474,7 +1474,7 @@ constant byte splash_run::toD0181_return#0 toD0181_return = 0
byte* splash_run::toD0181_screen
byte* splash_run::toDd001_gfx
byte splash_run::toDd001_return
constant byte splash_run::toDd001_return#0 toDd001_return = 3^>(word)SCREENS_1/$40
constant byte splash_run::toDd001_return#0 toDd001_return = 3^byte1 (word)SCREENS_1/$40
word splash_run::xpos
word splash_run::xpos#0 xpos zp[2]:89 667.3333333333334
void splash_show()

View File

@ -252,7 +252,7 @@ irq_swing_top::@return: scope:[irq_swing_top] from irq_swing_top::@2
__interrupt(hardware_clobber) void irq_flipper_bottom()
irq_flipper_bottom: scope:[irq_flipper_bottom] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
[118] irq_flipper_bottom::$0 = < irq_flipper_bottom_line
[118] irq_flipper_bottom::$0 = byte0 irq_flipper_bottom_line
[119] irq_flipper_bottom::$1 = irq_flipper_bottom::$0 & 7
[120] raster_fine::line_offset = irq_flipper_bottom::$1
[121] call raster_fine
@ -312,21 +312,21 @@ irq_flipper_bottom::@4: scope:[irq_flipper_bottom] from irq_flipper_bottom::@2
__interrupt(hardware_clobber) void irq_flipper_top()
irq_flipper_top: scope:[irq_flipper_top] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
[148] irq_flipper_top::$0 = < irq_flipper_top_line
[148] irq_flipper_top::$0 = byte0 irq_flipper_top_line
[149] irq_flipper_top::$1 = irq_flipper_top::$0 & 7
[150] raster_fine::line_offset = irq_flipper_top::$1
[151] call raster_fine
to:irq_flipper_top::@4
irq_flipper_top::@4: scope:[irq_flipper_top] from irq_flipper_top
asm { lda#$9a ldx#LIGHT_GREEN ldy#$1b staVICII_MEMORY stxBORDER_COLOR styVICII_CONTROL1 stxBG_COLOR lda#$c8 staVICII_CONTROL2 }
[153] irq_flipper_top::$3 = > irq_flipper_bottom_line
[153] irq_flipper_top::$3 = byte1 irq_flipper_bottom_line
[154] if(0!=irq_flipper_top::$3) goto irq_flipper_top::@1
to:irq_flipper_top::@3
irq_flipper_top::@3: scope:[irq_flipper_top] from irq_flipper_top::@4
[155] *VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_flipper_top::@2
irq_flipper_top::@2: scope:[irq_flipper_top] from irq_flipper_top::@1 irq_flipper_top::@3
[156] irq_flipper_top::$4 = < irq_flipper_bottom_line
[156] irq_flipper_top::$4 = byte0 irq_flipper_bottom_line
[157] irq_flipper_top::$5 = irq_flipper_top::$4 & $f8
[158] *RASTER = irq_flipper_top::$5
[159] *HARDWARE_IRQ = &irq_flipper_bottom
@ -357,14 +357,14 @@ irq_part1_top::toD0181: scope:[irq_part1_top] from irq_part1_top::@4
to:irq_part1_top::@5
irq_part1_top::@5: scope:[irq_part1_top] from irq_part1_top::toD0181
[170] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = irq_part1_top::toD0181_return#0
[171] irq_part1_top::$2 = > irq_flipper_top_line
[171] irq_part1_top::$2 = byte1 irq_flipper_top_line
[172] if(0!=irq_part1_top::$2) goto irq_part1_top::@1
to:irq_part1_top::@3
irq_part1_top::@3: scope:[irq_part1_top] from irq_part1_top::@5
[173] *VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_part1_top::@2
irq_part1_top::@2: scope:[irq_part1_top] from irq_part1_top::@1 irq_part1_top::@3
[174] irq_part1_top::$3 = < irq_flipper_top_line
[174] irq_part1_top::$3 = byte0 irq_flipper_top_line
[175] irq_part1_top::$4 = irq_part1_top::$3 & $f8
[176] *RASTER = irq_part1_top::$4
[177] *HARDWARE_IRQ = &irq_flipper_top
@ -503,11 +503,11 @@ vsp_update_screen: scope:[vsp_update_screen] from irq_swing_plex::@14 irq_swing
[235] vsp_update_screen::$5 = (word)vsp_update_screen::x_offset
[236] vsp_update_screen::$0 = vsp_update_screen::$5 << 3
[237] vsp_update_screen::x_offset8 = vsp_update_screen::$0
[238] vsp_update_screen::$1 = > vsp_update_screen::x_offset8
[238] vsp_update_screen::$1 = byte1 vsp_update_screen::x_offset8
[239] if(vsp_update_screen::$1==0) goto vsp_update_screen::@1
to:vsp_update_screen::@4
vsp_update_screen::@4: scope:[vsp_update_screen] from vsp_update_screen
[240] vsp_update_screen::$3 = > vsp_update_screen::x_offset8
[240] vsp_update_screen::$3 = byte1 vsp_update_screen::x_offset8
[241] if(vsp_update_screen::$3==1) goto vsp_update_screen::@2
to:vsp_update_screen::@5
vsp_update_screen::@5: scope:[vsp_update_screen] from vsp_update_screen::@4

View File

@ -431,7 +431,7 @@ irq_part1_top: scope:[irq_part1_top] from
to:irq_part1_top::toDd001
irq_part1_top::toDd001: scope:[irq_part1_top] from irq_part1_top
irq_part1_top::toDd001_gfx#1 = phi( irq_part1_top/irq_part1_top::toDd001_gfx#0 )
irq_part1_top::toDd001_$0 = > (word)irq_part1_top::toDd001_gfx#1
irq_part1_top::toDd001_$0 = byte1 (word)irq_part1_top::toDd001_gfx#1
irq_part1_top::toDd001_$1 = irq_part1_top::toDd001_$0 / $40
irq_part1_top::toDd001_$2 = 3 ^ irq_part1_top::toDd001_$1
irq_part1_top::toDd001_return#0 = irq_part1_top::toDd001_$2
@ -453,8 +453,8 @@ irq_part1_top::toD0181: scope:[irq_part1_top] from irq_part1_top::@4
irq_part1_top::toD0181_$7 = (word)irq_part1_top::toD0181_screen#1
irq_part1_top::toD0181_$0 = irq_part1_top::toD0181_$7 & $3fff
irq_part1_top::toD0181_$1 = irq_part1_top::toD0181_$0 * 4
irq_part1_top::toD0181_$2 = > irq_part1_top::toD0181_$1
irq_part1_top::toD0181_$3 = > (word)irq_part1_top::toD0181_gfx#1
irq_part1_top::toD0181_$2 = byte1 irq_part1_top::toD0181_$1
irq_part1_top::toD0181_$3 = byte1 (word)irq_part1_top::toD0181_gfx#1
irq_part1_top::toD0181_$4 = irq_part1_top::toD0181_$3 / 4
irq_part1_top::toD0181_$5 = irq_part1_top::toD0181_$4 & $f
irq_part1_top::toD0181_$6 = irq_part1_top::toD0181_$2 | irq_part1_top::toD0181_$5
@ -468,7 +468,7 @@ irq_part1_top::@5: scope:[irq_part1_top] from irq_part1_top::toD0181_@return
irq_part1_top::toD0181_return#3 = phi( irq_part1_top::toD0181_@return/irq_part1_top::toD0181_return#1 )
irq_part1_top::$1 = irq_part1_top::toD0181_return#3
*((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = irq_part1_top::$1
irq_part1_top::$2 = > irq_flipper_top_line
irq_part1_top::$2 = byte1 irq_flipper_top_line
irq_part1_top::$5 = 0 != irq_part1_top::$2
if(irq_part1_top::$5) goto irq_part1_top::@1
to:irq_part1_top::@3
@ -479,7 +479,7 @@ irq_part1_top::@3: scope:[irq_part1_top] from irq_part1_top::@5
*VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_part1_top::@2
irq_part1_top::@2: scope:[irq_part1_top] from irq_part1_top::@1 irq_part1_top::@3
irq_part1_top::$3 = < irq_flipper_top_line
irq_part1_top::$3 = byte0 irq_flipper_top_line
irq_part1_top::$4 = irq_part1_top::$3 & $f8
*RASTER = irq_part1_top::$4
*HARDWARE_IRQ = &irq_flipper_top
@ -493,14 +493,14 @@ irq_part1_top::@return: scope:[irq_part1_top] from irq_part1_top::@2
__interrupt(hardware_clobber) void irq_flipper_top()
irq_flipper_top: scope:[irq_flipper_top] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
irq_flipper_top::$0 = < irq_flipper_top_line
irq_flipper_top::$0 = byte0 irq_flipper_top_line
irq_flipper_top::$1 = irq_flipper_top::$0 & 7
raster_fine::line_offset = irq_flipper_top::$1
call raster_fine
to:irq_flipper_top::@4
irq_flipper_top::@4: scope:[irq_flipper_top] from irq_flipper_top
asm { lda#$9a ldx#LIGHT_GREEN ldy#$1b staVICII_MEMORY stxBORDER_COLOR styVICII_CONTROL1 stxBG_COLOR lda#$c8 staVICII_CONTROL2 }
irq_flipper_top::$3 = > irq_flipper_bottom_line
irq_flipper_top::$3 = byte1 irq_flipper_bottom_line
irq_flipper_top::$6 = 0 != irq_flipper_top::$3
if(irq_flipper_top::$6) goto irq_flipper_top::@1
to:irq_flipper_top::@3
@ -511,7 +511,7 @@ irq_flipper_top::@3: scope:[irq_flipper_top] from irq_flipper_top::@4
*VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_flipper_top::@2
irq_flipper_top::@2: scope:[irq_flipper_top] from irq_flipper_top::@1 irq_flipper_top::@3
irq_flipper_top::$4 = < irq_flipper_bottom_line
irq_flipper_top::$4 = byte0 irq_flipper_bottom_line
irq_flipper_top::$5 = irq_flipper_top::$4 & $f8
*RASTER = irq_flipper_top::$5
*HARDWARE_IRQ = &irq_flipper_bottom
@ -524,7 +524,7 @@ irq_flipper_top::@return: scope:[irq_flipper_top] from irq_flipper_top::@2
__interrupt(hardware_clobber) void irq_flipper_bottom()
irq_flipper_bottom: scope:[irq_flipper_bottom] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
irq_flipper_bottom::$0 = < irq_flipper_bottom_line
irq_flipper_bottom::$0 = byte0 irq_flipper_bottom_line
irq_flipper_bottom::$1 = irq_flipper_bottom::$0 & 7
raster_fine::line_offset = irq_flipper_bottom::$1
call raster_fine
@ -542,8 +542,8 @@ irq_flipper_bottom::toD0181: scope:[irq_flipper_bottom] from irq_flipper_bottom
irq_flipper_bottom::toD0181_$7 = (word)irq_flipper_bottom::toD0181_screen#1
irq_flipper_bottom::toD0181_$0 = irq_flipper_bottom::toD0181_$7 & $3fff
irq_flipper_bottom::toD0181_$1 = irq_flipper_bottom::toD0181_$0 * 4
irq_flipper_bottom::toD0181_$2 = > irq_flipper_bottom::toD0181_$1
irq_flipper_bottom::toD0181_$3 = > (word)irq_flipper_bottom::toD0181_gfx#1
irq_flipper_bottom::toD0181_$2 = byte1 irq_flipper_bottom::toD0181_$1
irq_flipper_bottom::toD0181_$3 = byte1 (word)irq_flipper_bottom::toD0181_gfx#1
irq_flipper_bottom::toD0181_$4 = irq_flipper_bottom::toD0181_$3 / 4
irq_flipper_bottom::toD0181_$5 = irq_flipper_bottom::toD0181_$4 & $f
irq_flipper_bottom::toD0181_$6 = irq_flipper_bottom::toD0181_$2 | irq_flipper_bottom::toD0181_$5
@ -1161,7 +1161,7 @@ part2_run::@1: scope:[part2_run] from part2_run::SEI1
to:part2_run::toDd001
part2_run::toDd001: scope:[part2_run] from part2_run::@1
part2_run::toDd001_gfx#1 = phi( part2_run::@1/part2_run::toDd001_gfx#0 )
part2_run::toDd001_$0 = > (word)part2_run::toDd001_gfx#1
part2_run::toDd001_$0 = byte1 (word)part2_run::toDd001_gfx#1
part2_run::toDd001_$1 = part2_run::toDd001_$0 / $40
part2_run::toDd001_$2 = 3 ^ part2_run::toDd001_$1
part2_run::toDd001_return#0 = part2_run::toDd001_$2
@ -1183,8 +1183,8 @@ part2_run::toD0181: scope:[part2_run] from part2_run::@2
part2_run::toD0181_$7 = (word)part2_run::toD0181_screen#1
part2_run::toD0181_$0 = part2_run::toD0181_$7 & $3fff
part2_run::toD0181_$1 = part2_run::toD0181_$0 * 4
part2_run::toD0181_$2 = > part2_run::toD0181_$1
part2_run::toD0181_$3 = > (word)part2_run::toD0181_gfx#1
part2_run::toD0181_$2 = byte1 part2_run::toD0181_$1
part2_run::toD0181_$3 = byte1 (word)part2_run::toD0181_gfx#1
part2_run::toD0181_$4 = part2_run::toD0181_$3 / 4
part2_run::toD0181_$5 = part2_run::toD0181_$4 & $f
part2_run::toD0181_$6 = part2_run::toD0181_$2 | part2_run::toD0181_$5
@ -1647,7 +1647,7 @@ vsp_update_screen: scope:[vsp_update_screen] from irq_swing_plex::@15 irq_swing
vsp_update_screen::$5 = (word)vsp_update_screen::x_offset
vsp_update_screen::$0 = vsp_update_screen::$5 * 8
vsp_update_screen::x_offset8 = vsp_update_screen::$0
vsp_update_screen::$1 = > vsp_update_screen::x_offset8
vsp_update_screen::$1 = byte1 vsp_update_screen::x_offset8
vsp_update_screen::$2 = vsp_update_screen::$1 == 0
if(vsp_update_screen::$2) goto vsp_update_screen::@1
to:vsp_update_screen::@4
@ -1662,7 +1662,7 @@ vsp_update_screen::@1: scope:[vsp_update_screen] from vsp_update_screen
}}
to:vsp_update_screen::@3
vsp_update_screen::@4: scope:[vsp_update_screen] from vsp_update_screen
vsp_update_screen::$3 = > vsp_update_screen::x_offset8
vsp_update_screen::$3 = byte1 vsp_update_screen::x_offset8
vsp_update_screen::$4 = vsp_update_screen::$3 == 1
if(vsp_update_screen::$4) goto vsp_update_screen::@2
to:vsp_update_screen::@5
@ -3943,11 +3943,11 @@ Constant part2_run::toD0181_$7 = (word)part2_run::toD0181_screen#0
Constant plex_scroller_move::toSpritePtr1_$1 = (word)plex_scroller_move::toSpritePtr1_sprite#0
Constant sparkler_anim::toSpritePtr1_$1 = (word)sparkler_anim::toSpritePtr1_sprite#0
Successful SSA optimization Pass2ConstantIdentification
Constant value identified (word)irq_part1_top::toDd001_gfx#0 in [141] irq_part1_top::toDd001_$0 = > (word)irq_part1_top::toDd001_gfx#0
Constant value identified (word)irq_part1_top::toD0181_gfx#0 in [151] irq_part1_top::toD0181_$3 = > (word)irq_part1_top::toD0181_gfx#0
Constant value identified (word)irq_flipper_bottom::toD0181_gfx#0 in [199] irq_flipper_bottom::toD0181_$3 = > (word)irq_flipper_bottom::toD0181_gfx#0
Constant value identified (word)part2_run::toDd001_gfx#0 in [449] part2_run::toDd001_$0 = > (word)part2_run::toDd001_gfx#0
Constant value identified (word)part2_run::toD0181_gfx#0 in [459] part2_run::toD0181_$3 = > (word)part2_run::toD0181_gfx#0
Constant value identified (word)irq_part1_top::toDd001_gfx#0 in [141] irq_part1_top::toDd001_$0 = byte1 (word)irq_part1_top::toDd001_gfx#0
Constant value identified (word)irq_part1_top::toD0181_gfx#0 in [151] irq_part1_top::toD0181_$3 = byte1 (word)irq_part1_top::toD0181_gfx#0
Constant value identified (word)irq_flipper_bottom::toD0181_gfx#0 in [199] irq_flipper_bottom::toD0181_$3 = byte1 (word)irq_flipper_bottom::toD0181_gfx#0
Constant value identified (word)part2_run::toDd001_gfx#0 in [449] part2_run::toDd001_$0 = byte1 (word)part2_run::toDd001_gfx#0
Constant value identified (word)part2_run::toD0181_gfx#0 in [459] part2_run::toD0181_$3 = byte1 (word)part2_run::toD0181_gfx#0
Successful SSA optimization Pass2ConstantValues
Converting *(pointer+n) to pointer[n] [304] *plexPrepareFrame::$21 = plexPrepareFrame::ypos#0 -- plexPrepareFrame::$25[OFFSET_STRUCT_BUCKETSPRITE_YPOS]
Converting *(pointer+n) to pointer[n] [307] *plexPrepareFrame::$22 = plexPrepareFrame::plex_id#0 -- plexPrepareFrame::$26[OFFSET_STRUCT_BUCKETSPRITE_PLEX_ID]
@ -4051,28 +4051,28 @@ Negating conditional jump and destination [572] if(0==p2_logo_reveal_done) goto
Negating conditional jump and destination [573] if(part2_loop::$24<=(word)$1a*$32) goto part2_loop::@7
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [76] part1_run::toSpritePtr1_$0 = part1_run::toSpritePtr1_$1 / $40
Constant right-side identified [109] irq_part1_top::toDd001_$0 = > (word)irq_part1_top::toDd001_gfx#0
Constant right-side identified [109] irq_part1_top::toDd001_$0 = byte1 (word)irq_part1_top::toDd001_gfx#0
Constant right-side identified [113] irq_part1_top::toD0181_$0 = irq_part1_top::toD0181_$7 & $3fff
Constant right-side identified [116] irq_part1_top::toD0181_$3 = > (word)irq_part1_top::toD0181_gfx#0
Constant right-side identified [116] irq_part1_top::toD0181_$3 = byte1 (word)irq_part1_top::toD0181_gfx#0
Constant right-side identified [156] irq_flipper_bottom::toD0181_$0 = irq_flipper_bottom::toD0181_$7 & $3fff
Constant right-side identified [159] irq_flipper_bottom::toD0181_$3 = > (word)irq_flipper_bottom::toD0181_gfx#0
Constant right-side identified [159] irq_flipper_bottom::toD0181_$3 = byte1 (word)irq_flipper_bottom::toD0181_gfx#0
Constant right-side identified [315] part2_init::toSpritePtr1_$0 = part2_init::toSpritePtr1_$1 / $40
Constant right-side identified [333] part2_run::toDd001_$0 = > (word)part2_run::toDd001_gfx#0
Constant right-side identified [333] part2_run::toDd001_$0 = byte1 (word)part2_run::toDd001_gfx#0
Constant right-side identified [337] part2_run::toD0181_$0 = part2_run::toD0181_$7 & $3fff
Constant right-side identified [340] part2_run::toD0181_$3 = > (word)part2_run::toD0181_gfx#0
Constant right-side identified [340] part2_run::toD0181_$3 = byte1 (word)part2_run::toD0181_gfx#0
Constant right-side identified [400] plex_scroller_move::toSpritePtr1_$0 = plex_scroller_move::toSpritePtr1_$1 / $40
Constant right-side identified [520] sparkler_anim::toSpritePtr1_$0 = sparkler_anim::toSpritePtr1_$1 / $40
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant part1_run::toSpritePtr1_$0 = part1_run::toSpritePtr1_$1/$40
Constant irq_part1_top::toDd001_$0 = >(word)irq_part1_top::toDd001_gfx#0
Constant irq_part1_top::toDd001_$0 = byte1 (word)irq_part1_top::toDd001_gfx#0
Constant irq_part1_top::toD0181_$0 = irq_part1_top::toD0181_$7&$3fff
Constant irq_part1_top::toD0181_$3 = >(word)irq_part1_top::toD0181_gfx#0
Constant irq_part1_top::toD0181_$3 = byte1 (word)irq_part1_top::toD0181_gfx#0
Constant irq_flipper_bottom::toD0181_$0 = irq_flipper_bottom::toD0181_$7&$3fff
Constant irq_flipper_bottom::toD0181_$3 = >(word)irq_flipper_bottom::toD0181_gfx#0
Constant irq_flipper_bottom::toD0181_$3 = byte1 (word)irq_flipper_bottom::toD0181_gfx#0
Constant part2_init::toSpritePtr1_$0 = part2_init::toSpritePtr1_$1/$40
Constant part2_run::toDd001_$0 = >(word)part2_run::toDd001_gfx#0
Constant part2_run::toDd001_$0 = byte1 (word)part2_run::toDd001_gfx#0
Constant part2_run::toD0181_$0 = part2_run::toD0181_$7&$3fff
Constant part2_run::toD0181_$3 = >(word)part2_run::toD0181_gfx#0
Constant part2_run::toD0181_$3 = byte1 (word)part2_run::toD0181_gfx#0
Constant plex_scroller_move::toSpritePtr1_$0 = plex_scroller_move::toSpritePtr1_$1/$40
Constant sparkler_anim::toSpritePtr1_$0 = sparkler_anim::toSpritePtr1_$1/$40
Successful SSA optimization Pass2ConstantIdentification
@ -4132,21 +4132,21 @@ Alias candidate removed (volatile)vsp_fine_scroll = irq_swing_plex::$6
Alias candidate removed (volatile)vsp_scroll = irq_swing_plex::$16
Alias candidate removed (volatile)vsp_update_screen::x_offset8 = vsp_update_screen::$0
Constant right-side identified [106] irq_part1_top::toDd001_return#0 = 3 ^ irq_part1_top::toDd001_$1
Constant right-side identified [108] irq_part1_top::toD0181_$2 = > irq_part1_top::toD0181_$1
Constant right-side identified [108] irq_part1_top::toD0181_$2 = byte1 irq_part1_top::toD0181_$1
Constant right-side identified [109] irq_part1_top::toD0181_$5 = irq_part1_top::toD0181_$4 & $f
Constant right-side identified [147] irq_flipper_bottom::toD0181_$2 = > irq_flipper_bottom::toD0181_$1
Constant right-side identified [147] irq_flipper_bottom::toD0181_$2 = byte1 irq_flipper_bottom::toD0181_$1
Constant right-side identified [148] irq_flipper_bottom::toD0181_$5 = irq_flipper_bottom::toD0181_$4 & $f
Constant right-side identified [313] part2_run::toDd001_return#0 = 3 ^ part2_run::toDd001_$1
Constant right-side identified [315] part2_run::toD0181_$2 = > part2_run::toD0181_$1
Constant right-side identified [315] part2_run::toD0181_$2 = byte1 part2_run::toD0181_$1
Constant right-side identified [316] part2_run::toD0181_$5 = part2_run::toD0181_$4 & $f
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant irq_part1_top::toDd001_return#0 = 3^irq_part1_top::toDd001_$1
Constant irq_part1_top::toD0181_$2 = >irq_part1_top::toD0181_$1
Constant irq_part1_top::toD0181_$2 = byte1 irq_part1_top::toD0181_$1
Constant irq_part1_top::toD0181_$5 = irq_part1_top::toD0181_$4&$f
Constant irq_flipper_bottom::toD0181_$2 = >irq_flipper_bottom::toD0181_$1
Constant irq_flipper_bottom::toD0181_$2 = byte1 irq_flipper_bottom::toD0181_$1
Constant irq_flipper_bottom::toD0181_$5 = irq_flipper_bottom::toD0181_$4&$f
Constant part2_run::toDd001_return#0 = 3^part2_run::toDd001_$1
Constant part2_run::toD0181_$2 = >part2_run::toD0181_$1
Constant part2_run::toD0181_$2 = byte1 part2_run::toD0181_$1
Constant part2_run::toD0181_$5 = part2_run::toD0181_$4&$f
Successful SSA optimization Pass2ConstantIdentification
Simplifying constant evaluating to zero 3^irq_part1_top::toDd001_$1 in
@ -4295,7 +4295,7 @@ Constant inlined sparkler_anim::toSpritePtr1_$0 = (word)P1_SPRITES/$40
Constant inlined plexPrepareFrame::$20 = 8*SIZEOF_STRUCT_BUCKETSPRITE
Constant inlined sparkler_anim::toSpritePtr1_$1 = (word)P1_SPRITES
Constant inlined part2_run::toD0181_$1 = (word)PART2_SCREEN&$3fff*4
Constant inlined part2_run::toD0181_$2 = >(word)PART2_SCREEN&$3fff*4
Constant inlined part2_run::toD0181_$2 = byte1 (word)PART2_SCREEN&$3fff*4
Constant inlined memset::c#0 = 0
Constant inlined memset::c#1 = 0
Constant inlined memset::c#2 = BLACK
@ -4321,7 +4321,7 @@ Constant inlined irq_part1_top::toD0181_$0 = (word)P1_SCREEN&$3fff
Constant inlined memcpy::source#3 = (void*)LOGO_DATA_CRUNCHED
Constant inlined irq_part1_top::toD0181_$1 = (word)P1_SCREEN&$3fff*4
Constant inlined memcpy::source#2 = (void*)COLS
Constant inlined irq_part1_top::toD0181_$2 = >(word)P1_SCREEN&$3fff*4
Constant inlined irq_part1_top::toD0181_$2 = byte1 (word)P1_SCREEN&$3fff*4
Constant inlined irq_flipper_bottom::toD0181_gfx#0 = LOAD_CHARSET
Constant inlined memcpy::source#1 = (void*)DEFAULT_SCREEN
Constant inlined plex_scroller_move::toSpritePtr1_$0 = (word)PART2_SPRITES/$40
@ -4339,12 +4339,12 @@ Constant inlined part2_init::toSpritePtr1_$1 = (word)PART2_SPRITES
Constant inlined memset::str#4 = (void*)PART2_SCREEN+$3e8
Constant inlined part2_init::toSpritePtr1_$0 = (word)PART2_SPRITES/$40
Constant inlined memset::str#3 = (void*)PART2_SCREEN
Constant inlined irq_flipper_bottom::toD0181_$4 = >(word)LOAD_CHARSET/4
Constant inlined irq_flipper_bottom::toD0181_$3 = >(word)LOAD_CHARSET
Constant inlined irq_flipper_bottom::toD0181_$5 = >(word)LOAD_CHARSET/4&$f
Constant inlined irq_flipper_bottom::toD0181_$4 = byte1 (word)LOAD_CHARSET/4
Constant inlined irq_flipper_bottom::toD0181_$3 = byte1 (word)LOAD_CHARSET
Constant inlined irq_flipper_bottom::toD0181_$5 = byte1 (word)LOAD_CHARSET/4&$f
Constant inlined irq_flipper_bottom::toD0181_screen#0 = LOAD_SCREEN
Constant inlined irq_flipper_bottom::toD0181_$0 = (word)LOAD_SCREEN&$3fff
Constant inlined irq_flipper_bottom::toD0181_$2 = >(word)LOAD_SCREEN&$3fff*4
Constant inlined irq_flipper_bottom::toD0181_$2 = byte1 (word)LOAD_SCREEN&$3fff*4
Constant inlined init_rasters::i#0 = 0
Constant inlined irq_flipper_bottom::toD0181_$1 = (word)LOAD_SCREEN&$3fff*4
Constant inlined sparkler_anim::toSpritePtr1_sprite#0 = P1_SPRITES
@ -5001,7 +5001,7 @@ irq_swing_top::@return: scope:[irq_swing_top] from irq_swing_top::@2
__interrupt(hardware_clobber) void irq_flipper_bottom()
irq_flipper_bottom: scope:[irq_flipper_bottom] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
[118] irq_flipper_bottom::$0 = < irq_flipper_bottom_line
[118] irq_flipper_bottom::$0 = byte0 irq_flipper_bottom_line
[119] irq_flipper_bottom::$1 = irq_flipper_bottom::$0 & 7
[120] raster_fine::line_offset = irq_flipper_bottom::$1
[121] call raster_fine
@ -5061,21 +5061,21 @@ irq_flipper_bottom::@4: scope:[irq_flipper_bottom] from irq_flipper_bottom::@2
__interrupt(hardware_clobber) void irq_flipper_top()
irq_flipper_top: scope:[irq_flipper_top] from
asm { nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop }
[148] irq_flipper_top::$0 = < irq_flipper_top_line
[148] irq_flipper_top::$0 = byte0 irq_flipper_top_line
[149] irq_flipper_top::$1 = irq_flipper_top::$0 & 7
[150] raster_fine::line_offset = irq_flipper_top::$1
[151] call raster_fine
to:irq_flipper_top::@4
irq_flipper_top::@4: scope:[irq_flipper_top] from irq_flipper_top
asm { lda#$9a ldx#LIGHT_GREEN ldy#$1b staVICII_MEMORY stxBORDER_COLOR styVICII_CONTROL1 stxBG_COLOR lda#$c8 staVICII_CONTROL2 }
[153] irq_flipper_top::$3 = > irq_flipper_bottom_line
[153] irq_flipper_top::$3 = byte1 irq_flipper_bottom_line
[154] if(0!=irq_flipper_top::$3) goto irq_flipper_top::@1
to:irq_flipper_top::@3
irq_flipper_top::@3: scope:[irq_flipper_top] from irq_flipper_top::@4
[155] *VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_flipper_top::@2
irq_flipper_top::@2: scope:[irq_flipper_top] from irq_flipper_top::@1 irq_flipper_top::@3
[156] irq_flipper_top::$4 = < irq_flipper_bottom_line
[156] irq_flipper_top::$4 = byte0 irq_flipper_bottom_line
[157] irq_flipper_top::$5 = irq_flipper_top::$4 & $f8
[158] *RASTER = irq_flipper_top::$5
[159] *HARDWARE_IRQ = &irq_flipper_bottom
@ -5106,14 +5106,14 @@ irq_part1_top::toD0181: scope:[irq_part1_top] from irq_part1_top::@4
to:irq_part1_top::@5
irq_part1_top::@5: scope:[irq_part1_top] from irq_part1_top::toD0181
[170] *((byte*)VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY) = irq_part1_top::toD0181_return#0
[171] irq_part1_top::$2 = > irq_flipper_top_line
[171] irq_part1_top::$2 = byte1 irq_flipper_top_line
[172] if(0!=irq_part1_top::$2) goto irq_part1_top::@1
to:irq_part1_top::@3
irq_part1_top::@3: scope:[irq_part1_top] from irq_part1_top::@5
[173] *VICII_CONTROL1 = *VICII_CONTROL1 & $7f
to:irq_part1_top::@2
irq_part1_top::@2: scope:[irq_part1_top] from irq_part1_top::@1 irq_part1_top::@3
[174] irq_part1_top::$3 = < irq_flipper_top_line
[174] irq_part1_top::$3 = byte0 irq_flipper_top_line
[175] irq_part1_top::$4 = irq_part1_top::$3 & $f8
[176] *RASTER = irq_part1_top::$4
[177] *HARDWARE_IRQ = &irq_flipper_top
@ -5252,11 +5252,11 @@ vsp_update_screen: scope:[vsp_update_screen] from irq_swing_plex::@14 irq_swing
[235] vsp_update_screen::$5 = (word)vsp_update_screen::x_offset
[236] vsp_update_screen::$0 = vsp_update_screen::$5 << 3
[237] vsp_update_screen::x_offset8 = vsp_update_screen::$0
[238] vsp_update_screen::$1 = > vsp_update_screen::x_offset8
[238] vsp_update_screen::$1 = byte1 vsp_update_screen::x_offset8
[239] if(vsp_update_screen::$1==0) goto vsp_update_screen::@1
to:vsp_update_screen::@4
vsp_update_screen::@4: scope:[vsp_update_screen] from vsp_update_screen
[240] vsp_update_screen::$3 = > vsp_update_screen::x_offset8
[240] vsp_update_screen::$3 = byte1 vsp_update_screen::x_offset8
[241] if(vsp_update_screen::$3==1) goto vsp_update_screen::@2
to:vsp_update_screen::@5
vsp_update_screen::@5: scope:[vsp_update_screen] from vsp_update_screen::@4
@ -8960,7 +8960,7 @@ irq_flipper_bottom: {
nop
nop
nop
// [118] irq_flipper_bottom::$0 = < irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
// [118] irq_flipper_bottom::$0 = byte0 irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_bottom_line
// [119] irq_flipper_bottom::$1 = irq_flipper_bottom::$0 & 7 -- vbuaa=vbuaa_band_vbuc1
and #7
@ -9180,7 +9180,7 @@ irq_flipper_top: {
nop
nop
nop
// [148] irq_flipper_top::$0 = < irq_flipper_top_line -- vbuaa=_byte0_vwuz1
// [148] irq_flipper_top::$0 = byte0 irq_flipper_top_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_top_line
// [149] irq_flipper_top::$1 = irq_flipper_top::$0 & 7 -- vbuaa=vbuaa_band_vbuc1
and #7
@ -9201,7 +9201,7 @@ irq_flipper_top: {
stx BG_COLOR
lda #$c8
sta VICII_CONTROL2
// [153] irq_flipper_top::$3 = > irq_flipper_bottom_line -- vbuaa=_byte1_vwuz1
// [153] irq_flipper_top::$3 = byte1 irq_flipper_bottom_line -- vbuaa=_byte1_vwuz1
lda.z irq_flipper_bottom_line+1
// [154] if(0!=irq_flipper_top::$3) goto irq_flipper_top::@1 -- 0_neq_vbuaa_then_la1
// Set up the flipper IRQ
@ -9217,7 +9217,7 @@ irq_flipper_top: {
jmp __b2
// irq_flipper_top::@2
__b2:
// [156] irq_flipper_top::$4 = < irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
// [156] irq_flipper_top::$4 = byte0 irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_bottom_line
// [157] irq_flipper_top::$5 = irq_flipper_top::$4 & $f8 -- vbuaa=vbuaa_band_vbuc1
and #$f8
@ -9300,7 +9300,7 @@ irq_part1_top: {
// Show screen
lda #toD0181_return
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
// [171] irq_part1_top::$2 = > irq_flipper_top_line -- vbuaa=_byte1_vwuz1
// [171] irq_part1_top::$2 = byte1 irq_flipper_top_line -- vbuaa=_byte1_vwuz1
lda.z irq_flipper_top_line+1
// [172] if(0!=irq_part1_top::$2) goto irq_part1_top::@1 -- 0_neq_vbuaa_then_la1
// Set up the flipper IRQ
@ -9316,7 +9316,7 @@ irq_part1_top: {
jmp __b2
// irq_part1_top::@2
__b2:
// [174] irq_part1_top::$3 = < irq_flipper_top_line -- vbuaa=_byte0_vwuz1
// [174] irq_part1_top::$3 = byte0 irq_flipper_top_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_top_line
// [175] irq_part1_top::$4 = irq_part1_top::$3 & $f8 -- vbuaa=vbuaa_band_vbuc1
and #$f8
@ -9661,7 +9661,7 @@ vsp_update_screen: {
sta.z x_offset8
lda.z __0+1
sta.z x_offset8+1
// [238] vsp_update_screen::$1 = > vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// [238] vsp_update_screen::$1 = byte1 vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
lda.z x_offset8+1
// [239] if(vsp_update_screen::$1==0) goto vsp_update_screen::@1 -- vbuaa_eq_0_then_la1
cmp #0
@ -9669,7 +9669,7 @@ vsp_update_screen: {
jmp __b4
// vsp_update_screen::@4
__b4:
// [240] vsp_update_screen::$3 = > vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// [240] vsp_update_screen::$3 = byte1 vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
lda.z x_offset8+1
// [241] if(vsp_update_screen::$3==1) goto vsp_update_screen::@2 -- vbuaa_eq_vbuc1_then_la1
cmp #1
@ -12703,7 +12703,7 @@ word irq_flipper_bottom::irq_flipper_line
word irq_flipper_bottom::irq_flipper_line#0 irq_flipper_line zp[2]:51 1.2
byte* irq_flipper_bottom::toD0181_gfx
byte irq_flipper_bottom::toD0181_return
constant byte irq_flipper_bottom::toD0181_return#0 toD0181_return = >(word)LOAD_SCREEN&$3fff*4|>(word)LOAD_CHARSET/4&$f
constant byte irq_flipper_bottom::toD0181_return#0 toD0181_return = byte1 (word)LOAD_SCREEN&$3fff*4|byte1 (word)LOAD_CHARSET/4&$f
byte* irq_flipper_bottom::toD0181_screen
volatile word irq_flipper_bottom_line loadstore zp[2]:12 1.090909090909091
volatile word irq_flipper_idx loadstore zp[2]:15 0.5714285714285714
@ -12720,7 +12720,7 @@ byte~ irq_part1_top::$3 reg byte a 4.0
byte~ irq_part1_top::$4 reg byte a 4.0
byte* irq_part1_top::toD0181_gfx
byte irq_part1_top::toD0181_return
constant byte irq_part1_top::toD0181_return#0 toD0181_return = >(word)P1_SCREEN&$3fff*4
constant byte irq_part1_top::toD0181_return#0 toD0181_return = byte1 (word)P1_SCREEN&$3fff*4
byte* irq_part1_top::toD0181_screen
byte* irq_part1_top::toDd001_gfx
byte irq_part1_top::toDd001_return
@ -12829,7 +12829,7 @@ word~ part2_loop::$24 zp[2]:72 10001.0
void part2_run()
byte* part2_run::toD0181_gfx
byte part2_run::toD0181_return
constant byte part2_run::toD0181_return#0 toD0181_return = >(word)PART2_SCREEN&$3fff*4
constant byte part2_run::toD0181_return#0 toD0181_return = byte1 (word)PART2_SCREEN&$3fff*4
byte* part2_run::toD0181_screen
byte* part2_run::toDd001_gfx
byte part2_run::toDd001_return
@ -14009,7 +14009,7 @@ irq_flipper_bottom: {
nop
nop
// BYTE0(irq_flipper_bottom_line)
// [118] irq_flipper_bottom::$0 = < irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
// [118] irq_flipper_bottom::$0 = byte0 irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_bottom_line
// BYTE0(irq_flipper_bottom_line)&7
// [119] irq_flipper_bottom::$1 = irq_flipper_bottom::$0 & 7 -- vbuaa=vbuaa_band_vbuc1
@ -14233,7 +14233,7 @@ irq_flipper_top: {
nop
nop
// BYTE0(irq_flipper_top_line)
// [148] irq_flipper_top::$0 = < irq_flipper_top_line -- vbuaa=_byte0_vwuz1
// [148] irq_flipper_top::$0 = byte0 irq_flipper_top_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_top_line
// BYTE0(irq_flipper_top_line)&7
// [149] irq_flipper_top::$1 = irq_flipper_top::$0 & 7 -- vbuaa=vbuaa_band_vbuc1
@ -14256,7 +14256,7 @@ irq_flipper_top: {
lda #$c8
sta VICII_CONTROL2
// BYTE1(irq_flipper_bottom_line)
// [153] irq_flipper_top::$3 = > irq_flipper_bottom_line -- vbuaa=_byte1_vwuz1
// [153] irq_flipper_top::$3 = byte1 irq_flipper_bottom_line -- vbuaa=_byte1_vwuz1
lda.z irq_flipper_bottom_line+1
// if(BYTE1(irq_flipper_bottom_line))
// [154] if(0!=irq_flipper_top::$3) goto irq_flipper_top::@1 -- 0_neq_vbuaa_then_la1
@ -14272,7 +14272,7 @@ irq_flipper_top: {
// irq_flipper_top::@2
__b2:
// BYTE0(irq_flipper_bottom_line)
// [156] irq_flipper_top::$4 = < irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
// [156] irq_flipper_top::$4 = byte0 irq_flipper_bottom_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_bottom_line
// BYTE0(irq_flipper_bottom_line)&0xf8
// [157] irq_flipper_top::$5 = irq_flipper_top::$4 & $f8 -- vbuaa=vbuaa_band_vbuc1
@ -14355,7 +14355,7 @@ irq_part1_top: {
lda #toD0181_return
sta VICII+OFFSET_STRUCT_MOS6569_VICII_MEMORY
// BYTE1(irq_flipper_top_line)
// [171] irq_part1_top::$2 = > irq_flipper_top_line -- vbuaa=_byte1_vwuz1
// [171] irq_part1_top::$2 = byte1 irq_flipper_top_line -- vbuaa=_byte1_vwuz1
lda.z irq_flipper_top_line+1
// if(BYTE1(irq_flipper_top_line))
// [172] if(0!=irq_part1_top::$2) goto irq_part1_top::@1 -- 0_neq_vbuaa_then_la1
@ -14371,7 +14371,7 @@ irq_part1_top: {
// irq_part1_top::@2
__b2:
// BYTE0(irq_flipper_top_line)
// [174] irq_part1_top::$3 = < irq_flipper_top_line -- vbuaa=_byte0_vwuz1
// [174] irq_part1_top::$3 = byte0 irq_flipper_top_line -- vbuaa=_byte0_vwuz1
lda.z irq_flipper_top_line
// BYTE0(irq_flipper_top_line)&0xf8
// [175] irq_part1_top::$4 = irq_part1_top::$3 & $f8 -- vbuaa=vbuaa_band_vbuc1
@ -14724,7 +14724,7 @@ vsp_update_screen: {
lda.z __0+1
sta.z x_offset8+1
// BYTE1(x_offset8)
// [238] vsp_update_screen::$1 = > vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// [238] vsp_update_screen::$1 = byte1 vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// if(BYTE1(x_offset8) == 0)
// [239] if(vsp_update_screen::$1==0) goto vsp_update_screen::@1 -- vbuaa_eq_0_then_la1
cmp #0
@ -14733,7 +14733,7 @@ vsp_update_screen: {
!__b1:
// vsp_update_screen::@4
// BYTE1(x_offset8)
// [240] vsp_update_screen::$3 = > vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// [240] vsp_update_screen::$3 = byte1 vsp_update_screen::x_offset8 -- vbuaa=_byte1_vwuz1
// if(BYTE1(x_offset8) == 1)
// [241] if(vsp_update_screen::$3==1) goto vsp_update_screen::@2 -- vbuaa_eq_vbuc1_then_la1
cmp #1

View File

@ -260,7 +260,7 @@ word irq_flipper_bottom::irq_flipper_line
word irq_flipper_bottom::irq_flipper_line#0 irq_flipper_line zp[2]:51 1.2
byte* irq_flipper_bottom::toD0181_gfx
byte irq_flipper_bottom::toD0181_return
constant byte irq_flipper_bottom::toD0181_return#0 toD0181_return = >(word)LOAD_SCREEN&$3fff*4|>(word)LOAD_CHARSET/4&$f
constant byte irq_flipper_bottom::toD0181_return#0 toD0181_return = byte1 (word)LOAD_SCREEN&$3fff*4|byte1 (word)LOAD_CHARSET/4&$f
byte* irq_flipper_bottom::toD0181_screen
volatile word irq_flipper_bottom_line loadstore zp[2]:12 1.090909090909091
volatile word irq_flipper_idx loadstore zp[2]:15 0.5714285714285714
@ -277,7 +277,7 @@ byte~ irq_part1_top::$3 reg byte a 4.0
byte~ irq_part1_top::$4 reg byte a 4.0
byte* irq_part1_top::toD0181_gfx
byte irq_part1_top::toD0181_return
constant byte irq_part1_top::toD0181_return#0 toD0181_return = >(word)P1_SCREEN&$3fff*4
constant byte irq_part1_top::toD0181_return#0 toD0181_return = byte1 (word)P1_SCREEN&$3fff*4
byte* irq_part1_top::toD0181_screen
byte* irq_part1_top::toDd001_gfx
byte irq_part1_top::toDd001_return
@ -386,7 +386,7 @@ word~ part2_loop::$24 zp[2]:72 10001.0
void part2_run()
byte* part2_run::toD0181_gfx
byte part2_run::toD0181_return
constant byte part2_run::toD0181_return#0 toD0181_return = >(word)PART2_SCREEN&$3fff*4
constant byte part2_run::toD0181_return#0 toD0181_return = byte1 (word)PART2_SCREEN&$3fff*4
byte* part2_run::toD0181_screen
byte* part2_run::toDd001_gfx
byte part2_run::toDd001_return