For the most part, I use this blog as a way to talk about the stuff I’ve been working on. I’ll take a break from that today to link to things that other people have done that’s interesting or relevant.
I learned about some of these from Vintage Computer Festival West XII last week—other had come up as I was looking for information or materials for various projects.
RISC OS Stuff
Back when I started Project Mehitabel, one of the justifications for doing it was that a Raspberry Pi is a nice modern equivalent of old machines such as the Archimedes, which were modern enough to look like a modern architecture, but old enough that writing for them was very restricted anyway.
If your goal really was to build a “Super-Archie”, though, with the games to boot, but on modern hardware and a modern version of RISC OS, then The Archimedes Software Preservation Project is the forefront of that goal. This project negotiates redistribution rights to the old games, and then does binary transforms of them so they run on modern systems.
I’ve spot-checked a few of them and they do work, as long as you’ve got AnyMode properly configured. I haven’t, however, gone full into working with them because the filesystem module that it requires lists amongst its requirements…
RISC OS 5.23 Jun 9th 2016 or newer (must be High Vector, use a Nightly beta build. Do not use RC15)
That makes me think that I’d need to nuke-and-pave to get this going truly properly, but I’m not interested enough to do that. I’m also not completely sure what they mean by “high-vector” here, but I imagine it’s something to do with where, exactly, in memory software interrupt processors are mapped.
Apple II stuff
The chiptune music group 8-Bit Weapon has a new album out called Class Apples. There are some new techniques being demonstrated in this album: “Thanks to a breakthrough in Apple II audio technology from legendary coder Mr. Michael J Mahon we are able to push 8 bit instrument samples though the Apple II’s 1 bit audio output!”
That’s pretty interesting. I’ve discussed programming the Apple’s 1-bit audio output before, but that can’t make sound like this. I am pretty sure that the technique Mr. Mahon used was cycle-counting to achieve pulse-width modulation, in a manner not unlike the PIT technique I used in DOS. Some back of the envelope calculation suggests that if you can time your cycle writes perfectly you’d end up with 6-bit audio at best, but as we saw that’s still plenty good.
The album itself is arrangements of various baroque and classical-era songs, and I liked it. Give it a listen.
Back when I was discussing assembly language programming on the ZX81, I had mentioned that the I, IX, and A’F’ registers were sacred to the graphics routines. There are several advanced techniques for exploiting this where the font patterns can be replaced on each scanline, sort of like Flexible Line Interpretation. Depending on exactly how you do it, you get different shapes available to you. (It seems that while you can remap the character data, you can never get it to actually point into RAM, so you’re stuck with graphical interpretation of whatever the ROM happens to hold. As a result, these techniques are generally called “Pseudo Hi Res.”)
Paul Farrow has managed to replicate these techniques to produce a full-scale game called Against the Elements, and then combined and enhanced the two techniques to produce a brand-new display system that let him actually replicate a bunch of iconic characters from ZX Spectrum games. (The Spectrum, unlike the ZX81, actually had full pixel-level control.) The technique is demonstrated and explained in his demo Celebration. The EightyOne emulator is the only one that seems to be able to make this work—sz81’s graphics emulation is not sophisticated enough to handle the new driver properly (or, for that matter, the pseudo-hi-res system Z-Xtricator uses).
That’s the kind of thing that you can get when you push the system as hard as it can go, far beyond its intended capabilities. The ZX81’s “graphics”, as originally designed, were just character displays that divided each character set into four squares and had enough font going on that they could represent all 16 combinations.
You can still do an impressive amount with that.
Bob’s Stuff has an extensive ZX81 page of the projects he had done over the years, and they are mostly demakes to the ZX81, with a few original games as well. They run at very satisfactory speeds and manage things like full-screen scrolling isometric graphic animations.
There really isn’t any substitute for careful design, and with that handy, you can work some real magic.
Commodore 64 Stuff
The first graphical MMO was a game published by Lucasfilm for QuantumLink (now AOL) called Habitat. Various editions of the game were released under various names in North America and Japan, with the other main name apparently being Worlds Apart. The code for the game had been recovered, and the two prime movers on the project—Randy Farmer and Chip Morningstar—spearheaded a community effort to get a world running again.
This project has now basically succeeded. A complete world exists and the community is live. As described at VCF West XII, “it will never leave beta” because as an open-source project it doesn’t have the kind of direct community management and engagement that the original project had, but it exists and it works and it even works on the original hardware.