This caused me to spend a couple days writing a simple emulator under OS/X (mostly as an experiment since I'd never tried to write a graphical app on that platform) and got it to the "DEPRESS L TO LOAD TAPE" stage. (I luckily had kept the ROM chips when my mom pitched the computer, I was unable to save it all) Unfortunately things more complicated like Microsoft Basic crashed pretty quickly so there's probably still something a little buggy about my 8080A or other hardware emulation.
I've also got a reasonable sized collection of cassette tapes, both of interact branded software and of programs my dad wrote in BASIC and Forth. It shouldn't be too hard to extract the data from these but a converter will have to be written (the Interact's cassette interface was unique) It's clearly just pulse-width modulated though. I just need to find the right stack of tools that will convert a .wav to a cleaned-up set of pulse width timings, or write one myself. Audio/DSP is another category of programming I've never done.
Unfortunately I haven't touched this stuff in about a year since I've been too busy with other stuff. I probably need a good chunk of uninterrupted time to make much more progress -- the last time I tried I spent a few hours staring at instruction traces from BASIC trying to find out why it was failing and got nowhere. Maybe over the summer I'll have a chance to look at it again.
I lost my ROM, but there are copies on the internet. (I pulled all of the chips when I was in middle/high school, intending to build a computer of my own design, but never completed the project, dunno where they ended up.)
I also had a book with very thorough documentation on the hardware, but I don't know where it is. Dunno if my parents still have the tapes. It had the tape format documented.
It looks like "MESS" supports the interact, dunno how well though. After writing that post I looked it up, got it to run "Add-Em-Up", and let my toddler play with it. It appears to have a french keyboard mapping, however, so I'm guessing it's a modified Hector emulator.
Sorry, when I said "I was unable to save it all" I meant the entire computer. I do have a complete ROM and was able to successfully extract it.
I've got some documents including schematics and some of Interaction and Micro Video magazines. I was able to determine the bytewise format of the tape data (such as the dumps on archive.org) from reading the disassembled ROM, It's pretty simple as you can imagine. There is very little circuitry driving the tape drive so I'm confident that it's just toggling between + and - tape bias and the timing determines if it's a 0 or 1 bit. I looked at the wave form of a cassette rip in an audio editor and it looked pretty clear. I'm sure with a little work I could extract the data although there are probably tools that would help clean up the audio.
I had no idea MESS had any Interact support (they certainly seem to do a good job making their web documentation has hard to use as possible) I'll have to give it a shot at some point.
Recently I found that someone had uploaded a bunch of tape images of the machine to archive.org: http://ia601600.us.archive.org/zipview.php?zip=/16/items/Int...
This caused me to spend a couple days writing a simple emulator under OS/X (mostly as an experiment since I'd never tried to write a graphical app on that platform) and got it to the "DEPRESS L TO LOAD TAPE" stage. (I luckily had kept the ROM chips when my mom pitched the computer, I was unable to save it all) Unfortunately things more complicated like Microsoft Basic crashed pretty quickly so there's probably still something a little buggy about my 8080A or other hardware emulation.
I've also got a reasonable sized collection of cassette tapes, both of interact branded software and of programs my dad wrote in BASIC and Forth. It shouldn't be too hard to extract the data from these but a converter will have to be written (the Interact's cassette interface was unique) It's clearly just pulse-width modulated though. I just need to find the right stack of tools that will convert a .wav to a cleaned-up set of pulse width timings, or write one myself. Audio/DSP is another category of programming I've never done.
Unfortunately I haven't touched this stuff in about a year since I've been too busy with other stuff. I probably need a good chunk of uninterrupted time to make much more progress -- the last time I tried I spent a few hours staring at instruction traces from BASIC trying to find out why it was failing and got nowhere. Maybe over the summer I'll have a chance to look at it again.
I will leave you with some screenshots for your nostalgia though. These are taken directly from the emulated RAM. The band on the right would actually wouldn't be shown since it's in the horizontal refresh interval -- that's why they appear off-center and sometimes with garbage on the side: http://www.bodyfour.com/interact/snapshot.png http://www.bodyfour.com/interact/basic.png http://www.bodyfour.com/interact/basic2.png