A Highly Hacked Apple II

20190106 TerraHertz http://everist.org NobLog home Updated: 20190211

Initially I was going to title this story "The Most Hacked Apple II Ever". On second thoughts, there may be others more hacked than mine, and that title would be presumptuous. If there are or ever were Apple IIs more hacked than mine, rather than antagonize their owners I'd like to see pictures and hear their stories.

My Apple II was bought from my employer at the time, Computerland, in Clarence St Sydney. This was the first home computer store that opened in Australia so far as I know, and the first to import any Apple computers after they were released. I'd joined as a service tech in the store very soon after they opened, and in August 1978 bought one of the first two Apple II's the company imported. Serial number A2S1 - 0480. It is such an early model that it has the hand-made urethane foam case, rather than the later injection molded plastic cases. Also 110V and NTSC colour only.

It had been used as a store demo for a couple of weeks before I bought it, and it became my primary computer for many years. There's a story about my buying this Apple, but this reminiscence is about 'a few modifications' I made to the machine.

However I'm writing this in Jan 2019, and my old Apple II hasn't been turned on since the early 1990s sometime. Back then it was still reliable, but now it absolutely isn't. Several elements of the machine have become flakey, including the IC sockets (most ICs on the main board are socketted, and Apple used cheap, crappy sockets dammit), ribbon cables with insulation displacement connectors (notorious for going intermittent), and the keyboard. Not to mention my mods, and inevitably fading EPROM contents on my ROM board.

So this won't be a simple review of the mods. It's going to be an Apple II debugging story, as I get the machine functional again and then demonstrate the hacked-in extra features.

I know already that probably the hardest part of this, will be struggling against my own lamentable tendency (in my early 20s) to not document things properly. I virtually never wrote anything about why I was doing something, how it worked, or when I did it. There'll be old hand-drawn schematics (in faint pencil), and disorganized pages of hand written assembler code. With few comments and even fewer dates. Also potentially some docs entirely lost.

Wish I had a time machine; I'd go back armed with a clue-by-four, for some enlightenment-whacking. But sadly... now it's 40 years later, and I have very little detailed memory remaining of these mods. It's going to be an exploration.

Of this. Yes, that's an Apple II opened out. It just isn't very recognizable.

When I first got the Apple II, for a display I had a choice between a small B&W TV (about 15cm screen diagonal) that I'd modified for direct video in, or a larger colour TV. Neither of which I still have. Later while working with early video arcade gaming machines I got a small RGB monitor, 34 cm diagonal screen. It was a bare frame monitor so I built a case for it. This (at left above) is the screen I used with the Apple II for many years. Fortunately it still works!


Not so fortunately, I can't find the cable to connect the Apple II and monitor. It was something I'd made, and it's gone. There's no point even turning the Apple II on, if I can't see whatever video it generates. So making a replacement cable came first.

The monitor has Red, Green and Blue inputs, with separate composite (combined H & V) sync input. The Apple's 'colour' output only works with PAL or NTSC colour displays, and besides for most purposes I wasn't interested in colour. So one of the first mods on the motherboard was to wire the direct TTL level video signal, and TTL syncs, to the existing 4-pin J14B (video out.) Later I added proper cable drivers.

This cable is a pair of small diameter 50Ω coax, for video (connected just to the monitor Green input) and syncs.

The monitor has no cable termination (just about 1 KΩ) but at the relatively low frequency of Apple text display, it doesn't seem to matter. Hopefully I'll find the circuit diagram of that 'video cable driver' mod I did. Maybe it includes driver end termination, so there are no multiple echo reflections. Something to check later. For now it's good enough for debugging the Apple II.

Turning the Apple on, as expected, nothing. The machine doesn't have a power-on reset. Manual reset — still nothing. A few more tries... wait, a flicker of garbage on screen. More tries (tapping the reset key, and power cycling) and now there is sometimes the startup beep and flickers of the actual start menu.

Start menu, you ask? What start menu? The standard Apple II doesn't have a start menu. Mine does; it's some code I wrote that resides in the EPROM banks of my Promramer card.

Hopeful! If it runs at all there are no dead components, just a lot of intermittent bad connections. For which the first practical response is 'percussive maintenance'. Aka giving the machine a solid whack. (Never do this with anything that has a hard disk!) Also pushing and tapping around on the motherboard, as the flexing can make bad IC socket contacts come good, at least momentarily.

Progressing in this way, after a few moments it became possible to get the machine to come up in the start menu (which is dynamic, ie has a continual animation) and keep running.

At least usually, and only until the machine was touched again. It's far from solid, but it is running. However trying to use the menu and sub-menus is hopeless, for multiple reasons.

For one thing the keyboard is totally flakey, giving wrong codes and with many keys not working at all. Plus many other flaws. One time I did get it into a diagnostic menu, which is either misreporting EPROM checksums, or they are all bad (and varying dynamically.) No problem, I have backups.

I wondered why many items are repeated in that screen menu. The menu is constructed at startup by the main code examining the EPROMs present, building a list of named utilities, then displaying them. Hit the number to go to that utility. So there shouldn't be repeats. Ah, then I remembered one of the last things I was doing with this machine, was extending that code to do two columns. Testing that, I think I just duplicated a few of the existing EPROM header entries to exercise the 'two columns' format. It's some debug stuff left in an EPROM.

Which reminded me. Do I actually have backups of all the EPROMs in this system? For instance what about the printer? My first printer was a small thermal paper thing. It was horrible, and sometime after 1980 I bought an Epson MX-80F/T III. I still have it stored away, but haven't tried it since the early 90s. Better check it, as I'm going to need it later for the Apple DOS 3.2 hack story.

I got it out, powered it up, and it runs! Responds to control buttons, and prints the test pattern (though the ink ribbon is nearly dry.) As I looked up my disk archives to see if I'd previously saved the EPROM images (I hadn't) the printer was still turned on. Suddenly it made a hissing noise and emitted a dramatic cloud of stinky smoke. I pulled the power cord but wasn't quick enough to get a good photo of the quite comical rising cloud.

← Just this remnant. A little bit visible around the tractor paper feed mechanism.

However I do recognize that smell. Pretty sure that was a RIFA mains filter capacitor, doing what they always do when powered up in old age.

Opening the printer, yes, correct. Easily replaced along with the blown internal fuse.
Also read and archived the EPROM images. Afterwards the printer still runs, so that's one thing taken care of.

It's amusing to note that the interface card Epson made to plug into an Apple II, has a design oopsie. Apple II cards are supposed to pass through the interrupt and DMA bus signals, even if not using them. This card doesn't. I had modified the card by adding copper foil 'fingers' on the edge connector to make it conform. →

After opening the Apple II case, I also noticed that I'd put a 2716 EPROM in place of the original character generator ROM at A5. The original had contained alphabet characters only in upper case. ↓

I'd modified the circuit and ROM to include lower case. Note the cut tracks between A3 & A5. (And wait till you see the underside of this board.)
That schematic mod hasn't turned up yet. Anyway the EPROM image wasn't in my EPROMS archive, and now it is. (All mods including this will be detailed later, after the machine is working reliably again.)

Where did I store the original character ROM? Along with some other spare parts I had for the Apple II? No idea, just a few guesses of where they might sensibly be.

Amazingly, found them in the first place I searched (up in the loft, and the less said about that chaos the better.) This time I'll keep them with the rest of the Apple II stuff. Like I should have originally.

Should I go ahead now and chase specific bugs? Starting with the keyboard maybe, since it was pretty bad.
No, because...

Shotgun Method

What's wrong with this machine is many, many bad and intermittent connections. IC sockets and IDC connectors. Debugging now would be like playing whack-a-mole, with a hundred moles. Constantly moving target.

Instead, the right thing to do now is a general fixit for all bad connections. Remove every single socketed IC, check and clean every IC pin, resocket. Also check all the IDC connector cables. And I think best to simply replace them all with soldered connector-cable joins.

At the same time I can clean everything (it's very grimy) and also I get to take photos of all the modifications, exposed for best viewing. There's also an issue I'm expecting to be quite serious, and want to know how serious it is. IC 'pin rot', or 'why did they use such a crappy metal alloy for IC lead frames sometimes?' We'll get to that.

Once those are all dealt with, the machine might just work. Or at least have few and stable enough faults to make actual debugging feasible.

1. To begin. One rather dusty motherboard. Also the DRAMs are rusty, but that's a separate issue.
2. A bit of tissue, soaked in IPA (IsoPropyl Alcohol), held in tweezers. And a lot of manual scrubbing.
To clean some other types of electronics I'd just put it in the kitchen sink, cover in water and detergent, and scrub with a stiff brush. Then rinse in plain tap water, a final rinse in distilled water, then blow dry with compressed air, and finally bake mildly warm for a day.
But this board is a bit too delicate for that. You'll see.
3. A while later, one cleaned motherboard.

Btw, who spotted that the F8 ROM is missing from the motherboard? Yes, I know it won't start up without that. It's removed because my Promramer EPROM programmer and socket banks card substitutes for the F8 motherboard ROM; taking control at reset.

After reset the 6502 CPU fetches a vector from two bytes near the top of its 64K memory space, and begins execution from the address pointed to by that vector. So the "F8 ROM" (the top two Kbytes of address space, spanning from $F800 to $FFFF) controls Apple II startup. My card's EPROM banks use 4Kbyte devices, so the 2K "F8 ROM" replacement code occupies the upper half of one 4K EPROM.

On my machine with a lot of extra code in EPROMs on the Promramer, including my own startup code, the motherboard F8 ROM was no longer used. It didn't have to be removed; I only removed it to slightly cut power consumption. With the side effect that without the promramer plugged in, the Apple II can't start up.

While trying this first startup I still hadn't managed to find the original F8 Rom yet, so startup had to be with the Promramer card installed. However it is in that little box of Apple spares.

You might also have noticed that some IC positions are unpopulated, while some are there but soldered in where originally they were in sockets.
The missing ICs are because I hard-jumpered the board to take 16K DRAMs. And the soldered-in ICs are because in the 1980s I got sick of machine crashes due to bad socket connections. Removed all sockets in critical DRAM-related circuitry and soldered the ICs in directly. I'd have liked to do this with all the ICs, but by that time it was too late. The bottom of the board had accumulated a lot of jumper wires, which obstruct access with a desoldering gun.

1. One thing I'd never have expected to become a rare and precious technological artefact, is the humble ink rubber. Turns out these have the perfect combination of softness and abrasiveness, for removing oxides from old IC pins, edge connectors, and so on. Here using one with the next chore — pull every IC, one by one, clean their pins, and brush the dust off the IC socket. Can't really do anything about dust and oxide on the contacts inside the socket, but typically the act of removing the IC and reinserting it deals with that well enough.
This is the before photo.
2. This one is after a few light wipes with the ink rubber. You don't need to press hard; nowhere near enough to bend the pins. Unless...

3. Unless the IC has 'pin rot', like this one. In which case even an extremely light touch will cause the faulty pin(s) to simply fall off. The inner core (which is an iron not copper alloy, and is magnetic) has developed some kind of corrosion fracture most or all of the way through. From sitting motionless and without stress, for decades, sheesh. Often it seems like the plating was the only thing sort-of holding it in place. I find it hard to believe the electronics industry managed to accidentally come up with an alloy that would self-disassemble like that. Planned obsolescence?
This one broke off at the first light touch.

But the exercise was worth it... of all the small ICs this was the only one with evident pin rot, and only one pin. Sometimes the IC fatality numbers on very old boards can be far higher. You can't risk leaving ICs with pin rot on boards, since the pins can break off entirely, leaving an incredibly vibration-sensitive intermittent connection. But which is invisible to the eye.

Unfortunately ceramic ICs with brazed pins are far more prone to this. So much so that for now I'm not going to even touch the DRAMs. Not till I have a source of replacements. Potentially for all 24 of them. I'll deal with that after the board is working. Or it's being stopped from working by fractured DRAM pins. Don't want too many variables at once.

Meanwhile, what to do about this IC?

4. Of course it's a rare one. 74LS283, at E14. "4-bit binary full adder with fast carry."
Typical. Do I even have any?
5. Yes, I have five. This is one box of several in my stock. They're densely packed. The ICs are stacked in solid 'sticks', wrapped in alfoil blocks that fit neatly in those paper envelopes. Each envelope can hold over 100 14-pin ICs as a nice flat block, and many are that full or even overflowed to more envelopes. Some part numbers, not so much.
Hmm... I'd rather repair this broken one, than use one of those semi-unobtainium new parts.

1. So a new but common IC from stock loses a leg. 74ALS04 is but a Pawn in the game of electronic Chess. I'd have sacrificed a used (desoldered) IC of some kind, except I don't want the pin with rough solder coating.
2. There it is, new leg soldered on. Back in the motherboard it goes.

3. Oh oh. I was expecting this, but it's still disappointing. Right after that, working through the ICs on board, I reached the bank of masked ROMs. The first of which is ceramic with side brazed pins.

Now, if I didn't have backups of these ROM's contents on file, I'd have extracted them from the sockets with extreme care, and immediately read them out with a device programmer. Crossing fingers that the ZIF socket wouldn't break off any pins.
But I do have backups, so simply proceeded with the pin cleaning. Which serves to reveal pin rot too. And this one has it bad. Oh well. The remainder are plastic DIPs, should be OK.

4. Next one was good, then... Nope. All the rest are dead. Bah. 4 bad out of 5. Sucks, because this means I'm going to have to modify the motherboard to take EPROMs in these sockets. They have slightly different pinouts iirc.

Worse, I can't even boot the Apple now, because my Promramer's EPROMs (as they are now) only substitute for the F8 system ROM, not the others. Not enough to boot by itself. Or, hmm, I could burn a set that does completely substitute for the motherboard ROMS. I think. But I'd rather keep my one Promramer board in original condition, since it has useful code.
Since I'm not going to be able to get a new set of Apple II mask ROMs (or at least not for this very early serial number), but I do have literally cubic feet of old EPROMs (Arcade Industry, ha ha) I'd rather patch the motherboard.

It's not like it would be the first time.

This is the back of my Apple II motherboard.
(When I opened the machine for this restoraton project.)
Click for larger image (1800 x 1060, 500KB.)

I can see it's going to end up with a few more changes before this is done. One already: when making a new (soldered not IDC) ribbon cable for the keyboard, I want to make it longer. The old circuit only has one ground wire, but some spare pins. Previously I'd used up all those spares for mods, but one of them was superfluous. Sending the DTAK/ (character taken) pulse to the keyboard, for something I had in mind but didn't do. I've removed that and used the wire for an extra ground.

Note the different wire colours. Dark blue were the first; the conversion from NTSC colour to PAL video standard. These early Apple IIs were all NTSC. Apple provided a Change Note sometime later to retrofit early Apple IIs to PAL. These early ones also had 110VAC-only power supplies (and there was no schematic released.) I'd traced out the schematic, and then later bought one of the new 110/240 selectable mains voltage Apple power supplies when Apple made them available. I can't recall when that was.

Green wires were the majority of mods, associated with several I/O additions. Most of the hardware for those is off the board, with these wires going to interconnects. Though there are some added ICs on the motherboard, at top left.

Light blue wires are related to the addition of lower-case text to the display character set.

IC pins with soldering rosin at bottom and right, were ones that I removed the old sockets and soldered the ICs directly into the PCB. In those days I didn't have any IPA to clean the board afterwards. It doesn't really matter, just a visual thing. I'll probably clean it during this restoration.

Apparently I once replaced one of the bus slot sockets too. I have only a faint memory of this. I think one of the pins was damaged.

Well, onwards.

With the Apple II fully apart I'd taken many photos of the 'extras', but we'll get to those after it's working again.
At the same time I was going through the main folder of schematics of system mods, starting to make sense of it again. Doing some scanning...
But mainly, getting a logic analyzer set up for this.

Logic Analyzer

The first step here, was to decide which one to use. I kind of collect Logic Analyzers, like other tech-heads collect oscilloscopes. (Not that I don't collect scopes too!) Some LAs are to use, others are more for historical interest. The best one I have is a Tek TLA 721 with a bunch of plugins. But that one is a 'project', I'm still not very familiar with it, it's big and heavy and mounted in a rack that isn't convenient to bring to the Apple II.

Next 'best' is a Tek TLA 614. Smaller, closer, but... quick searching online doesn't turn up a 6502 processor disassembly utility for the TLA series. There must be one... But then the contemporary Tektronix company are not generous people and I suspect it would still be payware, keyed, and other such hassles.

Perhaps something from Tek's years before they were Borged by Danaher? I have an old Tek 1240 logic analyzer, with manuals. It's small, portable, and (relatively) nice and simple, I'd like to get more practice using it, and a 6502 'inverse assembler' plugin ROM pack for it exists. "12RM63 6502/65C02 Microprocessor Support." But I don't have that ROM pack, have recently been searching for one (come on ebay, do your thing) but have had no luck so far. Images for the internal EPROMs are available, and probably can be programmed into some other ROM pack once I have it. But that's a side project, and let's not tangle that up with this one. So that mostly rules out the 1240.

Then there's my very old HP 1630G. Which I used for many years and like very much, though I got it not long before I stopped using the Apple II. It's slow by modern standards but for the Apple II it's more than capable. It was produced in the era of small 8 and 16 bit CPUs. Best of all, I have disks with a whole series of inverse assembler utilities for it. One of them is for the 6502 CPU. And it's easily moveable. So the HP 1630G it is.

There's another reason too. The floppy I have for this system has a lot of inverse assemblers for various processors. Maybe they are all online at some archive, but judging by this eevblog thread, maybe not. They should be. So getting them there becomes part of this project.

Of course it wasn't that simple. Putting the 1630 in the shelf there, easy. Reading the floppy at all, took a while.

The floppy disk unit with my 1639G is a HP 9121D. Apparently the first HPIB floppy disk unit HP made. Here's some history via http://hpmuseum.net:

HP 912x series — 3.5 inch Floppy Drives with HPIB interface

9121D/S 1982 Uses SS/DD discs (270KB), and the AMIGO command set.
Can use your PC's hard drive (with an HP-IB board installed) to emulate this drive with vintage HP computers. See http://www.hp9845.net/9845/.
Discontinued in November of 1987.
Operators Manual, at series80.org
9121/2 D/S Service guide, at Bitsavers. No schematics
9122D/S 1984 Uses DS/DD discs (710KB), and the SS/80 command set.
9123D/S 1985 Uses DS/DD discs (710KB), and the SS/80 command set.
Has no internal power supply. Connects with HP 150 Touchscreen II computer for power.
Discontinued in May of 1989.
9122C 1988 Uses HD discs (1.42MB), and the SS/80 command set.

The 1630G still powers up OK. Eager to see if the floppy drive is also OK, I tried loading a blank 3.5" floppy. (Never start with the precious data floppy!) Nope, it doesn't even physically load into the drive. Absolutely not going in, with either drive.

Ah, that's OK, I know this fault. The mechanism has some grease on moving parts and it solidifies and locks up the load mechanism. Opening up the drive...

What?

Heh. Back in May 1990 I left a surprise present to myself.

I'd taken out the original HP EPROM, read it using an EPP512 device programmer I had then. Saved the file with the 1630G EPROM backups, then programmed a fresh EPROM and plugged it in. Putting the original in a plastic film canister and securing it with one of the PCB mounting screws... not a bad idea.

This gives me an interesting test of EPROM longevity. I pulled out both, and compared them to the save file. They both verify as correct. Wow, the original EPROM was programmed in the early 1980s. Still good now in 2019.
Anyway I erased the EPROM I'd made, and programmed it fresh.
Maybe in 2050 someone will open this unit, and get the same surprise. Then try comparing them again.
In the meantime these drives are not going to unstick themselves.

Unsticking a HP 9121 floppy drive

The advice given at hpmuseum.net to unstick these drives... is nearly as bad as the grease originally used on these drives.
What's really required is to remove every last trace of that grease, and the grease from the head positioning screw thread, and replace both with a grease that won't go hard. While also giving the drive a general cleaning.

1. The drive, and a random floppy used to test the load action. This is actually a 2HD floppy, which won't work in the drive. But it does for a load dummy.
2. Here's the problem. Both silvery pieces of metal at top are supposed to slide and pivot easily. But they are glued solidly to the black metal frame by the hardened grease. And I mean 'glued' and 'solidly' literally.
3. First, remove the two tiny circlips. Careful! These are severe sproing risks. Tiny little springs that want nothing more than to fly away and never be found again. In this whole operation, preventing their escape is your number one priority. Unless you have a packet of these little beasts? No, I didn't think so. Neither do I.
So when you are levering these off with a sharp pointy thing stuck in the tiny gap and twisting, keep your fat fingertip firmly holding the little blighter down so it can't hardly move.
4. Now apply the same sort of levering passive aggression to these stepped washers. Caution! They may (like on mine) be glued so solidly that you have to lever strongly on both sides at once to budge them. Don't apply uneven force, you might bend the post. You don't want to do that. You definitely don't.
5. You can remove that small spring now, Don't use a 'hook', use needle nosed pliers, and keep a firm grip on it at all times. Remember, Mr Sproing is not at home today. Of course you are keeping these tiny bits in some container with walls too high for them to climb out of, right? No really, if you take your eyes off them, they will try to sneak away.

1. Take off the black top cover (one screw at the rear.) Add a drop of WD40 under that shiny metal rotating bit, and work it free enough to rotate out of the way of the bigger piece. The white plastic parts can be pivoted out of the way, and latched there. Also unhook the left hand (front) end of the larger spring. The other end is tightly looped to the sliding part, just leave it attached.
2. Now you can lever up the large sliding part. It may resist due to the 'glue.' This one was like peeling laminex off a table top. Don't bend it! There's a small spring behind the fascia Load button, that presses on the front tab of this metal bit. Leave it in place but keep an eye on it as you pull this out, to ensure it doesn't get displaced/lost.
3. Underneath you can see the powerful adhesive that was once grease of some kind. This delightful stuff is also rusting the steel somewhat. There there, hush, it's going to be alright.
Also remove that small roller bearing, so it can't wander off by itself. And check the Load Button spring is stable and won't fall out.
4. Now would be a good time to soak all those tiny parts in IPA. If you have some escape and solvent proof small container. I use a test tube with a screw top. Reason: These parts have coatings of the hardened gunk. It has to be removed. Easier if it's softened up first.
5. For removing that gunk from the main drive body, I used a cut-off strip of kitchen scourer, held in small clamp-forceps, and soaked in IPA. Scrub with that, wipe with clean cloth, repeat till it's all gone. Make sure to get all of it around the base of the posts too.
The silvery pivoting part can't be removed, as its attached with a permanent rivet. So you have to just work it back and forth, applying WD40 and IPA alternating, squeezing it down while turning, mopping around the edges with the IPA scourer, till it seems all the gunk has been worked out from underneath.

1. Clean. What was that stuff?
2. Next is the worm shaft that drives the head. It has grease that hardens too, though it doesn't seem as bad. Here the worst is already wiped off. But to really get it clean you have to be able to easily rotate that shaft.
By the way, it is OK to rotate the shaft 'past the ends' so the head detent pops over threads. This does not lose the head-track alignment.
3. What's needed is some small knob to fix to that tiny shaft protruding from the stepper motor rear. Well, it just so happens that these small knobs from old Tek 7000 series modules fit nicely. Convenient, if you have any lying around. Just don't ever apply much axial force on this shaft, as that might mess up the track alignment.
4. If you did want to mess up totally, just undo this screw. It's the lock for the track alignment. Which you won't get right again without a special tool, an alignment reference floppy, and some service software that probably no longer exists.
5. Rotating the shaft while pressing an IPA-soaked scourer pad into the threads, the threads should reach a nice clean state like this. Why: because caked dirt here can make the head offset differently at different track numbers. Highly undesirable.

1. A good time now to clean the head. (Only one on this single sided floppy antique.) I used IPA-soaked tissue in a forceps, but really metal shouldn't go near the head. Better to use a cotton bud with IPA.
2. Likewise clean all the dirt off the polished steel head guide rail. Don't scratch it. Soft wipes with a tissue should do it.
3. Next if you have compressed air, blow all the dust out of the nooks and crannies of the drive. You should do this after removing all the old grease, but before applying new grease. The aim is avoid blowing blobs of grease onto places they shouldn't be.
Finally, apply light amounts of a low viscosity, non-hardenning, non-corrosive grease to the head position screw and where it was under the floppy load sliding plates. Tiny amounts!
4. Oh, and clean off that sliding plate. Sometime earlier than now, unlike me who forgot to take a pic of cleaning it at the time.

1. Reassembly is a reversal of the disassembly. Easy except for the circlips, which are a pain. Want to waste all this effort so far? Then lose one of these. Getting them into place can be easier with a small slightly magnetized screwdriver. You might think 'tweezers', but better not. That's just asking to see the tiny thing suddenly vanish, as it slips out from the tweezer grip and converts all the tweezer spring tension into circlip orbital escape velocity.
2. Rest them lined up like this. Then use something with opposing, small square strong jaws to press them onto the shaft. At this point they think you've become over confident, and will take advantage if they can.
3. All back together. And I only had to hunt for escaped tiny circlips on my desk/floor twice. A magnet helps for finding them. But really, it's mostly luck. Are you feeling lucky?

HP 1630 Logic Analyzer Inverse Assemblers

Click for larger image. 800 x 1080 px, 200KB.

After reassembly, with their new grease both floppy drives load and eject properly and most importantly, read disks. Here's the result.

This is a photoshop collage of several screens of files listed from one floppy on the HP 1630. The ragged geometry is due to screen curvature and differing camera angles.

What always pissed me off greatly about this system, is that there is no disk copy utility. You can only copy one file at a time to a freshly formatted floppy. And you have to type in each filename! It's unbelievable. This is why I have exactly two copies of these files.

Anyway, now to get them off the 9121 ancient format floppies, and into a PC hard disk. Then spread them to the Internet winds.

Incidentally, I also have a HP 9123D drive unit. Its load mechanisms are stuck too, so I fixed them now.

1. This model has no internal power supply. Just a cord with a DIN connector for +5 and +12V power in.
2. On these drives (Sony OA-D32W-11) the side sliding parts are secured with rivets, so can't be removed for cleaning. There are three moving parts, all jammed. (This photo taken with new white lithium grease added. The original grease was almost clear so barely visible.)
3. With the mechanism sticky, there's a risk of damaging the upper head by it catching on the lip of a floppy. So don't use a floppy to exercise the mechanism, just alternately push the front button, and pull backwards on the rear part (2nd arrow.)
Fortunately the sticky grease doesn't seem as bad on these. Or maybe just not quite so old? Anyway it dissolves out with IPA and WD40. After adding some white lithium grease the drives load smoothly.

4. Just a teaser. From my box of accessories for the 1630G logic analyzer, here's a 6502 CPU with headers soldered onto all the pins. For attaching LA probe wires.

Those Dead 9316 ROMS

But before starting with the logic analyzer, I have to solve the 'dead system ROMs' problem. I can't simply program replacement EPROMs and plug them in, because there is a pinout difference between the GI 9316 mask ROMs Apple used, and 2716/2516 EPROMs.

Here's the Apple II Red Book schematic page for the ROMs bank.

The 9316 has three select lines, that could be customer specified individually as active high or low.

Apple made two active low (CS1, CS3), and one active high (CS2.) That one is driven by the INH/ line, pin 32 on the Apple peripheral bus. Any plugin card can pull this low to disable the ROMs on the motherboard.

The problem is that EPROMs only have active-low enables. The INH/ line has to be inverted, as one step in making the motherboard accept EPROMs.

The penciled note was mine, back in 1980s sometime, thinking about doing a mod to permit using 2516 EPROMs. I didn't proceed with that because although there were originally a few gates left spare on the motherboard, by that time on mine they were all used up. I'd have had to dead-bug mount a 74LS04 hex inverter near the ROMs, on the component side. It would have looked nasty.

Also for timing the inversion needs to be fast. (I haven't bothered to work out exactly how many ns max. Or why on my Promramer card it's driven dynamically, rather than just static: assert INH/ while the card's EPROM bank is enabled. Maybe that's a nubie mistake I made? The bank switching code sits in DRAM...)

Anyway, this mod is a lot easier and smaller now than it would have been in the 1980s. Introducing the SN74AHCT1G04 Single Inverter Gate. A device whose name is bigger than the actual thing. A tiny 5 pin, surface mount SOT-23 package containing a single fast CMOS inverter. With TTL input levels. Perfect.

The element14.com web site says they have stock, $0.39 each. I ordered 20. They posted them in a couple of hours.

Meanwhile, let's get other things ready. What PCB tracks to patch, and where are my bulk boxes of old EPROMs? (The second question is much harder than the first.)

Another nice thing we have these days, is the combination of digital cameras and photoshop. This makes planning PCB mods a lot more fun. Whether reverse engineering, repairing or modifying. I wish I'd had this back in the early 1980s.

This is just a lo-res view; several layers visible. The actual photoshop working image is 3500 x 2100 pixels, with multiple layers. At 62MB it's definitely not going online here.

Want to highlight all the IC pins associated with a part of the schematic? Make a new layer and put dots on those pins. Want to see which ICs are involved with the mod wires on the back? Overlay the views, and mix with transparency.

Marked in purple there, is the INH/ routing. Good, the pullup resistor is near the peripheral bus, not at the ROM bank. The purple circle is where the inverter will go.

One side benefit of such visual annotation flexibility is it very quickly shows up a few errors in the old Apple Red Book schematic. Interesting...

Inverter Mod

The single gate inverters arrived next day. Intended for automated assembly on fine resolution PCBs, they are tiny. The prospect of improvising flying wire connections to this manually is a bit daunting. But not impossible.

They are too small to do an old fashioned 'dead bug' style mounting. Glueing it to the PCB upside down would work, but wires soldered to the pins would be too delicate. For strength, I'll do a very simple 'PCB tab', cutting isolations into a bit of scrap circuit board.

1. Something thin... Rummaging in my junkpile found this old card from a big colour LCD screen. There's an area with a copper plane on one side, and no through holes.
2. Cutting and scraping, with the future 'tag board' still attached to the rest of it, as a handle.
3. Then cut free, using tin snips (not the blade shown here.) All copper traces are peeled off the rear face. There is also an inner copper plane. This should be grounded so I've exposed it at the lower left corner of the tag.
4. The inverter and a decoupling cap soldered on.
5. Mounted. Actually the output may need to go to a different ROM bank pin than the original INH/ line, depending on which type of EPROM I end up using. It's just wired there now for testing, since I had better check the function, output slew rate and ringing with a scope first before finishing up the conversion to EPROMs.

At this point I hadn't chosen an EPROM type, since I still hadn't dug out my EPROMs stock, to see what I actually have and what condition they are in. Do they have pin rot too?

My EPROMs collection never had much effort put into tidying. Just a bunch of random boxes, buried in a vaguely defined area of the upstairs storage loft. With some 'stuff shuffling', I was able to find them. Mostly. I think there was a box of IC tubes of EPROMs too, so far 404.

1, 2. One box was a mix of EPROMs and other ICs. From stripping socketted ICs from a stack of identical boards over a decade ago; never got around to sorting them. OK, start with that.
3. There's also a bunch of them still stored on the 'al-foil on sheets of styrofoam' method I used for all my IC collection long ago. Before coming up with a much better method. These styro sheets are dust magnets and have to go.
4. Those and a few others getting sorted by type, and a few labels removed. Still need solvent cleaning.

But really this is not making any significant progress. If I wanted to properly deal with my EPROMs storage issue, it would take days. Because...

At various times I worked as a tech and design engineer in the arcade games and poker machines industries.

When the IC manufacturers invented EPROMs, their concept was that people would use EPROMs only in development environments, and so would use a few EPROMs over and over, erasing the contents (with intense UV light, hence the cute quartz window on top) and reprogramming them as code evolved. EPROMs were quite expensive compared to say, mass produced mask-programmed ROMs, that would normally be used for production runs.

However, for industries like arcade and gaming in that era, the common scenario was that entire lines of machines in the field would be upgraded fairly often to new games, by swapping out banks of EPROMs. This results in really impressive piles of used EPROMs, that need to have their sticky labels cleaned off (requiring staff to use solvents like turps, IPA, acetone, etc plus the cost of the solvents), and the EPROMs then stuck in UV bulk erasers for at least half an hour per cycle, then reprogrammed in a device programmer. Set the EPROM in the ZIF (zero insertion force) socket, start the program cycle, wait a while, check the result verifies OK, remove it from the socket, attach new label, repeat.

It turns out this simply isn't economical in manpower and time, when dealing with hundreds of them. So amusement industry companies would just throw out the used EPROMs and buy new ones.
Sometimes I'd bother to intercept some of the discards on their way to the bin. Those boxes and tins of used EPROMs are the result.

That's why I measure my EPROMs stock in cubic feet, and why they are mostly a random mix. Even I find it tedious to de-label and erase them. Other than in very small numbers when I need to use some.

A worthwhile use of storage space, now that EPROMs don't seem to be made any more. One problem I will never have, is being unable to find an EPROM to repair vintage electronics.

← The point of today's exercise was to find that rusty old tin marked "2516 / 2716". They are best suited for my Apple II motherboard ROM sockets. (Require the least amount of board hacking.)

Now to identify which sort suit best (considering the required mods), then find a pretty-looking set of identical EPROMs of that type that don't have pin-rot, clean, erase and program them.

Incidentally, I found that storing EPROMs in sealed containers seems to reduce the pin-rot plague. Maybe it's related to air humidity levels? Perhaps also operating temperature and dust on the legs (leeching corrosive ions into the metal?) Or skin oils, from handling? It would be interesting to set up an experiment with several IC groups from an original batch. Store one of them in oil, another in sealed, dessicated container, and another exposed to room air and settling dust. For 30+ years, then see which ones had developed pin rot.

As opposed to Pin Chaos

With early EPROMs there was something of a tumult of incompatible pin arrangements. As EPROMs grew larger later the manufacturers sorted themselves out, stopped trying to lock customers into using their devices, and agreed on standard pinouts. The Intel vs Texas Instruments 2716 — 2516 came before that, and are a trap for the unwary.

The Texas Instruments (TMS) 2716 is not compatible with the Intel 2716. But the TMS 2516 is, at least for reading.

The good news: after only minor changes, the Apple II motherboard will accept both TMS 2516 and Intel 2716 EPROMs.

I think I'll make it jumperable to still allow using an original set of 9316 ROMs. Just in case.

Far right above is the Fujitsu MB8516 EPROM I picked to use in the motherboard sockets. Just because it's pretty. It's equivalent to a 2516.

Meanwhile...

If you wondered why this is going slowly, it's because naturally, there's been the usual parade of distractions. Excuses, excuses... If you want to skip this irrelevant stuff, jump to Continuing the Apple II board.

The best things first. Kittens! They were born on 20190114, and now are just starting to walk. It's summer and pretty hot, so mum likes to take breaks conked out on the relatively cool concrete.

Street toss find! An Apple eMac model A1002, from 2002. It's missing the cover on the front CDROM tray, and keyboard/mouse unfortunately. Otherwise in fairly good condition. Both DRAM slots filled and it has the WiFi module. The RAM backup battery is a Lithium 1/2AA; flat but not leaked. I bought a new one after finding the machine runs. It boots, but there's some major scrambling of screen user options. Whether from a child messing with it, or data corruption remains to be seen. Most cruelly, the system menu is in Comic Sans font.

The internal mechanics of this machine are a monument to the philosophy of style above function, with absurd complexity accepted in achieving nutty stylistic goals. How did a bunch of lunatics take over in the Apple design department like that? The result is stupefyingly stupid. Not to mention that due to the flat-face CRT and necessarily hugely thick glass front, it's absurdly heavy. The case design is strikingly ugly and looks like the nose cone of some kind of stumpy missile.

Which all makes this machine quite appealing as an exhibit in the evolution history of personal computers and the decline of Apple. Hope I can get it running properly. For the moment I'm putting it aside.

Added a month later, 20190220

Ah. One never knows when sadness will rise up and strike.
I wanted to move the eMac up to the loft, to get it out of my workshop critical space. Put the case back together and ran it, this time with a keyboard and mouse. First question: why are the screen options so messed up?

Mysterious... it's unrelated to the dead battery. All config is held on hard disk. One by one I fixed the weird randomizations. A little bit of groping around due to my unfamiliarity with Mac OS UI, but nothing took long to figure out. Bizarre things too; like the screen pixel and colour resolutions being set to a really low value, far less than the machine supported. The fonts - easily fixed. Once I had the screen sensible, I started looking for traces of the previous owner's usage.

Oh no. It wasn't a child's doing. It was severe intellectual disability. A guy who'd been delt a very poor hand in life. Apart from the many indicators like the 30 'unamed folders' with various combinations of nested empty and unamed folders, I found a recording named "My Great Movie." No video, just audio. Of him trying to make a movie. Apparently with no video camera, just his voice, as he tried to figure out how to use the recording app. That was all, but he brought his audience of one to tears.

Now perhaps I know how the CD tray cover flap came to be missing. There was a CD still in the drive. Music, nothing noteworthy except for that telltale texture of scuffs and fingerprints that indicates the CD rarely saw the inside of a protective cover. And that it was still in the drive. There's only one way to eject. A small insignificant looking button onscreen in the play utility. It took me a while to find it.
The missing cover unclips. Was he trying to get his CD out?

I give thanks for everything I have. Things like this show how much worse life could have been.

When I was considering whether to use my Tektronix 1240 logic analyzer on the Apple II, it reminded me that when I bought it some years ago, I had intended to option it up and find some other accessories for it. But that one slipped through the cracks. Reading a couple of threads on eevblog (See Tek 1240 info file) rekindled my interest, so I started looking around. I had a 'want list' of 1240 accessories, with a GPIB comm pack top of the list.

1 - 4. Found this unit on ebay (seller's pics.) It has both a ROM pack (unknown type) and a GPIB I/O plugin. Also it has four of the D2 acquisition cards, which I wanted more of. I got it for US$70 plus shipping. Not bad, but not as great as the US$38 I won my first Tek 1240 for. But then, the ROM and Coms packs seem to be relatively rare. It got sent on its way to Oz, and I wouldn't find out what kind of ROM pack I had till it got here. Some AMD CPU inverse assembler maybe? Could be a nice surprise.

Other ebay buys in quick succession:
1. Listed as "TEKTRONIX P6460 DATA ACQUISITION PROBE" for $40. I got it for $25. But there are actually three probes in the very dark picture. Two are firmly clipped together. I think the seller just couldn't be bothered to untangle this mess. A win for me.
2. An 8K RAM pack. Allows the 1240 to save more data.
3. An RS232C serial comms pack.
4. Probe ground clips. I couldn't believe it; with all the probes that came with my first 1240 machine, there were plenty of the flying wire sets and clip-on IC pin grabbers. But not one single lousy ground lead set. Did the previous owner not realise that grounding the pods to the circuit under test is essential? Anyway, I need some. The special thing about these is that double pin connector for the pod. Which would be quite hard to improvise. So I bought a 10-pack of new ones.
5. I have a box of the P6460 probes, but no manual. There are online PDFs, all of the usual terrible quality. Here's a nice paper one in mint condition.
6. If you're a collector of old Tek and HP gear, something else you have to have is a range of the old product catalogs. They are full of invaluable information. And a real nostalgia trip too. Anyway, I didn't have any from the 1970s. Now I have this.
7. A list of which HP and Tek catalogs I have and don't have. Just in case someone is looking at their shelves and thinking "Gee, I need to free up some space, I think I'll throw out all these old catalogs." If so please contact me. See email on the site front page. I have a strong distaste for electronic documents pretending to serve as historical records, and think it's important to preserve original paper copies.

After much struggling with inscrutible part numberings, I'd ordered a set of bits that should make a complete connector for the back of that punch card reader restoration project.

They arrived on 20190110, they fit together, and they fit the reader connector. Phew.     Cost: Au$117.

Now if only I could find a manual with schematics.
It's a Documation Inc. Model TM 200, SN 7704196.
Anyone?

Frequency Domain Dreams
The trouble with ebay, is it tends to remind you of things you don't have. Particularly things you may have wished for your whole adult life, but never could afford.
Here's an example, that lead to some complications.

I've never owned or even used a good spectrum analyzer. My fields of work were mainly embedded micros and software, and I have virtually zero experience with RF systems. This doesn't mean I didn't want to learn RF techniques, I just didn't have the necessary time, money and learning guidance. Don't personally know anyone with RF experience to act as mentor in this field of technological magic. I did pick up a couple of very old HP 141T spectrum analyzer sets for free, then bought some extra plugin modules and the manuals for them. But these are very old, and would need a lot of work to get running well. I never did it; partly from lack of time and workshop space, but mostly lack of confidence.

As for buying a more modern, working spectrum analyzer, well they are always very expensive (for me, with the poor Australian dollar exchange rate and high international shipping costs on top.) But I did keep notes on what was available, different models of second hand types on the market, and so on.

Then while hunting bits for my Tek 1240, I came across this (pics above, ebay 263612094651.) It's one of the better types you can find on ebay, in the under $1500 range. This one was listed for US$650, but it has some major impact damage at the rear from being dropped heavily. They pretend it's price-dropped from $999.99, which should tell you all you need to know about their pricing reality. For an instrument that has been actually dropped very significantly.
The visible metalwork damage is the kind I can repair, and get to look perfect. But what internal damage is there? Given the uncertainties, I thought there was a chance the seller might go much lower. I offered US$350. Which I still thought was high, given the risk of real damage inside, and the cost of getting it here.
Nope. They wouldn't go below US$600. So this was not for me. But it was a bit depressing. For a moment there, I'd been imagining getting a really good spectrum analyzer, at a price I could afford. Well, barely, as I'm low on cash as usual.

Nearly a week went past, with minor chores chewing time and that 'I'm never going to have a spectrum analyzer' downer at the back of my mind. Which just shows I must be getting Alzheimer's of something. Because... one evening a sudden 'Doh!' realization.

A bit of background. A few years ago my son moved overseas. He's doing very well, as you can see from his youtube channel. Before he left, one of his hobbies was buying high-end camera gear, trying it out, then reselling it. Somehow, virtually always at a profit. The last time he was here, he'd left some 'recent toys' camera gear. Then later emailed my daughter that she should sell them and keep the money (which she needed, being unemployed at that time.) But she got a job, and never did sell the camera stuff. In Oct 2018 my son suggested I should do it, same deal. I too kept putting it off. Not on my list of urgent tasks.

And so here I've been low for a week, reminded I can't afford a spectrum analyzer, while also forgetting that I'm supposed to sell nearly Au$2000 worth of camera gear and keep the money. Sigh... this is what getting old is like.

Alright... Wed night, 16th Jan I took photos of the gear and created adverts on Gumtree for the camera and lenses. I used my trusty old Canon 40D, that gets a lot of rough treatment on Urbex and bushwalking trips. At one point I wondered if those flash units would work with it, and tried plugging one into my camera's hot shoe. Nothing, but then there's no manual for the flash and I may be doing something wrong. I made a note to find a manual, as they are not worth much and if they work and can be slaved for use in large underground spaces I'd be better to keep them.

Thursday brought lots of inquiries. One lens sold almost immediately, the other needed to be packed for post, to a guy in Wollongong. I didn't use my camera that day.

On Friday 18th I was taking photos of all those EPROMs in boxes, when I discovered the built-in flash of my 40D no longer worked.

Arrgh! I use my camera very often, as a kind of photo-diary. Hence this not-a-blog. According to the camera menus, now it thinks there is an external flash permanently attached. Did that unknown flash unit somehow break the camera electronics? Oh no...
Some googling later, it's not so bad. There's just a tiny switch plunger in the hotshoe that gets pushed down when a flash is attached. It commonly gets stuck down by dirt in the slide. Just "disassemble the hotshoe and work it free."

I disassembled it. OK, I see the tiny little white plastic finger, but there's very little projecting. I tried to grip it with fine tweezers, but failed and ended up pushing it down flush with the camera body. Umm.... Maybe a teeny drop of WD40, and tapping it? It's supposed to have a spring underneath pushing it up.

Nope. It just went in further and further. Never upwards. That's one very weak spring. And then... suddenly it dropped out of the guide entirely, disappearing into the camera body. Oh great.

More googling. Ha ha... that's exactly what happens to many people trying to deal with this thing getting stuck. Sigh. There's not one online record of someone taking the camera apart to retrieve the tiny plunger. It apparently does not tend to get jammed in something critical. Other people just make a new plunger, from... a hairbrush. That has plastic spines of just the right thickness (1mm.) Except I don't have such a brush, I only use a comb.

I found a youtube video of disassembly of the camera to replace a shutter button. It seems virtually the entire case has to come off to remove the upper parts at the hotshoe. Great. And the video mentions they still tore one of the tiny flex cables.

Such an exciting prospect, not. Hmm... these 40D models are quite old now. I wonder how much they can be bought for? If I'm going to attempt to retrieve that lost-inside bit, it would be good to have a backup. Since I was on Gumtree replying to inquiries about the Sony camera, I searched there first. On Friday afternoon.

Bingo. There's a very clean looking 40D camera body, plus a nice camera bag, the cable accessories, and a Tamron lens (faulty) for sale in Dapto for Au$85. Cool. The ad says 'price firm', and I don't even want to haggle. I arrange to go down the next day and pick it up. Get the address, look on google maps, and... what the heck?

The guy buying the Samyang 14mm 2.8 super-wide angle lens, was self-selected by liking my Gumtree advert. I have the box already packed with his address on it. Now he knows the postage cost he will do a bank transfer this weekend and I'll post the lens on Monday.

The guy with the 40D camera body, was selected by being the lowest priced on Gumtree. I specified a radius larger than Sydney, expecting I'd probably have to get one by post.

In this map, my place is the cyan dot. The red dots are the others — one selling a camera to me, the other buying a lens from me. They live about 1Km apart (in adjacent suburbs) but they have no knowlege of each other.

Huh. That's some strange coincidence. It's wonderful when serendipitous stuff like that happens. It's like getting a statement from the Karma bank, and seeing you're at least not overdrawn. Might even have a decent balance.

Quick communications, and it's arranged that I'll deliver the lens in person, as well as picking up the camera. But also, take the opportunity to go visit an interesting 'landscape feature' quite close to there (green dot, approximately.) I've been there before, can't say what it is, but I want to see if there's been any change in status.

Mr 'buying a lens' on the phone had liked the sound of the bit of adventure I'd be doing afterwards, and enthusiastically agreed to come along. He didn't have the necessary kit so I packed him a backpack and brought it down with me. Interesting guy, but when it came to actually heading off, suddenly spending the afternoon on his couch at home with a few drinks appealed to him more. Ah well, not an adventurous soul after all. There are so few.

The day was great. Nice drive down, both transactions went well, and the Urbex-related outing was excellent. So sorry I can't post photos. In the afternoon afterwards there was a light misty rain that made the landscape mystical, then on the drive back home there was heavy fog up on the highlands in the last of daylight. I wasn't in a hurry, so could drive slowly and enjoy that atmosphere too. The one goof of the day, was that I'd forgotten to bring my camera tripod, so didn't get to do the lightpainted dark-spaces photography I'd intended. Or time exposure foggy highway shots either, dammit.

My battered old camera at right, the new backup at left. The seller said he'd bought it a year ago from a deceased estate. True. The card had a years' worth of the previous owner's photos. Old lady, liked flowers and her grandkids. Then a year gap, then three photo fails by the Gumtree seller just before he listed it. All a bit sad; I deleted everything.

But the camera is perfect! So clean! Like never used. Of course I tried it with my lens, and it works.

The dead telephoto lens (for free) was good value too. It's a Tamron 18-270mm f/3.5-6.3 Di II VC PZD Lens. Very broken, obviously from being dropped. By either the old lady or Gumtree seller? Hmm... actually, retrospectively recalling his comments, I think the latter. He'd said he didn't use the camera because "it was too complicated." Not because the lens was broken and unusable. And he did have 3 photos on the card, from just before he listed it. Anyway the damage looks like it's repairable without cost.
1. Fractured glass-reinforced plastic, no missing pieces. This glues well with cyanoacrylate. The only issue is how to clamp the pieces in place for a few minutes as the glue sets.
2. Not so fun, an end-stop snapped off an internal cast metal piece. There's no glue solution for this. But experimenting, it looks like this is not actually so important. It's just to give a nice crisp 'end of travel' feel to the manual zoom. Should work OK without it. We'll see. Anyway I think I can see a possible fix, if it is necessary
3. The field of disassembly. Tiny ziplock bags, and paper labels numbered in order of progress, are your friend.
4. Starting with the glue. First to get those two little bits stuck together. Trying to juggle multiple fragments at once, with superglue tends not to work. Just two at a time.
5, 6. Small clamps and a toothpick for a wedge.

But to glue that into place in the shroud, my small engineer's clamps are too big. I'll have to make a little custom clamp. No problem, except that it goes on the queue.

Frequency Domain, Take 2
Meanwhile, with the two lenses sold, and the camera certain to sell too, I counted my pennies and figured I could look for another spectrum analyser. A non-broken one even, if it was at the low end of the price spread.
I found this. Another HP 8594e, listed for US $850.00.

From a seller I've bought from before, who uses foam-in-place packing (very important) and it comes with original paper copies of the user, programming and calibration manuals. That's a huge plus. I deeply loathe grubbing around in many-megabyte PDF electronic manuals, with crappy on-screen user interfaces. It's a last, desperate resort. Paper is by far preferable. And these paper manuals could be hard and expensive to find. They look new! One is even still in the original shrink wrap!

After a short offer-counteroffer exchange, they accepted US$600. Woohoo! Less than the other seller wanted for a severely damaged unit, with no manuals. I paid on the 21st, they shipped. From Burnsville, Minnesota, to my reshipper in Los Angeles California. So for the next few days I was watching tracking screens. What with the exchange rate and cost of shipping, that sank a round Au$1000. Sigh. Dreams are expensive.

They also sometimes don't work out as you'd wish. Here's how that one went.

Saturday the 26th of Jan was Australia Day. A very hot day, so we (some friends) took to the bunkers for a barbecue. Old pre-WWII coastal defence gun turrets and bunkers in the public park on Sydney Harbour's Middle Head. A pleasant day out.

After that episode of separating out EPROMs from a box of mixed ICs, my mech-workshop bench was left covered with piles of mixed logic ICs. Time to sort that out.
1. Starting with the 40-pin DIPs.
2. A pile of 6116 2Kbyte static CMOS RAMs to bundle up in al-foil blocks for compact storage. It's funny; it would take just 24 of these to replace all the 48K of DRAM in my Apple II. But the hack would be hideous. Otoh, using much larger static RAMs is an idea worth considering, if those rusty DRAMs turn out to be problematical. It would still be messy, but feasible.
3. Al-foil blocks like this. That's all the big ICs done. Yes, I do have a 'stock list', of sorts.
4. The smaller ICs mostly sorted. Ha ha, these ICs are all from a place I worked at in the mid 2000s. A poker machine co, and there were other designers there who did not understand that 74LS-series logic, and HC-series are not a good mix. They sort of work together, but very unreliably. The 74LSxx TTL output H level is marginal for the HC-series input H-L transition point. Those guys' tendency to freely substitute 74LS and HC shows up in the mix here. I don't mind, both kinds are OK so long as they're used properly. 'HCT' CMOS logic is the kind intended to work with 74LS logic levels.
5. All merged with my stock storage.

1. On the 29th, my 'new' Tek 1240 Logic Analyzer arrived. A quick clean to remove sticker gum and some grime, and it looks great. Also, a couple of self-test fails had disappeared in shipping. Nice.
2. The 'front panel Fail' message is due to entering self-test by holding down a key during powerup. It's fine.
3. That mystery ROM pack that had 'AMD' written on tape in felt pen, turns out to be a 12RC01 Printer Support pack. Good! So long as I have even one ROM pack. They are all the same, just different EPROM contents. And the binaries for all of the Inverse Assembler ROM packs are online at http://w140.com/tekwiki/wiki/ROM_images#1240.
4. Next day, 30th, the parcel with all the consolidated small orders arrived. As I'd thought from the photos of the three tangled probes, they had one ground clip each. It only took a moment to untangle and smooth out the wires. Very happy with this order set.
5. All the packs I have for the Tek 1240 LA now.

1. On the Australia Day outing I'd needed to drop into a supermarket on the way to the friend's place. Bought a hair brush that looks like the bristles are about the right thickness. What a waste, I just need one pin...
They turn out to be 1.0 mm in diameter. Works.
2. The hole where there should be a small white pin sticking up. Now loose inside the camera. Great design.
3. Bits. It seems the hotshoe metal anchor structure is chrome plated hard steel, not stainless. So of course it's rusting. There's a pin plucked from the brush.
4. Experimenting. The relevant menu is: Spanner-two-dots → Flash Control → Built-in flash func. setting.
If that pin is pressing down and opening the internal switch, the EOS 40D camera thinks there is a flash unit mounted in the hotshoe, and won't allow access to this menu. Nor will it try to use the internal flash. It only takes a very light pressure to open the switch, and only a fraction of a mm of travel. So what is the correct length for this pin?
5. Turns out it works with a pin 6.4mm long. Looks like this.
6. With the hotshoe assembled, the top of the pin is just visible (with a bright light.)

That brush... the blunt-ended bristles feel unpleasant to me. So I'll never use it. Don't want useless crap lying around (ironically.) So the bristles get removed, ziplocked and filed away in a 'small plastic parts' box, and the brush body binned.

Meanwhile, the Sony a7ii camera body (with bag, etc) still hadn't sold. Stupid me for neglecting this for months. Because what just happened recently? Sony brought out a new model in that family. So the photography types who like to be at the bleeding edge, all suddenly put their a7ii cameras up for sale. There are now dozens of them on Gumtree, with a wide spread of prices, well straddling my listed price. Which was $1100, as recommended by my son about a year ago. It would have sold in minutes for that back then. Now, not so much. But I have shipping to meet, and miles to go before I sleep... I dropped it to $1050. Not enough. Then $950. That hit the spot, and inquiries started up again. It sold quickly, on the 29th. The Spec. An. had been at the reshipper briefly, and they'd just done the unpacked photos. All looks good. I immediately deposited enough cash in the bank, and paid for mailout. Then shortly after it actually went, noticed that the photos only show two manuals not the three supposed to be there. Contacted the seller to mention this. And say I won't know for sure till it gets here. They are understanding and helpful, as always. Now I just wait.

Continuing the Apple II board

So where and how to mount a 2 by 3 pin header for the ROM type selection jumpers?

The best way is to drill holes through the PCB for the pins. Wires soldered to the pins on the rear of the PCB secure it. I just need a small board area with no tracks on either side, and as close as possible to that glued-on inverter and the ROM sockets.

Back illuminating the PCB reveals there's only one suitable clear area. Circled in red at left.

Except it's just a little bit too small. Easily fixed.

But first there are some other tracks to cut.

1. On every ROM socket, pins 20 and 21 are linked. These links have to be cut. Fortunately the links are on the solder side, but they are thick and most are very near other tracks. I'd rather use an engraver to cut them neatly, with much less risk of slipping with a scalpel blade and cutting an adjacent track.
2. A suitable engraving bit.
3. But there's a problem. This engraver is 'double insulated', which means the internals are not connected to mains earth. Since the tracks to be cut come from IC F12, a 74LS138 decoder, I wondered what kind of AC-coupled voltage there would be on the engraving tip. There's going to be a fair bit of capacitance between the motor spindle, and the windings of the rotor. Which are at 240VAC, being chopped by the motor brushes.
Sure enough, a voltalert lights up near the cutting bit when the motor is running, and a multimeter says it's at least 40 VAC to ground. There are probably much higher voltage spikes than that. High impedance, no risk to humans, but quite likely enough energy there to damage a 74LS logic gate. Hmmm... I can't use this ungrounded engraver to cut these tracks.

4. OK, I also have an old, very traditional engraver. It has a metal body, which is connected to the earth pin on the mains plug. Good.
5. But no... the handpiece (and cutting tip) is completely isolated from the motor.
6. Apparently that black coupling under the motor, insulates both the handpiece cable and the inner drive cable.

So no mains-voltage spikes coupling on this one, but I'd still prefer to improvise grounding on one or the other engraving tool. In general for anti-static protection in electronics work an engraver should be grounded. The small hand-held Chinese made Dremel-type one is more convenient to use, so can I mod that one?

7. Opening it up to have a look. What's needed is to reliably ground the spindle shaft.

1. Grounding the outer, stationary ring of a ball bearing would be easy, but won't work. Measuring the resistance through the bearing, the contact is extremely intermittent. Presumably the bearing metal surfaces usually have some grease between them.
The best way would be a small steel ball pressed against the centering indent on the end of the shaft, by a spring. It's almost doable too. There's even a slot in the bearing mounting plastic, and space for an earth wire. But I can't see a way to hold the bits in position while closing the two parts of the motor casing. Too much hassle, I give up on that one.

2, 3. Sigh. Using some alligator leads to earth the handpiece of the large engraver, I did a multimeter check, and... still open circuit. Eh? Oh right, I know. These are some old, 2nd hand clip leads I picked up a couple of years ago, and I didn't yet fix the cheap-arsed 'connections' in the clips. Typically the manufacturer of these just folds over a bit of bare wire, and relies on the pressure of the securing crimp to press the bare wire against the chromed surface of the clip. Nice idea, doesn't work. These cheap clip leads have to be all disassembled and properly soldered. Tedious.

4. Set up, PCB and engraver both grounded.
5. A nice neat track cut. One of six.
6. Later, soldering all the flakey clip leads.

1. Setup to drill the pin holes for the jumper header. They have to be done with a drill template, or they won't be in an accurate enough 0.1" grid. A bit of perf-board does for a drill template, but is too big to fit in there flat on the PCB, and I don't want to cut it up just for this. So using a small scrap of fiberglass PCB as a transfer template.
2. That fat ground trace has to go. First suck out the through-hole solder.
3. Cut the ends, peel off the copper.
4. Substitute some wire.
5. And drill. Little bits of soldered wire to hold it in place during drilling, and also short that top copper layer to the PCB ground. Because I'm using the ungrounded engraver. Have to since it's the only one with a collet for fine drills, and OK since the drill isn't coming in contact with any logic traces. Keeping myself anti-static grounded while doing all of these steps.

1. Drilled.
2. Resulting holes. Actually they would have just fitted in between the tracks, but with very little clearance.
3. The header in place.
4. End result. Here's the rear of the PCB, with this mod complete:

I'd intended to use either Intel 2716 or TMS 2516 EPROMs on the board. Of which I have large numbers.

But then found I had a few of these in my EPROM mine. They are Fujitsu MB8516, and you can't tell me they are not pretty looking. White ceramic, gold pins, silvery cap with the quartz window. Date codes are all 1980/81. They don't seem to have any pin rot.

Downside: I don't have a Fujitsu EPROMs databook, cannot find their detailed data online (just a couple of pages), and my current device programmer doesn't have a profile for them. But I found that selecting TMS2516 works for programming, so I can use them.

Also, decades ago when I did the mod to add lower case characters to the Apple II, I'd used one of these same EPROMs. They'll match.

1, 2, 3. Removing labels, cleaning, and UV-erasing them.

4, 5. Before I program a set, there's one more thing to do. I have long-archived files that are supposed to be the contents of the Apple II motherboard ROMs. But I'll be happier if I verify that they actually are. So to read the ROMs from my board in my device programmer, I made this adapter. It makes the 9316 look like an Intel 2716 for reading.

Now to see how those fractured 9316 ROM pins go in a ZIF socket. Or rather how many of them I'll have to solder splints on.

Btw, 'ZIF' stands for Zero Insertion Force' and it's what these blocky green sockets with the lever (made by TEXTOOL) are called. 'ZIF sockets.' But I see on googling that a lot of people are referring to them as 'ZIP sockets.' I guess they are all hard of hearing, or confused about the difference between ZIF sockets and ZIP files.

1. One of the kittens. They are 3.5 weeks old now, all adorable. Even when conked out from playing, like this one. Quite distracting...
2. Reading the old GI 9316 Apple II ROMs. The TopMax chip programmer software complains about pins 18 and 21 open circuit (they are NC on my adaptor) but can be told to ignore that. It reads the ROM contents OK. The checksums of the resulting files match those of the old saved files, so that's good. I discovered that I had never saved a backup of the motherboard F8 ROM. A careless oversight decades ago, but never mind. Compared to what I did next, sigh.

3. After programming a new set of EPROMs for the motherboard, I took this photo before installing the board and powering it up. Feeling hopeful, since with all the IC leads cleaned it may well work.

Shortly after taking it, I wanted to delete that photo. It's an extremely discouraging image. Can you see why?
Have you read the short story Flowers for Algernon, by Daniel Keyes?
Anyway, in that image all six of the white EPROMs and the 40 pin 6502 CPU, are installed backwards. The EPROMs I'd plugged in moments ago. While the CPU was removed, cleaned and resocketted over a week ago. I could claim 'distracted by kittens' today. But that's not it. It's not really even explicable as merely a senior moment.
So, getting on...

4. Making a longer keyboard cable. The DIP header is plugged into an old IC socket while soldering, to ensure the pins don't shift in the plastic body with the heat. I much prefer soldered connections over IDC (insulation displacement connectors.) Quick chore, no stuffups here.

5. Surprisingly, powering up the board with EPROMs and CPU reversed did no damage. The power supply overload faulted, which immediately made me check the EPROMs and notice right away they are back to front. Whyyyy?? I can only guess that for some reason I oriented them to match the writing on the EPROMs (and my stickers) to the legends on the PCB. Ignoring the 'pin 1' dots. Scarey.

Checking them all in the chip programmer, they are OK. Surprisingly. Returned to the board (right way round), it still doesn't run. No sign of CPU activity after Reset. A few quick checks, power rails etc, then spent a while reminding myself how to load the logic analyzer's 6502 inverse assembler. Then put in the 6502 CPU with test posts soldered to all the pins. First step before clipping all the Analyzer's leads to the CPU.

But first, a quick scope check of the CPU's Reset input on pin 40. Since I'd trigger the analyzer's capture on the Reset rising edge, to watch the CPU trying to fetch its start vector. Annnnd.... Reset is not there. It's a floating invalid logic level. Huh? Check the Reset line from the keyboard, to other places on the board. All good. Whut?

Finally, after way too long I notice that the 'pin 1' silkscreen dot I thought was for the CPU, is actually for adjacent IC H5. The real CPU pin 1 dot was hidden from the angle I was viewing the PCB. I have the CPU in backwards too. Urrgh!
Mark that one down as another Algernon moment. Two in one day.

Very surprisingly, the CPU too survived this mistreatment. Not that it really mattered since I have piles of 6502 chips, but I'm grateful this goof didn't blow anything else on the board.

Consolation prize: after putting it in the right way round, the Apple runs perfectly when powered up. It keeps running solidly regardless of tapping and flexing. Also the keyboard is behaving sensibly now. Yay! The pins cleaning worked.

Motherboard runs. What Else?

A lot. This is nowhere close to finished. Even the todo list for this is getting long.
For one thing, the motherboard is running alone, with most of my hardware extensions disabled. Address decoding for most extra I/O is done on the larger side board, by passing original Apple II decode signals to it via cables, decoding to finer address resolution, and passing back the necessary Apple II I/O decode lines. At the moment the machine is running with jumpers eliminating all the extras.

One side effect is that the Promramer start menu has reverted to single column mode. I'm guessing that is because my code testing of the two column mode back then first read a debug console switch, to branch to the standard or debug code. And now that console switch is not being decoded, with a some random value resulting in 'normal' mode.

Anyway, next is to add all the I/O extensions back in.

At the rear, the side boards.

Yellow arrows are where ribbon cables normally interconnect.

Cyan arrows are the jumpers allowing the motherboard to work with original address decoding, no extra I/O.

1. OK, just reconnect the ribbon cables, right? Yeah, except I do not trust IDC connectors that are nearly 40 years old. Or rather, trust but verify. Which means actually measuring every connection. 20 pins per connector, 40 joints per cable. This needs a tool.

2. Like this. Quickly made, a pair of 20 pin headers with leads bent and soldered.
3. The result with them plugged into the short cable, is a single circuit looping through every strand of the cable. The multimeter is measuring the total series resistance of every connection and wire in the cable. It's pleasantly low, and remains so while the cable is flexed. Good. And the other one is the same.

4. Ah ha. With the cables installed and the extra stuff back in operation, now the startup menu has reverted to the two column form. But what the actual check is, I won't know till I see the relevant source code. That will be a while yet.

A minor mystery to address now, is that there's no post-reset beep. This machine's audio-out is as hacked as everything else, and in particular there's a set of header pins in the circled area above that connects via a lead to a stereo audio jack on the rear of the machine. With that disconnected there's no audio from the internal speaker. Trouble is, this is one of the areas of hackery that was poorly documented by 1980s me.

It required some tracing of mod-wiring.

%%% scan schematic

1. With the motherboard out again for tracing, here's a pic of some cabling under the motherboard. We'll get to what all this does, but not yet.
2. That sorted, here's the machine running without the Promramer EPROM banks. The monitor prompt, simple memory dump and list commands. I've had the machine running several hours now, and it's rock solid. Not one single crash. Just a list of small issues, like some sticky and sometimes intermittent keys in the keyboard.
3. Now those audio-related pins are properly documented. The brown jumper substitutes for the rear socket circuit that disconnected the internal speaker if a headphones jack was plugged in.


In progress. This is going to be a fairly long one. I'll update as it goes.

This project temporarily interrupted by the Spectrum Analyzer events.
http://everist.org/NobLog/20190223_full_spectrum.htm.
Because I needed the bench space for that. Should not take too long.