An MSX With A Nintendo Controller

Console owners inhabit their own individual tribes depending upon their manufacturer of choice, and so often never the twain shall meet. But sometimes there are those what-if moments, could Mario have saved the princess more quickly through PlayStation buttons, or how would Sonic the Hedgehog have been with a Nintendo controller? [Danjovic] is finding the answer to one of those questions, with an interface between Nintendo 64 controllers and MSX hardware including the earlier Sega consoles.

In hardware terms, it’s a pretty simple device in the manner of many such projects, an Arduino Nano, a resistor, and a couple of sockets. The clever part lies not in its choice of microcontroller, but in the way it uses the Nano-s timing to ensure the minimum delay between button press and game action. The detail is in the write-up, but in short it makes use of the MSX’s need to attend to video lines to buy extra time for any conversion steps.

The MSX computers have had their share of controller upgrade courtesy of Nintendo hardware in the past, we’ve seen a Wii nunchuck controller talk to them before, as well as a SNES one.

Header image: [mboverload] (Public-domain).

Raspberry Pi Cyberdeck Inspired By Rare MSX

When we see these cyberdeck builds, the goal is usually to just make something retro-futuristic enough to do William Gibson proud. There’s really no set formula, but offset screens coupled with large keyboards and a vague adherence to 1980s design language seem to be the most important tenets.

Granted the recent build by [lewisb42] still leans heavily on those common tropes, but at least there’s a clear lineage: his Raspberry Pi retro all-in-one is styled after a particularly rare bright red variant of the MSX that Sony released in Japan. Known as the HIT-BIT HB-101, some aficionados consider the circa-1984 machine to be the peak of MSX styling. Since getting his hands on a real one to retrofit wasn’t really an option, he had no choice but to attempt recreating some of the computer’s unique design elements from scratch.

The faceted sides were 3D printed in pieces, glued together, and then attached to a 1/4″ thick backplate made out of polycarbonate. For the “nose” piece under the keyboard, [lewisb42] actually used a piece of wood cut at the appropriate angles with a table saw. The top surface of the computer, which he calls the FLIPT-BIT, is actually made of individual pieces of foamed PVC sheet.

If all this sounds like a big jigsaw puzzle, that’s because it basically is. To smooth out the incongruous surfaces, he used a combination of wood putty, body filler, spot putty, and more time sanding then we’d care to think about. For the 3D printed surface details such as the screen bezel and faux cartridge slots, he used a coat of Smooth-On’s XTC-3D and yet more sanding. While [lewisb42] says the overall finish isn’t quite as good as he hoped, we think the overall look is fantastic considering the combination of construction techniques hiding under that glossy red paint job.

As for the electronics, there’s really no surprises there. The FLIPT-BIT uses a keyboard and touchpad from Perixx, a seven inch TFT display, and of course the Raspberry Pi 3. The display runs at 12 V so [lewisb42] used a combination of a generic laptop-style power supply and a 5 V step-down converter to keep everyone happy. While it doesn’t currently have a battery, it seems like there’s more than enough room inside the case to add one if he ever wants to go mobile.

If this build doesn’t properly scratch your Neuromancer itch, never fear. Just take a look at this decidedly less friendly-looking build that even includes a VR headset for properly jacking yourself into the matrix.

Pitting 8-Bit Chess Games Against Modern Foes

UltraChess is a vintage chess game for the 8-bit MSX platform, running on the Z80. [flok] wondered just how capable the game really was, and set forth to test it against a variety of other chess engines.

Having been designed in the 1980s, UltraChess is far from up-to-date as far as the chess software world is concerned. By using the OpenMSX emulator to run the game, [flok] was able to implement scripts to read and write the gamestate in UltraChess, and make it compatible with the Universal Chess Interface. This would allow UltraChess to be played off against a variety of other chess engines to determine its approximate ELO rating.

The scripts worked well, and are available on Github for those who wish to tinker further. Unfortunately, [flok] has thus far been unable to determine a rating for UltraChess, as it has lost every single game it has played against other chess engines. This is unsurprising given the limited processing power available, but we’d love to see a tweaked and hotrodded Z80 chess program take on the same challenge. If you’ve done such a thing, let us know, or alternatively  you might like to try playing like Harry Potter.

An Old Video Game Controller On Even Older Computer

For those of us not old enough to remember, and also probably living in the States, there was a relatively obscure computer built by Microsoft in the early 80s that had the strong Commodore/Atari vibe of computers that were produced before PCs took over. It was known as the MSX and only saw limited release in the US, although was popular in Japan and elsewhere. If you happen to have one of these and you’d like to play some video games on it, though, there’s now a driver (of sorts) for SNES controllers.

While the usefulness of this hack for others may not help too many people, the simplicity of the project is elegant for such “ancient” technology. The project takes advantage of some quirks in BASIC for reading a touch-pad digitizer connected to the joystick port using the SPI protocol. This is similar enough to the protocol used by NES/SNES controllers that it’s about as plug-and-play as 80s and 90s hardware can get. From there, the old game pad can be used for anything that the MSX joystick could be used for.

We’ve seen a handful of projects involving the MSX, so while it’s not as popular as Apple or Commodore, it’s not entirely forgotten, either. In fact, this isn’t even the first time someone has retrofitted a newer gaming controller to an MSX: the Wii Nunchuck already works for these machines.

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”