Skip to main content
Home▸ Forums▸ 68kMLA▸ Booting Mac Plus right from ROM + some games!
Thread

Booting Mac Plus right from ROM + some games!

68kMLA Troubleshooting 78 posts Nov 8, 2014 to Feb 6, 2015
http://www.synack.net/~bbraun/plusrom/index.html

( Rob's Post on his site )

The Mac Plus (and associated machines) have 1MB of contiguous address space around the ROM, starting at $400000 through $4FFFFF. However, the Plus ROM is only 128K in size. This project is for an adapter to allow a full 1MB ROM plugged into the Mac Plus, and a modified ROM image to utilize the extra space as a ROM disk.
Just got mine from Rob, and really makes the PLUS cool. Boots up instant. Works Great!

- just pop old rom's out

- pop new unit in

- solder the 2 wires from rom to A18 and A19 legs of the cpu

and your all set!

If anyone wants to buy a Mac Plus system, with this mod already installed...

talk to bbraun.  He is desperately trying to get rid of a whole fleet of his Mac Plus machines.

I'm sure his prices are quite fair!

My ROM has - Mac OS 6.0.8 installed and some Games as well! 

Screen Shot 2014-11-07 at 11.47.44 PM.png

Screen Shot 2014-11-07 at 11.48.34 PM.png

Screen Shot 2014-11-07 at 11.50.05 PM.png

Screen Shot 2014-11-07 at 11.50.35 PM.png

Screen Shot 2014-11-07 at 11.51.38 PM.png

Screen Shot 2014-11-07 at 11.53.23 PM.png

heck, this rom with an older OS might even work with the Mac 128k

This one here should also work with the 512k.

Screen Shot 2014-11-08 at 12.16.22 AM.png

Wicked!

Grr. stupid vertical iphone vkjasdioutowejhjsl hret fdg hdfgh whargle bargle. 

That's neat, and easy to install, even I'd feel comfortable with that (probably wouldn't use my $7 iron on it). Pluses are plentiful, it's the keyboards that aren't.

he has a solution for that too

http://www.synack.net/~bbraun/mackbd/index.html

use standard ps/2 mouse / keyboard

with 128k/512k/plus annnnnnnnnnnnnnd now supports adb as well.

combopcb1.jpg.675d218b5963c7e1783f68ac0e6d8932.jpg


http://www.synack.net/~bbraun/plusrom/index.html

( Rob's Post on his site )

Just got mine from Rob, and really makes the PLUS cool. Boots up instant. Works Great!

- just pop old rom's out

- pop new unit in

- solder the 2 wires from rom to A18 and A19 legs of the cpu

and your all set!

If anyone wants to buy a Mac Plus system, with this mod already installed...

talk to bbraun.  He is desperately trying to get rid of a whole fleet of his Mac Plus machines.

I'm sure his prices are quite fair!

My ROM has - Mac OS 6.0.8 installed and some Games as well! 

attachicon.gif
Screen Shot 2014-11-07 at 11.47.44 PM.png

attachicon.gif
Screen Shot 2014-11-07 at 11.48.34 PM.png

attachicon.gif
Screen Shot 2014-11-07 at 11.50.05 PM.png

attachicon.gif
Screen Shot 2014-11-07 at 11.50.35 PM.png

attachicon.gif
Screen Shot 2014-11-07 at 11.51.38 PM.png

attachicon.gif
Screen Shot 2014-11-07 at 11.53.23 PM.png

heck, this rom with an older OS might even work with the Mac 128k

This one here should also work with the 512k.

attachicon.gif
Screen Shot 2014-11-08 at 12.16.22 AM.png
This is what I was talking about a couple of months ago! (Only to be told that it's not doable or a waste of time.)

he has a solution for that too

http://www.synack.net/~bbraun/mackbd/index.html

use standard ps/2 mouse / keyboard

with 128k/512k/plus annnnnnnnnnnnnnd now supports adb as well.

combopcb1.jpg.675d218b5963c7e1783f68ac0e6d8932.jpg
How does that board fit into the Mac? Without cutting into the case, I mean.

With a relay in the right spot, one can plug in the device and the board would automatically set it for which set up it is without needing a jumper.

BTW - I was converting old serial mice to Mac back in the 1990s, so that wiring scheme works great if one had an adaptor!

theres a thread on this converter Elfin. 

I got one of these from bbraun awhile back. year or so ago. Uses the ST discovery board. 

Elfen, This was something Dougg and BBraun were already on way back when the Rom Simm was made.

Like anything it takes time and motivation first, before these things happen.

Which converter, Techknight - the Mouse one or the ROM One?
 
With the Mouse one, I'm just saying from what I know that one can wire up a relay to ports and when you insert a mouse/kb to it, it would set the relay to that port and the Mac would see it. No need to manually set jumpers as I see on this configuration.
 
- - - - -
 
I like to share information, Uniserver. If somebody is doing a project, within reason I like to share information on what I know. Months ago I asked if the ROM SIMM doable for a Mac Plus or SE, and gave an explanation on how it could bee done, stated exactly that the ROM Space is 1 or more MEGS but the ROM itself is less than 256K, making it possible to put in a bootable system in there like on the Mac Classic. I was told flatly that it is not possible without an entire rewrite of the ROMs and other stated facts that I did not accept.
 
Excuse the RANT here...
 
Years before the first Macs came out of the assembly line, I was writing video games and programs which required rewriting ROM Routines of various systems of the time, this includes cartridge systems which redo the systems' ROMs. This taught me long ago that computers are more flexible in their ability to do various tasks. All it requires is a little work, work that I have done before and fully understand.
 
Right now I do not have the equipment, but I do have the knowledge. And I'm willing to share that with anyone interested in it.
 
Now, my current idea is adding more RAM to an Old Mac and give it some use somehow. In seeing the memory maps, I have to disagree that the 6522 and other VIAs on the Mac board takes up 1 MEG of memory space when these same exact same chips were on 8bit machines before the Mac and they only took up 1K or less of physical space! 1KB, compared to 1MB is a big difference. So this creates holes in the memory map that can be filled with RAM and have that RAM used by the system as something. Perhaps a RAM Disk without taking up System RAM. This would also require a small system patch or program for its own self standing application. There is about 8MB of free space floating about in the memory map that can be used just for that on the Mac 128K - SE as it is; 4X as much on the Mac II series. All it takes is a little brain power to figure it out, even on paper as a theory. Not to tell others that its not doable or it requires a massive rewrite of the system.
 
Ideas are great, but they are worthless if no one tests them, even on paper. It if fails at that point (like my last idea on Classic II by doubling its Bus) then its fine with me. Like on the idea with the Classic II, the problem was with hardware deliberately crippling the idea and the system to be 16bit and not its true 32bit, making the idea impossible to do.
 
But this Plus Boot ROM is a great idea, and it looks like somebody stole that idea. I will say that looks can be deceiving. However, months ago I made the post of doing a Bootable ROM for the 128K - SE like on the Classic and was told that it is not possible without at least a complete system rewrite that knowledgeable people would not want to do. But here is a post of the exact idea mentioned being done. If somebody would have told me long ago that such an idea is in the work by somebody, I would have been very happy with these results. Thing is, I'm not happy with how it happened though I congratulate bbraun on getting it done. In the least he made an idea come true.

https://68kmla.org/forums/index.php?/topic/22324-dougg3-rom-simm-list-of-machines-that-its-electrically-compatible-with/?p=239950

Elfen said:
Dougg3,

Would it be possible to do a set of ROMs for the 512Ke/Plus to load up System 6.07 like on the Classics? What would take to get this accomplished?
 


https://68kmla.org/forums/index.php?/topic/22324-dougg3-rom-simm-list-of-machines-that-its-electrically-compatible-with/?p=240000

Paralel said:
I doubt they can address enough ROM space to make it possible. However, my knowledge on this subject is quite limited, so, someone feel free to prove me wrong.
 

 
https://68kmla.org/forums/index.php?/topic/22324-dougg3-rom-simm-list-of-machines-that-its-electrically-compatible-with/?p=240094

dougg3 said:
According to Guide to the Macintosh Family Hardware, the 128k/512k/Plus have a reserved ROM space of $100000 bytes in size (from $400000 to $500000). That's 1 MB. The logic on these old systems is probably dumb enough that if you wired up all the address lines, you could technically make use of all that address space. It's probably technically possible, but I don't know how many of the necessary address lines are actually brought out to the ROM sockets. I'm too lazy to figure it out right now  :)

Keep in mind that even if it's technically possible with hardware, it takes a software hacking genius like bbraun to make it do something. I hope everyone understands that all I did was design the hardware and hack the startup sound. bbraun did all the really cool software stuff with it.
 

 
Again, I congratulate bbraun on getting it done. The thing that I am feeling is being burnt by this. Almost like a newly elected senator going to congress and finding out that things are not going to get done unless it is in clandestine missions where I join specific circles with secret handshakes, wear funny hats and have moneys passed under the table.
 
End of Rant.
I think what you are writing is severely uncalled for… so i am going to report your above post.

I'm not seeing the issue here, they were already working on something, a long time before you even broached the idea, and they accomplished it. End of story.

Hell. I'm hoping BBraun can adapt this for the Classic II and its weird ROM expansion slot. That would give nearly 3.5 megs of ROM space. I coudl fit a small System 7 install on that.

Make a working version of the SuperMario ROM?

I have to agree with Uniserver about the post I'm quoting a fragment of below. Not cool, dude. Everyone goes through the experience now and then of feeling like someone "stole my idea!", but... seriously, you're basing this on posting a question that was itself phrased as "What would take to get this accomplished?" in a thread about someone else actually doing the legwork to get the idea working on related hardware? Seems to me that if you *had* lifted a finger to do this yourself first, which clearly you didn't, BBraun and Dougg would have excellent grounds for b****ing about you "stealing" *their* idea.

(Not that I think it's particularly likely they would have objected unless you did something egregious like stolen their code without giving them credit.)

If you'd really wanted to participate in building this I suspect they would have let you in if you'd showed more interest in the idea than a single forum post. Did you even try?

Now, my current idea is adding more RAM to an Old Mac and give it some use somehow. In seeing the memory maps, I have to disagree that the 6522 and other VIAs on the Mac board takes up 1 MEG of memory space when these same exact same chips were on 8bit machines before the Mac and they only took up 1K or less of physical space! 1KB, compared to 1MB is a big difference...
Stupid question: Do you actually fully understand how address bus decoding works? I'll be short here: A single VIA, if fully decoded, would only occupy 16 bytes of address space, so, yes, you could fit thousands of them into 4MB. However, *MANY* cheap computers, and the Mac very much falls into this category, don't fully decode their address buses, in order to save on logic. Instead they'll carve out a bigger block of memory, call it "I/O" space, and simply cram some peripherals in there in such a way that address lines are used directly as chip selects. Think about it: you have a 24 bit address bus. (Okay, technically the 68000 has a 23 bit bus and an even/odd byte line, but it's effectively the same.) That means to fully decode an arbitrary 16 byte (4 bit) space you need 20 gates. If instead of doing that you say "eh, forget that, I'm swimming in address space so I'll just decode the four address lines and use the fifth for the chip select" you'll get exactly what you get in the the Mac, which is one little chip chewing up half a megabyte of address space. Strictly speaking the VIA is still only using 16 addresses, but those addresses are going to be repeated 2^15 times through that block. To share that space with RAM you'd have to:

A: Add decoding hardware to the Mac's motherboard to decode the other, what did I say, 15 address lines you didn't bother with? (I'd have to look at the schematic again to completely refresh my memory.) If you don't then the VIA (Or IWM, or SCC, or whatever) is going to be enabled at the same time the RAM is, and:

B: Bear in mind that although *hopefully* any software that addresses the VIA will only use the 16 contiguous addresses starting at the base of the big smeary block it resides in to talk to it, it's very possible that ill-behaved software that for some reason takes advantage of the address duplication may exist.

Seriously, this is why half the Mac Plus' address space is occupied by peripherals that should really only consume a few hundred bytes of real address space. I'm a little mystified myself sometimes why Apple designed it to be *this* sloppy, when they could have added something like a single 74LS154 to the board to provide some chip selects for peripherals inside a smaller space. (They were already using PALs anyway, one more PAL and they could have easily fit ROM and peripherals into, say, the top 4MB leaving 12MB for RAM.) But that's how it is, and that means that a plan to add more than 4MB of RAM to a 128k through Plus would have to do some serious remedial work on the motherboard. (Or, at least, hang an alternate memory system off the CPU socket that includes the additional decoding in front of the motherboard, which would essentially be treated like a "peripheral".)

Page 10 of this book has a good explanation as to why one VIA and two PIOs take up 2k of address space in a Commodore PET instead of 24 bytes. The Mac is this on steroids.

ok super cool, just got my second rom kit from rob, and its working great just like the other one.

So now both of my Pluses are booting from ROM!  My Test Machine and my Collection machine.

So i tried this rom in a 512k, and bad news, The Adaptor does not line up right.

its about 3-4 MM too narrow,  So looks like rob might have to redesign a PCB for the 128k and 512k machines.

This in conjunction with the Floppy EMU is pretty RAD, and i almost never use that word,  (RAD) lol 

Too narrow - like it doesn't fit in the 512K's motherboard's ROM sockets? Or there's a clearance problem, and something is bumping into something else?

I was looking at this too. With one extra connection to the CPU, I think it would be possible to make the Flash ROM reprogrammable from within a running system. So then you could alter the contents of the ROM disk, or do other experiments, without having to open up the Mac and pull the chips back out. I've got some parts on order to build one of these, then I'll try this to see if I can make it work.

really, wow that would be awesome!  

yes it appears the rom sockets are farther apart with the 128k 512k,  The Plus Sockets are closer together.

This is a board you could just saw in half for compatibility, is it not?

As someone with a plus I am interested in seeing this project develop.

This is awesome!

Too narrow - like it doesn't fit in the 512K's motherboard's ROM sockets? Or there's a clearance problem, and something is bumping into something else?

I was looking at this too. With one extra connection to the CPU, I think it would be possible to make the Flash ROM reprogrammable from within a running system. So then you could alter the contents of the ROM disk, or do other experiments, without having to open up the Mac and pull the chips back out. I've got some parts on order to build one of these, then I'll try this to see if I can make it work.
The one thing that bothers me with hot flashing, you would have to shadow the ROM, no? because if I am not mistaken, there are constant calls in and out of ROM. you would almost need to disable ALL interrupts and calls during the flash, which means video would go bye bye. 

I would imagine if you write or re-arrange code while that block is running might cause a freeze/hang and poof done. 

any thoughts? 

Would there not be room form a second board. One where this board sockets into a board with shifted legs. Basically just an adapter.

One board/chip for ROM, one for hotflashable RAMdisk?

You gotta hand it to BMOW, :)   So the 68000 can address 16 megabytes total.

Of corse that is all shared:

From what Steve said, he might have found a 3 meg hole, might be able to use it with some flash.

but if techkinght is able to squeeze 8 / 9 megs out of the portable.

the plus should have some more leeway,   Seems reasonable :)

the ROM is located in a different spot on the portable, than on the plus.

You would need to basically rip the heart out of the GLU and re-arrange the addressing, or bend a few lines, something. But you would also need to patch any and all direct addressing in ROM that there might be. 

end of SCSI, begin of SCC. 

so do you think one would need extra logic to enable the chips for memory accesses in that memory range? Other then it just working, like what rob is doing.

i had to get out my calculator:

6291455

9437184

---------------------
3145729
 
oh i get it now :)
 
so ram stops here
4194303

rom picks up here

4194304

man that is tight, but that is assumeing we have 4mb ram installed.

so it would be here if there was only 2 mb's of ram installed

2097151

Ah ha.. 

but in order to make it easy to use you want to stay with in the Start and stop of the allocation.

4325375, witch equals 131071 for rom

and the next start not he map is SCSI

5767168

witch leaves a difference of 1572864, so what is that 1.57 megs? between start of rom and start of scsi.

68000-cpu-dip.png.2978e493d3fba6e50e2552f3960baac6.png


Could you also strap on 4M of RAM to max out sub-Plus Macs?

I see there is 23 address lines, just trying to figure out how rob knew to grab lines 18 and 19, because they were not supplied to the stock rom sockets.

lol do i take 16 million and divide it by 23? and that is your space per line?   Ah never mind i'll leave it to the pro's.

The one thing that bothers me with hot flashing, you would have to shadow the ROM, no? because if I am not mistaken, there are constant calls in and out of ROM. you would almost need to disable ALL interrupts and calls during the flash, which means video would go bye bye. 

I would imagine if you write or re-arrange code while that block is running might cause a freeze/hang and poof done. 
I don't think you'd have to shadow the ROM, but you would need to make sure not to access it, which would mean disabling all interrupts while updating the first 128K of Flash ROM where all the Mac toolbox code lives. I don't think that means you'd lose video, though. If I recall, video is a separate circuit that somehow timeshares with the 68000, and it's not interrupt driven. So the update tool would allocate a bunch of RAM, read the new image data from disk into the RAM buffer, disable interrupts, copy the data from the RAM buffer to Flash ROM, then re-enable interrupts.

I see there is 23 address lines, just trying to figure out how rob knew to grab lines 18 and 19, because they were not supplied to the stock rom sockets.

lol do i take 16 million and divide it by 23? and that is your space per line?   Ah never mind i'll leave it to the pro's.
There's a thread about it at mac68k.info with some more of the details. Rob knew to grab A18 and A19 because they are the next two higher address lines from the ones that are already wired to the stock ROM sockets.

All the address lines taken together create a binary number, which is the memory address of whatever the CPU is accessing. The 68000 has 24 address lines*, which means there are 2 to the 24th power different possible binary numbers, or 16777216. That's the total number of bytes of memory the 68000 can possibly access. This address space is divided between RAM, ROM, chips like the IWM, SCC, and VIA, as well as some unused sections. There are other chips on the motherboard whose job is to figure out which chip should be activated, depending on what address the CPU has on the address lines. The beauty of Rob's ROM adapter idea is that these chips are already set up to activate the ROM for any memory access to addresses in the range 400000 to 4FFFFF (hex), even though the stock ROM only goes from 400000 to 41FFFF. So you can just drop in bigger ROM chips with a physical 32-to-28 pin adapter, and then it all just works. You couldn't necessarily do the same by trying to drop more memory into other unused regions in the address space.

400000 hex is 010000000000000000000000 binary. 4FFFFF is 010011111111111111111111 binary. The first 4 bits (A23-A20, the 0100 part) go to the address decoder - those chips on the motherboard I mentioned that figure out what to activate. That leaves the 20 lower bits that are actually connected to the new 1MB ROM socket: these are A19 through A0.

* actually the 68000 has 23 address lines numbered A23 to A1. There's no A0, but there are two other signals for "upper and lower data strobe", and the effect is basically the same.

Sorry for the long boring digression, please return to your normally scheduled Mac activities now. :)

I'm looking at the photos and it really doesn't look like you need the board at all. Simply bending four pins up and soldering wires from point to point will do the exact same purpose so the 512K mod is still possible. You just need to be good with an iron.

Now mind you I can't look at the actual layout files and confirm this because he's using formats that Eagle can't make any sense of. Fffs.

Yeah, it should be possible without any adapter board, but with a lot of wires. On the new Flash ROM chips, you'd have to bend up the A16, A17, A18, /WE, /OE, and Vcc pins on both chips, solder the matching pins on each chip together, then solder them to the CPU as well. The little adapter board certainly makes it easier. 


                             +------------+
                         A18 |1         32| Vcc
    +------------+       A16 |2         31| /WE
A15 |1         28| Vcc   A15 |3         30| A17
A12 |2         27| A14   A12 |4         29| A14

 A7 |3         26| A13    A7 |5         28| A13
 A6 |4         25| A8     A6 |6         27| A8
 A5 |5         24| A9     A5 |7         26| A9
 A4 |6         23| A11    A4 |8         25| A11
 A3 |7         22| A16    A3 |9         24| /OE
 A2 |8         21| A10    A2 |10        23| A10
 A1 |9         20| /E     A1 |11        22| /CE
 A0 |10        19| Q7     A0 |12        21| Q7
 Q0 |11        18| Q6     Q0 |13        20| Q6
 Q1 |12        17| Q5     Q1 |14        19| Q5
 Q2 |13        16| Q4     Q2 |15        18| Q4
GND |14        15| Q3    GND |16        17| Q3

    +------------+           +------------+
        27C512                   29F040B

ASCII art FTW
Wow, that was actually legible in the preview window. Oh well. :)

Legible to me.

Oh. I was under the assumption the new EEPROM chips were pin compatible to the 27C512, not the old ROM chips. Suddenly my idea of "burn to EPROMs and hack it in" doesn't work and I'd have to buy cruddy new EEPROMs.

I looked at this a bit further, and there's a small difference between the Mac 128K/512K ROM socket and the Plus ROM socket (beyond the difference in space between chips on the motherboard). So even if you could cut the adapter board in half, it still wouldn't work in the 128K/512K. Fixing it should be pretty simple, but it means there can never be a universal adapter board that works in all those machines. There will need to be a version A for 128K/512K, and a version B for Plus.

So a small adapter board to sandwich in between would not work?

I looked at this a bit further, and there's a small difference between the Mac 128K/512K ROM socket and the Plus ROM socket (beyond the difference in space between chips on the motherboard). So even if you could cut the adapter board in half, it still wouldn't work in the 128K/512K. Fixing it should be pretty simple, but it means there can never be a universal adapter board that works in all those machines. There will need to be a version A for 128K/512K, and a version B for Plus.
How do you put (actual) Plus ROMs in a 512K to make it a 512Ke then?

I was going to ask too, but I thought maybe I was reading it wrong.

stock plus rom's to pop right into a 128 / 512k.

Bmow is talking about Robs's rom's, pretty sure.

How do you put (actual) Plus ROMs in a 512K to make it a 512Ke then?
The spacing between the two ROM sockets is different for the Plus and the 128K/512K/512Ke. That's the main reason a single adapter board for all those machines would be problematic.

The sources of the ROM sockets' chip enable and output enable signals are also different between the two types of Mac. The difference doesn't matter when you're doing a normal 128K ROM swap to turn a 512K into a 512Ke, but it does matter when trying to build a sneaky adapter to give you 1 MB of ROM. 

I'm looking at the photos and it really doesn't look like you need the board at all. Simply bending four pins up and soldering wires from point to point will do the exact same purpose so the 512K mod is still possible. You just need to be good with an iron.

Now mind you I can't look at the actual layout files and confirm this because he's using formats that Eagle can't make any sense of. Fffs.
He's using OsmondPCB for the layout.  He gives a link to the software which is a free download so you can view the files.  Osmond is the only Mac PCB layout software of which I am aware, and there are PPC and Classic versions available.

His hack using the .print driver was interesting, but I wonder if he is aware of the ROM hook that Charlie told us about some years ago.  Older fellow who dropped in for a few months or years a while back.  He did some cool work on animating gif presentations on early Macs, I think.  I can't remember his exact handle.  Maybe it was Charles with a 3 instead of an e?

His hack using the .print driver was interesting, but I wonder if he is aware of the ROM hook that Charlie told us about some years ago.  Older fellow who dropped in for a few months or years a while back.
Henry, not Charlie.  His handle is/was H3NRY.   Here's a tidbit:

"Hi trag, yes you remember right, but why anybody'd want to add ROM code to a 25-year old Mac is beyond me. In the day, we needed to add code to init our SCSI port and support the Micah hard disk in the 64K ROM environment. The need for that went away with the Mac Plus ROMs which had SCSI and HD support built in, as well as support for more than 512K of RAM."

https://68kmla.org/forums/index.php?/topic/10261-video-playback-on-plusclassic/?p=109856

I think he discussed that hook in another posting somewhere.  It may be worth searching his posts.  There probably were not that many of them.

Wonder if there is any way to pop some (Fancy Rom's) into a 128k or 512k and using some kind of modern technology, flash or something, that can somehow patch a way to get around the lack of ram, like flash virtual ram.  AH, i guess its just much easier to use a Mac with more ram.

Ah, and here he discusses, very briefly, the memory address in question adn the boot behaviour:

https://68kmla.org/forums/index.php?/topic/10261-video-playback-on-plusclassic/?p=109960

Turns out H3NRY was very active while he was here, until 2012, it appears.   I think his wife had health problems that may have caused him to no longer have time for these boards.

There's some very interesting hack-worthy info in some of his postings.  It appears he was the VP of engineering at Nuvo Tech, IIRC.

Cool. The same hook for "test software" appears several places in the Plus ROM (128K ROM) too. It's literally the very first thing the ROM does when booting. If the long value at $F80000 is $55AAAA55, then it jumps to the address pointed to by whatever's at $F80004. There are three or four other similar checks during the boot sequences, at other addresses in the $F800xx range. I wonder what you'd do with that. I wonder how you could even add extra ROM that would get activated by memory accesses to that address range.

I think this would be most useful for some kind of temporary clip-on testing device containing extra software to do validation testing at the factory. If you want to permanently change the Mac's ROM-based behaviors, you're probably better off just replacing the ROMs.

Cool. The same hook for "test software" appears several places in the Plus ROM (128K ROM) too. It's literally the very first thing the ROM does when booting. If the long value at $F80000 is $55AAAA55, then it jumps to the address pointed to by whatever's at $F80004. There are three or four other similar checks during the boot sequences, at other addresses in the $F800xx range. I wonder what you'd do with that. I wonder how you could even add extra ROM that would get activated by memory accesses to that address range.

I think this would be most useful for some kind of temporary clip-on testing device containing extra software to do validation testing at the factory. If you want to permanently change the Mac's ROM-based behaviors, you're probably better off just replacing the ROMs.
I think you would do this with some additional hardware and/or replacement ROMs.   It's gives a built-in method to add functionality.  I agree that it probably makes the most sense that Apple had it in there for some kind of clip on test hardware or similar.    But as long as it's there, we can bend it's true purpose to our ends, yes?

In this particular instance, I was wondering if Rob could have used this hook for loading his code, instead of replacing the .print driver as he did. 

I finally had a chance to build a Plus ROM adapter today and try it out. Unfortunately it was a lot tougher than I expected, and I couldn't get it to work. I didn't anticipate the trickiness of soldering four rows of headers on the bottom of the board and two DIP sockets on the top, while keeping everything perfectly aligned so it would fit in the motherboard's ROM sockets. Mine was a little off, and I couldn't get it to fit right. I also had trouble running clips to the address lines on the CPU. My RAM SIMMs are slightly taller than what I think is standard, and the last SIMM blocks enough of the CPU that it was impossible for me to get the clips to stay on when the SIMM was installed. Then to add insult to injury, I couldn't even fit the motherboard with ROM adapter back inside the chassis, because it collided with the cross-piece at the rear just above the motherboard slot. Arghh! I did finally bend and wiggle it in there, but when I hooked everything back up the machine wouldn't boot. :(  It's still an awesome idea, just not quite as "plug and play" as I'd hoped. I'll chill out and try again with another board later.

lol

its just like anything easier said then done :)

I didn't anticipate the trickiness of soldering four rows of headers on the bottom of the board and two DIP sockets on the top, while keeping everything perfectly aligned so it would fit in the motherboard's ROM sockets. Mine was a little off, and I couldn't get it to fit right.
Tossing some spare sockets on the free ends of the headers to hold them straight during soldering should help.
Yup, I did use spare sockets to make sure the headers for each ROM chip were aligned, but I don't think there's any way to stabilize the gap *between* the rows of headers for the lo and hi ROM sockets, since it appears to be a non-standard spacing. So while my headers for each ROM socket were exactly 0.6 inches apart, I think the gap between them may have been slightly off. I guess I could try soldering everything together while it's actually plugged into the logic board sockets, that would guarantee it should fit. :)

 Then to add insult to injury, I couldn't even fit the motherboard with ROM adapter back inside the chassis, because it collided with the cross-piece at the rear just above the motherboard slot. Arghh!
Back in the day....

The upgrade companies that sold piggy-back upgrades for these machines recommended that you do this:

Turn the machine upside down.   Take the logic board and slide the left or the right side into the frame/chassis slot for that side.  Gently take a flat-head screwdriver and pry the other side of the frame/chassis outwards just enough so that you can slip the other edge of the logic board into its slot.   Voila; logic board installed while avoiding rear cross-bar.

Rewritable ROM disk for Mac Plus: achievement unlocked. http://www.bigmessowires.com/2014/12/20/rewritable-rom-disk-for-mac-plus/

Bbraun put together a new version of the Plus ROM adapater board, with one extra chip on it for generating the correct output enable signal for the flash ROM. Then I dusted off my Metrowerks Codewarrior skills, and wrote a little Macintosh program to do the in-system flash update. It helps that I recently did almost exactly the same thing for my 68 Katy breadboard computer, which coincidentally used the exact same flash ROM chip, and a 68000-family CPU, so I knew it could be done.

The Mac program reads 128K of data at a time from the image file you select, then disables all interrupts, does the magic incantations to unlock the flash ROM, and writes the new data to flash. It takes about 60 seconds to update the entire 1 MB contents of flash memory.

View attachment 4997

now THAT... is cool.... 

What can it be used for? Bootable ROM disk?

We have a bunch of Pluses we can install these things in. I think it would improve their value considerably [:)] ]'>

Anyone figured out something similar for the Mac SE/Classic/Classic II yet?

Save for any architectural differences, accomplishing this on the SE shouldn't be too difficult (given that the ROM chips are socketed in a similar fashion as the Plus).

c

Off Topic: Do you have an easy solution for getting screenshots from the 68k's to the modern web? I was using photoshop 1.0 to convert them to gif, then FTP'ing them over. 

lol can’t you tap into the 3 megs between SCSI and SCC ?  
icon_razz.gif.ab2a9acf5e917eecd69af3a8ca73ee4f.gif


sorry you give me and inch and i am trying to take a mile 
icon_smile.gif.92f398d39b501833af42db4c36790c51.gif
 Flashing on on the fly… ( in machine ) is super awesome… Wonder if your software could be used with Dougg3′s 2mb and 8mb simms ? lol then people will not need to buy his programmer.

not that dougg3's programmer isn't awesome...   

But then there is the chicken and the egg situation. If somehow the write becomes corrupt, then the machine is braindead where an external programmer would be required. 

Off Topic: Do you have an easy solution for getting screenshots from the 68k's to the modern web? I was using photoshop 1.0 to convert them to gif, then FTP'ing them over. 
I actually ran the program under Mini vMac in Windows to generate the screenshot. :)

Yeah, you still need an external EPROM programmer to do the initial programming of the flash chips - you can't just stick blank ROMs in the computer and boot it up. But once the ROM has been programmed once, you can use this Flash Tool to update its contents without removing the chips from your Mac. If you could get a friend to do the initial programming for you, or buy pre-programmed chips, then in theory you wouldn't need an external EPROM programmer at all. But techknight's right about the risk of some unexpected error writing bad data to the code section of the ROM, essentially bricking the Mac until you reprogrammed the flash chips externally.

I looked into it a little, and I don't think it's possible to extend the ROM area beyond 1 MB without multiple hardware and software changes. In theory it's probably doable, but not really worth the effort. 1 MB is a good number. :) But maybe someday...

Have you thought about using test clips or even better, killy clips (if you can find them), to make it a non-solderable mod?

There are 28 pin DIP IC 'test clips' like the one listed here, but not only are they $8 each plus postage, but they are likely too high to be usable inside a Mac.

bbraun used wires with test clips, check out his photo:

plusrom-small.jpg.b19faa2011b1105a25f00f9918e7da3a.jpg


I was never able to get that to work, though. There's very little clearance between the CPU and the SIMMs, and between the CPU and the chassis frame. A couple of times I was able to get clips to stay put long enough to try sliding the logic board back inside the case, but the wires always caught on the chassis and ripped out.

LOL! Powering up my good IIsi to to test a 12" RGB with a pair of those same clips hooked up to address lines on MDU killed it deader-n-a-doornail! I forgot I had a few PDS Cards stored inside on top of them . . .

OOPSIE!!!!!!!!!!!!!!!!! ;D

I'm still lovin' those clips though. On power-up that IIsi board now does the most amazing VampireVideo ScreenDump! :D

Off Topic: Do you have an easy solution for getting screenshots from the 68k's to the modern web? I was using photoshop 1.0 to convert them to gif, then FTP'ing them over.
I have had good luck with a similar approach -- copy the files to my netatalk server and use GraphicConverter on my Mac mini with Mac OS X 10.9 or 10.10 to convert them to PNG files. It works really well, at least with the screenshots system 7 saves.

if you have Photoshop, Photoshop 4 supports PNG and runs on 68k. You could export to GIF as well and use pngcrush on it.

OK, the universal ROM adapter for Mac Plus, 512Ke, 512K, and 128K is working! It's a single PCB with two sets of socket footprints, so depending on where you add the sockets it can fit logic boards with different chip spacings. I built two of them, one for the Mac Plus and one for the Mac 512K, and they both work. 128K is untested, since I don't have one, but it should work.

bbraun's ROM disk driver initially had some trouble on the 512K, but I managed to fix that, so now it's smooth sailing.

I also made some improvements to my Flash Tool used for in-system ROM updating, so now it's a little more idiot-proof. Just choose which area of ROM you want to update, select a data file to use, and the tool does the rest. It also validates that the file is the right size for the area of ROM you said you wanted to update, to help reduce the chances of bricking your Mac with a bad update.

flash-tool-1.5.png.665b47b4341a92a26dde805dc1732a9f.png


Flash Tool currently won't run on a Mac 128K, so while you can use the ROM adapter board on that machine, you can't do in-system updating of the ROM contents on it. That may be solvable… not sure yet.

Wow! The Flasher's interface looks nicer too!

I have a 128k I'd be willing to test the adapter in, if you want to send me a "sample" of it?

This is the neatest thing since Dougg3's Custom ROM SIMM!

c

This is the board. Thought I'd posted it earlier, but I guess not:

rom-adapter-top.jpg.cd73692132ea2437d8461c8697e94901.jpg


rom-adapter-bottom.jpg.20ade99a71823e52860b9e694ac29e8b.jpg


You should put the Happy Mac ROM space there, too. :)

Funny you mentioned it. I looked at that, and it's certainly doable, but more complex than I thought. The same Macintosh icon data is shared for sad mac, happy mac, and possibly some others. Then the "face" data that appears on the mac screen is stored separately. So without a pretty big code change, you could turn the happy mac icon into a bug-eyed mac or something, but you couldn't change it into something completely different.

You guys have to admit this is some hard core stuff.   :)

Now that you guys have control of rom with these different mac's.

Your control of these machines, has increased greatly.

So What would stop you from putting linux on the rom and booting that up? 

:)

Finally got my floppy emulator today. Yea, i broke down and finally bought one. Especially with the scare of disappearing DB-19s, why not? 

Can the Plus ROM adapter board also be used for LC ROMs?

Nope, but it should be possible to design something similar for the LC.