• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

IIci ROM in SE/30

tt

Well-known member
Besides the benefit of having a 32-bit clean ROM, an SE/30 can boot off of a CD-ROM drive by holding Command+C at start-up. I tried it with an Apple Legacy CD and it proceded to boot as far as the install could. I also could read CD's without the CD-ROM extension installed.

Another thing I tried out is the IIci easter egg where if you set the system clock to Sept 20, 1989 and hold Command+Option+C+I, it shows an image of the development team. Here is the result:

SE-30-IIci_easter_egg.jpg

There are probably other interesting differences, but I'm hoping someone will be able to replicate a Classic boot disk add-on to act as an emergency recovery image.

 

Mk.558

Well-known member
Nice. Any incompatibilities or weird behaviors?

I think I might have lost the ROM SIMM to my spare motherboard, so it would be interesting to test out some...alternative OSs like 7.6.1 for checking AFP access to 10.5.8.

 

tt

Well-known member
I haven't used it extensively, but I have not noticed anything other than the odd video initialization at startup that is also common with IIsi and IIfx ROMs. I was hoping that the video issue at startup would have not been present with the slightly older IIci ROM. You can see video of it here:

https://player.vimeo.com/video/30290934

I'm guessing it happens during boot because it first looks for the more advanced video components and then reverts to the older video setup. That issue could probably be patched, while not a big deal, it would just eliminate initial confusion of whether or not the unit is displaying other hardware defects such as SimasiMac. I was able to get either System 8.0 or 8.1 running just fine.

It seems like the ROMs build upon previous versions (up to a point) given that the startup chime routine reverted to the more simple version with an unmodified IIci ROM. The IIci ROM had to be patched to the earlier routine to get a custom chime to work with the SE/30.

 

bbraun

Well-known member
When using IIsi ROM images in my IIx, I had some problems with hardware specific things. Rocket software got upset because the IIsi wasn't supported but the IIx was, and a couple other minor annoyances. Some software checks the ROM checksum, revision, and there's a type encoding in the ROM that AFAIK is meaningless, but back in the day some software referred to it rather than using gestalt information because gestalt could be fooled more easily than swapping ROMs.

Aside from that, the ROM detects the machine type at runtime, and how exactly a machine advertised what it was changed over time. The II/IIx/SE/30 used a combination of some bits in VIA registers and address maps (some address ranges repeated on some machines, not on others, so if the VIA bits were the same, you could disambiguate based on the address mappings), then later models expanded the bits in the VIA registers to be a little more scalable, eventually there was the addition of a machine ID register which showed up in the IO portion of the address space. Eventually all this gets propagated to the machine type gestalt value that higher level software usually keys off of.

BUT, the machine id isn't the only thing going on. At the end of the ROM is a declrom describing "Slot 0" (starting with 2nd rev of the Mac II ROM). For things like the IIci/IIsi, which included video that did not exist in any sense the SlotMgr knew about, this declrom could provide drivers, etc. for non-slot based integrated peripherals in a scalable manner (as opposed to the SE and earlier). So your IIci ROM includes a declrom claiming there is RBV video in your SE/30, when there isn't. The driver probably gets loaded and Opened, but the Open should fail when it finds no hardware there, and from then on it's ignored. The SE/30's video lives in slot E, so the SlotMgr finds it, its declrom, and subsequently its driver.

Anyway, that's all just some background. It doesn't really address the video initialization question, sorry.

 

tt

Well-known member
Good info. Perhaps it will help a tinkerer. It's good to hear what incompatibilities can occur to look out for. I have a 50MHz Diimo on it which also seems fine. Otherwise the system is stock with a little over 64MB of RAM.

 

Mk.558

Well-known member
Cool. How does it run under 8.1 with the accelerator? Will it push 6.0.8 at blinding speeds or is it about the same?

 

tt

Well-known member
I didn't really notice 8.1 being slow, but I have not used it much, I usually stick to 7.1 or 7.5.5. I don't have another point of reference on a machine it is really intended for, but I didn't notice any significant lag opening windows and such. The system folder needs to be trimmed down since it is super bloated. The annoying thing about doing an install for another model (or any model) is there ends up being a lot of unnecessary add-ons. A list of what is needed for the SE/30 to run would be helpful for those not totally sure what everything does.

 

zuiko21

Well-known member
I think the simasimac-like pattern of a ROM-upgraded SE/30 on power-up is because if this:

Those "modern" ROMs (for the IIfx, IIci, IIsi) were never meant to be used on a compact: they expect either the RBV chip (ci, si) and/or a NuBus card. These video architectures seem to need being enabled by the CPU in order to show dedicated VRAM (or stolen DRAM) contents -- that will happen after memory test, before that video output will be halted anyway, thus the ROM won't bother clearing the VRAM contents.

But the video circuitry of the SE/30 is rather dumb: just a few counters, PALs and multiplexors. This surprisingly simple circuit made from off-the-shelf components will show VRAM contents on the monitor as soon as it's powered -- even with a crashed/halted/dead CPU! The real simasimac is when the CPU can't start and no VRAM initialization is ever made.

It seems that the common ROM on the IIx, IIcx and SE/30 tries to deal with the compact video circuitry, if present: filling the screen on the dedicated VRAM with a dot pattern, before the (possibly long) memory test. But other ROMs won't do that and the compact's video circuits will show the VRAM's semi-random contents st power-up. If you turn off briefly (1-2 sec) a ROM-upgraded SE/30 and then turn it on again, screen will show a more-or-less distorted view of the last picture displayed...

 

tt

Well-known member
That explanation is consistent with my observations. If I reboot, instead of pausing on striped bars, the screen will show the safe to turn off screen. If I turn on the SE/30 a few seconds after turning if off, the safe to turn off screen will still show, but with a handful of pixels that are incorrect.

One thing I noticed, is the initial pattern that appears might depend on the rev of board. Another board shows the more typical wavy vertical lines at boot with a non-stock ROM.

 
Top