- [NEW] [TIA] CTRLPF, REFP0, REFP1
- [WIP] [TIA] PF0, PF1, PF2
This commit is contained in:
1 parent
4140bd7034
commit
614c729459
1 file changed
+28
@@ -52,14 +52,23 @@ namespace tia
|
|||||||
uint8_t player0_num_copies = 1;
|
uint8_t player0_num_copies = 1;
|
||||||
uint8_t player0_copies_distance = 0;
|
uint8_t player0_copies_distance = 0;
|
||||||
uint32_t player0_color = 0x00000000;
|
uint32_t player0_color = 0x00000000;
|
||||||
|
bool player0_reflect = false;
|
||||||
|
|
||||||
uint8_t missile1_size = 1;
|
uint8_t missile1_size = 1;
|
||||||
uint8_t player1_size = 1;
|
uint8_t player1_size = 1;
|
||||||
uint8_t player1_num_copies = 1;
|
uint8_t player1_num_copies = 1;
|
||||||
uint8_t player1_copies_distance = 0;
|
uint8_t player1_copies_distance = 0;
|
||||||
uint32_t player1_color = 0x00000000;
|
uint32_t player1_color = 0x00000000;
|
||||||
|
bool player1_reflect = false;
|
||||||
|
|
||||||
uint32_t playfield_color = 0x00000000;
|
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 background_color = 0x00000000;
|
||||||
|
|
||||||
uint32_t current_frame_cycles = 0;
|
uint32_t current_frame_cycles = 0;
|
||||||
@@ -187,6 +196,25 @@ namespace tia
|
|||||||
playfield_color = NTSC_PALETTE[(value >> 1) & 0x7F]; break;
|
playfield_color = NTSC_PALETTE[(value >> 1) & 0x7F]; break;
|
||||||
case 0x09: // COLUBK
|
case 0x09: // COLUBK
|
||||||
background_color = NTSC_PALETTE[(value >> 1) & 0x7F]; break;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user