Skip to main content
Home Forums Another IIci ROM hack Another IIci ROM hack
Thread

Another IIci ROM hack

Another IIci ROM hack Troubleshooting 1018 posts Jul 23, 2011 — Jan 30, 2014
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! :)

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!

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.

I'd like to put my PEx's boot and bomb chimes in the SuperIIsi.

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.

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.

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.

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.

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! :-)

Mazel Tov! :approve:

11 Pages, 259 replies & 3,590 views and counting! :b&w:

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

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.

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:
Pirate-IIci.gif.38599f84ef2e78659af806f9a75b117d.gif


Floppy Icons:
Floppy-1.gif.9941b01412e0a4bcd8a301fb426b670f.gif
Floppy-2.gif.2a3beb9a19fce964ce8f96f552229f4e.gif
(The crossbones toggle)

Boot Chime: Arrr!

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!!!

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:

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.

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.

This can only mean one thing...

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

Boot icon:
Mario-Boot.gif.8b56766bbc9c5953a268c89a5c77973d.gif


System icon:
Mario-System.gif.257d224b47ae6388b260f2ced98708cd.gif
(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.

Didnt i discuss that earlier? using an ATmega AVR as a ROM MMU for programming the flash ROM while on board.

The toolbox may provision in circuit programming of the ROM, but easier to use an MCU, and multiplexer switches such as 4053 or 4619. There are other types of setups too.

This way, you can break ROM away from the system address bus so the AVR can flash the ROM over USB or maybe via the mac, however you wanted to do it.

but so the system doesnt crash out when programming, you can eihter derive the MCU from standby power, or when you break ROM away, it switches in RAM in place of ROM, and a copy of ROM is sitting in RAM while things are flashed.

Once its done, have it toggle the system RESET bus line. and itll reboot the machine :-) You could always have ROM copy its contents into shadow RAM, while holding RESET low so the system cannot start until the copy is finished.

The x100, x500, Beige G3, Etc. ROM module is .063" thickness.
Ahhh...well that's good that it's the .063" size at least.

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.
Awesome! I definitely will be in touch with you when the time comes. Thanks!

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.
If I can't find room for the programming circuitry on the SIMM, this is probably what I'll have to do. It would help keep the SIMM simple for sure. The problem is that I can't find 64-pin SIMM sockets for sale. Digi-Key says to call them to find more info. Maybe I'll do that, but my guess is that they are long gone. BTW, those Mario icons are amazing :-D I'll stick them in!

Didnt i discuss that earlier? using an ATmega AVR as a ROM MMU for programming the flash ROM while on board.
Yeah, now that I think about it you did mention the AVRs. It really wasn't that long ago, but it feels like forever ago. :) Sorry :I

To be honest I haven't really put much thought into programming it while the Mac is running. I think it would probably be easier to just assume that the Mac is turned off while programming. In fact I have no problem with assuming the SIMM is out of the socket while programming it too...otherwise I'm fearing the circuitry that has to go on the SIMM is just going to get way too complex. Like you said, I'd have to use something to isolate the ROMs from the system bus at the very least...

The problem is that I can't find 64-pin SIMM sockets for sale.
I can check my local parts store, they might have some 64-pin SIMM sockets.

I would be very interested in hearing if they have any. I just looked again and realized it's DigiKey in Canada that has a "Call us" listing for the 64-pin SIMM socket. But DigiKey US doesn't even have a listing for the part. The more I look at this, it's seeming like it'll be pretty tough to put all the programming circuitry on the SIMM without increasing the board size or adding more layers. An external programmer board feels kind of like a bad compromise, but it may have to suffice...*if* I can find sockets!

The parts for the rest of the Rev 1 SIMMs should arrive today. I also got some solder paste and a smaller iron tip, so I'll be experimenting a little bit to see if I can solder those sockets in without removing the bottom plastic.

I've been thinking about what it would take to make the SIMM programmable, and I just realized on the SIMM pinout, there's a +5V pin right next to the chip select and output enable pins. Who wants to bet that was originally designed to be the write enable line? I could just remove that pin from being hooked to +5V, and hook it to the write enable pins on the flash chips instead. That way the motherboard would keep it high (no write) when it was plugged in, but if it's outside of the computer, they would be separated. There is still another +5V pin on the other side of the SIMM (also labeled as alternate chip select, but I don't think anything uses it for that), so I would still have enough pins to supply power. I think someone may have suggested this idea already, so thanks for the idea...it's getting hard to keep track of everything :)

. . . 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. ;)
Ooops, I missed out on your reply earlier jt! Sorry! I think if we were to look into getting USB storage, it would probably be easier to just start with a NuBus card that we can read and write to, rather than trying to squeeze it into the SIMM which can only be read from (like you pointed out, we'd have to hook it to a serial port or something to talk with it). I really like the idea, though. I think we could do something like what you said -- a microcontroller between the USB and the card to handle all the communication. And of course there would have to be a driver written to talk to it and make it appear as a storage volume on the Mac...

-- a microcontroller between the USB and the card to handle all the communication. And of course there would have to be a driver written to talk to it and make it appear as a storage volume on the Mac...
Since toolbox routines exist (?) for doing so, creating a driver for reading the information ought to be eminently do-able.

The MAC ROM SIMM is MEANT to be utilized as expansion for the majority of Macs which have provision for one.

Reprogramming info contained therein on the fly is just a really nasty trick to play on a poor lil' unsuspecting Mac. I'd call it block banging, as opposed to bit banging and it saves a slot, takes care of all your programming hardware on a device that expands your SIMM hack in a significant way.

Machines like the IICI, IIsi, SE/30 etc. are sadly lacking in NuBus slottage soooo . . . }:)

I see what you're saying that the SIMM socket is meant for expansion, but it's really just designed for ROM expansion. Otherwise they'd have some kind of write functionality available on it. Doesn't mean we can't hack a way to talk to it though through the serial port or whatever, true, true.... ;-)

That's very true that for "expansion challenged" Macs it would definitely be useful. I didn't think of it like that, but you're right -- if we wanted to do USB to an SE/30 for example, the ROM SIMM socket just might be what we could use to allow it to work. On the other hand once we're hooking into serial ports anyway, is there much benefit to putting it inside the Mac rather than just making it an external box that plugs in? :)

OK, so the parts arrived and I started putting together another SIMM. I experimented on one with the new sockets and my smaller tip. The new sockets have much more open space so I may not have to remove the bottom plastic plate. The first socket I put in was mangled by my iron and I was having all kinds of trouble getting solder to go from the tip to the pins, despite covering everything with flux beforehand. I think it's because 1) the smaller tip has less surface area for heat transfer and 2) with the bottom plate in place, it's harder to keep a blob of solder on the tip without accidentally touching the upper parts of the socket's contacts. Anyway I'll have to remove that socket with some Chip-Quik or a hot air station or something.

Then I remembered I had just ordered solder paste. I did two more sockets after that with almost NO problem. The solder paste is amazing...it's slightly difficult to control it while I'm squirting it out of the syringe, but it works wonders for soldering. Just stick the paste over the PLCC pads, put the socket over it, heat up each of the socket's pins with the small iron tip, and the solder just flows where it's supposed to go like magic! The only difficult part is aligning the socket because the paste covers up the pads... :-/

My parts store has 4 boxes of 64-pin sockets ranging from 45 cents to 95 cents (though I don't know what the differences are between them.)

if you choose to design a circuit to program the SIMM in circuit with the Mac off, make sure the flash IC and AVR MCU can get standby power, OR use a diode circuit off of the USB +5V and the macintosh +5v so it doesnt backfeed, Then you can use the USB port to power the AVR and Flash IC for reprogramming. Once done, the Macs +5v will power everything, but the 2 power supplies dont interfere. Choose your diodes carefully, youll need a shotkey diode because of its low voltage drop. All of these thoughts can be put into a new board revision. You could make an expansion board to plug into the SIMM socket of the mac, and plug your SIMM card into the expansion, the only issue with that is clearence. And i suppose you probably tied the WE pins so they dont activate, in which case youll need to make cuts, or make a new SIMM with an AVR + FT232R or a USB based Mega, or PIC on the backside of the SIMM.

If you use the AVR + FT232R method (easiest/cheapest) it will function as a target only, and give you only a serial port. If you want to use the USB port for other than programming, youll need a MCU that has a USB stack. there are a few USB AVRs that do this, but there are a vast majority more on the PIC line, then you could run a RS232 USB stack. And you could reprogram the AVR and change this stack as necessary, such as a USB Mass Storage Stack instead.

You could ditch the AVR with an AVR32 (more powerful, can run embedded linux/busybox, MIPS core?), and you can add not only USB, but Ethernet/WiFi expansion to it as well, they make stacks/drivers for those ICs, in which case you could tie the AVR/AVR32 to the Mac's System bus, so not only does the AVR32 switch out the ROM to be flashed, But it can have its own addresses on the system bus so you can have mac drivers access the USB/Ethernet or any other setups. And of course, its 32bit. No bottleneck of 8bit setups. Of course i can run on-and-on-and-on all day about different ideas.

I can think of really great ideas too, like a security-app on a phone that uses the accelerometer to detect motion, GPS to identify speed, in which case, driving, to disable text messaging. lol.

Excellent olePigeon! I'm not really ready to start making anything, but it's good to know that you know a place that has them...that will be very handy. Thanks :-)

Ah ok techknight, I think I understand what you're saying with the diode...so if I'm programming it over USB while it's plugged in, it won't try to power up the Mac's logic board through the USB power, but it will still allow the logic board to power the flash ICs when I'm not programming it. Got it!

Yeah, I definitely understand how I'd need a microcontroller with a USB stack rather than an FTDI chip to do something like mass storage, since the FTDI chip is only a USB to UART chip. Another possibility is one of the many ARM vendors, I've been using various incarnations of the Cortex-M3 (which might be overkill for this project) and it's pretty nifty.

You should take some of your ideas and make them reality!

I removed the bad socket with Chip-Quik and burned my finger in the process (awesome), resoldered a new socket, and I'm having a problem because a bunch of pins next to each other are shorted together. Since there are 4 sockets, I don't know which one it's happening on. I can't see any shorts, but they must be under the sockets. I think it's because I overdid it with the solder paste. I just realized that I can get dispensing needles to put on the syringe to limit the size of the stream that comes out...whoops, I forgot to order one! So this is a warning to future solder pasters...don't overdo it on the solder paste! I'm still not sure what I'll do with the board I messed up. It's probably fixable, but for now I'm going to let it be. I think I'm going to go back to my old strategy of cutting out the bottom plastic for the rest of these ones...

Built two more SIMMs today. As crazy as it may sound, it's actually *easier* to solder the surface mount socket pins using a bigger iron tip. I'm starting to get the hang of dragging a big blob of solder along the pins to quickly solder many at a time. Works pretty well.

The sockets I'm using now do not seem to fit my PLCC extraction tool. I have to pry one side up using one side of the extraction tool, then pry the other side up to get the chips out. Tyco's official tool they recommend for that socket is just a hook you can stick in to pry one side up. I was hoping it would fit a normal extraction tool, but it doesn't seem that it does. Hopefully that isn't a huge inconvenience for everyone! On the plus side, these new sockets are much easier to push the chips into.

I still have at least 7 or 8 SIMMs available and ready to be built if anyone wants one!

I've also laid out the LEDs on the rev. 2 board. Looks like I can get away with using 2 LEDs in series with a resistor. I'm just going to keep them lit up at all times. I think trying to light up the LED whenever the output enable is active may cause problems because of the LED's voltage drop, so I'll just stick with keeping it lit at all times. Still need to separate the write enable and +5V lines to make it feasible to program the board directly in an external programmer board with a SIMM socket. I'll post a pic of an updated board design and gerbers later!

mp.ls