- [NEW] [TIA] CTRLPF, REFP0, REFP1

- [WIP] [TIA] PF0, PF1, PF2
This commit is contained in:
Raimon @ quifisraimon
2026-09-15 13:38:30 +02:00
parent 4140bd7034
commit 614c729459
+28
View File
@@ -52,14 +52,23 @@ namespace tia
uint8_t player0_num_copies = 1;
uint8_t player0_copies_distance = 0;
uint32_t player0_color = 0x00000000;
bool player0_reflect = false;
uint8_t missile1_size = 1;
uint8_t player1_size = 1;
uint8_t player1_num_copies = 1;
uint8_t player1_copies_distance = 0;
uint32_t player1_color = 0x00000000;
bool player1_reflect = false;
uint32_t playfield_color = 0x00000000;
bool playfield_reflected = false;
bool playfield_score = false;
bool playfield_priority = false;
uint32_t playfield_bits = 0x00000000;
uint8_t ball_size = 1;
uint32_t background_color = 0x00000000;
uint32_t current_frame_cycles = 0;
@@ -187,6 +196,25 @@ namespace tia
playfield_color = NTSC_PALETTE[(value >> 1) & 0x7F]; break;
case 0x09: // COLUBK
background_color = NTSC_PALETTE[(value >> 1) & 0x7F]; break;
case 0x0A: // CTRLPF
playfield_reflected = value & 0x01;
playfield_score = value & 0x02;
playfield_priority = value & 0x04;
ball_size = 1 << ((value >> 4) & 0x03);
break;
case 0x0B: // REFP0
player0_reflect = value & 0x08; break;
case 0x0C: // REFP1
player1_reflect = value & 0x08; break;
case 0x0D: // PF0
playfield_bits = (playfield_bits & 0x0000ffff) | (uint32_t(value)<<16); break;
case 0x0E: // PF1
playfield_bits = (playfield_bits & 0x000f00ff) | (uint32_t(value)<<8); break;
case 0x0F: // PF2
playfield_bits = (playfield_bits & 0x000fff00) | (uint32_t(value)); break;
}
}