def configure(args): """create and configure an emulator""" emu = Emulator(args, cpu='68030', frequency=24 * 1000 * 1000) emu.add_memory(base=0, size=512 * 1024, writable=False, from_file=args.rom) emu.add_memory(base=0x4000000, size=64 * 1024 * 1024) emu.add_device(args, MC68681, address=0xfffff000, interrupt=m68k.IRQ_2, register_arrangement='16-bit') emu.add_device(args, CompactFlash, address=0xffffe000, register_arrangement='8-bit') return emu
def configure(args): iobase = 0xff0000 emu = Emulator(args, cpu=args.cpu_type, frequency=args.cpu_frequency * 1000 * 1000) emu.add_memory(base=0, size=args.mem_size * 1024 * 1024) emu.add_device(args, UART, address=iobase, interrupt=m68k.IRQ_2) emu.add_device(args, Timer, address=iobase + 0x1000, interrupt=m68k.IRQ_6) emu.add_device(args, Disk, address=iobase + 0x2000) return emu
def configure(args): """create and configure an emulator""" emu = Emulator(args, cpu='68000', frequency=8 * 1000 * 1000) emu.add_memory(base=0, size=(16 * 1024 - 32) * 1024) emu.add_device(args, MC68681, address=0xfff001, interrupt=m68k.IRQ_2, console_port='A', register_arrangement='16-bit') emu.add_device(args, CompactFlash, address=0xffe000, register_arrangement='16-bit') if args.eeprom is not None: rom_image = open(args.eeprom, 'rb').read(32 * 1024 + 1) if (len(rom_image) > (32 * 1024)): raise RuntimeError(f'EEPROM image {args.eeprom} must be <= 32k') print(f'loaded {len(rom_image)} bytes of EEPROM') m68k.mem_write_bulk(0, rom_image) return emu