AMOS BASIC
AMOS was the Amiga port of STOS, a BASIC for the Atari ST written in assembly language by François Lionet. Not just a procedural programming language, but a batteries-included IDE that supported the emerging multimedia pipelines of the day - Deluxe Paint as a pixel painter and animation tool, and the array of audio editors and trackers, and later on even supported 3D graphics created by the likes of Imagine 3D.
Back in 1993 I’d saved up my paper round wages, pooled birthday and Christmas money, sold my ZX Spectrum and got my hands on an Amiga 500+ and a portable colour TV. My high school years were defined not just by playing pirated games shared by the one guy in school who’s dad had BBS access, but by creating them in AMOS and sharing them too. Not that anyone wanted to play them - they were shit.
Ramblings about multimedia
The 90s were a beautiful time for multimedia. Moving from a time where hard drives were an expensive luxury, low bandwidth cassette tape and low capacity floppy disks ruled the day.
In the good old days graphics and audio weren’t just created, they were engineered. You’d carefully craft the palette as well as paint the pixels, knowing that 16 colours looked naff, 64 were painfully slow, and 32 needed some tricks to make things fast enough. You could swap the colours out in realtime very quickly - abuse duplicate colours and swap them out for animation effects as the electron beam scanned down each line. Compression mattered, bytes were counted, sizes aligned to hardware widths, you had to keep ahead of the scan line when filling the graphics card’s output memory or you’d get tearing, lest take the speed and RAM hit of double-buffering. Apparently the reason BMP files are upside down is because a subtraction operation took less cycles than an addition.
Audio was similar, chip tune was standard. You couldn’t just record into a mic at 11khz mono and get 30 seconds of audio on a floppy disk; you want a couple of tunes in your game. So instruments would be crafted by breaking them up into start, loop, end, and pitch shifted on the fly by banging the metal, interleaved to fake more than 2 channels, and the snare drum would take up more space than everything else combined.
Then the CD came along and the public were wowed by the voice acting and full motion video, while we looked on in utter disgust. With 800 times as much space, we went from an era of extreme resource constraints to one of egregious bloat and wastefulness. From one of precision engineering and craftmanship, to filler.
Some projects
I don’t think I can switch my old A1200 on anymore, so some of this may be lost to time. And older stuff from before I had a hard drive might be on rotten floppy disks. They means I can pretend that they were all finished and polished, which they mostly weren’t.
- Mega Battler - an AD&D style text-based fighting tool, with character classes and different weapons. You’d basically set it up and it’d tell you what was going on, randomly selecting nouns and verbs to add texture to what was essentially just a bunch of dice rolls and calculations.
- Viking Tester - John, Graeme (and I think Craig for a bit) were members of Regia Anglorum, a mediaeval reenactment society where we cosplayed as viking peasants. We made our own authentic, ill-fitting tunics and trousers from itchy woolen blankets, “Cornish Pastie” shoes out of leather, and spent every other weekend beating the shit out of each other with blunted spears and scramseaxes. Occasionally we’d do public displays and had to memorize basic Old Norse words to do with battle, this educational tool was an effort by John and I to memorize as much of it as we could. In hindsight, the only thing I remember is phalanx-esque march of “TROTHA… OI!”
- QAB - A Galaga type game with a sprite-swapping twist that we don’t talk about in this day and age for fear of being cancelled on grounds of homophobia and crassness. We were kids though, it was funny at the time.
- Thrusts - A 3 player game that just wasn’t fast enough to be the Gravity Force 2 that we wanted it to be. Matt and Jay Benson made the sprites I think.
- Eggit - A Dizzy-remake starring an old friend, Stephen Edgar (R.I.P.). In a similarly tragic vein, we also made a single level of a game “Nuts, Andrew Hazelnuts”, starring self-confessed nut-case Andrew Hazeldon, who also died in a car crash in early adulthood.
- Matchstick Man - Crap graphics, single player, made entirely by me. But it’s a game that I actually finished and it worked. I was really proud of it at the time.
- NSLE - The Benson Bros got their hands on a digital camera that took those mini VHS tapes, while Browney had a digitizer that, if used with a VHS player with enough heads to pause it without shaking or streaks, could actually capture stills from the video. So we made a Lethal Enforcers clone over the course of a couple of weekends. Black and white of course. And Jay took his shoes off between parts of the rolling animation and we didn’t realise until after filming, had to draw it back on in DPaint.
- Circular GUI elements - I remember being introduced to Pythagoras’s Theorem in an early algebra test, and realising it could be used to make circular collision detection. So I memorized the formula and used it to make a bunch of procedures that could be used to create circular buttons. Kinda weird and nerdy memorizing a maths test rather than things for a maths test, but guilty as charged.
- The Ultimate Adventure - A remake of my ZX Spectrum text adventure, done in the style of The Secret of Monkey Island. Never finished it because, while all the code was there, actually creating content requires a pipeline and artists and is extremely hard work. And that’s not the fun bit if you’re a programmer.
- Scrawler - Jimmy White’s Whirlwind Snooker had this cool effect where it drew letters on the screen as if someone was drawing them by hand. So I made a tool that would record and play them back, ended up porting it to DOS and Windows too.