Jump to content


Photo

Another IIci ROM hack


  • Please log in to reply
1021 replies to this topic

#241 dougg3

dougg3
  • 6502

Posted 28 September 2011 - 06:38 AM

Hey, thanks!

My understanding is a large chunk of the PPC Macs (Beige G3 and before) have ROM DIMMs (or do they all? I don't know for sure). I'm pretty sure it would be totally possible to do the same thing with DIMMs, although the board probably gets a bit more complicated because since it's a DIMM it has connections on both sides, which means many more traces to route. I think there's a pinout somewhere in the wiki, so it is definitely possible, it's just that the board may be more complicated than this one. I have definitely thought about it :) I think I have a 6100 here somewhere too, so that may be another project! In fact, looking at the hardware tech notes, Apple mentions that the 6100 has a ROM SIMM socket. No info on the pinout, but I'm sure that can be figured out.

As for models after the Beige G3 (I also have one of those, so that may be a project at some point too!), those have a ROM chip soldered onto the motherboard to my knowledge. I happen to ALSO have a Blue and White G3, so maybe if I get REALLY crazy that might be a hackable machine in the future too.

Update:

To satisfy the awesome people who want to get a board from me, I just ordered enough parts on Mouser for the first batch of SIMMs. I'm going to charge $5 shipping in the US, using the flat rate boxes from USPS. So the final price, including shipping to the USA, for an assembled SIMM supplied with four empty 4 megabit EEPROM chips ready for you to burn will be:

$28

PM me if interested...I still have 6 or 7 of the original boards unclaimed! :)

#242 Trash80toHP_Mini

Trash80toHP_Mini

    NIGHT STALKER

  • 68040
  • LocationBermuda Triangle, NC, USA

Posted 28 September 2011 - 01:56 PM

IIRC, the DIMM layout has already been done, one of the comrades has been working on the PEx ROM DIMM for quite some time. There are too many of these system boards out there that don't have the DIMM that's needed to boot them up . . .
. . . including mine! :

I'm sure he'll chime in soon!
jt [8]
Trash Hauler: call sign: eight-ball

C.O. AC130H SpecOps 68kMLAAF

#243 kite210

kite210
  • 6502
  • LocationMedford, OR

Posted 28 September 2011 - 11:23 PM

That would be great, then I could change the Startup sound on my 6100 to something a little better (like the 5200 sound) or even something like HAL from 2001: A Space Odyssey.

My Collection:
LC III, Color Classic, Power Macintosh 6100/60, Power Macintosh 7100/66, Power Macintosh 8500/180, PowerBook 1400cs/166, PowerBook G3 Wallstreet PDQ, PowerBook G4, iBook G3 Blueberry


#244 Trash80toHP_Mini

Trash80toHP_Mini

    NIGHT STALKER

  • 68040
  • LocationBermuda Triangle, NC, USA

Posted 29 September 2011 - 01:37 AM

I'd like to put my PEx's boot and bomb chimes in the SuperIIsi.
jt [8]
Trash Hauler: call sign: eight-ball

C.O. AC130H SpecOps 68kMLAAF

#245 techknight

techknight
  • 68LC040

Posted 29 September 2011 - 02:42 AM

You have to use a grade of plastic thats close to bakelite, it wont melt at reflow temps.

You have to think, that most boards are used in reflow ovens with plastic parts in place. So its possible, but you have to pay VERY close attention to temperatures. I have ran reflow profiles on boards up to 217c for lead free, and havent melted any plastic parts yet. They just have to be reflow grade plastics. Check the datasheets.
Main PC: Intel core I7 920, MSI x58 platinum, Radeon4850
PB: tibook G4, ibook G4, ibook g3x2, Lombard, 160, 165, 180, 180c Duo 2300x2, Duo 270c x2, 520cPPC, 3400c, 1400c
Desktop: G3AIO, SE, SE/30, 512k, plus, LCIII, iMac G4, iMac intel, 6400/225

#246 bigmessowires

bigmessowires
  • 68000
  • LocationSan Francisco Bay Area, CA

Posted 29 September 2011 - 03:11 PM

Have you given any more thought to a reprogrammable version? That would be awesome, since most people probably don't have an EPROM programmer.

I was musing about this some more, and while reprogramming the ROMs from inside the Mac *might* be possible, I think initial programming wouldn't be. You can't even address the ROM SIMM unless the jumper is set, but if the jumper is set, you can't boot from a blank ROM, right?

So I think USB programming is the most likely path. You'd need to find room for a micro-USB connector, a small microcontroller, and probably a few shift registers. Assuming you used the smallest SMD packages you could find, do you think there's room on the SIMM? Or is there enough clearance to make the SIMM taller? Or you could put a 60 pin edge connector on the SIMM, and build a second board that mates with it (outside the Mac) that contains the microcontroller and USB stuff, maybe.

#247 bigmessowires

bigmessowires
  • 68000
  • LocationSan Francisco Bay Area, CA

Posted 29 September 2011 - 03:40 PM

Actually you could just use the existing edge connector, with one trick: connect the write-enable line to one of the VCC pins. Since write-enable is active low, when the SIMM is in the Mac it will send +5V to that pin, and writes will be disabled. But when the SIMM is mounted in a custom programmer board, it could pulse write-enable as necessary. Then you wouldn't need any physical changes to the SIMM at all, other than the routing of that one signal.

This does raise a question, though: how is having a second "ROM SIMM programmer board" really any different than just using a commercial EPROM programmer? So maybe the whole idea is a little silly.

#248 trag

trag
  • 68020
  • LocationAustin, TX

Posted 29 September 2011 - 11:08 PM

Miscellaneous thoughts:

1) I have a bunch of AM29F040B-70JC, AT49F002-70JC, and AT49F010-120JC on hand. The latter are good for anyone who just wants a ROM SIMM and doesn't care about experimenting. The middle one provides a moderate amount of extra program space. The first one would be the biggest, but I have fewer of them on hand. Also, the middle one has a RESET_ pin on pin 1, which is NC on the others, so pin 1 needs to be tied high if one uses the AT49F002-70JC. Ah, I see that pin1 is A18 on the 4 Mb chips. That's inconvenient.

Doug, I might be able to lower your cost a bit and possibly simplify your logistics so that you don't feel like you need to stock up on too many chips for your next batch, since I already have several hundred (111, 200, 55 respectively) on hand.

I also have about 3200 AT28C64-25TI on hand, but I don't know what anyone would do with those....

2) The X100 (NuBus PowerMac) ROM module appears to be the same as the X500 ROM module, which is the same as the 7200, ANS, PEx, and Beige G3 ROM module. There is a few pins variation in the latter to change the supply voltage from 5V to 3.3V. I've never traced the whole X100 module out, but the form factor is identical, and I traced a few pins and those that I checked all matched up.

I have designed and built about 200 of this ROM module. I have Gerber files available, but it is a four layer board, so it is expensive to have made. It operates a lot faster than the old Mac II modules and I recommend using at least 90ns Flash on board.

The X100 module is a DIMM and is 64 bits wide. So you either need eight PLCC32 chips on board, or to use wider 16 bit Flash. My design uses four PSOP44 chips which is fine for a fixed module, but not so useful for an experimenting module. I tried installing PSOP44 sockets on the thing in support of the PEx ROM project, but I can't get it to work with the PSOP44 sockets.

The pinout which is in the 68K Wiki is the one I used to build the module, so that pinout is tested, unless I mistyped something.

3) I have no idea if SM PLCC sockets will tolerate oven soldering, but they'd be pretty useless if they wouldn't. In any case, I'd get the manufacturer's datasheet and check that. That information should be readily available from the manufacturer.

4) I should have mentioned the Flash I have on hand before you got to the ordering point, but was off the forums for a while. In case other projects come up, here's an incomplete list of chips I have on hand that might be useful and are almost certainly cheaper from me than from a distributor:

PLCC32 flash/EEPROM
111 AM29F040B-70JC
200 AT49F002-70JC
55 AT49F010-120JC
3200 AT28C64-25TI

TSOP20 flash/EEPROM
300 SST39VF016-90-4C-EI

PSOP44 flash/EEPROM
250 HY29F800BG-90
450 HY29F800BG-70

DRAM/SRAM/SGRAM
2000 KM4132G512Q-10 SGRAM
310 Hitachi PSRAM HM658512ALFP (512K X 8) (Portable memory?)
457 MCM6206BA 32K X 8 SRAM
249 M5M417800CT 2M X 8 DRAM
324 Oki MSM514400D 1M X 4 DRAM
800 ISSI 61C632A-7TQT 32K X 32 SRAM
48 Galvantech GVT71128D32T-5I 128K X 32 Burst SRAM
53 Samsung K7N801845M-QC15 512K X 18 NtNRAM

Misc.
1000 ICS9158-03CW24T-CT Clock Buffer/multiplier chips
660 NCR53C96 SCSI controllers
285 GAL16VD-15LJ (need to check part number, D = 8?)
184 DP83223V (ethernet something or other)
52 DP83840AVCE (see above)
24 Xilinx XC3090-100 PQ160C (good luck finding compatible development software)
75 AM85C30-10JC (serial port controllers)
40 Citizen W1D Notebook floppy drives

5) The Mac II family ROM looks great! I'm tempted to buy one, but I'm so backed up on projects here, it'd just be another thing laying around. Sigh. I finally started a to-do list the other day and typed out 40 items without even thinking hard. If I could get rid of the fish, the boy, the job, and stop coaching LL baseball....I would be very unhappy, but then I could catch up on the projects.

#249 dougg3

dougg3
  • 6502

Posted 30 September 2011 - 02:25 AM

Oh duh, why didn't I think to look at the datasheet on those sockets? Thanks techknight and trag! The more I think about it, it makes perfect sense--the sockets are designed to be reflowed -- otherwise they wouldn't make the pins so hard to access. The sockets I ordered can take 260 celsius for a maximum of 30 seconds. The durability is "25 cycles" -- I'm assuming that means removals/insertions. That seems kind of low...hopefully I'm not making cheap garbage that will wear out quickly.......

I did think more about a reprogrammable version, bigmessowires. I see what you're saying -- use one of the VCC pins on the SIMM for VCC, and a different VCC pin on the SIMM for the write enable line, so they would actually be broken out separate if I plugged it into an external programmer. That would work...

As for in-circuit programming, I'm guessing I would need to use a weak pull-up resistor to force WE high at all times unless when pulled low by the microcontroller...(I guess the microcontroller could just be in control of keeping the pin high when not programming, but I wonder if the microcontroller would start up fast enough to pull it up before the IIci started accessing it...)

I also thought about making a separate programmer board with a SIMM socket, but I came to the same conclusion as you -- it doesn't really get us anywhere since we can already get a EEPROM programmer board. I guess it would help because I could make custom software to use with it on Mac/Linux/Windows and we wouldn't have to worry about sockets, but the USB is just cooler. Also, it's hard to find 64 pin SIMM sockets -- none of the usual suppliers carry them to my knowledge. Looks like Tyco used to make them, and they're discontinued now?

As far as USB goes, first of all, how hard will it be to find a 5V microcontroller? It seems like everything is 3.3V nowadays. I have plenty of room on the back of the board physically for the connector, a small microcontroller, and shift registers and whatever else I need, but I don't think I'd be able to route the traces without adding more board layers. Maybe I'm just being pessimistic like I was before when routing the first SIMM, but I'm thinking it's going to be tough...most of the front side of the board is already used up, and it's going to be hard to reach everything solely from the back side. Especially the data pins, which are all near the bottom of the board. I guess I could let an autorouter try to take care of it...anybody have any thoughts on this? I really think this is where the project needs to be headed (toward being USB programmable).

I also thought about making the SIMM taller, but there's barely any clearance for anything taller in the SE/30, and I'd like to make it physically fit in all the models it supports. :(

Whew trag, thanks for all the info! Looks like the AM29F040B-70JC is exactly the same pinout as the 4 megabit chip I'm using, and the AT49F010 is the same pinout as the 1 megabit chip I'm using. Makes me glad for JEDEC standards :-) Those would both work fine as far as I can tell. The middle one would probably cause too many problems since like you said it has a /RESET pin.

I would definitely be interested in anything you could do to help with the cost/logistics of the next version of the SIMM, trag...I ordered enough parts to build all of the first batch, so once I move on to the second "pirate edition" (with LEDs), I will be needing parts again.

Ah, that's great about the 6100 pinout! Hopefully it's exactly the same in which case your module would already work. That would be awesome. The four layer part of it does kind of make it difficult financially to make more :( I think I'm using 70 ns flash already, even on the IIci SIMM. Is the thickness still about 50 mils on the Power Mac ROM DIMM PCB?

I didn't even know there was such thing as a PSOP44 socket. Interesting...yeah, we'd need some way of making it work with sockets to be useful for ROM hacking. Thanks for all the info about the Power Mac ROM modules!

I know what you mean about being busy with all your projects. To be honest, just this SIMM project alone has kept me busy enough; I couldn't imagine juggling everything else you're doing on top of that! :-)

#250 bigmessowires

bigmessowires
  • 68000
  • LocationSan Francisco Bay Area, CA

Posted 30 September 2011 - 02:26 AM

Dougg3's ROM project was featured today on Hack-a-Day! http://hackaday.com/...g- ... k a Day)

#251 dougg3

dougg3
  • 6502

Posted 30 September 2011 - 02:29 AM

Dougg3's ROM project was featured today on Hack-a-Day! http://hackaday.com/...g- ... k a Day)


:-O That's awesome!!!!!!! Thanks for pointing that out!

#252 Trash80toHP_Mini

Trash80toHP_Mini

    NIGHT STALKER

  • 68040
  • LocationBermuda Triangle, NC, USA

Posted 30 September 2011 - 02:42 AM

Mazel Tov! :approve:

11 Pages, 259 replies & 3,590 views and counting! :b&w:
jt [8]
Trash Hauler: call sign: eight-ball

C.O. AC130H SpecOps 68kMLAAF

#253 techknight

techknight
  • 68LC040

Posted 30 September 2011 - 03:14 AM

I was on there once, building a medium power FM transmitter using hacked parts. :p
Main PC: Intel core I7 920, MSI x58 platinum, Radeon4850
PB: tibook G4, ibook G4, ibook g3x2, Lombard, 160, 165, 180, 180c Duo 2300x2, Duo 270c x2, 520cPPC, 3400c, 1400c
Desktop: G3AIO, SE, SE/30, 512k, plus, LCIII, iMac G4, iMac intel, 6400/225

#254 tt

tt
  • 6502
  • LocationCalifornia

Posted 30 September 2011 - 05:12 AM

I kind of got lost about the microcontroller discussion, but the ATMega328 runs off of 5V. I was thinking goal-wise making a USB programmer with a SIMM slot would be more feasible than in-system flashing the ROM. If there are additional pins that need to be accessed, the programmer board could have jumper wires that are attached to access points on the SIMM and jumpers could be added to the SIMM for shorting or opening traces.

Please backup and copy that floppy. Preserve software-- deletion is irreversible.


#255 olePigeon

olePigeon
  • 68LC040

Posted 30 September 2011 - 05:26 AM

When everyone gets their ROMs working, we'll need a thread so everyone can post their screenshots. :D

Here're the icons I'll be using, plus my boot chime:

Boot Icon: Posted Image
Floppy Icons: Posted ImagePosted Image (The crossbones toggle)
Boot Chime: Arrr!

#256 dougg3

dougg3
  • 6502

Posted 30 September 2011 - 05:51 AM

I was musing about this some more, and while reprogramming the ROMs from inside the Mac *might* be possible, I think initial programming wouldn't be. You can't even address the ROM SIMM unless the jumper is set, but if the jumper is set, you can't boot from a blank ROM, right?


Oops, I didn't notice this in my big reply earlier...

I'm not sure if it's possible at all (I think I like the USB idea more anyway), but I'll have to think. My understanding is that with the ROM select jumper in place, the chip select on the DIPs is pulled low to activate them. When the jumper is out, the chip select on the DIPs is pulled high. The chip select on the SIMM socket is always pulled low. So if you have the SIMM in with the ROM jumper on, it won't work because both the SIMM chips and the DIP chips will have their chip select activated simultaneously.

In fact, I think I found that one of the SIMM socket's address pins is shorted to the DIP ROM's chip select line. I'll look again at that later, because I thought that seemed strange...

I was on there once, building a medium power FM transmitter using hacked parts. :p


Niiice!

I kind of got lost about the microcontroller discussion, but the ATMega328 runs off of 5V. I was thinking goal-wise making a USB programmer with a SIMM slot would be more feasible than in-system flashing the ROM. If there are additional pins that need to be accessed, the programmer board could have jumper wires that are attached to access points on the SIMM and jumpers could be added to the SIMM for shorting or opening traces.


Yeah, agreed -- the USB would be a lot easier than doing it in-system. Thanks for the note about the ATmega. I'd probably have to combine it with an FTDI chip for USB to UART...

Here're the icons I'll be using, plus my boot chime:


Those are AWESOME!!!

#257 Trash80toHP_Mini

Trash80toHP_Mini

    NIGHT STALKER

  • 68040
  • LocationBermuda Triangle, NC, USA

Posted 30 September 2011 - 12:47 PM

Very [8D] icons! [;)]

Programming over USB 1 sounds awesome, that way any PCI Architecture Mac becomes a ghetto programmer for the ROM SIMM. That fits right in with the PoAMM design aesthetic. I have to wonder if, after the ROM SIMM's initial programming and a successful boot, it'd be possible to read and write to a block of unused memory on the max capacity "ROMs?"

They'd have to be addressed in "ROM expansion mode," but that might be possible . . .

. . . being that there is already provision for doing so in many Mac ROMs & Toolbox Calls for it . . .
. . . the Boot ROM code will have already been copied into memory . . .
. . . you'd need to put a Micro-CPU in between the USB cable and the ROM SIMM . . .
. . . and hack a USB port into the unused portion of one of the Mac's NuBus or PDS card port covers . . .

. . . but it just might be a "limited" workaround for the "impossible" NuBus Architecture USB hack! [}:)]
. . . if possible, at the very least, it should allow reads and writes to keychain drives and chiplets. ;)

Substitute any header/jumper combos that might be necessary for programming the SIMM with "or gates" that are thrown when USB power is available. :?:
For the base unit that'd be controlled by plugging in your USB cable or for in box USB interface reprogramming mode. In the USB Drive interface mode, the microcontroller would control the read write mode by turning the USB power line on and off for read/write drive access. The Microcontroller might be tripped from the mac end over a Serial Port connection or, better yet, ADB or the (forgot the name) MoBo's inter-chip serial connection.

Dunno . . . just spit ballin' here, but "to dream the impossible dream" has its own rewards! :approve:
Thanks for the opportunity to wax Quixotic, Sancho! :lol:
jt [8]
Trash Hauler: call sign: eight-ball

C.O. AC130H SpecOps 68kMLAAF

#258 trag

trag
  • 68020
  • LocationAustin, TX

Posted 30 September 2011 - 03:29 PM

The x100, x500, Beige G3, Etc. ROM module is .063" thickness. So it's easier to find standard specials, but the four layer thing gets you.

It might be possible to do one in two layers, but it would be tough, and since the thing operates faster, I'm not sure if it would work.

Doug, PM me when/if you get to the point where you need chips for the next batch and we'll work something convenient out. It looks like you're paying about $1.70+ per chip, and I'd be happy with $1 each. Also, we can do something along the lines of selling you the amount you think you will need, and then if you don't use them all, you can return the unused portion for a refund. I won't be any worse off than if they stayed in the box to begin with, other than digging them out and then putting them back.

#259 olePigeon

olePigeon
  • 68LC040

Posted 30 September 2011 - 04:56 PM

Instead of building a new SIMM, would it be easier to just make a new little board with a SIMM socket and USB? That way you wouldn't have to fiddle with the SIMM itself. And perhaps put multiple SIMM sockets on it for various models and a toggle switch. That way you can keep the SIMM simple, and have maybe 3 or 4 sockets on a separate board so you can program a Mac II, IIsi, 6100/7100, and 9700.

#260 olePigeon

olePigeon
  • 68LC040

Posted 30 September 2011 - 06:14 PM

Dougg3's ROM project was featured today on Hack-a-Day! http://hackaday.com/...g- ... k a Day)


This can only mean one thing...

...changing the IIci's icons to match the boot chime!

Boot icon: Posted Image
System icon: Posted Image (toggles between nothing and dead mario when looking for system/floppy)

Alternatively, you could use the Dead mario for the Sad Mac. xx( ;)

Icons with masks here.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users