Galaksija gets a C compiler
Last week Bodrato Stefano ported z88dk Z80 development kit to Galaksija using my ROM disassembly and development tools as a reference. Galaksija so joins thirty-something platforms that are supported by this retro software development package.
This means that in addition to the Z80 assembly and the built-in BASIC it is now also possible to develop new software for Galaksija in C. And what's even better, you can also compile and run software, originally written for other vintage (and not-so-vintage) computers. Here's for example a screenshot of Death Star, a game originally written for Texas Instruments TI-86 calculators running on my CMOS replica of Galaksija.
To make development easier, z88dk contains a number of platform independent libraries, from a standard C library to high-level graphics and sound libraries, all of which work out of the box on Galaksija thanks to Stefano. You're limited with the tiny amount of available RAM, of course. Although the C library plugs into the simple terminal emulation routines in ROM, a program using it can quickly get too large. A "Hello, world!" style program with a printf function is 1.4 kB (or around 20% of the total amount of RAM), so don't expect to run just any old Spectrum game on it. Planet of Death text adventure for example takes 13 kB, a bit too much for the original Galaksija's 6 kB (but looking at it, it might just be possible to cram it all in with some clever hacking - anyone up for the challenge?)
The sound library is especially impressive, supporting a number of sound effects and polyphonic synthesis using Galaksija's audio output and a bit banging algorithm (here's a sample recording).
To try it out, you need to have the latest CVS version of z88dk.
about the development tools, do you know if someone can help forking Boriel's zxbasic-compiler to Galaksija? this cross-compiler is really awesome, very popular among actual zx-spectrum homebrew developers