SINCLAIR ZX SPECTRUM BASIC
Programming

Sinclair ZX Spectrum
CHAPTER 1
INTRODUCTION
Whether you read the Introductory book first, or came straight here, you should be aware that commands are obeyed straight away, and instructions begin with a line number and are stored away for later. You should also be aware of the commands: PRINT, LET, and INPUT (which can be used on all machines that use BASIC), and BORDER, PAPER and BEEP (which are used on the Spectrum).

This BASIC manual starts by repeating some things given in the introductory booklet, but in much more detail, telling you exactly what you can and cannot do. You will also find some exercises at the end of each chapter. Don't ignore these; many of them illustrate points that are hinted at in the text. Look through them, and do any that interest you, or that seem to cover ground that you don't understand properly.

Whatever else you do, keep using the computer. If you have the question "what does it do if I tell it such and such?" then the answer is easy: type it in and see. Whenever the manual tells you to type something in, always ask yourself, "what could I type instead?", and try out your replies. The more of your own programs you write, the better you will understand the computer.

At the end of this programming manual are some appendices. These include sections on the way the memory is organised, how the computer manipulates numbers, and a series of example programs illustrating the power of the ZX Spectrum.

The keyboard

ZX Spectrum characters comprise not only the single symbols (letters, digits, etc), but also the compound tokens (keywords, function names, etc) and all these are entered from the keyboard rather than being spelled out. To obtain all these functions and commands, some keys have five or more distinct meanings, given partly by shifting the keys (i.e. pressing either the CAPS SHIFT key or the SYMBOL SHIFT key at the same time as the required one) and partly by having the machine in different modes.

The mode is indicated by the cursor, a flashing letter that shows where the next character from the keyboard will be inserted:

  • (for keywords) mode automatically replaces mode when the machine is expecting a command or program line (rather than INPUT data), and from its position on the line it knows it should expect a line number or a keyword. This is at the beginning of the line, or just after THEN, or just after : (except in a string). If unshifted, the next key will be interpreted as either a keyword (written on the keys), or a digit.
  • (for letters) mode normally occurs at all other times. If unshifted, the next key will be interpreted as the main symbol on that key, in lower case for letters.
  • In both and modes, SYMBOL SHIFT and a key will be interpreted as the subsidiary red character on the key and CAPS SHIFT with a digit key will be interpreted as the control function written in white above the key CAPS SHIFT with other keys does not affect the keywords in mode, and in mode it converts lower case to capitals.
  • (for capitals) mode is a variant of mode in which all letters appear as capitals. CAPS LOCK causes a change from mode to mode or back again.
  • (for extended) mode is used for obtaining further characters, mostly tokens. It occurs after both shift keys are pressed together, and lasts for one key depression only. In this mode, a letter gives one character or token (shown in green above it) if unshifted, and another (shown in red below it) if pressed with either shift. A digit key gives a token if pressed with SYMBOL SHIFT; otherwise it gives a colour control sequence.
  • (for graphics) mode occurs after GRAPHICS (CAPS SHIFT and 9) is pressed, and lasts until it is pressed again or 9 is pressed on its own. A digit key will give a mosaic graphic, quit GRAPHICS or DELETE, and each of the letter keys apart from V, W, X, Y and Z, will give a user-defined graphic.
If any key is held down for more than about 2 or 3 seconds, it will start auto-repeating.

Keyboard input appears in the bottom half of the screen as it is typed, each character (single symbol or compound token) being inserted just before the cursor. The cursor can be moved left with CAPS SHIFT and 5, or right with CAPS SHIFT and 8. The character before the cursor can be deleted with DELETE (CAPS SHIFT and 9). (Note: the whole line can be deleted by typing EDIT (CAPS SHIFT and 1) followed by ENTER.)

When ENTER is pressed, the line is executed, entered into the program, or used as INPUT data as appropriate, unless it contains a syntax error. In this case a flashing inverse question mark appears next to the error.

As program lines are entered, a listing is displayed in the top half of the screen. The last line entered is called the current line and is indicated by the symbol >; this can be moved by using the keys Cursor down (CAPS SHIFT and 6) and Cursor up (CAPS SHIFT and 7). If EDIT (CAPS SHIFT and 1) is pressed, the current line is brought down to the bottom part of the screen and can be edited.

When a command is executed or a program run, output is displayed in the top half of the screen and remains until a program line is entered, or ENTER is pressed with an empty line, or Cursor up or Cursor down (CAPS SHIFT and 6) and Cursor up is pressed. In the bottom part appears a report giving a code (digit or letter) referred to in Appendix B. The report remains on the screen until a key is pressed (and indicates K mode).

In certain circumstances, CAPS SHIFT with the SPACE key acts as a BREAK, stopping the computer with report D or L. This is recognised:

i. at the end of a statement while a program is running, or
ii. while the computer is using the cassette recorder or printer.

The television screen

This has 24 lines, each 32 characters long, and is divided into two parts. The top part is at most 22 lines and displays either a listing or program output. When printing in the top part has reached the bottom, it all scrolls up one line; if this would involve losing a line that you have not had a chance to see yet, then the computer stops with the message scroll?. Pressing the keys N, SPACE or STOP will make the program stop with report D BREAK - CONT repeats; any other key will let the scrolling continue. The bottom part is used for inputting commands, program lines, and INPUT data, and also for displaying reports. The bottom part starts off as two lines (the upper one blank), but it expands to accommodate whatever is typed in. When it reaches the current print position in the top half, further expansions will make the top half scroll up.

Sinclair ZX Spectrum

  Previous Page Back Next Page