Mañanerous commit!

- [WIP] [tia] implementat el pintat, pero ahir no me deixaren tranquil i està tot empastrat
This commit is contained in:
raimon@prometeo committed 2026-09-17 06:45:33 +02:00
1 parent 5745e920f1
commit c819ab5f16
1 file changed
+32 -6
+32 -6
View File
@@ -57,6 +57,8 @@ namespace tia
uint8_t player0_bits = 0; uint8_t player0_bits = 0;
int8_t player0_hmotion = 0; int8_t player0_hmotion = 0;
bool player0_vert_delay = false; bool player0_vert_delay = false;
uint8_t player0_pixel_counter = 0;
uint8_t player0_pixel_position = 0;
uint8_t player1_size = 1; uint8_t player1_size = 1;
uint8_t player1_num_copies = 1; uint8_t player1_num_copies = 1;
@@ -67,18 +69,30 @@ namespace tia
uint8_t player1_bits = 0; uint8_t player1_bits = 0;
int8_t player1_hmotion = 0; int8_t player1_hmotion = 0;
bool player1_vert_delay = false; bool player1_vert_delay = false;
uint8_t player1_pixel_counter = 0;
uint8_t player1_pixel_position = 0;
bool missile0_enabled = false; bool missile0_enabled = false;
uint8_t missile0_size = 1; uint8_t missile0_size = 1;
uint8_t missile0_pos = 0; uint8_t missile0_pos = 0;
int8_t missile0_hmotion = 0; int8_t missile0_hmotion = 0;
bool missile0_reset = false; bool missile0_reset = false;
uint8_t missile0_pixel_counter = 0;
bool missile1_enabled = false; bool missile1_enabled = false;
uint8_t missile1_size = 1; uint8_t missile1_size = 1;
uint8_t missile1_pos = 0; uint8_t missile1_pos = 0;
int8_t missile1_hmotion = 0; int8_t missile1_hmotion = 0;
bool missile1_reset = false; bool missile1_reset = false;
uint8_t missile1_pixel_counter = 0;
bool ball_enabled = false;
uint8_t ball_size = 1;
uint8_t ball_pos = 0;
int8_t ball_hmotion = 0;
bool ball_vert_delay = false;
uint8_t ball_pixel_counter = 0;
uint32_t playfield_color = 0x00000000; uint32_t playfield_color = 0x00000000;
bool playfield_reflected = false; bool playfield_reflected = false;
@@ -92,12 +106,6 @@ namespace tia
{16,17,18,19, 15,14,13,12,11,10,9,8, 0,1,2,3,4,5,6,7, 7,6,5,4,3,2,1,0, 8,9,10,11,12,13,14,15, 19,18,17,16} {16,17,18,19, 15,14,13,12,11,10,9,8, 0,1,2,3,4,5,6,7, 7,6,5,4,3,2,1,0, 8,9,10,11,12,13,14,15, 19,18,17,16}
}; };
bool ball_enabled = false;
uint8_t ball_size = 1;
uint8_t ball_pos = 0;
int8_t ball_hmotion = 0;
bool ball_vert_delay = false;
uint32_t background_color = 0x00000000; uint32_t background_color = 0x00000000;
uint32_t current_frame_cycles = 0; uint32_t current_frame_cycles = 0;
@@ -138,6 +146,24 @@ namespace tia
if ( (!vsync_set) && (!vblank_set) && (color_clock >= 68) && (current_scanline >= 37) && (current_scanline < 229) && (!hmove || color_clock >= 92) ) { if ( (!vsync_set) && (!vblank_set) && (color_clock >= 68) && (current_scanline >= 37) && (current_scanline < 229) && (!hmove || color_clock >= 92) ) {
const uint8_t pixel_clock = color_clock - 68; const uint8_t pixel_clock = color_clock - 68;
if (player0_pos == pixel_clock) {
player0_pixel_counter = player0_size;
player0_pixel_position = 7;
}
if (player1_pos == pixel_clock) {
player1_pixel_counter = player1_size;
player1_pixel_position = 7;
}
if ( (missile0_enabled) && (missile0_pos == pixel_clock) ) {
missile0_pixel_counter = missile0_size;
}
if ( (missile1_enabled) && (missile1_pos == pixel_clock) ) {
missile1_pixel_counter = missile1_size;
}
if ( (ball_enabled) && (ball_pos == pixel_clock) ) {
ball_pixel_counter = ball_size;
}
} }
} }