The Complete Sinclair ZX81 Basic Course

See all articles from SYNC v2 n5

The Complete Sinclair ZX81 Basic Course. Published by Beam Software, U.K. and Australia. 255 pages; softbound with two hole punched pages and two rings. In U.S. available from Softsync for $35; two program cassettes, $5.

It has been said, ‘It’s not what something costs that counts; it’s what it’s WORTH!’ That certainly seems true in the case of The Complete Sinclair ZX81 Basic Course. You get 255 pages of 8-1/4′ x 5-1/2′ two-hole punched sheets held together by two rings in a fancy vinyl cover. Thirty-five dollars for this? It looks like a real ripoff!

Further inspection does not help. No author’s name is given—just Beam Software, with publishers in England and Australia. Look in the back for an index, and you will not find one. Look in the front for a table of contents, and you find a single page headed ‘INDEX.’

First impressions, however, can be deceiving.

The course begins with the assumption that you know practically nothing about computers or programming and holds your hand pretty tightly. If you are a beginner, you should go through each example with your ZX81 at your side. However, later chapters go into depth on some very valuable material for those intending to do significant programming on the ZX81.

Chapter 1 starts with simple programming that a beginner really should be able to follow. This is unlike many so-called beginner’s books. Chapter 2 explains simple flowcharting. Chapters 3 and 4 go into arithmetic operations and functions in depth with examples to explain the purpose of various functions while avoiding mathematical theory.

Chapters 5 and 6 do a great job of explaining strings and string functions, including ‘slicing’ and substring handling. Chapter 7 covers editing with more information than the Sinclair manual. However, it should have gone into more depth since efficient editing can be a real timesaver in programming. Chapters 8 and 9 explain loops and conditional statements well. Chapter 10 covers arrays, both simple and string. This is a subject of immense importance in the ZX81 since READ/DATA are not provided.

Chapters 11 through 15 cover subroutines, character codes and graphics, FAST and SLOW operation, screen formatting, graphic layout, INKEY$, and PAUSE.

Chapter 16 describes procedures for using a cassette recorder to store and retrieve programs, and Chapter 17 discusses a programming method known as “top down programming.” Chapter 18 has an excellent discussion of debugging programs along with expanded explanations of what the 15 ZX81 errors codes really mean.

Chapters 19 through 22 get into the high ground of memory saving techniques, machine code programs, system variables, and advanced graphics. These chapters are definitely not for beginners, but greatly increase the value of this book for non-beginners. PEEK, POKE, and USR are illustrated with line renumber and memory-size machine language programs cleverly hidden in REMark statements at the beginning of a Basic program. The various system pointers are discussed in sufficient detail to help you understand the very peculiar goings-on “under the hood,” including the wild antics of the elastic display file of the 1K ZX81. For those schooled in a different memory access, such as the TRS-80, this will be a real education! These chapters are just loaded with information either not available or well-hidden in the Sinclair Manual.

The three appendices include the standard 255 character set with all keywords, a priority listing for program operations, and several application programs that implement the techniques described in the book.

The last 78 pages are a reference manual of all 64 ZX81 keywords, with a page or more of explanation devoted to each. For beginners and those not acquainted with some of the peculiarities of Sinclair 8K Basic, these pages are a treasure that can save a great deal of time and avoid much frustration, especially in translating programs from other Basics. This section alone may be worth the price of the book.

Two cassettes, containing 18 programs from the book, are available separately. They loaded and ran perfectly. This saved a great deal of keyboard and debugging time.

If you have any interest in learning to program your ZX81, especially if you are new in computing, I would recommend this course highly. If you are already a user, you probably do not need it. Instead you might buy ready-to-go programs and just enjoy!