CAT "2m:*.bas" Displays a list of all files ending in .bas in user area 2 of drive m:
CAT "c:/nextzxos/" Displays the contents of folder nextzxos found on drive c:
CAT "c:/nextzxos/e*.*" Displays all files whose filename starts with the letter e in the folder nextzxos on drive c:
CAT has two aliases in NextBASIC: DIR and LS. Both follow the exact same syntax so all the above applies to them. There are also two dot commands .ls and .lstap which are available on both NextZXOS proper and the 48K Basic mode available from the Startup menu. They replicate CAT and the combination of .tapein15 and CAT "t:" respectively. .ls has a lot more options available than CAT which can be seen once you type:
.ls --help
which will give you about 3 screens full of available options! For most purposes however it is used in the same manner as CAT filespec-wise. .ls does not require the filespec to be enclosed in double quotes if there is no drive specified (drives contain colon characters and both Sinclair as well as NextBASIC consider this as a statement separator and will complain). One major difference in the way .ls displays the files versus how CAT displays the files is that it uses the short format; ie. it's closer to giving CAT - than just plain CAT. Similarly, .lstap provides extra information than CAT "t:" provides as you will see by giving:
.lstap --help
.lstap is particularly useful in 48K Basic mode as there is no CAT "t:" equivalent in that version.
One of the major features of any operating system such as NextZXOS is the organisation and management of files within the capabilities of its supported filesystems. In earlier times, such as when the predecessor models of the ZX Spectrum Next were first available, file storage needs were not as pressing as they are today.
Storage media couldn't really hold a lot of information and even program sizes were tailored to the memory available to the computers of the era. Operating systems in other words, weren't really needed unless one had very important business files to manage. As time went on and computer capabilities grew, the few files that could fit on a tape or a microdrive cartridge became the tens that could fit on a floppy disk while today with the capacities of storage media skyrocketing we have to manage tens or even hundreds of thousands of files. Compare a microdrive cartridge that held 90 KBytes of data which was a massive capacity for the times, to your System/Next™ distribution that can hold 176 million times as much.
Early on, once the first disk based systems became available, the need to organise files in a more logical way was recognised and the first type of grouping of files was realised in the form of 16 user areas (numbered from 0 to 15). User areas served other needs as well but for a machine like the ZX Spectrum +3 that introduced it to the ZX Spectrum line, it was a means to gather together files. User areas are more than adequate for limited capacity storage media but wholly inadequate for larger media like the multi-megabyte hard drives that followed.
To that effect the concept of a folder (also known as a directory) was introduced which in itself can hold other folders in a nested organisational chain. This structure is called a directory tree (it's really an inverted tree with the root of it sitting at the top).
The FAT filesystem used on your System/Next™ distribution is a prime example of that organisation. It's obvious that with folders being nested, constantly writing commands like SAVE or LOAD that includes the length of any number of folders in addition to the file's name itself can be very copious. To that effect apart from the commands that deal with the
15 .tapein is a dot command utility that lets NextZXOS assign a virtual tape image to the t: drive instead of the real tape
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.