class Dragon32PeripheryBase(object): """ GUI independent stuff """ def __init__(self, cfg, cpu, memory, user_input_queue): self.cfg = cfg self.cpu = cpu self.memory = memory self.user_input_queue = user_input_queue self.kbd = 0xBF self.display = None self.speaker = None # Speaker() self.cassette = None # Cassette() self.sam = SAM(cfg, cpu, memory) self.pia = PIA(cfg, cpu, memory, self.user_input_queue) self.memory.add_read_byte_callback(self.no_dos_rom, 0xC000) self.memory.add_read_word_callback(self.no_dos_rom, 0xC000) self.running = True def reset(self): self.sam.reset() self.pia.reset() self.pia.internal_reset() def no_dos_rom(self, cpu_cycles, op_address, address): log.error("%04x| TODO: DOS ROM requested. Send 0x00 back", op_address) return 0x00
def __init__(self, cfg, cpu, memory, user_input_queue): self.cfg = cfg self.cpu = cpu self.memory = memory self.user_input_queue = user_input_queue self.kbd = 0xBF self.display = None self.speaker = None # Speaker() self.cassette = None # Cassette() self.sam = SAM(cfg, cpu, memory) self.pia = PIA(cfg, cpu, memory, self.user_input_queue) self.memory.add_read_byte_callback(self.no_dos_rom, 0xC000) self.memory.add_read_word_callback(self.no_dos_rom, 0xC000) self.running = True