• 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.

Early Macintosh home brew 4MB memory upgrade board development

Builder68

Well-known member
Mmm... no, the 4N35 won't do the trick. A tri-state buffer is what we would need! I hope the test goes right and nothing of this is required.

I checked the Mac Plus schematic and neither A21 has a hardware pull-up. It's floating.
 

Golden Potato

Well-known member
I ran simulations of both CAS generation designs, one using 74139s and the other using 74138s, for eight memory banks.Both designs worked as expected for all possible combinations of A19 and A20, but both exhibited erratic behavior when A21 transitioned from floating to high and then to low, resulting in incorrect CAS line selection after the C2M, ~RAS, and VID/~u signal cycle sequence.

As expected, simply adding a hardware pull-up to A21 resolved the issue. A19 and A20 already have hardware pull-ups on the logic board. I hope adding this pull-up won't cause any other problems.

I've already carefully reassembled my Mac with the prototype installed. Is there any chance you could test pulling A21 high on your logic board to verify the Mac's operation?. Many thanks!

Anyway, just to be safe, I could add a 4N35 optocoupler to the PCB layout to isolate the A21 input to the CAS generation sub-circuit.
I’m pretty sure there won’t be any unintended consequences for adding a pull up resistor to A21, and it definitely will be required!

Later today, I’ll put in a pull up resistor onto A21 on my board which is presently configured to be totally stock (except for the SCSI add on board with Plus ROMs). Then I’ll reply back with the result.
 

Golden Potato

Well-known member
Mmm... no, the 4N35 won't do the trick. A tri-state buffer is what we would need! I hope the test goes right and nothing of this is required.

I checked the Mac Plus schematic and neither A21 has a hardware pull-up. It's floating.
Wow, I can’t believe there’s no pull up on A21 on the Mac Plus. I confirmed it on hardware; there’s greater than 4Mohms from A21 to VCC. That’s a strange one!
 

Golden Potato

Well-known member
I’m pretty sure there won’t be any unintended consequences for adding a pull up resistor to A21, and it definitely will be required!

Later today, I’ll put in a pull up resistor onto A21 on my board which is presently configured to be totally stock (except for the SCSI add on board with Plus ROMs). Then I’ll reply back with the result.
I confirmed that a Mac 512K has *no issues* booting with a 2.2Kohm pull up resistor installed on A21!
 

Joopmac

Well-known member
Awesome!!! I wanted to populate my Macsnap, but this is nicer
Would the ROMINATOR also fit within??
 

Builder68

Well-known member
Yes, it would fit in... but it wouldn't work. The Mac froze at the "Welcome Screen" when the ROM-INATOR was installed. The reason for this is still a mystery. The prototype works perfectly with the Mac Plus stock ROM, and it is almost certain to work with Mac 128K/512K ROMs as well.
 

Joopmac

Well-known member
I have this also, exactly with dove and rominator
Only system 5.1 would boot
6.0.8 would stall at the Welcome screen
I also mixed with 6.1.7 Finder and it works with 5.1 system.. strange
 

Golden Potato

Well-known member
According to this:
This means that /ROM and /RAM clash at 0x80 0000 to 0xBF FFFF. This is consistent with the original 512 K memory map. However, on the Plus, /ROM and /RAM are not the actual chip selects, some further logic happens in the TSM. As a matter of fact, /ROMCE comes from the CAS, which doesn't even use /ROM as an input. /ROM goes to the BMU2 and TSM. Go figure. (They probably just kept the 512 K BMU on the basis of "if it ain't broke").

It doesn't really make sense that the ROMinator would try to access that address range, but perhaps there's some kind of issue regarding this?
 

Builder68

Well-known member
I have this also, exactly with dove and rominator
Only system 5.1 would boot
6.0.8 would stall at the Welcome screen
I also mixed with 6.1.7 Finder and it works with 5.1 system.. strange
Thank you for the tip! At least now I know for sure that the problem isn't caused by faulty wiring in the prototype.

Do you happen to have the manuals that came with the board? Which model of the MacSnap board do you have?
 

Golden Potato

Well-known member
At least now I know for sure that the problem isn't caused by faulty wiring in the prototype.
This also likely rules out the ROMinator preventing some type of fancy CPU-based scheme to aid in refreshing 512 cycle refresh DRAM since I’m pretty sure the DRAM on the MacSnap only requires 256 cycle refresh.

We’ve come so far in our understanding, and I’d really like to get to the bottom of these few remaining unknowns!
 

Golden Potato

Well-known member
Yes, it would fit in... but it wouldn't work. The Mac froze at the "Welcome Screen" when the ROM-INATOR was installed. The reason for this is still a mystery. The prototype works perfectly with the Mac Plus stock ROM, and it is almost certain to work with Mac 128K/512K ROMs as well.
Did you mention in a previous reply that you did get the ROMinator to boot with the RAM expansion but only when it was configured to only provide 512K?
 

Joopmac

Well-known member
Thank you for the tip! At least now I know for sure that the problem isn't caused by faulty wiring in the prototype.

Do you happen to have the manuals that came with the board? Which model of the MacSnap board do you have?
I have the 524, for 512k extra (1MB total)
 

SuperSVGA

Well-known member
I'm guessing the issue might just be the way the ROM-inator code is detecting a Mac Plus.

The original code checks to see if the ROM is mirrored, since the Plus does not mirror the ROM:
Code:
    clr.w   HwCfgFlags
    move.l  $420000,D0
    cmp.l   $440000,D0
    beq.b   .noSCSI
    move.b  #1<<hwSCSI|1<<hwClock,HwCfgFlags
.noSCSI

I downloaded the ROM-inator patch and dissembled it and it seems it checks to see if there's more than 512KB of RAM unfortunately...
Code:
    clr.w   HwCfgFlags
    nop
    nop
    nop
    cmpi.w  #$8,MemTop
    ble.b   .noSCSI
    move.b  #1<<hwSCSI|1<<hwClock,HwCfgFlags
.noSCSI:
 

Golden Potato

Well-known member
I'm guessing the issue might just be the way the ROM-inator code is detecting a Mac Plus.

The original code checks to see if the ROM is mirrored, since the Plus does not mirror the ROM:
Code:
    clr.w   HwCfgFlags
    move.l  $420000,D0
    cmp.l   $440000,D0
    beq.b   .noSCSI
    move.b  #1<<hwSCSI|1<<hwClock,HwCfgFlags
.noSCSI

I downloaded the ROM-inator patch and dissembled it and it seems it checks to see if there's more than 512KB of RAM unfortunately...
Code:
    clr.w   HwCfgFlags
    nop
    nop
    nop
    cmpi.w  #$8,MemTop
    ble.b   .noSCSI
    move.b  #1<<hwSCSI|1<<hwClock,HwCfgFlags
.noSCSI:
Do we know if the ROMinator is still supported and if the author would be willing to investigate a fix?

As an aside: If a Mac 512K with greater than 512K of memory also had a SCSI upgrade board in place, would the ROMinator work with it?
 

Golden Potato

Well-known member
I wish the 5380 SCSI controller had a device ID register to read to check for it.

I’m not sure it can be done in the same number of bytes, but maybe there’s a register in the SCSI controller to which we could write a value and then read it back to confirm that it’s really there. Hopefully without screwing up the system’s SCSI initialization process.

One problem might be that writing to a ROM area might corrupt the ROM since the ROMimator can actually write to its EEPROM.

I really wish they’d implemented a control register using a couple cascaded flip flops or something as a “write protect” to be controlled by the program for ROM flashing. Write a certain value to a certain address twice in a row to unprotect, that sort of thing.
 

Joopmac

Well-known member
if you have the dove scsi, them you already have custom roms I guess
I took the board out, on top of my ROM ic’s there was a little dove board

Cant remember if it was clip on or replacing the stock rom ic’s
 

Golden Potato

Well-known member
if you have the dove scsi, them you already have custom roms I guess
I took the board out, on top of my ROM ic’s there was a little dove board

Cant remember if it was clip on or replacing the stock rom ic’s
Are you saying you have a Dove SCSI add on board as well as a memory expansion? If so, do you think you can fit the ROMinator on top of the SCSI add on board (if the pins align with the IC sockets) to test that?
 

Joopmac

Well-known member
Yes i had that Dove SCSI board, but sold it a year ago. I kept the macsnap

that scsi board looked a lot like the supermac rom card above
 
Top