Josh Bensadon had brought some very silly little devices he’d made that played the startup chime when you pressed a button. They contained a small PIC chip programmed with the PWM sequence, a tiny speaker, a battery and the switch. For certain people, it brought so much joy. Retrocomputing folks can be easily amused, it seems.
I don’t have a PET, but I do have fond memories of the one we borrowed from school during the holidays around 1980. The PET doesn’t have great sound capabilities, as Dave at Tynemouth Software notes. But looking at the captured waveform dumped from VICE’s audio output, it looks suspiciously close to four repeats of these 7 steps:
80 cycles of 4329.0 Hz;
40 cycles of 2164.5 Hz;
20 cycles of 1082.3 Hz;
10 cycles of 541.1 Hz;
20 cycles of 1082.3 Hz;
40 cycles of 2164.5 Hz;
80 cycles of 4329.0 Hz.
Conveniently, all of these steps have the same duration (0.01848 s). The odd series of frequencies seem to be coming from a clock divider: 4329.0 Hz is 1,000,000 ÷ 231, 2164.5 Hz is 1,000,000 ÷ (2 × 231), and so on.
The end result, cobbled together by many calls to sox, sounds like this:
Commodore PET Synthesized Startup Chime: mp3
It sounds not too bad. It doesn’t have the fade-in effect caused by the PET’s power supply coming on, but it has the right character.
Its spectrogram is particularly special:
Commodore PET Synthesized Startup Chime: spectrogram. Yes, it’s all square waves
Back in 1973, the future definitely wasn’t equally distributed. While in Scotland we had power cuts, the looming three-day week and Miners’ Strike I, in California, the People’s Computer Company (PCC) was giving distributed computer access, teaching programming and publishing computer magazines. I don’t think we got that kind of access until (coincidentally) Miners’ Strike II a little over 10 years later.
flares? platforms? centre parting? bow tie? It was 1973 after all
But the People’s Computer Company magazine archive is a sunny thing, overfilled with joyful amateur enthusiasm and thousands of lines of code fit to make Edsger Dijkstra explode. Of course it was written for the local few who had access to mainframes and terminals, but it hardly seems to come from the same world as the dark evenings in Scotland spent cursing the smug neighbours’ house with all the lights on, their diesel generator putt-putting into the night.
Lots of these games from the PCC era are forgettable now. The raw challenge of guessing a number on a text screen has paled somewhat in the face of 4K photo-realistic rendering. One game I found is still a little challenging, at least until you work out the trick of it: Taxman (or as the authors tried to rename it later, Factor Monster). Here’s a tiny sample game transcript:
Hi, I'm the taxman
Do you want the regulations?
(1=Yes, 0=No)? 0
How many numbers do you want
in the list? 6
The list is: 1 2 3 4 5 6
You take? 5
Your total is 5
I get 1
My total is 1
New list: 2 3 4 6
You take? 6
Your total is 11
I get 2 3
My total is 6
New list: 4
I get 4
because no factors of any number
are left.
My total is 10
You 11 Taxman 10
You win !!!
Again (1=yes, 0=no)?
Seems I sneaked a lucky win there, but it’s harder than it looks. The rules are simple:
Start with a list of consecutive numbers
You choose a number, but it has to have some factors in the list
The taxman (or the factor monster, a concept I much prefer as it doesn’t reinforce the Helmsley Doctrine) takes all the remaining factors of your number from the list
You get to choose a number from the list, which is now missing your previous choice and all of its factors, and repeat
Once the list has no multiples of any other number, the taxman/FM takes the rest
The winner is whoever has the largest sum.
For such a simple game (or perhaps, such a simple me) the computer wins surprisingly often. Since I find it fun to play, I thought I’d share the 1973 love as much as possible by porting to all of the BASIC dialects that I knew.
Plain text BASIC – taxman.bas – runs under interpreters such as bas. Almost verbatim from the 1973 publication. May not allow you to play again on some interpreters; you might want to try my slightly rearranged 40 column version that should run on systems that don’t allow a variable to be dimensioned twice.
taxman on Amstrad CPC: how BASIC programs look to me, yellow on blue 4 lyfe
Amstrad CPC Locomotive BASIC – taxman.dsk – or as I call it, BASIC. 40 columns yellow on blue is how BASIC should look.
taxman on BBC, Mode 7: dig the weird spacing
BBC BASIC – taxman.ssd – for all the boopBeep fans out there. You can actually play this one in your browser, too. Yes, the number formatting is weird, but BBC BASIC was always its own master.
taxman on C64
Commodore 64 – taxman.prg – very very upper case for this dinosaur of a BASIC.
taxman running on Apple II
Apple II AppleSoft BASIC – TAXMAN.DSK – lots of fiddling with import tools and dialect weirdness because Apple.
taxman: end of game on ZX spectrum
ZX Spectrum (Sinclair BASIC) – taxman.tap – 32 columns plus a very special dialect (no END, GOTO and GOSUB are GO TO and GO SUB) meant this took a while, but it was quite rewarding to get going.
Taxman on ZX81: more SCROLLs than the Dead Sea
Sinclair ZX81 (16 K) – taxman.p – this one was a fight. The ZX81 didn’t scroll automatically, so you have to invoke SCROLL before every newline-generating PRINT or else your program will stop. For some reason this version gets unbearably slow near the end of long games, but it does complete.
The scanned library catalogues are available as PDF: About the TPUG Library. They’re searchable via web search engines: Google: site:tpug.ca amiga “puzzle maker”. The search is only as good as the OCR in the scan, but is better than nothing.
What you can’t do is search inside the disk images themselves. The files I made below might help with that, especially once search engines get hold of them:
Update, September 2016: this font was officially squee‘d over by Josh “cortex” Millard on the Metafilter Podcast #120: Hard Out There For A Nerd. I had the great pleasure of meeting Josh at XOXO 2016, too.
The Commodore 1520 was a tiny pen plotter sold for the Commodore 64 home computer. It looked like this:
I never owned one, but it seems it was more of a curiosity than a useful product.
From a nerdy point of view, however, this device was rather clever in that it packed a whole plotter command language, including a usable font, into 2048 bytes of ROM. Nothing is that small any more.
Based on my work with the Hershey font collection, I thought it would be fun to extract the coordinates and make a real OpenType font from these data. I’m sure others would sense the urgency in this task, too.
Since Commodore computers used a subset of ASCII, there’s a barely-usable set of characters in this first release. Notable missing characters include:
U+005C \ REVERSE SOLIDUS
U+005E ^ CIRCUMFLEX ACCENT
U+0060 ` GRAVE ACCENT
U+007B { LEFT CURLY BRACKET
U+007C | VERTICAL LINE
U+007D } RIGHT CURLY BRACKET
U+007E ~ TILDE
I’ll get to those later, perhaps.
Huge thanks to all who helped get the data, and make the bits of software I used to make this outline font.
(Note: although the Project 64 Reloaded contains some extraction code to nominally produce an SVG font, it doesn’t work properly — and SVG fonts are pretty much dead anyway. I didn’t base any of my work on their Ruby code.)
Update, 2017-06: I’ve updated the plans so you shouldn’t need to spend time sanding things to fit.
Tracking down old Atari-style joysticks for retrogaming can expensive, and it’s hard to tell if you’ll get something reliable. So I made one for less than the cost of a used stick on eBay.
To build this, you will need:
8-way joystick , or any stick compatible with the industry standard Sanwa JLF-P1 mounting plate. This has M4 holes at 84 × 40 mm.
Two concave momentary arcade push buttons. In my built, I used an older design that’s much taller. You could make the joystick box shorter if you used these snap-in buttons.
4× M4 countersunk (oval head) machine screws with nuts and lots of washers. You’ll need washers to act as spacers between the box and the joystick mounting plate. This allows the joystick’s dust washer to move freely.
a couple of metres of 8-core stranded signal cable
hookup wire and spade connectors for building the button harness.
The case is made from 6.4 mm high quality plywood, using a template generated by BoxMaker. The external dimensions of the box are 163 mm x 143 mm x 83 mm. I haven’t included any kerf width in the design, so the edges should fit together easily for gluing.
The basic DE-9 pin wiring for Atari-style joysticks goes like this:
1 — Up
2 — Down
3 — Left
4 — Right
6 — Button
8 — Ground
There are many variants that add features to this scheme, however. If you’re building for a specific computer, Tomi Engdahl’s Joystick information page has the details.
Many thanks to Andrew Horsburgh for the use of Protolab‘s laser cutter.
I’m trying to get running an Amiga again, to see if I can remember what was rocking my computer world twenty years ago. I want to run that code, swim with the Fish disks, and generally muck about with what was my life back then.
Emulation is interesting. Variants of UAE (which came with an Amiga Forever CD set I bought in 1997 or so) rule the roost. Quality is variable – on Windows, WinUAE is very comprehensive, even making grink-gronk noises as the floppy spins. On Mac, E-UAE is really not worth the bother kinda okay – it doesn’t want to emulate anything above a 68000, and falls over quite often but has decent sound. On Linux, it’s plain and stable, and I happen to have an old Thinkpad going spare I can dedicate to emulation.
I would have expected all the old disk images to be readily available for download. It seems that the current owners of the Amiga name (this week, at least) still cling on to the old IP as if it has real value. The Amiga games market (which was the market) basically collapsed with Commodore in 1994. I really wonder who is buying the PowerPC based, vastly overpriced new hardware? For now, I’m relying on good old-fashioned torrent sites for my data.
I want to emulate two machines; the A500 I had for all my cringe-worthy magazine writing running Workbench 1.3, and a fast thing maxed out with all the processors and RAM I never had, probably running 3.1. While I did have Amiga[D]os 2.04 (can’t remember if they’d dropped the D by then), it wasn’t the main focus of my interest by then.
The biggest problem I have is getting hard disk image, even blank ones. UAE is picky. Here are a couple I formatted under WinUAE, both blank.