mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-21 22:29:07 +00:00
Fixed test.
This commit is contained in:
parent
a79e318bcd
commit
0073fedf4f
@ -20,7 +20,7 @@ public class CompileLog {
|
||||
/**
|
||||
* Should fragment synthesis be verbose.
|
||||
*/
|
||||
private boolean verboseFragmentLog = true;
|
||||
private boolean verboseFragmentLog = false;
|
||||
|
||||
/**
|
||||
* Should ASM optimization be verbose.
|
||||
@ -66,7 +66,7 @@ public class CompileLog {
|
||||
/**
|
||||
* Should the log be output to System.out while being built
|
||||
*/
|
||||
private boolean sysOut = true;
|
||||
private boolean sysOut = false;
|
||||
|
||||
public CompileLog() {
|
||||
this.log = new StringBuilder();
|
||||
|
@ -41,7 +41,7 @@ public class TestPrograms {
|
||||
public static void tearDown() {
|
||||
CompileLog log = new CompileLog();
|
||||
log.setSysOut(true);
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, true, true);
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -43,18 +43,18 @@
|
||||
.label current_piece_color = $12
|
||||
.label current_movedown_counter = 3
|
||||
.label current_piece_15 = 5
|
||||
.label current_xpos_62 = 4
|
||||
.label current_piece_gfx_62 = 5
|
||||
.label current_piece_color_64 = 7
|
||||
.label current_xpos_93 = 4
|
||||
.label current_piece_gfx_84 = 5
|
||||
.label current_xpos_63 = 4
|
||||
.label current_piece_gfx_63 = 5
|
||||
.label current_piece_color_65 = 7
|
||||
.label current_xpos_94 = 4
|
||||
.label current_piece_gfx_85 = 5
|
||||
.label current_piece_color_72 = 7
|
||||
.label current_piece_gfx_86 = 5
|
||||
.label current_piece_color_73 = 7
|
||||
.label current_piece_69 = 5
|
||||
.label current_piece_color_74 = 7
|
||||
.label current_piece_70 = 5
|
||||
.label current_piece_71 = 5
|
||||
.label current_piece_72 = 5
|
||||
.label current_piece_73 = 5
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $14
|
||||
@ -65,13 +65,13 @@ main: {
|
||||
jsr spawn_current
|
||||
jsr render_playfield
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_84
|
||||
sta current_piece_gfx_85
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_84+1
|
||||
sta current_piece_gfx_85+1
|
||||
lda current_piece_color
|
||||
sta current_piece_color_72
|
||||
sta current_piece_color_73
|
||||
lda #3
|
||||
sta current_xpos_62
|
||||
sta current_xpos_63
|
||||
ldx #0
|
||||
jsr render_current
|
||||
ldy spawn_current._3
|
||||
@ -119,13 +119,13 @@ main: {
|
||||
jsr render_playfield
|
||||
ldx current_ypos
|
||||
lda current_xpos
|
||||
sta current_xpos_93
|
||||
sta current_xpos_94
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_85
|
||||
sta current_piece_gfx_86
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_85+1
|
||||
sta current_piece_gfx_86+1
|
||||
lda current_piece_color
|
||||
sta current_piece_color_73
|
||||
sta current_piece_color_74
|
||||
jsr render_current
|
||||
dec BORDERCOL
|
||||
b10:
|
||||
@ -153,19 +153,19 @@ render_current: {
|
||||
sta screen_line
|
||||
lda screen_lines+1,y
|
||||
sta screen_line+1
|
||||
lda current_xpos_62
|
||||
lda current_xpos_63
|
||||
sta xpos
|
||||
ldx #0
|
||||
b3:
|
||||
ldy i
|
||||
lda (current_piece_gfx_62),y
|
||||
lda (current_piece_gfx_63),y
|
||||
inc i
|
||||
cmp #0
|
||||
beq b4
|
||||
lda xpos
|
||||
cmp #PLAYFIELD_COLS
|
||||
bcs b4
|
||||
lda current_piece_color_64
|
||||
lda current_piece_color_65
|
||||
ldy xpos
|
||||
sta (screen_line),y
|
||||
b4:
|
||||
@ -241,9 +241,9 @@ play_move_rotate: {
|
||||
ldy current_ypos
|
||||
ldx orientation
|
||||
lda current_piece
|
||||
sta current_piece_72
|
||||
sta current_piece_73
|
||||
lda current_piece+1
|
||||
sta current_piece_72+1
|
||||
sta current_piece_73+1
|
||||
jsr collision
|
||||
cmp #0
|
||||
bne b3
|
||||
@ -368,9 +368,9 @@ play_move_leftright: {
|
||||
ldy current_ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_71
|
||||
sta current_piece_72
|
||||
lda current_piece+1
|
||||
sta current_piece_71+1
|
||||
sta current_piece_72+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -389,9 +389,9 @@ play_move_leftright: {
|
||||
ldy current_ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_70
|
||||
sta current_piece_71
|
||||
lda current_piece+1
|
||||
sta current_piece_70+1
|
||||
sta current_piece_71+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -430,13 +430,14 @@ play_move_down: {
|
||||
sta collision.xpos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_69
|
||||
sta current_piece_70
|
||||
lda current_piece+1
|
||||
sta current_piece_69+1
|
||||
sta current_piece_70+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
beq b6
|
||||
jsr lock_current
|
||||
jsr remove_lines
|
||||
jsr spawn_current
|
||||
ldy spawn_current._3
|
||||
lda PIECES,y
|
||||
@ -490,6 +491,110 @@ sid_rnd: {
|
||||
lda SID_VOICE3_OSC
|
||||
rts
|
||||
}
|
||||
remove_lines: {
|
||||
.label done = 2
|
||||
lda #0
|
||||
sta done
|
||||
b1:
|
||||
jsr find_line
|
||||
lda find_line.return
|
||||
cmp #$ff
|
||||
bne b2
|
||||
lda #1
|
||||
sta done
|
||||
b3:
|
||||
lda done
|
||||
cmp #0
|
||||
beq b1
|
||||
rts
|
||||
b2:
|
||||
sta remove_line.ypos
|
||||
jsr remove_line
|
||||
jmp b3
|
||||
}
|
||||
remove_line: {
|
||||
.label ypos = 3
|
||||
.label x = 4
|
||||
.label y = 3
|
||||
lda ypos
|
||||
tay
|
||||
lda playfield_lines_idx+1,y
|
||||
tay
|
||||
dey
|
||||
ldx ypos
|
||||
lda playfield_lines_idx,x
|
||||
tax
|
||||
dex
|
||||
b1:
|
||||
lda #0
|
||||
sta x
|
||||
b2:
|
||||
lda playfield,x
|
||||
sta playfield,y
|
||||
dey
|
||||
dex
|
||||
inc x
|
||||
lda x
|
||||
cmp #PLAYFIELD_COLS-1+1
|
||||
bne b2
|
||||
dec y
|
||||
lda y
|
||||
cmp #1
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
find_line: {
|
||||
.label i = 8
|
||||
.label y = 7
|
||||
.label return = 7
|
||||
.label i_2 = 3
|
||||
.label filled = 4
|
||||
.label i_3 = 3
|
||||
.label i_8 = 3
|
||||
.label i_10 = 3
|
||||
lda #0
|
||||
sta y
|
||||
sta i_3
|
||||
b1:
|
||||
lda #1
|
||||
sta filled
|
||||
ldx #0
|
||||
b2:
|
||||
ldy i_2
|
||||
iny
|
||||
sty i
|
||||
ldy i_2
|
||||
lda playfield,y
|
||||
cmp #0
|
||||
bne b3
|
||||
lda #0
|
||||
sta filled
|
||||
b3:
|
||||
inx
|
||||
cpx #PLAYFIELD_COLS-1+1
|
||||
bne b12
|
||||
lda filled
|
||||
cmp #1
|
||||
bne b4
|
||||
breturn:
|
||||
rts
|
||||
b4:
|
||||
inc y
|
||||
lda y
|
||||
cmp #PLAYFIELD_LINES-1+1
|
||||
bne b11
|
||||
lda #$ff
|
||||
sta return
|
||||
jmp breturn
|
||||
b11:
|
||||
lda i
|
||||
sta i_8
|
||||
jmp b1
|
||||
b12:
|
||||
lda i
|
||||
sta i_10
|
||||
jmp b2
|
||||
}
|
||||
lock_current: {
|
||||
.label ypos2 = 2
|
||||
.label playfield_line = 5
|
||||
@ -662,9 +767,10 @@ keyboard_matrix_read: {
|
||||
rts
|
||||
}
|
||||
init: {
|
||||
.label _13 = $c
|
||||
.label _14 = $c
|
||||
.label li = 5
|
||||
.label pli = 5
|
||||
.label idx = 2
|
||||
.label line = 5
|
||||
.label l = 2
|
||||
ldx #$a0
|
||||
@ -702,6 +808,8 @@ init: {
|
||||
inx
|
||||
cpx #PLAYFIELD_LINES+2+1
|
||||
bne b1
|
||||
lda #0
|
||||
sta idx
|
||||
lda #<playfield
|
||||
sta pli
|
||||
lda #>playfield
|
||||
@ -715,16 +823,24 @@ init: {
|
||||
sta playfield_lines,y
|
||||
lda pli+1
|
||||
sta playfield_lines+1,y
|
||||
lda idx
|
||||
sta playfield_lines_idx,x
|
||||
lda pli
|
||||
clc
|
||||
adc #$a
|
||||
adc #PLAYFIELD_COLS
|
||||
sta pli
|
||||
bcc !+
|
||||
inc pli+1
|
||||
!:
|
||||
lda #PLAYFIELD_COLS
|
||||
clc
|
||||
adc idx
|
||||
sta idx
|
||||
inx
|
||||
cpx #PLAYFIELD_LINES-1+1
|
||||
bne b2
|
||||
lda #PLAYFIELD_COLS*PLAYFIELD_LINES
|
||||
sta playfield_lines_idx+PLAYFIELD_LINES
|
||||
lda #0
|
||||
sta l
|
||||
lda #<COLS+$e
|
||||
@ -737,13 +853,13 @@ init: {
|
||||
txa
|
||||
clc
|
||||
adc line
|
||||
sta _13
|
||||
sta _14
|
||||
lda #0
|
||||
adc line+1
|
||||
sta _13+1
|
||||
sta _14+1
|
||||
lda #DARK_GREY
|
||||
ldy #0
|
||||
sta (_13),y
|
||||
sta (_14),y
|
||||
inx
|
||||
cpx #PLAYFIELD_COLS+1+1
|
||||
bne b4
|
||||
@ -817,4 +933,5 @@ sid_rnd_init: {
|
||||
playfield_lines: .fill 2*PLAYFIELD_LINES, 0
|
||||
PIECES: .word PIECE_T, PIECE_S, PIECE_Z, PIECE_J, PIECE_O, PIECE_I, PIECE_L
|
||||
playfield: .fill PLAYFIELD_LINES*PLAYFIELD_COLS, 0
|
||||
playfield_lines_idx: .fill PLAYFIELD_LINES+1, 0
|
||||
screen_lines: .fill 2*(PLAYFIELD_LINES+3), 0
|
||||
|
@ -1,13 +1,13 @@
|
||||
@begin: scope:[] from
|
||||
[0] phi()
|
||||
to:@23
|
||||
@23: scope:[] from @begin
|
||||
to:@26
|
||||
@26: scope:[] from @begin
|
||||
[1] phi()
|
||||
[2] call main
|
||||
to:@end
|
||||
@end: scope:[] from @23
|
||||
@end: scope:[] from @26
|
||||
[3] phi()
|
||||
main: scope:[main] from @23
|
||||
main: scope:[main] from @26
|
||||
[4] phi()
|
||||
[5] call sid_rnd_init
|
||||
to:main::@21
|
||||
@ -24,10 +24,10 @@ main::@23: scope:[main] from main::@22
|
||||
[11] call render_playfield
|
||||
to:main::@24
|
||||
main::@24: scope:[main] from main::@23
|
||||
[12] (byte*~) current_piece_gfx#84 ← (byte*) current_piece_gfx#10
|
||||
[13] (byte~) current_piece_color#72 ← (byte) current_piece_color#15
|
||||
[12] (byte*~) current_piece_gfx#85 ← (byte*) current_piece_gfx#10
|
||||
[13] (byte~) current_piece_color#73 ← (byte) current_piece_color#15
|
||||
[14] call render_current
|
||||
[15] (byte*~) current_piece#68 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3)
|
||||
[15] (byte*~) current_piece#69 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3)
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@10 main::@24
|
||||
[16] (byte) current_movedown_counter#15 ← phi( main::@10/(byte) current_movedown_counter#12 main::@24/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
@ -37,7 +37,7 @@ main::@1: scope:[main] from main::@10 main::@24
|
||||
[16] (byte) current_xpos#16 ← phi( main::@10/(byte) current_xpos#23 main::@24/(byte/signed byte/word/signed word/dword/signed dword) 3 )
|
||||
[16] (byte*) current_piece_gfx#15 ← phi( main::@10/(byte*) current_piece_gfx#18 main::@24/(byte*) current_piece_gfx#10 )
|
||||
[16] (byte) current_orientation#15 ← phi( main::@10/(byte) current_orientation#23 main::@24/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[16] (byte*) current_piece#11 ← phi( main::@10/(byte*) current_piece#13 main::@24/(byte*~) current_piece#68 )
|
||||
[16] (byte*) current_piece#11 ← phi( main::@10/(byte*) current_piece#13 main::@24/(byte*~) current_piece#69 )
|
||||
to:main::@4
|
||||
main::@4: scope:[main] from main::@1 main::@4
|
||||
[17] if(*((const byte*) RASTER#0)!=(byte/word/signed word/dword/signed dword) 255) goto main::@4
|
||||
@ -84,10 +84,10 @@ main::@19: scope:[main] from main::@30
|
||||
[42] call render_playfield
|
||||
to:main::@31
|
||||
main::@31: scope:[main] from main::@19
|
||||
[43] (byte~) current_ypos#68 ← (byte) current_ypos#16
|
||||
[44] (byte~) current_xpos#93 ← (byte) current_xpos#23
|
||||
[45] (byte*~) current_piece_gfx#85 ← (byte*) current_piece_gfx#18
|
||||
[46] (byte~) current_piece_color#73 ← (byte) current_piece_color#13
|
||||
[43] (byte~) current_ypos#69 ← (byte) current_ypos#16
|
||||
[44] (byte~) current_xpos#94 ← (byte) current_xpos#23
|
||||
[45] (byte*~) current_piece_gfx#86 ← (byte*) current_piece_gfx#18
|
||||
[46] (byte~) current_piece_color#74 ← (byte) current_piece_color#13
|
||||
[47] call render_current
|
||||
to:main::@32
|
||||
main::@32: scope:[main] from main::@31
|
||||
@ -97,10 +97,10 @@ main::@10: scope:[main] from main::@30 main::@32
|
||||
[49] *((const byte*) BORDERCOL#0) ← -- *((const byte*) BORDERCOL#0)
|
||||
to:main::@1
|
||||
render_current: scope:[render_current] from main::@24 main::@31
|
||||
[50] (byte) current_piece_color#64 ← phi( main::@24/(byte~) current_piece_color#72 main::@31/(byte~) current_piece_color#73 )
|
||||
[50] (byte*) current_piece_gfx#62 ← phi( main::@24/(byte*~) current_piece_gfx#84 main::@31/(byte*~) current_piece_gfx#85 )
|
||||
[50] (byte) current_xpos#62 ← phi( main::@24/(byte/signed byte/word/signed word/dword/signed dword) 3 main::@31/(byte~) current_xpos#93 )
|
||||
[50] (byte) current_ypos#22 ← phi( main::@24/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@31/(byte~) current_ypos#68 )
|
||||
[50] (byte) current_piece_color#65 ← phi( main::@24/(byte~) current_piece_color#73 main::@31/(byte~) current_piece_color#74 )
|
||||
[50] (byte*) current_piece_gfx#63 ← phi( main::@24/(byte*~) current_piece_gfx#85 main::@31/(byte*~) current_piece_gfx#86 )
|
||||
[50] (byte) current_xpos#63 ← phi( main::@24/(byte/signed byte/word/signed word/dword/signed dword) 3 main::@31/(byte~) current_xpos#94 )
|
||||
[50] (byte) current_ypos#22 ← phi( main::@24/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@31/(byte~) current_ypos#69 )
|
||||
[51] (byte) render_current::ypos2#0 ← (byte) current_ypos#22 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:render_current::@1
|
||||
render_current::@1: scope:[render_current] from render_current render_current::@2
|
||||
@ -111,13 +111,13 @@ render_current::@1: scope:[render_current] from render_current render_current::
|
||||
to:render_current::@6
|
||||
render_current::@6: scope:[render_current] from render_current::@1
|
||||
[54] (byte*) render_current::screen_line#0 ← *((const byte*[PLAYFIELD_LINES#0+3]) screen_lines#0 + (byte) render_current::ypos2#2)
|
||||
[55] (byte) render_current::xpos#0 ← (byte) current_xpos#62
|
||||
[55] (byte) render_current::xpos#0 ← (byte) current_xpos#63
|
||||
to:render_current::@3
|
||||
render_current::@3: scope:[render_current] from render_current::@4 render_current::@6
|
||||
[56] (byte) render_current::c#2 ← phi( render_current::@4/(byte) render_current::c#1 render_current::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[56] (byte) render_current::xpos#2 ← phi( render_current::@4/(byte) render_current::xpos#1 render_current::@6/(byte) render_current::xpos#0 )
|
||||
[56] (byte) render_current::i#2 ← phi( render_current::@4/(byte) render_current::i#1 render_current::@6/(byte) render_current::i#4 )
|
||||
[57] (byte) render_current::current_cell#0 ← *((byte*) current_piece_gfx#62 + (byte) render_current::i#2)
|
||||
[57] (byte) render_current::current_cell#0 ← *((byte*) current_piece_gfx#63 + (byte) render_current::i#2)
|
||||
[58] (byte) render_current::i#1 ← ++ (byte) render_current::i#2
|
||||
[59] if((byte) render_current::current_cell#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto render_current::@4
|
||||
to:render_current::@7
|
||||
@ -125,7 +125,7 @@ render_current::@7: scope:[render_current] from render_current::@3
|
||||
[60] if((byte) render_current::xpos#2>=(const byte) PLAYFIELD_COLS#0) goto render_current::@4
|
||||
to:render_current::@8
|
||||
render_current::@8: scope:[render_current] from render_current::@7
|
||||
[61] *((byte*) render_current::screen_line#0 + (byte) render_current::xpos#2) ← (byte) current_piece_color#64
|
||||
[61] *((byte*) render_current::screen_line#0 + (byte) render_current::xpos#2) ← (byte) current_piece_color#65
|
||||
to:render_current::@4
|
||||
render_current::@4: scope:[render_current] from render_current::@3 render_current::@7 render_current::@8
|
||||
[62] (byte) render_current::xpos#1 ← ++ (byte) render_current::xpos#2
|
||||
@ -188,7 +188,7 @@ play_move_rotate::@4: scope:[play_move_rotate] from play_move_rotate::@1 play_m
|
||||
[90] (byte) collision::xpos#3 ← (byte) current_xpos#23
|
||||
[91] (byte) collision::ypos#3 ← (byte) current_ypos#16
|
||||
[92] (byte) collision::orientation#3 ← (byte) play_move_rotate::orientation#3
|
||||
[93] (byte*~) current_piece#72 ← (byte*) current_piece#13
|
||||
[93] (byte*~) current_piece#73 ← (byte*) current_piece#13
|
||||
[94] call collision
|
||||
[95] (byte) collision::return#13 ← (byte) collision::return#14
|
||||
to:play_move_rotate::@14
|
||||
@ -208,7 +208,7 @@ collision: scope:[collision] from play_move_down::@12 play_move_leftright::@1 p
|
||||
[102] (byte) collision::xpos#5 ← phi( play_move_down::@12/(byte) collision::xpos#0 play_move_leftright::@1/(byte) collision::xpos#1 play_move_leftright::@7/(byte) collision::xpos#2 play_move_rotate::@4/(byte) collision::xpos#3 )
|
||||
[102] (byte) collision::ypos#4 ← phi( play_move_down::@12/(byte) collision::ypos#0 play_move_leftright::@1/(byte) collision::ypos#1 play_move_leftright::@7/(byte) collision::ypos#2 play_move_rotate::@4/(byte) collision::ypos#3 )
|
||||
[102] (byte) collision::orientation#4 ← phi( play_move_down::@12/(byte) collision::orientation#0 play_move_leftright::@1/(byte) collision::orientation#1 play_move_leftright::@7/(byte) collision::orientation#2 play_move_rotate::@4/(byte) collision::orientation#3 )
|
||||
[102] (byte*) current_piece#15 ← phi( play_move_down::@12/(byte*~) current_piece#69 play_move_leftright::@1/(byte*~) current_piece#70 play_move_leftright::@7/(byte*~) current_piece#71 play_move_rotate::@4/(byte*~) current_piece#72 )
|
||||
[102] (byte*) current_piece#15 ← phi( play_move_down::@12/(byte*~) current_piece#70 play_move_leftright::@1/(byte*~) current_piece#71 play_move_leftright::@7/(byte*~) current_piece#72 play_move_rotate::@4/(byte*~) current_piece#73 )
|
||||
[103] (byte*) collision::piece_gfx#0 ← (byte*) current_piece#15 + (byte) collision::orientation#4
|
||||
[104] (byte) collision::ypos2#0 ← (byte) collision::ypos#4 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:collision::@1
|
||||
@ -269,7 +269,7 @@ play_move_leftright::@7: scope:[play_move_leftright] from play_move_leftright::
|
||||
[128] (byte) collision::xpos#2 ← (byte) current_xpos#19 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[129] (byte) collision::ypos#2 ← (byte) current_ypos#16
|
||||
[130] (byte) collision::orientation#2 ← (byte) current_orientation#18
|
||||
[131] (byte*~) current_piece#71 ← (byte*) current_piece#13
|
||||
[131] (byte*~) current_piece#72 ← (byte*) current_piece#13
|
||||
[132] call collision
|
||||
[133] (byte) collision::return#12 ← (byte) collision::return#14
|
||||
to:play_move_leftright::@15
|
||||
@ -289,7 +289,7 @@ play_move_leftright::@1: scope:[play_move_leftright] from play_move_leftright
|
||||
[139] (byte) collision::xpos#1 ← (byte) current_xpos#19 - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[140] (byte) collision::ypos#1 ← (byte) current_ypos#16
|
||||
[141] (byte) collision::orientation#1 ← (byte) current_orientation#18
|
||||
[142] (byte*~) current_piece#70 ← (byte*) current_piece#13
|
||||
[142] (byte*~) current_piece#71 ← (byte*) current_piece#13
|
||||
[143] call collision
|
||||
[144] (byte) collision::return#1 ← (byte) collision::return#14
|
||||
to:play_move_leftright::@14
|
||||
@ -337,7 +337,7 @@ play_move_down::@12: scope:[play_move_down] from play_move_down::@4
|
||||
[163] (byte) collision::ypos#0 ← (byte) current_ypos#12 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[164] (byte) collision::xpos#0 ← (byte) current_xpos#16
|
||||
[165] (byte) collision::orientation#0 ← (byte) current_orientation#15
|
||||
[166] (byte*~) current_piece#69 ← (byte*) current_piece#11
|
||||
[166] (byte*~) current_piece#70 ← (byte*) current_piece#11
|
||||
[167] call collision
|
||||
[168] (byte) collision::return#0 ← (byte) collision::return#14
|
||||
to:play_move_down::@18
|
||||
@ -351,301 +351,400 @@ play_move_down::@13: scope:[play_move_down] from play_move_down::@18
|
||||
to:play_move_down::@19
|
||||
play_move_down::@19: scope:[play_move_down] from play_move_down::@13
|
||||
[173] phi()
|
||||
[174] call spawn_current
|
||||
[175] (byte*~) current_piece#73 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3)
|
||||
[174] call remove_lines
|
||||
to:play_move_down::@20
|
||||
play_move_down::@20: scope:[play_move_down] from play_move_down::@19
|
||||
[175] phi()
|
||||
[176] call spawn_current
|
||||
[177] (byte*~) current_piece#74 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3)
|
||||
to:play_move_down::@7
|
||||
play_move_down::@7: scope:[play_move_down] from play_move_down::@19 play_move_down::@6
|
||||
[176] (byte) current_piece_color#23 ← phi( play_move_down::@19/(byte) current_piece_color#15 play_move_down::@6/(byte) current_piece_color#11 )
|
||||
[176] (byte) current_xpos#36 ← phi( play_move_down::@19/(byte/signed byte/word/signed word/dword/signed dword) 3 play_move_down::@6/(byte) current_xpos#16 )
|
||||
[176] (byte*) current_piece_gfx#29 ← phi( play_move_down::@19/(byte*) current_piece_gfx#10 play_move_down::@6/(byte*) current_piece_gfx#15 )
|
||||
[176] (byte) current_orientation#33 ← phi( play_move_down::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@6/(byte) current_orientation#15 )
|
||||
[176] (byte*) current_piece#23 ← phi( play_move_down::@19/(byte*~) current_piece#73 play_move_down::@6/(byte*) current_piece#11 )
|
||||
[176] (byte) current_ypos#31 ← phi( play_move_down::@19/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@6/(byte) current_ypos#4 )
|
||||
play_move_down::@7: scope:[play_move_down] from play_move_down::@20 play_move_down::@6
|
||||
[178] (byte) current_piece_color#23 ← phi( play_move_down::@20/(byte) current_piece_color#15 play_move_down::@6/(byte) current_piece_color#11 )
|
||||
[178] (byte) current_xpos#36 ← phi( play_move_down::@20/(byte/signed byte/word/signed word/dword/signed dword) 3 play_move_down::@6/(byte) current_xpos#16 )
|
||||
[178] (byte*) current_piece_gfx#29 ← phi( play_move_down::@20/(byte*) current_piece_gfx#10 play_move_down::@6/(byte*) current_piece_gfx#15 )
|
||||
[178] (byte) current_orientation#33 ← phi( play_move_down::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@6/(byte) current_orientation#15 )
|
||||
[178] (byte*) current_piece#23 ← phi( play_move_down::@20/(byte*~) current_piece#74 play_move_down::@6/(byte*) current_piece#11 )
|
||||
[178] (byte) current_ypos#31 ← phi( play_move_down::@20/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@6/(byte) current_ypos#4 )
|
||||
to:play_move_down::@return
|
||||
play_move_down::@return: scope:[play_move_down] from play_move_down::@4 play_move_down::@7
|
||||
[177] (byte) current_piece_color#13 ← phi( play_move_down::@4/(byte) current_piece_color#11 play_move_down::@7/(byte) current_piece_color#23 )
|
||||
[177] (byte) current_xpos#19 ← phi( play_move_down::@4/(byte) current_xpos#16 play_move_down::@7/(byte) current_xpos#36 )
|
||||
[177] (byte*) current_piece_gfx#17 ← phi( play_move_down::@4/(byte*) current_piece_gfx#15 play_move_down::@7/(byte*) current_piece_gfx#29 )
|
||||
[177] (byte) current_orientation#18 ← phi( play_move_down::@4/(byte) current_orientation#15 play_move_down::@7/(byte) current_orientation#33 )
|
||||
[177] (byte*) current_piece#13 ← phi( play_move_down::@4/(byte*) current_piece#11 play_move_down::@7/(byte*) current_piece#23 )
|
||||
[177] (byte) current_ypos#16 ← phi( play_move_down::@4/(byte) current_ypos#12 play_move_down::@7/(byte) current_ypos#31 )
|
||||
[177] (byte) current_movedown_counter#12 ← phi( play_move_down::@4/(byte) current_movedown_counter#10 play_move_down::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[177] (byte) play_move_down::return#3 ← phi( play_move_down::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@7/(byte/signed byte/word/signed word/dword/signed dword) 1 )
|
||||
[178] return
|
||||
[179] (byte) current_piece_color#13 ← phi( play_move_down::@4/(byte) current_piece_color#11 play_move_down::@7/(byte) current_piece_color#23 )
|
||||
[179] (byte) current_xpos#19 ← phi( play_move_down::@4/(byte) current_xpos#16 play_move_down::@7/(byte) current_xpos#36 )
|
||||
[179] (byte*) current_piece_gfx#17 ← phi( play_move_down::@4/(byte*) current_piece_gfx#15 play_move_down::@7/(byte*) current_piece_gfx#29 )
|
||||
[179] (byte) current_orientation#18 ← phi( play_move_down::@4/(byte) current_orientation#15 play_move_down::@7/(byte) current_orientation#33 )
|
||||
[179] (byte*) current_piece#13 ← phi( play_move_down::@4/(byte*) current_piece#11 play_move_down::@7/(byte*) current_piece#23 )
|
||||
[179] (byte) current_ypos#16 ← phi( play_move_down::@4/(byte) current_ypos#12 play_move_down::@7/(byte) current_ypos#31 )
|
||||
[179] (byte) current_movedown_counter#12 ← phi( play_move_down::@4/(byte) current_movedown_counter#10 play_move_down::@7/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[179] (byte) play_move_down::return#3 ← phi( play_move_down::@4/(byte/signed byte/word/signed word/dword/signed dword) 0 play_move_down::@7/(byte/signed byte/word/signed word/dword/signed dword) 1 )
|
||||
[180] return
|
||||
to:@return
|
||||
play_move_down::@6: scope:[play_move_down] from play_move_down::@18
|
||||
[179] (byte) current_ypos#4 ← ++ (byte) current_ypos#12
|
||||
[181] (byte) current_ypos#4 ← ++ (byte) current_ypos#12
|
||||
to:play_move_down::@7
|
||||
spawn_current: scope:[spawn_current] from main::@22 play_move_down::@19
|
||||
[180] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
|
||||
spawn_current: scope:[spawn_current] from main::@22 play_move_down::@20
|
||||
[182] *((const byte*) BORDERCOL#0) ← ++ *((const byte*) BORDERCOL#0)
|
||||
to:spawn_current::@1
|
||||
spawn_current::@1: scope:[spawn_current] from spawn_current spawn_current::@7
|
||||
[181] (byte) spawn_current::piece_idx#2 ← phi( spawn_current/(byte/signed byte/word/signed word/dword/signed dword) 7 spawn_current::@7/(byte) spawn_current::piece_idx#1 )
|
||||
[182] if((byte) spawn_current::piece_idx#2==(byte/signed byte/word/signed word/dword/signed dword) 7) goto spawn_current::@2
|
||||
[183] (byte) spawn_current::piece_idx#2 ← phi( spawn_current/(byte/signed byte/word/signed word/dword/signed dword) 7 spawn_current::@7/(byte) spawn_current::piece_idx#1 )
|
||||
[184] if((byte) spawn_current::piece_idx#2==(byte/signed byte/word/signed word/dword/signed dword) 7) goto spawn_current::@2
|
||||
to:spawn_current::@3
|
||||
spawn_current::@3: scope:[spawn_current] from spawn_current::@1
|
||||
[183] *((const byte*) BORDERCOL#0) ← -- *((const byte*) BORDERCOL#0)
|
||||
[184] (byte~) spawn_current::$3 ← (byte) spawn_current::piece_idx#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[185] (byte*) current_piece_gfx#10 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3) + (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[186] (byte) current_piece_color#15 ← *((const byte[]) PIECES_COLORS#0 + (byte) spawn_current::piece_idx#2)
|
||||
[185] *((const byte*) BORDERCOL#0) ← -- *((const byte*) BORDERCOL#0)
|
||||
[186] (byte~) spawn_current::$3 ← (byte) spawn_current::piece_idx#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[187] (byte*) current_piece_gfx#10 ← (byte*)*((const word[]) PIECES#0 + (byte~) spawn_current::$3) + (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[188] (byte) current_piece_color#15 ← *((const byte[]) PIECES_COLORS#0 + (byte) spawn_current::piece_idx#2)
|
||||
to:spawn_current::@return
|
||||
spawn_current::@return: scope:[spawn_current] from spawn_current::@3
|
||||
[187] return
|
||||
[189] return
|
||||
to:@return
|
||||
spawn_current::@2: scope:[spawn_current] from spawn_current::@1
|
||||
[188] phi()
|
||||
[189] call sid_rnd
|
||||
[190] (byte) sid_rnd::return#2 ← (byte) sid_rnd::return#0
|
||||
[190] phi()
|
||||
[191] call sid_rnd
|
||||
[192] (byte) sid_rnd::return#2 ← (byte) sid_rnd::return#0
|
||||
to:spawn_current::@7
|
||||
spawn_current::@7: scope:[spawn_current] from spawn_current::@2
|
||||
[191] (byte~) spawn_current::$1 ← (byte) sid_rnd::return#2
|
||||
[192] (byte) spawn_current::piece_idx#1 ← (byte~) spawn_current::$1 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[193] (byte~) spawn_current::$1 ← (byte) sid_rnd::return#2
|
||||
[194] (byte) spawn_current::piece_idx#1 ← (byte~) spawn_current::$1 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
to:spawn_current::@1
|
||||
sid_rnd: scope:[sid_rnd] from spawn_current::@2
|
||||
[193] (byte) sid_rnd::return#0 ← *((const byte*) SID_VOICE3_OSC#0)
|
||||
[195] (byte) sid_rnd::return#0 ← *((const byte*) SID_VOICE3_OSC#0)
|
||||
to:sid_rnd::@return
|
||||
sid_rnd::@return: scope:[sid_rnd] from sid_rnd
|
||||
[194] return
|
||||
[196] return
|
||||
to:@return
|
||||
remove_lines: scope:[remove_lines] from play_move_down::@19
|
||||
[197] phi()
|
||||
to:remove_lines::@1
|
||||
remove_lines::@1: scope:[remove_lines] from remove_lines remove_lines::@3
|
||||
[198] (byte) remove_lines::done#3 ← phi( remove_lines/(byte/signed byte/word/signed word/dword/signed dword) 0 remove_lines::@3/(byte) remove_lines::done#2 )
|
||||
[199] call find_line
|
||||
[200] (byte) find_line::return#0 ← (byte) find_line::return#2
|
||||
to:remove_lines::@7
|
||||
remove_lines::@7: scope:[remove_lines] from remove_lines::@1
|
||||
[201] (byte) remove_lines::line_ypos#0 ← (byte) find_line::return#0
|
||||
[202] if((byte) remove_lines::line_ypos#0!=(byte/word/signed word/dword/signed dword) 255) goto remove_lines::@2
|
||||
to:remove_lines::@3
|
||||
remove_lines::@3: scope:[remove_lines] from remove_lines::@2 remove_lines::@7
|
||||
[203] (byte) remove_lines::done#2 ← phi( remove_lines::@7/(byte/signed byte/word/signed word/dword/signed dword) 1 remove_lines::@2/(byte) remove_lines::done#3 )
|
||||
[204] if((byte) remove_lines::done#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto remove_lines::@1
|
||||
to:remove_lines::@return
|
||||
remove_lines::@return: scope:[remove_lines] from remove_lines::@3
|
||||
[205] return
|
||||
to:@return
|
||||
remove_lines::@2: scope:[remove_lines] from remove_lines::@7
|
||||
[206] (byte) remove_line::ypos#0 ← (byte) remove_lines::line_ypos#0
|
||||
[207] call remove_line
|
||||
to:remove_lines::@3
|
||||
remove_line: scope:[remove_line] from remove_lines::@2
|
||||
[208] (byte~) remove_line::$0 ← (byte) remove_line::ypos#0
|
||||
[209] (byte) remove_line::i2#0 ← *((const byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx#0+(byte/signed byte/word/signed word/dword/signed dword) 1 + (byte~) remove_line::$0) - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[210] (byte) remove_line::i1#0 ← *((const byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx#0 + (byte) remove_line::ypos#0) - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:remove_line::@1
|
||||
remove_line::@1: scope:[remove_line] from remove_line remove_line::@3
|
||||
[211] (byte) remove_line::y#4 ← phi( remove_line/(byte) remove_line::ypos#0 remove_line::@3/(byte) remove_line::y#1 )
|
||||
[211] (byte) remove_line::i2#3 ← phi( remove_line/(byte) remove_line::i2#0 remove_line::@3/(byte) remove_line::i2#1 )
|
||||
[211] (byte) remove_line::i1#3 ← phi( remove_line/(byte) remove_line::i1#0 remove_line::@3/(byte) remove_line::i1#1 )
|
||||
to:remove_line::@2
|
||||
remove_line::@2: scope:[remove_line] from remove_line::@1 remove_line::@2
|
||||
[212] (byte) remove_line::x#2 ← phi( remove_line::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 remove_line::@2/(byte) remove_line::x#1 )
|
||||
[212] (byte) remove_line::i2#2 ← phi( remove_line::@1/(byte) remove_line::i2#3 remove_line::@2/(byte) remove_line::i2#1 )
|
||||
[212] (byte) remove_line::i1#2 ← phi( remove_line::@1/(byte) remove_line::i1#3 remove_line::@2/(byte) remove_line::i1#1 )
|
||||
[213] *((const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 + (byte) remove_line::i2#2) ← *((const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 + (byte) remove_line::i1#2)
|
||||
[214] (byte) remove_line::i2#1 ← -- (byte) remove_line::i2#2
|
||||
[215] (byte) remove_line::i1#1 ← -- (byte) remove_line::i1#2
|
||||
[216] (byte) remove_line::x#1 ← ++ (byte) remove_line::x#2
|
||||
[217] if((byte) remove_line::x#1!=(const byte) PLAYFIELD_COLS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto remove_line::@2
|
||||
to:remove_line::@3
|
||||
remove_line::@3: scope:[remove_line] from remove_line::@2
|
||||
[218] (byte) remove_line::y#1 ← -- (byte) remove_line::y#4
|
||||
[219] if((byte) remove_line::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto remove_line::@1
|
||||
to:remove_line::@return
|
||||
remove_line::@return: scope:[remove_line] from remove_line::@3
|
||||
[220] return
|
||||
to:@return
|
||||
find_line: scope:[find_line] from remove_lines::@1
|
||||
[221] phi()
|
||||
to:find_line::@1
|
||||
find_line::@1: scope:[find_line] from find_line find_line::@11
|
||||
[222] (byte) find_line::y#8 ← phi( find_line/(byte/signed byte/word/signed word/dword/signed dword) 0 find_line::@11/(byte) find_line::y#1 )
|
||||
[222] (byte) find_line::i#3 ← phi( find_line/(byte/signed byte/word/signed word/dword/signed dword) 0 find_line::@11/(byte~) find_line::i#8 )
|
||||
to:find_line::@2
|
||||
find_line::@2: scope:[find_line] from find_line::@1 find_line::@12
|
||||
[223] (byte) find_line::filled#4 ← phi( find_line::@1/(byte/signed byte/word/signed word/dword/signed dword) 1 find_line::@12/(byte) find_line::filled#2 )
|
||||
[223] (byte) find_line::x#2 ← phi( find_line::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 find_line::@12/(byte) find_line::x#1 )
|
||||
[223] (byte) find_line::i#2 ← phi( find_line::@1/(byte) find_line::i#3 find_line::@12/(byte~) find_line::i#10 )
|
||||
[224] (byte) find_line::i#1 ← ++ (byte) find_line::i#2
|
||||
[225] if(*((const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 + (byte) find_line::i#2)!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto find_line::@13
|
||||
to:find_line::@3
|
||||
find_line::@3: scope:[find_line] from find_line::@13 find_line::@2
|
||||
[226] (byte) find_line::filled#2 ← phi( find_line::@13/(byte) find_line::filled#4 find_line::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[227] (byte) find_line::x#1 ← ++ (byte) find_line::x#2
|
||||
[228] if((byte) find_line::x#1!=(const byte) PLAYFIELD_COLS#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto find_line::@12
|
||||
to:find_line::@6
|
||||
find_line::@6: scope:[find_line] from find_line::@3
|
||||
[229] if((byte) find_line::filled#2!=(byte/signed byte/word/signed word/dword/signed dword) 1) goto find_line::@4
|
||||
to:find_line::@return
|
||||
find_line::@return: scope:[find_line] from find_line::@4 find_line::@6
|
||||
[230] (byte) find_line::return#2 ← phi( find_line::@6/(byte) find_line::y#8 find_line::@4/(byte/word/signed word/dword/signed dword) 255 )
|
||||
[231] return
|
||||
to:@return
|
||||
find_line::@4: scope:[find_line] from find_line::@6
|
||||
[232] (byte) find_line::y#1 ← ++ (byte) find_line::y#8
|
||||
[233] if((byte) find_line::y#1!=(const byte) PLAYFIELD_LINES#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto find_line::@11
|
||||
to:find_line::@return
|
||||
find_line::@11: scope:[find_line] from find_line::@4
|
||||
[234] (byte~) find_line::i#8 ← (byte) find_line::i#1
|
||||
to:find_line::@1
|
||||
find_line::@12: scope:[find_line] from find_line::@3
|
||||
[235] (byte~) find_line::i#10 ← (byte) find_line::i#1
|
||||
to:find_line::@2
|
||||
find_line::@13: scope:[find_line] from find_line::@2
|
||||
[236] phi()
|
||||
to:find_line::@3
|
||||
lock_current: scope:[lock_current] from play_move_down::@13
|
||||
[195] (byte) lock_current::ypos2#0 ← (byte) current_ypos#12 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[237] (byte) lock_current::ypos2#0 ← (byte) current_ypos#12 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:lock_current::@1
|
||||
lock_current::@1: scope:[lock_current] from lock_current lock_current::@7
|
||||
[196] (byte) lock_current::l#6 ← phi( lock_current/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@7/(byte) lock_current::l#1 )
|
||||
[196] (byte) lock_current::i#3 ← phi( lock_current/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@7/(byte~) lock_current::i#7 )
|
||||
[196] (byte) lock_current::ypos2#2 ← phi( lock_current/(byte) lock_current::ypos2#0 lock_current::@7/(byte) lock_current::ypos2#1 )
|
||||
[197] (byte*) lock_current::playfield_line#0 ← *((const byte*[PLAYFIELD_LINES#0]) playfield_lines#0 + (byte) lock_current::ypos2#2)
|
||||
[198] (byte) lock_current::col#0 ← (byte) current_xpos#16
|
||||
[238] (byte) lock_current::l#6 ← phi( lock_current/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@7/(byte) lock_current::l#1 )
|
||||
[238] (byte) lock_current::i#3 ← phi( lock_current/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@7/(byte~) lock_current::i#7 )
|
||||
[238] (byte) lock_current::ypos2#2 ← phi( lock_current/(byte) lock_current::ypos2#0 lock_current::@7/(byte) lock_current::ypos2#1 )
|
||||
[239] (byte*) lock_current::playfield_line#0 ← *((const byte*[PLAYFIELD_LINES#0]) playfield_lines#0 + (byte) lock_current::ypos2#2)
|
||||
[240] (byte) lock_current::col#0 ← (byte) current_xpos#16
|
||||
to:lock_current::@2
|
||||
lock_current::@2: scope:[lock_current] from lock_current::@1 lock_current::@8
|
||||
[199] (byte) lock_current::c#2 ← phi( lock_current::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@8/(byte) lock_current::c#1 )
|
||||
[199] (byte) lock_current::col#2 ← phi( lock_current::@1/(byte) lock_current::col#0 lock_current::@8/(byte) lock_current::col#1 )
|
||||
[199] (byte) lock_current::i#2 ← phi( lock_current::@1/(byte) lock_current::i#3 lock_current::@8/(byte~) lock_current::i#9 )
|
||||
[200] (byte) lock_current::i#1 ← ++ (byte) lock_current::i#2
|
||||
[201] if(*((byte*) current_piece_gfx#15 + (byte) lock_current::i#2)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto lock_current::@3
|
||||
[241] (byte) lock_current::c#2 ← phi( lock_current::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 lock_current::@8/(byte) lock_current::c#1 )
|
||||
[241] (byte) lock_current::col#2 ← phi( lock_current::@1/(byte) lock_current::col#0 lock_current::@8/(byte) lock_current::col#1 )
|
||||
[241] (byte) lock_current::i#2 ← phi( lock_current::@1/(byte) lock_current::i#3 lock_current::@8/(byte~) lock_current::i#9 )
|
||||
[242] (byte) lock_current::i#1 ← ++ (byte) lock_current::i#2
|
||||
[243] if(*((byte*) current_piece_gfx#15 + (byte) lock_current::i#2)==(byte/signed byte/word/signed word/dword/signed dword) 0) goto lock_current::@3
|
||||
to:lock_current::@4
|
||||
lock_current::@4: scope:[lock_current] from lock_current::@2
|
||||
[202] *((byte*) lock_current::playfield_line#0 + (byte) lock_current::col#2) ← (byte) current_piece_color#11
|
||||
[244] *((byte*) lock_current::playfield_line#0 + (byte) lock_current::col#2) ← (byte) current_piece_color#11
|
||||
to:lock_current::@3
|
||||
lock_current::@3: scope:[lock_current] from lock_current::@2 lock_current::@4
|
||||
[203] (byte) lock_current::col#1 ← ++ (byte) lock_current::col#2
|
||||
[204] (byte) lock_current::c#1 ← ++ (byte) lock_current::c#2
|
||||
[205] if((byte) lock_current::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto lock_current::@8
|
||||
[245] (byte) lock_current::col#1 ← ++ (byte) lock_current::col#2
|
||||
[246] (byte) lock_current::c#1 ← ++ (byte) lock_current::c#2
|
||||
[247] if((byte) lock_current::c#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto lock_current::@8
|
||||
to:lock_current::@5
|
||||
lock_current::@5: scope:[lock_current] from lock_current::@3
|
||||
[206] (byte) lock_current::ypos2#1 ← (byte) lock_current::ypos2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
[207] (byte) lock_current::l#1 ← ++ (byte) lock_current::l#6
|
||||
[208] if((byte) lock_current::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto lock_current::@7
|
||||
[248] (byte) lock_current::ypos2#1 ← (byte) lock_current::ypos2#2 + (byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
[249] (byte) lock_current::l#1 ← ++ (byte) lock_current::l#6
|
||||
[250] if((byte) lock_current::l#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto lock_current::@7
|
||||
to:lock_current::@return
|
||||
lock_current::@return: scope:[lock_current] from lock_current::@5
|
||||
[209] return
|
||||
[251] return
|
||||
to:@return
|
||||
lock_current::@7: scope:[lock_current] from lock_current::@5
|
||||
[210] (byte~) lock_current::i#7 ← (byte) lock_current::i#1
|
||||
[252] (byte~) lock_current::i#7 ← (byte) lock_current::i#1
|
||||
to:lock_current::@1
|
||||
lock_current::@8: scope:[lock_current] from lock_current::@3
|
||||
[211] (byte~) lock_current::i#9 ← (byte) lock_current::i#1
|
||||
[253] (byte~) lock_current::i#9 ← (byte) lock_current::i#1
|
||||
to:lock_current::@2
|
||||
keyboard_event_pressed: scope:[keyboard_event_pressed] from keyboard_event_scan::@10 keyboard_event_scan::@11 keyboard_event_scan::@20 keyboard_event_scan::@9 play_move_down::@1
|
||||
[212] (byte) keyboard_event_pressed::keycode#5 ← phi( keyboard_event_scan::@10/(const byte) KEY_CTRL#0 keyboard_event_scan::@11/(const byte) KEY_COMMODORE#0 keyboard_event_scan::@20/(const byte) KEY_LSHIFT#0 keyboard_event_scan::@9/(const byte) KEY_RSHIFT#0 play_move_down::@1/(const byte) KEY_SPACE#0 )
|
||||
[213] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#5 >> (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
[214] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte[8]) keyboard_scan_values#0 + (byte~) keyboard_event_pressed::$0)
|
||||
[215] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#5 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[216] (byte) keyboard_event_pressed::return#11 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1)
|
||||
[254] (byte) keyboard_event_pressed::keycode#5 ← phi( keyboard_event_scan::@10/(const byte) KEY_CTRL#0 keyboard_event_scan::@11/(const byte) KEY_COMMODORE#0 keyboard_event_scan::@20/(const byte) KEY_LSHIFT#0 keyboard_event_scan::@9/(const byte) KEY_RSHIFT#0 play_move_down::@1/(const byte) KEY_SPACE#0 )
|
||||
[255] (byte~) keyboard_event_pressed::$0 ← (byte) keyboard_event_pressed::keycode#5 >> (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
[256] (byte) keyboard_event_pressed::row_bits#0 ← *((const byte[8]) keyboard_scan_values#0 + (byte~) keyboard_event_pressed::$0)
|
||||
[257] (byte~) keyboard_event_pressed::$1 ← (byte) keyboard_event_pressed::keycode#5 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[258] (byte) keyboard_event_pressed::return#11 ← (byte) keyboard_event_pressed::row_bits#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_event_pressed::$1)
|
||||
to:keyboard_event_pressed::@return
|
||||
keyboard_event_pressed::@return: scope:[keyboard_event_pressed] from keyboard_event_pressed
|
||||
[217] return
|
||||
[259] return
|
||||
to:@return
|
||||
keyboard_event_get: scope:[keyboard_event_get] from main::@26
|
||||
[218] if((byte) keyboard_events_size#13==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@return
|
||||
[260] if((byte) keyboard_events_size#13==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_get::@return
|
||||
to:keyboard_event_get::@3
|
||||
keyboard_event_get::@3: scope:[keyboard_event_get] from keyboard_event_get
|
||||
[219] (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#13
|
||||
[220] (byte) keyboard_event_get::return#1 ← *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#4)
|
||||
[261] (byte) keyboard_events_size#4 ← -- (byte) keyboard_events_size#13
|
||||
[262] (byte) keyboard_event_get::return#1 ← *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#4)
|
||||
to:keyboard_event_get::@return
|
||||
keyboard_event_get::@return: scope:[keyboard_event_get] from keyboard_event_get keyboard_event_get::@3
|
||||
[221] (byte) keyboard_events_size#16 ← phi( keyboard_event_get/(byte) keyboard_events_size#13 keyboard_event_get::@3/(byte) keyboard_events_size#4 )
|
||||
[221] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte/word/signed word/dword/signed dword) 255 keyboard_event_get::@3/(byte) keyboard_event_get::return#1 )
|
||||
[222] return
|
||||
[263] (byte) keyboard_events_size#16 ← phi( keyboard_event_get/(byte) keyboard_events_size#13 keyboard_event_get::@3/(byte) keyboard_events_size#4 )
|
||||
[263] (byte) keyboard_event_get::return#2 ← phi( keyboard_event_get/(byte/word/signed word/dword/signed dword) 255 keyboard_event_get::@3/(byte) keyboard_event_get::return#1 )
|
||||
[264] return
|
||||
to:@return
|
||||
keyboard_event_scan: scope:[keyboard_event_scan] from main::@9
|
||||
[223] phi()
|
||||
[265] phi()
|
||||
to:keyboard_event_scan::@1
|
||||
keyboard_event_scan::@1: scope:[keyboard_event_scan] from keyboard_event_scan keyboard_event_scan::@3
|
||||
[224] (byte) keyboard_events_size#29 ← phi( keyboard_event_scan/(byte) keyboard_events_size#19 keyboard_event_scan::@3/(byte) keyboard_events_size#13 )
|
||||
[224] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@3/(byte) keyboard_event_scan::keycode#14 )
|
||||
[224] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@3/(byte) keyboard_event_scan::row#1 )
|
||||
[225] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2
|
||||
[226] call keyboard_matrix_read
|
||||
[227] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0
|
||||
[266] (byte) keyboard_events_size#29 ← phi( keyboard_event_scan/(byte) keyboard_events_size#19 keyboard_event_scan::@3/(byte) keyboard_events_size#13 )
|
||||
[266] (byte) keyboard_event_scan::keycode#11 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@3/(byte) keyboard_event_scan::keycode#14 )
|
||||
[266] (byte) keyboard_event_scan::row#2 ← phi( keyboard_event_scan/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@3/(byte) keyboard_event_scan::row#1 )
|
||||
[267] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_event_scan::row#2
|
||||
[268] call keyboard_matrix_read
|
||||
[269] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0
|
||||
to:keyboard_event_scan::@25
|
||||
keyboard_event_scan::@25: scope:[keyboard_event_scan] from keyboard_event_scan::@1
|
||||
[228] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2
|
||||
[229] if((byte) keyboard_event_scan::row_scan#0!=*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@4
|
||||
[270] (byte) keyboard_event_scan::row_scan#0 ← (byte) keyboard_matrix_read::return#2
|
||||
[271] if((byte) keyboard_event_scan::row_scan#0!=*((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)) goto keyboard_event_scan::@4
|
||||
to:keyboard_event_scan::@13
|
||||
keyboard_event_scan::@13: scope:[keyboard_event_scan] from keyboard_event_scan::@25
|
||||
[230] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8
|
||||
[272] (byte) keyboard_event_scan::keycode#1 ← (byte) keyboard_event_scan::keycode#11 + (byte/signed byte/word/signed word/dword/signed dword) 8
|
||||
to:keyboard_event_scan::@3
|
||||
keyboard_event_scan::@3: scope:[keyboard_event_scan] from keyboard_event_scan::@13 keyboard_event_scan::@19
|
||||
[231] (byte) keyboard_events_size#13 ← phi( keyboard_event_scan::@13/(byte) keyboard_events_size#29 keyboard_event_scan::@19/(byte) keyboard_events_size#30 )
|
||||
[231] (byte) keyboard_event_scan::keycode#14 ← phi( keyboard_event_scan::@13/(byte) keyboard_event_scan::keycode#1 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#15 )
|
||||
[232] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2
|
||||
[233] if((byte) keyboard_event_scan::row#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@1
|
||||
[273] (byte) keyboard_events_size#13 ← phi( keyboard_event_scan::@13/(byte) keyboard_events_size#29 keyboard_event_scan::@19/(byte) keyboard_events_size#30 )
|
||||
[273] (byte) keyboard_event_scan::keycode#14 ← phi( keyboard_event_scan::@13/(byte) keyboard_event_scan::keycode#1 keyboard_event_scan::@19/(byte) keyboard_event_scan::keycode#15 )
|
||||
[274] (byte) keyboard_event_scan::row#1 ← ++ (byte) keyboard_event_scan::row#2
|
||||
[275] if((byte) keyboard_event_scan::row#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@1
|
||||
to:keyboard_event_scan::@20
|
||||
keyboard_event_scan::@20: scope:[keyboard_event_scan] from keyboard_event_scan::@3
|
||||
[234] phi()
|
||||
[235] call keyboard_event_pressed
|
||||
[236] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#11
|
||||
[276] phi()
|
||||
[277] call keyboard_event_pressed
|
||||
[278] (byte) keyboard_event_pressed::return#0 ← (byte) keyboard_event_pressed::return#11
|
||||
to:keyboard_event_scan::@26
|
||||
keyboard_event_scan::@26: scope:[keyboard_event_scan] from keyboard_event_scan::@20
|
||||
[237] (byte~) keyboard_event_scan::$14 ← (byte) keyboard_event_pressed::return#0
|
||||
[238] if((byte~) keyboard_event_scan::$14==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@9
|
||||
[279] (byte~) keyboard_event_scan::$14 ← (byte) keyboard_event_pressed::return#0
|
||||
[280] if((byte~) keyboard_event_scan::$14==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@9
|
||||
to:keyboard_event_scan::@21
|
||||
keyboard_event_scan::@21: scope:[keyboard_event_scan] from keyboard_event_scan::@26
|
||||
[239] phi()
|
||||
[281] phi()
|
||||
to:keyboard_event_scan::@9
|
||||
keyboard_event_scan::@9: scope:[keyboard_event_scan] from keyboard_event_scan::@21 keyboard_event_scan::@26
|
||||
[240] phi()
|
||||
[241] call keyboard_event_pressed
|
||||
[242] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#11
|
||||
[282] phi()
|
||||
[283] call keyboard_event_pressed
|
||||
[284] (byte) keyboard_event_pressed::return#1 ← (byte) keyboard_event_pressed::return#11
|
||||
to:keyboard_event_scan::@27
|
||||
keyboard_event_scan::@27: scope:[keyboard_event_scan] from keyboard_event_scan::@9
|
||||
[243] (byte~) keyboard_event_scan::$18 ← (byte) keyboard_event_pressed::return#1
|
||||
[244] if((byte~) keyboard_event_scan::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@10
|
||||
[285] (byte~) keyboard_event_scan::$18 ← (byte) keyboard_event_pressed::return#1
|
||||
[286] if((byte~) keyboard_event_scan::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@10
|
||||
to:keyboard_event_scan::@22
|
||||
keyboard_event_scan::@22: scope:[keyboard_event_scan] from keyboard_event_scan::@27
|
||||
[245] phi()
|
||||
[287] phi()
|
||||
to:keyboard_event_scan::@10
|
||||
keyboard_event_scan::@10: scope:[keyboard_event_scan] from keyboard_event_scan::@22 keyboard_event_scan::@27
|
||||
[246] phi()
|
||||
[247] call keyboard_event_pressed
|
||||
[248] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#11
|
||||
[288] phi()
|
||||
[289] call keyboard_event_pressed
|
||||
[290] (byte) keyboard_event_pressed::return#2 ← (byte) keyboard_event_pressed::return#11
|
||||
to:keyboard_event_scan::@28
|
||||
keyboard_event_scan::@28: scope:[keyboard_event_scan] from keyboard_event_scan::@10
|
||||
[249] (byte~) keyboard_event_scan::$22 ← (byte) keyboard_event_pressed::return#2
|
||||
[250] if((byte~) keyboard_event_scan::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@11
|
||||
[291] (byte~) keyboard_event_scan::$22 ← (byte) keyboard_event_pressed::return#2
|
||||
[292] if((byte~) keyboard_event_scan::$22==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@11
|
||||
to:keyboard_event_scan::@23
|
||||
keyboard_event_scan::@23: scope:[keyboard_event_scan] from keyboard_event_scan::@28
|
||||
[251] phi()
|
||||
[293] phi()
|
||||
to:keyboard_event_scan::@11
|
||||
keyboard_event_scan::@11: scope:[keyboard_event_scan] from keyboard_event_scan::@23 keyboard_event_scan::@28
|
||||
[252] phi()
|
||||
[253] call keyboard_event_pressed
|
||||
[254] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::return#11
|
||||
[294] phi()
|
||||
[295] call keyboard_event_pressed
|
||||
[296] (byte) keyboard_event_pressed::return#10 ← (byte) keyboard_event_pressed::return#11
|
||||
to:keyboard_event_scan::@29
|
||||
keyboard_event_scan::@29: scope:[keyboard_event_scan] from keyboard_event_scan::@11
|
||||
[255] (byte~) keyboard_event_scan::$26 ← (byte) keyboard_event_pressed::return#10
|
||||
[256] if((byte~) keyboard_event_scan::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@return
|
||||
[297] (byte~) keyboard_event_scan::$26 ← (byte) keyboard_event_pressed::return#10
|
||||
[298] if((byte~) keyboard_event_scan::$26==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@return
|
||||
to:keyboard_event_scan::@24
|
||||
keyboard_event_scan::@24: scope:[keyboard_event_scan] from keyboard_event_scan::@29
|
||||
[257] phi()
|
||||
[299] phi()
|
||||
to:keyboard_event_scan::@return
|
||||
keyboard_event_scan::@return: scope:[keyboard_event_scan] from keyboard_event_scan::@24 keyboard_event_scan::@29
|
||||
[258] return
|
||||
[300] return
|
||||
to:@return
|
||||
keyboard_event_scan::@4: scope:[keyboard_event_scan] from keyboard_event_scan::@25 keyboard_event_scan::@5
|
||||
[259] (byte) keyboard_events_size#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#29 keyboard_event_scan::@5/(byte) keyboard_events_size#30 )
|
||||
[259] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#11 keyboard_event_scan::@5/(byte) keyboard_event_scan::keycode#15 )
|
||||
[259] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@25/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@5/(byte) keyboard_event_scan::col#1 )
|
||||
[260] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)
|
||||
[261] (byte~) keyboard_event_scan::$4 ← (byte~) keyboard_event_scan::$3 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2)
|
||||
[262] if((byte~) keyboard_event_scan::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@5
|
||||
[301] (byte) keyboard_events_size#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_events_size#29 keyboard_event_scan::@5/(byte) keyboard_events_size#30 )
|
||||
[301] (byte) keyboard_event_scan::keycode#10 ← phi( keyboard_event_scan::@25/(byte) keyboard_event_scan::keycode#11 keyboard_event_scan::@5/(byte) keyboard_event_scan::keycode#15 )
|
||||
[301] (byte) keyboard_event_scan::col#2 ← phi( keyboard_event_scan::@25/(byte/signed byte/word/signed word/dword/signed dword) 0 keyboard_event_scan::@5/(byte) keyboard_event_scan::col#1 )
|
||||
[302] (byte~) keyboard_event_scan::$3 ← (byte) keyboard_event_scan::row_scan#0 ^ *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2)
|
||||
[303] (byte~) keyboard_event_scan::$4 ← (byte~) keyboard_event_scan::$3 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2)
|
||||
[304] if((byte~) keyboard_event_scan::$4==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@5
|
||||
to:keyboard_event_scan::@15
|
||||
keyboard_event_scan::@15: scope:[keyboard_event_scan] from keyboard_event_scan::@4
|
||||
[263] if((byte) keyboard_events_size#10==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@5
|
||||
[305] if((byte) keyboard_events_size#10==(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@5
|
||||
to:keyboard_event_scan::@16
|
||||
keyboard_event_scan::@16: scope:[keyboard_event_scan] from keyboard_event_scan::@15
|
||||
[264] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2)
|
||||
[265] if((byte) keyboard_event_scan::event_type#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@7
|
||||
[306] (byte) keyboard_event_scan::event_type#0 ← (byte) keyboard_event_scan::row_scan#0 & *((const byte[8]) keyboard_matrix_col_bitmask#0 + (byte) keyboard_event_scan::col#2)
|
||||
[307] if((byte) keyboard_event_scan::event_type#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto keyboard_event_scan::@7
|
||||
to:keyboard_event_scan::@17
|
||||
keyboard_event_scan::@17: scope:[keyboard_event_scan] from keyboard_event_scan::@16
|
||||
[266] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#10) ← (byte) keyboard_event_scan::keycode#10
|
||||
[267] (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#10
|
||||
[308] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#10) ← (byte) keyboard_event_scan::keycode#10
|
||||
[309] (byte) keyboard_events_size#2 ← ++ (byte) keyboard_events_size#10
|
||||
to:keyboard_event_scan::@5
|
||||
keyboard_event_scan::@5: scope:[keyboard_event_scan] from keyboard_event_scan::@15 keyboard_event_scan::@17 keyboard_event_scan::@4 keyboard_event_scan::@7
|
||||
[268] (byte) keyboard_events_size#30 ← phi( keyboard_event_scan::@17/(byte) keyboard_events_size#2 keyboard_event_scan::@4/(byte) keyboard_events_size#10 keyboard_event_scan::@15/(byte) keyboard_events_size#10 keyboard_event_scan::@7/(byte) keyboard_events_size#1 )
|
||||
[269] (byte) keyboard_event_scan::keycode#15 ← ++ (byte) keyboard_event_scan::keycode#10
|
||||
[270] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2
|
||||
[271] if((byte) keyboard_event_scan::col#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@4
|
||||
[310] (byte) keyboard_events_size#30 ← phi( keyboard_event_scan::@17/(byte) keyboard_events_size#2 keyboard_event_scan::@4/(byte) keyboard_events_size#10 keyboard_event_scan::@15/(byte) keyboard_events_size#10 keyboard_event_scan::@7/(byte) keyboard_events_size#1 )
|
||||
[311] (byte) keyboard_event_scan::keycode#15 ← ++ (byte) keyboard_event_scan::keycode#10
|
||||
[312] (byte) keyboard_event_scan::col#1 ← ++ (byte) keyboard_event_scan::col#2
|
||||
[313] if((byte) keyboard_event_scan::col#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto keyboard_event_scan::@4
|
||||
to:keyboard_event_scan::@19
|
||||
keyboard_event_scan::@19: scope:[keyboard_event_scan] from keyboard_event_scan::@5
|
||||
[272] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0
|
||||
[314] *((const byte[8]) keyboard_scan_values#0 + (byte) keyboard_event_scan::row#2) ← (byte) keyboard_event_scan::row_scan#0
|
||||
to:keyboard_event_scan::@3
|
||||
keyboard_event_scan::@7: scope:[keyboard_event_scan] from keyboard_event_scan::@16
|
||||
[273] (byte/word/dword~) keyboard_event_scan::$11 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) 64
|
||||
[274] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#10) ← (byte/word/dword~) keyboard_event_scan::$11
|
||||
[275] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#10
|
||||
[315] (byte/word/dword~) keyboard_event_scan::$11 ← (byte) keyboard_event_scan::keycode#10 | (byte/signed byte/word/signed word/dword/signed dword) 64
|
||||
[316] *((const byte[8]) keyboard_events#0 + (byte) keyboard_events_size#10) ← (byte/word/dword~) keyboard_event_scan::$11
|
||||
[317] (byte) keyboard_events_size#1 ← ++ (byte) keyboard_events_size#10
|
||||
to:keyboard_event_scan::@5
|
||||
keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_event_scan::@1
|
||||
[276] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0)
|
||||
[277] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0)
|
||||
[318] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0)
|
||||
[319] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0)
|
||||
to:keyboard_matrix_read::@return
|
||||
keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read
|
||||
[278] return
|
||||
[320] return
|
||||
to:@return
|
||||
init: scope:[init] from main::@21
|
||||
[279] phi()
|
||||
[280] call fill
|
||||
[321] phi()
|
||||
[322] call fill
|
||||
to:init::@9
|
||||
init::@9: scope:[init] from init
|
||||
[281] phi()
|
||||
[282] call fill
|
||||
[323] phi()
|
||||
[324] call fill
|
||||
to:init::@1
|
||||
init::@1: scope:[init] from init::@1 init::@9
|
||||
[283] (byte*) init::li#2 ← phi( init::@1/(byte*) init::li#1 init::@9/(const byte*) COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 15 )
|
||||
[283] (byte) init::i#2 ← phi( init::@1/(byte) init::i#1 init::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[284] (byte~) init::$5 ← (byte) init::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[285] *((const byte*[PLAYFIELD_LINES#0+3]) screen_lines#0 + (byte~) init::$5) ← (byte*) init::li#2
|
||||
[286] (byte*) init::li#1 ← (byte*) init::li#2 + (byte/signed byte/word/signed word/dword/signed dword) 40
|
||||
[287] (byte) init::i#1 ← ++ (byte) init::i#2
|
||||
[288] if((byte) init::i#1!=(const byte) PLAYFIELD_LINES#0+(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@1
|
||||
[325] (byte*) init::li#2 ← phi( init::@1/(byte*) init::li#1 init::@9/(const byte*) COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 15 )
|
||||
[325] (byte) init::i#2 ← phi( init::@1/(byte) init::i#1 init::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[326] (byte~) init::$5 ← (byte) init::i#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[327] *((const byte*[PLAYFIELD_LINES#0+3]) screen_lines#0 + (byte~) init::$5) ← (byte*) init::li#2
|
||||
[328] (byte*) init::li#1 ← (byte*) init::li#2 + (byte/signed byte/word/signed word/dword/signed dword) 40
|
||||
[329] (byte) init::i#1 ← ++ (byte) init::i#2
|
||||
[330] if((byte) init::i#1!=(const byte) PLAYFIELD_LINES#0+(byte/signed byte/word/signed word/dword/signed dword) 2+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@1
|
||||
to:init::@2
|
||||
init::@2: scope:[init] from init::@1 init::@2
|
||||
[289] (byte*) init::pli#2 ← phi( init::@2/(byte*) init::pli#1 init::@1/(const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 )
|
||||
[289] (byte) init::j#2 ← phi( init::@2/(byte) init::j#1 init::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[290] (byte~) init::$8 ← (byte) init::j#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[291] *((const byte*[PLAYFIELD_LINES#0]) playfield_lines#0 + (byte~) init::$8) ← (byte*) init::pli#2
|
||||
[292] (byte*) init::pli#1 ← (byte*) init::pli#2 + (byte/signed byte/word/signed word/dword/signed dword) 10
|
||||
[293] (byte) init::j#1 ← ++ (byte) init::j#2
|
||||
[294] if((byte) init::j#1!=(const byte) PLAYFIELD_LINES#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@2
|
||||
[331] (byte) init::idx#2 ← phi( init::@2/(byte) init::idx#1 init::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[331] (byte*) init::pli#2 ← phi( init::@2/(byte*) init::pli#1 init::@1/(const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 )
|
||||
[331] (byte) init::j#2 ← phi( init::@2/(byte) init::j#1 init::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 )
|
||||
[332] (byte~) init::$8 ← (byte) init::j#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[333] *((const byte*[PLAYFIELD_LINES#0]) playfield_lines#0 + (byte~) init::$8) ← (byte*) init::pli#2
|
||||
[334] *((const byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx#0 + (byte) init::j#2) ← (byte) init::idx#2
|
||||
[335] (byte*) init::pli#1 ← (byte*) init::pli#2 + (const byte) PLAYFIELD_COLS#0
|
||||
[336] (byte) init::idx#1 ← (byte) init::idx#2 + (const byte) PLAYFIELD_COLS#0
|
||||
[337] (byte) init::j#1 ← ++ (byte) init::j#2
|
||||
[338] if((byte) init::j#1!=(const byte) PLAYFIELD_LINES#0-(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@2
|
||||
to:init::@6
|
||||
init::@6: scope:[init] from init::@2
|
||||
[339] *((const byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx#0+(const byte) PLAYFIELD_LINES#0) ← (const byte) PLAYFIELD_COLS#0*(const byte) PLAYFIELD_LINES#0
|
||||
to:init::@3
|
||||
init::@3: scope:[init] from init::@2 init::@7
|
||||
[295] (byte) init::l#4 ← phi( init::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 init::@7/(byte) init::l#1 )
|
||||
[295] (byte*) init::line#4 ← phi( init::@2/(const byte*) COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 14 init::@7/(byte*) init::line#1 )
|
||||
init::@3: scope:[init] from init::@6 init::@7
|
||||
[340] (byte) init::l#4 ← phi( init::@6/(byte/signed byte/word/signed word/dword/signed dword) 0 init::@7/(byte) init::l#1 )
|
||||
[340] (byte*) init::line#4 ← phi( init::@6/(const byte*) COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 14 init::@7/(byte*) init::line#1 )
|
||||
to:init::@4
|
||||
init::@4: scope:[init] from init::@3 init::@4
|
||||
[296] (byte) init::c#2 ← phi( init::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 init::@4/(byte) init::c#1 )
|
||||
[297] (byte*~) init::$13 ← (byte*) init::line#4 + (byte) init::c#2
|
||||
[298] *((byte*~) init::$13) ← (const byte) DARK_GREY#0
|
||||
[299] (byte) init::c#1 ← ++ (byte) init::c#2
|
||||
[300] if((byte) init::c#1!=(const byte) PLAYFIELD_COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@4
|
||||
[341] (byte) init::c#2 ← phi( init::@3/(byte/signed byte/word/signed word/dword/signed dword) 0 init::@4/(byte) init::c#1 )
|
||||
[342] (byte*~) init::$14 ← (byte*) init::line#4 + (byte) init::c#2
|
||||
[343] *((byte*~) init::$14) ← (const byte) DARK_GREY#0
|
||||
[344] (byte) init::c#1 ← ++ (byte) init::c#2
|
||||
[345] if((byte) init::c#1!=(const byte) PLAYFIELD_COLS#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@4
|
||||
to:init::@7
|
||||
init::@7: scope:[init] from init::@4
|
||||
[301] (byte*) init::line#1 ← (byte*) init::line#4 + (byte/signed byte/word/signed word/dword/signed dword) 40
|
||||
[302] (byte) init::l#1 ← ++ (byte) init::l#4
|
||||
[303] if((byte) init::l#1!=(const byte) PLAYFIELD_LINES#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@3
|
||||
[346] (byte*) init::line#1 ← (byte*) init::line#4 + (byte/signed byte/word/signed word/dword/signed dword) 40
|
||||
[347] (byte) init::l#1 ← ++ (byte) init::l#4
|
||||
[348] if((byte) init::l#1!=(const byte) PLAYFIELD_LINES#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 1) goto init::@3
|
||||
to:init::@return
|
||||
init::@return: scope:[init] from init::@7
|
||||
[304] return
|
||||
[349] return
|
||||
to:@return
|
||||
fill: scope:[fill] from init init::@9
|
||||
[305] (byte) fill::val#3 ← phi( init/(byte/word/signed word/dword/signed dword) 160 init::@9/(const byte) BLACK#0 )
|
||||
[305] (byte*) fill::addr#0 ← phi( init/(const byte*) SCREEN#0 init::@9/(const byte*) COLS#0 )
|
||||
[306] (byte*) fill::end#0 ← (byte*) fill::addr#0 + (word/signed word/dword/signed dword) 1000
|
||||
[350] (byte) fill::val#3 ← phi( init/(byte/word/signed word/dword/signed dword) 160 init::@9/(const byte) BLACK#0 )
|
||||
[350] (byte*) fill::addr#0 ← phi( init/(const byte*) SCREEN#0 init::@9/(const byte*) COLS#0 )
|
||||
[351] (byte*) fill::end#0 ← (byte*) fill::addr#0 + (word/signed word/dword/signed dword) 1000
|
||||
to:fill::@1
|
||||
fill::@1: scope:[fill] from fill fill::@1
|
||||
[307] (byte*) fill::addr#2 ← phi( fill/(byte*) fill::addr#0 fill::@1/(byte*) fill::addr#1 )
|
||||
[308] *((byte*) fill::addr#2) ← (byte) fill::val#3
|
||||
[309] (byte*) fill::addr#1 ← ++ (byte*) fill::addr#2
|
||||
[310] if((byte*) fill::addr#1!=(byte*) fill::end#0) goto fill::@1
|
||||
[352] (byte*) fill::addr#2 ← phi( fill/(byte*) fill::addr#0 fill::@1/(byte*) fill::addr#1 )
|
||||
[353] *((byte*) fill::addr#2) ← (byte) fill::val#3
|
||||
[354] (byte*) fill::addr#1 ← ++ (byte*) fill::addr#2
|
||||
[355] if((byte*) fill::addr#1!=(byte*) fill::end#0) goto fill::@1
|
||||
to:fill::@return
|
||||
fill::@return: scope:[fill] from fill::@1
|
||||
[311] return
|
||||
[356] return
|
||||
to:@return
|
||||
sid_rnd_init: scope:[sid_rnd_init] from main
|
||||
[312] *((const word*) SID_VOICE3_FREQ#0) ← (word/dword/signed dword) 65535
|
||||
[313] *((const byte*) SID_VOICE3_CONTROL#0) ← (const byte) SID_CONTROL_NOISE#0
|
||||
[357] *((const word*) SID_VOICE3_FREQ#0) ← (word/dword/signed dword) 65535
|
||||
[358] *((const byte*) SID_VOICE3_CONTROL#0) ← (const byte) SID_CONTROL_NOISE#0
|
||||
to:sid_rnd_init::@return
|
||||
sid_rnd_init::@return: scope:[sid_rnd_init] from sid_rnd_init
|
||||
[314] return
|
||||
[359] return
|
||||
to:@return
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
(label) @23
|
||||
(label) @26
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte) BLACK
|
||||
@ -165,46 +165,46 @@
|
||||
(byte*) current_piece#13 current_piece zp ZP_WORD:12 0.3432835820895522
|
||||
(byte*) current_piece#15 current_piece#15 zp ZP_WORD:5 10.0
|
||||
(byte*) current_piece#23 current_piece zp ZP_WORD:12 6.0
|
||||
(byte*~) current_piece#68 current_piece zp ZP_WORD:12 4.0
|
||||
(byte*~) current_piece#69 current_piece#69 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#69 current_piece zp ZP_WORD:12 4.0
|
||||
(byte*~) current_piece#70 current_piece#70 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#71 current_piece#71 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#72 current_piece#72 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#73 current_piece zp ZP_WORD:12 4.0
|
||||
(byte*~) current_piece#73 current_piece#73 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#74 current_piece zp ZP_WORD:12 4.0
|
||||
(byte) current_piece_color
|
||||
(byte) current_piece_color#11 current_piece_color zp ZP_BYTE:18 19.96078431372549
|
||||
(byte) current_piece_color#13 current_piece_color zp ZP_BYTE:18 1.0
|
||||
(byte) current_piece_color#15 current_piece_color zp ZP_BYTE:18 0.7272727272727273
|
||||
(byte) current_piece_color#23 current_piece_color zp ZP_BYTE:18 6.0
|
||||
(byte) current_piece_color#64 current_piece_color#64 zp ZP_BYTE:7 53.368421052631575
|
||||
(byte~) current_piece_color#72 current_piece_color#72 zp ZP_BYTE:7 4.0
|
||||
(byte~) current_piece_color#73 current_piece_color#73 zp ZP_BYTE:7 22.0
|
||||
(byte) current_piece_color#65 current_piece_color#65 zp ZP_BYTE:7 53.368421052631575
|
||||
(byte~) current_piece_color#73 current_piece_color#73 zp ZP_BYTE:7 4.0
|
||||
(byte~) current_piece_color#74 current_piece_color#74 zp ZP_BYTE:7 22.0
|
||||
(byte*) current_piece_gfx
|
||||
(byte*) current_piece_gfx#10 current_piece_gfx zp ZP_WORD:15 0.6666666666666666
|
||||
(byte*) current_piece_gfx#15 current_piece_gfx zp ZP_WORD:15 19.96078431372549
|
||||
(byte*) current_piece_gfx#17 current_piece_gfx zp ZP_WORD:15 0.2962962962962963
|
||||
(byte*) current_piece_gfx#18 current_piece_gfx zp ZP_WORD:15 1.75
|
||||
(byte*) current_piece_gfx#29 current_piece_gfx zp ZP_WORD:15 6.0
|
||||
(byte*) current_piece_gfx#62 current_piece_gfx#62 zp ZP_WORD:5 53.368421052631575
|
||||
(byte*) current_piece_gfx#63 current_piece_gfx#63 zp ZP_WORD:5 53.368421052631575
|
||||
(byte*) current_piece_gfx#8 current_piece_gfx zp ZP_WORD:15 4.0
|
||||
(byte*~) current_piece_gfx#84 current_piece_gfx#84 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#85 current_piece_gfx#85 zp ZP_WORD:5 11.0
|
||||
(byte*~) current_piece_gfx#85 current_piece_gfx#85 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#86 current_piece_gfx#86 zp ZP_WORD:5 11.0
|
||||
(byte) current_xpos
|
||||
(byte) current_xpos#16 current_xpos zp ZP_BYTE:17 2.313725490196078
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:17 0.72
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:17 0.8500000000000003
|
||||
(byte) current_xpos#36 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte) current_xpos#62 current_xpos#62 zp ZP_BYTE:4 5.894736842105264
|
||||
(byte) current_xpos#63 current_xpos#63 zp ZP_BYTE:4 5.894736842105264
|
||||
(byte) current_xpos#7 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte) current_xpos#9 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte~) current_xpos#93 current_xpos#93 zp ZP_BYTE:4 7.333333333333333
|
||||
(byte~) current_xpos#94 current_xpos#94 zp ZP_BYTE:4 7.333333333333333
|
||||
(byte) current_ypos
|
||||
(byte) current_ypos#12 current_ypos zp ZP_BYTE:2 0.5588235294117647
|
||||
(byte) current_ypos#16 current_ypos zp ZP_BYTE:2 0.47761194029850734
|
||||
(byte) current_ypos#22 reg byte x 13.0
|
||||
(byte) current_ypos#31 current_ypos zp ZP_BYTE:2 4.0
|
||||
(byte) current_ypos#4 current_ypos zp ZP_BYTE:2 4.0
|
||||
(byte~) current_ypos#68 reg byte x 5.5
|
||||
(byte~) current_ypos#69 reg byte x 5.5
|
||||
(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val)
|
||||
(label) fill::@1
|
||||
(label) fill::@return
|
||||
@ -218,14 +218,43 @@
|
||||
(byte*) fill::start
|
||||
(byte) fill::val
|
||||
(byte) fill::val#3 reg byte x 1.8333333333333333
|
||||
(byte()) find_line()
|
||||
(label) find_line::@1
|
||||
(label) find_line::@11
|
||||
(label) find_line::@12
|
||||
(label) find_line::@13
|
||||
(label) find_line::@2
|
||||
(label) find_line::@3
|
||||
(label) find_line::@4
|
||||
(label) find_line::@6
|
||||
(label) find_line::@return
|
||||
(byte) find_line::filled
|
||||
(byte) find_line::filled#2 filled zp ZP_BYTE:4 5250.75
|
||||
(byte) find_line::filled#4 filled zp ZP_BYTE:4 5000.5
|
||||
(byte) find_line::i
|
||||
(byte) find_line::i#1 i zp ZP_BYTE:8 2333.6666666666665
|
||||
(byte~) find_line::i#10 i#10 zp ZP_BYTE:3 20002.0
|
||||
(byte) find_line::i#2 i#2 zp ZP_BYTE:3 15502.0
|
||||
(byte) find_line::i#3 i#3 zp ZP_BYTE:3 2002.0
|
||||
(byte~) find_line::i#8 i#8 zp ZP_BYTE:3 2002.0
|
||||
(byte) find_line::return
|
||||
(byte) find_line::return#0 reg byte a 202.0
|
||||
(byte) find_line::return#2 return zp ZP_BYTE:7 367.33333333333337
|
||||
(byte) find_line::x
|
||||
(byte) find_line::x#1 reg byte x 10001.0
|
||||
(byte) find_line::x#2 reg byte x 4000.4
|
||||
(byte) find_line::y
|
||||
(byte) find_line::y#1 y zp ZP_BYTE:7 1001.0
|
||||
(byte) find_line::y#8 y zp ZP_BYTE:7 300.29999999999995
|
||||
(void()) init()
|
||||
(byte*~) init::$13 $13 zp ZP_WORD:12 202.0
|
||||
(byte*~) init::$14 $14 zp ZP_WORD:12 202.0
|
||||
(byte~) init::$5 reg byte a 22.0
|
||||
(byte~) init::$8 reg byte a 22.0
|
||||
(label) init::@1
|
||||
(label) init::@2
|
||||
(label) init::@3
|
||||
(label) init::@4
|
||||
(label) init::@6
|
||||
(label) init::@7
|
||||
(label) init::@9
|
||||
(label) init::@return
|
||||
@ -235,9 +264,12 @@
|
||||
(byte) init::i
|
||||
(byte) init::i#1 reg byte x 16.5
|
||||
(byte) init::i#2 reg byte x 8.25
|
||||
(byte) init::idx
|
||||
(byte) init::idx#1 idx zp ZP_BYTE:2 7.333333333333333
|
||||
(byte) init::idx#2 idx zp ZP_BYTE:2 6.6000000000000005
|
||||
(byte) init::j
|
||||
(byte) init::j#1 reg byte x 16.5
|
||||
(byte) init::j#2 reg byte x 8.25
|
||||
(byte) init::j#2 reg byte x 7.333333333333333
|
||||
(byte) init::l
|
||||
(byte) init::l#1 l zp ZP_BYTE:2 16.5
|
||||
(byte) init::l#4 l zp ZP_BYTE:2 3.142857142857143
|
||||
@ -248,8 +280,8 @@
|
||||
(byte*) init::line#1 line zp ZP_WORD:5 7.333333333333333
|
||||
(byte*) init::line#4 line zp ZP_WORD:5 20.499999999999996
|
||||
(byte*) init::pli
|
||||
(byte*) init::pli#1 pli zp ZP_WORD:5 7.333333333333333
|
||||
(byte*) init::pli#2 pli zp ZP_WORD:5 11.0
|
||||
(byte*) init::pli#1 pli zp ZP_WORD:5 5.5
|
||||
(byte*) init::pli#2 pli zp ZP_WORD:5 8.25
|
||||
(byte()) keyboard_event_get()
|
||||
(label) keyboard_event_get::@3
|
||||
(label) keyboard_event_get::@return
|
||||
@ -417,6 +449,7 @@
|
||||
(label) play_move_down::@18
|
||||
(label) play_move_down::@19
|
||||
(label) play_move_down::@2
|
||||
(label) play_move_down::@20
|
||||
(label) play_move_down::@4
|
||||
(label) play_move_down::@6
|
||||
(label) play_move_down::@7
|
||||
@ -474,6 +507,43 @@
|
||||
(const byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield#0 playfield = { fill( PLAYFIELD_LINES#0*PLAYFIELD_COLS#0, 0) }
|
||||
(byte*[PLAYFIELD_LINES#0]) playfield_lines
|
||||
(const byte*[PLAYFIELD_LINES#0]) playfield_lines#0 playfield_lines = { fill( PLAYFIELD_LINES#0, 0) }
|
||||
(byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx
|
||||
(const byte[PLAYFIELD_LINES#0+1]) playfield_lines_idx#0 playfield_lines_idx = { fill( PLAYFIELD_LINES#0+1, 0) }
|
||||
(void()) remove_line((byte) remove_line::ypos)
|
||||
(byte~) remove_line::$0 reg byte a 4.0
|
||||
(label) remove_line::@1
|
||||
(label) remove_line::@2
|
||||
(label) remove_line::@3
|
||||
(label) remove_line::@return
|
||||
(byte) remove_line::i1
|
||||
(byte) remove_line::i1#0 reg byte x 4.0
|
||||
(byte) remove_line::i1#1 reg byte x 4200.6
|
||||
(byte) remove_line::i1#2 reg byte x 10334.666666666666
|
||||
(byte) remove_line::i1#3 reg byte x 2004.0
|
||||
(byte) remove_line::i2
|
||||
(byte) remove_line::i2#0 reg byte y 2.0
|
||||
(byte) remove_line::i2#1 reg byte y 3500.5
|
||||
(byte) remove_line::i2#2 reg byte y 15502.0
|
||||
(byte) remove_line::i2#3 reg byte y 2004.0
|
||||
(byte) remove_line::x
|
||||
(byte) remove_line::x#1 x zp ZP_BYTE:4 15001.5
|
||||
(byte) remove_line::x#2 x zp ZP_BYTE:4 5000.5
|
||||
(byte) remove_line::y
|
||||
(byte) remove_line::y#1 y zp ZP_BYTE:3 1501.5
|
||||
(byte) remove_line::y#4 y zp ZP_BYTE:3 286.2857142857143
|
||||
(byte) remove_line::ypos
|
||||
(byte) remove_line::ypos#0 ypos zp ZP_BYTE:3 26.75
|
||||
(void()) remove_lines()
|
||||
(label) remove_lines::@1
|
||||
(label) remove_lines::@2
|
||||
(label) remove_lines::@3
|
||||
(label) remove_lines::@7
|
||||
(label) remove_lines::@return
|
||||
(byte) remove_lines::done
|
||||
(byte) remove_lines::done#2 done zp ZP_BYTE:2 151.5
|
||||
(byte) remove_lines::done#3 done zp ZP_BYTE:2 28.857142857142858
|
||||
(byte) remove_lines::line_ypos
|
||||
(byte) remove_lines::line_ypos#0 reg byte a 151.5
|
||||
(void()) render_current()
|
||||
(label) render_current::@1
|
||||
(label) render_current::@2
|
||||
@ -547,13 +617,13 @@
|
||||
(byte) spawn_current::piece_idx#1 reg byte x 202.0
|
||||
(byte) spawn_current::piece_idx#2 reg byte x 41.199999999999996
|
||||
|
||||
zp ZP_BYTE:2 [ current_ypos#12 current_ypos#16 current_ypos#31 current_ypos#4 lock_current::ypos2#2 lock_current::ypos2#0 lock_current::ypos2#1 init::l#4 init::l#1 spawn_current::$3 ]
|
||||
zp ZP_BYTE:3 [ current_movedown_counter#15 current_movedown_counter#12 current_movedown_counter#10 lock_current::l#6 lock_current::l#1 ]
|
||||
reg byte x [ current_ypos#22 current_ypos#68 ]
|
||||
zp ZP_BYTE:4 [ current_xpos#62 current_xpos#93 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 lock_current::i#2 lock_current::i#3 lock_current::i#7 lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_WORD:5 [ current_piece_gfx#62 current_piece_gfx#84 current_piece_gfx#85 render_playfield::line#2 render_playfield::line#0 render_playfield::line#1 current_piece#15 current_piece#69 current_piece#70 current_piece#71 current_piece#72 collision::piece_gfx#0 init::li#2 init::li#1 init::pli#2 init::pli#1 init::line#4 init::line#1 fill::addr#2 fill::addr#0 fill::addr#1 lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:7 [ current_piece_color#64 current_piece_color#72 current_piece_color#73 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 collision::xpos#5 collision::xpos#0 collision::xpos#1 collision::xpos#2 collision::xpos#3 lock_current::col#2 lock_current::col#0 lock_current::col#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 keyboard_event_pressed::row_bits#0 ]
|
||||
zp ZP_BYTE:8 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 collision::ypos2#2 collision::ypos2#0 collision::ypos2#1 lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:2 [ current_ypos#12 current_ypos#16 current_ypos#31 current_ypos#4 lock_current::ypos2#2 lock_current::ypos2#0 lock_current::ypos2#1 remove_lines::done#3 remove_lines::done#2 init::idx#2 init::idx#1 init::l#4 init::l#1 spawn_current::$3 ]
|
||||
zp ZP_BYTE:3 [ current_movedown_counter#15 current_movedown_counter#12 current_movedown_counter#10 remove_line::y#4 remove_line::ypos#0 remove_line::y#1 find_line::i#2 find_line::i#3 find_line::i#8 find_line::i#10 lock_current::l#6 lock_current::l#1 ]
|
||||
reg byte x [ current_ypos#22 current_ypos#69 ]
|
||||
zp ZP_BYTE:4 [ current_xpos#63 current_xpos#94 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 remove_line::x#2 remove_line::x#1 find_line::filled#4 find_line::filled#2 lock_current::i#2 lock_current::i#3 lock_current::i#7 lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_WORD:5 [ current_piece_gfx#63 current_piece_gfx#85 current_piece_gfx#86 render_playfield::line#2 render_playfield::line#0 render_playfield::line#1 current_piece#15 current_piece#70 current_piece#71 current_piece#72 current_piece#73 collision::piece_gfx#0 init::li#2 init::li#1 init::pli#2 init::pli#1 init::line#4 init::line#1 fill::addr#2 fill::addr#0 fill::addr#1 lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:7 [ current_piece_color#65 current_piece_color#73 current_piece_color#74 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 collision::xpos#5 collision::xpos#0 collision::xpos#1 collision::xpos#2 collision::xpos#3 find_line::return#2 find_line::y#8 find_line::y#1 lock_current::col#2 lock_current::col#0 lock_current::col#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 keyboard_event_pressed::row_bits#0 ]
|
||||
zp ZP_BYTE:8 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 collision::ypos2#2 collision::ypos2#0 collision::ypos2#1 find_line::i#1 lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:9 [ render_current::l#3 render_current::l#1 collision::l#6 collision::l#1 ]
|
||||
zp ZP_BYTE:10 [ render_current::i#2 render_current::i#1 render_current::i#4 render_current::i#8 collision::i#2 collision::i#3 collision::i#11 collision::i#13 ]
|
||||
zp ZP_BYTE:11 [ render_current::xpos#2 render_current::xpos#1 render_current::xpos#0 collision::col#2 collision::col#9 collision::col#1 ]
|
||||
@ -566,13 +636,16 @@ reg byte x [ collision::c#2 collision::c#1 ]
|
||||
reg byte a [ collision::return#14 ]
|
||||
reg byte a [ play_move_leftright::return#2 ]
|
||||
reg byte x [ play_move_down::movedown#6 play_move_down::movedown#3 play_move_down::movedown#7 play_move_down::movedown#2 play_move_down::movedown#10 ]
|
||||
zp ZP_WORD:12 [ current_piece#23 current_piece#73 current_piece#11 current_piece#13 current_piece#68 init::$13 fill::end#0 ]
|
||||
zp ZP_WORD:12 [ current_piece#23 current_piece#74 current_piece#11 current_piece#13 current_piece#69 init::$14 fill::end#0 ]
|
||||
zp ZP_BYTE:14 [ current_orientation#33 current_orientation#15 current_orientation#23 current_orientation#8 current_orientation#18 ]
|
||||
zp ZP_WORD:15 [ current_piece_gfx#29 current_piece_gfx#15 current_piece_gfx#18 current_piece_gfx#10 current_piece_gfx#8 current_piece_gfx#17 ]
|
||||
zp ZP_BYTE:17 [ current_xpos#36 current_xpos#16 current_xpos#23 current_xpos#9 current_xpos#19 current_xpos#7 ]
|
||||
zp ZP_BYTE:18 [ current_piece_color#23 current_piece_color#11 current_piece_color#13 current_piece_color#15 ]
|
||||
reg byte x [ play_move_down::return#3 ]
|
||||
reg byte x [ spawn_current::piece_idx#2 spawn_current::piece_idx#1 ]
|
||||
reg byte x [ remove_line::i1#2 remove_line::i1#3 remove_line::i1#0 remove_line::i1#1 ]
|
||||
reg byte y [ remove_line::i2#2 remove_line::i2#3 remove_line::i2#0 remove_line::i2#1 ]
|
||||
reg byte x [ find_line::x#2 find_line::x#1 ]
|
||||
reg byte x [ lock_current::c#2 lock_current::c#1 ]
|
||||
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
@ -614,6 +687,9 @@ reg byte a [ play_move_down::$12 ]
|
||||
reg byte a [ sid_rnd::return#2 ]
|
||||
reg byte a [ spawn_current::$1 ]
|
||||
reg byte a [ sid_rnd::return#0 ]
|
||||
reg byte a [ find_line::return#0 ]
|
||||
reg byte a [ remove_lines::line_ypos#0 ]
|
||||
reg byte a [ remove_line::$0 ]
|
||||
reg byte a [ keyboard_event_pressed::$0 ]
|
||||
reg byte a [ keyboard_event_pressed::$1 ]
|
||||
reg byte a [ keyboard_event_pressed::return#11 ]
|
||||
|
Loading…
x
Reference in New Issue
Block a user