mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-11-14 23:04:57 +00:00
Implemented new more robust sprite routine. Added game_over game state. Added GAME OVER chars to charset.
This commit is contained in:
parent
e35ce855b0
commit
db733eec53
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 753 B After Width: | Height: | Size: 748 B |
@ -51,4 +51,6 @@ word lines_bcd = 0;
|
||||
byte level_bcd = 0;
|
||||
// Current level in normal numeric format
|
||||
byte level = 0;
|
||||
// Is the game over?
|
||||
byte game_over = 0;
|
||||
|
||||
|
@ -18,6 +18,10 @@ byte* current_piece = 0;
|
||||
// The orientation chooses one of the 4 sub-graphics of the piece.
|
||||
byte current_orientation = 0;
|
||||
|
||||
// The speed of moving down the piece when soft-drop is not activated
|
||||
// This array holds the number of frames per move by level (0-29). For all levels 29+ the value is 1.
|
||||
const byte[] MOVEDOWN_SLOW_SPEEDS = { 48, 43, 38, 33, 28, 23, 18, 13, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 };
|
||||
|
||||
// The rate of moving down the current piece (number of frames between moves if movedown is not forced)
|
||||
byte current_movedown_slow = 48;
|
||||
|
||||
@ -35,10 +39,6 @@ const dword[] SCORE_BASE_BCD = { $0000, $0040, $0100, $0300, $1200 };
|
||||
// These values are updated based on the players level and the base values from SCORE_BASE_BCD
|
||||
dword[5] score_add_bcd;
|
||||
|
||||
// The speed of moving down the piece when soft-drop is not activated
|
||||
// This array holds the number of frames per move by level (0-29). For all levels 29+ the value is 1.
|
||||
const byte[] MOVEDOWN_SLOW_SPEEDS = { 48, 43, 38, 33, 28, 23, 18, 13, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 };
|
||||
|
||||
// Initialize play data tables
|
||||
void play_init() {
|
||||
// Initialize the playfield line pointers;
|
||||
@ -62,6 +62,20 @@ void play_init() {
|
||||
|
||||
}
|
||||
|
||||
// Perform any movement of the current piece
|
||||
// key_event is the next keyboard_event() og $ff if no keyboard event is pending
|
||||
// Returns a byte signaling whether rendering is needed. (0 no render, >0 render needed)
|
||||
byte play_movement(byte key_event) {
|
||||
byte render = 0;
|
||||
render += play_move_down(key_event);
|
||||
if(game_over!=0) {
|
||||
return render;
|
||||
}
|
||||
render += play_move_leftright(key_event);
|
||||
render += play_move_rotate(key_event);
|
||||
return render;
|
||||
}
|
||||
|
||||
// Move down the current piece
|
||||
// Return non-zero if a render is needed
|
||||
byte play_move_down(byte key_event) {
|
||||
@ -212,11 +226,14 @@ void play_spawn_current() {
|
||||
piece_idx = sid_rnd()&7;
|
||||
}
|
||||
current_piece = PIECES[piece_idx<<1];
|
||||
current_piece_char = PIECES_CHARS[piece_idx];
|
||||
current_orientation = 0;
|
||||
current_piece_gfx = current_piece + current_orientation;
|
||||
current_xpos = PIECES_START_X[piece_idx];
|
||||
current_ypos = PIECES_START_Y[piece_idx];
|
||||
current_piece_char = PIECES_CHARS[piece_idx];
|
||||
if(play_collision(current_xpos,current_ypos,current_orientation)==COLLISION_PLAYFIELD) {
|
||||
game_over = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Look through the playfield for lines - and remove any lines found
|
||||
|
@ -109,7 +109,7 @@ void render_score() {
|
||||
// - bcd: The BCD-value to render
|
||||
// - only_low: if non-zero only renders the low digit
|
||||
void render_bcd(byte* screen, word offset, byte bcd, byte only_low) {
|
||||
const byte ZERO_CHAR = 51;
|
||||
const byte ZERO_CHAR = 53;
|
||||
byte* screen_pos = screen+offset;
|
||||
if(only_low==0) {
|
||||
*screen_pos++ = ZERO_CHAR + (bcd >> 4);
|
||||
|
@ -5,11 +5,14 @@ import "tetris-data"
|
||||
|
||||
kickasm(pc PLAYFIELD_SPRITES, resource "playfield-sprites.png") {{
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.var sprite_gfx_y = sy*20
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
.for (var y=0;y<21; y++) {
|
||||
.var gfx_y = sprite_gfx_y + mod(2100+y-sprite_gfx_y,21)
|
||||
.for (var c=0; c<3; c++) {
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,sy*21+y)
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,gfx_y)
|
||||
}
|
||||
}
|
||||
.byte 0
|
||||
@ -30,14 +33,16 @@ void sprites_init() {
|
||||
}
|
||||
}
|
||||
|
||||
// The line of the first IRQ - 48 is 2 lines before the start of the screen
|
||||
const byte IRQ_RASTER_FIRST = 49;
|
||||
// The Y-position of the first sprite row
|
||||
const byte SPRITES_FIRST_YPOS = 49;
|
||||
// The line of the first IRQ
|
||||
const byte IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS + 19;
|
||||
// The raster line of the next IRQ
|
||||
volatile byte irq_raster_next = IRQ_RASTER_FIRST;
|
||||
// Y-pos of the sprites on the next IRQ
|
||||
volatile byte irq_sprite_ypos = 50;
|
||||
volatile byte irq_sprite_ypos = SPRITES_FIRST_YPOS + 21;
|
||||
// Index of the sprites to show on the next IRQ
|
||||
volatile byte irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES);
|
||||
volatile byte irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES) + 3;
|
||||
// Counting the 10 IRQs
|
||||
volatile byte irq_cnt = 0;
|
||||
|
||||
@ -65,7 +70,8 @@ void sprites_irq_init() {
|
||||
|
||||
|
||||
// Raster Interrupt Routine - sets up the sprites covering the playfield
|
||||
// Repeats 10 timers every 21 lines from line IRQ_RASTER_FIRST
|
||||
// Repeats 10 timers every 2 lines from line IRQ_RASTER_FIRST
|
||||
// Utilizes duplicated gfx in the sprites to allow for some leeway in updating the sprite pointers
|
||||
interrupt(hardware_clobber) void sprites_irq() {
|
||||
// Clear decimal flag (because it is used by the score algorithm)
|
||||
asm { cld }
|
||||
@ -77,8 +83,9 @@ interrupt(hardware_clobber) void sprites_irq() {
|
||||
SPRITES_YPOS[6] = ypos;
|
||||
|
||||
// Wait for the y-position before changing sprite pointers
|
||||
volatile byte raster_sprite_gfx_modify = irq_raster_next+1;
|
||||
do {
|
||||
} while(*RASTER<irq_sprite_ypos);
|
||||
} while(*RASTER<raster_sprite_gfx_modify);
|
||||
|
||||
byte ptr = irq_sprite_ptr;
|
||||
if(render_screen_showing==0) {
|
||||
@ -94,23 +101,25 @@ interrupt(hardware_clobber) void sprites_irq() {
|
||||
}
|
||||
|
||||
// Find next raster line / sprite positions
|
||||
if(++irq_cnt==10) {
|
||||
++irq_cnt;
|
||||
if(irq_cnt==9) {
|
||||
irq_raster_next += 21;
|
||||
irq_sprite_ypos = SPRITES_FIRST_YPOS;
|
||||
irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES);
|
||||
} else if(irq_cnt==10) {
|
||||
irq_cnt = 0;
|
||||
irq_raster_next = IRQ_RASTER_FIRST;
|
||||
irq_sprite_ypos = 50;
|
||||
irq_sprite_ptr = toSpritePtr(PLAYFIELD_SPRITES);
|
||||
irq_sprite_ypos += 21;
|
||||
irq_sprite_ptr += 3;
|
||||
} else {
|
||||
irq_raster_next += 21;
|
||||
irq_raster_next += 20;
|
||||
irq_sprite_ypos += 21;
|
||||
irq_sprite_ptr += 3;
|
||||
}
|
||||
|
||||
// Setup next interrupt - start 1 line earlier when overlapping a badline
|
||||
byte raster_next = irq_raster_next;
|
||||
if((raster_next&7)==3) {
|
||||
raster_next -=1;
|
||||
}
|
||||
*RASTER = raster_next;
|
||||
// Setup next interrupt
|
||||
*RASTER = irq_raster_next;
|
||||
|
||||
// Acknowledge the IRQ and setup the next one
|
||||
*IRQ_STATUS = IRQ_RASTER;
|
||||
|
||||
|
@ -31,9 +31,13 @@ void main() {
|
||||
keyboard_event_scan();
|
||||
byte key_event = keyboard_event_get();
|
||||
byte render = 0;
|
||||
render += play_move_down(key_event);
|
||||
render += play_move_leftright(key_event);
|
||||
render += play_move_rotate(key_event);
|
||||
if(game_over==0) {
|
||||
render = play_movement(key_event);
|
||||
} else {
|
||||
while(true) {
|
||||
(*BORDERCOL)++;
|
||||
}
|
||||
}
|
||||
if(render!=0) {
|
||||
render_playfield();
|
||||
render_moving();
|
||||
|
@ -31,9 +31,10 @@
|
||||
.label PLAYFIELD_CHARSET = $2800
|
||||
.const PLAYFIELD_LINES = $16
|
||||
.const PLAYFIELD_COLS = $a
|
||||
.const IRQ_RASTER_FIRST = $31
|
||||
.const SPRITES_FIRST_YPOS = $31
|
||||
.label PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+SPRITE_PTRS
|
||||
.label PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+SPRITE_PTRS
|
||||
.const IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS+$13
|
||||
.const toSpritePtr1_return = PLAYFIELD_SPRITES>>6
|
||||
.label render_screen_showing = 4
|
||||
.label irq_raster_next = 3
|
||||
@ -45,9 +46,9 @@ bbegin:
|
||||
sta render_screen_showing
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
lda #SPRITES_FIRST_YPOS+$15
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr1_return
|
||||
lda #toSpritePtr1_return+3
|
||||
sta irq_sprite_ptr
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
@ -122,6 +123,7 @@ sprites_init: {
|
||||
}
|
||||
sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
.label raster_sprite_gfx_modify = 8
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
cld
|
||||
@ -130,26 +132,34 @@ sprites_irq: {
|
||||
sta SPRITES_YPOS+2
|
||||
sta SPRITES_YPOS+4
|
||||
sta SPRITES_YPOS+6
|
||||
ldx irq_raster_next
|
||||
inx
|
||||
stx raster_sprite_gfx_modify
|
||||
b1:
|
||||
lda RASTER
|
||||
cmp irq_sprite_ypos
|
||||
cmp raster_sprite_gfx_modify
|
||||
bcc b1
|
||||
ldx irq_sprite_ptr
|
||||
lda render_screen_showing
|
||||
cmp #0
|
||||
beq b2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+3
|
||||
txa
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+2
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+3
|
||||
b3:
|
||||
inc irq_cnt
|
||||
lda irq_cnt
|
||||
cmp #$a
|
||||
cmp #9
|
||||
beq b4
|
||||
lda #$15
|
||||
cmp #$a
|
||||
beq b5
|
||||
lda #$14
|
||||
clc
|
||||
adc irq_raster_next
|
||||
sta irq_raster_next
|
||||
@ -161,15 +171,9 @@ sprites_irq: {
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
b5:
|
||||
ldx irq_raster_next
|
||||
txa
|
||||
and #7
|
||||
cmp #3
|
||||
bne b6
|
||||
dex
|
||||
b6:
|
||||
stx RASTER
|
||||
b7:
|
||||
lda irq_raster_next
|
||||
sta RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_STATUS
|
||||
rega:
|
||||
@ -177,16 +181,30 @@ sprites_irq: {
|
||||
regx:
|
||||
ldx #00
|
||||
rti
|
||||
b4:
|
||||
b5:
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_sprite_ypos
|
||||
sta irq_sprite_ypos
|
||||
lda #3
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
jmp b7
|
||||
b4:
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_raster_next
|
||||
sta irq_raster_next
|
||||
lda #SPRITES_FIRST_YPOS
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr2_return
|
||||
sta irq_sprite_ptr
|
||||
jmp b5
|
||||
jmp b7
|
||||
b2:
|
||||
stx PLAYFIELD_SPRITE_PTRS_1
|
||||
txa
|
||||
@ -201,11 +219,14 @@ sprites_irq: {
|
||||
}
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.var sprite_gfx_y = sy*20
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
.for (var y=0;y<21; y++) {
|
||||
.var gfx_y = sprite_gfx_y + mod(2100+y-sprite_gfx_y,21)
|
||||
.for (var c=0; c<3; c++) {
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,sy*21+y)
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,gfx_y)
|
||||
}
|
||||
}
|
||||
.byte 0
|
||||
|
@ -4,11 +4,14 @@
|
||||
@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("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.var sprite_gfx_y = sy*20
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
.for (var y=0;y<21; y++) {
|
||||
.var gfx_y = sprite_gfx_y + mod(2100+y-sprite_gfx_y,21)
|
||||
.for (var c=0; c<3; c++) {
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,sy*21+y)
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,gfx_y)
|
||||
}
|
||||
}
|
||||
.byte 0
|
||||
@ -18,13 +21,13 @@
|
||||
to:@5
|
||||
@5: scope:[] from @4
|
||||
[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
|
||||
[4] (byte) irq_sprite_ypos#0 ← (const byte) SPRITES_FIRST_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
to:toSpritePtr1
|
||||
toSpritePtr1: scope:[] from @5
|
||||
[5] phi()
|
||||
to:@9
|
||||
@9: scope:[] from toSpritePtr1
|
||||
[6] (byte) irq_sprite_ptr#0 ← (const byte) toSpritePtr1_return#0
|
||||
[6] (byte) irq_sprite_ptr#0 ← (const byte) toSpritePtr1_return#0+(byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
[7] (byte) irq_cnt#0 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
to:@8
|
||||
@8: scope:[] from @9
|
||||
@ -101,64 +104,65 @@ sprites_irq: scope:[sprites_irq] from
|
||||
[48] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ypos#0
|
||||
[49] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 4) ← (byte) sprites_irq::ypos#0
|
||||
[50] *((const byte*) SPRITES_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 6) ← (byte) sprites_irq::ypos#0
|
||||
[51] (byte/signed word/word/dword/signed dword~) sprites_irq::$0 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
[52] (byte) sprites_irq::raster_sprite_gfx_modify#0 ← (byte/signed word/word/dword/signed dword~) sprites_irq::$0
|
||||
to:sprites_irq::@1
|
||||
sprites_irq::@1: scope:[sprites_irq] from sprites_irq sprites_irq::@1
|
||||
[51] if(*((const byte*) RASTER#0)<(byte) irq_sprite_ypos#0) goto sprites_irq::@1
|
||||
to:sprites_irq::@7
|
||||
sprites_irq::@7: scope:[sprites_irq] from sprites_irq::@1
|
||||
[52] (byte) sprites_irq::ptr#0 ← (byte) irq_sprite_ptr#0
|
||||
[53] if((byte) render_screen_showing#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sprites_irq::@2
|
||||
[53] if(*((const byte*) RASTER#0)<(byte) sprites_irq::raster_sprite_gfx_modify#0) goto sprites_irq::@1
|
||||
to:sprites_irq::@8
|
||||
sprites_irq::@8: scope:[sprites_irq] from sprites_irq::@7
|
||||
[54] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0) ← (byte) sprites_irq::ptr#0
|
||||
[55] (byte) sprites_irq::ptr#3 ← ++ (byte) sprites_irq::ptr#0
|
||||
[56] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#3
|
||||
[57] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#3
|
||||
[58] (byte) sprites_irq::ptr#4 ← ++ (byte) sprites_irq::ptr#3
|
||||
[59] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#4
|
||||
sprites_irq::@8: scope:[sprites_irq] from sprites_irq::@1
|
||||
[54] (byte) sprites_irq::ptr#0 ← (byte) irq_sprite_ptr#0
|
||||
[55] if((byte) render_screen_showing#0==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sprites_irq::@2
|
||||
to:sprites_irq::@9
|
||||
sprites_irq::@9: scope:[sprites_irq] from sprites_irq::@8
|
||||
[56] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0) ← (byte) sprites_irq::ptr#0
|
||||
[57] (byte) sprites_irq::ptr#3 ← ++ (byte) sprites_irq::ptr#0
|
||||
[58] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#3
|
||||
[59] *((const byte*) PLAYFIELD_SPRITE_PTRS_2#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#3
|
||||
[60] (byte) sprites_irq::ptr#4 ← ++ (byte) sprites_irq::ptr#3
|
||||
[61] *((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
|
||||
[60] (byte) irq_cnt#1 ← ++ (byte) irq_cnt#0
|
||||
[61] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 10) goto sprites_irq::@4
|
||||
to:sprites_irq::@10
|
||||
sprites_irq::@10: scope:[sprites_irq] from sprites_irq::@3
|
||||
[62] (byte) irq_raster_next#2 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[63] (byte) irq_sprite_ypos#2 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[64] (byte) irq_sprite_ptr#2 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:sprites_irq::@5
|
||||
sprites_irq::@5: scope:[sprites_irq] from sprites_irq::@10 sprites_irq::@13
|
||||
[65] (byte) irq_raster_next#13 ← phi( sprites_irq::@10/(byte) irq_raster_next#2 sprites_irq::@13/(byte) irq_raster_next#1 )
|
||||
[66] (byte) sprites_irq::raster_next#0 ← (byte) irq_raster_next#13
|
||||
[67] (byte~) sprites_irq::$4 ← (byte) sprites_irq::raster_next#0 & (byte/signed byte/word/signed word/dword/signed dword) 7
|
||||
[68] if((byte~) sprites_irq::$4!=(byte/signed byte/word/signed word/dword/signed dword) 3) goto sprites_irq::@6
|
||||
sprites_irq::@3: scope:[sprites_irq] from sprites_irq::@2 sprites_irq::@9
|
||||
[62] (byte) irq_cnt#1 ← ++ (byte) irq_cnt#0
|
||||
[63] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 9) goto sprites_irq::@4
|
||||
to:sprites_irq::@11
|
||||
sprites_irq::@11: scope:[sprites_irq] from sprites_irq::@3
|
||||
[64] if((byte) irq_cnt#1==(byte/signed byte/word/signed word/dword/signed dword) 10) goto sprites_irq::@5
|
||||
to:sprites_irq::@12
|
||||
sprites_irq::@12: scope:[sprites_irq] from sprites_irq::@5
|
||||
[69] (byte) sprites_irq::raster_next#1 ← (byte) sprites_irq::raster_next#0 - (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
to:sprites_irq::@6
|
||||
sprites_irq::@6: scope:[sprites_irq] from sprites_irq::@12 sprites_irq::@5
|
||||
[70] (byte) sprites_irq::raster_next#2 ← phi( sprites_irq::@12/(byte) sprites_irq::raster_next#1 sprites_irq::@5/(byte) sprites_irq::raster_next#0 )
|
||||
[71] *((const byte*) RASTER#0) ← (byte) sprites_irq::raster_next#2
|
||||
[72] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
sprites_irq::@12: scope:[sprites_irq] from sprites_irq::@11
|
||||
[65] (byte) irq_raster_next#3 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 20
|
||||
[66] (byte) irq_sprite_ypos#3 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[67] (byte) irq_sprite_ptr#3 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:sprites_irq::@7
|
||||
sprites_irq::@7: scope:[sprites_irq] from sprites_irq::@12 sprites_irq::@15 sprites_irq::@5
|
||||
[68] (byte) irq_raster_next#4 ← phi( sprites_irq::@12/(byte) irq_raster_next#3 sprites_irq::@15/(byte) irq_raster_next#1 sprites_irq::@5/(byte) irq_raster_next#2 )
|
||||
[69] *((const byte*) RASTER#0) ← (byte) irq_raster_next#4
|
||||
[70] *((const byte*) IRQ_STATUS#0) ← (const byte) IRQ_RASTER#0
|
||||
to:sprites_irq::@return
|
||||
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@6
|
||||
[73] return
|
||||
sprites_irq::@return: scope:[sprites_irq] from sprites_irq::@7
|
||||
[71] return
|
||||
to:@return
|
||||
sprites_irq::@5: scope:[sprites_irq] from sprites_irq::@11
|
||||
[72] (byte) irq_cnt#2 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[73] (byte) irq_raster_next#2 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[74] (byte) irq_sprite_ypos#2 ← (byte) irq_sprite_ypos#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[75] (byte) irq_sprite_ptr#2 ← (byte) irq_sprite_ptr#0 + (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||
to:sprites_irq::@7
|
||||
sprites_irq::@4: scope:[sprites_irq] from sprites_irq::@3
|
||||
[74] (byte) irq_cnt#14 ← (byte/signed byte/word/signed word/dword/signed dword) 0
|
||||
[75] (byte) irq_raster_next#1 ← (const byte) IRQ_RASTER_FIRST#0
|
||||
[76] (byte) irq_sprite_ypos#1 ← (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
[76] (byte) irq_raster_next#1 ← (byte) irq_raster_next#0 + (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||
[77] (byte) irq_sprite_ypos#1 ← (const byte) SPRITES_FIRST_YPOS#0
|
||||
to:sprites_irq::toSpritePtr2
|
||||
sprites_irq::toSpritePtr2: scope:[sprites_irq] from sprites_irq::@4
|
||||
[77] phi()
|
||||
to:sprites_irq::@13
|
||||
sprites_irq::@13: scope:[sprites_irq] from sprites_irq::toSpritePtr2
|
||||
[78] (byte) irq_sprite_ptr#1 ← (const byte) sprites_irq::toSpritePtr2_return#0
|
||||
to:sprites_irq::@5
|
||||
sprites_irq::@2: scope:[sprites_irq] from sprites_irq::@7
|
||||
[79] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0) ← (byte) sprites_irq::ptr#0
|
||||
[80] (byte) sprites_irq::ptr#1 ← ++ (byte) sprites_irq::ptr#0
|
||||
[81] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#1
|
||||
[82] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#1
|
||||
[83] (byte) sprites_irq::ptr#2 ← ++ (byte) sprites_irq::ptr#1
|
||||
[84] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 3) ← (byte) sprites_irq::ptr#2
|
||||
[78] phi()
|
||||
to:sprites_irq::@15
|
||||
sprites_irq::@15: scope:[sprites_irq] from sprites_irq::toSpritePtr2
|
||||
[79] (byte) irq_sprite_ptr#1 ← (const byte) sprites_irq::toSpritePtr2_return#0
|
||||
to:sprites_irq::@7
|
||||
sprites_irq::@2: scope:[sprites_irq] from sprites_irq::@8
|
||||
[80] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0) ← (byte) sprites_irq::ptr#0
|
||||
[81] (byte) sprites_irq::ptr#1 ← ++ (byte) sprites_irq::ptr#0
|
||||
[82] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 1) ← (byte) sprites_irq::ptr#1
|
||||
[83] *((const byte*) PLAYFIELD_SPRITE_PTRS_1#0+(byte/signed byte/word/signed word/dword/signed dword) 2) ← (byte) sprites_irq::ptr#1
|
||||
[84] (byte) sprites_irq::ptr#2 ← ++ (byte) sprites_irq::ptr#1
|
||||
[85] *((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
@ -49,7 +49,7 @@
|
||||
(byte) IRQ_RASTER
|
||||
(const byte) IRQ_RASTER#0 IRQ_RASTER = (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) IRQ_RASTER_FIRST
|
||||
(const byte) IRQ_RASTER_FIRST#0 IRQ_RASTER_FIRST = (byte/signed byte/word/signed word/dword/signed dword) 49
|
||||
(const byte) IRQ_RASTER_FIRST#0 IRQ_RASTER_FIRST = (const byte) SPRITES_FIRST_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 19
|
||||
(byte*) IRQ_STATUS
|
||||
(const byte*) IRQ_STATUS#0 IRQ_STATUS = ((byte*))(word/dword/signed dword) 53273
|
||||
(void()**) KERNEL_IRQ
|
||||
@ -102,6 +102,8 @@
|
||||
(const byte*) SPRITES_EXPAND_X#0 SPRITES_EXPAND_X = ((byte*))(word/dword/signed dword) 53277
|
||||
(byte*) SPRITES_EXPAND_Y
|
||||
(const byte*) SPRITES_EXPAND_Y#0 SPRITES_EXPAND_Y = ((byte*))(word/dword/signed dword) 53271
|
||||
(byte) SPRITES_FIRST_YPOS
|
||||
(const byte) SPRITES_FIRST_YPOS#0 SPRITES_FIRST_YPOS = (byte/signed byte/word/signed word/dword/signed dword) 49
|
||||
(byte*) SPRITES_MC
|
||||
(const byte*) SPRITES_MC#0 SPRITES_MC = ((byte*))(word/dword/signed dword) 53276
|
||||
(byte*) SPRITES_MC1
|
||||
@ -131,23 +133,27 @@
|
||||
(byte*) current_piece_gfx
|
||||
(byte) current_xpos
|
||||
(byte) current_ypos
|
||||
(byte) game_over
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:7 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:7 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:7 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:7 0.17391304347826086
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:7 3.0
|
||||
(byte) irq_cnt#2 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.17391304347826086
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:3 0.3076923076923077
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:3 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:3 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:3 1.3333333333333333
|
||||
(byte) irq_raster_next#3 irq_raster_next zp ZP_BYTE:3 1.3333333333333333
|
||||
(byte) irq_raster_next#4 irq_raster_next zp ZP_BYTE:3 8.0
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:6 0.24
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:6 0.25806451612903225
|
||||
(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_ptr#3 irq_sprite_ptr zp ZP_BYTE:6 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:5 0.27586206896551724
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) irq_sprite_ypos#3 irq_sprite_ypos zp ZP_BYTE:5 20.0
|
||||
(byte) level
|
||||
(byte) level_bcd
|
||||
(word) lines_bcd
|
||||
@ -185,7 +191,7 @@
|
||||
(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.5
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:4 0.4
|
||||
(dword) score_bcd
|
||||
(void()) sprites_init()
|
||||
(label) sprites_init::@1
|
||||
@ -199,29 +205,27 @@
|
||||
(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
|
||||
(byte/signed word/word/dword/signed dword~) sprites_irq::$0 reg byte x 4.0
|
||||
(label) sprites_irq::@1
|
||||
(label) sprites_irq::@10
|
||||
(label) sprites_irq::@11
|
||||
(label) sprites_irq::@12
|
||||
(label) sprites_irq::@13
|
||||
(label) sprites_irq::@15
|
||||
(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::@9
|
||||
(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
|
||||
(byte) sprites_irq::ptr#3 reg byte a 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#4 reg byte a 4.0
|
||||
(byte) sprites_irq::raster_sprite_gfx_modify
|
||||
(byte) sprites_irq::raster_sprite_gfx_modify#0 raster_sprite_gfx_modify zp ZP_BYTE:8 6.5
|
||||
(label) sprites_irq::toSpritePtr2
|
||||
(word~) sprites_irq::toSpritePtr2_$0
|
||||
(word~) sprites_irq::toSpritePtr2_$1
|
||||
@ -243,17 +247,17 @@ interrupt(HARDWARE_CLOBBER)(void()) sprites_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#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:3 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 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 ]
|
||||
zp ZP_BYTE:5 [ irq_sprite_ypos#0 irq_sprite_ypos#3 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:6 [ irq_sprite_ptr#0 irq_sprite_ptr#3 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:7 [ irq_cnt#0 irq_cnt#1 irq_cnt#2 ]
|
||||
reg byte a [ sprites_init::s2#0 ]
|
||||
reg byte a [ sprites_irq::ypos#0 ]
|
||||
reg byte x [ sprites_irq::$0 ]
|
||||
zp ZP_BYTE:8 [ sprites_irq::raster_sprite_gfx_modify#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#3 ]
|
||||
reg byte a [ sprites_irq::ptr#4 ]
|
||||
reg byte a [ sprites_irq::ptr#1 ]
|
||||
reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
@ -65,7 +65,7 @@
|
||||
.label PLAYFIELD_CHARSET = $2800
|
||||
.const PLAYFIELD_LINES = $16
|
||||
.const PLAYFIELD_COLS = $a
|
||||
.const IRQ_RASTER_FIRST = $31
|
||||
.const SPRITES_FIRST_YPOS = $31
|
||||
.const current_movedown_fast = 2
|
||||
.const COLLISION_NONE = 0
|
||||
.const COLLISION_PLAYFIELD = 1
|
||||
@ -74,72 +74,79 @@
|
||||
.const COLLISION_RIGHT = 8
|
||||
.label PLAYFIELD_SPRITE_PTRS_1 = PLAYFIELD_SCREEN_1+SPRITE_PTRS
|
||||
.label PLAYFIELD_SPRITE_PTRS_2 = PLAYFIELD_SCREEN_2+SPRITE_PTRS
|
||||
.const IRQ_RASTER_FIRST = SPRITES_FIRST_YPOS+$13
|
||||
.const toSpritePtr1_return = PLAYFIELD_SPRITES>>6
|
||||
.label keyboard_events_size = $21
|
||||
.label render_screen_showing = $23
|
||||
.label irq_raster_next = $22
|
||||
.label irq_sprite_ypos = $24
|
||||
.label irq_sprite_ptr = $25
|
||||
.label irq_cnt = $26
|
||||
.label keyboard_events_size = $22
|
||||
.label render_screen_showing = $24
|
||||
.label irq_raster_next = $23
|
||||
.label irq_sprite_ypos = $25
|
||||
.label irq_sprite_ptr = $26
|
||||
.label irq_cnt = $27
|
||||
.label current_movedown_slow = $18
|
||||
.label current_movedown_counter = 4
|
||||
.label current_ypos = $10
|
||||
.label current_piece_gfx = $1d
|
||||
.label current_xpos = $1f
|
||||
.label current_piece_char = $20
|
||||
.label current_orientation = $1c
|
||||
.label current_xpos = $20
|
||||
.label current_orientation = $1d
|
||||
.label current_piece_gfx = $1e
|
||||
.label level_bcd = $19
|
||||
.label level = $17
|
||||
.label render_screen_render = 3
|
||||
.label render_screen_show = 2
|
||||
.label current_movedown_counter = 4
|
||||
.label lines_bcd = $11
|
||||
.label score_bcd = $13
|
||||
.label level = $17
|
||||
.label current_piece = $1a
|
||||
.label current_piece_12 = 5
|
||||
.label current_piece_char = $1c
|
||||
.label game_over = $21
|
||||
.label current_piece_16 = 5
|
||||
.label render_screen_render_30 = 9
|
||||
.label current_xpos_47 = $a
|
||||
.label current_piece_gfx_53 = 5
|
||||
.label render_screen_render_64 = 9
|
||||
.label current_xpos_112 = $a
|
||||
.label current_xpos_113 = $a
|
||||
.label current_piece_gfx_102 = 5
|
||||
.label current_piece_gfx_103 = 5
|
||||
.label current_piece_76 = 5
|
||||
.label current_piece_77 = 5
|
||||
.label current_piece_78 = 5
|
||||
.label current_piece_79 = 5
|
||||
.label current_xpos_57 = $a
|
||||
.label current_piece_gfx_62 = 5
|
||||
.label current_piece_char_75 = $b
|
||||
.label render_screen_render_68 = 9
|
||||
.label current_xpos_125 = $a
|
||||
.label current_xpos_126 = $a
|
||||
.label current_piece_gfx_115 = 5
|
||||
.label current_piece_gfx_116 = 5
|
||||
.label current_piece_char_103 = $b
|
||||
.label current_piece_char_104 = $b
|
||||
.label current_piece_89 = 5
|
||||
.label current_piece_90 = 5
|
||||
.label current_piece_91 = 5
|
||||
.label current_piece_92 = 5
|
||||
.label current_piece_93 = 5
|
||||
bbegin:
|
||||
lda #0
|
||||
sta render_screen_showing
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
lda #SPRITES_FIRST_YPOS+$15
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr1_return
|
||||
lda #toSpritePtr1_return+3
|
||||
sta irq_sprite_ptr
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $f
|
||||
.label render = $27
|
||||
jsr sid_rnd_init
|
||||
sei
|
||||
jsr render_init
|
||||
jsr sprites_init
|
||||
jsr sprites_irq_init
|
||||
jsr play_init
|
||||
lda #0
|
||||
sta game_over
|
||||
jsr play_spawn_current
|
||||
ldx #$40
|
||||
jsr render_playfield
|
||||
ldy current_ypos
|
||||
ldx current_ypos
|
||||
lda current_xpos
|
||||
sta current_xpos_112
|
||||
sta current_xpos_125
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_102
|
||||
sta current_piece_gfx_115
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_102+1
|
||||
ldx current_piece_char
|
||||
sta current_piece_gfx_115+1
|
||||
lda current_piece_char
|
||||
sta current_piece_char_103
|
||||
lda #$40
|
||||
sta render_screen_render_30
|
||||
jsr render_moving
|
||||
@ -168,41 +175,46 @@ 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
|
||||
sta key_event
|
||||
jsr play_move_down
|
||||
txa
|
||||
clc
|
||||
adc #0
|
||||
sta render
|
||||
lda key_event
|
||||
jsr play_move_leftright
|
||||
clc
|
||||
adc render
|
||||
sta render
|
||||
lda key_event
|
||||
jsr play_move_rotate
|
||||
clc
|
||||
adc render
|
||||
lda game_over
|
||||
cmp #0
|
||||
beq b4
|
||||
beq b7
|
||||
b9:
|
||||
inc BORDERCOL
|
||||
jmp b9
|
||||
b7:
|
||||
stx play_movement.key_event
|
||||
jsr play_movement
|
||||
lda play_movement.return
|
||||
cmp #0
|
||||
beq b12
|
||||
ldx render_screen_render
|
||||
jsr render_playfield
|
||||
ldy current_ypos
|
||||
ldx current_ypos
|
||||
lda render_screen_render
|
||||
sta render_screen_render_64
|
||||
sta render_screen_render_68
|
||||
lda current_xpos
|
||||
sta current_xpos_113
|
||||
sta current_xpos_126
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_103
|
||||
sta current_piece_gfx_116
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_103+1
|
||||
ldx current_piece_char
|
||||
sta current_piece_gfx_116+1
|
||||
lda current_piece_char
|
||||
sta current_piece_char_104
|
||||
jsr render_moving
|
||||
jsr render_score
|
||||
jsr render_screen_swap
|
||||
b12:
|
||||
lda #0
|
||||
sta BORDERCOL
|
||||
jmp b4
|
||||
}
|
||||
render_screen_swap: {
|
||||
@ -281,7 +293,7 @@ render_score: {
|
||||
rts
|
||||
}
|
||||
render_bcd: {
|
||||
.const ZERO_CHAR = $33
|
||||
.const ZERO_CHAR = $35
|
||||
.label screen = 5
|
||||
.label screen_pos = 7
|
||||
.label offset = 7
|
||||
@ -321,13 +333,12 @@ render_bcd: {
|
||||
rts
|
||||
}
|
||||
render_moving: {
|
||||
.label ypos2 = $b
|
||||
.label ypos2 = $c
|
||||
.label screen_line = 7
|
||||
.label xpos = $e
|
||||
.label i = $d
|
||||
.label l = $c
|
||||
.label c = $f
|
||||
tya
|
||||
.label xpos = $f
|
||||
.label i = $e
|
||||
.label l = $d
|
||||
txa
|
||||
asl
|
||||
sta ypos2
|
||||
lda #0
|
||||
@ -368,27 +379,25 @@ render_moving: {
|
||||
sta screen_line
|
||||
lda screen_lines_1+1,y
|
||||
sta screen_line+1
|
||||
lda current_xpos_47
|
||||
lda current_xpos_57
|
||||
sta xpos
|
||||
lda #0
|
||||
sta c
|
||||
ldx #0
|
||||
b4:
|
||||
ldy i
|
||||
lda (current_piece_gfx_53),y
|
||||
lda (current_piece_gfx_62),y
|
||||
inc i
|
||||
cmp #0
|
||||
beq b5
|
||||
lda xpos
|
||||
cmp #PLAYFIELD_COLS
|
||||
bcs b5
|
||||
tay
|
||||
txa
|
||||
lda current_piece_char_75
|
||||
ldy xpos
|
||||
sta (screen_line),y
|
||||
b5:
|
||||
inc xpos
|
||||
inc c
|
||||
lda c
|
||||
cmp #4
|
||||
inx
|
||||
cpx #4
|
||||
bne b4
|
||||
jmp b3
|
||||
}
|
||||
@ -434,8 +443,36 @@ render_playfield: {
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
play_movement: {
|
||||
.label render = 9
|
||||
.label return = 9
|
||||
.label key_event = $28
|
||||
lda key_event
|
||||
jsr play_move_down
|
||||
txa
|
||||
clc
|
||||
adc #0
|
||||
sta render
|
||||
lda game_over
|
||||
cmp #0
|
||||
beq b1
|
||||
breturn:
|
||||
rts
|
||||
b1:
|
||||
lda key_event
|
||||
jsr play_move_leftright
|
||||
clc
|
||||
adc render
|
||||
sta render
|
||||
lda key_event
|
||||
jsr play_move_rotate
|
||||
clc
|
||||
adc return
|
||||
sta return
|
||||
jmp breturn
|
||||
}
|
||||
play_move_rotate: {
|
||||
.label orientation = 9
|
||||
.label orientation = $a
|
||||
cmp #KEY_Z
|
||||
beq b1
|
||||
cmp #KEY_X
|
||||
@ -453,12 +490,13 @@ play_move_rotate: {
|
||||
b4:
|
||||
lda current_xpos
|
||||
sta play_collision.xpos
|
||||
ldy current_ypos
|
||||
lda current_ypos
|
||||
sta play_collision.ypos
|
||||
ldx orientation
|
||||
lda current_piece
|
||||
sta current_piece_79
|
||||
sta current_piece_92
|
||||
lda current_piece+1
|
||||
sta current_piece_79+1
|
||||
sta current_piece_92+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -481,17 +519,18 @@ play_move_rotate: {
|
||||
jmp b4
|
||||
}
|
||||
play_collision: {
|
||||
.label xpos = $a
|
||||
.label xpos = $c
|
||||
.label ypos = $b
|
||||
.label piece_gfx = 5
|
||||
.label ypos2 = $b
|
||||
.label playfield_line = 7
|
||||
.label i = $28
|
||||
.label col = $e
|
||||
.label l = $c
|
||||
.label i_2 = $d
|
||||
.label i_3 = $d
|
||||
.label i_11 = $d
|
||||
.label i_13 = $d
|
||||
.label i = $29
|
||||
.label col = $f
|
||||
.label l = $d
|
||||
.label i_2 = $e
|
||||
.label i_3 = $e
|
||||
.label i_11 = $e
|
||||
.label i_13 = $e
|
||||
txa
|
||||
clc
|
||||
adc piece_gfx
|
||||
@ -499,9 +538,7 @@ play_collision: {
|
||||
lda #0
|
||||
adc piece_gfx+1
|
||||
sta piece_gfx+1
|
||||
tya
|
||||
asl
|
||||
sta ypos2
|
||||
asl ypos2
|
||||
lda #0
|
||||
sta l
|
||||
sta i_3
|
||||
@ -580,12 +617,13 @@ play_move_leftright: {
|
||||
ldy current_xpos
|
||||
iny
|
||||
sty play_collision.xpos
|
||||
ldy current_ypos
|
||||
lda current_ypos
|
||||
sta play_collision.ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_78
|
||||
sta current_piece_91
|
||||
lda current_piece+1
|
||||
sta current_piece_78+1
|
||||
sta current_piece_91+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -601,12 +639,13 @@ play_move_leftright: {
|
||||
ldx current_xpos
|
||||
dex
|
||||
stx play_collision.xpos
|
||||
ldy current_ypos
|
||||
lda current_ypos
|
||||
sta play_collision.ypos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_77
|
||||
sta current_piece_90
|
||||
lda current_piece+1
|
||||
sta current_piece_77+1
|
||||
sta current_piece_90+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -641,13 +680,14 @@ play_move_down: {
|
||||
beq b5
|
||||
ldy current_ypos
|
||||
iny
|
||||
sty play_collision.ypos
|
||||
lda current_xpos
|
||||
sta play_collision.xpos
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_76
|
||||
sta current_piece_89
|
||||
lda current_piece+1
|
||||
sta current_piece_76+1
|
||||
sta current_piece_89+1
|
||||
jsr play_collision
|
||||
cmp #COLLISION_NONE
|
||||
beq b6
|
||||
@ -686,7 +726,9 @@ play_spawn_current: {
|
||||
txa
|
||||
asl
|
||||
sta _3
|
||||
tay
|
||||
lda PIECES_CHARS,x
|
||||
sta current_piece_char
|
||||
ldy _3
|
||||
lda PIECES,y
|
||||
sta current_piece_gfx
|
||||
lda PIECES+1,y
|
||||
@ -695,8 +737,21 @@ play_spawn_current: {
|
||||
sta current_xpos
|
||||
lda PIECES_START_Y,x
|
||||
sta current_ypos
|
||||
lda PIECES_CHARS,x
|
||||
sta current_piece_char
|
||||
lda current_xpos
|
||||
sta play_collision.xpos
|
||||
lda current_ypos
|
||||
sta play_collision.ypos
|
||||
lda PIECES,y
|
||||
sta current_piece_93
|
||||
lda PIECES+1,y
|
||||
sta current_piece_93+1
|
||||
ldx #0
|
||||
jsr play_collision
|
||||
cmp #COLLISION_PLAYFIELD
|
||||
bne breturn
|
||||
lda #1
|
||||
sta game_over
|
||||
breturn:
|
||||
rts
|
||||
b2:
|
||||
jsr sid_rnd
|
||||
@ -710,7 +765,7 @@ sid_rnd: {
|
||||
}
|
||||
play_update_score: {
|
||||
.label lines_before = 4
|
||||
.label add_bcd = $29
|
||||
.label add_bcd = $2a
|
||||
cpx #0
|
||||
beq breturn
|
||||
lda lines_bcd
|
||||
@ -943,11 +998,12 @@ keyboard_event_get: {
|
||||
cmp #0
|
||||
beq b1
|
||||
dec keyboard_events_size
|
||||
ldy keyboard_events_size
|
||||
lda keyboard_events,y
|
||||
ldx keyboard_events_size
|
||||
lda keyboard_events,x
|
||||
tax
|
||||
jmp breturn
|
||||
b1:
|
||||
lda #$ff
|
||||
ldx #$ff
|
||||
breturn:
|
||||
rts
|
||||
}
|
||||
@ -1355,6 +1411,7 @@ sid_rnd_init: {
|
||||
}
|
||||
sprites_irq: {
|
||||
.const toSpritePtr2_return = PLAYFIELD_SPRITES>>6
|
||||
.label raster_sprite_gfx_modify = $2e
|
||||
sta rega+1
|
||||
stx regx+1
|
||||
cld
|
||||
@ -1363,26 +1420,34 @@ sprites_irq: {
|
||||
sta SPRITES_YPOS+2
|
||||
sta SPRITES_YPOS+4
|
||||
sta SPRITES_YPOS+6
|
||||
ldx irq_raster_next
|
||||
inx
|
||||
stx raster_sprite_gfx_modify
|
||||
b1:
|
||||
lda RASTER
|
||||
cmp irq_sprite_ypos
|
||||
cmp raster_sprite_gfx_modify
|
||||
bcc b1
|
||||
ldx irq_sprite_ptr
|
||||
lda render_screen_showing
|
||||
cmp #0
|
||||
beq b2
|
||||
stx PLAYFIELD_SPRITE_PTRS_2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+1
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+2
|
||||
inx
|
||||
stx PLAYFIELD_SPRITE_PTRS_2+3
|
||||
txa
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+2
|
||||
clc
|
||||
adc #1
|
||||
sta PLAYFIELD_SPRITE_PTRS_2+3
|
||||
b3:
|
||||
inc irq_cnt
|
||||
lda irq_cnt
|
||||
cmp #$a
|
||||
cmp #9
|
||||
beq b4
|
||||
lda #$15
|
||||
cmp #$a
|
||||
beq b5
|
||||
lda #$14
|
||||
clc
|
||||
adc irq_raster_next
|
||||
sta irq_raster_next
|
||||
@ -1394,15 +1459,9 @@ sprites_irq: {
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
b5:
|
||||
ldx irq_raster_next
|
||||
txa
|
||||
and #7
|
||||
cmp #3
|
||||
bne b6
|
||||
dex
|
||||
b6:
|
||||
stx RASTER
|
||||
b7:
|
||||
lda irq_raster_next
|
||||
sta RASTER
|
||||
lda #IRQ_RASTER
|
||||
sta IRQ_STATUS
|
||||
rega:
|
||||
@ -1410,16 +1469,30 @@ sprites_irq: {
|
||||
regx:
|
||||
ldx #00
|
||||
rti
|
||||
b4:
|
||||
b5:
|
||||
lda #0
|
||||
sta irq_cnt
|
||||
lda #IRQ_RASTER_FIRST
|
||||
sta irq_raster_next
|
||||
lda #$32
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_sprite_ypos
|
||||
sta irq_sprite_ypos
|
||||
lda #3
|
||||
clc
|
||||
adc irq_sprite_ptr
|
||||
sta irq_sprite_ptr
|
||||
jmp b7
|
||||
b4:
|
||||
lda #$15
|
||||
clc
|
||||
adc irq_raster_next
|
||||
sta irq_raster_next
|
||||
lda #SPRITES_FIRST_YPOS
|
||||
sta irq_sprite_ypos
|
||||
lda #toSpritePtr2_return
|
||||
sta irq_sprite_ptr
|
||||
jmp b5
|
||||
jmp b7
|
||||
b2:
|
||||
stx PLAYFIELD_SPRITE_PTRS_1
|
||||
txa
|
||||
@ -1453,9 +1526,9 @@ sprites_irq: {
|
||||
PIECES_CHARS: .byte $64, $65, $a5, $65, $64, $64, $a5
|
||||
PIECES_START_X: .byte 4, 4, 4, 4, 4, 4, 4
|
||||
PIECES_START_Y: .byte 1, 1, 1, 1, 1, 0, 1
|
||||
MOVEDOWN_SLOW_SPEEDS: .byte $30, $2b, $26, $21, $1c, $17, $12, $d, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
|
||||
SCORE_BASE_BCD: .dword 0, $40, $100, $300, $1200
|
||||
score_add_bcd: .fill 4*5, 0
|
||||
MOVEDOWN_SLOW_SPEEDS: .byte $30, $2b, $26, $21, $1c, $17, $12, $d, 8, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
|
||||
.align $80
|
||||
screen_lines_1: .fill 2*PLAYFIELD_LINES, 0
|
||||
.align $40
|
||||
@ -1483,11 +1556,14 @@ sprites_irq: {
|
||||
|
||||
.pc = PLAYFIELD_SPRITES "PLAYFIELD_SPRITES"
|
||||
.var sprites = LoadPicture("playfield-sprites.png", List().add($010101, $000000))
|
||||
// Put the sprites into memory
|
||||
.for(var sy=0;sy<10;sy++) {
|
||||
.var sprite_gfx_y = sy*20
|
||||
.for(var sx=0;sx<3;sx++) {
|
||||
.for (var y=0;y<21; y++) {
|
||||
.var gfx_y = sprite_gfx_y + mod(2100+y-sprite_gfx_y,21)
|
||||
.for (var c=0; c<3; c++) {
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,sy*21+y)
|
||||
.byte sprites.getSinglecolorByte(sx*3+c,gfx_y)
|
||||
}
|
||||
}
|
||||
.byte 0
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
(label) @14
|
||||
(label) @22
|
||||
(label) @23
|
||||
(label) @36
|
||||
(label) @37
|
||||
(label) @38
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte*) BGCOL
|
||||
@ -72,7 +72,7 @@
|
||||
(byte) IRQ_RASTER
|
||||
(const byte) IRQ_RASTER#0 IRQ_RASTER = (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte) IRQ_RASTER_FIRST
|
||||
(const byte) IRQ_RASTER_FIRST#0 IRQ_RASTER_FIRST = (byte/signed byte/word/signed word/dword/signed dword) 49
|
||||
(const byte) IRQ_RASTER_FIRST#0 IRQ_RASTER_FIRST = (const byte) SPRITES_FIRST_YPOS#0+(byte/signed byte/word/signed word/dword/signed dword) 19
|
||||
(byte*) IRQ_STATUS
|
||||
(const byte*) IRQ_STATUS#0 IRQ_STATUS = ((byte*))(word/dword/signed dword) 53273
|
||||
(void()**) KERNEL_IRQ
|
||||
@ -253,6 +253,8 @@
|
||||
(const byte*) SPRITES_EXPAND_X#0 SPRITES_EXPAND_X = ((byte*))(word/dword/signed dword) 53277
|
||||
(byte*) SPRITES_EXPAND_Y
|
||||
(const byte*) SPRITES_EXPAND_Y#0 SPRITES_EXPAND_Y = ((byte*))(word/dword/signed dword) 53271
|
||||
(byte) SPRITES_FIRST_YPOS
|
||||
(const byte) SPRITES_FIRST_YPOS#0 SPRITES_FIRST_YPOS = (byte/signed byte/word/signed word/dword/signed dword) 49
|
||||
(byte*) SPRITES_MC
|
||||
(const byte*) SPRITES_MC#0 SPRITES_MC = ((byte*))(word/dword/signed dword) 53276
|
||||
(byte*) SPRITES_MC1
|
||||
@ -282,99 +284,112 @@
|
||||
(byte) WHITE
|
||||
(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 3.931034482758621
|
||||
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:4 10.363636363636363
|
||||
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:4 0.5333333333333333
|
||||
(byte) current_movedown_counter#14 current_movedown_counter zp ZP_BYTE:4 0.35135135135135137
|
||||
(byte) current_movedown_counter#16 current_movedown_counter zp ZP_BYTE:4 0.9285714285714286
|
||||
(byte) current_movedown_fast
|
||||
(const byte) current_movedown_fast#0 current_movedown_fast = (byte/signed byte/word/signed word/dword/signed dword) 2
|
||||
(byte) current_movedown_slow
|
||||
(byte) current_movedown_slow#1 current_movedown_slow zp ZP_BYTE:24 0.2222222222222222
|
||||
(byte) current_movedown_slow#12 current_movedown_slow zp ZP_BYTE:24 2.296296296296297
|
||||
(byte) current_movedown_slow#17 current_movedown_slow zp ZP_BYTE:24 4.0
|
||||
(byte) current_movedown_slow#19 current_movedown_slow zp ZP_BYTE:24 1.3333333333333333
|
||||
(byte) current_movedown_slow#31 current_movedown_slow zp ZP_BYTE:24 6.0
|
||||
(byte) current_movedown_slow#60 current_movedown_slow zp ZP_BYTE:24 0.26666666666666666
|
||||
(byte) current_movedown_slow#8 current_movedown_slow zp ZP_BYTE:24 4.0
|
||||
(byte) current_movedown_slow#10 current_movedown_slow zp ZP_BYTE:24 4.0
|
||||
(byte) current_movedown_slow#14 current_movedown_slow zp ZP_BYTE:24 0.40350877192982454
|
||||
(byte) current_movedown_slow#21 current_movedown_slow zp ZP_BYTE:24 0.40540540540540543
|
||||
(byte) current_movedown_slow#23 current_movedown_slow zp ZP_BYTE:24 1.3333333333333333
|
||||
(byte) current_movedown_slow#38 current_movedown_slow zp ZP_BYTE:24 6.0
|
||||
(byte) current_movedown_slow#68 current_movedown_slow zp ZP_BYTE:24 0.26666666666666666
|
||||
(byte) current_orientation
|
||||
(byte) current_orientation#10 current_orientation zp ZP_BYTE:28 3.371428571428571
|
||||
(byte) current_orientation#14 current_orientation zp ZP_BYTE:28 0.32653061224489793
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:28 6.210526315789475
|
||||
(byte) current_orientation#29 current_orientation zp ZP_BYTE:28 4.0
|
||||
(byte) current_orientation#4 current_orientation zp ZP_BYTE:28 3.0
|
||||
(byte) current_orientation#12 current_orientation zp ZP_BYTE:29 0.4473684210526316
|
||||
(byte) current_orientation#16 current_orientation zp ZP_BYTE:29 0.75
|
||||
(byte) current_orientation#19 current_orientation zp ZP_BYTE:29 0.36
|
||||
(byte) current_orientation#24 current_orientation zp ZP_BYTE:29 1.3333333333333333
|
||||
(byte) current_orientation#36 current_orientation zp ZP_BYTE:29 4.0
|
||||
(byte) current_orientation#7 current_orientation zp ZP_BYTE:29 3.0
|
||||
(byte*) current_piece
|
||||
(byte*) current_piece#10 current_piece zp ZP_WORD:26 1.771428571428571
|
||||
(byte*) current_piece#12 current_piece#12 zp ZP_WORD:5 10.0
|
||||
(byte*) current_piece#16 current_piece zp ZP_WORD:26 3.428571428571428
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:26 6.0
|
||||
(byte*~) current_piece#73 current_piece zp ZP_WORD:26 4.0
|
||||
(byte*~) current_piece#76 current_piece#76 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#77 current_piece#77 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#78 current_piece#78 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#79 current_piece#79 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#80 current_piece zp ZP_WORD:26 4.0
|
||||
(byte*) current_piece#14 current_piece zp ZP_WORD:26 0.2948717948717949
|
||||
(byte*) current_piece#16 current_piece#16 zp ZP_WORD:5 12.0
|
||||
(byte*) current_piece#20 current_piece zp ZP_WORD:26 0.5
|
||||
(byte*) current_piece#27 current_piece zp ZP_WORD:26 6.0
|
||||
(byte*~) current_piece#88 current_piece zp ZP_WORD:26 4.0
|
||||
(byte*~) current_piece#89 current_piece#89 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#90 current_piece#90 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#91 current_piece#91 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#92 current_piece#92 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#93 current_piece#93 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#94 current_piece zp ZP_WORD:26 4.0
|
||||
(byte) current_piece_char
|
||||
(byte) current_piece_char#1 current_piece_char zp ZP_BYTE:32 4.379310344827585
|
||||
(byte) current_piece_char#12 current_piece_char zp ZP_BYTE:32 0.6153846153846154
|
||||
(byte) current_piece_char#15 current_piece_char zp ZP_BYTE:32 194.59615384615384
|
||||
(byte) current_piece_char#20 current_piece_char zp ZP_BYTE:32 6.0
|
||||
(byte) current_piece_char#64 reg byte x 46.09090909090909
|
||||
(byte~) current_piece_char#90 reg byte x 4.0
|
||||
(byte~) current_piece_char#91 reg byte x 22.0
|
||||
(byte~) current_piece_char#103 current_piece_char#103 zp ZP_BYTE:11 4.0
|
||||
(byte~) current_piece_char#104 current_piece_char#104 zp ZP_BYTE:11 22.0
|
||||
(byte) current_piece_char#14 current_piece_char zp ZP_BYTE:28 0.7027027027027027
|
||||
(byte) current_piece_char#16 current_piece_char zp ZP_BYTE:28 0.32
|
||||
(byte) current_piece_char#19 current_piece_char zp ZP_BYTE:28 18.509090909090908
|
||||
(byte) current_piece_char#27 current_piece_char zp ZP_BYTE:28 6.0
|
||||
(byte) current_piece_char#75 current_piece_char#75 zp ZP_BYTE:11 46.09090909090909
|
||||
(byte*) current_piece_gfx
|
||||
(byte*) current_piece_gfx#1 current_piece_gfx zp ZP_WORD:29 0.2962962962962963
|
||||
(byte*~) current_piece_gfx#102 current_piece_gfx#102 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#103 current_piece_gfx#103 zp ZP_WORD:5 11.0
|
||||
(byte*) current_piece_gfx#14 current_piece_gfx zp ZP_WORD:29 6.789473684210528
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:29 0.5
|
||||
(byte*) current_piece_gfx#20 current_piece_gfx zp ZP_WORD:29 194.59615384615384
|
||||
(byte*) current_piece_gfx#26 current_piece_gfx zp ZP_WORD:29 6.0
|
||||
(byte*) current_piece_gfx#3 current_piece_gfx zp ZP_WORD:29 4.0
|
||||
(byte*) current_piece_gfx#53 current_piece_gfx#53 zp ZP_WORD:5 46.09090909090909
|
||||
(byte*) current_piece_gfx#105 current_piece_gfx zp ZP_WORD:30 18.509090909090908
|
||||
(byte*~) current_piece_gfx#115 current_piece_gfx#115 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#116 current_piece_gfx#116 zp ZP_WORD:5 11.0
|
||||
(byte*) current_piece_gfx#16 current_piece_gfx zp ZP_WORD:30 1.3000000000000003
|
||||
(byte*) current_piece_gfx#18 current_piece_gfx zp ZP_WORD:30 0.3571428571428571
|
||||
(byte*) current_piece_gfx#19 current_piece_gfx zp ZP_WORD:30 1.3333333333333333
|
||||
(byte*) current_piece_gfx#21 current_piece_gfx zp ZP_WORD:30 0.3333333333333333
|
||||
(byte*) current_piece_gfx#33 current_piece_gfx zp ZP_WORD:30 6.0
|
||||
(byte*) current_piece_gfx#6 current_piece_gfx zp ZP_WORD:30 4.0
|
||||
(byte*) current_piece_gfx#62 current_piece_gfx#62 zp ZP_WORD:5 46.09090909090909
|
||||
(byte) current_xpos
|
||||
(byte) current_xpos#1 current_xpos zp ZP_BYTE:31 0.72
|
||||
(byte) current_xpos#10 current_xpos zp ZP_BYTE:31 21.557692307692307
|
||||
(byte~) current_xpos#112 current_xpos#112 zp ZP_BYTE:10 1.3333333333333333
|
||||
(byte~) current_xpos#113 current_xpos#113 zp ZP_BYTE:10 7.333333333333333
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:31 3.139534883720931
|
||||
(byte) current_xpos#2 current_xpos zp ZP_BYTE:31 4.0
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:31 0.5333333333333333
|
||||
(byte) current_xpos#33 current_xpos zp ZP_BYTE:31 6.0
|
||||
(byte) current_xpos#4 current_xpos zp ZP_BYTE:31 4.0
|
||||
(byte) current_xpos#47 current_xpos#47 zp ZP_BYTE:10 5.181818181818182
|
||||
(byte) current_xpos#115 current_xpos zp ZP_BYTE:32 2.181818181818182
|
||||
(byte~) current_xpos#125 current_xpos#125 zp ZP_BYTE:10 1.3333333333333333
|
||||
(byte~) current_xpos#126 current_xpos#126 zp ZP_BYTE:10 7.333333333333333
|
||||
(byte) current_xpos#17 current_xpos zp ZP_BYTE:32 1.3000000000000003
|
||||
(byte) current_xpos#20 current_xpos zp ZP_BYTE:32 0.7692307692307692
|
||||
(byte) current_xpos#24 current_xpos zp ZP_BYTE:32 0.4666666666666666
|
||||
(byte) current_xpos#28 current_xpos zp ZP_BYTE:32 0.43478260869565216
|
||||
(byte) current_xpos#41 current_xpos zp ZP_BYTE:32 6.0
|
||||
(byte) current_xpos#5 current_xpos zp ZP_BYTE:32 4.0
|
||||
(byte) current_xpos#57 current_xpos#57 zp ZP_BYTE:10 5.181818181818182
|
||||
(byte) current_xpos#7 current_xpos zp ZP_BYTE:32 4.0
|
||||
(byte) current_ypos
|
||||
(byte) current_ypos#0 current_ypos zp ZP_BYTE:16 4.0
|
||||
(byte) current_ypos#13 current_ypos zp ZP_BYTE:16 1.8999999999999995
|
||||
(byte) current_ypos#18 current_ypos zp ZP_BYTE:16 0.5714285714285714
|
||||
(byte) current_ypos#21 current_ypos zp ZP_BYTE:16 3.485714285714285
|
||||
(byte) current_ypos#29 current_ypos zp ZP_BYTE:16 6.0
|
||||
(byte~) current_ypos#86 reg byte y 1.0
|
||||
(byte~) current_ypos#87 reg byte y 4.4
|
||||
(byte) current_ypos#9 reg byte y 15.0
|
||||
(byte~) current_ypos#100 reg byte x 4.4
|
||||
(byte) current_ypos#11 reg byte x 15.0
|
||||
(byte) current_ypos#17 current_ypos zp ZP_BYTE:16 0.41025641025641035
|
||||
(byte) current_ypos#2 current_ypos zp ZP_BYTE:16 4.0
|
||||
(byte) current_ypos#22 current_ypos zp ZP_BYTE:16 0.4545454545454546
|
||||
(byte) current_ypos#25 current_ypos zp ZP_BYTE:16 0.5526315789473684
|
||||
(byte) current_ypos#36 current_ypos zp ZP_BYTE:16 6.0
|
||||
(byte~) current_ypos#99 reg byte x 1.0
|
||||
(byte) game_over
|
||||
(byte) game_over#14 game_over zp ZP_BYTE:33 0.4594594594594595
|
||||
(byte) game_over#15 game_over zp ZP_BYTE:33 0.46153846153846156
|
||||
(byte) game_over#19 game_over zp ZP_BYTE:33 0.6382978723404255
|
||||
(byte) game_over#26 game_over zp ZP_BYTE:33 6.0
|
||||
(byte) game_over#69 game_over zp ZP_BYTE:33 0.19047619047619047
|
||||
(byte) irq_cnt
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:38 0.19047619047619047
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:38 4.0
|
||||
(byte) irq_cnt#14 irq_cnt zp ZP_BYTE:38 20.0
|
||||
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:39 0.17391304347826086
|
||||
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:39 3.0
|
||||
(byte) irq_cnt#2 irq_cnt zp ZP_BYTE:39 20.0
|
||||
(byte) irq_raster_next
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:34 0.17391304347826086
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:34 1.0
|
||||
(byte) irq_raster_next#13 irq_raster_next zp ZP_BYTE:34 6.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:34 1.3333333333333333
|
||||
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:35 0.3076923076923077
|
||||
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:35 1.0
|
||||
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:35 1.3333333333333333
|
||||
(byte) irq_raster_next#3 irq_raster_next zp ZP_BYTE:35 1.3333333333333333
|
||||
(byte) irq_raster_next#4 irq_raster_next zp ZP_BYTE:35 8.0
|
||||
(byte) irq_sprite_ptr
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:37 0.24
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:38 0.25806451612903225
|
||||
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:38 20.0
|
||||
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:38 20.0
|
||||
(byte) irq_sprite_ptr#3 irq_sprite_ptr zp ZP_BYTE:38 20.0
|
||||
(byte) irq_sprite_ypos
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:36 0.7083333333333334
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:36 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:36 20.0
|
||||
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:37 0.27586206896551724
|
||||
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:37 20.0
|
||||
(byte) irq_sprite_ypos#3 irq_sprite_ypos zp ZP_BYTE:37 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 34.33333333333333
|
||||
(byte) keyboard_event_get::return#3 reg byte a 202.0
|
||||
(byte) keyboard_event_get::return#1 reg byte x 4.0
|
||||
(byte) keyboard_event_get::return#2 reg byte x 4.333333333333333
|
||||
(byte) keyboard_event_get::return#3 reg byte x 22.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
|
||||
@ -391,13 +406,13 @@
|
||||
(byte) keyboard_event_pressed::row_bits
|
||||
(byte) keyboard_event_pressed::row_bits#0 row_bits zp ZP_BYTE:10 2.0
|
||||
(void()) keyboard_event_scan()
|
||||
(byte/word/dword~) keyboard_event_scan::$11 reg byte a 20002.0
|
||||
(byte/word/dword~) keyboard_event_scan::$11 reg byte a 2002.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 20002.0
|
||||
(byte~) keyboard_event_scan::$4 reg byte a 20002.0
|
||||
(byte~) keyboard_event_scan::$3 reg byte a 2002.0
|
||||
(byte~) keyboard_event_scan::$4 reg byte a 2002.0
|
||||
(label) keyboard_event_scan::@1
|
||||
(label) keyboard_event_scan::@10
|
||||
(label) keyboard_event_scan::@11
|
||||
@ -423,43 +438,43 @@
|
||||
(label) keyboard_event_scan::@9
|
||||
(label) keyboard_event_scan::@return
|
||||
(byte) keyboard_event_scan::col
|
||||
(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::col#1 reg byte x 1501.5
|
||||
(byte) keyboard_event_scan::col#2 reg byte x 286.0
|
||||
(byte) keyboard_event_scan::event_type
|
||||
(byte) keyboard_event_scan::event_type#0 reg byte a 20002.0
|
||||
(byte) keyboard_event_scan::event_type#0 reg byte a 2002.0
|
||||
(byte) keyboard_event_scan::keycode
|
||||
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:10 2002.0
|
||||
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:10 3154.230769230769
|
||||
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:10 500.5
|
||||
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:10 1001.0
|
||||
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:10 5250.75
|
||||
(byte) keyboard_event_scan::keycode#1 keycode zp ZP_BYTE:10 202.0
|
||||
(byte) keyboard_event_scan::keycode#10 keycode zp ZP_BYTE:10 315.7692307692308
|
||||
(byte) keyboard_event_scan::keycode#11 keycode zp ZP_BYTE:10 50.5
|
||||
(byte) keyboard_event_scan::keycode#14 keycode zp ZP_BYTE:10 101.0
|
||||
(byte) keyboard_event_scan::keycode#15 keycode zp ZP_BYTE:10 525.75
|
||||
(byte) keyboard_event_scan::row
|
||||
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:9 1501.5
|
||||
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:9 600.24
|
||||
(byte) keyboard_event_scan::row#1 row zp ZP_BYTE:9 151.5
|
||||
(byte) keyboard_event_scan::row#2 row zp ZP_BYTE:9 60.24
|
||||
(byte) keyboard_event_scan::row_scan
|
||||
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:11 1278.0555555555554
|
||||
(byte) keyboard_event_scan::row_scan#0 row_scan zp ZP_BYTE:11 128.05555555555557
|
||||
(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:33 20002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:33 8100.9000000000015
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:33 97.06451612903226
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:33 3.515151515151515
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:33 18.999999999999996
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:33 20002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:33 429.2857142857143
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:33 10201.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:33 3.0
|
||||
(byte) keyboard_events_size#1 keyboard_events_size zp ZP_BYTE:34 2002.0
|
||||
(byte) keyboard_events_size#10 keyboard_events_size zp ZP_BYTE:34 810.9000000000001
|
||||
(byte) keyboard_events_size#13 keyboard_events_size zp ZP_BYTE:34 9.967741935483872
|
||||
(byte) keyboard_events_size#16 keyboard_events_size zp ZP_BYTE:34 0.6
|
||||
(byte) keyboard_events_size#19 keyboard_events_size zp ZP_BYTE:34 1.8571428571428572
|
||||
(byte) keyboard_events_size#2 keyboard_events_size zp ZP_BYTE:34 2002.0
|
||||
(byte) keyboard_events_size#29 keyboard_events_size zp ZP_BYTE:34 43.57142857142858
|
||||
(byte) keyboard_events_size#30 keyboard_events_size zp ZP_BYTE:34 1021.2
|
||||
(byte) keyboard_events_size#4 keyboard_events_size zp ZP_BYTE:34 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 334.33333333333337
|
||||
(byte) keyboard_matrix_read::return#2 reg byte a 2002.0
|
||||
(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::row_pressed_bits
|
||||
(byte) keyboard_matrix_read::rowid
|
||||
(byte) keyboard_matrix_read::rowid#0 reg byte x 1003.0
|
||||
(byte) keyboard_matrix_read::rowid#0 reg byte x 103.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
|
||||
@ -472,40 +487,31 @@
|
||||
(byte[8]) keyboard_scan_values
|
||||
(const byte[8]) keyboard_scan_values#0 keyboard_scan_values = { fill( 8, 0) }
|
||||
(byte) level
|
||||
(byte) level#12 level zp ZP_BYTE:23 4.0
|
||||
(byte) level#14 level zp ZP_BYTE:23 1.3333333333333333
|
||||
(byte) level#16 level zp ZP_BYTE:23 0.4444444444444444
|
||||
(byte) level#19 level zp ZP_BYTE:23 2.2181818181818174
|
||||
(byte) level#24 level zp ZP_BYTE:23 6.0
|
||||
(byte) level#10 level zp ZP_BYTE:23 0.36206896551724144
|
||||
(byte) level#16 level zp ZP_BYTE:23 0.40540540540540543
|
||||
(byte) level#18 level zp ZP_BYTE:23 1.3333333333333333
|
||||
(byte) level#20 level zp ZP_BYTE:23 0.4444444444444444
|
||||
(byte) level#31 level zp ZP_BYTE:23 6.0
|
||||
(byte) level_bcd
|
||||
(byte) level_bcd#13 level_bcd zp ZP_BYTE:25 2.313725490196078
|
||||
(byte) level_bcd#15 level_bcd zp ZP_BYTE:25 1.3333333333333333
|
||||
(byte) level_bcd#17 level_bcd zp ZP_BYTE:25 2.6666666666666665
|
||||
(byte) level_bcd#20 level_bcd zp ZP_BYTE:25 2.0677966101694913
|
||||
(byte) level_bcd#25 level_bcd zp ZP_BYTE:25 6.0
|
||||
(byte) level_bcd#55 level_bcd zp ZP_BYTE:25 0.6000000000000001
|
||||
(byte) level_bcd#6 level_bcd zp ZP_BYTE:25 4.0
|
||||
(byte) level_bcd#11 level_bcd zp ZP_BYTE:25 0.33870967741935476
|
||||
(byte) level_bcd#17 level_bcd zp ZP_BYTE:25 0.288135593220339
|
||||
(byte) level_bcd#19 level_bcd zp ZP_BYTE:25 1.3333333333333333
|
||||
(byte) level_bcd#21 level_bcd zp ZP_BYTE:25 2.6666666666666665
|
||||
(byte) level_bcd#32 level_bcd zp ZP_BYTE:25 6.0
|
||||
(byte) level_bcd#63 level_bcd zp ZP_BYTE:25 0.6000000000000001
|
||||
(byte) level_bcd#8 level_bcd zp ZP_BYTE:25 4.0
|
||||
(word) lines_bcd
|
||||
(word) lines_bcd#11 lines_bcd zp ZP_WORD:17 2.352941176470588
|
||||
(word) lines_bcd#13 lines_bcd zp ZP_WORD:17 1.3333333333333333
|
||||
(word) lines_bcd#15 lines_bcd zp ZP_WORD:17 2.5416666666666656
|
||||
(word) lines_bcd#20 lines_bcd zp ZP_WORD:17 6.0
|
||||
(word) lines_bcd#23 lines_bcd zp ZP_WORD:17 1.0
|
||||
(word) lines_bcd#15 lines_bcd zp ZP_WORD:17 0.3220338983050848
|
||||
(word) lines_bcd#17 lines_bcd zp ZP_WORD:17 1.3333333333333333
|
||||
(word) lines_bcd#19 lines_bcd zp ZP_WORD:17 0.4117647058823528
|
||||
(word) lines_bcd#27 lines_bcd zp ZP_WORD:17 6.0
|
||||
(word) lines_bcd#30 lines_bcd zp ZP_WORD:17 1.0
|
||||
(void()) main()
|
||||
(byte~) main::$12 reg byte a 202.0
|
||||
(byte~) main::$13 reg byte a 202.0
|
||||
(byte~) main::$14 reg byte a 202.0
|
||||
(byte~) main::$9 reg byte a 22.0
|
||||
(label) main::@1
|
||||
(label) main::@13
|
||||
(label) main::@15
|
||||
(label) main::@16
|
||||
(label) main::@17
|
||||
(label) main::@18
|
||||
(label) main::@19
|
||||
(label) main::@20
|
||||
(label) main::@21
|
||||
(label) main::@11
|
||||
(label) main::@12
|
||||
(label) main::@23
|
||||
(label) main::@24
|
||||
(label) main::@25
|
||||
(label) main::@26
|
||||
(label) main::@27
|
||||
@ -513,16 +519,23 @@
|
||||
(label) main::@29
|
||||
(label) main::@30
|
||||
(label) main::@31
|
||||
(label) main::@33
|
||||
(label) main::@34
|
||||
(label) main::@35
|
||||
(label) main::@36
|
||||
(label) main::@37
|
||||
(label) main::@38
|
||||
(label) main::@39
|
||||
(label) main::@4
|
||||
(label) main::@6
|
||||
(label) main::@7
|
||||
(label) main::@9
|
||||
(byte) main::key_event
|
||||
(byte) main::key_event#0 key_event zp ZP_BYTE:15 36.72727272727273
|
||||
(byte) main::key_event#0 reg byte x 11.0
|
||||
(byte) main::render
|
||||
(byte) main::render#1 render zp ZP_BYTE:39 40.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:39 40.4
|
||||
(byte) main::render#3 reg byte a 202.0
|
||||
(byte) main::render#1 reg byte a 22.0
|
||||
(byte()) play_collision((byte) play_collision::xpos , (byte) play_collision::ypos , (byte) play_collision::orientation)
|
||||
(byte~) play_collision::$7 reg byte a 20002.0
|
||||
(byte~) play_collision::$7 reg byte a 2002.0
|
||||
(label) play_collision::@1
|
||||
(label) play_collision::@17
|
||||
(label) play_collision::@2
|
||||
@ -535,53 +548,56 @@
|
||||
(label) play_collision::@8
|
||||
(label) play_collision::@return
|
||||
(byte) play_collision::c
|
||||
(byte) play_collision::c#1 reg byte x 10001.0
|
||||
(byte) play_collision::c#2 reg byte x 2222.4444444444443
|
||||
(byte) play_collision::c#1 reg byte x 1001.0
|
||||
(byte) play_collision::c#2 reg byte x 222.44444444444446
|
||||
(byte) play_collision::col
|
||||
(byte) play_collision::col#1 col zp ZP_BYTE:14 5000.5
|
||||
(byte) play_collision::col#2 col zp ZP_BYTE:14 6375.75
|
||||
(byte~) play_collision::col#9 col zp ZP_BYTE:14 2002.0
|
||||
(byte) play_collision::col#1 col zp ZP_BYTE:15 500.5
|
||||
(byte) play_collision::col#2 col zp ZP_BYTE:15 638.25
|
||||
(byte~) play_collision::col#9 col zp ZP_BYTE:15 202.0
|
||||
(byte) play_collision::i
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:40 1615.6153846153845
|
||||
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:13 2002.0
|
||||
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:13 20002.0
|
||||
(byte) play_collision::i#2 i#2 zp ZP_BYTE:13 15502.0
|
||||
(byte) play_collision::i#3 i#3 zp ZP_BYTE:13 667.3333333333334
|
||||
(byte) play_collision::i#1 i zp ZP_BYTE:41 161.76923076923077
|
||||
(byte~) play_collision::i#11 i#11 zp ZP_BYTE:14 202.0
|
||||
(byte~) play_collision::i#13 i#13 zp ZP_BYTE:14 2002.0
|
||||
(byte) play_collision::i#2 i#2 zp ZP_BYTE:14 1552.0
|
||||
(byte) play_collision::i#3 i#3 zp ZP_BYTE:14 67.33333333333333
|
||||
(byte) play_collision::l
|
||||
(byte) play_collision::l#1 l zp ZP_BYTE:12 1001.0
|
||||
(byte) play_collision::l#6 l zp ZP_BYTE:12 125.125
|
||||
(byte) play_collision::l#1 l zp ZP_BYTE:13 101.0
|
||||
(byte) play_collision::l#6 l zp ZP_BYTE:13 12.625
|
||||
(byte) play_collision::orientation
|
||||
(byte) play_collision::orientation#0 reg byte x 2.0
|
||||
(byte) play_collision::orientation#1 reg byte x 2.0
|
||||
(byte) play_collision::orientation#2 reg byte x 2.0
|
||||
(byte) play_collision::orientation#3 reg byte x 2.0
|
||||
(byte) play_collision::orientation#4 reg byte x 10.0
|
||||
(byte) play_collision::orientation#5 reg byte x 10.0
|
||||
(byte*) play_collision::piece_gfx
|
||||
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:5 476.3333333333333
|
||||
(byte*) play_collision::piece_gfx#0 piece_gfx zp ZP_WORD:5 47.76190476190476
|
||||
(byte*) play_collision::playfield_line
|
||||
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:7 785.8571428571429
|
||||
(byte*) play_collision::playfield_line#0 playfield_line zp ZP_WORD:7 78.71428571428571
|
||||
(byte) play_collision::return
|
||||
(byte) play_collision::return#0 reg byte a 4.0
|
||||
(byte) play_collision::return#1 reg byte a 4.0
|
||||
(byte) play_collision::return#12 reg byte a 4.0
|
||||
(byte) play_collision::return#10 reg byte a 4.0
|
||||
(byte) play_collision::return#13 reg byte a 4.0
|
||||
(byte) play_collision::return#14 reg byte a 1.3333333333333333
|
||||
(byte) play_collision::return#14 reg byte a 4.0
|
||||
(byte) play_collision::return#15 reg byte a 1.4285714285714284
|
||||
(byte) play_collision::xpos
|
||||
(byte) play_collision::xpos#0 xpos zp ZP_BYTE:10 1.3333333333333333
|
||||
(byte) play_collision::xpos#1 xpos zp ZP_BYTE:10 1.0
|
||||
(byte) play_collision::xpos#2 xpos zp ZP_BYTE:10 1.0
|
||||
(byte) play_collision::xpos#3 xpos zp ZP_BYTE:10 1.0
|
||||
(byte) play_collision::xpos#5 xpos zp ZP_BYTE:10 45.86363636363637
|
||||
(byte) play_collision::xpos#0 xpos zp ZP_BYTE:12 1.3333333333333333
|
||||
(byte) play_collision::xpos#1 xpos zp ZP_BYTE:12 1.0
|
||||
(byte) play_collision::xpos#2 xpos zp ZP_BYTE:12 1.0
|
||||
(byte) play_collision::xpos#3 xpos zp ZP_BYTE:12 1.0
|
||||
(byte) play_collision::xpos#4 xpos zp ZP_BYTE:12 1.3333333333333333
|
||||
(byte) play_collision::xpos#6 xpos zp ZP_BYTE:12 5.045454545454545
|
||||
(byte) play_collision::ypos
|
||||
(byte) play_collision::ypos#0 reg byte y 1.0
|
||||
(byte) play_collision::ypos#1 reg byte y 1.3333333333333333
|
||||
(byte) play_collision::ypos#2 reg byte y 1.3333333333333333
|
||||
(byte) play_collision::ypos#3 reg byte y 1.3333333333333333
|
||||
(byte) play_collision::ypos#4 reg byte y 5.0
|
||||
(byte) play_collision::ypos#0 ypos zp ZP_BYTE:11 1.0
|
||||
(byte) play_collision::ypos#1 ypos zp ZP_BYTE:11 1.3333333333333333
|
||||
(byte) play_collision::ypos#2 ypos zp ZP_BYTE:11 1.3333333333333333
|
||||
(byte) play_collision::ypos#3 ypos zp ZP_BYTE:11 1.3333333333333333
|
||||
(byte) play_collision::ypos#4 ypos zp ZP_BYTE:11 2.0
|
||||
(byte) play_collision::ypos#5 ypos zp ZP_BYTE:11 6.0
|
||||
(byte) play_collision::ypos2
|
||||
(byte) play_collision::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
|
||||
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:11 500.5
|
||||
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:11 867.0666666666667
|
||||
(byte) play_collision::ypos2#1 ypos2 zp ZP_BYTE:11 50.5
|
||||
(byte) play_collision::ypos2#2 ypos2 zp ZP_BYTE:11 87.06666666666668
|
||||
(void()) play_increase_level()
|
||||
(byte~) play_increase_level::$1 reg byte a 4.0
|
||||
(label) play_increase_level::@2
|
||||
@ -592,10 +608,10 @@
|
||||
(label) play_increase_level::@8
|
||||
(label) play_increase_level::@return
|
||||
(byte) play_increase_level::b
|
||||
(byte) play_increase_level::b#1 reg byte x 1501.5
|
||||
(byte) play_increase_level::b#2 reg byte x 1001.0
|
||||
(byte) play_increase_level::b#1 reg byte x 151.5
|
||||
(byte) play_increase_level::b#2 reg byte x 101.0
|
||||
(byte) play_increase_level::b4
|
||||
(byte) play_increase_level::b4#0 reg byte a 4004.0
|
||||
(byte) play_increase_level::b4#0 reg byte a 404.0
|
||||
(void()) play_init()
|
||||
(byte~) play_init::$1 reg byte a 22.0
|
||||
(label) play_init::@1
|
||||
@ -626,27 +642,27 @@
|
||||
(label) play_lock_current::@8
|
||||
(label) play_lock_current::@return
|
||||
(byte) play_lock_current::c
|
||||
(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::c#1 reg byte x 1001.0
|
||||
(byte) play_lock_current::c#2 reg byte x 400.4
|
||||
(byte) play_lock_current::col
|
||||
(byte) play_lock_current::col#0 col zp ZP_BYTE:10 2002.0
|
||||
(byte) play_lock_current::col#1 col zp ZP_BYTE:10 5000.5
|
||||
(byte) play_lock_current::col#2 col zp ZP_BYTE:10 7751.0
|
||||
(byte) play_lock_current::col#0 col zp ZP_BYTE:10 202.0
|
||||
(byte) play_lock_current::col#1 col zp ZP_BYTE:10 500.5
|
||||
(byte) play_lock_current::col#2 col zp ZP_BYTE:10 776.0
|
||||
(byte) play_lock_current::i
|
||||
(byte) play_lock_current::i#1 i zp ZP_BYTE:11 2333.6666666666665
|
||||
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:9 15502.0
|
||||
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:9 667.3333333333334
|
||||
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:9 2002.0
|
||||
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:9 20002.0
|
||||
(byte) play_lock_current::i#1 i zp ZP_BYTE:11 233.66666666666669
|
||||
(byte) play_lock_current::i#2 i#2 zp ZP_BYTE:9 1552.0
|
||||
(byte) play_lock_current::i#3 i#3 zp ZP_BYTE:9 67.33333333333333
|
||||
(byte~) play_lock_current::i#7 i#7 zp ZP_BYTE:9 202.0
|
||||
(byte~) play_lock_current::i#9 i#9 zp ZP_BYTE:9 2002.0
|
||||
(byte) play_lock_current::l
|
||||
(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::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::playfield_line
|
||||
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:5 1100.2
|
||||
(byte*) play_lock_current::playfield_line#0 playfield_line zp ZP_WORD:5 110.19999999999999
|
||||
(byte) play_lock_current::ypos2
|
||||
(byte) play_lock_current::ypos2#0 ypos2 zp ZP_BYTE:16 4.0
|
||||
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:16 500.5
|
||||
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:16 273.1818181818182
|
||||
(byte) play_lock_current::ypos2#1 ypos2 zp ZP_BYTE:16 50.5
|
||||
(byte) play_lock_current::ypos2#2 ypos2 zp ZP_BYTE:16 27.727272727272727
|
||||
(byte()) play_move_down((byte) play_move_down::key_event)
|
||||
(byte~) play_move_down::$12 reg byte a 4.0
|
||||
(byte~) play_move_down::$2 reg byte a 4.0
|
||||
@ -668,7 +684,7 @@
|
||||
(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 51.5
|
||||
(byte) play_move_down::key_event#0 reg byte a 2.0
|
||||
(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
|
||||
@ -678,8 +694,8 @@
|
||||
(byte) play_move_down::removed
|
||||
(byte) play_move_down::removed#0 reg byte a 4.0
|
||||
(byte) play_move_down::return
|
||||
(byte) play_move_down::return#2 reg byte x 33.666666666666664
|
||||
(byte) play_move_down::return#3 reg byte a 202.0
|
||||
(byte) play_move_down::return#0 reg byte a 4.0
|
||||
(byte) play_move_down::return#3 reg byte x 0.6666666666666666
|
||||
(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
|
||||
@ -692,10 +708,10 @@
|
||||
(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 52.5
|
||||
(byte) play_move_leftright::key_event#0 reg byte a 3.0
|
||||
(byte) play_move_leftright::return
|
||||
(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_leftright::return#0 reg byte a 4.0
|
||||
(byte) play_move_leftright::return#2 reg byte a 0.6666666666666666
|
||||
(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
|
||||
@ -708,14 +724,32 @@
|
||||
(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 52.5
|
||||
(byte) play_move_rotate::key_event#0 reg byte a 3.0
|
||||
(byte) play_move_rotate::orientation
|
||||
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:9 4.0
|
||||
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:9 4.0
|
||||
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:9 0.8888888888888888
|
||||
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:10 4.0
|
||||
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:10 4.0
|
||||
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:10 0.8888888888888888
|
||||
(byte) play_move_rotate::return
|
||||
(byte) play_move_rotate::return#1 reg byte a 33.666666666666664
|
||||
(byte) play_move_rotate::return#4 reg byte a 202.0
|
||||
(byte) play_move_rotate::return#0 reg byte a 4.0
|
||||
(byte) play_move_rotate::return#2 reg byte a 0.6666666666666666
|
||||
(byte()) play_movement((byte) play_movement::key_event)
|
||||
(byte~) play_movement::$0 reg byte a 4.0
|
||||
(byte~) play_movement::$3 reg byte a 4.0
|
||||
(byte~) play_movement::$4 reg byte a 4.0
|
||||
(label) play_movement::@1
|
||||
(label) play_movement::@5
|
||||
(label) play_movement::@6
|
||||
(label) play_movement::@7
|
||||
(label) play_movement::@return
|
||||
(byte) play_movement::key_event
|
||||
(byte) play_movement::key_event#0 key_event zp ZP_BYTE:40 1.4166666666666667
|
||||
(byte) play_movement::render
|
||||
(byte) play_movement::render#1 render zp ZP_BYTE:9 1.0
|
||||
(byte) play_movement::render#2 render zp ZP_BYTE:9 0.8
|
||||
(byte) play_movement::return
|
||||
(byte) play_movement::return#0 return zp ZP_BYTE:9 4.0
|
||||
(byte) play_movement::return#2 return zp ZP_BYTE:9 5.0
|
||||
(byte) play_movement::return#3 reg byte a 22.0
|
||||
(byte()) play_remove_lines()
|
||||
(label) play_remove_lines::@1
|
||||
(label) play_remove_lines::@10
|
||||
@ -728,45 +762,48 @@
|
||||
(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:12 6000.6
|
||||
(byte) play_remove_lines::c#0 c zp ZP_BYTE:12 600.5999999999999
|
||||
(byte) play_remove_lines::full
|
||||
(byte) play_remove_lines::full#2 full zp ZP_BYTE:11 4200.6
|
||||
(byte) play_remove_lines::full#4 full zp ZP_BYTE:11 4000.4
|
||||
(byte) play_remove_lines::full#2 full zp ZP_BYTE:11 420.59999999999997
|
||||
(byte) play_remove_lines::full#4 full zp ZP_BYTE:11 400.4
|
||||
(byte) play_remove_lines::r
|
||||
(byte) play_remove_lines::r#1 reg byte y 1500.2142857142858
|
||||
(byte) play_remove_lines::r#2 reg byte y 15502.0
|
||||
(byte) play_remove_lines::r#3 reg byte y 2002.0
|
||||
(byte) play_remove_lines::r#1 reg byte y 150.21428571428572
|
||||
(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::removed
|
||||
(byte) play_remove_lines::removed#1 removed zp ZP_BYTE:9 2002.0
|
||||
(byte) play_remove_lines::removed#11 removed zp ZP_BYTE:9 231.0
|
||||
(byte) play_remove_lines::removed#7 removed zp ZP_BYTE:9 333.8888888888889
|
||||
(byte) play_remove_lines::removed#1 removed zp ZP_BYTE:9 202.0
|
||||
(byte) play_remove_lines::removed#11 removed zp ZP_BYTE:9 23.307692307692307
|
||||
(byte) play_remove_lines::removed#7 removed zp ZP_BYTE:9 33.888888888888886
|
||||
(byte) play_remove_lines::return
|
||||
(byte) play_remove_lines::return#0 reg byte a 4.0
|
||||
(byte) play_remove_lines::w
|
||||
(byte) play_remove_lines::w#1 reg byte x 5501.0
|
||||
(byte) play_remove_lines::w#11 reg byte x 1334.6666666666667
|
||||
(byte) play_remove_lines::w#12 reg byte x 2002.0
|
||||
(byte) play_remove_lines::w#2 reg byte x 1001.0
|
||||
(byte) play_remove_lines::w#3 reg byte x 2002.0
|
||||
(byte) play_remove_lines::w#4 reg byte x 4429.142857142857
|
||||
(byte) play_remove_lines::w#6 reg byte x 1668.3333333333335
|
||||
(byte) play_remove_lines::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 101.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::x
|
||||
(byte) play_remove_lines::x#1 x zp ZP_BYTE:10 15001.5
|
||||
(byte) play_remove_lines::x#2 x zp ZP_BYTE:10 2500.25
|
||||
(byte) play_remove_lines::x#1 x zp ZP_BYTE:10 1501.5
|
||||
(byte) play_remove_lines::x#2 x zp ZP_BYTE:10 250.25
|
||||
(byte) play_remove_lines::y
|
||||
(byte) play_remove_lines::y#1 y zp ZP_BYTE:4 1501.5
|
||||
(byte) play_remove_lines::y#8 y zp ZP_BYTE:4 133.46666666666667
|
||||
(byte) play_remove_lines::y#1 y zp ZP_BYTE:4 151.5
|
||||
(byte) play_remove_lines::y#8 y zp ZP_BYTE:4 13.466666666666667
|
||||
(void()) play_spawn_current()
|
||||
(byte~) play_spawn_current::$1 reg byte a 2002.0
|
||||
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:4 0.13333333333333333
|
||||
(byte~) play_spawn_current::$1 reg byte a 202.0
|
||||
(byte~) play_spawn_current::$3 $3 zp ZP_BYTE:4 0.08333333333333333
|
||||
(byte~) play_spawn_current::$5 reg byte a 4.0
|
||||
(label) play_spawn_current::@1
|
||||
(label) play_spawn_current::@10
|
||||
(label) play_spawn_current::@11
|
||||
(label) play_spawn_current::@2
|
||||
(label) play_spawn_current::@3
|
||||
(label) play_spawn_current::@7
|
||||
(label) play_spawn_current::@9
|
||||
(label) play_spawn_current::@return
|
||||
(byte) play_spawn_current::piece_idx
|
||||
(byte) play_spawn_current::piece_idx#1 reg byte x 2002.0
|
||||
(byte) play_spawn_current::piece_idx#2 reg byte x 334.99999999999994
|
||||
(byte) play_spawn_current::piece_idx#1 reg byte x 202.0
|
||||
(byte) play_spawn_current::piece_idx#2 reg byte x 35.00000000000001
|
||||
(void()) play_update_score((byte) play_update_score::removed)
|
||||
(byte~) play_update_score::$2 reg byte a 4.0
|
||||
(byte~) play_update_score::$4 reg byte a 4.0
|
||||
@ -775,7 +812,7 @@
|
||||
(label) play_update_score::@4
|
||||
(label) play_update_score::@return
|
||||
(dword) play_update_score::add_bcd
|
||||
(dword) play_update_score::add_bcd#0 add_bcd zp ZP_DWORD:41 1.3333333333333333
|
||||
(dword) play_update_score::add_bcd#0 add_bcd zp ZP_DWORD:42 1.3333333333333333
|
||||
(byte) play_update_score::lines_after
|
||||
(byte) play_update_score::lines_after#0 reg byte a 4.0
|
||||
(byte) play_update_score::lines_before
|
||||
@ -797,7 +834,7 @@
|
||||
(label) render_bcd::@2
|
||||
(label) render_bcd::@return
|
||||
(byte) render_bcd::ZERO_CHAR
|
||||
(const byte) render_bcd::ZERO_CHAR#0 ZERO_CHAR = (byte/signed byte/word/signed word/dword/signed dword) 51
|
||||
(const byte) render_bcd::ZERO_CHAR#0 ZERO_CHAR = (byte/signed byte/word/signed word/dword/signed dword) 53
|
||||
(byte) render_bcd::bcd
|
||||
(byte) render_bcd::bcd#0 reg byte x 4.0
|
||||
(byte) render_bcd::bcd#1 reg byte x 4.0
|
||||
@ -864,29 +901,29 @@
|
||||
(label) render_moving::@9
|
||||
(label) render_moving::@return
|
||||
(byte) render_moving::c
|
||||
(byte) render_moving::c#1 c zp ZP_BYTE:15 1501.5
|
||||
(byte) render_moving::c#2 c zp ZP_BYTE:15 286.0
|
||||
(byte) render_moving::c#1 reg byte x 1501.5
|
||||
(byte) render_moving::c#2 reg byte x 286.0
|
||||
(byte) render_moving::current_cell
|
||||
(byte) render_moving::current_cell#0 reg byte a 1001.0
|
||||
(byte) render_moving::i
|
||||
(byte) render_moving::i#1 i zp ZP_BYTE:13 202.0
|
||||
(byte) render_moving::i#10 i zp ZP_BYTE:13 429.0
|
||||
(byte) render_moving::i#3 i zp ZP_BYTE:13 50.5
|
||||
(byte) render_moving::i#4 i zp ZP_BYTE:13 1552.0
|
||||
(byte) render_moving::i#8 i zp ZP_BYTE:13 300.75
|
||||
(byte) render_moving::i#1 i zp ZP_BYTE:14 202.0
|
||||
(byte) render_moving::i#10 i zp ZP_BYTE:14 429.0
|
||||
(byte) render_moving::i#3 i zp ZP_BYTE:14 50.5
|
||||
(byte) render_moving::i#4 i zp ZP_BYTE:14 1552.0
|
||||
(byte) render_moving::i#8 i zp ZP_BYTE:14 300.75
|
||||
(byte) render_moving::l
|
||||
(byte) render_moving::l#1 l zp ZP_BYTE:12 151.5
|
||||
(byte) render_moving::l#4 l zp ZP_BYTE:12 11.222222222222221
|
||||
(byte) render_moving::l#1 l zp ZP_BYTE:13 151.5
|
||||
(byte) render_moving::l#4 l zp ZP_BYTE:13 11.222222222222221
|
||||
(byte*) render_moving::screen_line
|
||||
(byte*) render_moving::screen_line#0 screen_line zp ZP_WORD:7 100.18181818181819
|
||||
(byte) render_moving::xpos
|
||||
(byte) render_moving::xpos#0 xpos zp ZP_BYTE:14 202.0
|
||||
(byte) render_moving::xpos#1 xpos zp ZP_BYTE:14 667.3333333333334
|
||||
(byte) render_moving::xpos#2 xpos zp ZP_BYTE:14 684.1666666666667
|
||||
(byte) render_moving::xpos#0 xpos zp ZP_BYTE:15 202.0
|
||||
(byte) render_moving::xpos#1 xpos zp ZP_BYTE:15 667.3333333333334
|
||||
(byte) render_moving::xpos#2 xpos zp ZP_BYTE:15 684.1666666666667
|
||||
(byte) render_moving::ypos2
|
||||
(byte) render_moving::ypos2#0 ypos2 zp ZP_BYTE:11 4.0
|
||||
(byte) render_moving::ypos2#1 ypos2 zp ZP_BYTE:11 67.33333333333333
|
||||
(byte) render_moving::ypos2#2 ypos2 zp ZP_BYTE:11 29.823529411764707
|
||||
(byte) render_moving::ypos2#0 ypos2 zp ZP_BYTE:12 4.0
|
||||
(byte) render_moving::ypos2#1 ypos2 zp ZP_BYTE:12 67.33333333333333
|
||||
(byte) render_moving::ypos2#2 ypos2 zp ZP_BYTE:12 29.823529411764707
|
||||
(void()) render_playfield()
|
||||
(byte~) render_playfield::$2 reg byte a 202.0
|
||||
(byte~) render_playfield::$3 reg byte a 202.0
|
||||
@ -922,7 +959,7 @@
|
||||
(word) render_score::lines_offset
|
||||
(const word) render_score::lines_offset#0 lines_offset = (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 22
|
||||
(byte*) render_score::score_bytes
|
||||
(const byte*) render_score::score_bytes#0 score_bytes = ((byte*))&(dword) score_bcd#10
|
||||
(const byte*) render_score::score_bytes#0 score_bytes = ((byte*))&(dword) score_bcd#14
|
||||
(word) render_score::score_offset
|
||||
(const word) render_score::score_offset#0 score_offset = (byte/signed byte/word/signed word/dword/signed dword) 40*(byte/signed byte/word/signed word/dword/signed dword) 5+(byte/signed byte/word/signed word/dword/signed dword) 28
|
||||
(byte*) render_score::screen
|
||||
@ -973,17 +1010,19 @@
|
||||
(byte) render_screen_original::y#6 y zp ZP_BYTE:2 0.9166666666666666
|
||||
(byte) render_screen_render
|
||||
(byte) render_screen_render#11 render_screen_render zp ZP_BYTE:3 3.25
|
||||
(byte) render_screen_render#17 render_screen_render zp ZP_BYTE:3 0.6271186440677967
|
||||
(byte) render_screen_render#17 render_screen_render zp ZP_BYTE:3 0.9600000000000001
|
||||
(byte) render_screen_render#21 reg byte x 8.615384615384615
|
||||
(byte) render_screen_render#30 render_screen_render#30 zp ZP_BYTE:9 5.090909090909091
|
||||
(byte~) render_screen_render#64 render_screen_render#64 zp ZP_BYTE:9 5.5
|
||||
(byte~) render_screen_render#65 reg byte x 22.0
|
||||
(byte) render_screen_render#33 render_screen_render zp ZP_BYTE:3 16.5
|
||||
(byte~) render_screen_render#68 render_screen_render#68 zp ZP_BYTE:9 5.5
|
||||
(byte~) render_screen_render#69 reg byte x 22.0
|
||||
(byte) render_screen_show
|
||||
(byte) render_screen_show#13 render_screen_show zp ZP_BYTE:2 4.333333333333333
|
||||
(byte) render_screen_show#16 render_screen_show zp ZP_BYTE:2 0.37777777777777777
|
||||
(byte) render_screen_show#17 render_screen_show zp ZP_BYTE:2 1.0833333333333335
|
||||
(byte) render_screen_show#29 render_screen_show zp ZP_BYTE:2 16.5
|
||||
(byte) render_screen_showing
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:35 0.5
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:35 20.0
|
||||
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:36 0.4
|
||||
(byte) render_screen_showing#1 render_screen_showing zp ZP_BYTE:36 20.0
|
||||
(void()) render_screen_swap()
|
||||
(label) render_screen_swap::@return
|
||||
(void()) render_show()
|
||||
@ -1022,11 +1061,11 @@
|
||||
(dword[5]) score_add_bcd
|
||||
(const dword[5]) score_add_bcd#0 score_add_bcd = { fill( 5, 0) }
|
||||
(dword) score_bcd
|
||||
(dword) score_bcd#10 score_bcd zp ZP_DWORD:19 4.0
|
||||
(dword) score_bcd#12 score_bcd zp ZP_DWORD:19 1.3333333333333333
|
||||
(dword) score_bcd#14 score_bcd zp ZP_DWORD:19 2.4489795918367347
|
||||
(dword) score_bcd#20 score_bcd zp ZP_DWORD:19 6.0
|
||||
(dword) score_bcd#23 score_bcd zp ZP_DWORD:19 0.8571428571428571
|
||||
(dword) score_bcd#14 score_bcd zp ZP_DWORD:19 0.40540540540540543
|
||||
(dword) score_bcd#16 score_bcd zp ZP_DWORD:19 1.3333333333333333
|
||||
(dword) score_bcd#18 score_bcd zp ZP_DWORD:19 0.3653846153846153
|
||||
(dword) score_bcd#27 score_bcd zp ZP_DWORD:19 6.0
|
||||
(dword) score_bcd#30 score_bcd zp ZP_DWORD:19 0.8571428571428571
|
||||
(byte*[PLAYFIELD_LINES#0]) screen_lines_1
|
||||
(const byte*[PLAYFIELD_LINES#0]) screen_lines_1#0 screen_lines_1 = { fill( PLAYFIELD_LINES#0, 0) }
|
||||
(byte*[PLAYFIELD_LINES#0]) screen_lines_2
|
||||
@ -1034,8 +1073,8 @@
|
||||
(byte()) sid_rnd()
|
||||
(label) sid_rnd::@return
|
||||
(byte) sid_rnd::return
|
||||
(byte) sid_rnd::return#0 reg byte a 334.33333333333337
|
||||
(byte) sid_rnd::return#2 reg byte a 2002.0
|
||||
(byte) sid_rnd::return#0 reg byte a 34.33333333333333
|
||||
(byte) sid_rnd::return#2 reg byte a 202.0
|
||||
(void()) sid_rnd_init()
|
||||
(label) sid_rnd_init::@return
|
||||
(void()) sprites_init()
|
||||
@ -1050,29 +1089,27 @@
|
||||
(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
|
||||
(byte/signed word/word/dword/signed dword~) sprites_irq::$0 reg byte x 4.0
|
||||
(label) sprites_irq::@1
|
||||
(label) sprites_irq::@10
|
||||
(label) sprites_irq::@11
|
||||
(label) sprites_irq::@12
|
||||
(label) sprites_irq::@13
|
||||
(label) sprites_irq::@15
|
||||
(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::@9
|
||||
(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
|
||||
(byte) sprites_irq::ptr#3 reg byte a 2.6666666666666665
|
||||
(byte) sprites_irq::ptr#4 reg byte a 4.0
|
||||
(byte) sprites_irq::raster_sprite_gfx_modify
|
||||
(byte) sprites_irq::raster_sprite_gfx_modify#0 raster_sprite_gfx_modify zp ZP_BYTE:46 6.5
|
||||
(label) sprites_irq::toSpritePtr2
|
||||
(word~) sprites_irq::toSpritePtr2_$0
|
||||
(word~) sprites_irq::toSpritePtr2_$1
|
||||
@ -1092,75 +1129,68 @@ interrupt(HARDWARE_CLOBBER)(void()) sprites_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#16 render_screen_show#13 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
zp ZP_BYTE:3 [ render_screen_render#17 render_screen_render#11 ]
|
||||
zp ZP_BYTE:4 [ current_movedown_counter#12 current_movedown_counter#10 current_movedown_counter#1 play_remove_lines::y#8 play_remove_lines::y#1 play_lock_current::l#6 play_lock_current::l#1 play_spawn_current::$3 play_update_score::lines_before#0 ]
|
||||
zp ZP_WORD:5 [ render_score::screen#2 render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 current_piece_gfx#53 current_piece_gfx#102 current_piece_gfx#103 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#12 current_piece#76 current_piece#77 current_piece#78 current_piece#79 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::li_1#2 render_init::li_1#1 render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 play_lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:2 [ render_screen_show#17 render_screen_show#29 render_screen_show#13 play_init::idx#2 play_init::idx#1 sprites_init::xpos#2 sprites_init::xpos#1 render_screen_original::y#6 render_screen_original::y#1 ]
|
||||
zp ZP_BYTE:3 [ render_screen_render#17 render_screen_render#33 render_screen_render#11 ]
|
||||
zp ZP_BYTE:4 [ current_movedown_counter#16 current_movedown_counter#14 current_movedown_counter#12 play_remove_lines::y#8 play_remove_lines::y#1 play_lock_current::l#6 play_lock_current::l#1 play_spawn_current::$3 play_update_score::lines_before#0 ]
|
||||
zp ZP_WORD:5 [ render_score::screen#2 render_bcd::screen#6 render_bcd::screen#0 render_bcd::screen#1 render_bcd::screen#2 render_bcd::screen#3 render_bcd::screen#4 render_bcd::screen#5 current_piece_gfx#62 current_piece_gfx#115 current_piece_gfx#116 render_playfield::screen_line#2 render_playfield::screen_line#0 render_playfield::screen_line#1 current_piece#16 current_piece#89 current_piece#90 current_piece#91 current_piece#92 current_piece#93 play_collision::piece_gfx#0 play_init::pli#2 play_init::pli#1 render_init::li_1#2 render_init::li_1#1 render_screen_original::oscr#2 render_screen_original::oscr#4 render_screen_original::oscr#1 play_lock_current::playfield_line#0 ]
|
||||
zp ZP_WORD:7 [ render_bcd::offset#6 render_bcd::screen_pos#3 render_bcd::screen_pos#0 render_bcd::screen_pos#2 render_bcd::screen_pos#1 render_init::li_2#2 render_init::li_2#1 render_screen_original::ocols#2 render_screen_original::ocols#4 render_screen_original::ocols#1 render_moving::screen_line#0 play_collision::playfield_line#0 ]
|
||||
reg byte y [ render_bcd::only_low#6 ]
|
||||
reg byte x [ render_bcd::bcd#6 render_bcd::bcd#0 render_bcd::bcd#1 render_bcd::bcd#2 render_bcd::bcd#3 render_bcd::bcd#4 render_bcd::bcd#5 ]
|
||||
reg byte y [ current_ypos#9 current_ypos#86 current_ypos#87 ]
|
||||
zp ZP_BYTE:9 [ render_screen_render#30 render_screen_render#64 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_BYTE:10 [ current_xpos#47 current_xpos#112 current_xpos#113 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 play_collision::xpos#5 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_remove_lines::x#2 play_remove_lines::x#1 play_lock_current::col#2 play_lock_current::col#0 play_lock_current::col#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 keyboard_event_pressed::row_bits#0 ]
|
||||
reg byte x [ current_piece_char#64 current_piece_char#90 current_piece_char#91 ]
|
||||
zp ZP_BYTE:11 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 render_playfield::c#2 render_playfield::c#1 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:12 [ render_moving::l#4 render_moving::l#1 play_collision::l#6 play_collision::l#1 play_remove_lines::c#0 ]
|
||||
zp ZP_BYTE:13 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#10 render_moving::i#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
|
||||
zp ZP_BYTE:14 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
|
||||
zp ZP_BYTE:15 [ render_moving::c#2 render_moving::c#1 main::key_event#0 ]
|
||||
reg byte x [ render_screen_render#21 render_screen_render#65 ]
|
||||
reg byte a [ play_move_rotate::return#1 ]
|
||||
reg byte x [ play_collision::orientation#4 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
reg byte y [ play_collision::ypos#4 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 ]
|
||||
reg byte x [ current_ypos#11 current_ypos#99 current_ypos#100 ]
|
||||
zp ZP_BYTE:9 [ render_screen_render#30 render_screen_render#68 render_playfield::l#2 render_playfield::l#1 play_movement::return#2 play_movement::render#1 play_movement::return#0 play_movement::render#2 play_remove_lines::removed#11 play_remove_lines::removed#7 play_remove_lines::removed#1 play_lock_current::i#2 play_lock_current::i#3 play_lock_current::i#7 play_lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_BYTE:10 [ current_xpos#57 current_xpos#125 current_xpos#126 render_playfield::i#2 render_playfield::i#3 render_playfield::i#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::col#2 play_lock_current::col#0 play_lock_current::col#1 keyboard_event_scan::keycode#10 keyboard_event_scan::keycode#11 keyboard_event_scan::keycode#14 keyboard_event_scan::keycode#1 keyboard_event_scan::keycode#15 keyboard_event_pressed::row_bits#0 ]
|
||||
zp ZP_BYTE:11 [ current_piece_char#75 current_piece_char#103 current_piece_char#104 render_playfield::c#2 render_playfield::c#1 play_collision::ypos#5 play_collision::ypos#0 play_collision::ypos#1 play_collision::ypos#2 play_collision::ypos#3 play_collision::ypos#4 play_collision::ypos2#2 play_collision::ypos2#0 play_collision::ypos2#1 play_remove_lines::full#4 play_remove_lines::full#2 play_lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:12 [ render_moving::ypos2#2 render_moving::ypos2#0 render_moving::ypos2#1 play_collision::xpos#6 play_collision::xpos#0 play_collision::xpos#1 play_collision::xpos#2 play_collision::xpos#3 play_collision::xpos#4 play_remove_lines::c#0 ]
|
||||
zp ZP_BYTE:13 [ render_moving::l#4 render_moving::l#1 play_collision::l#6 play_collision::l#1 ]
|
||||
zp ZP_BYTE:14 [ render_moving::i#4 render_moving::i#3 render_moving::i#8 render_moving::i#10 render_moving::i#1 play_collision::i#2 play_collision::i#3 play_collision::i#11 play_collision::i#13 ]
|
||||
zp ZP_BYTE:15 [ render_moving::xpos#2 render_moving::xpos#0 render_moving::xpos#1 play_collision::col#2 play_collision::col#9 play_collision::col#1 ]
|
||||
reg byte x [ render_moving::c#2 render_moving::c#1 ]
|
||||
reg byte x [ render_screen_render#21 render_screen_render#69 ]
|
||||
reg byte a [ play_move_rotate::return#2 ]
|
||||
reg byte x [ play_collision::orientation#5 play_collision::orientation#0 play_collision::orientation#1 play_collision::orientation#2 play_collision::orientation#3 ]
|
||||
reg byte x [ play_collision::c#2 play_collision::c#1 ]
|
||||
reg byte a [ play_collision::return#14 ]
|
||||
reg byte a [ play_move_leftright::return#1 ]
|
||||
reg byte a [ play_collision::return#15 ]
|
||||
reg byte a [ play_move_leftright::return#2 ]
|
||||
reg byte x [ play_move_down::movedown#6 play_move_down::movedown#3 play_move_down::movedown#7 play_move_down::movedown#2 play_move_down::movedown#10 ]
|
||||
zp ZP_BYTE:16 [ current_ypos#29 current_ypos#21 current_ypos#18 current_ypos#13 current_ypos#0 play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
|
||||
zp ZP_WORD:17 [ lines_bcd#20 lines_bcd#13 lines_bcd#15 lines_bcd#11 lines_bcd#23 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
||||
zp ZP_DWORD:19 [ score_bcd#20 score_bcd#12 score_bcd#14 score_bcd#10 score_bcd#23 ]
|
||||
zp ZP_BYTE:23 [ level#24 level#14 level#19 level#12 level#16 ]
|
||||
zp ZP_BYTE:24 [ current_movedown_slow#31 current_movedown_slow#19 current_movedown_slow#12 current_movedown_slow#1 current_movedown_slow#17 current_movedown_slow#60 current_movedown_slow#8 ]
|
||||
zp ZP_BYTE:25 [ level_bcd#25 level_bcd#15 level_bcd#20 level_bcd#13 level_bcd#55 level_bcd#17 level_bcd#6 ]
|
||||
zp ZP_WORD:26 [ current_piece#20 current_piece#80 current_piece#16 current_piece#73 current_piece#10 render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ]
|
||||
zp ZP_BYTE:28 [ current_orientation#29 current_orientation#10 current_orientation#19 current_orientation#4 current_orientation#14 ]
|
||||
zp ZP_WORD:29 [ current_piece_gfx#26 current_piece_gfx#20 current_piece_gfx#16 current_piece_gfx#14 current_piece_gfx#3 current_piece_gfx#1 ]
|
||||
zp ZP_BYTE:31 [ current_xpos#33 current_xpos#10 current_xpos#23 current_xpos#19 current_xpos#4 current_xpos#1 current_xpos#2 ]
|
||||
zp ZP_BYTE:32 [ current_piece_char#20 current_piece_char#15 current_piece_char#12 current_piece_char#1 ]
|
||||
reg byte x [ play_move_down::return#2 ]
|
||||
zp ZP_BYTE:16 [ current_ypos#36 current_ypos#25 current_ypos#17 current_ypos#22 current_ypos#2 play_lock_current::ypos2#2 play_lock_current::ypos2#0 play_lock_current::ypos2#1 ]
|
||||
zp ZP_WORD:17 [ lines_bcd#27 lines_bcd#17 lines_bcd#19 lines_bcd#15 lines_bcd#30 render_screen_original::screen#7 render_screen_original::screen#6 render_screen_original::screen#5 render_screen_original::screen#8 render_screen_original::screen#9 render_screen_original::screen#10 render_screen_original::screen#2 render_screen_original::screen#3 ]
|
||||
zp ZP_DWORD:19 [ score_bcd#27 score_bcd#16 score_bcd#18 score_bcd#14 score_bcd#30 ]
|
||||
zp ZP_BYTE:23 [ level#31 level#18 level#10 level#16 level#20 ]
|
||||
zp ZP_BYTE:24 [ current_movedown_slow#38 current_movedown_slow#23 current_movedown_slow#14 current_movedown_slow#21 current_movedown_slow#1 current_movedown_slow#68 current_movedown_slow#10 ]
|
||||
zp ZP_BYTE:25 [ level_bcd#32 level_bcd#19 level_bcd#11 level_bcd#17 level_bcd#63 level_bcd#21 level_bcd#8 ]
|
||||
zp ZP_WORD:26 [ current_piece#27 current_piece#94 current_piece#20 current_piece#14 current_piece#88 render_screen_original::cols#6 render_screen_original::cols#5 render_screen_original::cols#4 render_screen_original::cols#7 render_screen_original::cols#3 render_screen_original::cols#1 render_screen_original::cols#2 ]
|
||||
zp ZP_BYTE:28 [ current_piece_char#27 current_piece_char#19 current_piece_char#14 current_piece_char#16 ]
|
||||
zp ZP_BYTE:29 [ current_orientation#36 current_orientation#12 current_orientation#16 current_orientation#19 current_orientation#24 current_orientation#7 ]
|
||||
zp ZP_WORD:30 [ current_piece_gfx#33 current_piece_gfx#105 current_piece_gfx#16 current_piece_gfx#21 current_piece_gfx#18 current_piece_gfx#19 current_piece_gfx#6 ]
|
||||
zp ZP_BYTE:32 [ current_xpos#41 current_xpos#115 current_xpos#17 current_xpos#28 current_xpos#20 current_xpos#24 current_xpos#7 current_xpos#5 ]
|
||||
reg byte x [ play_move_down::return#3 ]
|
||||
zp ZP_BYTE:33 [ game_over#69 game_over#26 game_over#19 game_over#14 game_over#15 ]
|
||||
reg byte x [ play_spawn_current::piece_idx#2 play_spawn_current::piece_idx#1 ]
|
||||
reg byte x [ play_increase_level::b#2 play_increase_level::b#1 ]
|
||||
reg byte y [ play_remove_lines::r#2 play_remove_lines::r#3 play_remove_lines::r#1 ]
|
||||
reg byte x [ play_remove_lines::w#6 play_remove_lines::w#4 play_remove_lines::w#12 play_remove_lines::w#11 play_remove_lines::w#1 play_remove_lines::w#2 play_remove_lines::w#3 ]
|
||||
reg byte x [ play_lock_current::c#2 play_lock_current::c#1 ]
|
||||
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
reg byte x [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
reg byte x [ keyboard_modifiers#13 keyboard_modifiers#4 keyboard_modifiers#12 keyboard_modifiers#3 keyboard_modifiers#11 ]
|
||||
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
zp ZP_BYTE:33 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
|
||||
zp ZP_BYTE:34 [ keyboard_events_size#10 keyboard_events_size#29 keyboard_events_size#19 keyboard_events_size#16 keyboard_events_size#13 keyboard_events_size#4 keyboard_events_size#30 keyboard_events_size#2 keyboard_events_size#1 ]
|
||||
reg byte a [ render_show::d018val#3 ]
|
||||
reg byte x [ play_init::j#2 play_init::j#1 ]
|
||||
reg byte x [ play_init::b#2 play_init::b#1 ]
|
||||
reg byte x [ sprites_init::s#2 sprites_init::s#1 ]
|
||||
reg byte x [ render_init::i#2 render_init::i#1 ]
|
||||
reg byte x [ render_screen_original::x#6 render_screen_original::x#5 render_screen_original::x#4 render_screen_original::x#1 render_screen_original::x#2 render_screen_original::x#3 ]
|
||||
zp ZP_BYTE:34 [ irq_raster_next#13 irq_raster_next#2 irq_raster_next#1 irq_raster_next#0 ]
|
||||
reg byte x [ sprites_irq::raster_next#2 sprites_irq::raster_next#1 sprites_irq::raster_next#0 ]
|
||||
zp ZP_BYTE:35 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:36 [ irq_sprite_ypos#0 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:37 [ irq_sprite_ptr#0 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:38 [ irq_cnt#0 irq_cnt#1 irq_cnt#14 ]
|
||||
reg byte a [ keyboard_event_get::return#3 ]
|
||||
reg byte a [ play_move_down::key_event#0 ]
|
||||
reg byte a [ play_move_down::return#3 ]
|
||||
reg byte a [ main::$12 ]
|
||||
zp ZP_BYTE:39 [ main::render#1 main::render#2 ]
|
||||
reg byte a [ play_move_leftright::key_event#0 ]
|
||||
reg byte a [ play_move_leftright::return#4 ]
|
||||
reg byte a [ main::$13 ]
|
||||
reg byte a [ play_move_rotate::key_event#0 ]
|
||||
reg byte a [ play_move_rotate::return#4 ]
|
||||
reg byte a [ main::$14 ]
|
||||
reg byte a [ main::render#3 ]
|
||||
zp ZP_BYTE:35 [ irq_raster_next#4 irq_raster_next#3 irq_raster_next#1 irq_raster_next#2 irq_raster_next#0 ]
|
||||
zp ZP_BYTE:36 [ render_screen_showing#0 render_screen_showing#1 ]
|
||||
zp ZP_BYTE:37 [ irq_sprite_ypos#0 irq_sprite_ypos#3 irq_sprite_ypos#2 irq_sprite_ypos#1 ]
|
||||
zp ZP_BYTE:38 [ irq_sprite_ptr#0 irq_sprite_ptr#3 irq_sprite_ptr#2 irq_sprite_ptr#1 ]
|
||||
zp ZP_BYTE:39 [ irq_cnt#0 irq_cnt#1 irq_cnt#2 ]
|
||||
reg byte a [ main::$9 ]
|
||||
reg byte x [ keyboard_event_get::return#3 ]
|
||||
reg byte x [ main::key_event#0 ]
|
||||
zp ZP_BYTE:40 [ play_movement::key_event#0 ]
|
||||
reg byte a [ play_movement::return#3 ]
|
||||
reg byte a [ main::render#1 ]
|
||||
reg byte a [ render_bcd::$3 ]
|
||||
reg byte a [ render_bcd::$4 ]
|
||||
reg byte a [ render_bcd::$5 ]
|
||||
@ -1169,13 +1199,22 @@ reg byte a [ render_moving::$5 ]
|
||||
reg byte a [ render_moving::current_cell#0 ]
|
||||
reg byte a [ render_playfield::$2 ]
|
||||
reg byte a [ render_playfield::$3 ]
|
||||
reg byte a [ play_move_down::key_event#0 ]
|
||||
reg byte a [ play_move_down::return#0 ]
|
||||
reg byte a [ play_movement::$0 ]
|
||||
reg byte a [ play_move_leftright::key_event#0 ]
|
||||
reg byte a [ play_move_leftright::return#0 ]
|
||||
reg byte a [ play_movement::$3 ]
|
||||
reg byte a [ play_move_rotate::key_event#0 ]
|
||||
reg byte a [ play_move_rotate::return#0 ]
|
||||
reg byte a [ play_movement::$4 ]
|
||||
reg byte a [ play_move_rotate::$2 ]
|
||||
reg byte a [ play_collision::return#13 ]
|
||||
reg byte a [ play_collision::return#14 ]
|
||||
reg byte a [ play_move_rotate::$6 ]
|
||||
reg byte a [ play_move_rotate::$4 ]
|
||||
zp ZP_BYTE:40 [ play_collision::i#1 ]
|
||||
zp ZP_BYTE:41 [ play_collision::i#1 ]
|
||||
reg byte a [ play_collision::$7 ]
|
||||
reg byte a [ play_collision::return#12 ]
|
||||
reg byte a [ play_collision::return#13 ]
|
||||
reg byte a [ play_move_leftright::$4 ]
|
||||
reg byte a [ play_collision::return#1 ]
|
||||
reg byte a [ play_move_leftright::$8 ]
|
||||
@ -1186,12 +1225,14 @@ reg byte a [ play_move_down::$12 ]
|
||||
reg byte a [ play_remove_lines::return#0 ]
|
||||
reg byte a [ play_move_down::removed#0 ]
|
||||
reg byte x [ play_update_score::removed#0 ]
|
||||
reg byte a [ play_collision::return#10 ]
|
||||
reg byte a [ play_spawn_current::$5 ]
|
||||
reg byte a [ sid_rnd::return#2 ]
|
||||
reg byte a [ play_spawn_current::$1 ]
|
||||
reg byte a [ sid_rnd::return#0 ]
|
||||
reg byte a [ play_update_score::$2 ]
|
||||
reg byte a [ play_update_score::$4 ]
|
||||
zp ZP_DWORD:41 [ play_update_score::add_bcd#0 ]
|
||||
zp ZP_DWORD:42 [ play_update_score::add_bcd#0 ]
|
||||
reg byte a [ play_update_score::$5 ]
|
||||
reg byte a [ play_update_score::lines_after#0 ]
|
||||
reg byte a [ play_increase_level::$1 ]
|
||||
@ -1221,9 +1262,10 @@ reg byte a [ sprites_init::s2#0 ]
|
||||
reg byte a [ render_init::$13 ]
|
||||
reg byte a [ render_init::$14 ]
|
||||
reg byte a [ sprites_irq::ypos#0 ]
|
||||
reg byte x [ sprites_irq::$0 ]
|
||||
zp ZP_BYTE:46 [ sprites_irq::raster_sprite_gfx_modify#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#3 ]
|
||||
reg byte a [ sprites_irq::ptr#4 ]
|
||||
reg byte a [ sprites_irq::ptr#1 ]
|
||||
reg byte a [ sprites_irq::ptr#2 ]
|
||||
|
Loading…
Reference in New Issue
Block a user