1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-05 05:34:20 +00:00

Post the serial control write onwards.

This commit is contained in:
Thomas Harte 2021-07-30 18:24:27 -04:00
parent 3d9f86c584
commit 1bae4973bc
2 changed files with 13 additions and 2 deletions

View File

@ -61,7 +61,6 @@ void Chipset::set_cia_interrupts(bool cia_a, bool cia_b) {
} }
} }
bool Chipset::Copper::advance(uint16_t position) { bool Chipset::Copper::advance(uint16_t position) {
switch(state_) { switch(state_) {
default: return false; default: return false;
@ -434,6 +433,7 @@ void Chipset::perform(const CPU::MC68000::Microcycle &cycle) {
break; break;
case Write(0x032): case Write(0x032):
LOG("TODO: serial control: " << PADHEX(4) << cycle.value16()); LOG("TODO: serial control: " << PADHEX(4) << cycle.value16());
serial_.set_control(cycle.value16());
break; break;
// DMA management. // DMA management.

View File

@ -147,7 +147,18 @@ class Chipset {
uint16_t *ram_ = nullptr; uint16_t *ram_ = nullptr;
uint32_t ram_mask_ = 0; uint32_t ram_mask_ = 0;
} copper_; } copper_;
friend Copper;
// MARK: - Serial port.
class SerialPort {
public:
void set_control(uint16_t) {}
private:
uint16_t value = 0, reload = 0;
uint16_t shift = 0, receive_shift = 0;
uint16_t status;
} serial_;
// MARK: - Pixel output. // MARK: - Pixel output.