A while ago I bought a vintage Altair 8K BASIC cassette tape to use in a Z80 project of mine.
When I learned about PicoCalcs, my first thought was, wow I could get Altair basic running on that in an emulator, and have a handheld old school BASIC.
So what I’ve done is port an 8080 emulator over to the Pico, and have it load 8K basic off the SD card. And it works! SInce it’s not the DOS version of BASIC, it uses tape save and load for storing programs. In my Z80 project i redirected the tape IO ports to write files out to disk. The Pico version doesnt have that yet, but it will be simple to move that code over from the Z80 emulator to this 8080 emulator.
I got cassette tape save/load emulation working, so you can CSAVE and CLOAD seamlessly.
The nice thing is unlike with a real cassette, basic doesn’t have to scan through a long set of programs to look for the program you want to CLOAD. CSAVE and CLOAD only take a single letter file name, so you get up to 26 separate saved files.
Also added a special character so you can specify a file name from which to source code in from a text file.
I used that to pull in a text copy I have of the old StarTrek game. Wow it works.
8K basic doesn’t natively read files, but I should be able to set up an assembler routine in high memory to read and write files.
The emulator is effectively providing access to the file system via known IO ports.
yes i can share the emulator i used and the modifications i made to support basic’s peculiarities and load and saves of programs.. i’ll get it all up on github
Just an update.. I finally got around to working on making this public. I am preparing a github repository with the code for running BASIC.. all you’d need to do is obtain a copy of Altair BASIC as a .bin file, build and install my code and you’re in business… so coming soon!