How to use it

Here's how to use SpeccyBoot:


BOOTP & TFTP server configuration

You will need to install and/or activate servers for BOOTP and TFTP on a computer in your local network. BOOTP/TFTP server software is freely available for most platforms.

Most UNIX variants either include a TFTP server by default, or allow you to install one quite easily. There are third-party TFTP servers for Microsoft Windows too.

BOOTP & TFTP server in Ubuntu 20.04

For Ubuntu 20.04, I recommend running dnsmasq (which handles both BOOTP and TFTP).

Preparing a directory of snapshots

Your .z80 snapshots need to be made accessible to your TFTP server. Different TFTP servers use different directories, so check your documentation. (In the dnsmasq example configuration above, this directory is /var/tftp; other TFTP servers likely use something else.)

Copy your .z80 snapshots to this directory:

SNAPDIR=/var/tftp          # <-- adapt this path to match your setup
sudo mkdir -p $SNAPDIR
sudo cp <path-to-snapshots>/*.z80 $SNAPDIR

Updating the snapshot index

After you have created the directory above, and whenever you add or remove a snapshot to/from this directory, you will need to update the SpeccyBoot index menu.dat.

The Python script speccyboot-update generates a menu.dat file for you. This script is located in the utils directory of the SpeccyBoot source code, and is installed into /usr/local/bin by running make install from the speccyboot/utils directory in the SpeccyBoot source tree.

Once speccyboot-update is installed, you can update the snapshot index at any time (such as when you have added a new snapshot to your TFTP directory) by typing

sudo speccyboot-update

Loading snapshots

If the TFTP server configuration above went well, you should now be able to turn on your Spectrum, see it figure out its IP address as well as that of the TFTP server, and present your list of snapshots. Use the arrow keys to navigate the list, the alphabetic keys to jump directly to snapshots whose name begin with that letter, and Enter to load the selected snapshot.

To boot into BASIC rather than the SpeccyBoot menu, press Caps Shift and keep it pressed while power-cycling/resetting the Spectrum.

Troubleshooting

If the SpeccyBoot seems stuck, look at the border colour:

Border colourErrorExplanationRemedy
red
file not found The TFTP server responded with a TFTP ERROR. This usually means the requested file could not be found on the server. Check your TFTP configuration and re-run speccyboot-update.
white
communication time-out

The border is white during normal operation, so a white border is not in itself an indication of any error.

However, if SpeccyBoot gets stuck for more than ten seconds with a white border it is likely due to a missing (or faulty) server response:

  • If all you see is a "SpeccyBoot" heading and a flashing green/black cursor, but no IP addresses, BOOTP communication failed.
  • If you see two IP addresses on screen (local+server) and a flashing green/black S, TFTP communication failed.

Check your BOOTP and/or TFTP server configuration.

Wireshark can be useful for determining what's gone wrong.