MSX with BlinkenLights

Blinkenlights-originalOld Mini and Mainframe computers often had huge banks of diagnostic lights to indicate the status of address, data and control buses or other functions. When the lights blinked, the computer was busy at work. When they stopped in a particular pattern, engineers could try and figure out what went wrong by decoding the status of the lights.

[Folkert van Heusden] has an old MSX-based Philips VG-8020 computer and decided to add his own set of BlinkenLights to his system. The VG-8020 was a first generation MSX released in 1983 and featured a Zilog Z80A microprocessor clocked at 3.56 MHz, 64KB of RAM, 16KB of VRAM, and two cartridge slots.

The cartridge slots of the MSX are connected to the address and data buses in addition to many of the control signals, so it seemed logical to tap in to those signals. Not wanting to play around with a whole bunch of transistors, he opted to use an Arduino Nano to connect to his computer and drive the LEDs. In hindsight, this seemed like a wise decision as it allowed him to do some processing on the incoming data before driving the LEDs.

Instead of creating a new PCB, he cut open one of his beloved game cartridges. A switch was added to the slot select control pin (SLTSL) and eight wires soldered directly to the data bus. These were hooked up as inputs to the Arduino. A bank of eight LEDs with limiting resistors were connected to outputs on the Arduino. A quick test confirmed it all worked, including the switch to enable / disable the cartridge. He had to experiment with the code a bit as the LEDs were initially blinking too fast.

v2_frontA couple of months later, he upgraded his BlinkenLight display to include the 16 bit address, 8 bit data and 8 lines for control signals. To do this, he used two MCP23017 – I2C 16 input/output port expander chips. For the LEDs, he installed a bank of four NeoPixel LED bars. A Pro-Mini takes care of the processing, and a custom PCB in the cartridge format houses all of it neatly. Check out the two videos below showing the BlinkenLights in action.

And if these BlinkenLights got you interested, take a look at this awesome Z80 Computer With Switches And Blinkenlights that has a hand operated crank to advance clock cycles.

Continue reading “MSX with BlinkenLights”

Wii Nunchuck on an 80s computer

For a computer that debuted in the early 80s the MSX was a very respectable machine. Of course  these were the days that superimposing graphics over a video was an amazing feat, but  [Danjovic] and [Igor] are still having fun with their boxen. They designed a software interface for the Wii Nunchuck (translation) on their trusty MSX computer.

The plug coming out the back of a standard Wiimote is just a simple I2C bus. Many things can be done with this port from plugging in ancient controllers to controlling robots. [Danjovic] and [Igor] managed to write a routine in Basic that converts the I2C data coming out of the Nunchuck to data the MSX can understand without any modification of the hardware whatsoever.

All the guys needed to plug the Nunchuck into the MSX was a voltage divider and a few pull-up resistors between the computer and controller. They got data from both buttons, the joystick and the accelerometer in the Nunchuck and made a small program to display some sprites on the screen to demonstrate this. Check that out after the break.

Continue reading “Wii Nunchuck on an 80s computer”