The deeds of a man in his prime*

Stellenbosch, 1987. I built this 68000 computer, with 64 kilobytes of RAM and space for three times that much ROM. That’s infinitesimal in today’s terms, but at the time my “personal computer” was an Apple ][ with 64 kilobytes of RAM and 16 kilobytes of ROM, running at 1 MHz. The Apple ][ is an 8-bit computer and my 68000 is a full 16-bit computer, which runs at 8 MHz. Also, I had plans to expand my RAM by at least 256 kilobytes or so.

I’m typing this on a 64-bit computer with 8 gigabytes of RAM running at Idunno, 3 1/2 GHz or so.

The 68000 is more fun.

Here’s a picture of it. The picture itself is about 43 kilobytes in size, so it would take up about two thirds of my 64 kilobytes of RAM. But there would be no way to display it because I never implemented graphics (and state-of-the-art graphics at the time was VGA at 640×480 in 16 colors).

Here’s a picture of the three boards — processor at the top left (note the huge 64-pin DIP package that is the 68000), memory at the bottom, I/O on the right. It’s pretty close to 64 kilobytes. Here’s what it would have looked like in 16 colour VGA.

The first set of ROMs is a monitor, the second set of ROMs is almost empty — it has a copy of Gordon Brandly’s Tiny Basic as published by Dr Dobbs and typed in by yours truly. I can transfer it to RAM and run it from there. I had great plans but that’s as far as I got…

This memory brought to me by the guys over at Hack A Day, who are building something very similar but with some very modern twists.

You can learn a whole lot more on how to build 68000 systems by going through Peter Stark’s 68000 Hardware Course, as well as from this S-100 68000 board project.


* One of my favourite songs, from 1972.

Fortune 32:16 and the longevity of floppies

Way back when, back in 1987, I was studying engineering over at the University of Stellenbosch, and I read about this thing called BIX, the Byte (magazine) Information eXchange.

So I went over to Professor Krezinski at the Computer Science department and asked him nicely to let an engineer play with their toys and to my surprise he agreed. Gave me access to the building and organised an account on the DG, which was connected to some magic elf (X.25?) boxes which in turn connected to… BIX. Where I spent some time (not a whole lot, my father’s credit card was paying for my time) chatting to some very bright people. This was when smileys still looked like ^_^ and {^_^} (Hello jdow, wherever you are)

But there were other interesting computers in the lab (on the third floor, ISTR). Specifically, an AT&T 3B2 and a Fortune 32:16.  And since I was designing a 68000-based computer at the time, I copied all the Fortune disks, thinking maybe, some day,  I can make some of this stuff run on my machine.

That day has not yet come :-)

But I recently found those floppies again, and copied them using Dave Dunfield’s ImageDisk 1.18. And they were all still 100% readable (OK, on one floppy the jacket had warped, I had to remove the disk and stick it in a cleaning disk jacket to read it).

Bitsavers have some documentation online, and from this it’s clear that Fortune Systems never intended the user to poke around under the hood. Apart from the 68000 processor, I can’t find any details online about the chips used, the amount of ROM on the motherboard, or anything like that (Unleashing a hex editor at the diagnostics software shows mention of a Z-80 processor, as well as “CTC” and “SIO” and “dual port RAM” — sounds like an I/O device.  There was apparently also some kind of an MMU).

Anyway, here are my disk images. Disks are 80 track, with five sectors of 1024 bytes each per side.

I’m not too sure how useful these will be, since this 2005 posting to ClassicCmp states that

They also had a reasonably effective copy-protection scheme.
Uninstalled Fortune software on distribution media was encrypted using
a key known to Fortune and to Fortune's installation program.  When
you installed software from the distribution media, the software would
be decrypted and then re-encrypted using a key based on the
motherboard serial number for storage on the hard disk (so you
couldn't just copy the executables from your system to some other
system: installed software only ran on the system on which it had been
installed); and of course the installer marked the distribution medium
as "installed" so you couldn't just go install it again somewhere


The archive-diving continues (I’m checking all my old floppies and archiving everything that looks interesting).

Found a ZIP file WARBOTS.ZIP. This is yet another Robot War type program, this one written by Chris Busch in 1990. Unlike Robot War (which has a vagely BASIC-like syntax) or Arena (x86 assembler, urgh) the syntax is very Pascal-like (which figures, since Chris wrote Warbots in Turbo Pascal).

Now, for some reason Chris decided to encrypt the robot sources supplied as examples. But, Tyler Akins tells us that it’s a simple XOR “encryption”, and some fiddling with ICY Hexplorer armed with the hunch that “vitiex” is most likely “repeat” gives us the hex key 040c for the first line of scanbot.war. After that it gets tricky, “Ehh | 5” translates to “Add y 1” using a key of 040c0c — so the key changes by some rule. I really don’t have the time to figure it out but it’s obviously not that tricky.

This at least gives an idea of the syntax.

Warbots doesn’t run in a DOS box under Windows (2000 and 7 tested) so that’s all I have for now.






Whatever happened to Anthony Rose?

Back in the eighties, when the Cape Computer Club were homebuilding or just playing around with computers based on the 6502, 6800, 6809, 68000, z-80 and the like, Anthony Rose was one of the Names. Like me, he had an Apple II, unlike me, he made that thing sit up and dance. Using Forth, most of the time.

He also wrote a test suite for the Apple which I still have on disk somewhere — thinking about it, this might be one of the last copies in existence so at some stage I should look at backing it up.

Anyway, I was sorting through my collection of MSDOS floppies, and came across a disk labelled “ARTFORTH.68K”. Yes, I remember getting that from my friend Barney, never did anything with it.

Problem is, the disk has errors. Not that I can complain, it’s a disk I used with my Apple before reformatting it to MSDOS, it’s only certified single-sided, and it’s still mostly readable after being in storage since about 1990.

So this was an opportunity to revisit the dreaded FAT12. I used ANADISK to copy the readable bits of the floppy to hard drive (yes, I still have a DOS box with 5 1/2″ and 3 1/4″ floppies. It even runs Windows 3.1) and the HxD hex editor to analyze things. This web site was extremely useful to help me find my way around FAT12.

The first file on the disk, “ARTFORTH.68K” survived intact. It’s 149 FORTH screens of  64 characters x 32 lines of FORTH code written by Anthony in 1986 for what looks to be some kind of 68008-based platform.

The second file, “FORTH.COM” was not so lucky. Or maybe it was, the directory is corrupted so I don’t know whether I have the whole file or not. It’s definitely 68000 code, disassembly yields constructs like:

201E                     MOVE.L   (A6)+,D0
221E                     MOVE.L   (A6)+,D1
241E                     MOVE.L   (A6)+,D2
2D01                     MOVE.L   D1,-(A6)
2D00                     MOVE.L   D0,-(A6)
2D02                     MOVE.L   D2,-(A6)
4E75                     RTS
201E                     MOVE.L   (A6)+,D0
221E                     MOVE.L   (A6)+,D1
241E                     MOVE.L   (A6)+,D2
2D00                     MOVE.L   D0,-(A6)
2D02                     MOVE.L   D2,-(A6)
2D01                     MOVE.L   D1,-(A6)
4E75                     RTS

Which is clearly an implementation of ROT and -ROT. There’s also a copyright string “ART-Forth 1.0  (c) 1987 A.R.T.” at $2DD9 so we know what we’re dealing with.

Of course, before trying to scrape these files off the floppy, I searched the web, because if someone else has it online my work is done. But no. Anthony Rose the Forth guru seems to have disappeared (he might have surfaced as one of the many Anthony Roses on the ‘net, but none of them own up to a love of Forth). About the only relevant thing I could find is his 1986 paper Design of a fast 68000-based subroutine threaded Forth with inline code & an optimiser which mentions the HP9816 (which used a 68000 and not a 68008 — the mystery continues).


Sometimes I manage to impress myself bigtime.

A while ago, I left a comment on Jimmy’s page on Robot War, about Arena, which is basically* Robot War for the PC. This morning I received an email from Core War fundi John Metcalf, saying that he’s never heard of Arena, and would like to know more.

So I thought about it for about half a cup of coffee, remembered which box it was most likely to be, retrieved the box from behind the Puma, and the disk I was looking for was about the tenth disk down (this was the lucky bit — there are about 200 disks in there I guess).

The key point here is that I last used these disks on my father’s PC (the one before the one before the one he has now — it was a 386 on one of those motherboards that still took a 287 coprocessor) back in the early nineties. Call it twenty years plus tax.

The fact that I can’t find a notebook battery that I had in my hand day before yesterday is not relevant to the story.

So then I had to fire up the third machine on my desktop**, click the KVM over, and copy the files to something my main machine can read.

Now I know for a fact that the vast majority of my readers (both of them) are suffering MEGO with a side of TMI. So here’s a cut line for you. It gets geeky on the other side.

* Bad pun. Should be assemblerly. You don’t get it. Don’t worry. I’ll explain it.

** Primary machine is a Windoze 2K box. #2 is my Linux box, and #3 is a 486 (or maybe an early Pentium) which mostly boots DOS (with Windows 3.1 if I really need to do that) and runs my Expro.

(no, those were footnotes. And only a bit geeky. Here’s the cutline)

Continue reading…

30 Years

Thirty years ago Wizardry:  Proving Grounds of the Mad Overlord was released. I bought my copy soon after that — unfortunately the invoice is not dated. (incidentally, R65 was a lot of money back in 1981).

I played the living bits out of this game. Eventually beat it, too. In the process I figured out, all on my own, how the characters were stored on disk and of course, how to cheat. How? Well, edit a byte on the disk, check what changed, make notes. After all, there’s only about 200 bytes per character, and each byte has 256 possible values… this can’t take long, can it? (Hint: yes, it does…)

After Proving Grounds it was Knight of Diamonds and Legacy of Llylgamyn after which… life happened. I went to varsity, didn’t quite yet discover girls, but… pretty much stopped spending endless hours on computer games.

Yet I’m still a retrogeek, and I follow various retro websites.

Wizardry is now available on iOS. And it’s thirty years better.

If there’s a reason for me to get an iDevice, this is it.

I have a funny funny bone

You’ll either get it or you won’t, and in general it’s probably safer to bet on the latter.

I found the following while scratching around on The Digital Antiquarian*, and it really tickled my funny bone.

Elias was a banker, so we left with more than most. $1,600 to spend at the outfitters—three yoke of oxen, 2000 pounds of food, boxes of bullets and spare parts: tongue, axle, wheel. Two sets of clothes for each of us. “What kind of clothes?” the children asked.

“Who knows?” I said. “The store only sold Clothes. In sets, though. That’s something.”

They asked what we would eat. “Food,” I said. “Just ‘Food.’ Make your peace with it.”

Of course, my frame of reference for all of this is relatively recent, I grew up playing Hammurabi.

* “Filfre” is of course an obscure text adventure game reference.

An Apple a day

(Or how I came back into the light)

Way back in I guess 1980 or thereabouts my father had a friend who (amongst other things) was involved in importing Apple ][ clones from “China” (which in those days was Taiwan and Hong Kong). My father bought us a “Unitron” Apple ][, and it was probably one of the best purchases he made, ever.

These machines were all 64K Apple ][+ spec, but at first we only had the tape interface and, not knowing anything about the Woz, I set out writing a breakout game. I seem to remember that it was in Integer Basic (Applesoft Basic on the mainboard, but I did have a language card) but I can’t remember just why I would have chosen Integer Basic. Anyway, this potential work of genius* was lost to the vagrancies of the tape drive. It wasn’t long until we got disk drives.

Anyway, *wavy lines* to the present, and my brother falls pregnant and mostly kicks me out.  So I moved a whole bunch of stuff, including a Puma, a pinball machine and an Apple ][, to Fish Hoek.

And then I had to make it work again. We truly live in the future. Resources I used to dream about are now a ten minute download away.  For example, Understanding the Apple II is available from Asimov or our local mirror or ReactiveMicro and it really describes the genius grade weirdness well. There are also various guides to quick troubleshooting at the above and other sites.

My Apple was dead. No reset “beep”. A logic probe showed activity on the address lines and on all but one data line of the 6502. Checked the other side of the buffer, same thing. Through the keyboard MUX and the data latches, same thing. I was loathe to set up the ‘scope to see whether it was a read or a write cycle, so I pulled the processor and found that I still had data on seven of the eight RAM chips (because the video logic still drives an address into the ram every other cycle). Replaced the RAM chip from one of the other banks and was rewarded by a “beep” and a cursor.

Not having any 4116es on hand, I went to my stash (at my brother’s place, refer to the “mostly” kicked out above) and retrieved 25 x 4164 all nicely labelled in a tube. I have a lot of shit, but it’s useful shit, and I know where to find it most of the time. With a bit of a mod, 1/4 x 4164 works well in the place of a 4116. Runs cooler too.

(Very) fortunately Jason Scott is wrong when it comes to my floppies. The few I tested (starting with completely unimportant ones, and after cleaning the drive head) boot and run just fine. I don’t think he’s far wrong though — I will be making copies with ADT Real Soon Now.

Unfortunately, my keyboard is not happy. The D key is Dee Eee Dee dead. Makes it difficult to play Castle Wolfenstein.

Oh, and I found a game I remembered about a year or so ago, that I could not remember anything more of than “The object of the game is to figure out the object of the game”. That game is of course Nightmare #6, written in Integer Basic by some hacker, maybe even the Woz himself.

* Yea right.

XP on an Acer Aspire One

A while ago we bought Jessica an Acer Aspire One running Linux (this is the cheaper option, the XP ones were about double the price at the time).

She got tired of that and asked me to install Windows XP.

I tried following the tutorial , which involve putting XP on a memstick, but I gave up on that, borrowed the external USB CD drive from work, and installed from the CD. That worked well.

You’ll need to download the drivers here.

(I also tried installing Windows 2000 on my eeepc (I hate XP) but that didn’t work so well, so I’m running puppeee now).