plipbox 0.6 released

It took quite a while to finish the release (over a year :)) but I think it was worth the wait:

  • A new parallel burst transfer mode was added that really improves the I/O speed on this Amiga port. You will get up to 235 KiB/s across the lines!
  • Added new test modes for performance measurement on Ethernet Port, parallel port and on Amiga side (device loop back, SANA-II API loop back, and TCP/IP stack look back via UDP round trips)
  • Cleaned up firmware and driver code and rewrote firmware to handle full Ethernet frame in SRAM (2 KiB that is for both firmware and 1518 Bytes packet)

Get your copy of plipbox 0.6 on the plibbox homepage!

Here are some performance numbers:

  • Amiga 500 + ACA500:
    • Parallel Transfer: 175.39 rx/201.11 tx KB/s
    • Ethernet Transfer: 314.27 KB/s
    • Bridge (Internal Device Loopback): 102.65 KB/s
    • Bridge (SANA-II API Loopback): 92.88 KB/s
    • Bridge (TCP/IP stack Loopback): 71.81 KB/s
  • Amiga 500 + ACA500 + ACA1230/33
    • Parallel Transfer: 234.36 rx/234.80 tx KB/s
    • Ethernet Transfer: 314.05 KB/s
    • Bridge (Internal Device Loopback): 127.27 KB/s
    • Bridge (SANA-II API Loopback): 123.68 KB/s
    • Bridge (TCP/IP stack Loopback): 114.38 KB/s

plipbox 0.5 released

Release 0.5 of plipbox is now available and contains a software-only update that ships both a new Amiga plipbox.device driver and a new AVR firmware.

New features are:

  • Most important change is the handling of the MAC address. While in previous versions you had to set the correct MAC in both the Amiga driver and the AVR firmware, the new version automatically transmits the MAC address from the driver to the firmware. Inside the driver you can alter the address with SANA-II commands (if your TCP/IP stack supports it). This allows you to set different MACs that are required if multiple plipboxes are running on the same network.
  • I also added some features of the Ethernet chip to be enabled by firmware parameters: Namely full duplex mode and flow control are new options you can play with to tune the performance.
  • The new firmware also tracks the online/offline state of the driver and enables or disables the Ethernet module accordingly.
  • On the firmware’s command console I improved the device statistics output by adding the number of filtered, dropped or erroneous packets. Furthermore a new error log shows you if errors were found on the parallel transfer.
  • Under the hood quite a lot changed: I re-wrote the whole parallel protocol to use a client (Amiga device) server (AVR firmware) model. That better fits our application as the old MagPLIP way assumed a peer to peer protocol on the parallel line. This driver driven approach simplifies the protocol significantly and obsoletes collision handling…

Now grab your copy of the new release on the plipbox page and have fun!!

Networking on the Minimig with PPP and Roadshow

When working with an Amiga running on a Minimig platform then data transfer is not as convenient as one might think: You have an SD Card connected and copying files around with SD Card is not the biggest deal, but unfortunately your Amiga is currently running from a system drive stored on this card :/ Each copy operation therefore essentially requires a reboot of your Amiga and that’s not the productive work flow I had in mind…

That’s the reason why I always prefer having network access on all my machines for truly covenient file handling (e.g. with FTP, wget…).

In my last post I showed you how to add a SilverSurfer high speed serial port to your Minimig running on the Turbo Chameleon 64. Now we will use this serial port that is running up to 115200 Baud with ease for something useful: networking! Old farts remember the times when home network access was done with PPP and a serial modem gateway. We’ll go that road but replace the modem and gateway with a small and cheap Linux machine, here the all hyped Rpi and a direct serial “null modem” link via an USB-to-serial adapter.

TC64 with SilverSurfer attached to Raspi

TC64 with SilverSurfer attached to Raspi

Read on to find out all the glory details, starting with a pure “virtual” simulation running on a Mac on to the real thing…

[You can use this approach to bring other classic Amigas to the network, too. But for all machines with a parallel port available I’d suggest to use my plipbox project: Its far easier to setup, a lot faster (4-5x ), and even cheaper :)]

Continue reading

plipbox 0.4 released

Huh? Yet another plipbox release in such a short time, you might ask. While last time it was a software only update this time its a hardware update! I found such a nice new HW platform for the plipbox project that is really worth an immediate release…

While browsing ebay for some interesting hacking hardware last week, I stumbled across an Ethernet shield for the Arduino Nano that uses the ENC28J60 chip I need for the plipbox project in a very compact package… Combined with an off-the-shelve Arduino Nano v3 (clone from ebay that is) you get a very very nice packaging for the plipbox project. I call it the plipbox nano:

The release 0.4 now adds all you need to build your own plipbox nano:

  • A new firmware image for the nano (some parallel pins need to be changed due to collision with the Ethernet shield)
  • A schematic and board design for the plipbox nano base board. This board combines the parallel port connector and pin headers for the Ethernet shield. With the base board your can connect the plipbox nano directly to your Amiga and it really fits well without hiding the other connectors. See the plipbox gallery page for snapshots of an A1200 with attached plipbox nano. The board is a single layer PCB so you can build one yourself without much hassle. As an alternative you can simply use a small prototype board and solder the connector and pin headers there.

Grab your copy now on the plipbox project page and have fun building your own plipbox nano!

plipbox 0.3 released

It took quite a while but now a shiny new release of plibbox is available: The new version 0.3 is an AVR firmware and Amiga driver update and works on the same hardware as presented in 0.1 and 0.2.

The major change in this release was motivated by Nitz76, one of my commenters in the blog: plipbox firmware now implements a MAC bridge and no IP NAT gateway anymore (see this technical introduction for details on the differences). In short: While with the old firmware you created a point-to-point IP link from the Amiga to your plipbox and from there the traffic was NATed and routed to your local ethernet, the new approach directly presents an Ethernet card on the Amiga side and passes the Ethernet frames generated from the Amiga TCP/IP stack directly via PLIP to your local Ethernet.

This approach is much more compatible in your local network infrastructure as the NAT is avoided. The change required a larger rewrite of the SANA II driver and therefore I heavily modified the original MagPLIP implementation and renamed the new driver to plipbox.device (the new source code is now also hosted in the plipbox source repository). Please see the updated Amiga Setup guide for installing this driver on the popular TCP/IP stacks including AmiTCP, Genesis, MiamiDX, and Roadshow.

The new MAC bridge made a lot of the TCP/IP code of plipbox obsolete and allowed me to shrink the firmware size considerably. Furthermore, setting up the firmware is zero-conf now, i.e. you don’t have to adjust any parameters for default operation.

This release now hosts all the docs on GitHub right next to the source. It is more convenient there to keep the docs in sync with the implementation and writing markdown is really fun! Another goodie in this release is the plipbox Emulator written in Python that allows to emulate a plipbox setup in FS-UAE. Its esoteric but really helpful for development: see my previous log post for details…

Enjoy!

Emulating plipbox with FS-UAE

Recently, I had some time to spend and wanted to work on the plipbox project’s Amiga driver. Unfortunately, I only had my MacBook Pro with me and no Amiga or plipbox hardware.

What does a SW developer do if the real hardware is not at hand?

Yes, you write an emulator that represents the missing HW in SW on a machine you have access to…

Continue reading