mirror of
https://github.com/TomHarte/CLK.git
synced 2024-08-16 16:28:59 +00:00
Fixed: turned out the power-on bit was being cleared.
This commit is contained in:
parent
d95414b2eb
commit
cc5ba8243e
@ -108,7 +108,7 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin
|
|||||||
// _activeRom = (Electron::ROMSlot)(nextROM&0x0e);
|
// _activeRom = (Electron::ROMSlot)(nextROM&0x0e);
|
||||||
// printf("%d -> Paged %d\n", nextROM, _activeRom);
|
// printf("%d -> Paged %d\n", nextROM, _activeRom);
|
||||||
// }
|
// }
|
||||||
if((_activeRom&12) != 8 || nextROM&8)
|
if(((_activeRom&12) != 8) || (nextROM&8))
|
||||||
{
|
{
|
||||||
_activeRom = (Electron::ROMSlot)nextROM;
|
_activeRom = (Electron::ROMSlot)nextROM;
|
||||||
}
|
}
|
||||||
@ -187,7 +187,7 @@ void Machine::set_rom(ROMSlot slot, size_t length, const uint8_t *data)
|
|||||||
|
|
||||||
inline void Machine::signal_interrupt(Electron::Interrupt interrupt)
|
inline void Machine::signal_interrupt(Electron::Interrupt interrupt)
|
||||||
{
|
{
|
||||||
_interruptStatus |= (interrupt << 2);
|
_interruptStatus |= interrupt;
|
||||||
evaluate_interrupts();
|
evaluate_interrupts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,11 +30,11 @@ enum ROMSlot: uint8_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum Interrupt: uint8_t {
|
enum Interrupt: uint8_t {
|
||||||
InterruptRealTimeClock = 0x01,
|
InterruptRealTimeClock = 0x04,
|
||||||
InterruptDisplayEnd = 0x02,
|
InterruptDisplayEnd = 0x08,
|
||||||
InterruptTransmitDataEmpty = 0x04,
|
InterruptTransmitDataEmpty = 0x10,
|
||||||
InterruptReceiveDataFull = 0x08,
|
InterruptReceiveDataFull = 0x20,
|
||||||
InterruptHighToneDetect = 0x10
|
InterruptHighToneDetect = 0x40
|
||||||
};
|
};
|
||||||
|
|
||||||
class Machine: public CPU6502::Processor<Machine> {
|
class Machine: public CPU6502::Processor<Machine> {
|
||||||
|
Loading…
Reference in New Issue
Block a user