An idea for future emulation projects

Vintage Events and off topic talk

An idea for future emulation projects

Postby sje » Dec Sat 24, 2011 9:38 pm

Vince's Altair emulator has certainly been an impressive and reasonably priced foray into the emulation of early consumer microcomputers. But what next?

The Atmel CPU inside the Altair emulator is heavily taxed running the 8080 emulation at one tenth the frequency of its own clock. There just isn't any headroom to take on bigger tasks.

My idea is to use the new, US$35 Raspberry Pi board as the heart of future early era emulations. The upper end version has a 32 bit 700 MHz ARM11 CPU with 256 MB RAM. The board includes a CF card interface, 10/100-base-T Ethernet, HDMI video/audio (also retro style composite/analog), and a pair of USB ports. It can be powered by batteries or a wall wart. There are a bunch of GPIO pins for experimenting and a J-tag debugging header. And it runs Linux. That's the $35 version; the $25 version is the same except no wired Ethernet, only 128 MB RAM, and just one USB port.

http://www.raspberrypi.org/faqs

Oh, and there is already open source code for plenty of historical machines which will run on the ARM11 under Linux.
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am

Re: An idea for future emulation projects

Postby sje » Jan Sun 22, 2012 2:23 am

Corrections and additions:

1) The Raspberry Pi board takes a single SD card. The card can be ordered form the RP guys or it can be supplied by the user. A card is needed as part of the boot process and it must have enough capacity to hold one of the several supported Linux distributions. There is at least one program available to assist with initializing an SD card for an RP using a separate computer.

2) There is only one external USB port. There is a second internal USB port which I believe is dedicated to the Ethernet interface hardware.

3) To drive a set of front panel LEDs, all that's needed is a chain of parallel output shift registers with the driving end of the chain attached to a pair of the GPIO pins.

4) To read from a set of front panel switches, all that's needed is a chain of parallel input shift registers with the polling end of the chain attached to another pair of the GPIO pins. A little finesse is required to read a three state toggle.

5) The GPIO pins can also handle RS-232 and a bunch of other protocols.

6) On the front of the case of the final kit are the LEDs and toggle switches; also, a holding bracket for a clear plastic overlay which has labels for the LEDs and switches. Each different emulation has its own overlay; a rotatory knob somewhere on the box controls which overlay/emulation is to be use on boot (e.g., Altair 8800, Altair 8800b, Altair 680, Imsai 8080, pdp-8, pdp-11, etc).
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am

Front panel implementation

Postby sje » Jan Sat 28, 2012 3:03 am

For driving front panel LEDs eight at a time, a serial-in/parallel-out chip is needed; the 74164 in some appropriate logic family will do (74HC164, I think). It may be necessary to get a special version that can drive LEDs bright enough, or maybe get a separate LED driver buffer chip. Multiple 74164 chips can be chained together. To update any LED, all of the LEDs need to be updated if the chain uses a single input driver. I believe that all recent 74164 chips can be driven faster than 1 MHz, so there should be no problem with driving a very long chain at 60 Hz.

For reading toggle switches, the parallel-in/serial-out chip is needed; this would be the 74165 (74HC165). There are two switch flavors of interest: 1) up/down and 2) up/center/down. For the up/down flavor, a single 74165 can handle eight switches. For the the up/center/down flavor, the up and down outputs each get their own pin on a 74165, so a single chip can handle four such switches. Note that there is no debounce circuitry in the 74165; the controller which is polling the 74165 needs to handle debounce in software.

The lights and switches could be handled by some inexpensive Atmel microcontroller or handled directly from a Raspberry Pi board. I'd go for the latter as I think that the 700 MHz Raspberry Pi will have no trouble driving a front panel at 60 Hz (roughly the human persistence of vision limit). This will need to be tested.

Emulation of front panels for classic machines like the Altair 8800 and the Imsai 8080 would need six 74164 chips for output and four 74165 chips for input. Adding a few more chips to both chains would support just about every classic micro and mini ever made. Also, adding just extra outputs would support register displays as was a common feature in larger classic machines.

How much would it cost for the chips, LEDs, and switches for a modest front panel? I'll guess US$30 to US$50 depending on order quantity. I'd design the LED circuit board to handle eight LEDs and one 74164; a switch board would take 4 or 8 toggles and a single 74165. Replicate these small boards as needed.

Note: there is one small drawback with using a Raspberry Pi: the board does have a noticeable boot time delay, perhaps about 15 seconds or so. Patience helps.
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am

Re: An idea for future emulation projects

Postby tranter » Jan Sat 28, 2012 7:25 pm

The "gertboard" being developed for the Raspberry Pi might be useful for this:

http://www.raspberrypi.org/archives/411
http://elinux.org/Rpi_Gertboard
User avatar
tranter
 
Posts: 96
Joined: Jan Sun 15, 2012 6:39 pm
Location: Ottawa, Ontario, Canada

Re: An idea for future emulation projects

Postby sje » Jan Sat 28, 2012 10:22 pm

I'm not sure if a Gertboard would be of much help with implementing a front panel. However, it could be quite useful for adding ADC/DAC capabilities.
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am

Re: An idea for future emulation projects

Postby sje » Feb Fri 03, 2012 1:59 am

Two more thoughts:

1) It would be possible to use a Raspberry Pi board in a revision of Vince's Altair 8800 Micro and this could lead to more features at less cost. The extensive and excellent work already performed on the case, the front panel, the labeling, and other related hardware would all be carried over to a new version which had far more emulation power.

2) A Raspberry Pi version of the Altair 8800 Micro could have a second SD card socket made available via a USB connection and an adapter. This would allow SD card access via a slot on the outside of the case rather than to have to open the case each time a card swap was made. Similarly, adding some other internal cables (audio, video, serial, Ethernet, HDMI) from the Raspberry Pi to the outside of the case could be helpful.
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am

Raspberry Pi availability

Postby sje » Mar Thu 01, 2012 9:32 pm

The US$35 Raspberry Pi Model B was released for sale yesterday, Leap Day, at 7 am local time in the UK. The 10,000 unit run was completely sold out within minutes.

I'm trying to get a unit via the US distributor at http://www.newark.com but do not expect supply to catch up with demand until mid May at the soonest.
sje
 
Posts: 38
Joined: Jul Thu 12, 2007 6:33 am


Return to Venues, projects and off topic stuff - NO SPAM

Who is online

Users browsing this forum: No registered users and 1 guest

cron