Skip to content

Commit

Permalink
q800: add alias for MacOS toolbox ROM at 0x40000000
Browse files Browse the repository at this point in the history
According to the Apple Quadra 800 Developer Note document, the Quadra 800 ROM
consists of 2 ROM code sections based at offsets 0x0 and 0x800000. A/UX attempts
to access the toolbox ROM at the lower offset during startup, so provide a
memory alias to allow the access to succeed.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-ID: <20231004083806.757242-20-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
  • Loading branch information
mcayland authored and vivier committed Oct 6, 2023
1 parent 7685fc2 commit 9d35c6a
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
5 changes: 5 additions & 0 deletions hw/m68k/q800.c
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,11 @@ static void q800_machine_init(MachineState *machine)
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
memory_region_add_subregion(get_system_memory(), MACROM_ADDR, &m->rom);

memory_region_init_alias(&m->rom_alias, NULL, "m68k_mac.rom-alias",
&m->rom, 0, MACROM_SIZE);
memory_region_add_subregion(get_system_memory(), 0x40000000,
&m->rom_alias);

/* Load MacROM binary */
if (filename) {
bios_size = load_image_targphys(filename, MACROM_ADDR, MACROM_SIZE);
Expand Down
1 change: 1 addition & 0 deletions include/hw/m68k/q800.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ struct Q800MachineState {
bool easc;
M68kCPU cpu;
MemoryRegion rom;
MemoryRegion rom_alias;
GLUEState glue;
MOS6522Q800VIA1State via1;
MOS6522Q800VIA2State via2;
Expand Down

0 comments on commit 9d35c6a

Please sign in to comment.