1
0
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:
Thomas Harte 2016-01-10 17:17:39 -05:00
parent d95414b2eb
commit cc5ba8243e
2 changed files with 7 additions and 7 deletions

View File

@ -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();
} }

View File

@ -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> {