This is the second part of this post. We continue from the point where the previous part ended: looking at the network applications developed by Konamiman.
FTP.COM: File Transfer Protocol
Yes, an FTP client for MSX! You can now connect to FTP servers on the Internet and download files directly to the MSX, without having to download them to a PC or a Mac first and then copy to the MSX via removable media.
FTP.COM is very easy to use. It accepts the standard commands to interact with FTP. You can also set the environment variables FTP_USER, FTP_PASSWORD and FTP_ACCOUNT and use these as the defaults when connecting to servers.
Typing ‘help’ at the FTP prompt will show all the available commands:
Here’s an actual session connecting to a real FTP server (ftp.jp.freebsd.org) and downloading a text file from there:
This program works well, but has one important limitation: filenames. It only accepts file names in 8.3 format. This means that you can’t download files with long names. Other FTP clients rename downloaded files on the fly, or prompt the user for a local name, but FTP.COM just aborts the transfer with an error message:
OBSOFTP.COM: FTP server
Yes, a server. Not only can you download files from your MSX with FTP.COM, but you can also serve files stored in your MSX to other users anywhere on the Internet.
Running OBSOFTP.COM without any parameters show the usage. You need to specify at least the path that will be the root of the FTP server when clients connect. ObsoFTP can use the root of one of the MSX drives (I used C:\ when I left my FS-A1GT running as a server a couple days ago), or a directory such as C:\FTPDATA or whatever else you like.
Optionally, you can also specify a file mode: read/write or read-only. In read/write mode anybody can upload new files, create/delete directories, or delete existing files in the server. In read-only mode nobody can upload or delete anything, only download is allowed. By default the server runs in read/write mode.
In this video (around three and a half minutes) you can see me starting OBSOFTP on my MSX and then connecting to it from my MacBook Pro:
Needless to say, this is an excellent way to exchange files between the MSX and other computers in your home network.
TCPCON.COM: TCP Console
This is a simplified Telnet client. All it does is connect to an especific TCP port on a remote computer and then send to it everything you type on the keyboard, and displaying on the screen everything received from the other side. It doesn’t support some of the capabilities of an actual Telnet client and it doesn’t do any terminal emulation, so we may get garbled characters depending on where what machine we’re connecting to.
Running it without parameters shows the usage:
When running in passive mode TCPCON.COM will wait for a connection from a remote host on whichever port we tell it to. After the remote host connects everything works exactly the same: both computers send lines of text to each other.
In this video (about 5 minutes long) I’m connecting to the HispaMSX BBS using TCPCON. This is a Spanish BBS reachable on the Internet via Telnet (clicking this link should open a telnet session in your machine). The lack of terminal emulation makes things a bit complicated (deleting text, for example), but overall it is usable:
OBSOSMB.COM: Sharing your MSX drives on the network
ObsoSMB is another file server, but this one uses the SMB protocol. What this means is that you can share a drive of your MSX (or more than one) with Windows and Mac computers in the same home network. To the other computers the MSX drives appear as network drives and can be used without restrictions (other than the 8.3 filename format, the transfer speed, and the limited size of the MSX storage).
Again, running OBSOSMB without any parameters shows the usage:
Like ObsoFTP, ObsoSMB also allows serving files in both read/write and read-only modes. In this video you can see me starting the ObsoSMB server on my MSX and then connecting to it from a computer running Windows 8. Data transfers feel slow because Windows seems to be downloading every single file in the background in order to generate previews and thumbnails. Otherwise it works flawlessly: Windows can upload files to and download from the MSX:
HGET.COM: HTTP File Downloader
This is a file downloader (not unlike wget) used to download files from web servers. It supports resuming partially downloaded files, HTTP authentication, and even sending custom HTTP headers. It can also read URLs from the standard input:
In this video you can see me downloading two files from this site. The first is a zipped archive, and the other the index page for my site (this one I print on the screen instead of saving to disk):
GETURL.COM: Store URLs on a file
This isn’t a network application per se. You could call it a bookmark manager. The reason for it to exist is simple: some web sites have very long addresses and it’s annoying to type these again and again to download files with (for example) HGET. You can keep your bookmarks in a text file and give them an easy to remember alias. GETURL converts the short alias to the full URL, which you can then pipe into HGET in order to download something.
DBACC.COM / DBFILE.COM / DBFOPS.COM: MSX Trivial Dropbox
Yes, a Dropbox client. This program is split in three binaries because it is too big to fit in a single .COM file:
- DBACC.COM: Authenticates your user account against the Dropbox servers
- DBFILE.COM: Used to upload to and download files from the Dropbox folder
- DBFOPS.COM: File operations manager. Used to list the content of folders, create folders, and move/copy/delete/rename files and folders.
This program requires some additional configuration and another computer to act as a middleman. This is because Dropbox requires the use of encrypted HTTP connections (SSL). The MSX CPU can’t handle the encryption/decryption process, so another computer is required to handle this step. During my tests I used a Raspberry Pi computer to perform this function.
I will dedicate another post to how to set up and use MSX Trivial Dropbox, because the process is too long to describe here.
TFTP.COM: TFTP client/server
TFTP is a very simple file transfer protocol. It’s often used to boot computers from a network file instead of a local disk, but it can be used to transfer files between computers as well. And it is much easier to start a TFTP server on the MSX than on a Windows or Linux machine!
I mentioned in the first part that in some cases we will need to set up the IP address manually. This is done with the TCPIP.COM program. When invoked without parameters it will show the usage information:
To set an IP address manually use the “TCPIP ip” command. This allows you to set up the local IP address, subnet mask, gateway address and DNS servers, one by one or all at the same time. You can also view the current settings by running “TCPIP s”:
The other program to perform advanced tweaks is ETH.COM. This one allows you to directly handle the Ethernet controller in the cartridge and even change the MAC address via software. Usually you won’t need to touch these options, but it’s nice to see that we can modify these settings if we want.
The Ethernet controller supports transfer speeds of up to 10 Mbps (about 1.2 megabytes/s). However, the MSX CPU can’t handle that much, even in an MSX turbo R running in R800 mode.
InterNestor Lite processes one input frame and one output frame per display interrupt (60 times per second). These frames are about 500 bytes long, so the maximum absolute data rate supported by InterNestor Lite is a bit over 30 KB/s. In practice it is much less than that because of the processing overhead.
In my tests I reached download speeds of up to 12-13KB/s.
This is a very useful piece of hardware. Together with InterNestor Lite, the Tecnobytes MSX Ethernet Cartridge opens the doors of the Internet to the MSX. We no longer need to have another computer to download from the network, and sharing files over FTP or SMB is much easier (though slower) than using removable media.
The software still has rough edges, but being able to do so many things from an MSX is a very big deal.
In my opinion, these are the best $60 I’ve spent on my MSX so far.