PDA

View Full Version : Tiny, Wireless 8008 Emulator



Slob
November 15th, 2017, 08:11 PM
I just finished this up well enough to show:

https://hackaday.io/project/28227-esp8266-based-i8008-emulator

This is an ESP8266-based Intel 8008 emulator, running SCELBAL and the Shooting Stars game from flash. It's only about 1" x 2" x 1.5" in size, and housed in a dollhouse-sized walnut case somewhat reminiscent of 1970's hobby machines. No front panel, though. not bad for $5.00 or so of parts. The wood cost more!

8008guy
November 16th, 2017, 07:12 PM
Looks cool, where is the code available from?

Len

glitch
November 17th, 2017, 06:05 AM
Neat! Way cheaper than the real thing, and a lot less annoying to interface with, I bet :)

Slob
November 26th, 2017, 07:10 AM
Looks cool, where is the code available from?

Len

I've put the code in the Hackaday project. It includes and runs:
Galaxy
Shooting Stars
Mike Willegal's mini-monitor
Microsystems International Monitor

I hope that I've given appropriate credit to all who help preserve this code, including, but not limited to:
Dave Dunfield
Herb Johnson
Mike Willegal (who I'm fairly certain peruses this site)

All in all, I'm pleased with the results although the code is icky. I've been doing this.."for a while"...and I still can't believe how this was done with about $5.00 of parts.

8008guy
February 13th, 2019, 05:59 PM
Hi Steve,

Is the code for you "Companion Terminal for 8008 Emulator" available?

len

Slob
February 13th, 2019, 06:17 PM
Hi Steve,

Is the code for you "Companion Terminal for 8008 Emulator" available?

len

Actually, the PIC32 terminal design and code isnít mine, its at:

http://geoffg.net/terminal.html

This was designed to work with a ps/2 keyboard and as written, using a ps/2 keyboard is the only way to easily set it up.

The ti99/4a*to serial ASCII keyboard, for a cheaper PIC, I can put up in a few days if you are interested. Ugly code, but it works well and is pretty easy to build.

*PLEASE donít anyone hate me. That keyboard came from a nonworking machine in poor physical condition that I got cheap.

glitch
February 13th, 2019, 06:50 PM
*PLEASE don’t anyone hate me. That keyboard came from a nonworking machine in poor physical condition that I got cheap.

It'd be hard to pick a more fitting donor :p Seriously though, these are super common, they have little value, and a dead one is at this point hardly worth fixing.

8008guy
February 13th, 2019, 07:19 PM
Posting the code would be awesome.

Len

mwillegal
February 15th, 2019, 05:14 AM
I love all these micro-controller based emulators that keep surfacing - very cool project.


"My" mini-monitor is really a port of Bob Cook's Basic CREED Monitor that was described in the May, 1975, volume 1, issue 7, of the "Micro-8" newsletter. The original was written for Baudot character code. I wanted to keep it at 256 bytes, and aside from changing it to ASCII, my peripherals were slightly different, so it took quite a bit of work to port it over to the SCELBI. However, the basic user interface semantics are nearly the same as the original. I found the practical usability to be surprisingly impressive for an implementation with so many hardware constraints. In fact, I would have been very proud of it, had I come up with that design, myself. Anyone with a recent generation Macintosh can try it out with my OS/X based SCELBI emulator: http://www.willegal.net/scelbi/scelbiapp.html.

The source for the ported monitor is here:http://www.willegal.net/scelbi/MCMON.html

regards,
Mike Willegal


I've put the code in the Hackaday project. It includes and runs:
Galaxy
Shooting Stars
Mike Willegal's mini-monitor
Microsystems International Monitor

I hope that I've given appropriate credit to all who help preserve this code, including, but not limited to:
Dave Dunfield
Herb Johnson
Mike Willegal (who I'm fairly certain peruses this site)

All in all, I'm pleased with the results although the code is icky. I've been doing this.."for a while"...and I still can't believe how this was done with about $5.00 of parts.

Slob
February 17th, 2019, 11:41 AM
This code reads a TI 99/4A keyboard and emits serial ASCII. For some reason, I could not attach it as a .C file, but it is C, for PIC MPLAB Version 8.x. The chip is a fairly cheap 16F883, and you don't need a crystal for it (at least not up to 9600 baud) because the programming system trims the onboard oscillator for you. The draw at +5 or 3.3 is only a very small # of milliamps. As written, it was designed to work with an RS-232 converter but the output could be inverted in port setup, I believe. I mention that it really should have a "transmit buffer empty" interrupt and ring buffer for the serial output, but at fast bauds, this really doesn't matter. The baud is hard-coded, but an enterprising person could use jumpers or better yet, "power on keystrokes" to set the baud and store it into the chip's onboard EEPROM.

The keyboard should handle all common ASCII and control characters, although you may have to do odd things to get to them (note the weird "function" requirement for brackets, for example). Note that I use "alpha lock" for "caps lock". Of course, if you don't like it..you can change it. And, please don't laugh at the code. The only code I've written commercially in 20+ years is PL/SQL.

The keyboard itself is very compact and cramped, but it has a pretty good, old-timey stiff feel. I wonder if they made the keyboard specifically for smaller (kids?) hands. It's pad-printed, but it seems to have held up very well over time.

The way it works is simple; it scans the 8 (+1) x 6 matrix of keys and debounces them by adding /subtracting a threshold counter until it is hit (COUNTLIMIT). A second threshold (REPEATLIMIT) permits auto-repeat. I wouldn't try typing 100WPM (if that's even physically possible) but it shouldn't have ghosting problems, etc.

I don't mention the pinouts and port assignments, but it should be fairly obvious; I used the very nice schematic on the following page to design it.

http://www.mainbyte.com/ti99/keyboard/keyboard.html

If this is a problem, I'll buzz it out for you. I did this as kind of a "one-time-off" project, so, no schematic.

The keyboard is very easy to mount into a box; I used a scroll saw and my woodsman-quality woodworking skills to cut it out.

8008guy
February 18th, 2019, 06:55 PM
I need to dig through my stash of keyboards. A few years ago I bought a couple of unencoded keyboards off ebay. From what I am thinking they are close to what you are using.

Thanks for posting more about your project.

Len

Slob
February 19th, 2019, 06:48 PM
The general design of this code is usable for just about any keyboard with a matrix. Here is one of those one-piece plastic block keyboards designed to be soldered into a PCB a la ADM-3, that I built into a terminal using the same chip but slightly different code.

Chuck(G)
February 19th, 2019, 09:06 PM
There are still some cheap IBM iPoint NOS keyboards around. All it takes to interface is a 38KHz IR receiver and a UART port capable of doing 1200N81--no wires, no level translation. You get key-up/down codes, so it should be perfect.

https://www.goldmine-elec-products.com/images/G15326B.jpg