IBM PC (x86) emulator

If you’re looking for a small, simple, light-weight x86 emulator, 8086tiny might be a good call.

The main problem with it is that it was written by a dude who writes code for the Obfuscated C Contest (as a matter of fact, the obfuscated version of 8086tiny won in 2013*) — and it shows. The “documented, commented, maintainable version” (his words) is written in a way… let’s just say that if you were a programme manager and one of the team members wrote code like this you would be a very worried person. Like DJ Bernstein’s daemontools or qmail, it’s clearly written by someone who Has Clue, but should not be approached by someone who doesn’t.

For example, the code comes with a BIOS. The BIOS also includes the instruction lookup table, which is obviously a critical part of the code, and has nothing to do with the BIOS…

Anyway, I managed to import the BIOS for the NEC APC into the memory space (the standard BIOS lives at 0xF0100 (F000:0100)  – 0xF1Ef2 while the NEC BIOS lives at 0xFE000 (FE00:0000) – 0xFFFFF).  There are clashes, the 8086tiny BIOS actually writes its own reset vectors to what would normally be part of the BIOS EPROM at 0xFFFF0, overwriting the NEC vectors, and it puts the stack at 0xFF000 (F000:F000) which is in the middle of the NEC BIOS — but I can fire up the emulator and use debug to look at the NEC BIOS so I guess it’s a matter of time before I maybe modify this thing to emulate the APC and not a PC XT.

Or not. Round ‘tuits are scare sometimes.

* Look, I’ll give him a lot of points for style, but I feel making the BIOS blob a critical part of your code and then not counting its size is kind of… cheating. But hey. It _is_ beautiful to look at.

Logic Probe

There’s a kid around the corner who is building a Z-80 computer on veroboard.

This is not his story.

But in helping him I realised he needed a logic probe. This is that story.

I built this logic probe a … long … time … ago. Late seventies, I think. You can see where I cut it down the middle to fit in a pill bottle, but I straightened it again later.

And I could lay my hands on it when I needed to, a week ago. Yea, I don’t throw stuff away. Especially not useful stuff, and a logic probe counts as useful. I had to replace the 7400 which is now in a socket, back when I built it a socket would have been a luxury.

Above schematic from stackexchance. I have no idea where I got the original schematic from, but this is it, except that my Edit (2024): Well, turns out I keep good records when I remember where to find them, I got the original schematic from Practical Electronics, March 1983, it was submitted by G. Coleman from Rochester in Kent, with R2 = 1k and C1 and C2 = 1u in his schematic, same as my build.

And when we built one for Z-80 boy the other day, we found that R2 should indeed be 1k, because otherwise it doesn’t work right.

I also added a diode for reverse-voltage protection which is not a bad idea.

There are of course many other, better designs out there (, circuitfee…), including one in Everyday Electronics of September 1980*. But this one is simple and it works.

* I “subscribed” (in that my parents would give me the money every month and I would walk down to the CNA on Voortrekker Road and buy a copy, which they reserved for me) to Everyday Electronics from September 1978, or at least, that’s the earliest cover I remember.

When your failure detection system… doesn’t actually fail.

Couple of years ago, I repaired a NAD T751 which turned on and then immediately off again. These NADs have a protection circuit that shuts the amp down if something is wrong, and in this case, the protection circuit was at fault.

So when my brother spotted a T760 with exactly the same problem, he bought it, figuring that this was a solved case.

This turned out to not be the case. While the T760 is almost identical to the T751, this one lacks the bodge that caused the problem last time. And while the prime culprits (C173, C174, C176, C199 on the AC3 board) were all out of spec (measuring 70pF to 10nF), replacing them did not solve the problem.

(If your PCB is discoloured around the voltage regulators, the amp ran hot for long, and that dries out the caps).

Anyway. so I went where I should have started, and measured the offsets on P501, P502, P503, JP801 and JP802 (representing the amplifier quescient current).

And that explains it (even if it’s a b*tch to get at).

Attended to a couple other suspicious-looking solder joints, buttoned the whole thing up again. Offset on the centre amp (the one which had the bad joints) doesn’t want to come down below 2.7mV so it’s going to run a bit hot, others all at 2.0mV (over 0.22 ohm, so 9mA idle current).



Sometimes it’s better to remain quiet.

None of these answers is useful. I’m fully expecting the next comment to be a warning not to solder without adequate ventilation.

(For the record, 105 = 10 and 5 zeroes, just like a resistor, so 1000000 pF = 1 uF. And yes, 15 is the voltage. Also, google “what is the value of a capacitor marked 105” gives the correct answer straight off the bat. People. Feh).

Always Fun with a 101!

Twenty years ago, Tanya and I had been together for a short while and it was a good time to go on holiday.

So we went to France.

Gads. We were so much younger then :-/

It was a bit of a whirlwind tour (Tanya will claim they all are) — fly into Paris, find a place to stay (place we supposedly had booked via a friend in France knew nothing). Take the underground (? can’t remember) around the back of Montmarte, check out the Sacré Coeur (270 steps), walk down via Pigalle and the Pompidou. Day 2, Louvre, walk up the Champs-Élysées to the Arc de Triomphe, Musée de l’Homme, the queue was too long at the Eiffel, by complete coincidence found the bust of Antoine de Saint-Exupery on Square Santiago du Chili on our way to the Rodin Museum, and by yet another complete coincidence ran into Alison April, a friend from Stellenbosch, at the D’Orsay. What else, o yes, Cluny, then check out the stained glass windows and the gargoyles at the Notre Dame (which was being refurbished, scaffolding all over the place). Supper somewhere in the Latin Quarter.

Did I mention we were younger then?

Day 3, train to Epernay (Moët) and from there to Strasbourg, where we hired a car.

And by complete coincidence (no, really) friends Pim and Thandie were at close to Strasbourg with their Land Rover 101 Forward Control (OK, the coincidence was the time and the place, I had planned the route to meet up with them there).

(Rest of the trip? Drove all the way down to Marseilles sampling wine all over the place, hung out at Domaine des Anges where a friend was the winemaker and my brother was helping in the cellar, and flew out of Marseilles in time to beat the kids back home at the end of the school holiday).



The Old Man

“I’m too old to fall in love, but I ain’t old enough to die. I’m too old to run, but I can outwalk you because I know how to pace myself. I know when to work and when to rest. I know what to eat and what sits heavy on my stomach. I know there ain’t any point in trying to drink all the licker in the world, because they’ll keep on making it. I know I’ll never be rich, but I’ll never be stone-poor, neither, and there ain’t much I can buy with money that I ain’t already got”.

Pörkölt and Lecsó

Having quite a lot of venison in the freezer, and having taken advantage of some Fruit & Veg special which left me with lots of green and yellow bell peppers, I made Pörkölt (Hungarian venison stew) and Lecsó (Hungarian vegetable stew with bell peppers). Both are heavy on the paprika, I shall have to stock up next time I’m in Hungary (which will be early August, assuming the world doesn’t again go mad before then).

For the Pörkölt, I used duck fat instead of lard, I still had some in the freezer. Did not add marjoram because that’s unobtanium at the moment, oregano had to suffice. I also didn’t add the 2 cups of stock but used a stock cube instead, because I stuck it in the Instant Pot (pressure cooker) for 20 minutes instead of simmering for 2 hours.

The Lecsó really does compliment the Pörkölt, so do them both. And rice. I like rice.