Regarding the filespec, this can be as simple as an empty string, however this has special meaning for tapes and disk images. Typing:

LOAD ""

will produce an F Invalid file name, 0:1 error. We'll revisit this promptly but first let's type:

LOAD "t:"

If you now repeat the previous command, you will see something changing on your screen, with its border turning red and the rest of the screen becoming blank. This simply means that your ZX Spectrum Next is expecting a tape to load! Indeed, finding a tape deck, connecting it to your computer and a ZX Spectrum program on tape, inserting it and pressing PLAY you will start seeing blue and yellow bars running down the border and the program eventually loading. What the series of commands we just typed did, is to first switch the default LOAD device to tape (that's denoted by the drive name T:) as opposed to the SD Card and then attempted to load the first program on the tape that it could find. Pressing SPACE or BREAK will return you to NextBASIC without loading anything. There is a shortcut of the previous series of commands in the form of the Tape Loader option in the NextZXOS Startup Menu. This is also the preferred way of loading tape-based software on your ZX Spectrum Next. Using LOAD with only a drive name as parameter will set the default drive to that drive and all file operations not having a drive name specified in the filespec will assume it.

We already learned that filespec can be only a drive name. There is one more special case and this concerns virtual disks. Obviously, unlike what happens with a tape, the concept of the first program you can find cannot exist on a random access medium like a disk, so LOAD "" will produce the error we saw when we first attempted it. In virtual disks however it is possible to give the command:

LOAD "*"

This will attempt to load a special file named *, or, in the absence of that, load a file called DISK. As we saw earlier, you cannot use NextBASIC to name a file * as this character is a wildcard; you can however save a file called DISK and this will be loaded and if saved with the appropriate SAVE option, will also execute. You can try this by pointing the Browser to c:/demos/NextBASIC/ and selecting demo.dsk as a virtual disk, when prompted to mount it, select A and then N (when asked if you would like to Autoboot it). Then just type the command above and you'll be greeted by a cheerful Hello World message.

A bit earlier, we discussed how wildcard characters can be useful. We saw how it is to use one as filespec in LOAD which as we said is reserved only for virtual disks. A variation to that which uses the * wildcard is the following:

LOAD "d*"

which will attempt to load the first NextBASIC file that starts with the letter d. We'll revisit wildcards further below as they're a very powerful tool for manipulating files.

So far we've examined LOAD with only the filespec option. This will load NextBASIC programs into memory, however with the optional use of MODIFIER directives, LOAD can display pictures, retrieve long data segments and load either code or raw data into memory.

One of the nice facilities provided by NextBASIC is the ability to store the screen as it's being displayed at a given moment, in order to be loaded later and redisplayed instantly, whether it contains graphics, text or both. There are two (plus one) ways that this can be achieved; first is with the use of SCREEN$ and second is with the use of the LAYER modifiers. Here we'll skip ahead as we haven't talked about SAVE yet but for the time being type the following:

10 LAYER 0

ZX Spectrum Next User Manual, 3rd Edition (ISBN 978-1-5272-5496-1), written and illustrated by Phoebus R. Dokos. Copyright © 2020-2024 Phoebus Dokos / SpecNext Ltd. Licensed under CC BY-NC-SA 4.0. This is a transcription and can contain errors; check any doubt against the printed page.