Wednesday, 1 January 2014

RetroChallenge 2014

MB Microvision
My Retrochallenge for Winter 2014 is connected to Milton Bradley's 30 year old Hand held - if you have very large hands - the Milton Bradley Microvision (see the picture).

The aims for this challenge are to

(1) Write an assembler and emulator for the system as accurately as I can. I have data sheets and manuals for the Microcontrollers, the LCD Controller chip and circuit diagrams so this should be possible.

(2) Write one or more new games to run on the system. This is challenging. The Microvision is a bit like the Atari VCS. On modern LCD systems, or even not quite so old ones, you just turn a bit on in memory to turn a pixel on. With the Microvision, you have to continually refresh the screen, a line at a time, about 30 or so times a second. The problem is that the controllers are slow , 50,000 to 80,000 instructions a second.

(3) Build a hardware emulation of the Microvision itself. This will be an Arduino (probably) with either an LCD display scaled down to 16x16 pixels, or alternatively a 16x16 LED Display that I already have.

I was originally going to work on Auto Race, but I wasn't happy with the accuracy of my research regarding the Rockwell Calculator Chip that drove it, so I have changed it. I think these things should be accurate and not just made up to suit.

For those of you that don't know this system - it is about 10" x 3" in size, and has a display in the middle which is 16 x 16 pixel resolution. There is a speaker and an array of 3 x 4 keys - not all of these are used all the time, as  you can see in "Block Buster".

The "Cartridge" is the grey plastic bit, so they are quite large - the main unit , the dark brown part contains the speaker, the operating buttons, the LCD screen, the rotary controller at the bottom and the batteries. The cartridges contain the button covers (the blue bits are very thin plastic) and a circuit board with the controller on.

There are several types of cartridges. The cartridge varies between the Intel 8021, which is a grand daddy of the Intel 8048 micro controller, and the TMS1100 from Texas Instruments. As I understand it, it was designed for the 8021 (which is a much easier to program 8 bit micro controller) but they didn't have enough chips, so they redesigned it for the TMS1100.

Some games, including Block Buster I think, are available in both 8021 and 1100 formats.