mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-20 00:29:10 +00:00
Added score calculation (plus some missing fragments and handling of dword array initializers).
This commit is contained in:
parent
30ad94dda3
commit
638ef22c63
8
src/main/fragment/vduz1=pduc1_derefidx_vbuxx.asm
Normal file
8
src/main/fragment/vduz1=pduc1_derefidx_vbuxx.asm
Normal file
@ -0,0 +1,8 @@
|
||||
lda {c1},x
|
||||
sta {z1}
|
||||
lda {c1}+1,x
|
||||
sta {z1}+1
|
||||
lda {c1}+2,x
|
||||
sta {z1}+2
|
||||
lda {c1}+3,x
|
||||
sta {z1}+3
|
8
src/main/fragment/vduz1=pduc1_derefidx_vbuyy.asm
Normal file
8
src/main/fragment/vduz1=pduc1_derefidx_vbuyy.asm
Normal file
@ -0,0 +1,8 @@
|
||||
lda {c1},y
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
sta {z1}+1
|
||||
lda {c1}+2,y
|
||||
sta {z1}+2
|
||||
lda {c1}+3,y
|
||||
sta {z1}+3
|
@ -284,6 +284,9 @@ public class Pass4CodeGeneration {
|
||||
} else if(SymbolType.isWord(elementType) || SymbolType.isSWord(elementType)) {
|
||||
asm.addDataNumeric(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.WORD, asmElements);
|
||||
added.add(asmName);
|
||||
} else if(SymbolType.isDWord(elementType) || SymbolType.isSDWord(elementType)) {
|
||||
asm.addDataNumeric(asmName.replace("#", "_").replace("$", "_"), AsmDataNumeric.Type.DWORD, asmElements);
|
||||
added.add(asmName);
|
||||
} else {
|
||||
throw new RuntimeException("Unhandled constant array element type " + constantArrayList.toString(program));
|
||||
}
|
||||
|
@ -41,3 +41,7 @@ byte render_screen_render = $40;
|
||||
byte render_screen_show = 0;
|
||||
// The screen currently being showed to the user. $00 for screen 1 / $40 for screen 2.
|
||||
volatile byte render_screen_showing = 0;
|
||||
|
||||
// Current score in BCD-format
|
||||
dword score_bcd = 0;
|
||||
|
||||
|
@ -25,6 +25,23 @@ const byte current_movedown_fast = 5;
|
||||
// Counts up to the next movedown of current piece
|
||||
byte current_movedown_counter = 0;
|
||||
|
||||
// Score values for removing 0-4 lines (in BCD)
|
||||
dword[] score_add_bcd = { $0000, $0040, $0100, $0300, $1200 };
|
||||
|
||||
// Initialize play data tables
|
||||
void play_init() {
|
||||
// Initialize the playfield line pointers;
|
||||
byte idx = 0;
|
||||
byte* pli = playfield;
|
||||
for(byte j:0..PLAYFIELD_LINES-1) {
|
||||
playfield_lines[j<<1] = pli;
|
||||
playfield_lines_idx[j] = idx;
|
||||
pli += PLAYFIELD_COLS;
|
||||
idx += PLAYFIELD_COLS;
|
||||
}
|
||||
playfield_lines_idx[PLAYFIELD_LINES] = PLAYFIELD_COLS*PLAYFIELD_LINES;
|
||||
}
|
||||
|
||||
// Move down the current piece
|
||||
// Return non-zero if a render is needed
|
||||
byte play_move_down(byte key_event) {
|
||||
@ -54,7 +71,9 @@ byte play_move_down(byte key_event) {
|
||||
// Lock current piece
|
||||
play_lock_current();
|
||||
// Check for any lines and remove them
|
||||
play_remove_lines();
|
||||
byte removed = play_remove_lines();
|
||||
// Tally up the score
|
||||
play_update_score(removed);
|
||||
// Spawn a new piece
|
||||
play_spawn_current();
|
||||
}
|
||||
@ -183,11 +202,13 @@ void play_spawn_current() {
|
||||
// Look through the playfield for lines - and remove any lines found
|
||||
// Utilizes two cursors on the playfield - one reading cells and one writing cells
|
||||
// Whenever a full line is detected the writing cursor is instructed to write to the same line once more.
|
||||
void play_remove_lines() {
|
||||
// Returns the number of lines removed
|
||||
byte play_remove_lines() {
|
||||
// Start both cursors at the end of the playfield
|
||||
byte r = PLAYFIELD_LINES*PLAYFIELD_COLS-1;
|
||||
byte w = PLAYFIELD_LINES*PLAYFIELD_COLS-1;
|
||||
|
||||
byte removed = 0;
|
||||
// Read all lines and rewrite them
|
||||
for(byte y:0..PLAYFIELD_LINES-1) {
|
||||
byte full = 1;
|
||||
@ -198,9 +219,10 @@ void play_remove_lines() {
|
||||
}
|
||||
playfield[w--] = c;
|
||||
}
|
||||
// If the line is full then re-write it.
|
||||
// If a line is full then re-write it.
|
||||
if(full==1) {
|
||||
w = w + PLAYFIELD_COLS;
|
||||
removed++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -208,18 +230,17 @@ void play_remove_lines() {
|
||||
while(w!=$ff) {
|
||||
playfield[w--] = 0;
|
||||
}
|
||||
// Return the number of removed lines
|
||||
return removed;
|
||||
}
|
||||
|
||||
// Initialize data tables
|
||||
void play_init() {
|
||||
// Initialize the playfield line pointers;
|
||||
byte idx = 0;
|
||||
byte* pli = playfield;
|
||||
for(byte j:0..PLAYFIELD_LINES-1) {
|
||||
playfield_lines[j<<1] = pli;
|
||||
playfield_lines_idx[j] = idx;
|
||||
pli += PLAYFIELD_COLS;
|
||||
idx += PLAYFIELD_COLS;
|
||||
}
|
||||
playfield_lines_idx[PLAYFIELD_LINES] = PLAYFIELD_COLS*PLAYFIELD_LINES;
|
||||
// Update the score based on the number of lines removed
|
||||
void play_update_score(byte removed) {
|
||||
if(removed!=0){
|
||||
dword add_bcd = score_add_bcd[removed<<2];
|
||||
asm { sed }
|
||||
score_bcd += add_bcd;
|
||||
asm { cld }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,9 +66,8 @@ void sprites_irq_init() {
|
||||
// Raster Interrupt Routine - sets up the sprites covering the playfield
|
||||
// Repeats 10 timers every 21 lines from line IRQ_RASTER_FIRST
|
||||
interrupt(hardware_clobber) void sprites_irq() {
|
||||
|
||||
//*BORDERCOL = DARK_GREY;
|
||||
|
||||
// Clear decimal flag (because it is used by the score algorithm)
|
||||
asm { cld }
|
||||
// Place the sprites
|
||||
byte ypos = irq_sprite_ypos;
|
||||
SPRITES_YPOS[0] = ypos;
|
||||
@ -114,6 +113,4 @@ interrupt(hardware_clobber) void sprites_irq() {
|
||||
// Acknowledge the IRQ and setup the next one
|
||||
*IRQ_STATUS = IRQ_RASTER;
|
||||
|
||||
//*BORDERCOL = BLACK;
|
||||
|
||||
}
|
||||
|
@ -124,6 +124,7 @@ sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
cld
|
||||
lda irq_sprite_ypos
|
||||
sta SPRITES_YPOS
|
||||
sta SPRITES_YPOS+2
|
||||
|
@ -95,69 +95,70 @@ sprites_init::@return: scope:[sprites_init] from sprites_init::@1
|
||||
[44] return
|
||||
to:@return
|
||||
sprites_irq: scope:[sprites_irq] from
|
||||
[45] (byte) sprites_irq::ypos#0 ← (byte) irq_sprite_ypos#0
|
||||
[46] *((const byte*) SPRITES_YPOS#0) ← (byte) sprites_irq::ypos#0
|
||||
[47] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ypos#0
|
||||
[48] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (byte) sprites_irq::ypos#0
|
||||
[49] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) sprites_irq::ypos#0
|
||||
asm { cld }
|
||||
[46] (byte) sprites_irq::ypos#0 ← (byte) irq_sprite_ypos#0
|
||||
[47] *((const byte*) SPRITES_YPOS#0) ← (byte) sprites_irq::ypos#0
|
||||
[48] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ypos#0
|
||||
[49] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (byte) sprites_irq::ypos#0
|
||||
[50] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) sprites_irq::ypos#0
|
||||
to:sprites_irq::@1
|
||||
sprites_irq::@1: scope:[sprites_irq] from sprites_irq sprites_irq::@1
|
||||
[50] if(*((const byte*) RASTER#0)<(byte) irq_sprite_ypos#0) goto sprites_irq::@1
|
||||
[51] if(*((const byte*) RASTER#0)<(byte) irq_sprite_ypos#0) goto sprites_irq::@1
|
||||
to:sprites_irq::@7
|
||||
sprites_irq::@7: scope:[sprites_irq] from sprites_irq::@1
|
||||
[51] (byte) sprites_irq::ptr#0 ← (byte) irq_sprite_ptr#0
|
||||
[52] if((byte) render_screen_showing#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sprites_irq::@2
|
||||
[52] (byte) sprites_irq::ptr#0 ← (byte) irq_sprite_ptr#0
|
||||
[53] if((byte) render_screen_showing#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sprites_irq::@2
|
||||
to:sprites_irq::@8
|
||||
sprites_irq::@8: scope:[sprites_irq] from sprites_irq::@7
|
||||
[53] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0) ← (byte) sprites_irq::ptr#0
|
||||
[54] (byte) sprites_irq::ptr#3 ← ++ (byte) sprites_irq::ptr#0
|
||||
[55] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#3
|
||||
[56] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#3
|
||||
[57] (byte) sprites_irq::ptr#4 ← ++ (byte) sprites_irq::ptr#3
|
||||
[58] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#4
|
||||
[54] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0) ← (byte) sprites_irq::ptr#0
|
||||
[55] (byte) sprites_irq::ptr#3 ← ++ (byte) sprites_irq::ptr#0
|
||||
[56] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#3
|
||||
[57] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#3
|
||||
[58] (byte) sprites_irq::ptr#4 ← ++ (byte) sprites_irq::ptr#3
|
||||
[59] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#4
|
||||
to:sprites_irq::@3
|
||||
sprites_irq::@3: scope:[sprites_irq] from sprites_irq::@2 sprites_irq::@8
|
||||
[59] (byte) irq_cnt#1 ← ++ (byte) irq_cnt#0
|
||||
[60] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 10) goto sprites_irq::@4
|
||||
[60] (byte) irq_cnt#1 ← ++ (byte) irq_cnt#0
|
||||
[61] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 10) goto sprites_irq::@4
|
||||
to:sprites_irq::@10
|
||||
sprites_irq::@10: scope:[sprites_irq] from sprites_irq::@3
|
||||
[61] (byte) irq_raster_next#2 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[62] (byte) irq_sprite_ypos#2 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[63] (byte) irq_sprite_ptr#2 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
[62] (byte) irq_raster_next#2 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[63] (byte) irq_sprite_ypos#2 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[64] (byte) irq_sprite_ptr#2 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:sprites_irq::@5
|
||||
sprites_irq::@5: scope:[sprites_irq] from sprites_irq::@10 sprites_irq::@13
|
||||
[64] (byte) irq_raster_next#13 ← phi( sprites_irq::@10/(byte) irq_raster_next#2 sprites_irq::@13/(byte) irq_raster_next#1 )
|
||||
[65] (byte) sprites_irq::raster_next#0 ← (byte) irq_raster_next#13
|
||||
[66] (byte~) sprites_irq::$4 ← (byte) sprites_irq::raster_next#0 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[67] if((byte~) sprites_irq::$4!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto sprites_irq::@6
|
||||
[65] (byte) irq_raster_next#13 ← phi( sprites_irq::@10/(byte) irq_raster_next#2 sprites_irq::@13/(byte) irq_raster_next#1 )
|
||||
[66] (byte) sprites_irq::raster_next#0 ← (byte) irq_raster_next#13
|
||||
[67] (byte~) sprites_irq::$4 ← (byte) sprites_irq::raster_next#0 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[68] if((byte~) sprites_irq::$4!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto sprites_irq::@6
|
||||
to:sprites_irq::@12
|
||||
sprites_irq::@12: scope:[sprites_irq] from sprites_irq::@5
|
||||
[68] (byte) sprites_irq::raster_next#1 ← (byte) sprites_irq::raster_next#0 - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[69] (byte) sprites_irq::raster_next#1 ← (byte) sprites_irq::raster_next#0 - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:sprites_irq::@6
|
||||
sprites_irq::@6: scope:[sprites_irq] from sprites_irq::@12 sprites_irq::@5
|
||||
[69] (byte) sprites_irq::raster_next#2 ← phi( sprites_irq::@12/(byte) sprites_irq::raster_next#1 sprites_irq::@5/(byte) sprites_irq::raster_next#0 )
|
||||
[70] *((const byte*) RASTER#0) ← (byte) sprites_irq::raster_next#2
|
||||
[71] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
[70] (byte) sprites_irq::raster_next#2 ← phi( sprites_irq::@12/(byte) sprites_irq::raster_next#1 sprites_irq::@5/(byte) sprites_irq::raster_next#0 )
|
||||
[71] *((const byte*) RASTER#0) ← (byte) sprites_irq::raster_next#2
|
||||
[72] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:sprites_irq::@return
|
||||
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@6
|
||||
[72] return
|
||||
[73] return
|
||||
to:@return
|
||||
sprites_irq::@4: scope:[sprites_irq] from sprites_irq::@3
|
||||
[73] (byte) irq_cnt#14 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[74] (byte) irq_raster_next#1 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[75] (byte) irq_sprite_ypos#1 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
[74] (byte) irq_cnt#14 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[75] (byte) irq_raster_next#1 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[76] (byte) irq_sprite_ypos#1 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
to:sprites_irq::toSpritePtr2
|
||||
sprites_irq::toSpritePtr2: scope:[sprites_irq] from sprites_irq::@4
|
||||
[76] phi()
|
||||
[77] phi()
|
||||
to:sprites_irq::@13
|
||||
sprites_irq::@13: scope:[sprites_irq] from sprites_irq::toSpritePtr2
|
||||
[77] (byte) irq_sprite_ptr#1 ← (const byte) sprites_irq::toSpritePtr2_return#0
|
||||
[78] (byte) irq_sprite_ptr#1 ← (const byte) sprites_irq::toSpritePtr2_return#0
|
||||
to:sprites_irq::@5
|
||||
sprites_irq::@2: scope:[sprites_irq] from sprites_irq::@7
|
||||
[78] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0) ← (byte) sprites_irq::ptr#0
|
||||
[79] (byte) sprites_irq::ptr#1 ← ++ (byte) sprites_irq::ptr#0
|
||||
[80] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#1
|
||||
[81] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#1
|
||||
[82] (byte) sprites_irq::ptr#2 ← ++ (byte) sprites_irq::ptr#1
|
||||
[83] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#2
|
||||
[79] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0) ← (byte) sprites_irq::ptr#0
|
||||
[80] (byte) sprites_irq::ptr#1 ← ++ (byte) sprites_irq::ptr#0
|
||||
[81] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#1
|
||||
[82] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#1
|
||||
[83] (byte) sprites_irq::ptr#2 ← ++ (byte) sprites_irq::ptr#1
|
||||
[84] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#2
|
||||
to:sprites_irq::@3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -132,20 +132,20 @@
|
||||
(byte) current_xpos
|
||||
(byte) current_ypos
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:7 0.2
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:7 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:7 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:7 20.0
|
||||
(byte) irq_raster_next
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:3 0.18181818181818182
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:3 0.17391304347826086
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:3 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:3 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:3 1.3333333333333333
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:6 0.25
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:6 0.24
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:6 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:6 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.7391304347826086
|
||||
(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
|
||||
(void()) main()
|
||||
@ -182,7 +182,8 @@
|
||||
(byte) render_screen_render
|
||||
(byte) render_screen_show
|
||||
(byte) render_screen_showing
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:4 0.5714285714285714
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:4 0.5
|
||||
(dword) score_bcd
|
||||
(void()) sprites_init()
|
||||
(label) sprites_init::@1
|
||||
(label) sprites_init::@return
|
||||
|
@ -76,34 +76,35 @@
|
||||
.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 = $16
|
||||
.label render_screen_showing = $1a
|
||||
.label irq_raster_next = $19
|
||||
.label irq_sprite_ypos = $1b
|
||||
.label irq_sprite_ptr = $1c
|
||||
.label irq_cnt = $1d
|
||||
.label keyboard_events_size = $1a
|
||||
.label render_screen_showing = $1e
|
||||
.label irq_raster_next = $1d
|
||||
.label irq_sprite_ypos = $1f
|
||||
.label irq_sprite_ptr = $20
|
||||
.label irq_cnt = $21
|
||||
.label current_movedown_counter = 4
|
||||
.label current_ypos = $e
|
||||
.label current_piece_gfx = $12
|
||||
.label current_xpos = $14
|
||||
.label current_piece_char = $15
|
||||
.label current_orientation = $11
|
||||
.label score_bcd = $f
|
||||
.label current_piece_gfx = $16
|
||||
.label current_xpos = $18
|
||||
.label current_piece_char = $19
|
||||
.label current_orientation = $15
|
||||
.label render_screen_render = 3
|
||||
.label render_screen_show = 2
|
||||
.label current_piece = $f
|
||||
.label current_piece = $13
|
||||
.label current_piece_12 = 7
|
||||
.label render_screen_render_28 = 5
|
||||
.label current_xpos_47 = 6
|
||||
.label current_piece_gfx_53 = 7
|
||||
.label render_screen_render_62 = 5
|
||||
.label current_xpos_110 = 6
|
||||
.label current_xpos_111 = 6
|
||||
.label current_piece_gfx_100 = 7
|
||||
.label current_xpos_112 = 6
|
||||
.label current_piece_gfx_101 = 7
|
||||
.label current_piece_74 = 7
|
||||
.label current_piece_gfx_102 = 7
|
||||
.label current_piece_75 = 7
|
||||
.label current_piece_76 = 7
|
||||
.label current_piece_77 = 7
|
||||
.label current_piece_78 = 7
|
||||
bbegin:
|
||||
lda #0
|
||||
sta render_screen_showing
|
||||
@ -118,7 +119,7 @@ bbegin:
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $d
|
||||
.label render = $1e
|
||||
.label render = $22
|
||||
jsr sid_rnd_init
|
||||
sei
|
||||
jsr render_init
|
||||
@ -130,11 +131,11 @@ main: {
|
||||
jsr render_playfield
|
||||
ldy current_ypos
|
||||
lda current_xpos
|
||||
sta current_xpos_110
|
||||
sta current_xpos_111
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_100
|
||||
sta current_piece_gfx_101
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_100+1
|
||||
sta current_piece_gfx_101+1
|
||||
ldx current_piece_char
|
||||
lda #$40
|
||||
sta render_screen_render_28
|
||||
@ -145,6 +146,10 @@ main: {
|
||||
lda PIECES+1,y
|
||||
sta current_piece+1
|
||||
lda #0
|
||||
sta score_bcd
|
||||
sta score_bcd+1
|
||||
sta score_bcd+2
|
||||
sta score_bcd+3
|
||||
sta current_movedown_counter
|
||||
sta keyboard_events_size
|
||||
sta current_orientation
|
||||
@ -182,11 +187,11 @@ main: {
|
||||
lda render_screen_render
|
||||
sta render_screen_render_62
|
||||
lda current_xpos
|
||||
sta current_xpos_111
|
||||
sta current_xpos_112
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_101
|
||||
sta current_piece_gfx_102
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_101+1
|
||||
sta current_piece_gfx_102+1
|
||||
ldx current_piece_char
|
||||
jsr render_current
|
||||
jsr render_screen_swap
|
||||
@ -203,7 +208,7 @@ render_screen_swap: {
|
||||
}
|
||||
render_current: {
|
||||
.label ypos2 = 9
|
||||
.label screen_line = $17
|
||||
.label screen_line = $1b
|
||||
.label xpos = $c
|
||||
.label i = $b
|
||||
.label l = $a
|
||||
@ -337,9 +342,9 @@ play_move_rotate: {
|
||||
ldy current_ypos
|
||||
ldx orientation
|
||||
lda current_piece
|
||||
sta current_piece_77
|
||||
sta current_piece_78
|
||||
lda current_piece+1
|
||||
sta current_piece_77+1
|
||||
sta current_piece_78+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -365,8 +370,8 @@ play_collision: {
|
||||
.label xpos = 6
|
||||
.label piece_gfx = 7
|
||||
.label ypos2 = 9
|
||||
.label playfield_line = $17
|
||||
.label i = $1f
|
||||
.label playfield_line = $1b
|
||||
.label i = $23
|
||||
.label col = $c
|
||||
.label l = $a
|
||||
.label i_2 = $b
|
||||
@ -464,9 +469,9 @@ play_move_leftright: {
|
||||
ldy current_ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_76
|
||||
sta current_piece_77
|
||||
lda current_piece+1
|
||||
sta current_piece_76+1
|
||||
sta current_piece_77+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -485,9 +490,9 @@ play_move_leftright: {
|
||||
ldy current_ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_75
|
||||
sta current_piece_76
|
||||
lda current_piece+1
|
||||
sta current_piece_75+1
|
||||
sta current_piece_76+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -526,14 +531,16 @@ play_move_down: {
|
||||
sta play_collision.xpos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_74
|
||||
sta current_piece_75
|
||||
lda current_piece+1
|
||||
sta current_piece_74+1
|
||||
sta current_piece_75+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
beq b6
|
||||
jsr play_lock_current
|
||||
jsr play_remove_lines
|
||||
lda play_remove_lines.removed
|
||||
jsr play_update_score
|
||||
jsr play_spawn_current
|
||||
ldy play_spawn_current._3
|
||||
lda PIECES,y
|
||||
@ -586,12 +593,47 @@ sid_rnd: {
|
||||
lda SID_VOICE3_OSC
|
||||
rts
|
||||
}
|
||||
play_update_score: {
|
||||
.label add_bcd = $24
|
||||
cmp #0
|
||||
beq breturn
|
||||
asl
|
||||
asl
|
||||
tay
|
||||
lda score_add_bcd,y
|
||||
sta add_bcd
|
||||
lda score_add_bcd+1,y
|
||||
sta add_bcd+1
|
||||
lda score_add_bcd+2,y
|
||||
sta add_bcd+2
|
||||
lda score_add_bcd+3,y
|
||||
sta add_bcd+3
|
||||
sed
|
||||
lda score_bcd
|
||||
clc
|
||||
adc add_bcd
|
||||
sta score_bcd
|
||||
lda score_bcd+1
|
||||
adc add_bcd+1
|
||||
sta score_bcd+1
|
||||
lda score_bcd+2
|
||||
adc add_bcd+2
|
||||
sta score_bcd+2
|
||||
lda score_bcd+3
|
||||
adc add_bcd+3
|
||||
sta score_bcd+3
|
||||
cld
|
||||
breturn:
|
||||
rts
|
||||
}
|
||||
play_remove_lines: {
|
||||
.label c = 9
|
||||
.label x = 5
|
||||
.label c = $a
|
||||
.label x = 6
|
||||
.label y = 4
|
||||
.label full = 6
|
||||
.label removed = 5
|
||||
.label full = 9
|
||||
lda #0
|
||||
sta removed
|
||||
sta y
|
||||
ldx #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
||||
ldy #PLAYFIELD_LINES*PLAYFIELD_COLS-1
|
||||
@ -623,6 +665,7 @@ play_remove_lines: {
|
||||
clc
|
||||
adc #PLAYFIELD_COLS
|
||||
tax
|
||||
inc removed
|
||||
b4:
|
||||
inc y
|
||||
lda y
|
||||
@ -939,7 +982,7 @@ sprites_init: {
|
||||
render_init: {
|
||||
.const vicSelectGfxBank1_toDd001_return = 3^(>PLAYFIELD_CHARSET)>>6
|
||||
.label li_1 = 7
|
||||
.label li_2 = $f
|
||||
.label li_2 = $13
|
||||
lda #3
|
||||
sta CIA2_PORT_A_DDR
|
||||
lda #vicSelectGfxBank1_toDd001_return
|
||||
@ -1010,10 +1053,10 @@ render_init: {
|
||||
}
|
||||
render_screen_original: {
|
||||
.const SPACE = 0
|
||||
.label screen = $12
|
||||
.label cols = $17
|
||||
.label screen = $16
|
||||
.label cols = $1b
|
||||
.label oscr = 7
|
||||
.label ocols = $f
|
||||
.label ocols = $13
|
||||
.label y = 2
|
||||
lda #0
|
||||
sta y
|
||||
@ -1112,6 +1155,7 @@ sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
cld
|
||||
lda irq_sprite_ypos
|
||||
sta SPRITES_YPOS
|
||||
sta SPRITES_YPOS+2
|
||||
@ -1207,6 +1251,7 @@ sprites_irq: {
|
||||
PIECES_CHARS: .byte $64, $65, $a5, $65, $64, $64, $a5
|
||||
PIECES_START_X: .byte 4, 4, 4, 4, 4, 3, 4
|
||||
PIECES_START_Y: .byte 2, 1, 1, 1, 2, 0, 1
|
||||
score_add_bcd: .dword 0, $40, $100, $300, $1200
|
||||
.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) @20
|
||||
(label) @21
|
||||
(label) @32
|
||||
(label) @33
|
||||
(label) @34
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -286,50 +286,50 @@
|
||||
(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_orientation
|
||||
(byte) current_orientation#10 current_orientation zp ZP_BYTE:17 3.371428571428571
|
||||
(byte) current_orientation#14 current_orientation zp ZP_BYTE:17 0.32653061224489793
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:17 6.941176470588235
|
||||
(byte) current_orientation#29 current_orientation zp ZP_BYTE:17 4.0
|
||||
(byte) current_orientation#4 current_orientation zp ZP_BYTE:17 3.0
|
||||
(byte) current_orientation#10 current_orientation zp ZP_BYTE:21 3.371428571428571
|
||||
(byte) current_orientation#14 current_orientation zp ZP_BYTE:21 0.32653061224489793
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:21 6.941176470588235
|
||||
(byte) current_orientation#29 current_orientation zp ZP_BYTE:21 4.0
|
||||
(byte) current_orientation#4 current_orientation zp ZP_BYTE:21 3.0
|
||||
(byte*) current_piece
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:15 1.8235294117647054
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:19 1.8235294117647054
|
||||
(byte*) current_piece#12 current_piece#12 zp ZP_WORD:7 10.0
|
||||
(byte*) current_piece#16 current_piece zp ZP_WORD:15 3.428571428571428
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:15 6.0
|
||||
(byte*~) current_piece#71 current_piece zp ZP_WORD:15 4.0
|
||||
(byte*~) current_piece#74 current_piece#74 zp ZP_WORD:7 4.0
|
||||
(byte*) current_piece#16 current_piece zp ZP_WORD:19 3.428571428571428
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:19 6.0
|
||||
(byte*~) current_piece#72 current_piece zp ZP_WORD:19 4.0
|
||||
(byte*~) current_piece#75 current_piece#75 zp ZP_WORD:7 4.0
|
||||
(byte*~) current_piece#76 current_piece#76 zp ZP_WORD:7 4.0
|
||||
(byte*~) current_piece#77 current_piece#77 zp ZP_WORD:7 4.0
|
||||
(byte*~) current_piece#78 current_piece zp ZP_WORD:15 4.0
|
||||
(byte*~) current_piece#78 current_piece#78 zp ZP_WORD:7 4.0
|
||||
(byte*~) current_piece#79 current_piece zp ZP_WORD:19 4.0
|
||||
(byte) current_piece_char
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:21 4.703703703703704
|
||||
(byte) current_piece_char#12 current_piece_char zp ZP_BYTE:21 0.6153846153846154
|
||||
(byte) current_piece_char#15 current_piece_char zp ZP_BYTE:21 194.59615384615384
|
||||
(byte) current_piece_char#20 current_piece_char zp ZP_BYTE:21 6.0
|
||||
(byte) current_piece_char#63 reg byte x 46.09090909090909
|
||||
(byte~) current_piece_char#88 reg byte x 4.0
|
||||
(byte~) current_piece_char#89 reg byte x 22.0
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:25 4.703703703703704
|
||||
(byte) current_piece_char#12 current_piece_char zp ZP_BYTE:25 0.6153846153846154
|
||||
(byte) current_piece_char#15 current_piece_char zp ZP_BYTE:25 194.59615384615384
|
||||
(byte) current_piece_char#20 current_piece_char zp ZP_BYTE:25 6.0
|
||||
(byte) current_piece_char#64 reg byte x 46.09090909090909
|
||||
(byte~) current_piece_char#89 reg byte x 4.0
|
||||
(byte~) current_piece_char#90 reg byte x 22.0
|
||||
(byte*) current_piece_gfx
|
||||
(byte*) current_piece_gfx#1 current_piece_gfx zp ZP_WORD:18 0.2962962962962963
|
||||
(byte*~) current_piece_gfx#100 current_piece_gfx#100 zp ZP_WORD:7 2.0
|
||||
(byte*~) current_piece_gfx#101 current_piece_gfx#101 zp ZP_WORD:7 11.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:18 7.588235294117647
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:18 0.5
|
||||
(byte*) current_piece_gfx#20 current_piece_gfx zp ZP_WORD:18 194.59615384615384
|
||||
(byte*) current_piece_gfx#26 current_piece_gfx zp ZP_WORD:18 6.0
|
||||
(byte*) current_piece_gfx#3 current_piece_gfx zp ZP_WORD:18 4.0
|
||||
(byte*) current_piece_gfx#1 current_piece_gfx zp ZP_WORD:22 0.2962962962962963
|
||||
(byte*~) current_piece_gfx#101 current_piece_gfx#101 zp ZP_WORD:7 2.0
|
||||
(byte*~) current_piece_gfx#102 current_piece_gfx#102 zp ZP_WORD:7 11.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:22 7.588235294117647
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:22 0.5
|
||||
(byte*) current_piece_gfx#20 current_piece_gfx zp ZP_WORD:22 194.59615384615384
|
||||
(byte*) current_piece_gfx#26 current_piece_gfx zp ZP_WORD:22 6.0
|
||||
(byte*) current_piece_gfx#3 current_piece_gfx zp ZP_WORD:22 4.0
|
||||
(byte*) current_piece_gfx#53 current_piece_gfx#53 zp ZP_WORD:7 46.09090909090909
|
||||
(byte) current_xpos
|
||||
(byte) current_xpos#1 current_xpos zp ZP_BYTE:20 0.72
|
||||
(byte) current_xpos#10 current_xpos zp ZP_BYTE:20 21.557692307692307
|
||||
(byte~) current_xpos#110 current_xpos#110 zp ZP_BYTE:6 1.3333333333333333
|
||||
(byte~) current_xpos#111 current_xpos#111 zp ZP_BYTE:6 7.333333333333333
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:20 3.2926829268292686
|
||||
(byte) current_xpos#2 current_xpos zp ZP_BYTE:20 4.0
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:20 0.5333333333333333
|
||||
(byte) current_xpos#33 current_xpos zp ZP_BYTE:20 6.0
|
||||
(byte) current_xpos#4 current_xpos zp ZP_BYTE:20 4.0
|
||||
(byte) current_xpos#1 current_xpos zp ZP_BYTE:24 0.72
|
||||
(byte) current_xpos#10 current_xpos zp ZP_BYTE:24 21.557692307692307
|
||||
(byte~) current_xpos#111 current_xpos#111 zp ZP_BYTE:6 1.3333333333333333
|
||||
(byte~) current_xpos#112 current_xpos#112 zp ZP_BYTE:6 7.333333333333333
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:24 3.2926829268292686
|
||||
(byte) current_xpos#2 current_xpos zp ZP_BYTE:24 4.0
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:24 0.5333333333333333
|
||||
(byte) current_xpos#33 current_xpos zp ZP_BYTE:24 6.0
|
||||
(byte) current_xpos#4 current_xpos zp ZP_BYTE:24 4.0
|
||||
(byte) current_xpos#47 current_xpos#47 zp ZP_BYTE:6 5.181818181818182
|
||||
(byte) current_ypos
|
||||
(byte) current_ypos#0 current_ypos zp ZP_BYTE:14 4.0
|
||||
@ -337,26 +337,26 @@
|
||||
(byte) current_ypos#18 current_ypos zp ZP_BYTE:14 0.5714285714285714
|
||||
(byte) current_ypos#21 current_ypos zp ZP_BYTE:14 3.485714285714285
|
||||
(byte) current_ypos#29 current_ypos zp ZP_BYTE:14 6.0
|
||||
(byte~) current_ypos#84 reg byte y 1.0
|
||||
(byte~) current_ypos#85 reg byte y 4.4
|
||||
(byte~) current_ypos#85 reg byte y 1.0
|
||||
(byte~) current_ypos#86 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:29 0.2
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:29 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:29 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:33 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:33 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:33 20.0
|
||||
(byte) irq_raster_next
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:25 0.18181818181818182
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:25 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:25 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:25 1.3333333333333333
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:29 0.17391304347826086
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:29 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:29 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:29 1.3333333333333333
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:28 0.25
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:28 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:28 20.0
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:32 0.24
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:32 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:32 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:27 0.7391304347826086
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:27 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:27 20.0
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:31 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:31 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:31 20.0
|
||||
(byte[]) keyboard_char_keycodes
|
||||
(byte()) keyboard_event_get()
|
||||
(label) keyboard_event_get::@3
|
||||
@ -431,15 +431,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:22 20002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:22 8100.9000000000015
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:22 97.06451612903226
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:22 3.741935483870968
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:22 18.999999999999996
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:22 20002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:22 429.2857142857143
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:22 10201.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:22 3.0
|
||||
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:26 20002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:26 8100.9000000000015
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:26 97.06451612903226
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:26 3.741935483870968
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:26 18.999999999999996
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:26 20002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:26 429.2857142857143
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:26 10201.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:26 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)
|
||||
@ -487,8 +487,8 @@
|
||||
(byte) main::key_event
|
||||
(byte) main::key_event#0 key_event zp ZP_BYTE:13 36.72727272727273
|
||||
(byte) main::render
|
||||
(byte) main::render#1 render zp ZP_BYTE:30 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:30 40.4
|
||||
(byte) main::render#1 render zp ZP_BYTE:34 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:34 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
|
||||
@ -511,7 +511,7 @@
|
||||
(byte) play_collision::col#2 col zp ZP_BYTE:12 6375.75
|
||||
(byte~) play_collision::col#9 col zp ZP_BYTE:12 2002.0
|
||||
(byte) play_collision::i
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:31 1615.6153846153845
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:35 1615.6153846153845
|
||||
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:11 2002.0
|
||||
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:11 20002.0
|
||||
(byte) play_collision::i#2 i#2 zp ZP_BYTE:11 15502.0
|
||||
@ -528,7 +528,7 @@
|
||||
(byte*) play_collision::piece_gfx
|
||||
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:7 476.3333333333333
|
||||
(byte*) play_collision::playfield_line
|
||||
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:23 785.8571428571429
|
||||
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:27 785.8571428571429
|
||||
(byte) play_collision::return
|
||||
(byte) play_collision::return#0 reg byte a 4.0
|
||||
(byte) play_collision::return#1 reg byte a 4.0
|
||||
@ -609,6 +609,7 @@
|
||||
(label) play_move_down::@19
|
||||
(label) play_move_down::@2
|
||||
(label) play_move_down::@20
|
||||
(label) play_move_down::@21
|
||||
(label) play_move_down::@4
|
||||
(label) play_move_down::@6
|
||||
(label) play_move_down::@7
|
||||
@ -623,6 +624,8 @@
|
||||
(byte) play_move_down::movedown#3 reg byte x 4.0
|
||||
(byte) play_move_down::movedown#6 reg byte x 6.0
|
||||
(byte) play_move_down::movedown#7 reg byte x 5.0
|
||||
(byte) play_move_down::removed
|
||||
(byte) play_move_down::removed#0 reg byte a 4.0
|
||||
(byte) play_move_down::return
|
||||
(byte) play_move_down::return#2 reg byte x 33.666666666666664
|
||||
(byte) play_move_down::return#3 reg byte a 202.0
|
||||
@ -662,10 +665,10 @@
|
||||
(byte) play_move_rotate::return
|
||||
(byte) play_move_rotate::return#1 reg byte a 33.666666666666664
|
||||
(byte) play_move_rotate::return#4 reg byte a 202.0
|
||||
(void()) play_remove_lines()
|
||||
(byte()) play_remove_lines()
|
||||
(label) play_remove_lines::@1
|
||||
(label) play_remove_lines::@10
|
||||
(label) play_remove_lines::@17
|
||||
(label) play_remove_lines::@18
|
||||
(label) play_remove_lines::@2
|
||||
(label) play_remove_lines::@3
|
||||
(label) play_remove_lines::@4
|
||||
@ -674,28 +677,34 @@
|
||||
(label) play_remove_lines::@9
|
||||
(label) play_remove_lines::@return
|
||||
(byte) play_remove_lines::c
|
||||
(byte) play_remove_lines::c#0 c zp ZP_BYTE:9 6000.6
|
||||
(byte) play_remove_lines::c#0 c zp ZP_BYTE:10 6000.6
|
||||
(byte) play_remove_lines::full
|
||||
(byte) play_remove_lines::full#2 full zp ZP_BYTE:6 4200.6
|
||||
(byte) play_remove_lines::full#4 full zp ZP_BYTE:6 4000.4
|
||||
(byte) play_remove_lines::full#2 full zp ZP_BYTE:9 4200.6
|
||||
(byte) play_remove_lines::full#4 full zp ZP_BYTE:9 4000.4
|
||||
(byte) play_remove_lines::r
|
||||
(byte) play_remove_lines::r#1 reg byte y 1615.6153846153845
|
||||
(byte) play_remove_lines::r#1 reg byte y 1500.2142857142858
|
||||
(byte) play_remove_lines::r#2 reg byte y 15502.0
|
||||
(byte) play_remove_lines::r#3 reg byte y 2002.0
|
||||
(byte) play_remove_lines::removed
|
||||
(byte) play_remove_lines::removed#1 removed zp ZP_BYTE:5 2002.0
|
||||
(byte) play_remove_lines::removed#11 removed zp ZP_BYTE:5 231.0
|
||||
(byte) play_remove_lines::removed#7 removed zp ZP_BYTE:5 333.8888888888889
|
||||
(byte) play_remove_lines::return
|
||||
(byte) play_remove_lines::return#0 reg byte a 4.0
|
||||
(byte) play_remove_lines::w
|
||||
(byte) play_remove_lines::w#1 reg byte x 5501.0
|
||||
(byte) play_remove_lines::w#11 reg byte x 1334.6666666666667
|
||||
(byte) play_remove_lines::w#12 reg byte x 2002.0
|
||||
(byte) play_remove_lines::w#2 reg byte x 2002.0
|
||||
(byte) play_remove_lines::w#2 reg byte x 1001.0
|
||||
(byte) play_remove_lines::w#3 reg byte x 2002.0
|
||||
(byte) play_remove_lines::w#4 reg byte x 4429.142857142857
|
||||
(byte) play_remove_lines::w#6 reg byte x 1668.3333333333335
|
||||
(byte) play_remove_lines::x
|
||||
(byte) play_remove_lines::x#1 x zp ZP_BYTE:5 15001.5
|
||||
(byte) play_remove_lines::x#2 x zp ZP_BYTE:5 2500.25
|
||||
(byte) play_remove_lines::x#1 x zp ZP_BYTE:6 15001.5
|
||||
(byte) play_remove_lines::x#2 x zp ZP_BYTE:6 2500.25
|
||||
(byte) play_remove_lines::y
|
||||
(byte) play_remove_lines::y#1 y zp ZP_BYTE:4 1501.5
|
||||
(byte) play_remove_lines::y#8 y zp ZP_BYTE:4 143.0
|
||||
(byte) play_remove_lines::y#8 y zp ZP_BYTE:4 133.46666666666667
|
||||
(void()) play_spawn_current()
|
||||
(byte~) play_spawn_current::$1 reg byte a 2002.0
|
||||
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:4 0.13333333333333333
|
||||
@ -707,6 +716,14 @@
|
||||
(byte) play_spawn_current::piece_idx
|
||||
(byte) play_spawn_current::piece_idx#1 reg byte x 2002.0
|
||||
(byte) play_spawn_current::piece_idx#2 reg byte x 334.99999999999994
|
||||
(void()) play_update_score((byte) play_update_score::removed)
|
||||
(byte~) play_update_score::$2 reg byte a 4.0
|
||||
(label) play_update_score::@2
|
||||
(label) play_update_score::@return
|
||||
(dword) play_update_score::add_bcd
|
||||
(dword) play_update_score::add_bcd#0 add_bcd zp ZP_DWORD:36 2.0
|
||||
(byte) play_update_score::removed
|
||||
(byte) play_update_score::removed#0 reg byte a 3.0
|
||||
(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
|
||||
@ -740,7 +757,7 @@
|
||||
(byte) render_current::l#1 l zp ZP_BYTE:10 151.5
|
||||
(byte) render_current::l#4 l zp ZP_BYTE:10 11.222222222222221
|
||||
(byte*) render_current::screen_line
|
||||
(byte*) render_current::screen_line#0 screen_line zp ZP_WORD:23 100.18181818181819
|
||||
(byte*) render_current::screen_line#0 screen_line zp ZP_WORD:27 100.18181818181819
|
||||
(byte) render_current::xpos
|
||||
(byte) render_current::xpos#0 xpos zp ZP_BYTE:12 202.0
|
||||
(byte) render_current::xpos#1 xpos zp ZP_BYTE:12 667.3333333333334
|
||||
@ -763,8 +780,8 @@
|
||||
(byte*) render_init::li_1#1 li_1 zp ZP_WORD:7 5.5
|
||||
(byte*) render_init::li_1#2 li_1 zp ZP_WORD:7 6.6000000000000005
|
||||
(byte*) render_init::li_2
|
||||
(byte*) render_init::li_2#1 li_2 zp ZP_WORD:15 7.333333333333333
|
||||
(byte*) render_init::li_2#2 li_2 zp ZP_WORD:15 5.5
|
||||
(byte*) render_init::li_2#1 li_2 zp ZP_WORD:19 7.333333333333333
|
||||
(byte*) render_init::li_2#2 li_2 zp ZP_WORD:19 5.5
|
||||
(label) render_init::vicSelectGfxBank1
|
||||
(byte~) render_init::vicSelectGfxBank1_$0
|
||||
(label) render_init::vicSelectGfxBank1_@1
|
||||
@ -808,30 +825,30 @@
|
||||
(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:23 101.0
|
||||
(byte*) render_screen_original::cols#2 cols zp ZP_WORD:23 75.75
|
||||
(byte*) render_screen_original::cols#3 cols zp ZP_WORD:23 42.599999999999994
|
||||
(byte*) render_screen_original::cols#4 cols zp ZP_WORD:23 78.5
|
||||
(byte*) render_screen_original::cols#5 cols zp ZP_WORD:23 80.8
|
||||
(byte*) render_screen_original::cols#6 cols zp ZP_WORD:23 101.0
|
||||
(byte*) render_screen_original::cols#7 cols zp ZP_WORD:23 22.0
|
||||
(byte*) render_screen_original::cols#1 cols zp ZP_WORD:27 101.0
|
||||
(byte*) render_screen_original::cols#2 cols zp ZP_WORD:27 75.75
|
||||
(byte*) render_screen_original::cols#3 cols zp ZP_WORD:27 42.599999999999994
|
||||
(byte*) render_screen_original::cols#4 cols zp ZP_WORD:27 78.5
|
||||
(byte*) render_screen_original::cols#5 cols zp ZP_WORD:27 80.8
|
||||
(byte*) render_screen_original::cols#6 cols zp ZP_WORD:27 101.0
|
||||
(byte*) render_screen_original::cols#7 cols zp ZP_WORD:27 22.0
|
||||
(byte*) render_screen_original::ocols
|
||||
(byte*) render_screen_original::ocols#1 ocols zp ZP_WORD:15 17.75
|
||||
(byte*) render_screen_original::ocols#2 ocols zp ZP_WORD:15 67.33333333333333
|
||||
(byte*) render_screen_original::ocols#4 ocols zp ZP_WORD:15 14.0
|
||||
(byte*) render_screen_original::ocols#1 ocols zp ZP_WORD:19 17.75
|
||||
(byte*) render_screen_original::ocols#2 ocols zp ZP_WORD:19 67.33333333333333
|
||||
(byte*) render_screen_original::ocols#4 ocols zp ZP_WORD:19 14.0
|
||||
(byte*) render_screen_original::oscr
|
||||
(byte*) render_screen_original::oscr#1 oscr zp ZP_WORD:7 14.2
|
||||
(byte*) render_screen_original::oscr#2 oscr zp ZP_WORD:7 134.66666666666666
|
||||
(byte*) render_screen_original::oscr#4 oscr zp ZP_WORD:7 14.0
|
||||
(byte*) render_screen_original::screen
|
||||
(byte*) render_screen_original::screen#10 screen zp ZP_WORD:18 30.42857142857143
|
||||
(byte*) render_screen_original::screen#2 screen zp ZP_WORD:18 60.599999999999994
|
||||
(byte*) render_screen_original::screen#3 screen zp ZP_WORD:18 43.285714285714285
|
||||
(byte*) render_screen_original::screen#5 screen zp ZP_WORD:18 157.0
|
||||
(byte*) render_screen_original::screen#6 screen zp ZP_WORD:18 202.0
|
||||
(byte*) render_screen_original::screen#7 screen zp ZP_WORD:18 202.0
|
||||
(byte*) render_screen_original::screen#8 screen zp ZP_WORD:18 24.0
|
||||
(byte*) render_screen_original::screen#9 screen zp ZP_WORD:18 2.0
|
||||
(byte*) render_screen_original::screen#10 screen zp ZP_WORD:22 30.42857142857143
|
||||
(byte*) render_screen_original::screen#2 screen zp ZP_WORD:22 60.599999999999994
|
||||
(byte*) render_screen_original::screen#3 screen zp ZP_WORD:22 43.285714285714285
|
||||
(byte*) render_screen_original::screen#5 screen zp ZP_WORD:22 157.0
|
||||
(byte*) render_screen_original::screen#6 screen zp ZP_WORD:22 202.0
|
||||
(byte*) render_screen_original::screen#7 screen zp ZP_WORD:22 202.0
|
||||
(byte*) render_screen_original::screen#8 screen zp ZP_WORD:22 24.0
|
||||
(byte*) render_screen_original::screen#9 screen zp ZP_WORD:22 2.0
|
||||
(byte) render_screen_original::x
|
||||
(byte) render_screen_original::x#1 reg byte x 202.0
|
||||
(byte) render_screen_original::x#2 reg byte x 202.0
|
||||
@ -853,8 +870,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.39534883720930225
|
||||
(byte) render_screen_showing
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:26 0.5714285714285714
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:26 20.0
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:30 0.5
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:30 20.0
|
||||
(void()) render_screen_swap()
|
||||
(label) render_screen_swap::@return
|
||||
(void()) render_show()
|
||||
@ -890,6 +907,14 @@
|
||||
(byte) render_show::toD0182_return
|
||||
(const byte) render_show::toD0182_return#0 toD0182_return = >((word))(const byte*) PLAYFIELD_SCREEN_2#0&(word/signed word/dword/signed dword) 16383<<(byte/signed byte/word/signed word/dword/signed dword) 2|>((word))(const byte*) PLAYFIELD_CHARSET#0>>(byte/signed byte/word/signed word/dword/signed dword) 2&(byte/signed byte/word/signed word/dword/signed dword) 15
|
||||
(byte*) render_show::toD0182_screen
|
||||
(dword[]) score_add_bcd
|
||||
(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#11 score_bcd zp ZP_DWORD:15 1.0
|
||||
(dword) score_bcd#13 score_bcd zp ZP_DWORD:15 2.608695652173914
|
||||
(dword) score_bcd#17 score_bcd zp ZP_DWORD:15 6.0
|
||||
(dword) score_bcd#2 score_bcd zp ZP_DWORD:15 4.296296296296297
|
||||
(dword) score_bcd#3 score_bcd zp ZP_DWORD:15 2.0
|
||||
(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
|
||||
@ -958,13 +983,13 @@ interrupt(HARDWARE_CLOBBER)(void()) sprites_irq()
|
||||
zp ZP_BYTE:2 [ render_screen_show#16 render_screen_show#13 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
zp ZP_BYTE:3 [ render_screen_render#16 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 ]
|
||||
reg byte y [ current_ypos#9 current_ypos#84 current_ypos#85 ]
|
||||
zp ZP_BYTE:5 [ render_screen_render#28 render_screen_render#62 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_BYTE:6 [ current_xpos#47 current_xpos#110 current_xpos#111 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_WORD:7 [ current_piece_gfx#53 current_piece_gfx#100 current_piece_gfx#101 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#74 current_piece#75 current_piece#76 current_piece#77 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 ]
|
||||
reg byte x [ current_piece_char#63 current_piece_char#88 current_piece_char#89 ]
|
||||
zp ZP_BYTE:9 [ 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::c#0 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:10 [ render_current::l#4 render_current::l#1 play_collision::l#6 play_collision::l#1 ]
|
||||
reg byte y [ current_ypos#9 current_ypos#85 current_ypos#86 ]
|
||||
zp ZP_BYTE:5 [ render_screen_render#28 render_screen_render#62 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:6 [ current_xpos#47 current_xpos#111 current_xpos#112 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 ]
|
||||
zp ZP_WORD:7 [ current_piece_gfx#53 current_piece_gfx#101 current_piece_gfx#102 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#75 current_piece#76 current_piece#77 current_piece#78 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 ]
|
||||
reg byte x [ current_piece_char#64 current_piece_char#89 current_piece_char#90 ]
|
||||
zp ZP_BYTE:9 [ 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:10 [ render_current::l#4 render_current::l#1 play_collision::l#6 play_collision::l#1 play_remove_lines::c#0 ]
|
||||
zp ZP_BYTE:11 [ 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:12 [ 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:13 [ render_current::c#2 render_current::c#1 main::key_event#0 ]
|
||||
@ -977,11 +1002,12 @@ 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:14 [ 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:15 [ current_piece#20 current_piece#78 current_piece#16 current_piece#71 current_piece#10 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 ]
|
||||
zp ZP_BYTE:17 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
|
||||
zp ZP_WORD:18 [ current_piece_gfx#26 current_piece_gfx#20 current_piece_gfx#16 current_piece_gfx#14 current_piece_gfx#3 current_piece_gfx#1 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
||||
zp ZP_BYTE:20 [ current_xpos#33 current_xpos#10 current_xpos#23 current_xpos#19 current_xpos#4 current_xpos#1 current_xpos#2 ]
|
||||
zp ZP_BYTE:21 [ current_piece_char#20 current_piece_char#15 current_piece_char#12 current_piece_char#1 ]
|
||||
zp ZP_DWORD:15 [ score_bcd#17 score_bcd#11 score_bcd#13 score_bcd#2 score_bcd#3 ]
|
||||
zp ZP_WORD:19 [ current_piece#20 current_piece#79 current_piece#16 current_piece#72 current_piece#10 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 ]
|
||||
zp ZP_BYTE:21 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
|
||||
zp ZP_WORD:22 [ current_piece_gfx#26 current_piece_gfx#20 current_piece_gfx#16 current_piece_gfx#14 current_piece_gfx#3 current_piece_gfx#1 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
||||
zp ZP_BYTE:24 [ current_xpos#33 current_xpos#10 current_xpos#23 current_xpos#19 current_xpos#4 current_xpos#1 current_xpos#2 ]
|
||||
zp ZP_BYTE:25 [ 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 ]
|
||||
@ -990,24 +1016,24 @@ 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:22 [ 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:26 [ 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 ]
|
||||
zp ZP_WORD:23 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 render_current::screen_line#0 play_collision::playfield_line#0 ]
|
||||
zp ZP_WORD:27 [ render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 render_current::screen_line#0 play_collision::playfield_line#0 ]
|
||||
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:25 [ irq_raster_next#13 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
zp ZP_BYTE:29 [ 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:26 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:27 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:28 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:29 [ irq_cnt#0 irq_cnt#1 irq_cnt#14 ]
|
||||
zp ZP_BYTE:30 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:31 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:32 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:33 [ 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:30 [ main::render#1 main::render#2 ]
|
||||
zp ZP_BYTE:34 [ 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 ]
|
||||
@ -1023,7 +1049,7 @@ 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:31 [ play_collision::i#1 ]
|
||||
zp ZP_BYTE:35 [ play_collision::i#1 ]
|
||||
reg byte a [ play_collision::$7 ]
|
||||
reg byte a [ play_collision::return#12 ]
|
||||
reg byte a [ play_move_leftright::$4 ]
|
||||
@ -1033,9 +1059,14 @@ reg byte a [ keyboard_event_pressed::return#12 ]
|
||||
reg byte a [ play_move_down::$2 ]
|
||||
reg byte a [ play_collision::return#0 ]
|
||||
reg byte a [ play_move_down::$12 ]
|
||||
reg byte a [ play_remove_lines::return#0 ]
|
||||
reg byte a [ play_move_down::removed#0 ]
|
||||
reg byte a [ play_update_score::removed#0 ]
|
||||
reg byte a [ sid_rnd::return#2 ]
|
||||
reg byte a [ play_spawn_current::$1 ]
|
||||
reg byte a [ sid_rnd::return#0 ]
|
||||
reg byte a [ play_update_score::$2 ]
|
||||
zp ZP_DWORD:36 [ play_update_score::add_bcd#0 ]
|
||||
reg byte a [ keyboard_event_pressed::$0 ]
|
||||
reg byte a [ keyboard_event_pressed::$1 ]
|
||||
reg byte a [ keyboard_event_pressed::return#11 ]
|
||||
|
Loading…
x
Reference in New Issue
Block a user