mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-01-29 05:31:11 +00:00
Added movedown speed-up based on level.
This commit is contained in:
parent
621c1e19e0
commit
40a2a7b1eb
@ -1,3 +1,4 @@
|
||||
// Tetris Game for the Commodore 64
|
||||
// Memory Layout and Shared Data
|
||||
|
||||
// Address of the first screen
|
||||
@ -47,5 +48,7 @@ dword score_bcd = 0;
|
||||
// Current number of cleared lines in BCD-format
|
||||
word lines_bcd = 0;
|
||||
// Current level BCD-format
|
||||
byte level_bcd = 1;
|
||||
byte level_bcd = 0;
|
||||
// Current level in normal numeric format
|
||||
byte level = 0;
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
// Tetris Game for the Commodore 64
|
||||
// The tetris pieces
|
||||
|
||||
// The T-piece
|
||||
@ -172,6 +173,7 @@ word[] PIECES = { (word)PIECE_T, (word)PIECE_S, (word)PIECE_Z, (word)PIECE_J, (w
|
||||
|
||||
// The chars to use for the different pieces
|
||||
byte[] PIECES_CHARS = { $64, $65, $a5, $65, $64, $64, $a5 };
|
||||
|
||||
// The initial X/Y for each piece
|
||||
byte[] PIECES_START_X = { 4, 4, 4, 4, 4, 4, 4 };
|
||||
byte[] PIECES_START_Y = { 1, 1, 1, 1, 1, 0, 1 };
|
@ -1,4 +1,6 @@
|
||||
// Implementation of the games play logic
|
||||
// Tetris Game for the Commodore 64
|
||||
// Implementation of the tetris game play logic. Most of the logic is modelled after NES tetris
|
||||
// Source: https://meatfighter.com/nintendotetrisai/
|
||||
|
||||
import "tetris-data"
|
||||
import "tetris-pieces"
|
||||
@ -17,10 +19,10 @@ byte* current_piece = 0;
|
||||
byte current_orientation = 0;
|
||||
|
||||
// The rate of moving down the current piece (number of frames between moves if movedown is not forced)
|
||||
const byte current_movedown_slow = 50;
|
||||
byte current_movedown_slow = 48;
|
||||
|
||||
// The rate of moving down the current piece fast (number of frames between moves if movedown is not forced)
|
||||
const byte current_movedown_fast = 5;
|
||||
const byte current_movedown_fast = 2;
|
||||
|
||||
// Counts up to the next movedown of current piece
|
||||
byte current_movedown_counter = 0;
|
||||
@ -28,6 +30,10 @@ byte current_movedown_counter = 0;
|
||||
// Score values for removing 0-4 lines (in BCD)
|
||||
dword[] score_add_bcd = { $0000, $0040, $0100, $0300, $1200 };
|
||||
|
||||
// The speed of moving down the piece when soft-drop is not activated
|
||||
// This array holds the number of frames per move by level (0-29). For all levels 29+ the value is 1.
|
||||
const byte[] MOVEDOWN_SLOW_SPEEDS = { 48, 43, 38, 33, 28, 23, 18, 13, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 };
|
||||
|
||||
// Initialize play data tables
|
||||
void play_init() {
|
||||
// Initialize the playfield line pointers;
|
||||
@ -40,6 +46,9 @@ void play_init() {
|
||||
idx += PLAYFIELD_COLS;
|
||||
}
|
||||
playfield_lines_idx[PLAYFIELD_LINES] = PLAYFIELD_COLS*PLAYFIELD_LINES;
|
||||
|
||||
// Set initial speed of moving down a tetromino
|
||||
current_movedown_slow = MOVEDOWN_SLOW_SPEEDS[level];
|
||||
}
|
||||
|
||||
// Move down the current piece
|
||||
@ -248,12 +257,26 @@ void play_update_score(byte removed) {
|
||||
// If line 10-part updated increase the level
|
||||
byte lines_after = <lines_bcd&$f0;
|
||||
if(lines_before!=lines_after) {
|
||||
level_bcd++;
|
||||
if((level_bcd&$f)==$a) {
|
||||
// If level low nybble hits $a change to $10
|
||||
level_bcd += 6;
|
||||
}
|
||||
play_increase_level();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Increase the level
|
||||
void play_increase_level() {
|
||||
// Increase level
|
||||
level++;
|
||||
// Update speed of moving tetrominos down
|
||||
if(level>29) {
|
||||
current_movedown_slow = 1;
|
||||
} else {
|
||||
current_movedown_slow = MOVEDOWN_SLOW_SPEEDS[level];
|
||||
}
|
||||
// Increase BCD-format level
|
||||
level_bcd++;
|
||||
if((level_bcd&$f)==$a) {
|
||||
// If level low nybble hits $a change to $10
|
||||
level_bcd += 6;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
// Tetris Game for the Commodore 64
|
||||
// All rendering logic for showing the playfield, the pieces and the scores
|
||||
// Also handles double buffering
|
||||
|
||||
import "tetris-data"
|
||||
|
||||
kickasm(pc PLAYFIELD_CHARSET, resource "playfield-screen.imap") {{
|
||||
@ -137,7 +141,7 @@ void render_screen_original(byte* screen) {
|
||||
}
|
||||
}
|
||||
|
||||
// Render the static playfield on the screen
|
||||
// Render the static playfield on the screen (all pieces already locked into place)
|
||||
void render_playfield() {
|
||||
// Do not render the top 2 lines.
|
||||
byte i = PLAYFIELD_COLS*2;
|
||||
@ -150,7 +154,7 @@ void render_playfield() {
|
||||
}
|
||||
|
||||
// Render the current moving piece at position (current_xpos, current_ypos)
|
||||
void render_current() {
|
||||
void render_moving() {
|
||||
byte i = 0;
|
||||
byte ypos2 = current_ypos<<1;
|
||||
for(byte l:0..3) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
// A sprite multiplexer covering the playfield with a black layer to give the pixel perfect 3-single-color NES playfield
|
||||
// Tetris Game for the Commodore 64
|
||||
// A sprite multiplexer covering the playfield with a black layer to allow for 3 single-pixel colors
|
||||
import "c64"
|
||||
import "tetris-data"
|
||||
|
||||
|
@ -1,4 +1,7 @@
|
||||
// Tetris Game Implementation
|
||||
// Tetris Game for the Commodore 64
|
||||
// The tetris game tries to match NES tetris gameplay pretty closely
|
||||
// Source: https://meatfighter.com/nintendotetrisai/
|
||||
|
||||
import "c64"
|
||||
import "memory"
|
||||
import "keyboard"
|
||||
@ -17,7 +20,7 @@ void main() {
|
||||
play_init();
|
||||
play_spawn_current();
|
||||
render_playfield();
|
||||
render_current();
|
||||
render_moving();
|
||||
while(true) {
|
||||
// Wait for a frame to pass
|
||||
while(*RASTER!=$ff) {}
|
||||
@ -33,7 +36,7 @@ void main() {
|
||||
render += play_move_rotate(key_event);
|
||||
if(render!=0) {
|
||||
render_playfield();
|
||||
render_current();
|
||||
render_moving();
|
||||
render_score();
|
||||
render_screen_swap();
|
||||
}
|
||||
|
@ -107,7 +107,8 @@ CONTROL FLOW GRAPH SSA
|
||||
(byte) render_screen_showing#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(dword) score_bcd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(word) lines_bcd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) level_bcd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) level_bcd#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) level#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
kickasm(location (byte*) PLAYFIELD_SPRITES#0) {{ .var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
@ -701,6 +702,8 @@ SYMBOL TABLE SSA
|
||||
(byte) irq_sprite_ypos#7
|
||||
(byte) irq_sprite_ypos#8
|
||||
(byte) irq_sprite_ypos#9
|
||||
(byte) level
|
||||
(byte) level#0
|
||||
(byte) level_bcd
|
||||
(byte) level_bcd#0
|
||||
(word) lines_bcd
|
||||
@ -1061,7 +1064,8 @@ Constant (const byte) render_screen_render#0 = 64
|
||||
Constant (const byte) render_screen_show#0 = 0
|
||||
Constant (const dword) score_bcd#0 = 0
|
||||
Constant (const word) lines_bcd#0 = 0
|
||||
Constant (const byte) level_bcd#0 = 1
|
||||
Constant (const byte) level_bcd#0 = 0
|
||||
Constant (const byte) level#0 = 0
|
||||
Constant (const byte/signed byte/word/signed word/dword/signed dword) sprites_init::$0 = 15*8
|
||||
Constant (const byte) sprites_init::s#0 = 0
|
||||
Constant (const byte) IRQ_RASTER_FIRST#0 = 49
|
||||
@ -1487,6 +1491,7 @@ VARIABLE REGISTER WEIGHTS
|
||||
(byte) irq_sprite_ypos#0 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 20.0
|
||||
(byte) irq_sprite_ypos#2 20.0
|
||||
(byte) level
|
||||
(byte) level_bcd
|
||||
(word) lines_bcd
|
||||
(void()) main()
|
||||
@ -2890,6 +2895,7 @@ FINAL SYMBOL TABLE
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) level
|
||||
(byte) level_bcd
|
||||
(word) lines_bcd
|
||||
(void()) main()
|
||||
|
@ -148,6 +148,7 @@
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) level
|
||||
(byte) level_bcd
|
||||
(word) lines_bcd
|
||||
(void()) main()
|
||||
|
@ -66,8 +66,7 @@
|
||||
.const PLAYFIELD_LINES = $16
|
||||
.const PLAYFIELD_COLS = $a
|
||||
.const IRQ_RASTER_FIRST = $31
|
||||
.const current_movedown_slow = $32
|
||||
.const current_movedown_fast = 5
|
||||
.const current_movedown_fast = 2
|
||||
.const COLLISION_NONE = 0
|
||||
.const COLLISION_PLAYFIELD = 1
|
||||
.const COLLISION_BOTTOM = 2
|
||||
@ -76,24 +75,26 @@
|
||||
.label PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+SPRITE_PTRS
|
||||
.label PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+SPRITE_PTRS
|
||||
.const toSpritePtr1_return = PLAYFIELD_SPRITES>>6
|
||||
.label keyboard_events_size = $1f
|
||||
.label render_screen_showing = $21
|
||||
.label irq_raster_next = $20
|
||||
.label irq_sprite_ypos = $22
|
||||
.label irq_sprite_ptr = $23
|
||||
.label irq_cnt = $24
|
||||
.label keyboard_events_size = $21
|
||||
.label render_screen_showing = $23
|
||||
.label irq_raster_next = $22
|
||||
.label irq_sprite_ypos = $24
|
||||
.label irq_sprite_ptr = $25
|
||||
.label irq_cnt = $26
|
||||
.label current_movedown_slow = $18
|
||||
.label current_movedown_counter = 4
|
||||
.label current_ypos = $10
|
||||
.label current_piece_gfx = $1b
|
||||
.label current_xpos = $1d
|
||||
.label current_piece_char = $1e
|
||||
.label current_orientation = $1a
|
||||
.label level_bcd = $17
|
||||
.label current_piece_gfx = $1d
|
||||
.label current_xpos = $1f
|
||||
.label current_piece_char = $20
|
||||
.label current_orientation = $1c
|
||||
.label level_bcd = $19
|
||||
.label render_screen_render = 3
|
||||
.label render_screen_show = 2
|
||||
.label lines_bcd = $11
|
||||
.label score_bcd = $13
|
||||
.label current_piece = $18
|
||||
.label level = $17
|
||||
.label current_piece = $1a
|
||||
.label current_piece_12 = 5
|
||||
.label render_screen_render_30 = 9
|
||||
.label current_xpos_47 = $a
|
||||
@ -121,7 +122,7 @@ bbegin:
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $f
|
||||
.label render = $25
|
||||
.label render = $27
|
||||
jsr sid_rnd_init
|
||||
sei
|
||||
jsr render_init
|
||||
@ -141,15 +142,15 @@ main: {
|
||||
ldx current_piece_char
|
||||
lda #$40
|
||||
sta render_screen_render_30
|
||||
jsr render_current
|
||||
jsr render_moving
|
||||
ldy play_spawn_current._3
|
||||
lda PIECES,y
|
||||
sta current_piece
|
||||
lda PIECES+1,y
|
||||
sta current_piece+1
|
||||
lda #1
|
||||
sta level_bcd
|
||||
lda #0
|
||||
sta level_bcd
|
||||
sta level
|
||||
sta score_bcd
|
||||
sta score_bcd+1
|
||||
sta score_bcd+2
|
||||
@ -199,7 +200,7 @@ main: {
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_103+1
|
||||
ldx current_piece_char
|
||||
jsr render_current
|
||||
jsr render_moving
|
||||
jsr render_score
|
||||
jsr render_screen_swap
|
||||
jmp b4
|
||||
@ -319,7 +320,7 @@ render_bcd: {
|
||||
!:
|
||||
rts
|
||||
}
|
||||
render_current: {
|
||||
render_moving: {
|
||||
.label ypos2 = $b
|
||||
.label screen_line = 7
|
||||
.label xpos = $e
|
||||
@ -484,7 +485,7 @@ play_collision: {
|
||||
.label piece_gfx = 5
|
||||
.label ypos2 = $b
|
||||
.label playfield_line = 7
|
||||
.label i = $26
|
||||
.label i = $28
|
||||
.label col = $e
|
||||
.label l = $c
|
||||
.label i_2 = $d
|
||||
@ -632,7 +633,7 @@ play_move_down: {
|
||||
inx
|
||||
b2:
|
||||
lda current_movedown_counter
|
||||
cmp #current_movedown_slow
|
||||
cmp current_movedown_slow
|
||||
bcc b4
|
||||
inx
|
||||
b4:
|
||||
@ -709,7 +710,7 @@ sid_rnd: {
|
||||
}
|
||||
play_update_score: {
|
||||
.label lines_before = 4
|
||||
.label add_bcd = $27
|
||||
.label add_bcd = $29
|
||||
cpx #0
|
||||
beq breturn
|
||||
lda lines_bcd
|
||||
@ -753,6 +754,25 @@ play_update_score: {
|
||||
and #$f0
|
||||
cmp lines_before
|
||||
beq breturn
|
||||
jsr play_increase_level
|
||||
breturn:
|
||||
rts
|
||||
}
|
||||
play_increase_level: {
|
||||
inc level
|
||||
lda level
|
||||
cmp #$1d
|
||||
beq !+
|
||||
bcs b1
|
||||
!:
|
||||
ldy level
|
||||
lda MOVEDOWN_SLOW_SPEEDS,y
|
||||
sta current_movedown_slow
|
||||
jmp b2
|
||||
b1:
|
||||
lda #1
|
||||
sta current_movedown_slow
|
||||
b2:
|
||||
inc level_bcd
|
||||
lda #$f
|
||||
and level_bcd
|
||||
@ -1063,6 +1083,8 @@ play_init: {
|
||||
bne b1
|
||||
lda #PLAYFIELD_COLS*PLAYFIELD_LINES
|
||||
sta playfield_lines_idx+PLAYFIELD_LINES
|
||||
lda MOVEDOWN_SLOW_SPEEDS
|
||||
sta current_movedown_slow
|
||||
rts
|
||||
}
|
||||
sprites_irq_init: {
|
||||
@ -1193,7 +1215,7 @@ render_init: {
|
||||
render_screen_original: {
|
||||
.const SPACE = 0
|
||||
.label screen = $11
|
||||
.label cols = $18
|
||||
.label cols = $1a
|
||||
.label oscr = 5
|
||||
.label ocols = 7
|
||||
.label y = 2
|
||||
@ -1391,6 +1413,7 @@ sprites_irq: {
|
||||
PIECES_START_X: .byte 4, 4, 4, 4, 4, 4, 4
|
||||
PIECES_START_Y: .byte 1, 1, 1, 1, 1, 0, 1
|
||||
score_add_bcd: .dword 0, $40, $100, $300, $1200
|
||||
MOVEDOWN_SLOW_SPEEDS: .byte $30, $2b, $26, $21, $1c, $17, $12, $d, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
|
||||
.align $80
|
||||
screen_lines_1: .fill 2*PLAYFIELD_LINES, 0
|
||||
.align $40
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
(label) @14
|
||||
(label) @22
|
||||
(label) @23
|
||||
(label) @35
|
||||
(label) @36
|
||||
(label) @37
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -163,6 +163,8 @@
|
||||
(byte) LIGHT_BLUE
|
||||
(byte) LIGHT_GREEN
|
||||
(byte) LIGHT_GREY
|
||||
(byte[]) MOVEDOWN_SLOW_SPEEDS
|
||||
(const byte[]) MOVEDOWN_SLOW_SPEEDS#0 MOVEDOWN_SLOW_SPEEDS = { (byte/signed byte/word/signed word/dword/signed dword) 48, (byte/signed byte/word/signed word/dword/signed dword) 43, (byte/signed byte/word/signed word/dword/signed dword) 38, (byte/signed byte/word/signed word/dword/signed dword) 33, (byte/signed byte/word/signed word/dword/signed dword) 28, (byte/signed byte/word/signed word/dword/signed dword) 23, (byte/signed byte/word/signed word/dword/signed dword) 18, (byte/signed byte/word/signed word/dword/signed dword) 13, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 6, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (byte/signed byte/word/signed word/dword/signed dword) 5, (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) 3, (byte/signed byte/word/signed word/dword/signed dword) 3, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 1 }
|
||||
(byte) ORANGE
|
||||
(word[]) PIECES
|
||||
(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 }
|
||||
@ -282,54 +284,60 @@
|
||||
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:4 3.931034482758621
|
||||
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:4 10.363636363636363
|
||||
(byte) current_movedown_fast
|
||||
(const byte) current_movedown_fast#0 current_movedown_fast = (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(const byte) current_movedown_fast#0 current_movedown_fast = (byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
(byte) current_movedown_slow
|
||||
(const byte) current_movedown_slow#0 current_movedown_slow = (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
(byte) current_movedown_slow#1 current_movedown_slow zp ZP_BYTE:24 0.3076923076923077
|
||||
(byte) current_movedown_slow#12 current_movedown_slow zp ZP_BYTE:24 2.296296296296297
|
||||
(byte) current_movedown_slow#17 current_movedown_slow zp ZP_BYTE:24 4.0
|
||||
(byte) current_movedown_slow#19 current_movedown_slow zp ZP_BYTE:24 1.3333333333333333
|
||||
(byte) current_movedown_slow#20 current_movedown_slow zp ZP_BYTE:24 0.5
|
||||
(byte) current_movedown_slow#30 current_movedown_slow zp ZP_BYTE:24 6.0
|
||||
(byte) current_movedown_slow#8 current_movedown_slow zp ZP_BYTE:24 4.0
|
||||
(byte) current_orientation
|
||||
(byte) current_orientation#10 current_orientation zp ZP_BYTE:26 3.371428571428571
|
||||
(byte) current_orientation#14 current_orientation zp ZP_BYTE:26 0.32653061224489793
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:26 6.210526315789475
|
||||
(byte) current_orientation#29 current_orientation zp ZP_BYTE:26 4.0
|
||||
(byte) current_orientation#4 current_orientation zp ZP_BYTE:26 3.0
|
||||
(byte) current_orientation#10 current_orientation zp ZP_BYTE:28 3.371428571428571
|
||||
(byte) current_orientation#14 current_orientation zp ZP_BYTE:28 0.32653061224489793
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:28 6.210526315789475
|
||||
(byte) current_orientation#29 current_orientation zp ZP_BYTE:28 4.0
|
||||
(byte) current_orientation#4 current_orientation zp ZP_BYTE:28 3.0
|
||||
(byte*) current_piece
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:24 1.771428571428571
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:26 1.771428571428571
|
||||
(byte*) current_piece#12 current_piece#12 zp ZP_WORD:5 10.0
|
||||
(byte*) current_piece#16 current_piece zp ZP_WORD:24 3.428571428571428
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:24 6.0
|
||||
(byte*~) current_piece#73 current_piece zp ZP_WORD:24 4.0
|
||||
(byte*) current_piece#16 current_piece zp ZP_WORD:26 3.428571428571428
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:26 6.0
|
||||
(byte*~) current_piece#73 current_piece zp ZP_WORD:26 4.0
|
||||
(byte*~) current_piece#76 current_piece#76 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#77 current_piece#77 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#78 current_piece#78 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#79 current_piece#79 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#80 current_piece zp ZP_WORD:24 4.0
|
||||
(byte*~) current_piece#80 current_piece zp ZP_WORD:26 4.0
|
||||
(byte) current_piece_char
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:30 4.379310344827585
|
||||
(byte) current_piece_char#12 current_piece_char zp ZP_BYTE:30 0.6153846153846154
|
||||
(byte) current_piece_char#15 current_piece_char zp ZP_BYTE:30 194.59615384615384
|
||||
(byte) current_piece_char#20 current_piece_char zp ZP_BYTE:30 6.0
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:32 4.379310344827585
|
||||
(byte) current_piece_char#12 current_piece_char zp ZP_BYTE:32 0.6153846153846154
|
||||
(byte) current_piece_char#15 current_piece_char zp ZP_BYTE:32 194.59615384615384
|
||||
(byte) current_piece_char#20 current_piece_char zp ZP_BYTE:32 6.0
|
||||
(byte) current_piece_char#64 reg byte x 46.09090909090909
|
||||
(byte~) current_piece_char#90 reg byte x 4.0
|
||||
(byte~) current_piece_char#91 reg byte x 22.0
|
||||
(byte*) current_piece_gfx
|
||||
(byte*) current_piece_gfx#1 current_piece_gfx zp ZP_WORD:27 0.2962962962962963
|
||||
(byte*) current_piece_gfx#1 current_piece_gfx zp ZP_WORD:29 0.2962962962962963
|
||||
(byte*~) current_piece_gfx#102 current_piece_gfx#102 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#103 current_piece_gfx#103 zp ZP_WORD:5 11.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:27 6.789473684210528
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:27 0.5
|
||||
(byte*) current_piece_gfx#20 current_piece_gfx zp ZP_WORD:27 194.59615384615384
|
||||
(byte*) current_piece_gfx#26 current_piece_gfx zp ZP_WORD:27 6.0
|
||||
(byte*) current_piece_gfx#3 current_piece_gfx zp ZP_WORD:27 4.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:29 6.789473684210528
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:29 0.5
|
||||
(byte*) current_piece_gfx#20 current_piece_gfx zp ZP_WORD:29 194.59615384615384
|
||||
(byte*) current_piece_gfx#26 current_piece_gfx zp ZP_WORD:29 6.0
|
||||
(byte*) current_piece_gfx#3 current_piece_gfx zp ZP_WORD:29 4.0
|
||||
(byte*) current_piece_gfx#53 current_piece_gfx#53 zp ZP_WORD:5 46.09090909090909
|
||||
(byte) current_xpos
|
||||
(byte) current_xpos#1 current_xpos zp ZP_BYTE:29 0.72
|
||||
(byte) current_xpos#10 current_xpos zp ZP_BYTE:29 21.557692307692307
|
||||
(byte) current_xpos#1 current_xpos zp ZP_BYTE:31 0.72
|
||||
(byte) current_xpos#10 current_xpos zp ZP_BYTE:31 21.557692307692307
|
||||
(byte~) current_xpos#112 current_xpos#112 zp ZP_BYTE:10 1.3333333333333333
|
||||
(byte~) current_xpos#113 current_xpos#113 zp ZP_BYTE:10 7.333333333333333
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:29 3.139534883720931
|
||||
(byte) current_xpos#2 current_xpos zp ZP_BYTE:29 4.0
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:29 0.5333333333333333
|
||||
(byte) current_xpos#33 current_xpos zp ZP_BYTE:29 6.0
|
||||
(byte) current_xpos#4 current_xpos zp ZP_BYTE:29 4.0
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:31 3.139534883720931
|
||||
(byte) current_xpos#2 current_xpos zp ZP_BYTE:31 4.0
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:31 0.5333333333333333
|
||||
(byte) current_xpos#33 current_xpos zp ZP_BYTE:31 6.0
|
||||
(byte) current_xpos#4 current_xpos zp ZP_BYTE:31 4.0
|
||||
(byte) current_xpos#47 current_xpos#47 zp ZP_BYTE:10 5.181818181818182
|
||||
(byte) current_ypos
|
||||
(byte) current_ypos#0 current_ypos zp ZP_BYTE:16 4.0
|
||||
@ -341,22 +349,22 @@
|
||||
(byte~) current_ypos#87 reg byte y 4.4
|
||||
(byte) current_ypos#9 reg byte y 15.0
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:36 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:36 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:36 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:38 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:38 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:38 20.0
|
||||
(byte) irq_raster_next
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:32 0.17391304347826086
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:32 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:32 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:32 1.3333333333333333
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:34 0.17391304347826086
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:34 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:34 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:34 1.3333333333333333
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:35 0.24
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:35 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:35 20.0
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:37 0.24
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:34 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:34 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:34 20.0
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:36 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:36 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:36 20.0
|
||||
(byte[]) keyboard_char_keycodes
|
||||
(byte()) keyboard_event_get()
|
||||
(label) keyboard_event_get::@3
|
||||
@ -431,15 +439,15 @@
|
||||
(byte[8]) keyboard_events
|
||||
(const byte[8]) keyboard_events#0 keyboard_events = { fill( 8, 0) }
|
||||
(byte) keyboard_events_size
|
||||
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:31 20002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:31 8100.9000000000015
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:31 97.06451612903226
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:31 3.515151515151515
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:31 18.999999999999996
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:31 20002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:31 429.2857142857143
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:31 10201.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:31 3.0
|
||||
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:33 20002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:33 8100.9000000000015
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:33 97.06451612903226
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:33 3.515151515151515
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:33 18.999999999999996
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:33 20002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:33 429.2857142857143
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:33 10201.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:33 3.0
|
||||
(byte[8]) keyboard_matrix_col_bitmask
|
||||
(const byte[8]) keyboard_matrix_col_bitmask#0 keyboard_matrix_col_bitmask = { (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) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 32, (byte/signed byte/word/signed word/dword/signed dword) 64, (byte/word/signed word/dword/signed dword) 128 }
|
||||
(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid)
|
||||
@ -461,16 +469,23 @@
|
||||
(byte) keyboard_modifiers#5 reg byte a 20.0
|
||||
(byte[8]) keyboard_scan_values
|
||||
(const byte[8]) keyboard_scan_values#0 keyboard_scan_values = { fill( 8, 0) }
|
||||
(byte) level
|
||||
(byte) level#12 level zp ZP_BYTE:23 4.0
|
||||
(byte) level#14 level zp ZP_BYTE:23 1.3333333333333333
|
||||
(byte) level#16 level zp ZP_BYTE:23 0.7272727272727273
|
||||
(byte) level#19 level zp ZP_BYTE:23 2.2181818181818174
|
||||
(byte) level#24 level zp ZP_BYTE:23 6.0
|
||||
(byte) level_bcd
|
||||
(byte) level_bcd#11 level_bcd zp ZP_BYTE:23 2.313725490196078
|
||||
(byte) level_bcd#13 level_bcd zp ZP_BYTE:23 2.6666666666666665
|
||||
(byte) level_bcd#14 level_bcd zp ZP_BYTE:23 1.6666666666666665
|
||||
(byte) level_bcd#16 level_bcd zp ZP_BYTE:23 2.25925925925926
|
||||
(byte) level_bcd#21 level_bcd zp ZP_BYTE:23 6.0
|
||||
(byte) level_bcd#4 level_bcd zp ZP_BYTE:23 4.0
|
||||
(byte) level_bcd#13 level_bcd zp ZP_BYTE:25 2.313725490196078
|
||||
(byte) level_bcd#15 level_bcd zp ZP_BYTE:25 1.3333333333333333
|
||||
(byte) level_bcd#17 level_bcd zp ZP_BYTE:25 2.6666666666666665
|
||||
(byte) level_bcd#18 level_bcd zp ZP_BYTE:25 2.0
|
||||
(byte) level_bcd#20 level_bcd zp ZP_BYTE:25 2.0677966101694913
|
||||
(byte) level_bcd#25 level_bcd zp ZP_BYTE:25 6.0
|
||||
(byte) level_bcd#6 level_bcd zp ZP_BYTE:25 4.0
|
||||
(word) lines_bcd
|
||||
(word) lines_bcd#11 lines_bcd zp ZP_WORD:17 2.352941176470588
|
||||
(word) lines_bcd#13 lines_bcd zp ZP_WORD:17 1.6666666666666665
|
||||
(word) lines_bcd#13 lines_bcd zp ZP_WORD:17 1.3333333333333333
|
||||
(word) lines_bcd#15 lines_bcd zp ZP_WORD:17 2.5416666666666656
|
||||
(word) lines_bcd#20 lines_bcd zp ZP_WORD:17 6.0
|
||||
(word) lines_bcd#23 lines_bcd zp ZP_WORD:17 1.0
|
||||
@ -501,8 +516,8 @@
|
||||
(byte) main::key_event
|
||||
(byte) main::key_event#0 key_event zp ZP_BYTE:15 36.72727272727273
|
||||
(byte) main::render
|
||||
(byte) main::render#1 render zp ZP_BYTE:37 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:37 40.4
|
||||
(byte) main::render#1 render zp ZP_BYTE:39 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:39 40.4
|
||||
(byte) main::render#3 reg byte a 202.0
|
||||
(byte()) play_collision((byte) play_collision::xpos , (byte) play_collision::ypos , (byte) play_collision::orientation)
|
||||
(byte~) play_collision::$7 reg byte a 20002.0
|
||||
@ -525,7 +540,7 @@
|
||||
(byte) play_collision::col#2 col zp ZP_BYTE:14 6375.75
|
||||
(byte~) play_collision::col#9 col zp ZP_BYTE:14 2002.0
|
||||
(byte) play_collision::i
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:38 1615.6153846153845
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:40 1615.6153846153845
|
||||
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:13 2002.0
|
||||
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:13 20002.0
|
||||
(byte) play_collision::i#2 i#2 zp ZP_BYTE:13 15502.0
|
||||
@ -565,6 +580,12 @@
|
||||
(byte) play_collision::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
|
||||
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:11 500.5
|
||||
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:11 867.0666666666667
|
||||
(void()) play_increase_level()
|
||||
(byte~) play_increase_level::$1 reg byte a 4.0
|
||||
(label) play_increase_level::@2
|
||||
(label) play_increase_level::@4
|
||||
(label) play_increase_level::@6
|
||||
(label) play_increase_level::@return
|
||||
(void()) play_init()
|
||||
(byte~) play_init::$1 reg byte a 22.0
|
||||
(label) play_init::@1
|
||||
@ -734,13 +755,11 @@
|
||||
(byte~) play_update_score::$2 reg byte a 4.0
|
||||
(byte~) play_update_score::$4 reg byte a 4.0
|
||||
(byte~) play_update_score::$5 reg byte a 4.0
|
||||
(byte~) play_update_score::$9 reg byte a 4.0
|
||||
(label) play_update_score::@3
|
||||
(label) play_update_score::@4
|
||||
(label) play_update_score::@5
|
||||
(label) play_update_score::@6
|
||||
(label) play_update_score::@return
|
||||
(dword) play_update_score::add_bcd
|
||||
(dword) play_update_score::add_bcd#0 add_bcd zp ZP_DWORD:39 1.3333333333333333
|
||||
(dword) play_update_score::add_bcd#0 add_bcd zp ZP_DWORD:41 1.3333333333333333
|
||||
(byte) play_update_score::lines_after
|
||||
(byte) play_update_score::lines_after#0 reg byte a 4.0
|
||||
(byte) play_update_score::lines_before
|
||||
@ -788,42 +807,6 @@
|
||||
(byte*) render_bcd::screen_pos#1 screen_pos zp ZP_WORD:7 20.0
|
||||
(byte*) render_bcd::screen_pos#2 screen_pos zp ZP_WORD:7 4.0
|
||||
(byte*) render_bcd::screen_pos#3 screen_pos zp ZP_WORD:7 2.0
|
||||
(void()) render_current()
|
||||
(byte~) render_current::$5 reg byte a 202.0
|
||||
(label) render_current::@1
|
||||
(label) render_current::@10
|
||||
(label) render_current::@13
|
||||
(label) render_current::@2
|
||||
(label) render_current::@3
|
||||
(label) render_current::@4
|
||||
(label) render_current::@5
|
||||
(label) render_current::@7
|
||||
(label) render_current::@9
|
||||
(label) render_current::@return
|
||||
(byte) render_current::c
|
||||
(byte) render_current::c#1 c zp ZP_BYTE:15 1501.5
|
||||
(byte) render_current::c#2 c zp ZP_BYTE:15 286.0
|
||||
(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:13 202.0
|
||||
(byte) render_current::i#10 i zp ZP_BYTE:13 429.0
|
||||
(byte) render_current::i#3 i zp ZP_BYTE:13 50.5
|
||||
(byte) render_current::i#4 i zp ZP_BYTE:13 1552.0
|
||||
(byte) render_current::i#8 i zp ZP_BYTE:13 300.75
|
||||
(byte) render_current::l
|
||||
(byte) render_current::l#1 l zp ZP_BYTE:12 151.5
|
||||
(byte) render_current::l#4 l zp ZP_BYTE:12 11.222222222222221
|
||||
(byte*) render_current::screen_line
|
||||
(byte*) render_current::screen_line#0 screen_line zp ZP_WORD:7 100.18181818181819
|
||||
(byte) render_current::xpos
|
||||
(byte) render_current::xpos#0 xpos zp ZP_BYTE:14 202.0
|
||||
(byte) render_current::xpos#1 xpos zp ZP_BYTE:14 667.3333333333334
|
||||
(byte) render_current::xpos#2 xpos zp ZP_BYTE:14 684.1666666666667
|
||||
(byte) render_current::ypos2
|
||||
(byte) render_current::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
|
||||
(byte) render_current::ypos2#1 ypos2 zp ZP_BYTE:11 67.33333333333333
|
||||
(byte) render_current::ypos2#2 ypos2 zp ZP_BYTE:11 29.823529411764707
|
||||
(void()) render_init()
|
||||
(byte~) render_init::$13 reg byte a 22.0
|
||||
(byte~) render_init::$14 reg byte a 22.0
|
||||
@ -852,6 +835,42 @@
|
||||
(byte*) render_init::vicSelectGfxBank1_toDd001_gfx
|
||||
(byte) render_init::vicSelectGfxBank1_toDd001_return
|
||||
(const byte) render_init::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = (byte/signed byte/word/signed word/dword/signed dword) 3^>((word))(const byte*) PLAYFIELD_CHARSET#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(void()) render_moving()
|
||||
(byte~) render_moving::$5 reg byte a 202.0
|
||||
(label) render_moving::@1
|
||||
(label) render_moving::@10
|
||||
(label) render_moving::@13
|
||||
(label) render_moving::@2
|
||||
(label) render_moving::@3
|
||||
(label) render_moving::@4
|
||||
(label) render_moving::@5
|
||||
(label) render_moving::@7
|
||||
(label) render_moving::@9
|
||||
(label) render_moving::@return
|
||||
(byte) render_moving::c
|
||||
(byte) render_moving::c#1 c zp ZP_BYTE:15 1501.5
|
||||
(byte) render_moving::c#2 c zp ZP_BYTE:15 286.0
|
||||
(byte) render_moving::current_cell
|
||||
(byte) render_moving::current_cell#0 reg byte a 1001.0
|
||||
(byte) render_moving::i
|
||||
(byte) render_moving::i#1 i zp ZP_BYTE:13 202.0
|
||||
(byte) render_moving::i#10 i zp ZP_BYTE:13 429.0
|
||||
(byte) render_moving::i#3 i zp ZP_BYTE:13 50.5
|
||||
(byte) render_moving::i#4 i zp ZP_BYTE:13 1552.0
|
||||
(byte) render_moving::i#8 i zp ZP_BYTE:13 300.75
|
||||
(byte) render_moving::l
|
||||
(byte) render_moving::l#1 l zp ZP_BYTE:12 151.5
|
||||
(byte) render_moving::l#4 l zp ZP_BYTE:12 11.222222222222221
|
||||
(byte*) render_moving::screen_line
|
||||
(byte*) render_moving::screen_line#0 screen_line zp ZP_WORD:7 100.18181818181819
|
||||
(byte) render_moving::xpos
|
||||
(byte) render_moving::xpos#0 xpos zp ZP_BYTE:14 202.0
|
||||
(byte) render_moving::xpos#1 xpos zp ZP_BYTE:14 667.3333333333334
|
||||
(byte) render_moving::xpos#2 xpos zp ZP_BYTE:14 684.1666666666667
|
||||
(byte) render_moving::ypos2
|
||||
(byte) render_moving::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
|
||||
(byte) render_moving::ypos2#1 ypos2 zp ZP_BYTE:11 67.33333333333333
|
||||
(byte) render_moving::ypos2#2 ypos2 zp ZP_BYTE:11 29.823529411764707
|
||||
(void()) render_playfield()
|
||||
(byte~) render_playfield::$2 reg byte a 202.0
|
||||
(byte~) render_playfield::$3 reg byte a 202.0
|
||||
@ -902,13 +921,13 @@
|
||||
(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::cols
|
||||
(byte*) render_screen_original::cols#1 cols zp ZP_WORD:24 101.0
|
||||
(byte*) render_screen_original::cols#2 cols zp ZP_WORD:24 75.75
|
||||
(byte*) render_screen_original::cols#3 cols zp ZP_WORD:24 42.599999999999994
|
||||
(byte*) render_screen_original::cols#4 cols zp ZP_WORD:24 78.5
|
||||
(byte*) render_screen_original::cols#5 cols zp ZP_WORD:24 80.8
|
||||
(byte*) render_screen_original::cols#6 cols zp ZP_WORD:24 101.0
|
||||
(byte*) render_screen_original::cols#7 cols zp ZP_WORD:24 22.0
|
||||
(byte*) render_screen_original::cols#1 cols zp ZP_WORD:26 101.0
|
||||
(byte*) render_screen_original::cols#2 cols zp ZP_WORD:26 75.75
|
||||
(byte*) render_screen_original::cols#3 cols zp ZP_WORD:26 42.599999999999994
|
||||
(byte*) render_screen_original::cols#4 cols zp ZP_WORD:26 78.5
|
||||
(byte*) render_screen_original::cols#5 cols zp ZP_WORD:26 80.8
|
||||
(byte*) render_screen_original::cols#6 cols zp ZP_WORD:26 101.0
|
||||
(byte*) render_screen_original::cols#7 cols zp ZP_WORD:26 22.0
|
||||
(byte*) render_screen_original::ocols
|
||||
(byte*) render_screen_original::ocols#1 ocols zp ZP_WORD:7 17.75
|
||||
(byte*) render_screen_original::ocols#2 ocols zp ZP_WORD:7 67.33333333333333
|
||||
@ -947,8 +966,8 @@
|
||||
(byte) render_screen_show#13 render_screen_show zp ZP_BYTE:2 4.333333333333333
|
||||
(byte) render_screen_show#16 render_screen_show zp ZP_BYTE:2 0.37777777777777777
|
||||
(byte) render_screen_showing
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:33 0.5
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:33 20.0
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:35 0.5
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:35 20.0
|
||||
(void()) render_screen_swap()
|
||||
(label) render_screen_swap::@return
|
||||
(void()) render_show()
|
||||
@ -988,10 +1007,10 @@
|
||||
(const dword[]) score_add_bcd#0 score_add_bcd = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 64, (word/signed word/dword/signed dword) 256, (word/signed word/dword/signed dword) 768, (word/signed word/dword/signed dword) 4608 }
|
||||
(dword) score_bcd
|
||||
(dword) score_bcd#10 score_bcd zp ZP_DWORD:19 4.0
|
||||
(dword) score_bcd#12 score_bcd zp ZP_DWORD:19 1.6666666666666665
|
||||
(dword) score_bcd#12 score_bcd zp ZP_DWORD:19 1.3333333333333333
|
||||
(dword) score_bcd#14 score_bcd zp ZP_DWORD:19 2.4489795918367347
|
||||
(dword) score_bcd#20 score_bcd zp ZP_DWORD:19 6.0
|
||||
(dword) score_bcd#23 score_bcd zp ZP_DWORD:19 0.8888888888888888
|
||||
(dword) score_bcd#23 score_bcd zp ZP_DWORD:19 0.8571428571428571
|
||||
(byte*[PLAYFIELD_LINES#0]) screen_lines_1
|
||||
(const byte*[PLAYFIELD_LINES#0]) screen_lines_1#0 screen_lines_1 = { fill( PLAYFIELD_LINES#0, 0) }
|
||||
(byte*[PLAYFIELD_LINES#0]) screen_lines_2
|
||||
@ -1061,18 +1080,18 @@ zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 play_init::idx#2 play
|
||||
zp ZP_BYTE:3 [ render_screen_render#17 render_screen_render#11 ]
|
||||
zp ZP_BYTE:4 [ 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_spawn_current::$3 play_update_score::lines_before#0 ]
|
||||
zp ZP_WORD:5 [ render_score::screen#2 render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 current_piece_gfx#53 current_piece_gfx#102 current_piece_gfx#103 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#76 current_piece#77 current_piece#78 current_piece#79 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::li_1#2 render_init::li_1#1 render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 play_lock_current::playfield_line#0 ]
|
||||
zp ZP_WORD:7 [ render_bcd::offset#6 render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 render_bcd::screen_pos#1 render_init::li_2#2 render_init::li_2#1 render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 render_current::screen_line#0 play_collision::playfield_line#0 ]
|
||||
zp ZP_WORD:7 [ render_bcd::offset#6 render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 render_bcd::screen_pos#1 render_init::li_2#2 render_init::li_2#1 render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 render_moving::screen_line#0 play_collision::playfield_line#0 ]
|
||||
reg byte y [ render_bcd::only_low#6 ]
|
||||
reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ]
|
||||
reg byte y [ current_ypos#9 current_ypos#86 current_ypos#87 ]
|
||||
zp ZP_BYTE:9 [ render_screen_render#30 render_screen_render#64 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::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#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_BYTE:10 [ current_xpos#47 current_xpos#112 current_xpos#113 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::x#2 play_remove_lines::x#1 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 ]
|
||||
reg byte x [ current_piece_char#64 current_piece_char#90 current_piece_char#91 ]
|
||||
zp ZP_BYTE:11 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 render_playfield::c#2 render_playfield::c#1 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:12 [ render_current::l#4 render_current::l#1 play_collision::l#6 play_collision::l#1 play_remove_lines::c#0 ]
|
||||
zp ZP_BYTE:13 [ 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:14 [ 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:15 [ render_current::c#2 render_current::c#1 main::key_event#0 ]
|
||||
zp ZP_BYTE:11 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 render_playfield::c#2 render_playfield::c#1 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:12 [ render_moving::l#4 render_moving::l#1 play_collision::l#6 play_collision::l#1 play_remove_lines::c#0 ]
|
||||
zp ZP_BYTE:13 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#10 render_moving::i#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
|
||||
zp ZP_BYTE:14 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
|
||||
zp ZP_BYTE:15 [ render_moving::c#2 render_moving::c#1 main::key_event#0 ]
|
||||
reg byte x [ render_screen_render#21 render_screen_render#65 ]
|
||||
reg byte a [ play_move_rotate::return#1 ]
|
||||
reg byte x [ play_collision::orientation#4 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
@ -1084,12 +1103,14 @@ reg byte x [ play_move_down::movedown#6 play_move_down::movedown#3 play_move_dow
|
||||
zp ZP_BYTE:16 [ current_ypos#29 current_ypos#21 current_ypos#18 current_ypos#13 current_ypos#0 play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
|
||||
zp ZP_WORD:17 [ lines_bcd#20 lines_bcd#13 lines_bcd#15 lines_bcd#11 lines_bcd#23 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
||||
zp ZP_DWORD:19 [ score_bcd#20 score_bcd#12 score_bcd#14 score_bcd#10 score_bcd#23 ]
|
||||
zp ZP_BYTE:23 [ level_bcd#21 level_bcd#14 level_bcd#16 level_bcd#11 level_bcd#13 level_bcd#4 ]
|
||||
zp ZP_WORD:24 [ current_piece#20 current_piece#80 current_piece#16 current_piece#73 current_piece#10 render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ]
|
||||
zp ZP_BYTE:26 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
|
||||
zp ZP_WORD:27 [ current_piece_gfx#26 current_piece_gfx#20 current_piece_gfx#16 current_piece_gfx#14 current_piece_gfx#3 current_piece_gfx#1 ]
|
||||
zp ZP_BYTE:29 [ current_xpos#33 current_xpos#10 current_xpos#23 current_xpos#19 current_xpos#4 current_xpos#1 current_xpos#2 ]
|
||||
zp ZP_BYTE:30 [ current_piece_char#20 current_piece_char#15 current_piece_char#12 current_piece_char#1 ]
|
||||
zp ZP_BYTE:23 [ level#24 level#14 level#19 level#12 level#16 ]
|
||||
zp ZP_BYTE:24 [ current_movedown_slow#30 current_movedown_slow#19 current_movedown_slow#12 current_movedown_slow#1 current_movedown_slow#17 current_movedown_slow#20 current_movedown_slow#8 ]
|
||||
zp ZP_BYTE:25 [ level_bcd#25 level_bcd#15 level_bcd#20 level_bcd#13 level_bcd#18 level_bcd#17 level_bcd#6 ]
|
||||
zp ZP_WORD:26 [ current_piece#20 current_piece#80 current_piece#16 current_piece#73 current_piece#10 render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ]
|
||||
zp ZP_BYTE:28 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
|
||||
zp ZP_WORD:29 [ current_piece_gfx#26 current_piece_gfx#20 current_piece_gfx#16 current_piece_gfx#14 current_piece_gfx#3 current_piece_gfx#1 ]
|
||||
zp ZP_BYTE:31 [ current_xpos#33 current_xpos#10 current_xpos#23 current_xpos#19 current_xpos#4 current_xpos#1 current_xpos#2 ]
|
||||
zp ZP_BYTE:32 [ current_piece_char#20 current_piece_char#15 current_piece_char#12 current_piece_char#1 ]
|
||||
reg byte x [ play_move_down::return#2 ]
|
||||
reg byte x [ play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
|
||||
reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
||||
@ -1098,23 +1119,23 @@ reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ]
|
||||
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
reg byte x [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ]
|
||||
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
zp ZP_BYTE:31 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
|
||||
zp ZP_BYTE:33 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
|
||||
reg byte a [ render_show::d018val#3 ]
|
||||
reg byte x [ play_init::j#2 play_init::j#1 ]
|
||||
reg byte x [ sprites_init::s#2 sprites_init::s#1 ]
|
||||
reg byte x [ render_init::i#2 render_init::i#1 ]
|
||||
reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ]
|
||||
zp ZP_BYTE:32 [ irq_raster_next#13 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
zp ZP_BYTE:34 [ irq_raster_next#13 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
reg byte x [ sprites_irq::raster_next#2 sprites_irq::raster_next#1 sprites_irq::raster_next#0 ]
|
||||
zp ZP_BYTE:33 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:34 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:35 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:36 [ irq_cnt#0 irq_cnt#1 irq_cnt#14 ]
|
||||
zp ZP_BYTE:35 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:36 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:37 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:38 [ irq_cnt#0 irq_cnt#1 irq_cnt#14 ]
|
||||
reg byte a [ keyboard_event_get::return#3 ]
|
||||
reg byte a [ play_move_down::key_event#0 ]
|
||||
reg byte a [ play_move_down::return#3 ]
|
||||
reg byte a [ main::$12 ]
|
||||
zp ZP_BYTE:37 [ main::render#1 main::render#2 ]
|
||||
zp ZP_BYTE:39 [ main::render#1 main::render#2 ]
|
||||
reg byte a [ play_move_leftright::key_event#0 ]
|
||||
reg byte a [ play_move_leftright::return#4 ]
|
||||
reg byte a [ main::$13 ]
|
||||
@ -1126,15 +1147,15 @@ reg byte a [ render_bcd::$3 ]
|
||||
reg byte a [ render_bcd::$4 ]
|
||||
reg byte a [ render_bcd::$5 ]
|
||||
reg byte a [ render_bcd::$6 ]
|
||||
reg byte a [ render_current::$5 ]
|
||||
reg byte a [ render_current::current_cell#0 ]
|
||||
reg byte a [ render_moving::$5 ]
|
||||
reg byte a [ render_moving::current_cell#0 ]
|
||||
reg byte a [ render_playfield::$2 ]
|
||||
reg byte a [ render_playfield::$3 ]
|
||||
reg byte a [ play_move_rotate::$2 ]
|
||||
reg byte a [ play_collision::return#13 ]
|
||||
reg byte a [ play_move_rotate::$6 ]
|
||||
reg byte a [ play_move_rotate::$4 ]
|
||||
zp ZP_BYTE:38 [ play_collision::i#1 ]
|
||||
zp ZP_BYTE:40 [ play_collision::i#1 ]
|
||||
reg byte a [ play_collision::$7 ]
|
||||
reg byte a [ play_collision::return#12 ]
|
||||
reg byte a [ play_move_leftright::$4 ]
|
||||
@ -1152,10 +1173,10 @@ reg byte a [ play_spawn_current::$1 ]
|
||||
reg byte a [ sid_rnd::return#0 ]
|
||||
reg byte a [ play_update_score::$2 ]
|
||||
reg byte a [ play_update_score::$4 ]
|
||||
zp ZP_DWORD:39 [ play_update_score::add_bcd#0 ]
|
||||
zp ZP_DWORD:41 [ play_update_score::add_bcd#0 ]
|
||||
reg byte a [ play_update_score::$5 ]
|
||||
reg byte a [ play_update_score::lines_after#0 ]
|
||||
reg byte a [ play_update_score::$9 ]
|
||||
reg byte a [ play_increase_level::$1 ]
|
||||
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