mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-01-02 05:30:53 +00:00
Fixed sprite multiplexer when double buffering.
This commit is contained in:
parent
b1d358403a
commit
76b13d6b55
@ -44,6 +44,17 @@ public class TestPrograms {
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTetrisSprites() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/tetris/test-sprites");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTetris() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/tetris/tetris");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testClobberAProblem() throws IOException, URISyntaxException {
|
||||
compileAndCompare("clobber-a-problem");
|
||||
@ -74,16 +85,6 @@ public class TestPrograms {
|
||||
compileAndCompare("longbranch-interrupt-problem");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTetrisSprites() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/tetris/test-sprites");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTetris() throws IOException, URISyntaxException {
|
||||
compileAndCompare("examples/tetris/tetris");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testVarInitProblem() throws IOException, URISyntaxException {
|
||||
compileAndCompare("var-init-problem");
|
||||
|
@ -31,4 +31,11 @@ byte current_piece_char;
|
||||
|
||||
// Position of top left corner of current moving piece on the playfield
|
||||
byte current_xpos;
|
||||
byte current_ypos;
|
||||
byte current_ypos;
|
||||
|
||||
// The screen currently being rendered to. $00 for screen 1 / $40 for screen 2.
|
||||
byte render_screen_render = $40;
|
||||
// The screen currently to show next to the user. $00 for screen 1 / $40 for screen 2.
|
||||
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;
|
||||
|
@ -16,16 +16,12 @@ kickasm(pc PLAYFIELD_SCREEN_ORIGINAL, resource "nes-screen.iscr") {{
|
||||
align($80) byte*[PLAYFIELD_LINES] screen_lines_1;
|
||||
align($40) byte*[PLAYFIELD_LINES] screen_lines_2;
|
||||
|
||||
// The screen currently being showed to the user. $00 for screen 1 / $40 for screen 2.
|
||||
byte render_screen_show;
|
||||
// The screen currently being rendered to. $00 for screen 1 / $40 for screen 2.
|
||||
byte render_screen_render;
|
||||
|
||||
// Initialize rendering
|
||||
void render_init() {
|
||||
vicSelectGfxBank(PLAYFIELD_CHARSET);
|
||||
// Enable Extended Background Color Mode
|
||||
*D011 = VIC_ECM | VIC_DEN | VIC_RSEL | 3;
|
||||
*BORDERCOL = BLACK;
|
||||
*BGCOL1 = BLACK;
|
||||
*BGCOL2 = BLUE;
|
||||
*BGCOL3 = CYAN;
|
||||
@ -69,6 +65,7 @@ void render_show() {
|
||||
d018val = toD018(PLAYFIELD_SCREEN_2, PLAYFIELD_CHARSET);
|
||||
}
|
||||
*D018 = d018val;
|
||||
render_screen_showing = render_screen_show;
|
||||
}
|
||||
|
||||
// Swap rendering to the other screen (used for double buffering)
|
||||
|
@ -58,16 +58,17 @@ void sprites_irq_init() {
|
||||
// Enable Raster Interrupt
|
||||
*IRQ_ENABLE = IRQ_RASTER;
|
||||
// Set the IRQ routine
|
||||
*HARDWARE_IRQ = &irq;
|
||||
*HARDWARE_IRQ = &sprites_irq;
|
||||
asm { cli }
|
||||
}
|
||||
|
||||
|
||||
// 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 irq() {
|
||||
interrupt(hardware_clobber) void sprites_irq() {
|
||||
|
||||
//*BORDERCOL = DARK_GREY;
|
||||
|
||||
*BORDERCOL = DARK_GREY;
|
||||
// Place the sprites
|
||||
byte ypos = irq_sprite_ypos;
|
||||
SPRITES_YPOS[0] = ypos;
|
||||
@ -77,17 +78,20 @@ interrupt(hardware_clobber) void irq() {
|
||||
|
||||
// Wait for the y-position before changing sprite pointers
|
||||
do {
|
||||
} while(*RASTER!=irq_sprite_ypos);
|
||||
} while(*RASTER<irq_sprite_ypos);
|
||||
|
||||
byte ptr = irq_sprite_ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_1[0] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_2[0] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_1[1] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_2[1] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_1[2] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_2[2] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_1[3] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_2[3] = ptr;
|
||||
if(render_screen_showing==0) {
|
||||
PLAYFIELD_SPRITE_PTRS_1[0] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_1[1] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_1[2] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_1[3] = ptr;
|
||||
} else {
|
||||
PLAYFIELD_SPRITE_PTRS_2[0] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_2[1] = ptr;
|
||||
PLAYFIELD_SPRITE_PTRS_2[2] = ptr++;
|
||||
PLAYFIELD_SPRITE_PTRS_2[3] = ptr;
|
||||
}
|
||||
|
||||
// Find next raster line / sprite positions
|
||||
if(++irq_cnt==10) {
|
||||
@ -110,6 +114,6 @@ interrupt(hardware_clobber) void irq() {
|
||||
// Acknowledge the IRQ and setup the next one
|
||||
*IRQ_STATUS = IRQ_RASTER;
|
||||
|
||||
*BORDERCOL = BLACK;
|
||||
//*BORDERCOL = BLACK;
|
||||
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ void main() {
|
||||
while(true) {
|
||||
// Wait for a frame to pass
|
||||
while(*RASTER!=$ff) {}
|
||||
*BORDERCOL = render_screen_show>>4;
|
||||
//*BORDERCOL = render_screen_show>>4;
|
||||
// Update D018 to show the selected screen
|
||||
render_show();
|
||||
// Scan keyboard events
|
||||
@ -36,6 +36,6 @@ void main() {
|
||||
render_current();
|
||||
render_screen_swap();
|
||||
}
|
||||
*BORDERCOL = 0;
|
||||
//*BORDERCOL = 0;
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,6 @@
|
||||
.label SPRITES_EXPAND_Y = $d017
|
||||
.label SPRITES_MC = $d01c
|
||||
.label SPRITES_EXPAND_X = $d01d
|
||||
.label BORDERCOL = $d020
|
||||
.label SPRITES_COLS = $d027
|
||||
.label VIC_CONTROL = $d011
|
||||
.label D018 = $d018
|
||||
@ -26,7 +25,6 @@
|
||||
.label CIA2_PORT_A_DDR = $dd02
|
||||
.label HARDWARE_IRQ = $fffe
|
||||
.const BLACK = 0
|
||||
.const DARK_GREY = $b
|
||||
.label PLAYFIELD_SCREEN_1 = $400
|
||||
.label PLAYFIELD_SCREEN_2 = $2c00
|
||||
.label PLAYFIELD_SPRITES = $2000
|
||||
@ -37,11 +35,14 @@
|
||||
.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 render_screen_showing = 4
|
||||
.label irq_raster_next = 3
|
||||
.label irq_sprite_ypos = 4
|
||||
.label irq_sprite_ptr = 5
|
||||
.label irq_cnt = 6
|
||||
.label irq_sprite_ypos = 5
|
||||
.label irq_sprite_ptr = 6
|
||||
.label irq_cnt = 7
|
||||
bbegin:
|
||||
lda #0
|
||||
sta render_screen_showing
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
@ -84,9 +85,9 @@ sprites_irq_init: {
|
||||
sta RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_ENABLE
|
||||
lda #<irq
|
||||
lda #<sprites_irq
|
||||
sta HARDWARE_IRQ
|
||||
lda #>irq
|
||||
lda #>sprites_irq
|
||||
sta HARDWARE_IRQ+1
|
||||
cli
|
||||
rts
|
||||
@ -119,12 +120,10 @@ sprites_init: {
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
irq: {
|
||||
sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
lda #DARK_GREY
|
||||
sta BORDERCOL
|
||||
lda irq_sprite_ypos
|
||||
sta SPRITES_YPOS
|
||||
sta SPRITES_YPOS+2
|
||||
@ -133,23 +132,22 @@ irq: {
|
||||
b1:
|
||||
lda RASTER
|
||||
cmp irq_sprite_ypos
|
||||
bne b1
|
||||
lda irq_sprite_ptr
|
||||
sta PLAYFIELD_SPRITE_PTRS_1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2
|
||||
tax
|
||||
bcc b1
|
||||
ldx irq_sprite_ptr
|
||||
lda render_screen_showing
|
||||
cmp #0
|
||||
beq b2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+3
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+3
|
||||
b3:
|
||||
inc irq_cnt
|
||||
lda irq_cnt
|
||||
cmp #$a
|
||||
beq b2
|
||||
beq b4
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_raster_next
|
||||
@ -162,25 +160,23 @@ irq: {
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
b3:
|
||||
b5:
|
||||
ldx irq_raster_next
|
||||
txa
|
||||
and #7
|
||||
cmp #3
|
||||
bne b4
|
||||
bne b6
|
||||
dex
|
||||
b4:
|
||||
b6:
|
||||
stx RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_STATUS
|
||||
lda #BLACK
|
||||
sta BORDERCOL
|
||||
rega:
|
||||
lda #00
|
||||
regx:
|
||||
ldx #00
|
||||
rti
|
||||
b2:
|
||||
b4:
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
lda #IRQ_RASTER_FIRST
|
||||
@ -189,6 +185,17 @@ irq: {
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr2_return
|
||||
sta irq_sprite_ptr
|
||||
jmp b5
|
||||
b2:
|
||||
stx PLAYFIELD_SPRITE_PTRS_1
|
||||
txa
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+2
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b3
|
||||
}
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
|
@ -2,6 +2,7 @@
|
||||
[0] phi()
|
||||
to:@4
|
||||
@4: scope:[] from @begin
|
||||
[1] (byte) render_screen_showing#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
kickasm(location (const byte*) PLAYFIELD_SPRITES#0) {{ .var sprites = LoadPicture("nes-playfield.png", List().add($010101, $000000))
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
@ -16,140 +17,147 @@
|
||||
}}
|
||||
to:@5
|
||||
@5: scope:[] from @4
|
||||
[2] (byte) irq_raster_next#0 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[3] (byte) irq_sprite_ypos#0 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
[3] (byte) irq_raster_next#0 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[4] (byte) irq_sprite_ypos#0 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
to:toSpritePtr1
|
||||
toSpritePtr1: scope:[] from @5
|
||||
[4] phi()
|
||||
[5] phi()
|
||||
to:@9
|
||||
@9: scope:[] from toSpritePtr1
|
||||
[5] (byte) irq_sprite_ptr#0 ← (const byte) toSpritePtr1_return#0
|
||||
[6] (byte) irq_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[6] (byte) irq_sprite_ptr#0 ← (const byte) toSpritePtr1_return#0
|
||||
[7] (byte) irq_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
to:@8
|
||||
@8: scope:[] from @9
|
||||
[7] phi()
|
||||
[8] call main
|
||||
[8] phi()
|
||||
[9] call main
|
||||
to:@end
|
||||
@end: scope:[] from @8
|
||||
[9] phi()
|
||||
main: scope:[main] from @8
|
||||
[10] phi()
|
||||
main: scope:[main] from @8
|
||||
[11] phi()
|
||||
to:main::vicSelectGfxBank1
|
||||
main::vicSelectGfxBank1: scope:[main] from main
|
||||
[11] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
[12] *((const byte*) CIA2_PORT_A_DDR#0) ← (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:main::vicSelectGfxBank1_toDd001
|
||||
main::vicSelectGfxBank1_toDd001: scope:[main] from main::vicSelectGfxBank1
|
||||
[12] phi()
|
||||
[13] phi()
|
||||
to:main::vicSelectGfxBank1_@1
|
||||
main::vicSelectGfxBank1_@1: scope:[main] from main::vicSelectGfxBank1_toDd001
|
||||
[13] *((const byte*) CIA2_PORT_A#0) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0
|
||||
[14] *((const byte*) CIA2_PORT_A#0) ← (const byte) main::vicSelectGfxBank1_toDd001_return#0
|
||||
to:main::toD0181
|
||||
main::toD0181: scope:[main] from main::vicSelectGfxBank1_@1
|
||||
[14] phi()
|
||||
[15] phi()
|
||||
to:main::@8
|
||||
main::@8: scope:[main] from main::toD0181
|
||||
[15] *((const byte*) D018#0) ← (const byte) main::toD0181_return#0
|
||||
[16] call sprites_init
|
||||
[16] *((const byte*) D018#0) ← (const byte) main::toD0181_return#0
|
||||
[17] call sprites_init
|
||||
to:main::@9
|
||||
main::@9: scope:[main] from main::@8
|
||||
[17] phi()
|
||||
[18] call sprites_irq_init
|
||||
[18] phi()
|
||||
[19] call sprites_irq_init
|
||||
to:main::@2
|
||||
main::@2: scope:[main] from main::@2 main::@9
|
||||
[19] *((const byte*) PLAYFIELD_SCREEN_1#0) ← ++ *((const byte*) PLAYFIELD_SCREEN_1#0)
|
||||
[20] *((const byte*) PLAYFIELD_SCREEN_1#0) ← ++ *((const byte*) PLAYFIELD_SCREEN_1#0)
|
||||
to:main::@2
|
||||
sprites_irq_init: scope:[sprites_irq_init] from main::@9
|
||||
asm { sei }
|
||||
[21] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
[22] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
asm { ldaCIA1_INTERRUPT }
|
||||
[23] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
||||
[24] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[25] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
|
||||
[26] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte/signed byte/word/signed word/dword/signed dword) 127
|
||||
[27] *((const byte*) RASTER#0) ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[28] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
|
||||
[29] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
[24] *((const byte*) PROCPORT_DDR#0) ← (const byte) PROCPORT_DDR_MEMORY_MASK#0
|
||||
[25] *((const byte*) PROCPORT#0) ← (const byte) PROCPORT_RAM_IO#0
|
||||
[26] *((const byte*) CIA1_INTERRUPT#0) ← (const byte) CIA_INTERRUPT_CLEAR#0
|
||||
[27] *((const byte*) VIC_CONTROL#0) ← *((const byte*) VIC_CONTROL#0) & (byte/signed byte/word/signed word/dword/signed dword) 127
|
||||
[28] *((const byte*) RASTER#0) ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[29] *((const byte*) IRQ_ENABLE#0) ← (const byte) IRQ_RASTER#0
|
||||
[30] *((const void()**) HARDWARE_IRQ#0) ← &interrupt(HARDWARE_CLOBBER)(void()) sprites_irq()
|
||||
asm { cli }
|
||||
to:sprites_irq_init::@return
|
||||
sprites_irq_init::@return: scope:[sprites_irq_init] from sprites_irq_init
|
||||
[31] return
|
||||
[32] return
|
||||
to:@return
|
||||
sprites_init: scope:[sprites_init] from main::@8
|
||||
[32] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 15
|
||||
[33] *((const byte*) SPRITES_MC#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[34] *((const byte*) SPRITES_EXPAND_Y#0) ← *((const byte*) SPRITES_MC#0)
|
||||
[35] *((const byte*) SPRITES_EXPAND_X#0) ← *((const byte*) SPRITES_EXPAND_Y#0)
|
||||
[33] *((const byte*) SPRITES_ENABLE#0) ← (byte/signed byte/word/signed word/dword/signed dword) 15
|
||||
[34] *((const byte*) SPRITES_MC#0) ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[35] *((const byte*) SPRITES_EXPAND_Y#0) ← *((const byte*) SPRITES_MC#0)
|
||||
[36] *((const byte*) SPRITES_EXPAND_X#0) ← *((const byte*) SPRITES_EXPAND_Y#0)
|
||||
to:sprites_init::@1
|
||||
sprites_init::@1: scope:[sprites_init] from sprites_init sprites_init::@1
|
||||
[36] (byte) sprites_init::xpos#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 15*(byte/signed byte/word/signed word/dword/signed dword) 8 sprites_init::@1/(byte) sprites_init::xpos#1 )
|
||||
[36] (byte) sprites_init::s#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::s#1 )
|
||||
[37] (byte) sprites_init::s2#0 ← (byte) sprites_init::s#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[38] *((const byte*) SPRITES_XPOS#0 + (byte) sprites_init::s2#0) ← (byte) sprites_init::xpos#2
|
||||
[39] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::s#2) ← (const byte) BLACK#0
|
||||
[40] (byte) sprites_init::xpos#1 ← (byte) sprites_init::xpos#2 + (byte/signed byte/word/signed word/dword/signed dword) 24
|
||||
[41] (byte) sprites_init::s#1 ← ++ (byte) sprites_init::s#2
|
||||
[42] if((byte) sprites_init::s#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto sprites_init::@1
|
||||
[37] (byte) sprites_init::xpos#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 24+(byte/signed byte/word/signed word/dword/signed dword) 15*(byte/signed byte/word/signed word/dword/signed dword) 8 sprites_init::@1/(byte) sprites_init::xpos#1 )
|
||||
[37] (byte) sprites_init::s#2 ← phi( sprites_init/(byte/signed byte/word/signed word/dword/signed dword) 0 sprites_init::@1/(byte) sprites_init::s#1 )
|
||||
[38] (byte) sprites_init::s2#0 ← (byte) sprites_init::s#2 << (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[39] *((const byte*) SPRITES_XPOS#0 + (byte) sprites_init::s2#0) ← (byte) sprites_init::xpos#2
|
||||
[40] *((const byte*) SPRITES_COLS#0 + (byte) sprites_init::s#2) ← (const byte) BLACK#0
|
||||
[41] (byte) sprites_init::xpos#1 ← (byte) sprites_init::xpos#2 + (byte/signed byte/word/signed word/dword/signed dword) 24
|
||||
[42] (byte) sprites_init::s#1 ← ++ (byte) sprites_init::s#2
|
||||
[43] if((byte) sprites_init::s#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto sprites_init::@1
|
||||
to:sprites_init::@return
|
||||
sprites_init::@return: scope:[sprites_init] from sprites_init::@1
|
||||
[43] return
|
||||
[44] return
|
||||
to:@return
|
||||
irq: scope:[irq] from
|
||||
[44] *((const byte*) BORDERCOL#0) ← (const byte) DARK_GREY#0
|
||||
[45] (byte) irq::ypos#0 ← (byte) irq_sprite_ypos#0
|
||||
[46] *((const byte*) SPRITES_YPOS#0) ← (byte) irq::ypos#0
|
||||
[47] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) irq::ypos#0
|
||||
[48] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (byte) irq::ypos#0
|
||||
[49] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) irq::ypos#0
|
||||
to:irq::@1
|
||||
irq::@1: scope:[irq] from irq irq::@1
|
||||
[50] if(*((const byte*) RASTER#0)!=(byte) irq_sprite_ypos#0) goto irq::@1
|
||||
to:irq::@5
|
||||
irq::@5: scope:[irq] from irq::@1
|
||||
[51] (byte) irq::ptr#0 ← (byte) irq_sprite_ptr#0
|
||||
[52] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0) ← (byte) irq::ptr#0
|
||||
[53] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0) ← (byte) irq::ptr#0
|
||||
[54] (byte) irq::ptr#1 ← ++ (byte) irq::ptr#0
|
||||
[55] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) irq::ptr#1
|
||||
[56] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) irq::ptr#1
|
||||
[57] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) irq::ptr#1
|
||||
[58] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) irq::ptr#1
|
||||
[59] (byte) irq::ptr#2 ← ++ (byte) irq::ptr#1
|
||||
[60] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) irq::ptr#2
|
||||
[61] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) irq::ptr#2
|
||||
[62] (byte) irq_cnt#1 ← ++ (byte) irq_cnt#0
|
||||
[63] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 10) goto irq::@2
|
||||
to:irq::@6
|
||||
irq::@6: scope:[irq] from irq::@5
|
||||
[64] (byte) irq_raster_next#2 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[65] (byte) irq_sprite_ypos#2 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[66] (byte) irq_sprite_ptr#2 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:irq::@3
|
||||
irq::@3: scope:[irq] from irq::@6 irq::@9
|
||||
[67] (byte) irq_raster_next#12 ← phi( irq::@6/(byte) irq_raster_next#2 irq::@9/(byte) irq_raster_next#1 )
|
||||
[68] (byte) irq::raster_next#0 ← (byte) irq_raster_next#12
|
||||
[69] (byte~) irq::$3 ← (byte) irq::raster_next#0 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[70] if((byte~) irq::$3!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto irq::@4
|
||||
to:irq::@8
|
||||
irq::@8: scope:[irq] from irq::@3
|
||||
[71] (byte) irq::raster_next#1 ← (byte) irq::raster_next#0 - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:irq::@4
|
||||
irq::@4: scope:[irq] from irq::@3 irq::@8
|
||||
[72] (byte) irq::raster_next#2 ← phi( irq::@3/(byte) irq::raster_next#0 irq::@8/(byte) irq::raster_next#1 )
|
||||
[73] *((const byte*) RASTER#0) ← (byte) irq::raster_next#2
|
||||
[74] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
[75] *((const byte*) BORDERCOL#0) ← (const byte) BLACK#0
|
||||
to:irq::@return
|
||||
irq::@return: scope:[irq] from irq::@4
|
||||
[76] 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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
to:sprites_irq::@return
|
||||
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@6
|
||||
[72] return
|
||||
to:@return
|
||||
irq::@2: scope:[irq] from irq::@5
|
||||
[77] (byte) irq_cnt#13 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[78] (byte) irq_raster_next#1 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[79] (byte) irq_sprite_ypos#1 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
to:irq::toSpritePtr2
|
||||
irq::toSpritePtr2: scope:[irq] from irq::@2
|
||||
[80] phi()
|
||||
to:irq::@9
|
||||
irq::@9: scope:[irq] from irq::toSpritePtr2
|
||||
[81] (byte) irq_sprite_ptr#1 ← (const byte) irq::toSpritePtr2_return#0
|
||||
to:irq::@3
|
||||
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
|
||||
to:sprites_irq::toSpritePtr2
|
||||
sprites_irq::toSpritePtr2: scope:[sprites_irq] from sprites_irq::@4
|
||||
[76] 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
|
||||
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
|
||||
to:sprites_irq::@3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,6 @@
|
||||
(const byte) BLACK#0 BLACK = (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
(byte) BLUE
|
||||
(byte*) BORDERCOL
|
||||
(const byte*) BORDERCOL#0 BORDERCOL = ((byte*))(word/dword/signed dword) 53280
|
||||
(byte) BROWN
|
||||
(byte*) CHARGEN
|
||||
(byte*) CIA1_INTERRUPT
|
||||
@ -38,7 +37,6 @@
|
||||
(byte*) D018
|
||||
(const byte*) D018#0 D018 = ((byte*))(word/dword/signed dword) 53272
|
||||
(byte) DARK_GREY
|
||||
(const byte) DARK_GREY#0 DARK_GREY = (byte/signed byte/word/signed word/dword/signed dword) 11
|
||||
(byte) GREEN
|
||||
(byte) GREY
|
||||
(void()**) HARDWARE_IRQ
|
||||
@ -132,51 +130,23 @@
|
||||
(byte*) current_piece_gfx
|
||||
(byte) current_xpos
|
||||
(byte) current_ypos
|
||||
interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte~) irq::$3 reg byte a 4.0
|
||||
(label) irq::@1
|
||||
(label) irq::@2
|
||||
(label) irq::@3
|
||||
(label) irq::@4
|
||||
(label) irq::@5
|
||||
(label) irq::@6
|
||||
(label) irq::@8
|
||||
(label) irq::@9
|
||||
(label) irq::@return
|
||||
(byte) irq::ptr
|
||||
(byte) irq::ptr#0 reg byte a 2.6666666666666665
|
||||
(byte) irq::ptr#1 reg byte x 2.4
|
||||
(byte) irq::ptr#2 reg byte x 3.0
|
||||
(byte) irq::raster_next
|
||||
(byte) irq::raster_next#0 reg byte x 2.6666666666666665
|
||||
(byte) irq::raster_next#1 reg byte x 4.0
|
||||
(byte) irq::raster_next#2 reg byte x 6.0
|
||||
(label) irq::toSpritePtr2
|
||||
(word~) irq::toSpritePtr2_$0
|
||||
(word~) irq::toSpritePtr2_$1
|
||||
(byte~) irq::toSpritePtr2_$2
|
||||
(byte) irq::toSpritePtr2_return
|
||||
(const byte) irq::toSpritePtr2_return#0 toSpritePtr2_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte*) irq::toSpritePtr2_sprite
|
||||
(byte) irq::ypos
|
||||
(byte) irq::ypos#0 reg byte a 2.5
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:6 0.2222222222222222
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:6 4.0
|
||||
(byte) irq_cnt#13 irq_cnt zp ZP_BYTE:6 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:7 0.2
|
||||
(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.2
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:3 0.18181818181818182
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:3 1.0
|
||||
(byte) irq_raster_next#12 irq_raster_next zp ZP_BYTE:3 6.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:5 0.2727272727272727
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:6 0.25
|
||||
(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:4 0.8095238095238095
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:4 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:4 20.0
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.7391304347826086
|
||||
(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()
|
||||
(label) main::@2
|
||||
(label) main::@8
|
||||
@ -208,6 +178,10 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) main::vicSelectGfxBank1_toDd001_return
|
||||
(const byte) main::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = (byte/signed byte/word/signed word/dword/signed dword) 3^>((word))(const byte*) PLAYFIELD_SCREEN_1#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte[PLAYFIELD_LINES#0*PLAYFIELD_COLS#0]) playfield
|
||||
(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
|
||||
(void()) sprites_init()
|
||||
(label) sprites_init::@1
|
||||
(label) sprites_init::@return
|
||||
@ -219,6 +193,39 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) sprites_init::xpos
|
||||
(byte) sprites_init::xpos#1 xpos zp ZP_BYTE:2 7.333333333333333
|
||||
(byte) sprites_init::xpos#2 xpos zp ZP_BYTE:2 8.25
|
||||
interrupt(HARDWARE_CLOBBER)(void()) sprites_irq()
|
||||
(byte~) sprites_irq::$4 reg byte a 4.0
|
||||
(label) sprites_irq::@1
|
||||
(label) sprites_irq::@10
|
||||
(label) sprites_irq::@12
|
||||
(label) sprites_irq::@13
|
||||
(label) sprites_irq::@2
|
||||
(label) sprites_irq::@3
|
||||
(label) sprites_irq::@4
|
||||
(label) sprites_irq::@5
|
||||
(label) sprites_irq::@6
|
||||
(label) sprites_irq::@7
|
||||
(label) sprites_irq::@8
|
||||
(label) sprites_irq::@return
|
||||
(byte) sprites_irq::ptr
|
||||
(byte) sprites_irq::ptr#0 reg byte x 2.5
|
||||
(byte) sprites_irq::ptr#1 reg byte a 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#2 reg byte a 4.0
|
||||
(byte) sprites_irq::ptr#3 reg byte x 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#4 reg byte x 4.0
|
||||
(byte) sprites_irq::raster_next
|
||||
(byte) sprites_irq::raster_next#0 reg byte x 2.6666666666666665
|
||||
(byte) sprites_irq::raster_next#1 reg byte x 4.0
|
||||
(byte) sprites_irq::raster_next#2 reg byte x 6.0
|
||||
(label) sprites_irq::toSpritePtr2
|
||||
(word~) sprites_irq::toSpritePtr2_$0
|
||||
(word~) sprites_irq::toSpritePtr2_$1
|
||||
(byte~) sprites_irq::toSpritePtr2_$2
|
||||
(byte) sprites_irq::toSpritePtr2_return
|
||||
(const byte) sprites_irq::toSpritePtr2_return#0 toSpritePtr2_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte*) sprites_irq::toSpritePtr2_sprite
|
||||
(byte) sprites_irq::ypos
|
||||
(byte) sprites_irq::ypos#0 reg byte a 2.5
|
||||
(void()) sprites_irq_init()
|
||||
(label) sprites_irq_init::@return
|
||||
(label) toSpritePtr1
|
||||
@ -231,14 +238,17 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
|
||||
reg byte x [ sprites_init::s#2 sprites_init::s#1 ]
|
||||
zp ZP_BYTE:2 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
|
||||
zp ZP_BYTE:3 [ irq_raster_next#12 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
reg byte x [ irq::raster_next#2 irq::raster_next#0 irq::raster_next#1 ]
|
||||
zp ZP_BYTE:4 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:5 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:6 [ irq_cnt#0 irq_cnt#1 irq_cnt#13 ]
|
||||
zp ZP_BYTE:3 [ 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:4 [ render_screen_showing#0 ]
|
||||
zp ZP_BYTE:5 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:6 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:7 [ irq_cnt#0 irq_cnt#1 irq_cnt#14 ]
|
||||
reg byte a [ sprites_init::s2#0 ]
|
||||
reg byte a [ irq::ypos#0 ]
|
||||
reg byte a [ irq::ptr#0 ]
|
||||
reg byte x [ irq::ptr#1 ]
|
||||
reg byte x [ irq::ptr#2 ]
|
||||
reg byte a [ irq::$3 ]
|
||||
reg byte a [ sprites_irq::ypos#0 ]
|
||||
reg byte x [ sprites_irq::ptr#0 ]
|
||||
reg byte x [ sprites_irq::ptr#3 ]
|
||||
reg byte x [ sprites_irq::ptr#4 ]
|
||||
reg byte a [ sprites_irq::$4 ]
|
||||
reg byte a [ sprites_irq::ptr#1 ]
|
||||
reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
@ -78,10 +78,11 @@
|
||||
.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 = $18
|
||||
.label irq_raster_next = $17
|
||||
.label irq_sprite_ypos = $18
|
||||
.label irq_sprite_ptr = $19
|
||||
.label irq_cnt = $1a
|
||||
.label irq_sprite_ypos = $19
|
||||
.label irq_sprite_ptr = $1a
|
||||
.label irq_cnt = $1b
|
||||
.label current_movedown_counter = 4
|
||||
.label current_ypos = $e
|
||||
.label current_piece_gfx = $12
|
||||
@ -92,22 +93,21 @@
|
||||
.label render_screen_show = 2
|
||||
.label current_piece = $f
|
||||
.label current_piece_12 = 7
|
||||
.label render_screen_render_27 = 5
|
||||
.label render_screen_render_28 = 5
|
||||
.label current_xpos_47 = 6
|
||||
.label current_piece_gfx_52 = 7
|
||||
.label current_piece_char_62 = 9
|
||||
.label render_screen_render_68 = 5
|
||||
.label current_xpos_109 = 6
|
||||
.label current_piece_gfx_53 = 7
|
||||
.label render_screen_render_62 = 5
|
||||
.label current_xpos_110 = 6
|
||||
.label current_piece_gfx_99 = 7
|
||||
.label current_xpos_111 = 6
|
||||
.label current_piece_gfx_100 = 7
|
||||
.label current_piece_char_87 = 9
|
||||
.label current_piece_char_88 = 9
|
||||
.label current_piece_73 = 7
|
||||
.label current_piece_gfx_101 = 7
|
||||
.label current_piece_74 = 7
|
||||
.label current_piece_75 = 7
|
||||
.label current_piece_76 = 7
|
||||
.label current_piece_77 = 7
|
||||
bbegin:
|
||||
lda #0
|
||||
sta render_screen_showing
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
@ -119,7 +119,7 @@ bbegin:
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $d
|
||||
.label render = $1b
|
||||
.label render = $1c
|
||||
jsr sid_rnd_init
|
||||
sei
|
||||
jsr render_init
|
||||
@ -129,17 +129,16 @@ main: {
|
||||
jsr play_spawn_current
|
||||
ldx #$40
|
||||
jsr render_playfield
|
||||
ldx current_ypos
|
||||
ldy current_ypos
|
||||
lda current_xpos
|
||||
sta current_xpos_109
|
||||
sta current_xpos_110
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_99
|
||||
sta current_piece_gfx_100
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_99+1
|
||||
lda current_piece_char
|
||||
sta current_piece_char_87
|
||||
sta current_piece_gfx_100+1
|
||||
ldx current_piece_char
|
||||
lda #$40
|
||||
sta render_screen_render_27
|
||||
sta render_screen_render_28
|
||||
jsr render_current
|
||||
ldy play_spawn_current._3
|
||||
lda PIECES,y
|
||||
@ -158,12 +157,6 @@ main: {
|
||||
lda RASTER
|
||||
cmp #$ff
|
||||
bne b4
|
||||
lda render_screen_show
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
sta BORDERCOL
|
||||
jsr render_show
|
||||
jsr keyboard_event_scan
|
||||
jsr keyboard_event_get
|
||||
@ -183,25 +176,21 @@ main: {
|
||||
clc
|
||||
adc render
|
||||
cmp #0
|
||||
beq b7
|
||||
beq b4
|
||||
ldx render_screen_render
|
||||
jsr render_playfield
|
||||
ldx current_ypos
|
||||
ldy current_ypos
|
||||
lda render_screen_render
|
||||
sta render_screen_render_68
|
||||
sta render_screen_render_62
|
||||
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
|
||||
lda current_piece_char
|
||||
sta current_piece_char_88
|
||||
sta current_piece_gfx_101+1
|
||||
ldx current_piece_char
|
||||
jsr render_current
|
||||
jsr render_screen_swap
|
||||
b7:
|
||||
lda #0
|
||||
sta BORDERCOL
|
||||
jmp b4
|
||||
}
|
||||
render_screen_swap: {
|
||||
@ -214,12 +203,13 @@ render_screen_swap: {
|
||||
rts
|
||||
}
|
||||
render_current: {
|
||||
.label ypos2 = $a
|
||||
.label screen_line = $1c
|
||||
.label xpos = $d
|
||||
.label i = $c
|
||||
.label l = $b
|
||||
txa
|
||||
.label ypos2 = 9
|
||||
.label screen_line = $1d
|
||||
.label xpos = $c
|
||||
.label i = $b
|
||||
.label l = $a
|
||||
.label c = $d
|
||||
tya
|
||||
asl
|
||||
sta ypos2
|
||||
lda #0
|
||||
@ -252,7 +242,7 @@ render_current: {
|
||||
bcc b2
|
||||
jmp b7
|
||||
b2:
|
||||
lda render_screen_render_27
|
||||
lda render_screen_render_28
|
||||
clc
|
||||
adc ypos2
|
||||
tay
|
||||
@ -262,23 +252,25 @@ render_current: {
|
||||
sta screen_line+1
|
||||
lda current_xpos_47
|
||||
sta xpos
|
||||
ldx #0
|
||||
lda #0
|
||||
sta c
|
||||
b4:
|
||||
ldy i
|
||||
lda (current_piece_gfx_52),y
|
||||
lda (current_piece_gfx_53),y
|
||||
inc i
|
||||
cmp #0
|
||||
beq b5
|
||||
lda xpos
|
||||
cmp #PLAYFIELD_COLS
|
||||
bcs b5
|
||||
lda current_piece_char_62
|
||||
ldy xpos
|
||||
tay
|
||||
txa
|
||||
sta (screen_line),y
|
||||
b5:
|
||||
inc xpos
|
||||
inx
|
||||
cpx #4
|
||||
inc c
|
||||
lda c
|
||||
cmp #4
|
||||
bne b4
|
||||
jmp b3
|
||||
}
|
||||
@ -346,9 +338,9 @@ play_move_rotate: {
|
||||
ldy current_ypos
|
||||
ldx 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
|
||||
@ -374,8 +366,8 @@ play_collision: {
|
||||
.label xpos = 6
|
||||
.label piece_gfx = 7
|
||||
.label ypos2 = 9
|
||||
.label playfield_line = $1c
|
||||
.label i = $1e
|
||||
.label playfield_line = $1d
|
||||
.label i = $1f
|
||||
.label col = $c
|
||||
.label l = $a
|
||||
.label i_2 = $b
|
||||
@ -473,9 +465,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
|
||||
@ -494,9 +486,9 @@ play_move_leftright: {
|
||||
ldy current_ypos
|
||||
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
|
||||
bne b3
|
||||
@ -535,9 +527,9 @@ play_move_down: {
|
||||
sta play_collision.xpos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_73
|
||||
sta current_piece_74
|
||||
lda current_piece+1
|
||||
sta current_piece_73+1
|
||||
sta current_piece_74+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
beq b6
|
||||
@ -847,6 +839,8 @@ render_show: {
|
||||
lda #toD0182_return
|
||||
b2:
|
||||
sta D018
|
||||
lda render_screen_show
|
||||
sta render_screen_showing
|
||||
rts
|
||||
toD0181:
|
||||
lda #toD0181_return
|
||||
@ -908,9 +902,9 @@ sprites_irq_init: {
|
||||
sta RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_ENABLE
|
||||
lda #<irq
|
||||
lda #<sprites_irq
|
||||
sta HARDWARE_IRQ
|
||||
lda #>irq
|
||||
lda #>sprites_irq
|
||||
sta HARDWARE_IRQ+1
|
||||
cli
|
||||
rts
|
||||
@ -957,6 +951,7 @@ render_init: {
|
||||
lda #VIC_ECM|VIC_DEN|VIC_RSEL|3
|
||||
sta D011
|
||||
lda #BLACK
|
||||
sta BORDERCOL
|
||||
sta BGCOL1
|
||||
lda #BLUE
|
||||
sta BGCOL2
|
||||
@ -1159,12 +1154,10 @@ sid_rnd_init: {
|
||||
sta SID_VOICE3_CONTROL
|
||||
rts
|
||||
}
|
||||
irq: {
|
||||
sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
lda #DARK_GREY
|
||||
sta BORDERCOL
|
||||
lda irq_sprite_ypos
|
||||
sta SPRITES_YPOS
|
||||
sta SPRITES_YPOS+2
|
||||
@ -1173,23 +1166,22 @@ irq: {
|
||||
b1:
|
||||
lda RASTER
|
||||
cmp irq_sprite_ypos
|
||||
bne b1
|
||||
lda irq_sprite_ptr
|
||||
sta PLAYFIELD_SPRITE_PTRS_1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2
|
||||
tax
|
||||
bcc b1
|
||||
ldx irq_sprite_ptr
|
||||
lda render_screen_showing
|
||||
cmp #0
|
||||
beq b2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_1+3
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+3
|
||||
b3:
|
||||
inc irq_cnt
|
||||
lda irq_cnt
|
||||
cmp #$a
|
||||
beq b2
|
||||
beq b4
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_raster_next
|
||||
@ -1202,25 +1194,23 @@ irq: {
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
b3:
|
||||
b5:
|
||||
ldx irq_raster_next
|
||||
txa
|
||||
and #7
|
||||
cmp #3
|
||||
bne b4
|
||||
bne b6
|
||||
dex
|
||||
b4:
|
||||
b6:
|
||||
stx RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_STATUS
|
||||
lda #BLACK
|
||||
sta BORDERCOL
|
||||
rega:
|
||||
lda #00
|
||||
regx:
|
||||
ldx #00
|
||||
rti
|
||||
b2:
|
||||
b4:
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
lda #IRQ_RASTER_FIRST
|
||||
@ -1229,6 +1219,17 @@ irq: {
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr2_return
|
||||
sta irq_sprite_ptr
|
||||
jmp b5
|
||||
b2:
|
||||
stx PLAYFIELD_SPRITE_PTRS_1
|
||||
txa
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+2
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_1+3
|
||||
jmp b3
|
||||
}
|
||||
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -279,53 +279,53 @@
|
||||
(byte) YELLOW
|
||||
(byte) current_movedown_counter
|
||||
(byte) current_movedown_counter#1 current_movedown_counter zp ZP_BYTE:4 0.5333333333333333
|
||||
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:4 0.4482758620689655
|
||||
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:4 1.0833333333333333
|
||||
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:4 4.222222222222222
|
||||
(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
|
||||
(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 0.4722222222222223
|
||||
(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 0.8947368421052632
|
||||
(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_piece
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:15 0.3285714285714286
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:15 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 0.5277777777777779
|
||||
(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#73 current_piece#73 zp ZP_WORD:7 4.0
|
||||
(byte*~) current_piece#74 current_piece#74 zp ZP_WORD:7 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 zp ZP_WORD:15 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_char
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:21 0.896551724137931
|
||||
(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 19.20754716981132
|
||||
(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#62 current_piece_char#62 zp ZP_BYTE:9 46.09090909090909
|
||||
(byte~) current_piece_char#87 current_piece_char#87 zp ZP_BYTE:9 4.0
|
||||
(byte~) current_piece_char#88 current_piece_char#88 zp ZP_BYTE:9 22.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_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 11.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:18 1.4736842105263155
|
||||
(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 19.20754716981132
|
||||
(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#52 current_piece_gfx#52 zp ZP_WORD:7 46.09090909090909
|
||||
(byte*~) current_piece_gfx#99 current_piece_gfx#99 zp ZP_WORD:7 2.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 2.2641509433962264
|
||||
(byte~) current_xpos#109 current_xpos#109 zp ZP_BYTE:6 1.3333333333333333
|
||||
(byte~) current_xpos#110 current_xpos#110 zp ZP_BYTE:6 7.333333333333333
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:20 0.7906976744186045
|
||||
(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
|
||||
@ -333,13 +333,13 @@
|
||||
(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
|
||||
(byte) current_ypos#13 current_ypos zp ZP_BYTE:14 0.4571428571428572
|
||||
(byte) current_ypos#13 current_ypos zp ZP_BYTE:14 1.9558823529411762
|
||||
(byte) current_ypos#18 current_ypos zp ZP_BYTE:14 0.5714285714285714
|
||||
(byte) current_ypos#21 current_ypos zp ZP_BYTE:14 0.5833333333333335
|
||||
(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#83 reg byte x 1.0
|
||||
(byte~) current_ypos#84 reg byte x 4.4
|
||||
(byte) current_ypos#9 reg byte x 15.0
|
||||
(byte~) current_ypos#84 reg byte y 1.0
|
||||
(byte~) current_ypos#85 reg byte y 4.4
|
||||
(byte) current_ypos#9 reg byte y 15.0
|
||||
(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val)
|
||||
(label) fill::@1
|
||||
(label) fill::@return
|
||||
@ -352,59 +352,31 @@
|
||||
(const word) fill::size#0 size = (word/signed word/dword/signed dword) 1000
|
||||
(byte*) fill::start
|
||||
(byte) fill::val
|
||||
interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte~) irq::$3 reg byte a 4.0
|
||||
(label) irq::@1
|
||||
(label) irq::@2
|
||||
(label) irq::@3
|
||||
(label) irq::@4
|
||||
(label) irq::@5
|
||||
(label) irq::@6
|
||||
(label) irq::@8
|
||||
(label) irq::@9
|
||||
(label) irq::@return
|
||||
(byte) irq::ptr
|
||||
(byte) irq::ptr#0 reg byte a 2.6666666666666665
|
||||
(byte) irq::ptr#1 reg byte x 2.4
|
||||
(byte) irq::ptr#2 reg byte x 3.0
|
||||
(byte) irq::raster_next
|
||||
(byte) irq::raster_next#0 reg byte x 2.6666666666666665
|
||||
(byte) irq::raster_next#1 reg byte x 4.0
|
||||
(byte) irq::raster_next#2 reg byte x 6.0
|
||||
(label) irq::toSpritePtr2
|
||||
(word~) irq::toSpritePtr2_$0
|
||||
(word~) irq::toSpritePtr2_$1
|
||||
(byte~) irq::toSpritePtr2_$2
|
||||
(byte) irq::toSpritePtr2_return
|
||||
(const byte) irq::toSpritePtr2_return#0 toSpritePtr2_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte*) irq::toSpritePtr2_sprite
|
||||
(byte) irq::ypos
|
||||
(byte) irq::ypos#0 reg byte a 2.5
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:26 0.2222222222222222
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:26 4.0
|
||||
(byte) irq_cnt#13 irq_cnt zp ZP_BYTE:26 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:27 0.2
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:27 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:27 20.0
|
||||
(byte) irq_raster_next
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:23 0.2
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:23 0.18181818181818182
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:23 1.0
|
||||
(byte) irq_raster_next#12 irq_raster_next zp ZP_BYTE:23 6.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:23 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:23 1.3333333333333333
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:25 0.2727272727272727
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:25 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:25 20.0
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:26 0.25
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:26 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:26 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:24 0.8095238095238095
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:24 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:24 20.0
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:25 0.7391304347826086
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:25 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:25 20.0
|
||||
(byte[]) keyboard_char_keycodes
|
||||
(byte()) keyboard_event_get()
|
||||
(label) keyboard_event_get::@3
|
||||
(label) keyboard_event_get::@return
|
||||
(byte) keyboard_event_get::return
|
||||
(byte) keyboard_event_get::return#1 reg byte a 4.0
|
||||
(byte) keyboard_event_get::return#2 reg byte a 4.333333333333333
|
||||
(byte) keyboard_event_get::return#3 reg byte a 22.0
|
||||
(byte) keyboard_event_get::return#2 reg byte a 34.33333333333333
|
||||
(byte) keyboard_event_get::return#3 reg byte a 202.0
|
||||
(byte()) keyboard_event_pressed((byte) keyboard_event_pressed::keycode)
|
||||
(byte~) keyboard_event_pressed::$0 reg byte a 4.0
|
||||
(byte~) keyboard_event_pressed::$1 reg byte a 4.0
|
||||
@ -421,13 +393,13 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) keyboard_event_pressed::row_bits
|
||||
(byte) keyboard_event_pressed::row_bits#0 row_bits zp ZP_BYTE:6 2.0
|
||||
(void()) keyboard_event_scan()
|
||||
(byte/word/dword~) keyboard_event_scan::$11 reg byte a 2002.0
|
||||
(byte/word/dword~) keyboard_event_scan::$11 reg byte a 20002.0
|
||||
(byte~) keyboard_event_scan::$14 reg byte a 4.0
|
||||
(byte~) keyboard_event_scan::$18 reg byte a 4.0
|
||||
(byte~) keyboard_event_scan::$22 reg byte a 4.0
|
||||
(byte~) keyboard_event_scan::$26 reg byte a 4.0
|
||||
(byte~) keyboard_event_scan::$3 reg byte a 2002.0
|
||||
(byte~) keyboard_event_scan::$4 reg byte a 2002.0
|
||||
(byte~) keyboard_event_scan::$3 reg byte a 20002.0
|
||||
(byte~) keyboard_event_scan::$4 reg byte a 20002.0
|
||||
(label) keyboard_event_scan::@1
|
||||
(label) keyboard_event_scan::@10
|
||||
(label) keyboard_event_scan::@11
|
||||
@ -453,43 +425,43 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) keyboard_event_scan::@9
|
||||
(label) keyboard_event_scan::@return
|
||||
(byte) keyboard_event_scan::col
|
||||
(byte) keyboard_event_scan::col#1 reg byte x 1501.5
|
||||
(byte) keyboard_event_scan::col#2 reg byte x 286.0
|
||||
(byte) keyboard_event_scan::col#1 reg byte x 15001.5
|
||||
(byte) keyboard_event_scan::col#2 reg byte x 2857.4285714285716
|
||||
(byte) keyboard_event_scan::event_type
|
||||
(byte) keyboard_event_scan::event_type#0 reg byte a 2002.0
|
||||
(byte) keyboard_event_scan::event_type#0 reg byte a 20002.0
|
||||
(byte) keyboard_event_scan::keycode
|
||||
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:6 202.0
|
||||
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:6 315.7692307692308
|
||||
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:6 50.5
|
||||
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:6 101.0
|
||||
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:6 525.75
|
||||
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:6 2002.0
|
||||
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:6 3154.230769230769
|
||||
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:6 500.5
|
||||
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:6 1001.0
|
||||
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:6 5250.75
|
||||
(byte) keyboard_event_scan::row
|
||||
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:5 151.5
|
||||
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:5 60.24
|
||||
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:5 1501.5
|
||||
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:5 600.24
|
||||
(byte) keyboard_event_scan::row_scan
|
||||
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:9 128.05555555555557
|
||||
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:9 1278.0555555555554
|
||||
(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 2002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:22 810.9000000000001
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:22 9.967741935483872
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:22 0.45454545454545453
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:22 1.8571428571428572
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:22 2002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:22 43.57142857142858
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:22 1021.2
|
||||
(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[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)
|
||||
(label) keyboard_matrix_read::@return
|
||||
(byte) keyboard_matrix_read::return
|
||||
(byte) keyboard_matrix_read::return#0 reg byte a 34.33333333333333
|
||||
(byte) keyboard_matrix_read::return#2 reg byte a 202.0
|
||||
(byte) keyboard_matrix_read::return#0 reg byte a 334.33333333333337
|
||||
(byte) keyboard_matrix_read::return#2 reg byte a 2002.0
|
||||
(byte) keyboard_matrix_read::row_pressed_bits
|
||||
(byte) keyboard_matrix_read::rowid
|
||||
(byte) keyboard_matrix_read::rowid#0 reg byte x 103.0
|
||||
(byte) keyboard_matrix_read::rowid#0 reg byte x 1003.0
|
||||
(byte[8]) keyboard_matrix_row_bitmask
|
||||
(const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) 254, (byte/word/signed word/dword/signed dword) 253, (byte/word/signed word/dword/signed dword) 251, (byte/word/signed word/dword/signed dword) 247, (byte/word/signed word/dword/signed dword) 239, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 191, (byte/signed byte/word/signed word/dword/signed dword) 127 }
|
||||
(byte) keyboard_modifiers
|
||||
@ -502,10 +474,9 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte[8]) keyboard_scan_values
|
||||
(const byte[8]) keyboard_scan_values#0 keyboard_scan_values = { fill( 8, 0) }
|
||||
(void()) main()
|
||||
(byte~) main::$13 reg byte a 22.0
|
||||
(byte~) main::$14 reg byte a 22.0
|
||||
(byte~) main::$15 reg byte a 22.0
|
||||
(byte~) main::$9 reg byte a 22.0
|
||||
(byte~) main::$12 reg byte a 202.0
|
||||
(byte~) main::$13 reg byte a 202.0
|
||||
(byte~) main::$14 reg byte a 202.0
|
||||
(label) main::@1
|
||||
(label) main::@13
|
||||
(label) main::@15
|
||||
@ -525,15 +496,14 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) main::@30
|
||||
(label) main::@4
|
||||
(label) main::@6
|
||||
(label) main::@7
|
||||
(byte) main::key_event
|
||||
(byte) main::key_event#0 key_event zp ZP_BYTE:13 4.0
|
||||
(byte) main::key_event#0 key_event zp ZP_BYTE:13 36.72727272727273
|
||||
(byte) main::render
|
||||
(byte) main::render#1 render zp ZP_BYTE:27 4.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:27 4.4
|
||||
(byte) main::render#3 reg byte a 22.0
|
||||
(byte) main::render#1 render zp ZP_BYTE:28 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:28 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 2002.0
|
||||
(byte~) play_collision::$7 reg byte a 20002.0
|
||||
(label) play_collision::@1
|
||||
(label) play_collision::@17
|
||||
(label) play_collision::@2
|
||||
@ -546,21 +516,21 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_collision::@8
|
||||
(label) play_collision::@return
|
||||
(byte) play_collision::c
|
||||
(byte) play_collision::c#1 reg byte x 1001.0
|
||||
(byte) play_collision::c#2 reg byte x 222.44444444444446
|
||||
(byte) play_collision::c#1 reg byte x 10001.0
|
||||
(byte) play_collision::c#2 reg byte x 2222.4444444444443
|
||||
(byte) play_collision::col
|
||||
(byte) play_collision::col#1 col zp ZP_BYTE:12 500.5
|
||||
(byte) play_collision::col#2 col zp ZP_BYTE:12 638.25
|
||||
(byte~) play_collision::col#9 col zp ZP_BYTE:12 202.0
|
||||
(byte) play_collision::col#1 col zp ZP_BYTE:12 5000.5
|
||||
(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:30 161.76923076923077
|
||||
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:11 202.0
|
||||
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:11 2002.0
|
||||
(byte) play_collision::i#2 i#2 zp ZP_BYTE:11 1552.0
|
||||
(byte) play_collision::i#3 i#3 zp ZP_BYTE:11 67.33333333333333
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:31 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
|
||||
(byte) play_collision::i#3 i#3 zp ZP_BYTE:11 667.3333333333334
|
||||
(byte) play_collision::l
|
||||
(byte) play_collision::l#1 l zp ZP_BYTE:10 101.0
|
||||
(byte) play_collision::l#6 l zp ZP_BYTE:10 12.625
|
||||
(byte) play_collision::l#1 l zp ZP_BYTE:10 1001.0
|
||||
(byte) play_collision::l#6 l zp ZP_BYTE:10 125.125
|
||||
(byte) play_collision::orientation
|
||||
(byte) play_collision::orientation#0 reg byte x 2.0
|
||||
(byte) play_collision::orientation#1 reg byte x 2.0
|
||||
@ -568,9 +538,9 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) play_collision::orientation#3 reg byte x 2.0
|
||||
(byte) play_collision::orientation#4 reg byte x 10.0
|
||||
(byte*) play_collision::piece_gfx
|
||||
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:7 47.76190476190476
|
||||
(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:28 78.71428571428571
|
||||
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:29 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
|
||||
@ -582,7 +552,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) play_collision::xpos#1 xpos zp ZP_BYTE:6 1.0
|
||||
(byte) play_collision::xpos#2 xpos zp ZP_BYTE:6 1.0
|
||||
(byte) play_collision::xpos#3 xpos zp ZP_BYTE:6 1.0
|
||||
(byte) play_collision::xpos#5 xpos zp ZP_BYTE:6 4.954545454545454
|
||||
(byte) play_collision::xpos#5 xpos zp ZP_BYTE:6 45.86363636363637
|
||||
(byte) play_collision::ypos
|
||||
(byte) play_collision::ypos#0 reg byte y 1.0
|
||||
(byte) play_collision::ypos#1 reg byte y 1.3333333333333333
|
||||
@ -591,8 +561,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) play_collision::ypos#4 reg byte y 5.0
|
||||
(byte) play_collision::ypos2
|
||||
(byte) play_collision::ypos2#0 ypos2 zp ZP_BYTE:9 4.0
|
||||
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:9 50.5
|
||||
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:9 87.06666666666668
|
||||
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:9 500.5
|
||||
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:9 867.0666666666667
|
||||
(void()) play_init()
|
||||
(byte~) play_init::$1 reg byte a 22.0
|
||||
(label) play_init::@1
|
||||
@ -617,27 +587,27 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_lock_current::@8
|
||||
(label) play_lock_current::@return
|
||||
(byte) play_lock_current::c
|
||||
(byte) play_lock_current::c#1 reg byte x 1001.0
|
||||
(byte) play_lock_current::c#2 reg byte x 400.4
|
||||
(byte) play_lock_current::c#1 reg byte x 10001.0
|
||||
(byte) play_lock_current::c#2 reg byte x 4000.4
|
||||
(byte) play_lock_current::col
|
||||
(byte) play_lock_current::col#0 col zp ZP_BYTE:6 202.0
|
||||
(byte) play_lock_current::col#1 col zp ZP_BYTE:6 500.5
|
||||
(byte) play_lock_current::col#2 col zp ZP_BYTE:6 776.0
|
||||
(byte) play_lock_current::col#0 col zp ZP_BYTE:6 2002.0
|
||||
(byte) play_lock_current::col#1 col zp ZP_BYTE:6 5000.5
|
||||
(byte) play_lock_current::col#2 col zp ZP_BYTE:6 7751.0
|
||||
(byte) play_lock_current::i
|
||||
(byte) play_lock_current::i#1 i zp ZP_BYTE:9 233.66666666666669
|
||||
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:5 1552.0
|
||||
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:5 67.33333333333333
|
||||
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:5 202.0
|
||||
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:5 2002.0
|
||||
(byte) play_lock_current::i#1 i zp ZP_BYTE:9 2333.6666666666665
|
||||
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:5 15502.0
|
||||
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:5 667.3333333333334
|
||||
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:5 2002.0
|
||||
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:5 20002.0
|
||||
(byte) play_lock_current::l
|
||||
(byte) play_lock_current::l#1 l zp ZP_BYTE:4 101.0
|
||||
(byte) play_lock_current::l#6 l zp ZP_BYTE:4 16.833333333333332
|
||||
(byte) play_lock_current::l#1 l zp ZP_BYTE:4 1001.0
|
||||
(byte) play_lock_current::l#6 l zp ZP_BYTE:4 166.83333333333334
|
||||
(byte*) play_lock_current::playfield_line
|
||||
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:7 110.19999999999999
|
||||
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:7 1100.2
|
||||
(byte) play_lock_current::ypos2
|
||||
(byte) play_lock_current::ypos2#0 ypos2 zp ZP_BYTE:14 4.0
|
||||
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:14 50.5
|
||||
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:14 27.727272727272727
|
||||
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:14 500.5
|
||||
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:14 273.1818181818182
|
||||
(byte()) play_move_down((byte) play_move_down::key_event)
|
||||
(byte~) play_move_down::$12 reg byte a 4.0
|
||||
(byte~) play_move_down::$2 reg byte a 4.0
|
||||
@ -658,7 +628,7 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_move_down::@9
|
||||
(label) play_move_down::@return
|
||||
(byte) play_move_down::key_event
|
||||
(byte) play_move_down::key_event#0 reg byte a 6.5
|
||||
(byte) play_move_down::key_event#0 reg byte a 51.5
|
||||
(byte) play_move_down::movedown
|
||||
(byte) play_move_down::movedown#10 reg byte x 1.0
|
||||
(byte) play_move_down::movedown#2 reg byte x 4.0
|
||||
@ -666,8 +636,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(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::return
|
||||
(byte) play_move_down::return#2 reg byte x 3.6666666666666665
|
||||
(byte) play_move_down::return#3 reg byte a 22.0
|
||||
(byte) play_move_down::return#2 reg byte x 33.666666666666664
|
||||
(byte) play_move_down::return#3 reg byte a 202.0
|
||||
(byte()) play_move_leftright((byte) play_move_leftright::key_event)
|
||||
(byte~) play_move_leftright::$4 reg byte a 4.0
|
||||
(byte~) play_move_leftright::$8 reg byte a 4.0
|
||||
@ -680,10 +650,10 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_move_leftright::@8
|
||||
(label) play_move_leftright::@return
|
||||
(byte) play_move_leftright::key_event
|
||||
(byte) play_move_leftright::key_event#0 reg byte a 7.5
|
||||
(byte) play_move_leftright::key_event#0 reg byte a 52.5
|
||||
(byte) play_move_leftright::return
|
||||
(byte) play_move_leftright::return#1 reg byte a 3.6666666666666665
|
||||
(byte) play_move_leftright::return#4 reg byte a 22.0
|
||||
(byte) play_move_leftright::return#1 reg byte a 33.666666666666664
|
||||
(byte) play_move_leftright::return#4 reg byte a 202.0
|
||||
(byte()) play_move_rotate((byte) play_move_rotate::key_event)
|
||||
(byte/signed word/word/dword/signed dword~) play_move_rotate::$2 reg byte a 4.0
|
||||
(byte/signed word/word/dword/signed dword~) play_move_rotate::$4 reg byte a 4.0
|
||||
@ -696,14 +666,14 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_move_rotate::@6
|
||||
(label) play_move_rotate::@return
|
||||
(byte) play_move_rotate::key_event
|
||||
(byte) play_move_rotate::key_event#0 reg byte a 7.5
|
||||
(byte) play_move_rotate::key_event#0 reg byte a 52.5
|
||||
(byte) play_move_rotate::orientation
|
||||
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:5 4.0
|
||||
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:5 4.0
|
||||
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:5 0.8888888888888888
|
||||
(byte) play_move_rotate::return
|
||||
(byte) play_move_rotate::return#1 reg byte a 3.6666666666666665
|
||||
(byte) play_move_rotate::return#4 reg byte a 22.0
|
||||
(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()
|
||||
(label) play_remove_lines::@1
|
||||
(label) play_remove_lines::@10
|
||||
@ -716,30 +686,30 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(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 600.5999999999999
|
||||
(byte) play_remove_lines::c#0 c zp ZP_BYTE:9 6000.6
|
||||
(byte) play_remove_lines::full
|
||||
(byte) play_remove_lines::full#2 full zp ZP_BYTE:6 420.59999999999997
|
||||
(byte) play_remove_lines::full#4 full zp ZP_BYTE:6 400.4
|
||||
(byte) play_remove_lines::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::r
|
||||
(byte) play_remove_lines::r#1 reg byte y 161.76923076923077
|
||||
(byte) play_remove_lines::r#2 reg byte y 1552.0
|
||||
(byte) play_remove_lines::r#3 reg byte y 202.0
|
||||
(byte) play_remove_lines::r#1 reg byte y 1615.6153846153845
|
||||
(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::w
|
||||
(byte) play_remove_lines::w#1 reg byte x 551.0
|
||||
(byte) play_remove_lines::w#11 reg byte x 134.66666666666666
|
||||
(byte) play_remove_lines::w#12 reg byte x 202.0
|
||||
(byte) play_remove_lines::w#2 reg byte x 202.0
|
||||
(byte) play_remove_lines::w#3 reg byte x 202.0
|
||||
(byte) play_remove_lines::w#4 reg byte x 443.42857142857144
|
||||
(byte) play_remove_lines::w#6 reg byte x 168.33333333333331
|
||||
(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#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 1501.5
|
||||
(byte) play_remove_lines::x#2 x zp ZP_BYTE:5 250.25
|
||||
(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::y
|
||||
(byte) play_remove_lines::y#1 y zp ZP_BYTE:4 151.5
|
||||
(byte) play_remove_lines::y#8 y zp ZP_BYTE:4 14.428571428571429
|
||||
(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
|
||||
(void()) play_spawn_current()
|
||||
(byte~) play_spawn_current::$1 reg byte a 202.0
|
||||
(byte~) play_spawn_current::$1 reg byte a 2002.0
|
||||
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:4 0.13333333333333333
|
||||
(label) play_spawn_current::@1
|
||||
(label) play_spawn_current::@2
|
||||
@ -747,8 +717,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) play_spawn_current::@7
|
||||
(label) play_spawn_current::@return
|
||||
(byte) play_spawn_current::piece_idx
|
||||
(byte) play_spawn_current::piece_idx#1 reg byte x 202.0
|
||||
(byte) play_spawn_current::piece_idx#2 reg byte x 35.00000000000001
|
||||
(byte) play_spawn_current::piece_idx#1 reg byte x 2002.0
|
||||
(byte) play_spawn_current::piece_idx#2 reg byte x 334.99999999999994
|
||||
(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
|
||||
@ -768,29 +738,29 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(label) render_current::@9
|
||||
(label) render_current::@return
|
||||
(byte) render_current::c
|
||||
(byte) render_current::c#1 reg byte x 1501.5
|
||||
(byte) render_current::c#2 reg byte x 286.0
|
||||
(byte) render_current::c#1 c zp ZP_BYTE:13 1501.5
|
||||
(byte) render_current::c#2 c zp ZP_BYTE:13 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:12 202.0
|
||||
(byte) render_current::i#10 i zp ZP_BYTE:12 429.0
|
||||
(byte) render_current::i#3 i zp ZP_BYTE:12 50.5
|
||||
(byte) render_current::i#4 i zp ZP_BYTE:12 1552.0
|
||||
(byte) render_current::i#8 i zp ZP_BYTE:12 300.75
|
||||
(byte) render_current::i#1 i zp ZP_BYTE:11 202.0
|
||||
(byte) render_current::i#10 i zp ZP_BYTE:11 429.0
|
||||
(byte) render_current::i#3 i zp ZP_BYTE:11 50.5
|
||||
(byte) render_current::i#4 i zp ZP_BYTE:11 1552.0
|
||||
(byte) render_current::i#8 i zp ZP_BYTE:11 300.75
|
||||
(byte) render_current::l
|
||||
(byte) render_current::l#1 l zp ZP_BYTE:11 151.5
|
||||
(byte) render_current::l#4 l zp ZP_BYTE:11 11.222222222222221
|
||||
(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:28 100.18181818181819
|
||||
(byte*) render_current::screen_line#0 screen_line zp ZP_WORD:29 100.18181818181819
|
||||
(byte) render_current::xpos
|
||||
(byte) render_current::xpos#0 xpos zp ZP_BYTE:13 202.0
|
||||
(byte) render_current::xpos#1 xpos zp ZP_BYTE:13 667.3333333333334
|
||||
(byte) render_current::xpos#2 xpos zp ZP_BYTE:13 684.1666666666667
|
||||
(byte) render_current::xpos#0 xpos zp ZP_BYTE:12 202.0
|
||||
(byte) render_current::xpos#1 xpos zp ZP_BYTE:12 667.3333333333334
|
||||
(byte) render_current::xpos#2 xpos zp ZP_BYTE:12 684.1666666666667
|
||||
(byte) render_current::ypos2
|
||||
(byte) render_current::ypos2#0 ypos2 zp ZP_BYTE:10 4.0
|
||||
(byte) render_current::ypos2#1 ypos2 zp ZP_BYTE:10 67.33333333333333
|
||||
(byte) render_current::ypos2#2 ypos2 zp ZP_BYTE:10 29.823529411764707
|
||||
(byte) render_current::ypos2#0 ypos2 zp ZP_BYTE:9 4.0
|
||||
(byte) render_current::ypos2#1 ypos2 zp ZP_BYTE:9 67.33333333333333
|
||||
(byte) render_current::ypos2#2 ypos2 zp ZP_BYTE:9 29.823529411764707
|
||||
(void()) render_init()
|
||||
(byte*~) render_init::$12 $12 zp ZP_WORD:15 202.0
|
||||
(byte~) render_init::$22 reg byte a 22.0
|
||||
@ -894,17 +864,18 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) render_screen_original::y#1 y zp ZP_BYTE:2 16.5
|
||||
(byte) render_screen_original::y#8 y zp ZP_BYTE:2 1.0
|
||||
(byte) render_screen_render
|
||||
(byte) render_screen_render#10 render_screen_render zp ZP_BYTE:3 3.25
|
||||
(byte) render_screen_render#15 render_screen_render zp ZP_BYTE:3 1.277777777777778
|
||||
(byte) render_screen_render#18 reg byte x 8.615384615384615
|
||||
(byte) render_screen_render#27 render_screen_render#27 zp ZP_BYTE:5 5.090909090909091
|
||||
(byte) render_screen_render#31 render_screen_render zp ZP_BYTE:3 16.5
|
||||
(byte~) render_screen_render#68 render_screen_render#68 zp ZP_BYTE:5 5.5
|
||||
(byte~) render_screen_render#69 reg byte x 22.0
|
||||
(byte) render_screen_render#11 render_screen_render zp ZP_BYTE:3 3.25
|
||||
(byte) render_screen_render#16 render_screen_render zp ZP_BYTE:3 1.0
|
||||
(byte) render_screen_render#19 reg byte x 8.615384615384615
|
||||
(byte) render_screen_render#28 render_screen_render#28 zp ZP_BYTE:5 5.090909090909091
|
||||
(byte~) render_screen_render#62 render_screen_render#62 zp ZP_BYTE:5 5.5
|
||||
(byte~) render_screen_render#63 reg byte x 22.0
|
||||
(byte) render_screen_show
|
||||
(byte) render_screen_show#11 render_screen_show zp ZP_BYTE:2 4.333333333333333
|
||||
(byte) render_screen_show#15 render_screen_show zp ZP_BYTE:2 0.8604651162790697
|
||||
(byte) render_screen_show#24 render_screen_show zp ZP_BYTE:2 16.5
|
||||
(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:24 0.5714285714285714
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:24 20.0
|
||||
(void()) render_screen_swap()
|
||||
(label) render_screen_swap::@return
|
||||
(void()) render_show()
|
||||
@ -947,8 +918,8 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte()) sid_rnd()
|
||||
(label) sid_rnd::@return
|
||||
(byte) sid_rnd::return
|
||||
(byte) sid_rnd::return#0 reg byte a 34.33333333333333
|
||||
(byte) sid_rnd::return#2 reg byte a 202.0
|
||||
(byte) sid_rnd::return#0 reg byte a 334.33333333333337
|
||||
(byte) sid_rnd::return#2 reg byte a 2002.0
|
||||
(void()) sid_rnd_init()
|
||||
(label) sid_rnd_init::@return
|
||||
(void()) sprites_init()
|
||||
@ -962,6 +933,39 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(byte) sprites_init::xpos
|
||||
(byte) sprites_init::xpos#1 xpos zp ZP_BYTE:2 7.333333333333333
|
||||
(byte) sprites_init::xpos#2 xpos zp ZP_BYTE:2 8.25
|
||||
interrupt(HARDWARE_CLOBBER)(void()) sprites_irq()
|
||||
(byte~) sprites_irq::$4 reg byte a 4.0
|
||||
(label) sprites_irq::@1
|
||||
(label) sprites_irq::@10
|
||||
(label) sprites_irq::@12
|
||||
(label) sprites_irq::@13
|
||||
(label) sprites_irq::@2
|
||||
(label) sprites_irq::@3
|
||||
(label) sprites_irq::@4
|
||||
(label) sprites_irq::@5
|
||||
(label) sprites_irq::@6
|
||||
(label) sprites_irq::@7
|
||||
(label) sprites_irq::@8
|
||||
(label) sprites_irq::@return
|
||||
(byte) sprites_irq::ptr
|
||||
(byte) sprites_irq::ptr#0 reg byte x 2.5
|
||||
(byte) sprites_irq::ptr#1 reg byte a 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#2 reg byte a 4.0
|
||||
(byte) sprites_irq::ptr#3 reg byte x 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#4 reg byte x 4.0
|
||||
(byte) sprites_irq::raster_next
|
||||
(byte) sprites_irq::raster_next#0 reg byte x 2.6666666666666665
|
||||
(byte) sprites_irq::raster_next#1 reg byte x 4.0
|
||||
(byte) sprites_irq::raster_next#2 reg byte x 6.0
|
||||
(label) sprites_irq::toSpritePtr2
|
||||
(word~) sprites_irq::toSpritePtr2_$0
|
||||
(word~) sprites_irq::toSpritePtr2_$1
|
||||
(byte~) sprites_irq::toSpritePtr2_$2
|
||||
(byte) sprites_irq::toSpritePtr2_return
|
||||
(const byte) sprites_irq::toSpritePtr2_return#0 toSpritePtr2_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte*) sprites_irq::toSpritePtr2_sprite
|
||||
(byte) sprites_irq::ypos
|
||||
(byte) sprites_irq::ypos#0 reg byte a 2.5
|
||||
(void()) sprites_irq_init()
|
||||
(label) sprites_irq_init::@return
|
||||
(label) toSpritePtr1
|
||||
@ -972,20 +976,20 @@ interrupt(HARDWARE_CLOBBER)(void()) irq()
|
||||
(const byte) toSpritePtr1_return#0 toSpritePtr1_return = ((byte))((word))(const byte*) PLAYFIELD_SPRITES#0>>(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(byte*) toSpritePtr1_sprite
|
||||
|
||||
zp ZP_BYTE:2 [ render_screen_show#15 render_screen_show#24 render_screen_show#11 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_init::l#4 render_init::l#1 render_screen_original::y#8 render_screen_original::y#1 ]
|
||||
zp ZP_BYTE:3 [ render_screen_render#15 render_screen_render#31 render_screen_render#10 ]
|
||||
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_init::l#4 render_init::l#1 render_screen_original::y#8 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 x [ current_ypos#9 current_ypos#83 current_ypos#84 ]
|
||||
zp ZP_BYTE:5 [ render_screen_render#27 render_screen_render#68 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#109 current_xpos#110 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#52 current_piece_gfx#99 current_piece_gfx#100 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#73 current_piece#74 current_piece#75 current_piece#76 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::line#4 render_init::line#1 render_init::li_1#2 render_init::li_1#1 fill::addr#2 fill::addr#1 render_screen_original::orig#2 render_screen_original::orig#5 render_screen_original::orig#1 play_lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:9 [ current_piece_char#62 current_piece_char#87 current_piece_char#88 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::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 play_collision::l#6 play_collision::l#1 ]
|
||||
zp ZP_BYTE:11 [ render_current::l#4 render_current::l#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
|
||||
zp ZP_BYTE:12 [ render_current::i#4 render_current::i#3 render_current::i#8 render_current::i#10 render_current::i#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
|
||||
zp ZP_BYTE:13 [ render_current::xpos#2 render_current::xpos#0 render_current::xpos#1 main::key_event#0 ]
|
||||
reg byte x [ render_current::c#2 render_current::c#1 ]
|
||||
reg byte x [ render_screen_render#18 render_screen_render#69 ]
|
||||
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::line#4 render_init::line#1 render_init::li_1#2 render_init::li_1#1 fill::addr#2 fill::addr#1 render_screen_original::orig#2 render_screen_original::orig#5 render_screen_original::orig#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 ]
|
||||
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 ]
|
||||
reg byte x [ render_screen_render#19 render_screen_render#63 ]
|
||||
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 ]
|
||||
reg byte y [ play_collision::ypos#4 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 ]
|
||||
@ -994,7 +998,7 @@ 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#77 current_piece#16 current_piece#71 current_piece#10 render_init::li_2#2 render_init::li_2#1 render_screen_original::screen#7 render_screen_original::screen#10 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#11 render_screen_original::screen#12 render_screen_original::screen#2 render_screen_original::screen#3 render_init::$12 ]
|
||||
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::screen#7 render_screen_original::screen#10 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#11 render_screen_original::screen#12 render_screen_original::screen#2 render_screen_original::screen#3 render_init::$12 ]
|
||||
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 ]
|
||||
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 ]
|
||||
@ -1015,26 +1019,26 @@ reg byte x [ render_init::c#2 render_init::c#1 ]
|
||||
reg byte x [ render_init::i#2 render_init::i#1 ]
|
||||
reg byte y [ render_screen_original::c#2 render_screen_original::c#0 render_screen_original::c#1 ]
|
||||
reg byte x [ render_screen_original::x#7 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:23 [ irq_raster_next#12 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
reg byte x [ irq::raster_next#2 irq::raster_next#0 irq::raster_next#1 ]
|
||||
zp ZP_BYTE:24 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:25 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:26 [ irq_cnt#0 irq_cnt#1 irq_cnt#13 ]
|
||||
reg byte a [ main::$9 ]
|
||||
zp ZP_BYTE:23 [ 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:24 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:25 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:26 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:27 [ 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::$13 ]
|
||||
zp ZP_BYTE:27 [ main::render#1 main::render#2 ]
|
||||
reg byte a [ main::$12 ]
|
||||
zp ZP_BYTE:28 [ 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::$14 ]
|
||||
reg byte a [ main::$13 ]
|
||||
reg byte a [ play_move_rotate::key_event#0 ]
|
||||
reg byte a [ play_move_rotate::return#4 ]
|
||||
reg byte a [ main::$15 ]
|
||||
reg byte a [ main::$14 ]
|
||||
reg byte a [ main::render#3 ]
|
||||
reg byte a [ render_current::$5 ]
|
||||
zp ZP_WORD:28 [ render_current::screen_line#0 play_collision::playfield_line#0 ]
|
||||
zp ZP_WORD:29 [ render_current::screen_line#0 play_collision::playfield_line#0 ]
|
||||
reg byte a [ render_current::current_cell#0 ]
|
||||
reg byte a [ render_playfield::$2 ]
|
||||
reg byte a [ render_playfield::$3 ]
|
||||
@ -1042,7 +1046,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:30 [ play_collision::i#1 ]
|
||||
zp ZP_BYTE:31 [ play_collision::i#1 ]
|
||||
reg byte a [ play_collision::$7 ]
|
||||
reg byte a [ play_collision::return#12 ]
|
||||
reg byte a [ play_move_leftright::$4 ]
|
||||
@ -1078,8 +1082,10 @@ reg byte a [ play_init::$1 ]
|
||||
reg byte a [ sprites_init::s2#0 ]
|
||||
reg byte a [ render_init::$22 ]
|
||||
reg byte a [ render_init::$23 ]
|
||||
reg byte a [ irq::ypos#0 ]
|
||||
reg byte a [ irq::ptr#0 ]
|
||||
reg byte x [ irq::ptr#1 ]
|
||||
reg byte x [ irq::ptr#2 ]
|
||||
reg byte a [ irq::$3 ]
|
||||
reg byte a [ sprites_irq::ypos#0 ]
|
||||
reg byte x [ sprites_irq::ptr#0 ]
|
||||
reg byte x [ sprites_irq::ptr#3 ]
|
||||
reg byte x [ sprites_irq::ptr#4 ]
|
||||
reg byte a [ sprites_irq::$4 ]
|
||||
reg byte a [ sprites_irq::ptr#1 ]
|
||||
reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
Loading…
Reference in New Issue
Block a user