Skip to content

dromorobo/MSX-wifi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSX-wifi

MSX wifi (ESP8266 via RS232)

Add a wifi interface to an MSX computer, using an original MSX modem or serial cartridge such as the Philips NMS1250 or NMS121x and connecting an ESP8266 SoC to it. It requires some soldering to connect the ESP to a modem cartridge, for a serial cartridge this is optional. If you don't like the hardware part at all, you could buy a BadCat Wifi interface for MSX; this interface already has an ESP8266 onboard. Basically any interface with a uart will do, but preferably one that is supported by Erik Maas' Fossil driver, because that makes it easier to use existing apps and to develop your own programs.

This project is still under development, but it works already: http server, http client, telnet client, telnet server, whois domain lookup, and - in the future - https client, ftp client, just to name a few, and mdns/bonjour (i.e. your MSX will automatically pop up in Finder or Explorer on PC's/Macs).

The things an MSX can do with this ESP2866 SoC are endless...

... so stay tuned for updates.

WHAT YOU NEED - Hardware

  • MSX cartridge with UART / Serial Interface, such as:
    • NMS1250, NMS121x, MT Telcom II, or
    • BadCat Wifi MSX cartridge (this one already has an onboard ESP8266)
  • ESP8266 SoC (ESP01) and 5V adapter (or level shifters) to connect 3.3V ESP to the uart
  • MSX computer
    • MSX2 with MSX DOS2 is preferred. Please note that you can make it work on an MSX1, but - depending on the interface you have - results may vary; for example compiling the *.PAS source files on an MSX1 with mass storage device such as a Carnivore 2 or an SD512 cartridge seems to fail. However, if you compile them on an MSX-emulator or on an MSX2 and then run the resulting *.COM files on an MSX1 works ok (I've tested it on CocoaMSX/macOS, on an Altera DE1-SoC FPGA with a European MSX1 core and on a Philips VG8235 with an SD512 running Nextor from 8bits4ever). It will also work on an MSX1 or MSX2 with built-in terminal software - for example the Telcom-II ROM software. In any case, even if you make it work it may not be very usable on an MSX1, apart from being a fun project to do ;-).
    • (optional) MSX cartridge that can do SD-cards; not required, but makes life easier
  • PC/Mac with a USB interface
  • USB/Serial cable/interface to connect the ESP to your PC/Mac

WHAT YOU NEED - Software for ESP

WHAT YOU NEED - Software for MSX

WHAT YOU NEED - Software for PC/Mac

PREPARE - ESP

  • Build NodeMCU firmware and flash it using a PC/Mac
  • Connect the ESP to a PC/Mac using a USB-Serial interface, and
    • Flash ESP8266 with NodeMCU firmware
    • Copy Lua files to ESP flash filesystem, using ESPlorer

PREPARE - Serial Interface choose whatever interface you have

  • NMS1250 interface
    • connect ESP8266 with 5V adapter or level shifters to Z8530
  • MT Telcom II interface
    • connect ESP8266 with 5V adapter or level shifters to 8251
  • NMS121x interface
    • connect ESP8266, either internally - same as with modem cartridge - or externally (not described here)
  • BadCat Wifi interface
    • open cartridge, and
    • Prepare the ESP (described above)

PREPARE - MSX

  • Install your Terminal program and - if required - install Fossil driver, and put FOSLIB.INC in a location where Turbo Pascal can find it
  • (optionally) Prepare MSX to do Lua uploads to the ESP (this only necessary if you want to develop/change Lua files using your MSX)
    • On MSX compile ESP.PAS, UPL9600.PAS and UPL115K.PAS using Turbo Pascal 3.0 (messages off); if you prefer another bps rate, you must change the bitrate in the source code
    • Use UPLxxxx.COM to upload files (*.lua, *.htm and help.hlp) to the ESP

USAGE

  • Start MSX

  • Run Fossil driver (depending on your terminal program) and

  • Run your terminal program

  • You can type in any of the following commands (characters are echoed back by the ESP; if you see "garbage" when you type, probably the bps-rate is incorrect, try setting a different speed; if you do not see anything, the ESP may not be connected properly).

    • help Show a list of commands

    • set wifi <ssid> <password> Set wifi configuration

    • show wifi Show wifi configuration

    • show ip Shows current ip, netmask and gateway

    • show speed Shows bps rate of serial interface, both running and startup-speed

    • set speed <bps> Sets the startup-speed. Will be active after next restart

    • whois <host> DNS resolve of host example "whois www.google.com"

    • ping <host> Sends five echo requests to host (fqdn or ip)

    • get http://<host>/<file> Open HTTP connection to <host> and get <file> example "get http://msx.org"

    • start telnet Start telnet server to accept incoming telnet-connections

    • stop telnet Stop telnet server

    • restart Restarts ESP

    • ATZ Shows OK

    • ATDT"host:port" Opens a telnet client connection to host on port