1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-10 20:23:47 +00:00

Added piece initial positions.

This commit is contained in:
jespergravgaard 2018-12-29 00:36:24 +01:00
parent 7d70b371ba
commit 006aa5b428
6 changed files with 4843 additions and 4785 deletions

View File

@ -97,17 +97,7 @@ align($40) byte[4*4*4] PIECE_L = {
// The J-piece
align($40) byte[4*4*4] PIECE_J = {
1, 0, 0, 0,
1, 1, 1, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 1, 1, 0,
0, 1, 0, 0,
0, 1, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
1, 1, 1, 0,
0, 0, 1, 0,
0, 0, 0, 0,
@ -115,6 +105,16 @@ align($40) byte[4*4*4] PIECE_J = {
0, 1, 0, 0,
0, 1, 0, 0,
1, 1, 0, 0,
0, 0, 0, 0,
1, 0, 0, 0,
1, 1, 1, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 1, 1, 0,
0, 1, 0, 0,
0, 1, 0, 0,
0, 0, 0, 0
};
@ -171,4 +171,7 @@ align($40) byte[4*4*4] PIECE_I = {
word[] PIECES = { (word)PIECE_T, (word)PIECE_S, (word)PIECE_Z, (word)PIECE_J, (word)PIECE_O, (word)PIECE_I, (word)PIECE_L };
// The chars to use for the different pieces
byte[] PIECES_CHARS = { $57, $58, $98, $58, $57, $57, $98 };
byte[] PIECES_CHARS = { $57, $58, $98, $58, $57, $57, $98 };
// The initial X/Y for each piece
byte[] PIECES_START_X = { 4, 4, 4, 4, 4, 3, 4};
byte[] PIECES_START_Y = { 2, 1, 1, 1, 2, 0, 1};

View File

@ -175,8 +175,8 @@ void play_spawn_current() {
current_piece = PIECES[piece_idx<<1];
current_orientation = 0;
current_piece_gfx = current_piece + current_orientation;
current_xpos = 3;
current_ypos = 0;
current_xpos = PIECES_START_X[piece_idx];
current_ypos = PIECES_START_Y[piece_idx];
current_piece_char = PIECES_CHARS[piece_idx];
}

View File

@ -80,26 +80,27 @@
.label irq_sprite_ypos = $15
.label irq_sprite_ptr = $16
.label irq_cnt = $17
.label current_movedown_counter = 3
.label current_ypos = 2
.label current_movedown_counter = 2
.label current_ypos = $b
.label current_xpos = $11
.label current_orientation = $e
.label current_piece_gfx = $f
.label current_piece = $c
.label current_piece_char = $12
.label current_piece_12 = 5
.label current_xpos_48 = 4
.label current_piece_gfx_53 = 5
.label current_piece_char_63 = 7
.label current_xpos_104 = 4
.label current_piece_gfx_95 = 5
.label current_piece_gfx_96 = 5
.label current_piece_char_83 = 7
.label current_piece_char_84 = 7
.label current_piece_73 = 5
.label current_piece_74 = 5
.label current_piece_75 = 5
.label current_piece_76 = 5
.label current_piece_12 = 4
.label current_xpos_48 = 3
.label current_piece_gfx_53 = 4
.label current_piece_char_63 = 6
.label current_xpos_105 = 3
.label current_xpos_106 = 3
.label current_piece_gfx_95 = 4
.label current_piece_gfx_96 = 4
.label current_piece_char_83 = 6
.label current_piece_char_84 = 6
.label current_piece_73 = 4
.label current_piece_74 = 4
.label current_piece_75 = 4
.label current_piece_76 = 4
bbegin:
lda #IRQ_RASTER_FIRST
sta irq_raster_next
@ -121,15 +122,15 @@ main: {
jsr play_init
jsr play_spawn_current
jsr render_playfield
ldx current_ypos
lda current_xpos
sta current_xpos_105
lda current_piece_gfx
sta current_piece_gfx_95
lda current_piece_gfx+1
sta current_piece_gfx_95+1
lda current_piece_char
sta current_piece_char_83
lda #3
sta current_xpos_48
ldx #0
jsr render_current
ldy play_spawn_current._3
lda PIECES,y
@ -139,10 +140,6 @@ main: {
lda #0
sta current_movedown_counter
sta keyboard_events_size
sta current_ypos
lda #3
sta current_xpos
lda #0
sta current_orientation
b4:
lda RASTER
@ -175,7 +172,7 @@ main: {
jsr render_playfield
ldx current_ypos
lda current_xpos
sta current_xpos_104
sta current_xpos_106
lda current_piece_gfx
sta current_piece_gfx_96
lda current_piece_gfx+1
@ -188,11 +185,11 @@ main: {
jmp b4
}
render_current: {
.label ypos2 = 8
.label ypos2 = 7
.label screen_line = $1a
.label xpos = $b
.label i = $a
.label l = 9
.label xpos = $a
.label i = 9
.label l = 8
txa
asl
sta ypos2
@ -254,9 +251,9 @@ render_current: {
jmp b3
}
render_playfield: {
.label screen_line = 5
.label i = 7
.label l = 4
.label screen_line = 4
.label i = 6
.label l = 3
lda #PLAYFIELD_COLS*2
sta i
lda #2
@ -290,7 +287,7 @@ render_playfield: {
rts
}
play_move_rotate: {
.label orientation = 4
.label orientation = 3
cmp #KEY_Z
beq b1
cmp #KEY_X
@ -336,17 +333,17 @@ play_move_rotate: {
jmp b4
}
play_collision: {
.label xpos = 7
.label piece_gfx = 5
.label ypos2 = 8
.label xpos = 6
.label piece_gfx = 4
.label ypos2 = 7
.label playfield_line = $1a
.label i = $1c
.label col = $b
.label l = 9
.label i_2 = $a
.label i_3 = $a
.label i_11 = $a
.label i_13 = $a
.label col = $a
.label l = 8
.label i_2 = 9
.label i_3 = 9
.label i_11 = 9
.label i_13 = 9
txa
clc
adc piece_gfx
@ -514,11 +511,8 @@ play_move_down: {
sta current_piece
lda PIECES+1,y
sta current_piece+1
lda #3
sta current_xpos
lda #0
sta current_orientation
sta current_ypos
b7:
lda #0
sta current_movedown_counter
@ -546,6 +540,10 @@ play_spawn_current: {
sta current_piece_gfx
lda PIECES+1,y
sta current_piece_gfx+1
lda PIECES_START_X,x
sta current_xpos
lda PIECES_START_Y,x
sta current_ypos
lda PIECES_CHARS,x
sta current_piece_char
rts
@ -563,7 +561,7 @@ play_remove_lines: {
.label c = 7
.label x = 3
.label y = 2
.label full = 4
.label full = 6
lda #0
sta y
ldx #PLAYFIELD_LINES*PLAYFIELD_COLS-1
@ -612,15 +610,15 @@ play_remove_lines: {
jmp b5
}
play_lock_current: {
.label ypos2 = 2
.label playfield_line = 5
.label col = 7
.label i = 8
.label l = 3
.label i_2 = 4
.label i_3 = 4
.label i_7 = 4
.label i_9 = 4
.label ypos2 = $b
.label playfield_line = 4
.label col = 6
.label i = 7
.label l = 2
.label i_2 = 3
.label i_3 = 3
.label i_7 = 3
.label i_9 = 3
asl ypos2
lda #0
sta l
@ -669,8 +667,8 @@ play_lock_current: {
jmp b2
}
keyboard_event_pressed: {
.label row_bits = 7
.label keycode = 4
.label row_bits = 6
.label keycode = 3
lda keycode
lsr
lsr
@ -699,9 +697,9 @@ keyboard_event_get: {
rts
}
keyboard_event_scan: {
.label row_scan = 8
.label keycode = 7
.label row = 4
.label row_scan = 7
.label keycode = 6
.label row = 3
lda #0
sta keycode
sta row
@ -803,7 +801,7 @@ keyboard_matrix_read: {
rts
}
play_init: {
.label pli = 5
.label pli = 4
.label idx = 2
lda #0
sta idx
@ -897,8 +895,8 @@ render_init: {
.const vicSelectGfxBank1_toDd001_return = 3^(>PLAYFIELD_SCREEN)>>6
.const toD0181_return = (>(PLAYFIELD_SCREEN&$3fff)<<2)|(>PLAYFIELD_CHARSET)>>2&$f
.label _18 = $c
.label li = 5
.label line = 5
.label li = 4
.label line = 4
.label l = 2
lda #3
sta CIA2_PORT_A_DDR
@ -979,7 +977,7 @@ render_init: {
render_screen_original: {
.const SPACE = 0
.label screen = $c
.label orig = 5
.label orig = 4
.label y = 2
lda #0
sta y
@ -1041,7 +1039,7 @@ render_screen_original: {
fill: {
.const size = $3e8
.label end = COLS+size
.label addr = 5
.label addr = 4
lda #<COLS
sta addr
lda #>COLS
@ -1152,12 +1150,14 @@ irq: {
.align $40
PIECE_L: .byte 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0
.align $40
PIECE_J: .byte 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0
PIECE_J: .byte 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
.align $40
PIECE_O: .byte 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
.align $40
PIECE_I: .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0
PIECES_CHARS: .byte $57, $58, $98, $58, $57, $57, $98
PIECES_START_X: .byte 4, 4, 4, 4, 4, 3, 4
PIECES_START_Y: .byte 2, 1, 1, 1, 2, 0, 1
screen_lines: .fill 2*PLAYFIELD_LINES, 0
playfield_lines: .fill 2*PLAYFIELD_LINES, 0
playfield: .fill PLAYFIELD_LINES*PLAYFIELD_COLS, 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -169,10 +169,14 @@
(const word[]) PIECES#0 PIECES = { ((word))(const byte[4*4*4]) PIECE_T#0, ((word))(const byte[4*4*4]) PIECE_S#0, ((word))(const byte[4*4*4]) PIECE_Z#0, ((word))(const byte[4*4*4]) PIECE_J#0, ((word))(const byte[4*4*4]) PIECE_O#0, ((word))(const byte[4*4*4]) PIECE_I#0, ((word))(const byte[4*4*4]) PIECE_L#0 }
(byte[]) PIECES_CHARS
(const byte[]) PIECES_CHARS#0 PIECES_CHARS = { (byte/signed byte/word/signed word/dword/signed dword) 87, (byte/signed byte/word/signed word/dword/signed dword) 88, (byte/word/signed word/dword/signed dword) 152, (byte/signed byte/word/signed word/dword/signed dword) 88, (byte/signed byte/word/signed word/dword/signed dword) 87, (byte/signed byte/word/signed word/dword/signed dword) 87, (byte/word/signed word/dword/signed dword) 152 }
(byte[]) PIECES_START_X
(const byte[]) PIECES_START_X#0 PIECES_START_X = { (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 4 }
(byte[]) PIECES_START_Y
(const byte[]) PIECES_START_Y#0 PIECES_START_Y = { (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1 }
(byte[4*4*4]) PIECE_I
(const byte[4*4*4]) PIECE_I#0 PIECE_I = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(byte[4*4*4]) PIECE_J
(const byte[4*4*4]) PIECE_J#0 PIECE_J = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(const byte[4*4*4]) PIECE_J#0 PIECE_J = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(byte[4*4*4]) PIECE_L
(const byte[4*4*4]) PIECE_L#0 PIECE_L = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
(byte[4*4*4]) PIECE_O
@ -270,9 +274,9 @@
(const byte) WHITE#0 WHITE = (byte/signed byte/word/signed word/dword/signed dword) 1
(byte) YELLOW
(byte) current_movedown_counter
(byte) current_movedown_counter#1 current_movedown_counter zp ZP_BYTE:3 0.5333333333333333
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:3 0.52
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:3 1.3
(byte) current_movedown_counter#1 current_movedown_counter zp ZP_BYTE:2 0.5333333333333333
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:2 0.52
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:2 1.3
(byte) current_movedown_fast
(const byte) current_movedown_fast#0 current_movedown_fast = (byte/signed byte/word/signed word/dword/signed dword) 5
(byte) current_movedown_slow
@ -285,55 +289,59 @@
(byte) current_orientation#4 current_orientation zp ZP_BYTE:14 3.0
(byte*) current_piece
(byte*) current_piece#10 current_piece zp ZP_WORD:12 0.3484848484848484
(byte*) current_piece#12 current_piece#12 zp ZP_WORD:5 10.0
(byte*) current_piece#12 current_piece#12 zp ZP_WORD:4 10.0
(byte*) current_piece#16 current_piece zp ZP_WORD:12 0.5588235294117647
(byte*) current_piece#20 current_piece zp ZP_WORD:12 6.0
(byte*~) current_piece#72 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#74 zp ZP_WORD:5 4.0
(byte*~) current_piece#75 current_piece#75 zp ZP_WORD:5 4.0
(byte*~) current_piece#76 current_piece#76 zp ZP_WORD:5 4.0
(byte*~) current_piece#73 current_piece#73 zp ZP_WORD:4 4.0
(byte*~) current_piece#74 current_piece#74 zp ZP_WORD:4 4.0
(byte*~) current_piece#75 current_piece#75 zp ZP_WORD:4 4.0
(byte*~) current_piece#76 current_piece#76 zp ZP_WORD:4 4.0
(byte*~) current_piece#77 current_piece zp ZP_WORD:12 4.0
(byte) current_piece_char
(byte) current_piece_char#11 current_piece_char zp ZP_BYTE:18 1.04
(byte) current_piece_char#13 current_piece_char zp ZP_BYTE:18 0.7272727272727273
(byte) current_piece_char#13 current_piece_char zp ZP_BYTE:18 0.6153846153846154
(byte) current_piece_char#16 current_piece_char zp ZP_BYTE:18 19.96078431372549
(byte) current_piece_char#21 current_piece_char zp ZP_BYTE:18 6.0
(byte) current_piece_char#63 current_piece_char#63 zp ZP_BYTE:7 48.285714285714285
(byte~) current_piece_char#83 current_piece_char#83 zp ZP_BYTE:7 4.0
(byte~) current_piece_char#84 current_piece_char#84 zp ZP_BYTE:7 22.0
(byte) current_piece_char#63 current_piece_char#63 zp ZP_BYTE:6 48.285714285714285
(byte~) current_piece_char#83 current_piece_char#83 zp ZP_BYTE:6 4.0
(byte~) current_piece_char#84 current_piece_char#84 zp ZP_BYTE:6 22.0
(byte*) current_piece_gfx
(byte*) current_piece_gfx#10 current_piece_gfx zp ZP_WORD:15 19.96078431372549
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:15 0.2962962962962963
(byte*) current_piece_gfx#15 current_piece_gfx zp ZP_WORD:15 1.8666666666666665
(byte*) current_piece_gfx#17 current_piece_gfx zp ZP_WORD:15 0.6666666666666666
(byte*) current_piece_gfx#17 current_piece_gfx zp ZP_WORD:15 0.5
(byte*) current_piece_gfx#27 current_piece_gfx zp ZP_WORD:15 6.0
(byte*) current_piece_gfx#4 current_piece_gfx zp ZP_WORD:15 4.0
(byte*) current_piece_gfx#53 current_piece_gfx#53 zp ZP_WORD:5 48.285714285714285
(byte*~) current_piece_gfx#95 current_piece_gfx#95 zp ZP_WORD:5 2.0
(byte*~) current_piece_gfx#96 current_piece_gfx#96 zp ZP_WORD:5 11.0
(byte*) current_piece_gfx#53 current_piece_gfx#53 zp ZP_WORD:4 48.285714285714285
(byte*~) current_piece_gfx#95 current_piece_gfx#95 zp ZP_WORD:4 2.0
(byte*~) current_piece_gfx#96 current_piece_gfx#96 zp ZP_WORD:4 11.0
(byte) current_xpos
(byte~) current_xpos#104 current_xpos#104 zp ZP_BYTE:4 7.333333333333333
(byte) current_xpos#11 current_xpos zp ZP_BYTE:17 2.313725490196078
(byte~) current_xpos#105 current_xpos#105 zp ZP_BYTE:3 1.3333333333333333
(byte~) current_xpos#106 current_xpos#106 zp ZP_BYTE:3 7.333333333333333
(byte) current_xpos#11 current_xpos zp ZP_BYTE:17 2.3529411764705883
(byte) current_xpos#16 current_xpos zp ZP_BYTE:17 0.72
(byte) current_xpos#20 current_xpos zp ZP_BYTE:17 0.871794871794872
(byte) current_xpos#24 current_xpos zp ZP_BYTE:17 0.5333333333333333
(byte) current_xpos#3 current_xpos zp ZP_BYTE:17 4.0
(byte) current_xpos#34 current_xpos zp ZP_BYTE:17 4.0
(byte) current_xpos#48 current_xpos#48 zp ZP_BYTE:4 5.333333333333333
(byte) current_xpos#34 current_xpos zp ZP_BYTE:17 6.0
(byte) current_xpos#48 current_xpos#48 zp ZP_BYTE:3 5.428571428571429
(byte) current_xpos#5 current_xpos zp ZP_BYTE:17 4.0
(byte) current_ypos
(byte) current_ypos#1 current_ypos zp ZP_BYTE:2 4.0
(byte) current_ypos#10 reg byte x 13.0
(byte) current_ypos#14 current_ypos zp ZP_BYTE:2 0.48484848484848475
(byte) current_ypos#22 current_ypos zp ZP_BYTE:2 0.5588235294117647
(byte) current_ypos#30 current_ypos zp ZP_BYTE:2 4.0
(byte~) current_ypos#78 reg byte x 5.5
(byte) current_ypos#1 current_ypos zp ZP_BYTE:11 4.0
(byte) current_ypos#10 reg byte x 15.0
(byte) current_ypos#14 current_ypos zp ZP_BYTE:11 0.48484848484848475
(byte) current_ypos#19 current_ypos zp ZP_BYTE:11 0.5714285714285714
(byte) current_ypos#22 current_ypos zp ZP_BYTE:11 0.6176470588235294
(byte) current_ypos#30 current_ypos zp ZP_BYTE:11 6.0
(byte~) current_ypos#79 reg byte x 1.0
(byte~) current_ypos#80 reg byte x 5.5
(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val)
(label) fill::@1
(label) fill::@return
(byte*) fill::addr
(byte*) fill::addr#1 addr zp ZP_WORD:5 16.5
(byte*) fill::addr#2 addr zp ZP_WORD:5 16.5
(byte*) fill::addr#1 addr zp ZP_WORD:4 16.5
(byte*) fill::addr#2 addr zp ZP_WORD:4 16.5
(byte*) fill::end
(const byte*) fill::end#0 end = (const byte*) COLS#0+(const word) fill::size#0
(word) fill::size
@ -398,7 +406,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte~) keyboard_event_pressed::$1 reg byte a 4.0
(label) keyboard_event_pressed::@return
(byte) keyboard_event_pressed::keycode
(byte) keyboard_event_pressed::keycode#5 keycode zp ZP_BYTE:4 1.3333333333333333
(byte) keyboard_event_pressed::keycode#5 keycode zp ZP_BYTE:3 1.3333333333333333
(byte) keyboard_event_pressed::return
(byte) keyboard_event_pressed::return#0 reg byte a 4.0
(byte) keyboard_event_pressed::return#1 reg byte a 4.0
@ -407,7 +415,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) keyboard_event_pressed::return#12 reg byte a 4.0
(byte) keyboard_event_pressed::return#2 reg byte a 4.0
(byte) keyboard_event_pressed::row_bits
(byte) keyboard_event_pressed::row_bits#0 row_bits zp ZP_BYTE:7 2.0
(byte) keyboard_event_pressed::row_bits#0 row_bits zp ZP_BYTE:6 2.0
(void()) keyboard_event_scan()
(byte/word/dword~) keyboard_event_scan::$11 reg byte a 2002.0
(byte~) keyboard_event_scan::$14 reg byte a 4.0
@ -446,16 +454,16 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) keyboard_event_scan::event_type
(byte) keyboard_event_scan::event_type#0 reg byte a 2002.0
(byte) keyboard_event_scan::keycode
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:7 202.0
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:7 315.7692307692308
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:7 50.5
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:7 101.0
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:7 525.75
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:6 202.0
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:6 315.7692307692308
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:6 50.5
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:6 101.0
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:6 525.75
(byte) keyboard_event_scan::row
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:4 151.5
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:4 60.24
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:3 151.5
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:3 60.24
(byte) keyboard_event_scan::row_scan
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:8 128.05555555555557
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:7 128.05555555555557
(byte[8]) keyboard_events
(const byte[8]) keyboard_events#0 keyboard_events = { fill( 8, 0) }
(byte) keyboard_events_size
@ -535,18 +543,18 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_collision::c#1 reg byte x 1001.0
(byte) play_collision::c#2 reg byte x 222.44444444444446
(byte) play_collision::col
(byte) play_collision::col#1 col zp ZP_BYTE:11 500.5
(byte) play_collision::col#2 col zp ZP_BYTE:11 638.25
(byte~) play_collision::col#9 col zp ZP_BYTE:11 202.0
(byte) play_collision::col#1 col zp ZP_BYTE:10 500.5
(byte) play_collision::col#2 col zp ZP_BYTE:10 638.25
(byte~) play_collision::col#9 col zp ZP_BYTE:10 202.0
(byte) play_collision::i
(byte) play_collision::i#1 i zp ZP_BYTE:28 161.76923076923077
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:10 202.0
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:10 2002.0
(byte) play_collision::i#2 i#2 zp ZP_BYTE:10 1552.0
(byte) play_collision::i#3 i#3 zp ZP_BYTE:10 67.33333333333333
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:9 202.0
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:9 2002.0
(byte) play_collision::i#2 i#2 zp ZP_BYTE:9 1552.0
(byte) play_collision::i#3 i#3 zp ZP_BYTE:9 67.33333333333333
(byte) play_collision::l
(byte) play_collision::l#1 l zp ZP_BYTE:9 101.0
(byte) play_collision::l#6 l zp ZP_BYTE:9 12.625
(byte) play_collision::l#1 l zp ZP_BYTE:8 101.0
(byte) play_collision::l#6 l zp ZP_BYTE:8 12.625
(byte) play_collision::orientation
(byte) play_collision::orientation#0 reg byte x 2.0
(byte) play_collision::orientation#1 reg byte x 2.0
@ -554,7 +562,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_collision::orientation#3 reg byte x 2.0
(byte) play_collision::orientation#4 reg byte x 10.0
(byte*) play_collision::piece_gfx
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:5 47.76190476190476
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:4 47.76190476190476
(byte*) play_collision::playfield_line
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:26 78.71428571428571
(byte) play_collision::return
@ -564,11 +572,11 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_collision::return#13 reg byte a 4.0
(byte) play_collision::return#14 reg byte a 1.3333333333333333
(byte) play_collision::xpos
(byte) play_collision::xpos#0 xpos zp ZP_BYTE:7 1.3333333333333333
(byte) play_collision::xpos#1 xpos zp ZP_BYTE:7 1.0
(byte) play_collision::xpos#2 xpos zp ZP_BYTE:7 1.0
(byte) play_collision::xpos#3 xpos zp ZP_BYTE:7 1.0
(byte) play_collision::xpos#5 xpos zp ZP_BYTE:7 4.954545454545454
(byte) play_collision::xpos#0 xpos zp ZP_BYTE:6 1.3333333333333333
(byte) play_collision::xpos#1 xpos zp ZP_BYTE:6 1.0
(byte) play_collision::xpos#2 xpos zp ZP_BYTE:6 1.0
(byte) play_collision::xpos#3 xpos zp ZP_BYTE:6 1.0
(byte) play_collision::xpos#5 xpos zp ZP_BYTE:6 4.954545454545454
(byte) play_collision::ypos
(byte) play_collision::ypos#0 reg byte y 1.0
(byte) play_collision::ypos#1 reg byte y 1.3333333333333333
@ -576,9 +584,9 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_collision::ypos#3 reg byte y 1.3333333333333333
(byte) play_collision::ypos#4 reg byte y 5.0
(byte) play_collision::ypos2
(byte) play_collision::ypos2#0 ypos2 zp ZP_BYTE:8 4.0
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:8 50.5
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:8 87.06666666666668
(byte) play_collision::ypos2#0 ypos2 zp ZP_BYTE:7 4.0
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:7 50.5
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:7 87.06666666666668
(void()) play_init()
(byte~) play_init::$1 reg byte a 22.0
(label) play_init::@1
@ -591,8 +599,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_init::j#1 reg byte x 16.5
(byte) play_init::j#2 reg byte x 7.333333333333333
(byte*) play_init::pli
(byte*) play_init::pli#1 pli zp ZP_WORD:5 5.5
(byte*) play_init::pli#2 pli zp ZP_WORD:5 8.25
(byte*) play_init::pli#1 pli zp ZP_WORD:4 5.5
(byte*) play_init::pli#2 pli zp ZP_WORD:4 8.25
(void()) play_lock_current()
(label) play_lock_current::@1
(label) play_lock_current::@2
@ -606,24 +614,24 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_lock_current::c#1 reg byte x 1001.0
(byte) play_lock_current::c#2 reg byte x 400.4
(byte) play_lock_current::col
(byte) play_lock_current::col#0 col zp ZP_BYTE:7 202.0
(byte) play_lock_current::col#1 col zp ZP_BYTE:7 500.5
(byte) play_lock_current::col#2 col zp ZP_BYTE:7 776.0
(byte) play_lock_current::col#0 col zp ZP_BYTE:6 202.0
(byte) play_lock_current::col#1 col zp ZP_BYTE:6 500.5
(byte) play_lock_current::col#2 col zp ZP_BYTE:6 776.0
(byte) play_lock_current::i
(byte) play_lock_current::i#1 i zp ZP_BYTE:8 233.66666666666669
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:4 1552.0
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:4 67.33333333333333
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:4 202.0
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:4 2002.0
(byte) play_lock_current::i#1 i zp ZP_BYTE:7 233.66666666666669
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:3 1552.0
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:3 67.33333333333333
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:3 202.0
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:3 2002.0
(byte) play_lock_current::l
(byte) play_lock_current::l#1 l zp ZP_BYTE:3 101.0
(byte) play_lock_current::l#6 l zp ZP_BYTE:3 16.833333333333332
(byte) play_lock_current::l#1 l zp ZP_BYTE:2 101.0
(byte) play_lock_current::l#6 l zp ZP_BYTE:2 16.833333333333332
(byte*) play_lock_current::playfield_line
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:5 110.19999999999999
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:4 110.19999999999999
(byte) play_lock_current::ypos2
(byte) play_lock_current::ypos2#0 ypos2 zp ZP_BYTE:2 4.0
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:2 50.5
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:2 27.727272727272727
(byte) play_lock_current::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:11 50.5
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:11 27.727272727272727
(byte()) play_move_down((byte) play_move_down::key_event)
(byte~) play_move_down::$12 reg byte a 4.0
(byte~) play_move_down::$2 reg byte a 4.0
@ -684,9 +692,9 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_move_rotate::key_event
(byte) play_move_rotate::key_event#0 reg byte a 7.5
(byte) play_move_rotate::orientation
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:4 4.0
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:4 4.0
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:4 0.8888888888888888
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:3 4.0
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:3 4.0
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:3 0.8888888888888888
(byte) play_move_rotate::return
(byte) play_move_rotate::return#1 reg byte a 3.6666666666666665
(byte) play_move_rotate::return#4 reg byte a 22.0
@ -704,8 +712,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_remove_lines::c
(byte) play_remove_lines::c#0 c zp ZP_BYTE:7 600.5999999999999
(byte) play_remove_lines::full
(byte) play_remove_lines::full#2 full zp ZP_BYTE:4 420.59999999999997
(byte) play_remove_lines::full#4 full zp ZP_BYTE:4 400.4
(byte) play_remove_lines::full#2 full zp ZP_BYTE:6 420.59999999999997
(byte) play_remove_lines::full#4 full zp ZP_BYTE:6 400.4
(byte) play_remove_lines::r
(byte) play_remove_lines::r#1 reg byte y 161.76923076923077
(byte) play_remove_lines::r#2 reg byte y 1552.0
@ -726,7 +734,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) play_remove_lines::y#8 y zp ZP_BYTE:2 14.428571428571429
(void()) play_spawn_current()
(byte~) play_spawn_current::$1 reg byte a 202.0
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:2 0.18181818181818182
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:2 0.13333333333333333
(label) play_spawn_current::@1
(label) play_spawn_current::@2
(label) play_spawn_current::@3
@ -734,7 +742,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(label) play_spawn_current::@return
(byte) play_spawn_current::piece_idx
(byte) play_spawn_current::piece_idx#1 reg byte x 202.0
(byte) play_spawn_current::piece_idx#2 reg byte x 51.5
(byte) play_spawn_current::piece_idx#2 reg byte x 35.00000000000001
(byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield
(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
@ -758,24 +766,24 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) render_current::current_cell
(byte) render_current::current_cell#0 reg byte a 1001.0
(byte) render_current::i
(byte) render_current::i#1 i zp ZP_BYTE:10 202.0
(byte) render_current::i#10 i zp ZP_BYTE:10 429.0
(byte) render_current::i#3 i zp ZP_BYTE:10 60.599999999999994
(byte) render_current::i#4 i zp ZP_BYTE:10 1552.0
(byte) render_current::i#8 i zp ZP_BYTE:10 300.75
(byte) render_current::i#1 i zp ZP_BYTE:9 202.0
(byte) render_current::i#10 i zp ZP_BYTE:9 429.0
(byte) render_current::i#3 i zp ZP_BYTE:9 60.599999999999994
(byte) render_current::i#4 i zp ZP_BYTE:9 1552.0
(byte) render_current::i#8 i zp ZP_BYTE:9 300.75
(byte) render_current::l
(byte) render_current::l#1 l zp ZP_BYTE:9 151.5
(byte) render_current::l#4 l zp ZP_BYTE:9 11.882352941176471
(byte) render_current::l#1 l zp ZP_BYTE:8 151.5
(byte) render_current::l#4 l zp ZP_BYTE:8 11.882352941176471
(byte*) render_current::screen_line
(byte*) render_current::screen_line#0 screen_line zp ZP_WORD:26 100.18181818181819
(byte) render_current::xpos
(byte) render_current::xpos#0 xpos zp ZP_BYTE:11 202.0
(byte) render_current::xpos#1 xpos zp ZP_BYTE:11 667.3333333333334
(byte) render_current::xpos#2 xpos zp ZP_BYTE:11 684.1666666666667
(byte) render_current::xpos#0 xpos zp ZP_BYTE:10 202.0
(byte) render_current::xpos#1 xpos zp ZP_BYTE:10 667.3333333333334
(byte) render_current::xpos#2 xpos zp ZP_BYTE:10 684.1666666666667
(byte) render_current::ypos2
(byte) render_current::ypos2#0 ypos2 zp ZP_BYTE:8 4.0
(byte) render_current::ypos2#1 ypos2 zp ZP_BYTE:8 67.33333333333333
(byte) render_current::ypos2#2 ypos2 zp ZP_BYTE:8 31.6875
(byte) render_current::ypos2#0 ypos2 zp ZP_BYTE:7 4.0
(byte) render_current::ypos2#1 ypos2 zp ZP_BYTE:7 67.33333333333333
(byte) render_current::ypos2#2 ypos2 zp ZP_BYTE:7 31.6875
(void()) render_init()
(byte~) render_init::$11 reg byte a 22.0
(byte*~) render_init::$18 $18 zp ZP_WORD:12 202.0
@ -796,11 +804,11 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) render_init::l#1 l zp ZP_BYTE:2 16.5
(byte) render_init::l#4 l zp ZP_BYTE:2 3.142857142857143
(byte*) render_init::li
(byte*) render_init::li#1 li zp ZP_WORD:5 7.333333333333333
(byte*) render_init::li#2 li zp ZP_WORD:5 11.0
(byte*) render_init::li#1 li zp ZP_WORD:4 7.333333333333333
(byte*) render_init::li#2 li zp ZP_WORD:4 11.0
(byte*) render_init::line
(byte*) render_init::line#1 line zp ZP_WORD:5 7.333333333333333
(byte*) render_init::line#4 line zp ZP_WORD:5 20.499999999999996
(byte*) render_init::line#1 line zp ZP_WORD:4 7.333333333333333
(byte*) render_init::line#4 line zp ZP_WORD:4 20.499999999999996
(label) render_init::toD0181
(word~) render_init::toD0181_$0
(word~) render_init::toD0181_$1
@ -837,16 +845,16 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) render_playfield::c#1 reg byte x 1501.5
(byte) render_playfield::c#2 reg byte x 500.5
(byte) render_playfield::i
(byte) render_playfield::i#1 i zp ZP_BYTE:7 420.59999999999997
(byte) render_playfield::i#2 i zp ZP_BYTE:7 1034.6666666666667
(byte) render_playfield::i#3 i zp ZP_BYTE:7 67.33333333333333
(byte) render_playfield::i#1 i zp ZP_BYTE:6 420.59999999999997
(byte) render_playfield::i#2 i zp ZP_BYTE:6 1034.6666666666667
(byte) render_playfield::i#3 i zp ZP_BYTE:6 67.33333333333333
(byte) render_playfield::l
(byte) render_playfield::l#1 l zp ZP_BYTE:4 151.5
(byte) render_playfield::l#2 l zp ZP_BYTE:4 33.666666666666664
(byte) render_playfield::l#1 l zp ZP_BYTE:3 151.5
(byte) render_playfield::l#2 l zp ZP_BYTE:3 33.666666666666664
(byte*) render_playfield::screen_line
(byte*) render_playfield::screen_line#0 screen_line zp ZP_WORD:5 202.0
(byte*) render_playfield::screen_line#1 screen_line zp ZP_WORD:5 500.5
(byte*) render_playfield::screen_line#2 screen_line zp ZP_WORD:5 1552.0
(byte*) render_playfield::screen_line#0 screen_line zp ZP_WORD:4 202.0
(byte*) render_playfield::screen_line#1 screen_line zp ZP_WORD:4 500.5
(byte*) render_playfield::screen_line#2 screen_line zp ZP_WORD:4 1552.0
(void()) render_screen_original((byte*) render_screen_original::screen)
(byte/signed word/word/dword/signed dword~) render_screen_original::$3 reg byte a 202.0
(label) render_screen_original::@1
@ -858,9 +866,9 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(byte) render_screen_original::SPACE
(const byte) render_screen_original::SPACE#0 SPACE = (byte/signed byte/word/signed word/dword/signed dword) 0
(byte*) render_screen_original::orig
(byte*) render_screen_original::orig#1 orig zp ZP_WORD:5 21.299999999999997
(byte*) render_screen_original::orig#2 orig zp ZP_WORD:5 101.0
(byte*) render_screen_original::orig#4 orig zp ZP_WORD:5 18.666666666666664
(byte*) render_screen_original::orig#1 orig zp ZP_WORD:4 21.299999999999997
(byte*) render_screen_original::orig#2 orig zp ZP_WORD:4 101.0
(byte*) render_screen_original::orig#4 orig zp ZP_WORD:4 18.666666666666664
(byte*) render_screen_original::screen
(byte*) render_screen_original::screen#1 screen zp ZP_WORD:12 101.0
(byte*) render_screen_original::screen#2 screen zp ZP_WORD:12 75.75
@ -909,16 +917,15 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
(const byte) toSpritePtr1_return#0 toSpritePtr1_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
(byte*) toSpritePtr1_sprite
zp ZP_BYTE:2 [ current_ypos#22 current_ypos#14 current_ypos#30 current_ypos#1 play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 play_remove_lines::y#8 play_remove_lines::y#1 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_init::l#4 render_init::l#1 render_screen_original::y#6 render_screen_original::y#1 play_spawn_current::$3 ]
zp ZP_BYTE:3 [ current_movedown_counter#12 current_movedown_counter#10 current_movedown_counter#1 play_remove_lines::x#2 play_remove_lines::x#1 play_lock_current::l#6 play_lock_current::l#1 ]
reg byte x [ current_ypos#10 current_ypos#78 ]
zp ZP_BYTE:4 [ current_xpos#48 current_xpos#104 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_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#53 current_piece_gfx#95 current_piece_gfx#96 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#73 current_piece#74 current_piece#75 current_piece#76 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::li#2 render_init::li#1 render_init::line#4 render_init::line#1 render_screen_original::orig#2 render_screen_original::orig#4 render_screen_original::orig#1 fill::addr#2 fill::addr#1 play_lock_current::playfield_line#0 ]
zp ZP_BYTE:7 [ current_piece_char#63 current_piece_char#83 current_piece_char#84 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 play_collision::xpos#5 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_lock_current::col#2 play_lock_current::col#0 play_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 play_remove_lines::c#0 keyboard_event_pressed::row_bits#0 ]
zp ZP_BYTE:8 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
zp ZP_BYTE:9 [ render_current::l#4 render_current::l#1 play_collision::l#6 play_collision::l#1 ]
zp ZP_BYTE:10 [ render_current::i#4 render_current::i#3 render_current::i#8 render_current::i#10 render_current::i#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
zp ZP_BYTE:11 [ render_current::xpos#2 render_current::xpos#0 render_current::xpos#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
zp ZP_BYTE:2 [ current_movedown_counter#12 current_movedown_counter#10 current_movedown_counter#1 play_remove_lines::y#8 play_remove_lines::y#1 play_lock_current::l#6 play_lock_current::l#1 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_init::l#4 render_init::l#1 render_screen_original::y#6 render_screen_original::y#1 play_spawn_current::$3 ]
reg byte x [ current_ypos#10 current_ypos#79 current_ypos#80 ]
zp ZP_BYTE:3 [ current_xpos#48 current_xpos#105 current_xpos#106 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 play_remove_lines::x#2 play_remove_lines::x#1 play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
zp ZP_WORD:4 [ current_piece_gfx#53 current_piece_gfx#95 current_piece_gfx#96 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#73 current_piece#74 current_piece#75 current_piece#76 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::li#2 render_init::li#1 render_init::line#4 render_init::line#1 render_screen_original::orig#2 render_screen_original::orig#4 render_screen_original::orig#1 fill::addr#2 fill::addr#1 play_lock_current::playfield_line#0 ]
zp ZP_BYTE:6 [ current_piece_char#63 current_piece_char#83 current_piece_char#84 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 play_collision::xpos#5 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::col#2 play_lock_current::col#0 play_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:7 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_remove_lines::c#0 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
zp ZP_BYTE:8 [ render_current::l#4 render_current::l#1 play_collision::l#6 play_collision::l#1 ]
zp ZP_BYTE:9 [ render_current::i#4 render_current::i#3 render_current::i#8 render_current::i#10 render_current::i#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
zp ZP_BYTE:10 [ render_current::xpos#2 render_current::xpos#0 render_current::xpos#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
reg byte x [ render_current::c#2 render_current::c#1 ]
reg byte x [ render_playfield::c#2 render_playfield::c#1 ]
reg byte a [ play_move_rotate::return#1 ]
@ -928,10 +935,11 @@ reg byte x [ play_collision::c#2 play_collision::c#1 ]
reg byte a [ play_collision::return#14 ]
reg byte a [ play_move_leftright::return#1 ]
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_BYTE:11 [ current_ypos#30 current_ypos#22 current_ypos#14 current_ypos#19 current_ypos#1 play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
zp ZP_WORD:12 [ current_piece#20 current_piece#77 current_piece#16 current_piece#10 current_piece#72 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#4 render_screen_original::screen#7 render_screen_original::screen#3 render_screen_original::screen#1 render_screen_original::screen#2 render_init::$18 ]
zp ZP_BYTE:14 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
zp ZP_WORD:15 [ current_piece_gfx#27 current_piece_gfx#10 current_piece_gfx#15 current_piece_gfx#17 current_piece_gfx#4 current_piece_gfx#14 ]
zp ZP_BYTE:17 [ current_xpos#34 current_xpos#11 current_xpos#20 current_xpos#5 current_xpos#16 current_xpos#3 ]
zp ZP_BYTE:17 [ current_xpos#34 current_xpos#11 current_xpos#20 current_xpos#24 current_xpos#5 current_xpos#16 current_xpos#3 ]
zp ZP_BYTE:18 [ current_piece_char#21 current_piece_char#16 current_piece_char#11 current_piece_char#13 ]
reg byte x [ play_move_down::return#2 ]
reg byte x [ play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]