About a month ago I as I was looking for a keyboard for my Apple I replica project. I put out a message on several forums thinking I'd like to find an Apple II keyboard. Corey contacted me and suggested that I find an old Silent 700 and salvage the keyboard. I took his suggesting and found an Silent 745 on ebay that I bought. The keyboard is rather colorful. It also was un-decoded, just a big switch array. Electronically the keys were not on a grid compatible with any of the available encoders. So using technology that would have been available back in 1976 I designed my own encoder using an Intel 8748.
This project got really fun when I dug out my old 8748 programmer that I haven't used for 20 years. In a box of 5'n 1/4 inch floppies I found the original disks with the programmer software. Luckily I still had an old DOS machine in the garage with a 5 inch drive. I blew all the dust out and powered up the machine. After a few trial runs with blank disks I risked reading the old floppy, and found that the software still intact after 20 years! I installed the SW and then ran the setup program. I was quickly discouraged to discover that the programmer needed to be run on a machine with a clock between 4.77Mhz to 12Mhz. Damn! This old machine was slow, but not that slow. It was a 386 40mhz.
I do have a real universal device programmer but it doesn't support the 8748. Not wanting to buy another programmer I decided to reverse engineer the old programmer. To see what was going on I ran the programmer software under DOSEMU on linux. I set up DOSEMU to log all of the I/O calls. After a few sessions of logging I wrote a c program that would run under Linux to decode the I/O calls I captured. Once I went through all the I/O ports used to control the hardware I implemented the programming algorithm and had my programmer working again!
Now for some pictures...