mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-02-21 22:29:07 +00:00
Working on Tetris. Added colors and random piece selection (from SID voice 3 noice). Moved some code to separate files.
This commit is contained in:
parent
eaa8d0c3fc
commit
4724d7707c
4
src/main/fragment/pbuz1=pptc1_derefidx_vbuxx_plus_0.asm
Normal file
4
src/main/fragment/pbuz1=pptc1_derefidx_vbuxx_plus_0.asm
Normal file
@ -0,0 +1,4 @@
|
||||
lda {c1},x
|
||||
sta {z1}
|
||||
lda {c1}+1,x
|
||||
sta {z1}+1
|
4
src/main/fragment/pbuz1=pptc1_derefidx_vbuyy_plus_0.asm
Normal file
4
src/main/fragment/pbuz1=pptc1_derefidx_vbuyy_plus_0.asm
Normal file
@ -0,0 +1,4 @@
|
||||
lda {c1},y
|
||||
sta {z1}
|
||||
lda {c1}+1,y
|
||||
sta {z1}+1
|
@ -65,6 +65,13 @@ public class TestPrograms {
|
||||
compileAndCompare("tetris-npe");
|
||||
}
|
||||
|
||||
//@Test
|
||||
//public void testUnrollCall() throws IOException, URISyntaxException {
|
||||
// compileAndCompare("unroll-call");
|
||||
//}
|
||||
|
||||
|
||||
|
||||
*/
|
||||
@Test
|
||||
public void testFastMultiply8() throws IOException, URISyntaxException {
|
||||
@ -106,11 +113,6 @@ public class TestPrograms {
|
||||
compileAndCompare("bitwise-not");
|
||||
}
|
||||
|
||||
//@Test
|
||||
//public void testUnrollCall() throws IOException, URISyntaxException {
|
||||
// compileAndCompare("unroll-call");
|
||||
//}
|
||||
|
||||
@Test
|
||||
public void testUnrollInfinite() throws IOException, URISyntaxException {
|
||||
assertError("unroll-infinite", "Loop cannot be unrolled.");
|
||||
|
174
src/test/kc/examples/tetris/pieces.kc
Normal file
174
src/test/kc/examples/tetris/pieces.kc
Normal file
@ -0,0 +1,174 @@
|
||||
// The tetris pieces
|
||||
|
||||
// The T-piece
|
||||
align($40) byte[4*4*4] PIECE_T = {
|
||||
1, 1, 1, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 1, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
// The S-piece
|
||||
align($40) byte[4*4*4] PIECE_S = {
|
||||
0, 0, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The Z-piece
|
||||
align($40) byte[4*4*4] PIECE_Z = {
|
||||
0, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The L-piece
|
||||
align($40) byte[4*4*4] PIECE_L = {
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 1, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The J-piece
|
||||
align($40) byte[4*4*4] PIECE_J = {
|
||||
1, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 1, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The O-piece
|
||||
align($40) byte[4*4*4] PIECE_O = {
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The I-piece
|
||||
align($40) byte[4*4*4] PIECE_I = {
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 1,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 1,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The different pieces
|
||||
word[] PIECES = { (word)PIECE_T, (word)PIECE_S, (word)PIECE_Z, (word)PIECE_J, (word)PIECE_O, (word)PIECE_I, (word)PIECE_L };
|
||||
|
||||
// The colors to use for the pieces
|
||||
byte[] PIECES_COLORS = { WHITE, LIGHT_GREY, GREEN, LIGHT_GREY, WHITE, WHITE, GREEN };
|
27
src/test/kc/examples/tetris/sid.kc
Normal file
27
src/test/kc/examples/tetris/sid.kc
Normal file
@ -0,0 +1,27 @@
|
||||
// SID registers for random number generation
|
||||
const word* SID_VOICE3_FREQ = $d40e;
|
||||
const byte* SID_VOICE3_FREQ_LOW = $d40e;
|
||||
const byte* SID_VOICE3_FREQ_HIGH = $d40f;
|
||||
const byte* SID_VOICE3_CONTROL = $d412;
|
||||
const byte SID_CONTROL_NOISE = $80;
|
||||
const byte SID_CONTROL_PULSE = $40;
|
||||
const byte SID_CONTROL_SAWTOOTH = $20;
|
||||
const byte SID_CONTROL_TRIANGLE = $10;
|
||||
const byte SID_CONTROL_TEST = $08;
|
||||
const byte SID_CONTROL_RING = $04;
|
||||
const byte SID_CONTROL_SYNC = $02;
|
||||
const byte SID_CONTROL_GATE = $01;
|
||||
const byte* SID_VOICE3_OSC = $d41b;
|
||||
|
||||
// Initialize SID voice 3 for random number generation
|
||||
void sid_rnd_init() {
|
||||
*SID_VOICE3_FREQ = $ffff;
|
||||
*SID_VOICE3_CONTROL = SID_CONTROL_NOISE;
|
||||
}
|
||||
|
||||
// Get a random number from the SID voice 3,
|
||||
// Must be initialized with sid_rnd_init()
|
||||
byte sid_rnd() {
|
||||
return *SID_VOICE3_OSC;
|
||||
}
|
||||
|
@ -2,8 +2,8 @@
|
||||
import "c64"
|
||||
import "memory"
|
||||
import "keyboard"
|
||||
|
||||
byte* SCREEN = $400;
|
||||
import "sid"
|
||||
import "pieces"
|
||||
|
||||
// The size of the playfield
|
||||
const byte PLAYFIELD_LINES = 22;
|
||||
@ -13,9 +13,6 @@ const byte PLAYFIELD_COLS = 10;
|
||||
// The playfield is layed out line by line, meaning the first 10 bytes are line 1, the next 10 line 2 and so forth,
|
||||
byte[PLAYFIELD_LINES*PLAYFIELD_COLS] playfield;
|
||||
|
||||
// Pointers to the screen address for rendering each playfield line
|
||||
byte*[PLAYFIELD_LINES+3] screen_lines;
|
||||
|
||||
// Pointers to the playfield address for each playfield line
|
||||
byte*[PLAYFIELD_LINES] playfield_lines;
|
||||
|
||||
@ -24,9 +21,9 @@ byte* current_piece = 0;
|
||||
|
||||
// The curent piece orientation - each piece have 4 orientations (00/$10/$20/$30).
|
||||
// The orientation chooses one of the 4 sub-graphics of the piece.
|
||||
byte current_piece_orientation = 0;
|
||||
byte current_orientation = 0;
|
||||
|
||||
// Pointer to the current piece in the current orientation. Updated each time current_piece_orientation is updated.
|
||||
// Pointer to the current piece in the current orientation. Updated each time current_orientation is updated.
|
||||
byte* current_piece_gfx = 0;
|
||||
|
||||
// The color of the current piece
|
||||
@ -37,15 +34,22 @@ byte current_xpos = 3;
|
||||
byte current_ypos = 0;
|
||||
|
||||
// The rate of moving down the current piece (number of frames between moves if movedown is not not forced)
|
||||
const byte current_movedown_rate = 50;
|
||||
const byte current_movedown_slow = 50;
|
||||
|
||||
// The rate of moving down the current piece fast (number of frames between moves if movedown is not not forced)
|
||||
const byte current_movedown_rate_fast = 5;
|
||||
const byte current_movedown_fast = 5;
|
||||
|
||||
// Counts down til next movedown of current piece
|
||||
byte current_movedown_counter = 0;
|
||||
|
||||
// The screen
|
||||
byte* SCREEN = $400;
|
||||
|
||||
// Pointers to the screen address for rendering each playfield line
|
||||
byte*[PLAYFIELD_LINES+3] screen_lines;
|
||||
|
||||
void main() {
|
||||
sid_rnd_init();
|
||||
asm { sei }
|
||||
init();
|
||||
spawn_current();
|
||||
@ -85,17 +89,17 @@ byte play_move_down(byte key_event) {
|
||||
}
|
||||
// While space is held down move down faster
|
||||
if(keyboard_event_pressed(KEY_SPACE)!=0) {
|
||||
if(current_movedown_counter>=current_movedown_rate_fast) {
|
||||
if(current_movedown_counter>=current_movedown_fast) {
|
||||
movedown++;
|
||||
}
|
||||
}
|
||||
// Move down slowly otherwise
|
||||
if(current_movedown_counter>=current_movedown_rate) {
|
||||
if(current_movedown_counter>=current_movedown_slow) {
|
||||
movedown++;
|
||||
}
|
||||
// Attempt movedown
|
||||
if(movedown!=0) {
|
||||
if(collision(current_xpos,current_ypos+1,current_piece_orientation)==COLLISION_NONE) {
|
||||
if(collision(current_xpos,current_ypos+1,current_orientation)==COLLISION_NONE) {
|
||||
// Move current piece down
|
||||
current_ypos++;
|
||||
} else {
|
||||
@ -115,12 +119,12 @@ byte play_move_down(byte key_event) {
|
||||
byte play_move_leftright(byte key_event) {
|
||||
// Handle keyboard events
|
||||
if(key_event==KEY_COMMA) {
|
||||
if(collision(current_xpos-1,current_ypos,current_piece_orientation)==COLLISION_NONE) {
|
||||
if(collision(current_xpos-1,current_ypos,current_orientation)==COLLISION_NONE) {
|
||||
current_xpos--;
|
||||
return 1;
|
||||
}
|
||||
} else if(key_event==KEY_DOT) {
|
||||
if(collision(current_xpos+1,current_ypos,current_piece_orientation)==COLLISION_NONE) {
|
||||
if(collision(current_xpos+1,current_ypos,current_orientation)==COLLISION_NONE) {
|
||||
current_xpos++;
|
||||
return 1;
|
||||
}
|
||||
@ -134,15 +138,15 @@ byte play_move_rotate(byte key_event) {
|
||||
// Handle keyboard events
|
||||
byte orientation = $80;
|
||||
if(key_event==KEY_Z) {
|
||||
orientation = (current_piece_orientation-$10)&$3f;
|
||||
orientation = (current_orientation-$10)&$3f;
|
||||
} else if(key_event==KEY_X) {
|
||||
orientation = (current_piece_orientation+$10)&$3f;
|
||||
orientation = (current_orientation+$10)&$3f;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
if((collision(current_xpos, current_ypos, orientation) & (COLLISION_LEFT|COLLISION_RIGHT)) == 0) {
|
||||
current_piece_orientation = orientation;
|
||||
current_piece_gfx = current_piece + current_piece_orientation;
|
||||
if(collision(current_xpos, current_ypos, orientation) == 0) {
|
||||
current_orientation = orientation;
|
||||
current_piece_gfx = current_piece + current_orientation;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@ -197,27 +201,35 @@ byte collision(byte xpos, byte ypos, byte orientation) {
|
||||
// Lock the current piece onto the playfield
|
||||
void lock_current() {
|
||||
byte i = 0;
|
||||
byte ypos2 = current_ypos<<1;
|
||||
for(byte l:0..3) {
|
||||
byte line = current_ypos + l;
|
||||
byte* playfield_line = playfield_lines[line<<1];
|
||||
byte* playfield_line = playfield_lines[ypos2];
|
||||
byte col = current_xpos;
|
||||
for(byte c:0..3) {
|
||||
byte cell = current_piece_gfx[i++];
|
||||
if(cell!=0) {
|
||||
byte col = current_xpos + c;
|
||||
if(current_piece_gfx[i++]!=0) {
|
||||
playfield_line[col] = current_piece_color;
|
||||
}
|
||||
col++;
|
||||
}
|
||||
ypos2 += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn a new piece
|
||||
void spawn_current() {
|
||||
current_piece = piece_t;
|
||||
current_piece_orientation = 0;
|
||||
current_piece_gfx = current_piece + current_piece_orientation;
|
||||
current_piece_color = GREEN;
|
||||
// Pick a random piece
|
||||
(*BORDERCOL)++;
|
||||
byte piece_idx = 7;
|
||||
while(piece_idx==7) {
|
||||
piece_idx = sid_rnd()&7;
|
||||
}
|
||||
(*BORDERCOL)--;
|
||||
current_piece = PIECES[piece_idx<<1];
|
||||
current_orientation = 0;
|
||||
current_piece_gfx = current_piece + current_orientation;
|
||||
current_xpos = 3;
|
||||
current_ypos = 0;
|
||||
current_piece_color = PIECES_COLORS[piece_idx];
|
||||
}
|
||||
|
||||
// Initialize the screen and data tables
|
||||
@ -279,171 +291,4 @@ void render_current() {
|
||||
}
|
||||
ypos2 += 2;
|
||||
}
|
||||
}
|
||||
|
||||
// The T-piece
|
||||
align($40) byte[4*4*4] piece_t = {
|
||||
1, 1, 1, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 1, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
// The S-piece
|
||||
align($40) byte[4*4*4] piece_s = {
|
||||
0, 0, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The Z-piece
|
||||
align($40) byte[4*4*4] piece_z = {
|
||||
0, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The L-piece
|
||||
align($40) byte[4*4*4] piece_l = {
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
1, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 1, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 1, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The J-piece
|
||||
align($40) byte[4*4*4] piece_j = {
|
||||
1, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 1, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 0,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The O-piece
|
||||
align($40) byte[4*4*4] piece_o = {
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
|
||||
1, 1, 0, 0,
|
||||
1, 1, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
|
||||
};
|
||||
|
||||
// The I-piece
|
||||
align($40) byte[4*4*4] piece_i = {
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 1,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
1, 1, 1, 1,
|
||||
0, 0, 0, 0,
|
||||
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0,
|
||||
0, 1, 0, 0
|
||||
|
||||
};
|
||||
}
|
@ -7,8 +7,10 @@
|
||||
.label CIA1_PORT_A = $dc00
|
||||
.label CIA1_PORT_B = $dc01
|
||||
.const BLACK = 0
|
||||
.const WHITE = 1
|
||||
.const GREEN = 5
|
||||
.const DARK_GREY = $b
|
||||
.const LIGHT_GREY = $f
|
||||
.const KEY_Z = $c
|
||||
.const KEY_LSHIFT = $f
|
||||
.const KEY_X = $17
|
||||
@ -18,11 +20,15 @@
|
||||
.const KEY_CTRL = $3a
|
||||
.const KEY_SPACE = $3c
|
||||
.const KEY_COMMODORE = $3d
|
||||
.label SCREEN = $400
|
||||
.label SID_VOICE3_FREQ = $d40e
|
||||
.label SID_VOICE3_CONTROL = $d412
|
||||
.const SID_CONTROL_NOISE = $80
|
||||
.label SID_VOICE3_OSC = $d41b
|
||||
.const PLAYFIELD_LINES = $16
|
||||
.const PLAYFIELD_COLS = $a
|
||||
.const current_movedown_rate = $32
|
||||
.const current_movedown_rate_fast = 5
|
||||
.const current_movedown_slow = $32
|
||||
.const current_movedown_fast = 5
|
||||
.label SCREEN = $400
|
||||
.const COLLISION_NONE = 0
|
||||
.const COLLISION_PLAYFIELD = 1
|
||||
.const COLLISION_BOTTOM = 2
|
||||
@ -30,59 +36,57 @@
|
||||
.const COLLISION_RIGHT = 8
|
||||
.label keyboard_events_size = $13
|
||||
.label current_ypos = 2
|
||||
.label current_xpos = $12
|
||||
.label current_piece_orientation = $e
|
||||
.label current_xpos = $11
|
||||
.label current_orientation = $e
|
||||
.label current_piece_gfx = $f
|
||||
.label current_piece = $c
|
||||
.label current_piece_color = $11
|
||||
.label current_piece_color = $12
|
||||
.label current_movedown_counter = 3
|
||||
.label current_piece_15 = 5
|
||||
.label current_xpos_62 = 4
|
||||
.label current_piece_gfx_61 = 5
|
||||
.label current_piece_color_63 = 7
|
||||
.label current_xpos_92 = 4
|
||||
.label current_piece_gfx_82 = 5
|
||||
.label current_piece_color_70 = 7
|
||||
.label current_piece_67 = 5
|
||||
.label current_piece_68 = 5
|
||||
.label current_piece_gfx_62 = 5
|
||||
.label current_piece_color_64 = 7
|
||||
.label current_xpos_93 = 4
|
||||
.label current_piece_gfx_84 = 5
|
||||
.label current_piece_gfx_85 = 5
|
||||
.label current_piece_color_72 = 7
|
||||
.label current_piece_color_73 = 7
|
||||
.label current_piece_69 = 5
|
||||
.label current_piece_70 = 5
|
||||
.label current_piece_71 = 5
|
||||
.label current_piece_72 = 5
|
||||
jsr main
|
||||
main: {
|
||||
.label key_event = $14
|
||||
.label render = $15
|
||||
jsr sid_rnd_init
|
||||
sei
|
||||
jsr init
|
||||
jsr spawn_current
|
||||
jsr render_playfield
|
||||
lda #GREEN
|
||||
sta current_piece_color_63
|
||||
lda #<piece_t
|
||||
sta current_piece_gfx_61
|
||||
lda #>piece_t
|
||||
sta current_piece_gfx_61+1
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_84
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_84+1
|
||||
lda current_piece_color
|
||||
sta current_piece_color_72
|
||||
lda #3
|
||||
sta current_xpos_62
|
||||
ldx #0
|
||||
jsr render_current
|
||||
ldy spawn_current._3
|
||||
lda PIECES,y
|
||||
sta current_piece
|
||||
lda PIECES+1,y
|
||||
sta current_piece+1
|
||||
lda #0
|
||||
sta current_movedown_counter
|
||||
sta keyboard_events_size
|
||||
sta current_ypos
|
||||
lda #3
|
||||
sta current_xpos
|
||||
lda #GREEN
|
||||
sta current_piece_color
|
||||
lda #<piece_t
|
||||
sta current_piece_gfx
|
||||
lda #>piece_t
|
||||
sta current_piece_gfx+1
|
||||
lda #0
|
||||
sta current_piece_orientation
|
||||
lda #<piece_t
|
||||
sta current_piece
|
||||
lda #>piece_t
|
||||
sta current_piece+1
|
||||
sta current_orientation
|
||||
b4:
|
||||
lda RASTER
|
||||
cmp #$ff
|
||||
@ -115,13 +119,13 @@ main: {
|
||||
jsr render_playfield
|
||||
ldx current_ypos
|
||||
lda current_xpos
|
||||
sta current_xpos_92
|
||||
sta current_xpos_93
|
||||
lda current_piece_gfx
|
||||
sta current_piece_gfx_82
|
||||
sta current_piece_gfx_85
|
||||
lda current_piece_gfx+1
|
||||
sta current_piece_gfx_82+1
|
||||
sta current_piece_gfx_85+1
|
||||
lda current_piece_color
|
||||
sta current_piece_color_70
|
||||
sta current_piece_color_73
|
||||
jsr render_current
|
||||
dec BORDERCOL
|
||||
b10:
|
||||
@ -154,14 +158,14 @@ render_current: {
|
||||
ldx #0
|
||||
b3:
|
||||
ldy i
|
||||
lda (current_piece_gfx_61),y
|
||||
lda (current_piece_gfx_62),y
|
||||
inc i
|
||||
cmp #0
|
||||
beq b4
|
||||
lda xpos
|
||||
cmp #PLAYFIELD_COLS
|
||||
bcs b4
|
||||
lda current_piece_color_63
|
||||
lda current_piece_color_64
|
||||
ldy xpos
|
||||
sta (screen_line),y
|
||||
b4:
|
||||
@ -228,7 +232,7 @@ play_move_rotate: {
|
||||
b2:
|
||||
lda #$10
|
||||
clc
|
||||
adc current_piece_orientation
|
||||
adc current_orientation
|
||||
and #$3f
|
||||
sta orientation
|
||||
b4:
|
||||
@ -237,15 +241,14 @@ play_move_rotate: {
|
||||
ldy current_ypos
|
||||
ldx orientation
|
||||
lda current_piece
|
||||
sta current_piece_70
|
||||
sta current_piece_72
|
||||
lda current_piece+1
|
||||
sta current_piece_70+1
|
||||
sta current_piece_72+1
|
||||
jsr collision
|
||||
and #COLLISION_LEFT|COLLISION_RIGHT
|
||||
cmp #0
|
||||
bne b3
|
||||
lda orientation
|
||||
sta current_piece_orientation
|
||||
sta current_orientation
|
||||
clc
|
||||
adc current_piece
|
||||
sta current_piece_gfx
|
||||
@ -255,7 +258,7 @@ play_move_rotate: {
|
||||
lda #1
|
||||
jmp breturn
|
||||
b1:
|
||||
lda current_piece_orientation
|
||||
lda current_orientation
|
||||
sec
|
||||
sbc #$10
|
||||
and #$3f
|
||||
@ -363,11 +366,11 @@ play_move_leftright: {
|
||||
iny
|
||||
sty collision.xpos
|
||||
ldy current_ypos
|
||||
ldx current_piece_orientation
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_69
|
||||
sta current_piece_71
|
||||
lda current_piece+1
|
||||
sta current_piece_69+1
|
||||
sta current_piece_71+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -384,11 +387,11 @@ play_move_leftright: {
|
||||
dex
|
||||
stx collision.xpos
|
||||
ldy current_ypos
|
||||
ldx current_piece_orientation
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_68
|
||||
sta current_piece_70
|
||||
lda current_piece+1
|
||||
sta current_piece_68+1
|
||||
sta current_piece_70+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
bne b3
|
||||
@ -410,12 +413,12 @@ play_move_down: {
|
||||
cmp #0
|
||||
beq b2
|
||||
lda current_movedown_counter
|
||||
cmp #current_movedown_rate_fast
|
||||
cmp #current_movedown_fast
|
||||
bcc b2
|
||||
inx
|
||||
b2:
|
||||
lda current_movedown_counter
|
||||
cmp #current_movedown_rate
|
||||
cmp #current_movedown_slow
|
||||
bcc b4
|
||||
inx
|
||||
b4:
|
||||
@ -425,31 +428,25 @@ play_move_down: {
|
||||
iny
|
||||
lda current_xpos
|
||||
sta collision.xpos
|
||||
ldx current_piece_orientation
|
||||
ldx current_orientation
|
||||
lda current_piece
|
||||
sta current_piece_67
|
||||
sta current_piece_69
|
||||
lda current_piece+1
|
||||
sta current_piece_67+1
|
||||
sta current_piece_69+1
|
||||
jsr collision
|
||||
cmp #COLLISION_NONE
|
||||
beq b6
|
||||
jsr lock_current
|
||||
jsr spawn_current
|
||||
ldy spawn_current._3
|
||||
lda PIECES,y
|
||||
sta current_piece
|
||||
lda PIECES+1,y
|
||||
sta current_piece+1
|
||||
lda #3
|
||||
sta current_xpos
|
||||
lda #GREEN
|
||||
sta current_piece_color
|
||||
lda #<piece_t
|
||||
sta current_piece_gfx
|
||||
lda #>piece_t
|
||||
sta current_piece_gfx+1
|
||||
lda #0
|
||||
sta current_piece_orientation
|
||||
lda #<piece_t
|
||||
sta current_piece
|
||||
lda #>piece_t
|
||||
sta current_piece+1
|
||||
lda #0
|
||||
sta current_orientation
|
||||
sta current_ypos
|
||||
b7:
|
||||
lda #0
|
||||
@ -465,47 +462,90 @@ play_move_down: {
|
||||
jmp b7
|
||||
}
|
||||
spawn_current: {
|
||||
.label _3 = 2
|
||||
inc BORDERCOL
|
||||
ldx #7
|
||||
b1:
|
||||
cpx #7
|
||||
beq b2
|
||||
dec BORDERCOL
|
||||
txa
|
||||
asl
|
||||
sta _3
|
||||
tay
|
||||
lda PIECES,y
|
||||
sta current_piece_gfx
|
||||
lda PIECES+1,y
|
||||
sta current_piece_gfx+1
|
||||
lda PIECES_COLORS,x
|
||||
sta current_piece_color
|
||||
rts
|
||||
b2:
|
||||
jsr sid_rnd
|
||||
and #7
|
||||
tax
|
||||
jmp b1
|
||||
}
|
||||
sid_rnd: {
|
||||
lda SID_VOICE3_OSC
|
||||
rts
|
||||
}
|
||||
lock_current: {
|
||||
.label ypos2 = 2
|
||||
.label playfield_line = 5
|
||||
.label i = 4
|
||||
.label col = 7
|
||||
.label i = 8
|
||||
.label l = 3
|
||||
.label i_2 = 4
|
||||
.label i_3 = 4
|
||||
.label i_7 = 4
|
||||
.label i_9 = 4
|
||||
asl ypos2
|
||||
lda #0
|
||||
sta i
|
||||
sta l
|
||||
sta i_3
|
||||
b1:
|
||||
lda current_ypos
|
||||
clc
|
||||
adc l
|
||||
asl
|
||||
tay
|
||||
ldy ypos2
|
||||
lda playfield_lines,y
|
||||
sta playfield_line
|
||||
lda playfield_lines+1,y
|
||||
sta playfield_line+1
|
||||
lda current_xpos
|
||||
sta col
|
||||
ldx #0
|
||||
b2:
|
||||
ldy i
|
||||
ldy i_2
|
||||
iny
|
||||
sty i
|
||||
ldy i_2
|
||||
lda (current_piece_gfx),y
|
||||
inc i
|
||||
cmp #0
|
||||
beq b3
|
||||
txa
|
||||
clc
|
||||
adc current_xpos
|
||||
tay
|
||||
lda current_piece_color
|
||||
ldy col
|
||||
sta (playfield_line),y
|
||||
b3:
|
||||
inc col
|
||||
inx
|
||||
cpx #4
|
||||
bne b2
|
||||
bne b8
|
||||
lda ypos2
|
||||
clc
|
||||
adc #2
|
||||
sta ypos2
|
||||
inc l
|
||||
lda l
|
||||
cmp #4
|
||||
bne b1
|
||||
bne b7
|
||||
rts
|
||||
b7:
|
||||
lda i
|
||||
sta i_7
|
||||
jmp b1
|
||||
b8:
|
||||
lda i
|
||||
sta i_9
|
||||
jmp b2
|
||||
}
|
||||
keyboard_event_pressed: {
|
||||
.label row_bits = 7
|
||||
@ -745,13 +785,36 @@ fill: {
|
||||
cmp end
|
||||
bne b1
|
||||
rts
|
||||
}
|
||||
sid_rnd_init: {
|
||||
lda #<$ffff
|
||||
sta SID_VOICE3_FREQ
|
||||
lda #>$ffff
|
||||
sta SID_VOICE3_FREQ+1
|
||||
lda #SID_CONTROL_NOISE
|
||||
sta SID_VOICE3_CONTROL
|
||||
rts
|
||||
}
|
||||
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
|
||||
keyboard_events: .fill 8, 0
|
||||
keyboard_scan_values: .fill 8, 0
|
||||
.align $40
|
||||
piece_t: .byte 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
|
||||
PIECE_T: .byte 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_S: .byte 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_Z: .byte 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_L: .byte 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_J: .byte 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_O: .byte 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.align $40
|
||||
PIECE_I: .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0
|
||||
PIECES_COLORS: .byte WHITE, LIGHT_GREY, GREEN, LIGHT_GREY, WHITE, WHITE, GREEN
|
||||
playfield_lines: .fill 2*PLAYFIELD_LINES, 0
|
||||
PIECES: .word PIECE_T, PIECE_S, PIECE_Z, PIECE_J, PIECE_O, PIECE_I, PIECE_L
|
||||
playfield: .fill PLAYFIELD_LINES*PLAYFIELD_COLS, 0
|
||||
screen_lines: .fill 2*(PLAYFIELD_LINES+3), 0
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
(label) @21
|
||||
(label) @23
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(byte) BLACK
|
||||
@ -47,6 +47,26 @@
|
||||
(const byte) KEY_X#0 KEY_X = (byte/signed byte/word/signed word/dword/signed dword) 23
|
||||
(byte) KEY_Z
|
||||
(const byte) KEY_Z#0 KEY_Z = (byte/signed byte/word/signed word/dword/signed dword) 12
|
||||
(byte) LIGHT_GREY
|
||||
(const byte) LIGHT_GREY#0 LIGHT_GREY = (byte/signed byte/word/signed word/dword/signed dword) 15
|
||||
(word[]) PIECES
|
||||
(const word[]) PIECES#0 PIECES = { ((word))(const byte[4*4*4]) PIECE_T#0, ((word))(const byte[4*4*4]) PIECE_S#0, ((word))(const byte[4*4*4]) PIECE_Z#0, ((word))(const byte[4*4*4]) PIECE_J#0, ((word))(const byte[4*4*4]) PIECE_O#0, ((word))(const byte[4*4*4]) PIECE_I#0, ((word))(const byte[4*4*4]) PIECE_L#0 }
|
||||
(byte[]) PIECES_COLORS
|
||||
(const byte[]) PIECES_COLORS#0 PIECES_COLORS = { (const byte) WHITE#0, (const byte) LIGHT_GREY#0, (const byte) GREEN#0, (const byte) LIGHT_GREY#0, (const byte) WHITE#0, (const byte) WHITE#0, (const byte) GREEN#0 }
|
||||
(byte[4*4*4]) PIECE_I
|
||||
(const byte[4*4*4]) PIECE_I#0 PIECE_I = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_J
|
||||
(const byte[4*4*4]) PIECE_J#0 PIECE_J = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_L
|
||||
(const byte[4*4*4]) PIECE_L#0 PIECE_L = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_O
|
||||
(const byte[4*4*4]) PIECE_O#0 PIECE_O = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_S
|
||||
(const byte[4*4*4]) PIECE_S#0 PIECE_S = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_T
|
||||
(const byte[4*4*4]) PIECE_T#0 PIECE_T = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte[4*4*4]) PIECE_Z
|
||||
(const byte[4*4*4]) PIECE_Z#0 PIECE_Z = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte) PLAYFIELD_COLS
|
||||
(const byte) PLAYFIELD_COLS#0 PLAYFIELD_COLS = (byte/signed byte/word/signed word/dword/signed dword) 10
|
||||
(byte) PLAYFIELD_LINES
|
||||
@ -55,6 +75,16 @@
|
||||
(const byte*) RASTER#0 RASTER = ((byte*))(word/dword/signed dword) 53266
|
||||
(byte*) SCREEN
|
||||
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||
(byte) SID_CONTROL_NOISE
|
||||
(const byte) SID_CONTROL_NOISE#0 SID_CONTROL_NOISE = (byte/word/signed word/dword/signed dword) 128
|
||||
(byte*) SID_VOICE3_CONTROL
|
||||
(const byte*) SID_VOICE3_CONTROL#0 SID_VOICE3_CONTROL = ((byte*))(word/dword/signed dword) 54290
|
||||
(word*) SID_VOICE3_FREQ
|
||||
(const word*) SID_VOICE3_FREQ#0 SID_VOICE3_FREQ = ((word*))(word/dword/signed dword) 54286
|
||||
(byte*) SID_VOICE3_OSC
|
||||
(const byte*) SID_VOICE3_OSC#0 SID_VOICE3_OSC = ((byte*))(word/dword/signed dword) 54299
|
||||
(byte) WHITE
|
||||
(const byte) WHITE#0 WHITE = (byte/signed byte/word/signed word/dword/signed dword) 1
|
||||
(byte()) collision((byte) collision::xpos , (byte) collision::ypos , (byte) collision::orientation)
|
||||
(byte~) collision::$7 reg byte a 2002.0
|
||||
(label) collision::@1
|
||||
@ -120,55 +150,61 @@
|
||||
(byte) current_movedown_counter#10 current_movedown_counter zp ZP_BYTE:3 0.5333333333333333
|
||||
(byte) current_movedown_counter#12 current_movedown_counter zp ZP_BYTE:3 0.5
|
||||
(byte) current_movedown_counter#15 current_movedown_counter zp ZP_BYTE:3 1.3
|
||||
(byte) current_movedown_rate
|
||||
(const byte) current_movedown_rate#0 current_movedown_rate = (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
(byte) current_movedown_rate_fast
|
||||
(const byte) current_movedown_rate_fast#0 current_movedown_rate_fast = (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(byte) current_movedown_fast
|
||||
(const byte) current_movedown_fast#0 current_movedown_fast = (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||
(byte) current_movedown_slow
|
||||
(const byte) current_movedown_slow#0 current_movedown_slow = (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||
(byte) current_orientation
|
||||
(byte) current_orientation#15 current_orientation zp ZP_BYTE:14 0.5
|
||||
(byte) current_orientation#18 current_orientation zp ZP_BYTE:14 0.32653061224489793
|
||||
(byte) current_orientation#23 current_orientation zp ZP_BYTE:14 1.0625
|
||||
(byte) current_orientation#33 current_orientation zp ZP_BYTE:14 4.0
|
||||
(byte) current_orientation#8 current_orientation zp ZP_BYTE:14 3.0
|
||||
(byte*) current_piece
|
||||
(byte*) current_piece#11 current_piece zp ZP_WORD:12 0.5
|
||||
(byte*) current_piece#13 current_piece zp ZP_WORD:12 0.3382352941176471
|
||||
(byte*) current_piece#11 current_piece zp ZP_WORD:12 0.5588235294117647
|
||||
(byte*) current_piece#13 current_piece zp ZP_WORD:12 0.3432835820895522
|
||||
(byte*) current_piece#15 current_piece#15 zp ZP_WORD:5 10.0
|
||||
(byte*) current_piece#23 current_piece zp ZP_WORD:12 4.0
|
||||
(byte*~) current_piece#67 current_piece#67 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#68 current_piece#68 zp ZP_WORD:5 4.0
|
||||
(byte*) current_piece#23 current_piece zp ZP_WORD:12 6.0
|
||||
(byte*~) current_piece#68 current_piece zp ZP_WORD:12 4.0
|
||||
(byte*~) current_piece#69 current_piece#69 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#70 current_piece#70 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#71 current_piece#71 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#72 current_piece#72 zp ZP_WORD:5 4.0
|
||||
(byte*~) current_piece#73 current_piece zp ZP_WORD:12 4.0
|
||||
(byte) current_piece_color
|
||||
(byte) current_piece_color#11 current_piece_color zp ZP_BYTE:17 20.32
|
||||
(byte) current_piece_color#13 current_piece_color zp ZP_BYTE:17 1.0
|
||||
(byte) current_piece_color#23 current_piece_color zp ZP_BYTE:17 4.0
|
||||
(byte) current_piece_color#63 current_piece_color#63 zp ZP_BYTE:7 53.26315789473684
|
||||
(byte~) current_piece_color#70 current_piece_color#70 zp ZP_BYTE:7 22.0
|
||||
(byte) current_piece_color#11 current_piece_color zp ZP_BYTE:18 19.96078431372549
|
||||
(byte) current_piece_color#13 current_piece_color zp ZP_BYTE:18 1.0
|
||||
(byte) current_piece_color#15 current_piece_color zp ZP_BYTE:18 0.7272727272727273
|
||||
(byte) current_piece_color#23 current_piece_color zp ZP_BYTE:18 6.0
|
||||
(byte) current_piece_color#64 current_piece_color#64 zp ZP_BYTE:7 53.368421052631575
|
||||
(byte~) current_piece_color#72 current_piece_color#72 zp ZP_BYTE:7 4.0
|
||||
(byte~) current_piece_color#73 current_piece_color#73 zp ZP_BYTE:7 22.0
|
||||
(byte*) current_piece_gfx
|
||||
(byte*) current_piece_gfx#15 current_piece_gfx zp ZP_WORD:15 20.32
|
||||
(byte*) current_piece_gfx#17 current_piece_gfx zp ZP_WORD:15 0.2857142857142857
|
||||
(byte*) current_piece_gfx#10 current_piece_gfx zp ZP_WORD:15 0.6666666666666666
|
||||
(byte*) current_piece_gfx#15 current_piece_gfx zp ZP_WORD:15 19.96078431372549
|
||||
(byte*) current_piece_gfx#17 current_piece_gfx zp ZP_WORD:15 0.2962962962962963
|
||||
(byte*) current_piece_gfx#18 current_piece_gfx zp ZP_WORD:15 1.75
|
||||
(byte*) current_piece_gfx#29 current_piece_gfx zp ZP_WORD:15 4.0
|
||||
(byte*) current_piece_gfx#61 current_piece_gfx#61 zp ZP_WORD:5 53.26315789473684
|
||||
(byte*) current_piece_gfx#29 current_piece_gfx zp ZP_WORD:15 6.0
|
||||
(byte*) current_piece_gfx#62 current_piece_gfx#62 zp ZP_WORD:5 53.368421052631575
|
||||
(byte*) current_piece_gfx#8 current_piece_gfx zp ZP_WORD:15 4.0
|
||||
(byte*~) current_piece_gfx#82 current_piece_gfx#82 zp ZP_WORD:5 11.0
|
||||
(byte) current_piece_orientation
|
||||
(byte) current_piece_orientation#15 current_piece_orientation zp ZP_BYTE:14 0.5
|
||||
(byte) current_piece_orientation#18 current_piece_orientation zp ZP_BYTE:14 0.32
|
||||
(byte) current_piece_orientation#23 current_piece_orientation zp ZP_BYTE:14 1.0625
|
||||
(byte) current_piece_orientation#33 current_piece_orientation zp ZP_BYTE:14 4.0
|
||||
(byte) current_piece_orientation#8 current_piece_orientation zp ZP_BYTE:14 3.0
|
||||
(byte*~) current_piece_gfx#84 current_piece_gfx#84 zp ZP_WORD:5 2.0
|
||||
(byte*~) current_piece_gfx#85 current_piece_gfx#85 zp ZP_WORD:5 11.0
|
||||
(byte) current_xpos
|
||||
(byte) current_xpos#16 current_xpos zp ZP_BYTE:18 20.36
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:18 0.72
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:18 0.8292682926829271
|
||||
(byte) current_xpos#36 current_xpos zp ZP_BYTE:18 4.0
|
||||
(byte) current_xpos#16 current_xpos zp ZP_BYTE:17 2.313725490196078
|
||||
(byte) current_xpos#19 current_xpos zp ZP_BYTE:17 0.72
|
||||
(byte) current_xpos#23 current_xpos zp ZP_BYTE:17 0.8500000000000003
|
||||
(byte) current_xpos#36 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte) current_xpos#62 current_xpos#62 zp ZP_BYTE:4 5.894736842105264
|
||||
(byte) current_xpos#7 current_xpos zp ZP_BYTE:18 4.0
|
||||
(byte) current_xpos#9 current_xpos zp ZP_BYTE:18 4.0
|
||||
(byte~) current_xpos#92 current_xpos#92 zp ZP_BYTE:4 7.333333333333333
|
||||
(byte) current_xpos#7 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte) current_xpos#9 current_xpos zp ZP_BYTE:17 4.0
|
||||
(byte~) current_xpos#93 current_xpos#93 zp ZP_BYTE:4 7.333333333333333
|
||||
(byte) current_ypos
|
||||
(byte) current_ypos#12 current_ypos zp ZP_BYTE:2 2.4081632653061225
|
||||
(byte) current_ypos#16 current_ypos zp ZP_BYTE:2 0.4705882352941177
|
||||
(byte) current_ypos#12 current_ypos zp ZP_BYTE:2 0.5588235294117647
|
||||
(byte) current_ypos#16 current_ypos zp ZP_BYTE:2 0.47761194029850734
|
||||
(byte) current_ypos#22 reg byte x 13.0
|
||||
(byte) current_ypos#31 current_ypos zp ZP_BYTE:2 4.0
|
||||
(byte) current_ypos#4 current_ypos zp ZP_BYTE:2 4.0
|
||||
(byte~) current_ypos#72 reg byte x 5.5
|
||||
(byte~) current_ypos#68 reg byte x 5.5
|
||||
(void()) fill((byte*) fill::start , (word) fill::size , (byte) fill::val)
|
||||
(label) fill::@1
|
||||
(label) fill::@return
|
||||
@ -312,34 +348,39 @@
|
||||
(byte[8]) keyboard_scan_values
|
||||
(const byte[8]) keyboard_scan_values#0 keyboard_scan_values = { fill( 8, 0) }
|
||||
(void()) lock_current()
|
||||
(byte~) lock_current::$1 reg byte a 202.0
|
||||
(label) lock_current::@1
|
||||
(label) lock_current::@2
|
||||
(label) lock_current::@3
|
||||
(label) lock_current::@4
|
||||
(label) lock_current::@5
|
||||
(label) lock_current::@7
|
||||
(label) lock_current::@8
|
||||
(label) lock_current::@return
|
||||
(byte) lock_current::c
|
||||
(byte) lock_current::c#1 reg byte x 1501.5
|
||||
(byte) lock_current::c#2 reg byte x 500.5
|
||||
(byte) lock_current::cell
|
||||
(byte) lock_current::cell#0 reg byte a 1001.0
|
||||
(byte) lock_current::c#1 reg byte x 1001.0
|
||||
(byte) lock_current::c#2 reg byte x 400.4
|
||||
(byte) lock_current::col
|
||||
(byte) lock_current::col#0 reg byte a 2002.0
|
||||
(byte) lock_current::col#0 col zp ZP_BYTE:7 202.0
|
||||
(byte) lock_current::col#1 col zp ZP_BYTE:7 500.5
|
||||
(byte) lock_current::col#2 col zp ZP_BYTE:7 776.0
|
||||
(byte) lock_current::i
|
||||
(byte) lock_current::i#1 i zp ZP_BYTE:4 262.875
|
||||
(byte) lock_current::i#2 i zp ZP_BYTE:4 1552.0
|
||||
(byte) lock_current::i#3 i zp ZP_BYTE:4 50.5
|
||||
(byte) lock_current::i#1 i zp ZP_BYTE:8 233.66666666666669
|
||||
(byte) lock_current::i#2 i#2 zp ZP_BYTE:4 1552.0
|
||||
(byte) lock_current::i#3 i#3 zp ZP_BYTE:4 67.33333333333333
|
||||
(byte~) lock_current::i#7 i#7 zp ZP_BYTE:4 202.0
|
||||
(byte~) lock_current::i#9 i#9 zp ZP_BYTE:4 2002.0
|
||||
(byte) lock_current::l
|
||||
(byte) lock_current::l#1 l zp ZP_BYTE:3 151.5
|
||||
(byte) lock_current::l#2 l zp ZP_BYTE:3 25.25
|
||||
(byte) lock_current::line
|
||||
(byte) lock_current::line#0 reg byte a 202.0
|
||||
(byte) lock_current::l#1 l zp ZP_BYTE:3 101.0
|
||||
(byte) lock_current::l#6 l zp ZP_BYTE:3 16.833333333333332
|
||||
(byte*) lock_current::playfield_line
|
||||
(byte*) lock_current::playfield_line#0 playfield_line zp ZP_WORD:5 122.44444444444446
|
||||
(byte*) lock_current::playfield_line#0 playfield_line zp ZP_WORD:5 110.19999999999999
|
||||
(byte) lock_current::ypos2
|
||||
(byte) lock_current::ypos2#0 ypos2 zp ZP_BYTE:2 4.0
|
||||
(byte) lock_current::ypos2#1 ypos2 zp ZP_BYTE:2 50.5
|
||||
(byte) lock_current::ypos2#2 ypos2 zp ZP_BYTE:2 27.727272727272727
|
||||
(void()) main()
|
||||
(byte~) main::$10 reg byte a 22.0
|
||||
(byte~) main::$8 reg byte a 22.0
|
||||
(byte~) main::$11 reg byte a 22.0
|
||||
(byte~) main::$9 reg byte a 22.0
|
||||
(label) main::@1
|
||||
(label) main::@10
|
||||
@ -347,13 +388,14 @@
|
||||
(label) main::@21
|
||||
(label) main::@22
|
||||
(label) main::@23
|
||||
(label) main::@25
|
||||
(label) main::@24
|
||||
(label) main::@26
|
||||
(label) main::@27
|
||||
(label) main::@28
|
||||
(label) main::@29
|
||||
(label) main::@30
|
||||
(label) main::@31
|
||||
(label) main::@32
|
||||
(label) main::@4
|
||||
(label) main::@7
|
||||
(label) main::@9
|
||||
@ -363,8 +405,6 @@
|
||||
(byte) main::render#1 render zp ZP_BYTE:21 4.4
|
||||
(byte) main::render#2 render zp ZP_BYTE:21 4.4
|
||||
(byte) main::render#3 reg byte a 22.0
|
||||
(byte[4*4*4]) piece_t
|
||||
(const byte[4*4*4]) piece_t#0 piece_t = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 0 }
|
||||
(byte()) 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
|
||||
@ -414,7 +454,6 @@
|
||||
(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
|
||||
(byte~) play_move_rotate::$6 reg byte a 4.0
|
||||
(byte~) play_move_rotate::$8 reg byte a 4.0
|
||||
(label) play_move_rotate::@1
|
||||
(label) play_move_rotate::@11
|
||||
(label) play_move_rotate::@14
|
||||
@ -427,7 +466,7 @@
|
||||
(byte) play_move_rotate::orientation
|
||||
(byte) play_move_rotate::orientation#1 orientation zp ZP_BYTE:4 4.0
|
||||
(byte) play_move_rotate::orientation#2 orientation zp ZP_BYTE:4 4.0
|
||||
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:4 0.8
|
||||
(byte) play_move_rotate::orientation#3 orientation zp ZP_BYTE:4 0.8888888888888888
|
||||
(byte) play_move_rotate::return
|
||||
(byte) play_move_rotate::return#0 reg byte a 22.0
|
||||
(byte) play_move_rotate::return#2 reg byte a 3.6666666666666665
|
||||
@ -489,16 +528,32 @@
|
||||
(byte*) render_playfield::line#2 line zp ZP_WORD:5 1552.0
|
||||
(byte*[PLAYFIELD_LINES#0+3]) screen_lines
|
||||
(const byte*[PLAYFIELD_LINES#0+3]) screen_lines#0 screen_lines = { fill( PLAYFIELD_LINES#0+3, 0) }
|
||||
(byte()) sid_rnd()
|
||||
(label) sid_rnd::@return
|
||||
(byte) sid_rnd::return
|
||||
(byte) sid_rnd::return#0 reg byte a 34.33333333333333
|
||||
(byte) sid_rnd::return#2 reg byte a 202.0
|
||||
(void()) sid_rnd_init()
|
||||
(label) sid_rnd_init::@return
|
||||
(void()) spawn_current()
|
||||
(byte~) spawn_current::$1 reg byte a 202.0
|
||||
(byte~) spawn_current::$3 $3 zp ZP_BYTE:2 0.18181818181818182
|
||||
(label) spawn_current::@1
|
||||
(label) spawn_current::@2
|
||||
(label) spawn_current::@3
|
||||
(label) spawn_current::@7
|
||||
(label) spawn_current::@return
|
||||
(byte) spawn_current::piece_idx
|
||||
(byte) spawn_current::piece_idx#1 reg byte x 202.0
|
||||
(byte) spawn_current::piece_idx#2 reg byte x 41.199999999999996
|
||||
|
||||
zp ZP_BYTE:2 [ current_ypos#12 current_ypos#16 current_ypos#31 current_ypos#4 init::l#4 init::l#1 ]
|
||||
zp ZP_BYTE:3 [ current_movedown_counter#15 current_movedown_counter#12 current_movedown_counter#10 lock_current::l#2 lock_current::l#1 ]
|
||||
reg byte x [ current_ypos#22 current_ypos#72 ]
|
||||
zp ZP_BYTE:4 [ current_xpos#62 current_xpos#92 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 lock_current::i#2 lock_current::i#3 lock_current::i#1 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_WORD:5 [ current_piece_gfx#61 current_piece_gfx#82 render_playfield::line#2 render_playfield::line#0 render_playfield::line#1 current_piece#15 current_piece#67 current_piece#68 current_piece#69 current_piece#70 collision::piece_gfx#0 init::li#2 init::li#1 init::pli#2 init::pli#1 init::line#4 init::line#1 fill::addr#2 fill::addr#0 fill::addr#1 lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:7 [ current_piece_color#63 current_piece_color#70 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 collision::xpos#5 collision::xpos#0 collision::xpos#1 collision::xpos#2 collision::xpos#3 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:8 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 collision::ypos2#2 collision::ypos2#0 collision::ypos2#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:2 [ current_ypos#12 current_ypos#16 current_ypos#31 current_ypos#4 lock_current::ypos2#2 lock_current::ypos2#0 lock_current::ypos2#1 init::l#4 init::l#1 spawn_current::$3 ]
|
||||
zp ZP_BYTE:3 [ current_movedown_counter#15 current_movedown_counter#12 current_movedown_counter#10 lock_current::l#6 lock_current::l#1 ]
|
||||
reg byte x [ current_ypos#22 current_ypos#68 ]
|
||||
zp ZP_BYTE:4 [ current_xpos#62 current_xpos#93 render_playfield::l#2 render_playfield::l#1 play_move_rotate::orientation#3 play_move_rotate::orientation#1 play_move_rotate::orientation#2 lock_current::i#2 lock_current::i#3 lock_current::i#7 lock_current::i#9 keyboard_event_pressed::keycode#5 keyboard_event_scan::row#2 keyboard_event_scan::row#1 ]
|
||||
zp ZP_WORD:5 [ current_piece_gfx#62 current_piece_gfx#84 current_piece_gfx#85 render_playfield::line#2 render_playfield::line#0 render_playfield::line#1 current_piece#15 current_piece#69 current_piece#70 current_piece#71 current_piece#72 collision::piece_gfx#0 init::li#2 init::li#1 init::pli#2 init::pli#1 init::line#4 init::line#1 fill::addr#2 fill::addr#0 fill::addr#1 lock_current::playfield_line#0 ]
|
||||
zp ZP_BYTE:7 [ current_piece_color#64 current_piece_color#72 current_piece_color#73 render_playfield::i#2 render_playfield::i#3 render_playfield::i#1 collision::xpos#5 collision::xpos#0 collision::xpos#1 collision::xpos#2 collision::xpos#3 lock_current::col#2 lock_current::col#0 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:8 [ render_current::ypos2#2 render_current::ypos2#0 render_current::ypos2#1 collision::ypos2#2 collision::ypos2#0 collision::ypos2#1 lock_current::i#1 keyboard_event_scan::row_scan#0 ]
|
||||
zp ZP_BYTE:9 [ render_current::l#3 render_current::l#1 collision::l#6 collision::l#1 ]
|
||||
zp ZP_BYTE:10 [ render_current::i#2 render_current::i#1 render_current::i#4 render_current::i#8 collision::i#2 collision::i#3 collision::i#11 collision::i#13 ]
|
||||
zp ZP_BYTE:11 [ render_current::xpos#2 render_current::xpos#1 render_current::xpos#0 collision::col#2 collision::col#9 collision::col#1 ]
|
||||
@ -511,12 +566,13 @@ reg byte x [ collision::c#2 collision::c#1 ]
|
||||
reg byte a [ collision::return#14 ]
|
||||
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_WORD:12 [ current_piece#23 current_piece#11 current_piece#13 init::$13 fill::end#0 ]
|
||||
zp ZP_BYTE:14 [ current_piece_orientation#33 current_piece_orientation#15 current_piece_orientation#23 current_piece_orientation#8 current_piece_orientation#18 ]
|
||||
zp ZP_WORD:15 [ current_piece_gfx#29 current_piece_gfx#15 current_piece_gfx#18 current_piece_gfx#8 current_piece_gfx#17 ]
|
||||
zp ZP_BYTE:17 [ current_piece_color#23 current_piece_color#11 current_piece_color#13 ]
|
||||
zp ZP_BYTE:18 [ current_xpos#36 current_xpos#16 current_xpos#23 current_xpos#9 current_xpos#19 current_xpos#7 ]
|
||||
zp ZP_WORD:12 [ current_piece#23 current_piece#73 current_piece#11 current_piece#13 current_piece#68 init::$13 fill::end#0 ]
|
||||
zp ZP_BYTE:14 [ current_orientation#33 current_orientation#15 current_orientation#23 current_orientation#8 current_orientation#18 ]
|
||||
zp ZP_WORD:15 [ current_piece_gfx#29 current_piece_gfx#15 current_piece_gfx#18 current_piece_gfx#10 current_piece_gfx#8 current_piece_gfx#17 ]
|
||||
zp ZP_BYTE:17 [ current_xpos#36 current_xpos#16 current_xpos#23 current_xpos#9 current_xpos#19 current_xpos#7 ]
|
||||
zp ZP_BYTE:18 [ current_piece_color#23 current_piece_color#11 current_piece_color#13 current_piece_color#15 ]
|
||||
reg byte x [ play_move_down::return#3 ]
|
||||
reg byte x [ spawn_current::piece_idx#2 spawn_current::piece_idx#1 ]
|
||||
reg byte x [ lock_current::c#2 lock_current::c#1 ]
|
||||
reg byte a [ keyboard_event_get::return#2 keyboard_event_get::return#1 ]
|
||||
reg byte x [ keyboard_event_scan::col#2 keyboard_event_scan::col#1 ]
|
||||
@ -529,14 +585,14 @@ reg byte a [ keyboard_event_get::return#3 ]
|
||||
zp ZP_BYTE:20 [ main::key_event#0 ]
|
||||
reg byte a [ play_move_down::key_event#0 ]
|
||||
reg byte a [ play_move_down::return#0 ]
|
||||
reg byte a [ main::$8 ]
|
||||
reg byte a [ main::$9 ]
|
||||
zp ZP_BYTE:21 [ main::render#1 main::render#2 ]
|
||||
reg byte a [ play_move_leftright::key_event#0 ]
|
||||
reg byte a [ play_move_leftright::return#0 ]
|
||||
reg byte a [ main::$9 ]
|
||||
reg byte a [ main::$10 ]
|
||||
reg byte a [ play_move_rotate::key_event#0 ]
|
||||
reg byte a [ play_move_rotate::return#0 ]
|
||||
reg byte a [ main::$10 ]
|
||||
reg byte a [ main::$11 ]
|
||||
reg byte a [ main::render#3 ]
|
||||
zp ZP_WORD:22 [ render_current::screen_line#0 collision::playfield_line#0 ]
|
||||
reg byte a [ render_current::current_cell#0 ]
|
||||
@ -544,7 +600,6 @@ reg byte a [ render_playfield::$1 ]
|
||||
reg byte a [ play_move_rotate::$2 ]
|
||||
reg byte a [ collision::return#13 ]
|
||||
reg byte a [ play_move_rotate::$6 ]
|
||||
reg byte a [ play_move_rotate::$8 ]
|
||||
reg byte a [ play_move_rotate::$4 ]
|
||||
zp ZP_BYTE:24 [ collision::i#1 ]
|
||||
reg byte a [ collision::$7 ]
|
||||
@ -556,10 +611,9 @@ reg byte a [ keyboard_event_pressed::return#12 ]
|
||||
reg byte a [ play_move_down::$2 ]
|
||||
reg byte a [ collision::return#0 ]
|
||||
reg byte a [ play_move_down::$12 ]
|
||||
reg byte a [ lock_current::line#0 ]
|
||||
reg byte a [ lock_current::$1 ]
|
||||
reg byte a [ lock_current::cell#0 ]
|
||||
reg byte a [ lock_current::col#0 ]
|
||||
reg byte a [ sid_rnd::return#2 ]
|
||||
reg byte a [ spawn_current::$1 ]
|
||||
reg byte a [ sid_rnd::return#0 ]
|
||||
reg byte a [ keyboard_event_pressed::$0 ]
|
||||
reg byte a [ keyboard_event_pressed::$1 ]
|
||||
reg byte a [ keyboard_event_pressed::return#11 ]
|
||||
|
Loading…
x
Reference in New Issue
Block a user