mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-25 03:32:01 +00:00
Quick fixes properly to declare the DriveVIA, to ensure its interrupts take effect, and to wire ATN IN to CA1 rather than CB2.
This commit is contained in:
parent
428fcdb978
commit
f64cd8cfcb
@ -72,5 +72,5 @@ void Machine::set_rom(const uint8_t *rom)
|
|||||||
|
|
||||||
void Machine::mos6522_did_change_interrupt_status(void *mos6522)
|
void Machine::mos6522_did_change_interrupt_status(void *mos6522)
|
||||||
{
|
{
|
||||||
set_irq_line(_serialPortVIA->get_interrupt_line());
|
set_irq_line(_serialPortVIA->get_interrupt_line() || _driveVIA.get_interrupt_line());
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ class SerialPortVIA: public MOS::MOS6522<SerialPortVIA>, public MOS::MOS6522IRQD
|
|||||||
case ::Commodore::Serial::Line::Clock: _portB = (_portB & ~0x04) | (value ? 0 : 0x04); break;
|
case ::Commodore::Serial::Line::Clock: _portB = (_portB & ~0x04) | (value ? 0 : 0x04); break;
|
||||||
case ::Commodore::Serial::Line::Attention:
|
case ::Commodore::Serial::Line::Attention:
|
||||||
_portB = (_portB & ~0x80) | (value ? 0 : 0x80);
|
_portB = (_portB & ~0x80) | (value ? 0 : 0x80);
|
||||||
set_control_line_input(Port::B, Line::Two, !value); // truth here is active low; the 6522 takes true to be high
|
set_control_line_input(Port::A, Line::One, !value); // truth here is active low; the 6522 takes true to be high
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ class SerialPortVIA: public MOS::MOS6522<SerialPortVIA>, public MOS::MOS6522IRQD
|
|||||||
std::weak_ptr<::Commodore::Serial::Port> _serialPort;
|
std::weak_ptr<::Commodore::Serial::Port> _serialPort;
|
||||||
};
|
};
|
||||||
|
|
||||||
class DriveVIA: public MOS::MOS6522<SerialPortVIA>, public MOS::MOS6522IRQDelegate {
|
class DriveVIA: public MOS::MOS6522<DriveVIA>, public MOS::MOS6522IRQDelegate {
|
||||||
public:
|
public:
|
||||||
using MOS6522IRQDelegate::set_interrupt_status;
|
using MOS6522IRQDelegate::set_interrupt_status;
|
||||||
};
|
};
|
||||||
|
@ -71,7 +71,6 @@ void Machine::write_to_map(uint8_t **map, uint8_t *area, uint16_t address, uint1
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Machine::~Machine()
|
Machine::~Machine()
|
||||||
{
|
{
|
||||||
delete[] _rom;
|
delete[] _rom;
|
||||||
|
Loading…
Reference in New Issue
Block a user