From c819ab5f16effc0fa8d9a80e10f108c33c43f8a0 Mon Sep 17 00:00:00 2001 From: "raimon@prometeo" Date: Thu, 17 Sep 2026 06:45:33 +0200 Subject: [PATCH] =?UTF-8?q?Ma=C3=B1anerous=20commit!=20-=20[WIP]=20[tia]?= =?UTF-8?q?=20implementat=20el=20pintat,=20pero=20ahir=20no=20me=20deixare?= =?UTF-8?q?n=20tranquil=20i=20est=C3=A0=20tot=20empastrat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tia.cpp | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/tia.cpp b/tia.cpp index b7f2d29..123b32e 100644 --- a/tia.cpp +++ b/tia.cpp @@ -57,6 +57,8 @@ namespace tia uint8_t player0_bits = 0; int8_t player0_hmotion = 0; 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_num_copies = 1; @@ -67,18 +69,30 @@ namespace tia uint8_t player1_bits = 0; int8_t player1_hmotion = 0; bool player1_vert_delay = false; + uint8_t player1_pixel_counter = 0; + uint8_t player1_pixel_position = 0; + bool missile0_enabled = false; uint8_t missile0_size = 1; uint8_t missile0_pos = 0; int8_t missile0_hmotion = 0; bool missile0_reset = false; + uint8_t missile0_pixel_counter = 0; bool missile1_enabled = false; uint8_t missile1_size = 1; uint8_t missile1_pos = 0; int8_t missile1_hmotion = 0; 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; 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} }; - 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 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) ) { 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; + } + } }