Interface for MSX to Connect and use Raspberry Pi resources
MSXPi is a hardware interface and software solution to allow MSX computers to control and use Raspberry Pi resources. The interface exposes I/O ports that can be read and written by MSX, and in turn the data will be accessible on the Raspberry Pi. Many resources are implemented, such as access to network drives, internet, disk images, and the Raspberry Pi itself. To make the most of MSXPi resources, a Raspberry Pi Zero W should be attached to the interface.
This Quick Start Guide is updated to V1.1 of the Software and Interface.
Please refer to the full documentation under "documents" folder in github for detailed setup procedure and other information.
There are a few steps to setup MSXPi, and you can choose between using a MSXPi pre-installed SD Card image (ready to boot MSXPi), or build your own image using a fresh Raspbian Image downloaded from Raspberry Pi web site - both methods are described below.
Overall, the steps to get up and running are:
MSXPi SD Card image: https://tinyurl.com/MSXPi-SDCard
Use a SD Card with a minimum of 4GB.
Use 7Zip to unzip the file, and use Raspberry PI Imager to write the image to the SD Card (select option "Use Custom" in the Operating System drop box).
RPi Imager can be download from https://www.raspberrypi.com/news/raspberry-pi-imager-imaging-utility/
In your favorite PC computer, copy all MSXPi commands from https://github.com/costarc/MSXPi/tree/master/software/target to your MSX SD card or Disk.
After this basic setup, you should be able to use the MSXPi ".com" commands from your MSX. To unleash full MSXPi power, configure the Raspberry Pi Zero W WiFi:
pset WIFISSID Your Wifi Name
pset WIFIPWD YourWifiPassword
pwifi set
preboot
Note: The first reboot may take longer than 3 minutes, because Raspbian will expand the filesystem in the SD and initialize the Linux system - following reboots will be faster)
In case you need very detailed instructions, please read "Tutorial - Setup Raspberry Pi for MSXPi the Easy Way - Using the MSXPi Pre-Installed Image.pdf", in https://github.com/costarc/MSXPi/tree/master/documents (Portuguese version also available).
In this mode, you will have to install all requirements for MSXPi - there is a script to help you with that, though.
Download from https://www.raspberrypi.com/software
This is the official Raspberry Pi SD Card image writer - download and install in your desktop PC.
Run the Pi Imager software, and select the best OS for your raspberry pi. If you are using the recommended Raspberry Pi Zero W, choose the lite version (without graphical desktop):
CHOOSE OS -> Raspberry Pi OS Lite (other) -> Raspberry Pi OS LITE (32-bit)
Write the image to your SD Card and when completed, boot the Raspberry with the SD Card inserted.
You will need to connect the Raspberry Pi to a HDMI TV and a keyboard to complete these steps.
Login to Raspbian using default user and passwird: pi / raspberry
Configure the WiFi using raspi-config command
Download the MSXPi setup script - it will download and install everything needed to have MSXPi up and running:
mkdir /home/pi/msxpi
cd /home/pi/msxpi
wget https://tinyurl.com/MSXPi-Setup
chmod 755 MSXPi-Setup
sudo ./MSXPi-Setup
If you need very detailed instructions, please read "Tutorial - Setup Raspberry Pi for MSXPi the Hard Way - Installing Raspbian from Scratch.pdf", in https://github.com/costarc/MSXPi/tree/master/documents (Portuguese version also available).
This version allows:
This release has some major changes to the hardware and software components.
On the hardware side:
On the software side:
Other non functional changes includes a new design using KiCad 5 instead of Eagle, some more jumpers to support new EEPROM features.
Limitations and bugs
MSXPi has two main branches:
master - current working stable release. This contains code for the branch under development, in a more mature state, but may not contain most current tools.
dev - current devlopment branch. This is where latest tools are developed and tested. Code here might change overnight, and even several times a day. Things may nor work properly, so if you want something more usable, go to the master branch or dev_0.7.
dev_0.7 - Contain ealier development code. Uses an old single-byte protocol, and only support BASIC client (no MSX_DOS).
Other branches might appear and dissapear. I recommend you not to use them.
MSXPi project is structured around three directories:
/software - all software goes here
/hardware - electric schematics, cpld design files
/documents - documentation
The /software branch has this structure:
MSXPi
|-------/software
| |----
| | |
| | /asm-common
| | |----
| | | |
| | | /include
| | |
| | |
| | /ROM
| | |----
| | | |
| | | /src
| | | |----
| | | |
| | | /MSX-DOS
| | | |
| | | /BIOS
| | |
| | |
| | /Client
| | |----
| | | |
| | | /src
| | |
| | /Server
| | |----
| | |
| | /Python
| | |----
| | | |
| | | /src
| | |
| | /Shell
| | |
| | /systemd
| | |
| | /C (deprecated)
| | |----
| | |
| | /src
| |
|-------/hardware
| |----
| | |
| | /CPLD_Project
| | |
| | /Schematic
| | |----
| | |
| | /Fabrication
| |
|-------/Documentation