Home▸
Forums▸
Booting 7.0.1 From:ROM (Mac IIsi) /W Apps! My New Toaster:-)▸
Booting 7.0.1 From:ROM (Mac IIsi) /W Apps! My New Toaster:-)
Thread
Booting 7.0.1 From:ROM (Mac IIsi) /W Apps! My New Toaster:-)
Booting 7.0.1 From:ROM (Mac IIsi) /W Apps! My New Toaster:-)
Hardware 53 posts
Oct 13, 2012 — Jan 23, 2013
Perhaps a greyscale happy Mac for an Exceed SE/30. }It probably won't work on some machines, such as the SE/30, which don't support color
I miss the Picasso Mac after System 7.1. I think it'd be nifty to replace the Happy Mac with a color Picasso Mac.
The PPC ROMs use Color QuickDraw to draw the color icons, which are stored as 'cicn' resources in the ROM's resource map. I believe adopting this approach would work for anything that has Color QuickDraw support (such as the IIsi ROM already being used), regardless of what the current monitor settings support (Color QuickDraw figures it all out for you). The PPC ROMs use the following cicn resource ids:
-20020 for happy mac
-20021 for "empty" floppy icon
-20022 for '?'
-20023 for 'X'
Backporting the code to do this to the IIsi ROM doesn't seem too bad. When adding new code to the ROM I've been reusing the space from the RAM test functions, which have been disabled, then bsr.l to it, using a hand calculated offset.
The more interesting aspect is modifying the ROM's resource map to accommodate the new 'cicn' color icon resources. The IIsi ROM's resource map header lives after the resources, and before the declrom. So, the resource map can't grow without displacing the Slot 0 declrom.
Basically the ROM looks like this:
header information
code
last resource entry (which happens to be the .netBOOT driver)
last-1 resource entry
...
first resource entry
resource map header
Slot 0 declaration ROM w/video drivers, etc.
The most scalable approach would be to move the declaration ROM out, figure out all the things that refer to it (hopefully just located via looking at the ROM length field in the ROM header), update those, move the resource map header out, update the offset to that, then add the icons, then add the color icon drawing routines, and make the system try calling those first, and if they fail, fall back to the current B&W icons. Growing the resource map will be necessary eventually anyway for adding other things in the future (drivers, cursors, fonts, whatever).
Or just put stuff in the framebuffer and hope it works.
-20020 for happy mac
-20021 for "empty" floppy icon
-20022 for '?'
-20023 for 'X'
Backporting the code to do this to the IIsi ROM doesn't seem too bad. When adding new code to the ROM I've been reusing the space from the RAM test functions, which have been disabled, then bsr.l to it, using a hand calculated offset.
The more interesting aspect is modifying the ROM's resource map to accommodate the new 'cicn' color icon resources. The IIsi ROM's resource map header lives after the resources, and before the declrom. So, the resource map can't grow without displacing the Slot 0 declrom.
Basically the ROM looks like this:
header information
code
last resource entry (which happens to be the .netBOOT driver)
last-1 resource entry
...
first resource entry
resource map header
Slot 0 declaration ROM w/video drivers, etc.
The most scalable approach would be to move the declaration ROM out, figure out all the things that refer to it (hopefully just located via looking at the ROM length field in the ROM header), update those, move the resource map header out, update the offset to that, then add the icons, then add the color icon drawing routines, and make the system try calling those first, and if they fail, fall back to the current B&W icons. Growing the resource map will be necessary eventually anyway for adding other things in the future (drivers, cursors, fonts, whatever).
Or just put stuff in the framebuffer and hope it works.
Is it something basic that's still supported in the older version of QuickDraw in System 7? Might pose a problem for System 6 unless the 32-bit QuickDraw init is put onto the ROM somehow.
My next machine is going to be a IIci, I am trying hard to find one. Found a guy from ebay.
His name is captinbob, he has a MASSIVE apple collection, pretty much a 3 story house FULL
I personally feel it would be the ultimate machine that works with dougg3's ROM SIMM.
The IIci /w Cache card sounds like a fairly beastly 030 machine.
His name is captinbob, he has a MASSIVE apple collection, pretty much a 3 story house FULL
I personally feel it would be the ultimate machine that works with dougg3's ROM SIMM.
The IIci /w Cache card sounds like a fairly beastly 030 machine.
That's what I use.
It also supports an insane amount of RAM and an 040 CPU via the PDS. The power supply is also easily hackable to an ATX. It's a great hackable machine.
It also supports an insane amount of RAM and an 040 CPU via the PDS. The power supply is also easily hackable to an ATX. It's a great hackable machine.
Could this idea of having the OS and applications on ROM be used on the ROM chips in original 128k and 512k Macs? It would be mighty nice to have System 4.1 and MacWrite on a 512k Mac without needing a floppy (except to save to).
(If this can be done, I'm sure it has. Anybody got a thread link I could go check out? My search-fu is weak today.)
(If this can be done, I'm sure it has. Anybody got a thread link I could go check out? My search-fu is weak today.)
nope i dont think anything is available for the 512k, just the (IIx, IIci, IIsi, SE/30) skipped right over the IIcx.
No idea on what it would take to do a ROM disk on the older classic Macs. The ROM SIMM slot makes it easy to add extra ROM. Without that slot you'd probably have to hack onto certain address lines elsewhere on the logic board. I have no idea if any more space is even available through all the PALs and stuff on the logic board...
uniserver, I'm pretty sure the ROM SIMM should work fine on a IIcx. This picture implies it has a ROM SIMM slot:
I can't seem to tell if it has a ROM enable/disable jumper like the IIci has though. Have you tried it in a IIcx by any chance? It's a machine that the SIMM is thus far untested in.
uniserver, I'm pretty sure the ROM SIMM should work fine on a IIcx. This picture implies it has a ROM SIMM slot:
I can't seem to tell if it has a ROM enable/disable jumper like the IIci has though. Have you tried it in a IIcx by any chance? It's a machine that the SIMM is thus far untested in.
I will tell you in 15 minutes, babies have been asleep, and I just opened my package from SCOTT, that arrived today,
Scott sent me a IIcx, it's right here, I just have to put my IIsi away for a bit, and pop dougg3's simm in this new IIcx, I'll see what happens
Scott sent me a IIcx, it's right here, I just have to put my IIsi away for a bit, and pop dougg3's simm in this new IIcx, I'll see what happens
Yes it could. But it does not work now.Could this idea of having the OS and applications on ROM be used on the ROM chips in original 128k and 512k Macs? It would be mighty nice to have System 4.1 and MacWrite on a 512k Mac without needing a floppy (except to save to).
I'm interested in this, partly due to having just acquired a pile of these old machines. I've also got several other things going right now, so if someone else wanted to jump on this, go for it!
Some more investigation is necessary, but here's just off the top of my head:
pre-Plus systems have more potential due to not having the SCSI registers in the way. 128k/512k/512ke have 5MB of contiguous space from ROM to the SCC registers.
It is my understanding that A1-A16 go to the ROM sockets and the two 8 bit ROMs are interleaved (one being the high byte and one being the low byte of the 16bit bus).
I don't know offhand what is being used for their output enable & chip select lines. It'd probably be a good idea to figure that out.
Ideally a small adapter PCB would be made, but a home-made job could be done out of two DIP28 sockets.
Take two 29F040 or something similar, use the socket(s) to make sure VCC doesn't go to the wrong pin on the 29F040, then solder wires from the additional address pins on the 29F040's to the appropriate address lines on the 68000. People do something similar for C64 systems, although there they typically use it with a switch on the extra address lines to allow selecting between several different ROM images.
Anyway, if someone wanted to try that, and then use macsbug or microbug or something to inspect the contents of the address space to make sure it showed up right, that'd be a good first step. That'd get you 1MB of space (minus 64k or 128k for the actual rom contents), which isn't too shabby for these machines. It'd be enough to boot and have some recovery apps. Like the Serial Disk driver.
Once you've got something where you can put stuff into the address space, then it's just a Simple Matter of Programming to make the driver work. And then wedge it into the ROM somewhere.
Heck, just figuring out a test rig for these machines would be handy, like the ATX extension cable trick for the SE/30, so one could work on the board on a bench without having to constantly swap it in and out of the case.
ok, for some reason the IIcx will not see anything higher then 8mb ram, also when i boot an os, in memory it doesn't give me the option of 32bit mode, this is with 64 meg installed.
so i found the jumper for the onboard rom on/off, and no dice douggs rom give bad chime instantly.
under the psu there are 2 jumpers that are jumped, i don't know what they are... doubt they are some kind of over 8meg ram cut off thing.
that is what i have so far...
LEM and Everymac Both say this is a 128meg ram capable... this thing was re-capped... maybe that has something to do with it... ? dunno...
there are 4 rom chips on this mainboard of the IIcx just like the IIci.
so i found the jumper for the onboard rom on/off, and no dice douggs rom give bad chime instantly.
under the psu there are 2 jumpers that are jumped, i don't know what they are... doubt they are some kind of over 8meg ram cut off thing.
that is what i have so far...
LEM and Everymac Both say this is a 128meg ram capable... this thing was re-capped... maybe that has something to do with it... ? dunno...
there are 4 rom chips on this mainboard of the IIcx just like the IIci.
The IIcx's stock ROM is the same as the IIx and SE/30 -- i.e. not 32-bit clean. So that's why you don't get the option of 32-bit mode with the stock ROM. You either need a 32-bit clean ROM or something like MODE32 to use more than 8 MB.
Interesting that the ROM SIMM gives an error chime. We'll have to see if it can boot if the SIMM is programmed with a stock IIcx ROM. If you're even getting a death chime at all and the ROM SIMM jumper is correctly disabling the onboard ROMs, it means instructions are definitely executing from the SIMM so the SIMM itself is probably working. Can you verify that you've truly disabled the onboard ROMs to the point where if the ROM SIMM isn't installed nothing happens on power up?
Maybe the IIsi ROM can't boot a IIcx. I consider that unlikely, but I'm just throwing ideas out there...
Interesting that the ROM SIMM gives an error chime. We'll have to see if it can boot if the SIMM is programmed with a stock IIcx ROM. If you're even getting a death chime at all and the ROM SIMM jumper is correctly disabling the onboard ROMs, it means instructions are definitely executing from the SIMM so the SIMM itself is probably working. Can you verify that you've truly disabled the onboard ROMs to the point where if the ROM SIMM isn't installed nothing happens on power up?
Maybe the IIsi ROM can't boot a IIcx. I consider that unlikely, but I'm just throwing ideas out there...
ok this is what i got, the thing will not see anything more then 8mb period,
also the jumper is correct, jumper on, onboard rom is on, jumper onboard rom is off, if you turn it on , with jumper off it comes on, black screen and does nothing...
if i insert the 8mb hacked rom, it will boot up, Mac Sound, waits about 10 seconds then makes the chime of death.
i tried doing nothing, i tried holding down r and ra, with same result... seems like this rom simm is not working in the IIcx for some reason.
also the jumper is correct, jumper on, onboard rom is on, jumper onboard rom is off, if you turn it on , with jumper off it comes on, black screen and does nothing...
if i insert the 8mb hacked rom, it will boot up, Mac Sound, waits about 10 seconds then makes the chime of death.
i tried doing nothing, i tried holding down r and ra, with same result... seems like this rom simm is not working in the IIcx for some reason.
OK, that means the SIMM itself is working fine. I'm 99% sure that if the SIMM was burned with a stock IIcx ROM it would boot from the hard drive with no problems. I'm thinking there's something about the IIsi ROM programmed onto it that is causing it to crash, but I don't know enough about the ROM to know for sure.
That poor IIcx is wandering off to see if there are monitor sense lines active on a port that doesn't exist yet, to set up the buffering circuitry (to be made available in the next model release) for the setting aside of the correct amount of RAM in Bank A, to suck it out for use as a frame buffer it absolutely doesn't need and then dying a gruesome and sudden death in its attempts to figure out which is its elbow and which is its @$ . . .
so what you are saying is the IIci,IIsi and SE/30 all have onboard video,
and because the IIcx has a video card, that could be what is causing the issue??
i've not tested with the IIx but i think they have, this rom should work with the IIx, that has no onboard graphics.
Unless i am misunderstanding something
and because the IIcx has a video card, that could be what is causing the issue??
i've not tested with the IIx but i think they have, this rom should work with the IIx, that has no onboard graphics.
Unless i am misunderstanding something
Yeah, I don't think the lack of onboard video is the problem. bbraun tests the hacked ROM on a IIx and it works fine, so it should be pretty much the same as the IIcx I'm thinking.
You'll have to experiment with various ROM images on the SIMM and see what works and what doesn't...
You'll have to experiment with various ROM images on the SIMM and see what works and what doesn't...
ok no problem, i will.
In the Mac IIcx,
I replaced the big (3) 470uf caps and the 220uf one, now all is working fine,
64 megs of ram shows up, Hacked ROMM Simm works, soft power is working great
I replaced the big (3) 470uf caps and the 220uf one, now all is working fine,
64 megs of ram shows up, Hacked ROMM Simm works, soft power is working great
uniserver, you are seriously making me drool over the prospect of having the SuperIIsi™ boot from the ROM SIMM with the custom startup sound:
] ]'>
Now to search out the perfect NASA sound track . . .
. . . and find someone to swap a Hardware Hack for a Software Hack of the RocketWare and RocketShare Inits to excise the IIsi exception. [}
] ]'>
. . . anyone want me to hack their IIsi to a (these goodies not included) NuBus Adapter/Rocket/NIC ready SuperIIsi™ Spec?
Arranging a three-way goodies-for-services swap might work out as well!
Followed by the Rocket's WHOOSH!!!!!!!!!!!!!!!! on re-boot! [We're at T-Minus 10 & counting . . . 9 . . . 8 . . . 7 . . . 6 . . . 5 . . . 4 . . . ignition . . . 2 . . . 1 . . . we have liftoff!
] ]'>Now to search out the perfect NASA sound track . . .
. . . and find someone to swap a Hardware Hack for a Software Hack of the RocketWare and RocketShare Inits to excise the IIsi exception. [}
] ]'>. . . anyone want me to hack their IIsi to a (these goodies not included) NuBus Adapter/Rocket/NIC ready SuperIIsi™ Spec?
Arranging a three-way goodies-for-services swap might work out as well!
You should msg dougg3 and have him send one out to you,
He can't budge on $30 bucks a Rom Simm, because that is around where he has to sell them for to keep the non-profit project going.
He can't budge on $30 bucks a Rom Simm, because that is around where he has to sell them for to keep the non-profit project going.
I just wanted to clarify what was going on with the IIcx, before i re-capped it, even if i had more then 8meg of ram installed, and in 24bit mode, it would not show my 68megs installed. Normally it would show you how much ram you have (Eg. 68megs installed), However it was only showing a total of 8. Normally a re-capped (fully working) machine in 24 bit mode, still shows your 68 megs, it just wont let you use anything more then 8mb.
after i recapped it, the 68megs of ram I had installed showed, then tried mode32 and it all worked.
then tried dougg3's ROM simm, it worked too.
bbraun has has a better image out, it works even better then before.
It's been some months now, but I still enjoy this rom simm all the time.
Moral of the story, if its not acting normal and needs caps, cap it, then it will probably work fine afterwards
after i recapped it, the 68megs of ram I had installed showed, then tried mode32 and it all worked.
then tried dougg3's ROM simm, it worked too.
bbraun has has a better image out, it works even better then before.
It's been some months now, but I still enjoy this rom simm all the time.
Moral of the story, if its not acting normal and needs caps, cap it, then it will probably work fine afterwards