MSX + Arduino Gameduino shield and ZX SPI

By st1mpy

Paladin (901)

st1mpy's picture

09-10-2015, 01:19

Uploaded a Youtube video of Gameduino arduino shield connected to a MSX (Altera Terasic DE0) via ZX SPI modified for MSX on another FPGA, which is connected to MSX's cartridge slot. By using I/O port IN/OUT commands in MSX BASIC, you can send data to ZX SPI which sends SPI message to the Gameduino. You can obviously use this to talk to other SPI devices like Ethernet, SD card, displays and also use bridges to other protocols like I2C, CAN etc.

Login or register to post comments

By Grauw

Ascended (10706)

Grauw's picture

10-10-2015, 15:17

Looks nice, so it’s a VDP aimed at the Arduino platform?

By st1mpy

Paladin (901)

st1mpy's picture

10-10-2015, 16:11

yes Gameduino is like a vdp. It takes commands sent in SPI protocol. It is designed for arduino, but you can connect it to anything that can do SPI. It also does sound, and also can be used as a co-processor (has a forth based processor in fpga). There is also a newer and more capable Gamediino 2 as well.

By syn

Prophet (2114)

syn's picture

10-10-2015, 21:54

This is kinda cool. I thought about connecting an arduino to msx, because one of the models has SD card reader, network card, some extra arm chip, and usb connectors. That would make a great expansion cartridge for msx.. maybe use the build in RAM too.

Though I dont know much about electronics so I dont even know if it is doable. But you say all this may be possible? Thats pretty cool Big smile


Enlighted (6030)

NYYRIKKI's picture

11-10-2015, 21:31

Yes, for sure Arduino is connectable to MSX... I ie. use it regularly to translate PS/2 mouse communication to MSX mouse communication. As experiment I've even downloaded few games trough joystick port using Arduino to translate data from USB to MSX. Initial loader was MSX-BASIC oneliner that was short enough to remember and then it was replaced with ML loader for faster data transfer before loading actual ROM-game.

For attaching Arduino trough cartridge slot is a much harder task. This kind of SPI interface could be nice for that kind of purpose as well. I've seen some experiments about much more simple alternatives, but they still need extra components and tend to slow down the whole machine during memory / IO access... Is that a real problem depends of what you are trying to do.

I think that today there could be small market for some modern general purpose SPI, I2C & GPIO interface for MSX that could be easily controlled. (hint, hint) I know that you can do bit-banging without extra hardware, but that slows things down quite a bit and requires extra code layer. Also MSX has only two pins / joystick port that really can be used as GPIO and even those are pain in the butt to control trough PSG especially when BIOS is messing in the same soup as well... This became painfully clear for me when I attached PS/2 keyboard trough joystick port... How ever I was able to use MSX-BASIC & MSX-DOS with it

By Grauw

Ascended (10706)

Grauw's picture

11-10-2015, 22:16

I think also, given that Arduino an 8-bit platform, it is “spiritually” compatible with MSX Smile.

By fzanoto

Master (190)

fzanoto's picture

23-03-2018, 13:00

cool, I'm making new hardware with this chip: ft813 and I'll put it in msx.
the advantages over v9990 are many, especially the price.

By CASDuino

Champion (330)

CASDuino's picture

24-03-2018, 12:35

I love seeing what new projects people come up with for the Arduino.
CAS/TZXDuino are hard enough for me to maintain but some of the other stuff people do are amazing.

By ali6x944

Master (198)

ali6x944's picture

24-03-2018, 16:57

fzanoto wrote:

cool, I'm making new hardware with this chip: ft813 and I'll put it in msx.
the advantages over v9990 are many, especially the price.

interesting, also nice chip choice...
man it is such a powerful little chip:

datasheet wrote:

-Integrated 1MByte graphics RAM, no frame buffer
RAM required
-Built-in sound synthesizer
- Audio wave playback for mono 8-bit linear PCM, 4-
bit ADPCM and µ-Law coding format at sampling
frequencies from 8kHz to 48kHz. Built-in digital filter
reduces the system design complexity of external
-Enhanced sketch processing

skimming through the datasheet, I came to a question, what mcu are you going to use to drive the ft813? or you would some how drive it from the msx bus directly?

By alexito

Paladin (761)

alexito's picture

24-03-2018, 21:24


Just let me know when it is available for sale and I'll be happy to put my finger on it new device.