New Project(s): Akalabeth Ports for GW-Basic and MSX-BASIC
Óscar Toledo G. set out to create a port of Richard Garriott’s Akalabeth, aiming to translate the game from its original Applesoft BASIC into GW-Basic. The goal, he said, was to create a version of Akalabeth that could run natively on Windows XP (itself being run inside VirtualBox on a modern Apple computer).
Certain challenges had to be overcome in the course of realizing this port of the game: even an emulated virtual processor running on top of modern hardware proved to be too fast for the game, so additional pause statements had to be inserted into the code. VirtualBox, for its part, also doesn’t emulate a CGA graphics mode; the INPUT command doesn’t work properly at 4K resolution, and the CLS command proved to be entirely broken. However, the final result is a fully-realized port of Akalabeth.
You can download the GW-Basic port from the project entry here at the Codex, or from the developer’s home page.
Having accomplished this goal, Óscar then set out to port Akalabeth to MSX BASIC, which would enable the game to run on MSX computers and emulators (the MSX being an offshoot of the ZX Spectrum line of PCs). MSX BASIC has a few notable differences from GW-Basic, the lack of a RANDOMIZE feature being the most notable. The MSX port is available as both the raw source code, and as a packaged CAS file; you’ll need to use the latter to actually run the game on an MSX, real or emulated.
And an alternative MSX port, assembled by Andrea Schincaglia (whose port of Akalabeth for the Commodore 64 is listed on the site here, as well) on a suggestion from Enrico Ricciardi, is also available. Schincaglia was able to find a way to rework the BASIC code to allow it to run in the limited-memory environment of the MSX1, which has just 23 KB of memory to spare for BASICprograms.
Both MSX ports can be found at this other project entry here at the Codex; Óscar’s port can also be found at his home page.