CompuServe Messages

#The KIM-1

    04-May-95 01:31:32
Sb: #195581-#The KIM-1
Fm: Black Belt Systems 76004,1771
To: Steven Bennett 70046,441
Steve, > So… Where did you manage to get a FLEX emulation from? I wrote it, that's where. 🙂 First I wrote the 6809 emulator, because I like to make hardware things with 6809's. Train set controllers, rock saw controllers, ham radio repeater controllers, SSTV demodulators… I like the chip, there isn't a more elegant 8-bitter made to this day, though many have tried. The emulator makes for many fewer mistakes in these one-off projects… it gets expensive when you screw up on one of these little gems which have no inherent value anyway to justify mistakes (or even their existance, but that's another argument :-). The emulator was specifically written so that you could emulate any imaginable 6809-based hardware. So one day I decided that one of the emulations would be a flex machine – add a serial port and disk controller emulation (1771) thought I, and it should run flex just fine. I dragged out a copy of flex from my master disk files (similar to the library of congress, I sometimes think) and dissasembled it to see what was what, you know… a 6.5k operating system… and we brag about AmigaDOS! …anyway, and found that the disk I/O routines were VERY well modularized. Turns out that TSC, the people who made flex, made it so that any manufacturer of a disk controller could just plop in disk routines and it should work. Well, thought I… why emulate the 1771… heck, I'll just emulate the disk routines instead and replace them wholesale with AmigaDOS disk routines. That's what I did, and it's way faster than the hardware emulation (of course). 🙂 For console I/o, I wrote a Soroc IQ140 emulator, since that is what my editors were customized to use (everything was customized back then, because noone ever had the same setup). Flex had a "p" command you prefixed a command with in order to print things… this called something named print.sys, by resetting the I/o vectors to it's contents, would redirect the system output to the printer. I wrote a print.sys that would get the thing into the Amiga's printer output. The I wrote the needed set of file transfer utilities flex->AmigaDOS and reverse, disk list and delete commands, disk create commands… and there you go. On an 4000/'040, it runs about as fast as a 2 mhz 6809, which is really not too bad at all. Bingo – 100% emulation. I have yet to find anything that will not work. Even crudware that hits the "serial hardware" directly works because the port is completely emulated. Runs on it's own Amiga screen, just way cool. What I want to do now is get an OS9 emulation up and running. But I can't locate a 6809 copy of OS9. The OS9 forum is between dead and unresponsive, and the one guy I think could help, I can't seem to find (Kevin Darling). It's one of those projects that gets a beating on weekends. I'll figure it out. Hobbies – can't live with em, can't… you know. There – more than you ever wanted to know about the project, I'll bet.