Blog

Tecnobytes MSX Ethernet Cartridge and InterNestor Lite review (part 1)

Posted by in Gadgets, Hardware, How-to, MSX, Retro, Technology | October 17, 2015

Recently I received the MSX Ethernet Cartridge from the Brazilian group Tecnobytes. This batch is already sold out, so for these of you who bought one, here’s a review of the unit and what you can do with it. The cartridge is useless without software, so I’m also explaining the InterNestor Lite TCP/IP stack and its companion suite of network applications, both developed by Néstor Soriano (Konamiman).

The review is long, so it’s split in two posts.

The hardware

This is a Konami-sized cartridge with a single Ethernet port to the right and a couple of LEDs: the amber one indicates that the cartridge is powered on, and the green one indicates that there’s an Ethernet link established. It flashes during data transmission.

obsonet_msx_ethernet_cartridge

Tecnobytes’ MSX Ethernet Cartridge (Click to enlarge)

The Ethernet controler is a Realtek RTL8019AS, which means that the maximum speed is 10Mbps in full-duplex. This may not sound very impressive nowadays, but it is more than enough for the MSX, as we will see later. The design is based on Daniel Berdugo’s ObsoNET board.

Circuit board (image courtesy of user sd_snatcher) (Click to enlarge)

Circuit board (image courtesy of user sd_snatcher) (Click to enlarge)

The cartridge arrives packed in a generic cardboard box with decent padding, but no instructions manual nor software of any type. It is assumed that if you buy this device you already know how to use it.

In this review I’m using a Panasonic FS-A1GT with the Ethernet cartridge in the first slot. In the second slot I have a Sunrise CF ATA-IDE cartridge with two CompactFlash cards: the first one contains my boot partition, and the second card contains four 32 MB partitions for miscellaneous data.

FS-A1GT with Ethernet cartridge (Click to enlarge)

FS-A1GT with Ethernet cartridge (Click to enlarge)

Sunrise CF ATA-IDE

Sunrise CF ATA-IDE (Click to enlarge)

You can see the blue Ethernet cable connected to the MSX Ethernet Cartridge. The cable is connected directly to one of the LAN ports in my router.

The software: InterNestor Lite and related applications

In order to be able to use the Ethernet cartridge you need two kinds of software components: a TCP/IP stack and network applications. In the MSX world, the TCP/IP stack is InterNestor Lite (we’ll call it just INL from now on). The network applications (all the ones available so far) are available from the same location as INL, which we’ll see below in a moment.

InterNestor Lite

Some history/nostalgia first: In 2001, Konamiman was working on his thesis for his university degree. His project consisted in developing from scratch a TCP/IP stack together with some applications for MSX computers. He named it InterNestor Suite.

InterNestor Suite was designed to connect to another computer using PPP over a serial connection, so Néstor had to find some crazy network guy to help test the implementation.

I was that guy.

Konamiman at my place with the first successful pings from an MSX! (October 2001)

Konamiman at my place in Barcelona. On the screen, the first successful pings from an MSX computer (October 2001, he still had hair back then)

Néstor succeeded. He was awarded the highest possible grade for his work (full thesis available here).

However, InterNestor Suite was designed to be as standards-compliant as possible. It worked fine, but it didn’t run as fast as it should, so he started working on a new version: InterNestor Lite. Long story short, the current version of INL is v2.0.

Downloading InterNestor Lite v2.0 and related applications

INL 2.0 it’s available from Konamiman’s MSX page. You will need two files:

  • RAMHELPR.COM: The UNAPI RAM helper
  • INL.COM: InterNestor Lite 2.0 for the Ethernet UNAPI
(Click to enlarge)

(Click to enlarge)

If you’re using some kind of mass storage device on your MSX then you can create a directory somewhere on your disk and put the files there. In my machine I just made a directory called INL in the boot partition. If you’re using floppies then just copy them wherever you have space.

At this point you can go ahead and download everything in the Networking Software section of Konamiman’s site and put everything in the same directory as INL in your MSX. If you don’t want to download these programs one by one, there’s also a disk image that contains all of them.

After copying everything to your MSX you should have these files:

InterNestor Lite and applications (Click to enlarge)

InterNestor Lite and applications (Click to enlarge)

Please note that in this screenshot I made a directory called TDB and put all the Trivial Dropbox files in there.

Installing InterNestor Lite

To be able to use the network applications first we have to install INL in memory. The UNAPI RAM helper is the first program we need. It’s some kind of memory manager (sorry, I don’t know the full details). Just run it like this:

RAMHELPR i

After this we need to install INL itself in memory. This is also a very simple step:

INL i

It is also possible to chain both installs, because RAMHELPR.COM supports running a custom program after installation:

RAMHELPR i INL i

Installing InterNestor Lite (Click to enlarge)

Installing InterNestor Lite (Click to enlarge)

If your router is set up to automatically assign IP addresses to network devices using DHCP then your MSX should have been assigned one at this point. You can check by running INL with the ‘s’ command line option:

INL s

This is something along the lines of what you should see:

IP address assigned automatically with DHCP (Click to enlarge)

IP address assigned automatically with DHCP (Click to enlarge)

At this point your MSX is connected to the Internet. Congratulations!

If your network doesn’t use DHCP then there’s an extra step: you’ll have to assign the IP address manually. More on this later in this post.

Applications

Konamiman wrote a bunch of interesting network applications for INL. Let’s see them one by one:

SNTP.COM: Simple Network Time Protocol

The SNTP.COM program uses SNTP to connect to a time server on the Internet and adjust the clock of the computer with very high accuracy.

The easiest way to use it is to set a couple of environment variables: TIMEZONE and TIMESERVER.

  • TIMEZONE has to be set to the UTC time in your timezone. I’m in Japan, so for me the TIMEZONE variable is +09:00 (+9 hours relative to UTC).
  • TIMESERVER has to be set to the NTP server to contact. I used time.asia.apple.com because that’s the one I use in all my machines, but for better accuracy you can also choose one closer to your location.

Instead of setting these variables every time I want to use SNTP, I just added a couple of lines to my AUTOEXEC.BAT so they’re ready whenever I want to set the time over the Internet:

SET TIMEZONE=+09:00
SET TIMESERVER=time.asia.apple.com

Once the environment variables are set you can just run SNTP.COM without any parameters, or you can also especify the time server as a parameter:

Sorry for the bad angle and the shaking in the video. I was holding my phone with one hand and typing with the other.

TWEETER.COM: Twitter client for MSX

In 2010 Konamiman posted the first tweet from an MSX computer. It’s this one:

Ladies and gentlemen, this is the first tweet in history posted from an MSX computer.”

He used his TWEETER.COM program. Unfortunately, Twitter has changed the location of their authentication servers, and because of this Konamiman’s application is unable to authenticate anymore:

Twitter client for MSX doesn't work anymore (Click to enlarge)

Twitter client for MSX doesn’t work anymore (Click to enlarge)

Maybe Néstor can update the application to contact the new servers, but until he does this won’t work. This is understandable: would you expect to be able to use a 5 year old Twitter client on your PC or Mac? :-)

(continues in the next post)

7 comments on “Tecnobytes MSX Ethernet Cartridge and InterNestor Lite review (part 1)

  1. Great post! A couple of remarks to expand the information:

    – What RAMHELPR does is to install a small piece of code in the page 3 RAM that allows to call a routine in a RAM segment by using only five bytes of code, which is the maximum size of a hook in MSX. Thus you can easily install UNAPI compliant APIs in RAM. Without this, each API would have to install its own page 3 patch!

    – The Twitter issue may not be as easy as changing the name servers. I suspect that as Dropbox did, now the usage of HTTPS is mandatory and therefore an intermediate server is needed to use it from a MSX. Also they probably changed the authentication mechanism as well.

    – Not only did I have hair back in 2001. I also had a huge 30GB SCSI HD (seen in the picture, to the right of the MSX) that has long since been replaced by multimedia cards (CF first, SD now).

  2. Francesc Vendell Soler on said:

    Thanks Javi, very interesting!

    May I ask how you guys meet each other? That foto looks like a peace of history, the cellphone hanging out of his belt is amazing… o_O

    Tecnobytes group is planning to produce another batch of the ethernet card soon, for those who miss it last time.

    I guess now it will be possible to program simple network games for MSX. Is there any library available for that?

    Cheers.

  3. Pingback: Repórter Retro Nº 010 | Retrocomputaria

  4. Pingback: Domingão do Ag0ny: Acessando a rede com o seu MSX. | Retrocomputaria

Leave a Reply to Laurens Holst Cancel reply

Your email address will not be published. Required fields are marked *