The Laser 128 holds some special interest for me. Arguably the only legal Apple II clone (“arguably”, because Apple might have argued that it was only legal because they hadn’t managed to prove that it wasn’t), it was kind of an interesting machine in its own right. Perhaps the most interesting aspect of it is that, although it takes a form factor similar to the IIc, it actually has an expansion slot (albeit external) like the IIe. (or II, II+, etc.)

There were 3, or perhaps 4, models of the Laser 128 produced. There’s the original Laser 128, the Laser 128EX with a 3.6MHz CPU, and the Laser 128EX/2, which adds a MIDI port, and optionally a 3.5” drive. I said “perhaps 4” because there are really two “original Laser 128” models - one which looks more or less like the EX or EX/2, and an earlier one with its own styling. I believe that the true original one is quite different internally, though I’ve yet to acquire one.

I have a number of (new-type) 128s, and a few 128EXs. The thing about the EX is that it came with a memory expansion card pre-installed, usually populated with 256KB of RAM. It could support up to 1MB of RAM if fully populated. The bare 128 could use the memory expansion card (at least the new-type 128 could - I think the original-type could support a memory expansion card, but the pinout was, AFAIK, different), but it didn’t ship with one.

In an effort to fix up and “modernize” all of my 128s, I wanted to put a memory expansion card in each one of them, but of course, in 2019, it’s pretty much impossible to acquire one. I’ve never seen one on eBay or anywhere else. So I decided to clone the card.

There’s a few revisions of the card. I extracted the cards from all of my 128EX machines and compared them. They were all “revision B” cards (702175B): "Original revision B card"

This one in particular was depopulated of all its RAM chips. I don’t quite remember why- I probably wanted to get a better look at the board underneath.

However, I knew that there was a revision C card, because the schematic was included in the various scans of the Technical Reference Manual that you’ll find online. From the schematic, it appeared to add a resistor and a choke to one of the data lines. This was probably to clean up RF noise issues that showed up in the field. Unfortunately, there was no indication of what value of resistor or choke they used. VTech included a BOM for the whole machine, including the memory expansion card, but they didn’t update it when going from revision B to revision C, so those parts were missing.

Dismayed, I thought I’d have to settle for cloning the revision B card, but on a hunch, I flipped over one of the revision B cards and discovered that it had been factory modified into a pseudo-revision C card! "Original revision B card, patched into revision C"

So determining the resistor value was easy, but my LCR meter isn’t accurate enough to get a proper reading from the choke. Still, I was able to estimate because it was a pretty simple ferrite with a fixed number of windings.

After teaching myself Kicad and poring over the terrible quality schmetics and PCB scans in the reference manual, I was able to produce a nearly 1:1 PCB clone design. Sent it to the fab and got the result back a couple weeks ago: "Bare PCB"

The design isn’t perfect- I got my measurements slightly wrong, so the screw holes on the left hand side don’t quite line up. I also forgot to add some ground plane vias in the bottom right of the board. So, I’ll have to make another revision before I’m happy with it. But, I assembled one of the boards I received, to make sure it worked: "Assembled PCB"

Success! ProDOS 8 creates a 1MB RAM disk on boot: "RAM disk"

The built-in Laser 128 memory diagnostics (C50AG from the system monitor- I have no idea if this is documented somewhere, but I found it in a random Youtube video) are also happy with the card: "Memory diagnostics"

Right now, it’s populated with a full complement of 32 41256 DRAM chips, specifically the 100ns variety. I believe that various 256Kx1 DRAMs will work in here, but those are what I had and are pretty easy to find. I believe that you need them to be at least 120ns to work at 3.6MHz in the 128EX- the original 128 should be fine with 150ns chips, though I’ve yet to test (nor do I even have any to test with).

Soldering this together proved to be slightly more frustrating than I’d planned. Couldn’t get the solder to stick to the bypass caps at first, until I realized that I had to crank up the heat on my soldering station. The card has a huge ground plane in most places, and even with the thermal reliefs that I incorporated, it really wants to act like a giant heatsink and prevent the leads from getting hot enough to take solder. Lesson learned, though.

So, the plan is to make another revision to correct the issues I mentioned above, and do another run of cards. At that point, I’ll probably sell any extras, if people want them. I don’t know if I’d preassemble them, since I’m pretty awful at soldering and it’s a real pain to solder that many chip sockets and caps, but I figure getting more retro replicas out there is a good thing.

Here’s a fun fact: check out the picture of the original revision B card above. VTech screwed up the numbering of the capacitors on the board- pay attention to the leftmost column. There’s 6 ceramic caps there, but they’re numbered C238-C241. That’s only enough numbers for 4 caps. Did they originally plan fewer caps, or were they just bad at math?

Renée Harke

I'm a software engineer, currently focused on iOS development.

I also enjoy C++, OpenGL, and cross-platform development.

In my free time, I like to dabble in retrocomputing, particularly the Apple II.