This program turns SCELBI 8008 code and data that is in Intel hex format into AIFF format sound files that is readable by the SCELBI cassette interface when played out of a computer or digital music player earphone or headphone out port. Note that the SCELBI only will read continuous data using the cassette read command. At this time, the program does not fill in gaps, so the Intel hex format file must also be continuous.
The program is a work in progress, and there is some ugliness in the commenting, coding style, etc, but it works well enough, that I figured I’d share it, rather than wait to find the time to perfect it. I put the source in the retro-restore newsgroup files section under 8008 Systems/SCELBI. Be aware that you need to download an AIFF “C” language library from source forge to build it. I had to make a change to the library source to make it work for this application. In function AIFF_ReadOpen(const char *file, int flags) add this code to the end of the function to initialize buffer2 pointer and length.
r->buffer2 = NULL;
r->buflen2 = 0;
Since it doesn’t divide perfectly into normal audio file sample rates, like the Apple II sound format does, the SCELBI’s FSK encoding took considerably more thought to reproduce, which made this an interesting little project.
It should be possible to use the program as a starting point for other audio format conversions that use FSK or similar encoding methods. See my previous program that converts from Audio to Intel hex format.