MESS Emulator : NeXT M68K systems

NeXT Computer, Inc. -> Emulation / Virtualization

Title: MESS Emulator : NeXT M68K systems
Post by: itomato on July 20, 2010, 10:16:12 PM
I don't know if there's any information kicking around on this - haven't read the changelogs to see where this may have come in/why, nothing is in the drivers section (http://mess.redump.net/mess:drivers) as of 20100720.

There is a NeXT MESS driver skeleton in the .136 release, which corresponds to the available *NIX sdlmame source.


Build (example using Debian unstable):
Download MESS source (http://mess.redump.net/_media/downloads:sdlmess0136.zip)
* Download MAME source (http://mamedev.org/downloader.php?file=mame0136s.zip) of same release, i.e., .136
* Create extraction directory, extract packages
* Combine directory trees (http://mess.redump.net/compiling_mess)
* Edit src/osd/sdl/dview.c:
[/list]


----
216         if(gtk_widget_get_realized(wdv))
217                 gdk_window_move_resize(wdv->window,  
218                                                            allocation->x, allocation->y,
---

[/size]
* Wait while 243 virtual systems, components and peripherals are compiled...

* Run 'mess -createconfig' to create a mess.ini

* Run 'mess -listdevices | grep NeXT'
----

Driver next (NeXT):
Driver nextnt (NeXT (Non Turbo)):
Driver nexttrb (NeXT (Turbo)):

----
These devices correspond with the entries in 'src/mess/messdriv.c':

       DRIVER( next )
       DRIVER( nextnt )
       DRIVER( nexttrb )

-------------
In the drivers file 'next.c', you can see ROM-specif definitions for each variant; next, nextnt, nexttrb.

/* ROM definition */
ROM_START( next )
   ROM_REGION32_BE( 0x20000, "user1", ROMREGION_ERASEFF )
       ROM_SYSTEM_BIOS( 0, "v12", "v1.2" )
       ROMX_LOAD( "rev_1.2.bin",     0x0000, 0x10000, CRC(7070bd78) SHA1(e34418423da61545157e36b084e2068ad41c9e24), ROM_BIOS(1))
       ROM_SYSTEM_BIOS( 1, "v10", "v1.0 v41" )
       ROMX_LOAD( "rev_1.0_v41.bin", 0x0000, 0x10000, CRC(54df32b9) SHA1(06e3ecf09ab67a571186efd870e6b44028612371), ROM_BIOS(2))
ROM_END

ROM_START( nextnt )
       ROM_REGION32_BE( 0x20000, "user1", ROMREGION_ERASEFF )
       ROM_SYSTEM_BIOS( 0, "v25", "v2.5 v66" )
       ROMX_LOAD( "rev_2.5_v66.bin", 0x0000, 0x20000, CRC(f47e0bfe) SHA1(b3534796abae238a0111299fc406a9349f7fee24), ROM_BIOS(1))
       ROM_SYSTEM_BIOS( 1, "v24", "v2.4 v65" )
       ROMX_LOAD( "rev_2.4_v65.bin", 0x0000, 0x20000, CRC(74e9e541) SHA1(67d195351288e90818336c3a84d55e6a070960d2), ROM_BIOS(2))
       ROM_SYSTEM_BIOS( 2, "v21", "v2.1 v59" )
       ROMX_LOAD( "rev_2.1_v59.bin", 0x0000, 0x20000, CRC(f20ef956) SHA1(09586c6de1ca73995f8c9b99870ee3cc9990933a), ROM_BIOS(3))
ROM_END

ROM_START( nexttrb )
       ROM_REGION32_BE( 0x20000, "user1", ROMREGION_ERASEFF )
       ROM_SYSTEM_BIOS( 0, "v33", "v3.3 v74" )
       ROMX_LOAD( "rev_3.3_v74.bin", 0x0000, 0x20000, CRC(fbc3a2cd) SHA1(a9bef655f26f97562de366e4a33bb462e764c929), ROM_BIOS(1))
       ROM_SYSTEM_BIOS( 1, "v32", "v3.2 v72" )
       ROMX_LOAD( "rev_3.2_v72.bin", 0x0000, 0x20000, CRC(e750184f) SHA1(ccebf03ed090a79c36f761265ead6cd66fb04329), ROM_BIOS(2))
       ROM_SYSTEM_BIOS( 2, "v30", "v3.0 v70" )
       ROMX_LOAD( "rev_3.0_v70.bin", 0x0000, 0x20000, CRC(37250453) SHA1(a7e42bd6a25c61903c8ca113d0b9a624325ee6cf), ROM_BIOS(3))
ROM_END

/* Driver */

/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    COMPANY                 FULLNAME                FLAGS */
COMP( 1987, next,       0,              0,      next,           next,    0,      "Next Software, Inc",   "NeXT",                                GAME_NOT_WORKING)
COMP( 1990, nextnt, next,       0,      next040,        next,    0,      "Next Software, Inc",   "NeXT (Non Turbo)",    GAME_NOT_WORKING)
COMP( 1992, nexttrb,next,       0,      next040,        next,    0,      "Next Software, Inc",   "NeXT (Turbo)",                GAME_NOT_WORKING)

----

So, we can see the ROMs declared, their entry locations, crc info, etc..

* Create a directory 'roms/next/' containing 'rev_3.3_v74.bin'

* Move a copy of the v74 ROM in (with lowercase filename)

* Launch mess: './mess nexttrb -nosound -window'

* Tell mess 'OK', you're allowed to run it..

* Tell mess 'OK', you know this computer system may not work..



* Bask in the glory of a blank screen! :D

----
My 332MB(!) tarball with prebuilt mess and ROM is here:
http://juddy.org/index.php?entry=entry100721-122824

Built on 32-bit Debian.  'make install' may work.
Title: MESS Emulator : NeXT M68K systems
Post by: kb7sqi on July 21, 2010, 01:32:29 AM
Looking forward to seeing how this works out.  Sure most "NeXT" software runs on x86, hppa, & sparc, but there's quite a bit that only runs on m68k.  To be able to run that while on the go virtually/emulated would be great.  Thanks for the heads up in both threads.  Take care.

Steve
Title: MESS Emulator : NeXT M68K systems
Post by: itomato on July 21, 2010, 10:50:26 AM
I'd like to grab the netboot animation, and poke around in the Monitor, if nothing else :)
Title: MESS Emulator : NeXT M68K systems
Post by: itomato on July 21, 2010, 10:01:26 PM
The changelog only mentions the NeXT skeleton, so there's quite a bit missing. It's 'hilariously unfinished', as predicted!

- no code for the 'Machine' to create the relationship between emulated components.  no ../machines/next.c or .h, but I'm working on that now.

I have filled in some of the skeleton driver with bits and pieces clipped and modded from the Macintosh machine parts, but I'm a long way from another build.

I tracked down some of the datasheets for SCSI video, adb, floppy controller,  (the mac driver covers 5 varieties, VIA chip and 6502-driven models among them).  I'm crunching the schematics, but I've got a lot on my plate(s).

The BT463KG110 is a formidable obstacle, though I'd really love to see a flicker of life in this thing. The pattern between the dots is so tantalizing.
Title: MESS Emulator : NeXT M68K systems
Post by: andreas_g on July 25, 2010, 10:22:17 AM
Don't give up! It would be great to see a working NeXT Computer emulator for the first time!
This would make it possible to use some m68k-only software and NeXTstep 1.x and 2.x.

There are others working (or have been working in the past) on such projects. Maybe someone can help.
Title: MESS Emulator : NeXT M68K systems
Post by: itomato on July 28, 2010, 10:37:47 PM
Found the datasheet for the bt463, thanks to Bitsavers.org!

Brooktree Databook 1991 (http://juddy.org/NeXTLUMP/Brooktree_1991.pdf)

Brooktree 463 datasheet (http://juddy.org/NeXTLUMP/bt463datasheet.pdf)
Title: MESS Emulator : NeXT M68K systems
Post by: eagle on August 07, 2010, 07:47:09 PM
PLEASE PLEASE PLEASE PLEASE PLEASE

!!!!!

I have wanted a m68k NeXT emulator (as i have commented elsewhere) for more than a decade!

I CAN'T WAIT!!!

Go to top  Forum index