On 6/29/19 2:26 PM, Philippe Mathieu-Daudé wrote: > On 6/28/19 8:15 PM, Thomas Huth wrote: >> It is still quite incomplete (no SCSI, no floppy emulation, no network, >> etc.), but the firmware already shows up the debug monitor prompt in the >> framebuffer display, so at least the very basics are already working. >> >> This code has been taken from Bryce Lanham's GSoC 2011 NeXT branch at >> >> https://github.com/blanham/qemu-NeXT/blob/next-cube/hw/next-cube.c >> >> and altered quite a bit to fit the latest interface and coding conventions >> of the current QEMU. >> >> Signed-off-by: Thomas Huth <h...@tuxfamily.org> >> --- >> hw/m68k/Makefile.objs | 2 +- >> hw/m68k/next-cube.c | 988 ++++++++++++++++++++++++++++++++++++ >> include/hw/m68k/next-cube.h | 38 ++ >> 3 files changed, 1027 insertions(+), 1 deletion(-) >> create mode 100644 hw/m68k/next-cube.c >> >> diff --git a/hw/m68k/Makefile.objs b/hw/m68k/Makefile.objs >> index 688002cac1..f25854730d 100644 >> --- a/hw/m68k/Makefile.objs >> +++ b/hw/m68k/Makefile.objs >> @@ -1,3 +1,3 @@ >> obj-$(CONFIG_AN5206) += an5206.o mcf5206.o >> obj-$(CONFIG_MCF5208) += mcf5208.o mcf_intc.o >> -obj-$(CONFIG_NEXTCUBE) += next-kbd.o >> +obj-$(CONFIG_NEXTCUBE) += next-kbd.o next-cube.o >> diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c >> new file mode 100644 >> index 0000000000..700d386fb9 >> --- /dev/null >> +++ b/hw/m68k/next-cube.c >> @@ -0,0 +1,988 @@ >> +/* >> + * NeXT Cube System Driver >> + * >> + * Copyright (c) 2011 Bryce Lanham >> + * >> + * This code is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License as published >> + * by the Free Software Foundation; either version 2 of the License, >> + * or (at your option) any later version. >> + */ >> + >> +#include "qemu/osdep.h" >> +#include "exec/hwaddr.h" >> +#include "exec/address-spaces.h" >> +#include "sysemu/sysemu.h" >> +#include "sysemu/qtest.h" >> +#include "hw/hw.h" >> +#include "hw/m68k/next-cube.h" >> +#include "hw/boards.h" >> +#include "hw/loader.h" >> +#include "hw/scsi/esp.h" >> +#include "hw/sysbus.h" >> +#include "hw/char/escc.h" /* ZILOG 8530 Serial Emulation */ >> +#include "hw/block/fdc.h" >> +#include "qapi/error.h" >> +#include "ui/console.h" >> +#include "target/m68k/cpu.h" >> + >> +/* #define DEBUG_NEXT */ >> +#ifdef DEBUG_NEXT >> +#define DPRINTF(fmt, ...) \ >> + do { printf("NeXT: " fmt , ## __VA_ARGS__); } while (0) >> +#else >> +#define DPRINTF(fmt, ...) do { } while (0) >> +#endif >> + >> +#define TYPE_NEXT_MACHINE MACHINE_TYPE_NAME("next-cube") >> +#define NEXT_MACHINE(obj) OBJECT_CHECK(NeXTState, (obj), TYPE_NEXT_MACHINE) >> + >> +#define ENTRY 0x0100001e >> +#define RAM_SIZE 0x4000000 >> +#define ROM_FILE "rom66.bin" > > Where can we find this file to test your work?
I found one: http://www.nextcomputers.org/NeXTfiles/Software/ROM_Files/68040_Non-Turbo_Chipset/ I have to say I'm impressed :) Let me share this comment from http://old-computers.com/museum/computer.asp?c=277 "did you know the 040 nextcube was actually used for graphics design at id software at the time doom was made?" =)