Mac68k Forums

Home


Welcome, Guest
Guest Settings
Help

Mac68k Forums » Development » Hardware Hacking

Thread: dougg3 ROM SIMM IIsi image hacking


Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 7 - Pages: 1 - Last Post: Apr 18, 2016 12:04 PM Last Post By: bbraun Threads: [ Previous | Next ]
bigmessowires


Posts: 217
Registered: 10/29/13
dougg3 ROM SIMM IIsi image hacking
Posted: Apr 13, 2016 1:26 AM
Click to report abuse...   Click to reply to this thread Reply
I'm working on putting together a ROM SIMM image based on the IIsi ROM. What kind of fun ROM hacks have people been successful with? There's obviously bbraun's ROM disk, and disabling of the memory test, that are on the wiki. What about hacking the "happy mac" icon, or flashing question mark? Or color icons? Or changing the startup sound? I know Doug famously hacked the IIci startup sound, which is documented on his blog, but I don't think the same change was ever applied to the IIsi ROM. I assume the steps should be more or less the same, so I'll probably start by looking at that, if nobody else has done it already.

Semi-related, are there any known compatibility problems when using the IIsi ROM to boot an SE/30, IIx, IIcx, IIci, or IIfx? Like maybe only 3 of the NuBus slots are usable, or some NuBus cards don't work right, or other strangeness? Maybe certain software not working right, because it thinks you've got a IIsi when you really don't? From what I've read, you may need to do a reinstall of Mac OS selecting software for "Any Macintosh", and make sure to remove Mode 32.

Doug and I have worked out an agreement where I'll take over primary assembly and sales of his ROM SIMM, including a new 4 MB SIMM that I designed based on his original versions, and I'll pay him a portion of whatever money I make from sales. I hope to have these available in a few weeks. I think that'll be good for everybody, since his SIMM has been out of stock for a while, and it'll be nice to have a source again for people who want one.
Arbee

Posts: 61
Registered: 11/29/12
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 13, 2016 9:26 AM   in response to: bigmessowires in response to: bigmessowires
Click to report abuse...   Click to reply to this thread Reply
Most Mac ROMs after a certain point are "Universal", meaning they autodetect many of the features of the machine they're on and use a data table (plus the ID bits from the VIAs and/or the ID word at 0x5FFFFFFC) to get the rest (this is in part how Basilisk and SheepShaver get away with not actually emulating any specific Mac's hardware). Nearly all of them contain the data table entries for the II/IIx/IIcx/SE30 in addition to whatever new machine(s) they were released for. Your Gestalt ID will still be SE/30 or whatever, the major difference is the IIsi ROMs are 32-bit clean.

I have a C program that recognizes most Old World ROMs and prints out the supported models in the data table. For example, here's what it finds in an LC III ROM, meaning this ROM should boot any of these machines:

ROM ID is ecbbc41c
info 3648 Box IIx decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 00000000 ID 0000
info 3688 Box SE/30 decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 40000000 ID 0000
info 36c8 Box IIcx decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 40000008 ID 0000
info 3708 Box IIci decoder 5 (MDU) VIA mask 56000000 VIA match 46000000 ID 0000
info 3748 Box IIci decoder 5 (MDU) VIA mask 56000000 VIA match 56000000 ID 0000
info 3788 Box IIfx decoder 6 (OSS/FMC) VIA mask 56000000 VIA match 52000000 ID 0000
info 37c8 Box IIsi decoder 5 (MDU) VIA mask 56000000 VIA match 16000000 ID 0000
info 3808 Box LC decoder 7 (V8) VIA mask 56000000 VIA match 54000000 ID 0000
info 38c8 Box Quadra 700 decoder 8 (Orwell) VIA mask 56000000 VIA match 40000000 ID 0000
info 3848 Box Quadra 900 decoder 8 (Orwell) VIA mask 56000000 VIA match 50000000 ID 0000
info 3888 Box Quadra 950 decoder 8 (Orwell) VIA mask 56000000 VIA match 10000000 ID 0000
info 3908 Box PowerBook 170 decoder 9 (Jaws) VIA mask 56000000 VIA match 12000000 ID 0000
info d2ce0 Box PowerBook 180 decoder 12 (Niagra) VIA mask 56000000 VIA match 12000000 ID 0000
info d27d8 Box PowerBook Duo 210 decoder 10 (MSC) VIA mask 56000000 VIA match 00000000 ID 1004
info d2818 Box PowerBook Duo 230 decoder 10 (MSC) VIA mask 56000000 VIA match 00000000 ID 1005
info d2858 Box PowerBook Duo 250 decoder 10 (MSC) VIA mask 56000000 VIA match 00000000 ID 1006
info d2898 Box DBLite 20 decoder 10 (MSC) VIA mask 56000000 VIA match 00000000 ID 1003
info d28d8 Box Vail 16 decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 0000
info d2918 Box LC III decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 0001
info d295c Box LC III+ decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 0003
info d29a0 Box Sun MAE or Carnation 33 decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 2000
info d29e0 Box Carnation 16 decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 2001
info d2a20 Box Carnation 25 decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 2002
info d2a60 Box Sun MAE or Carnation 33 decoder 11 (Sonora) VIA mask 00000000 VIA match 00000000 ID 2003
info d2aa0 Box Wombat 20 decoder 13 (YMCA) VIA mask 56000000 VIA match 42000000 ID 2bad
info d2ae0 Box Centris 650 decoder 13 (YMCA) VIA mask 56000000 VIA match 46000000 ID 2bad
info d2b60 Box Quadra 800 decoder 13 (YMCA) VIA mask 56000000 VIA match 12000000 ID 2bad
info d2b20 Box Quadra 650 decoder 13 (YMCA) VIA mask 56000000 VIA match 52000000 ID 2bad
info d2ba0 Box Wombat 40 decoder 13 (YMCA) VIA mask 56000000 VIA match 56000000 ID 2bad
info d2be0 Box Wombat 40F decoder 13 (YMCA) VIA mask 56000000 VIA match 16000000 ID 2bad
info d2c20 Box Centris 610 decoder 13 (YMCA) VIA mask 56000000 VIA match 40000000 ID 2bad
info d2c60 Box Quadra 610 decoder 13 (YMCA) VIA mask 56000000 VIA match 44000000 ID 2bad
info d2ca0 Box Unused decoder 13 (YMCA) VIA mask 56000000 VIA match 04000000 ID 2bad

"VIA mask" is what bits to mask off to get the machine ID and then match with "VIA match", the "ID" is the 0x5FFFFFFC ID word for systems that have it.

Some box names are codenames, obviously. Source available on request.
bigmessowires


Posts: 217
Registered: 10/29/13
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 13, 2016 9:38 PM   in response to: Arbee in response to: Arbee
Click to report abuse...   Click to reply to this thread Reply
Wow, that's a super cool program! If you have a IIsi ROM image handy, could you post the same output for it that you did for the LC III ROM?
Arbee

Posts: 61
Registered: 11/29/12
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 15, 2016 9:30 AM   in response to: bigmessowires in response to: bigmessowires
Click to report abuse...   Click to reply to this thread Reply
IIsi's got a lot less supported systems, including a few variants that didn't ship:

ROM ID is 36b7fb6c
info 35c0 Box II decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 00000008 ID 0000
info 3600 Box IIx decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 00000000 ID 0000
info 3640 Box SE/30 decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 40000000 ID 0000
info 3680 Box IIcx decoder 4 (Mac II Glue) VIA mask 40000008 VIA match 40000008 ID 0000
info 36c0 Box IIci decoder 5 (MDU) VIA mask 56000000 VIA match 46000000 ID 0000
info 3700 Box IIci decoder 5 (MDU) VIA mask 56000000 VIA match 56000000 ID 0000
info 3800 Box Four Square decoder 5 (MDU) VIA mask 56000000 VIA match 54000000 ID 0000
info 37c0 Box IIfx decoder 6 (OSS/FMC) VIA mask 56000000 VIA match 52000000 ID 0000
info 3740 Box Aurora SE25 decoder 5 (MDU) VIA mask 56000000 VIA match 00000000 ID 0000
info 3780 Box Aurora SE16 decoder 5 (MDU) VIA mask 56000000 VIA match 06000000 ID 0000
info 3b64 Box IIsi decoder 5 (MDU) VIA mask 56000000 VIA match 16000000 ID 0000
info 3ba4 Box LC decoder 7 (V8) VIA mask 56000000 VIA match 54000000 ID 0000
bigmessowires


Posts: 217
Registered: 10/29/13
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 15, 2016 10:40 AM   in response to: Arbee in response to: Arbee
Click to report abuse...   Click to reply to this thread Reply
Thanks so much! That's really interesting. Your tool makes it possible to get extensive compatibility info, like this table from the wiki https://mac68k.info/wiki/display/mac68k/ROM+Interoperability, but without the headaches of actually having all those machines or swapping ROM SIMMs in and out.

So if the goal is to make a "universal" ROM image for the dougg3 SIMM, it looks like the LCIII ROM is probably a better place to start than the IIsi ROM. bbraun's ROM disk driver would need to be modified to work with the LCIII ROM, which hopefully isn't too difficult. I know he chose the IIsi ROM because it had lots of unused space, and a couple of unused drivers that allowed him to add the ROM disk driver without disabling any of the stock drivers. I'll have to take a closer look at the LCIII ROM to see if that's also the case there.

The only disadvantage of the LCIII ROM is that it's 1024K, vs 512K for the IIsi ROM. So there's not as much space left on the SIMM for a cool custom startup sound or a large ROM disk. It looks like the last 512K ROM that Apple ever released was for the LCII, so that might also be a good choice and a good tradeoff between ROM size and the number of supported machines.

Message was edited by: bigmessowires
bigmessowires


Posts: 217
Registered: 10/29/13
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 15, 2016 5:05 PM   in response to: bigmessowires in response to: bigmessowires
Click to report abuse...   Click to reply to this thread Reply
I finally got everything set up to boot my IIsi from a customized ROM SIMM, and it works! But I have some newbie questions about the ROM disk in the iisi+romdrv0.9+nomem+nosum+img.bin from the wiki:

1. The trashcan icon appears near the middle of the desktop, where I assume it would be on the smaller screen of an SE/30. I know the icon locations are locked-down on a read-only disk, but I thought the Finder handled the trashcan as a special case and always put it in the bottom right corner. Am I crazy? Did I do something wrong?

2. Is there supposed to be a "press R to boot ROM-disk" prompt? The Plus ROM disk driver has a prompt, but I didn't see one this time. I thought I'd burned the wrong ROM image, until I tried blindly pressing R at a blank screen, and then it booted from the ROM disk.
dougg3

Posts: 190
Registered: 8/13/12
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 17, 2016 10:41 PM   in response to: bigmessowires in response to: bigmessowires
Click to report abuse...   Click to reply to this thread Reply
For some reason, I seem to be recalling that the LC III ROM didn't actually boot my IIci. I don't have time to test it right now though. I'm not sure that the tables necessarily mean there is compatibility...

Edit: I may be thinking of the LC/LC II ROMs. Can't remember.

Message was edited by: dougg3
bbraun


Posts: 493
Registered: 7/25/12
Re: dougg3 ROM SIMM IIsi image hacking
Posted: Apr 18, 2016 11:59 AM   in response to: bigmessowires in response to: bigmessowires
Click to report abuse...   Click to reply to this thread Reply
The Finder only places the trashcan the first time. Then it can be moved wherever you want it, so yeah if the original boot was on a small screen, it'll be placed in the bottom right corner, then if you move to a larger screen, it'll still be in the original spot.

On the IIsi ROM, there's no prompt like there is on the Plus ROM.

I've also noticed that in a lot of cases that universal table doesn't actually mean it'll necessarily boot those machines. ISTR some of the later quadra roms having much earlier machines listed, but won't actually boot them for one reason or another.

Message was edited by: bbraun

Point your RSS reader here for a feed of the latest messages in all forums