SE Basic 0.93e User Guide

Note:
This version fixes LIST and LLIST support in the 128 Editor.
This version also fixes SCREEN$ (n,n) support in the SE Basic Compiler.

Editor changes (brief summary):

* All the bugs are fixed.

* SE Basic's routines are optimized so it is marginally faster than the
  original version of BASIC and much faster than 128 BASIC.

* The machine resets much faster.

* 128-style copyright message.

* New 6x8 font for use in 32, 42, 64 and 85 column modes.

* The FREE MEMORY routine is relocated. Call it with:
  PRINT 65536 - USR 95.

* The NMI button calls a default Break routine or you can assign your own
  routine by poking the address into NMIADD.

* Keywords are now ANSI compatible.

* Simplified the keyboard. All the symbols are now available via symbol-
  shift and the normal key for that symbol. The copyright character is on
  the 'I' key which does not normally have a symbol.

* Added a tokenizer and removed 'K' mode. All keywords must be typed in
  full but macros are available for the most common ones. Commands and
  functions can be entered in upper, lower, or mixed case.

* Hid EXTEND mode. Normally has no function but can still be used to get
  in-line control codes and macros.

* Added macros to certain number keys with EXTEND+SYMBOL SHIFT:

     6 - RUN [ENTER]
     7 - SAVE "" [<-]
     9 - LOAD "" [ENTER]
     0 - CLS 56 [ENTER]

* Replaced the letter cursors with block colour cursors as follows:

     'L' - Blue
     'C' - Yellow
     'G' - Green
     '?' - Red

* Inverted the '>' cursor which appears in the auto listing (just like on
  the ZX81).

* Changed the error cursor to behave like the 128. If you enter a line with
  incorrect syntax, the machine beeps, the cursor goes red and jumps to
  where it thinks the error is.

* Extended the valid line range to 1-16383.

* Cursors can move up and down as well as left and right in an edit line.

* New editing keys: TRUE VIDEO = down ten lines, INV. VIDEO = up ten lines.
  <= = jump to start of edit line. >= = jump to end of edit line. 

* Since the 'STOP' token is removed from the keyboard, pressing cursor down
  during an INPUT A or INPUT A$ command will produce the token. It will
  still Break into the program as normal during an INPUT LINE A$ command.

* Changed the error messages and the way they are output. Whereas before
  you might have got the error:

     R Tape loading error, 10:1

  Now you would get:

     Loading error 10:1

* Prevented the keys V-Z from producing tokens in 'G' mode.

* Inverted the cursor so it shows up in 512x192 mode on Timex machines.

* Six new keywords (although they don't do anything yet and are ignored by
  the editor - they are recognized by the tokenizer though):

     DELETE
     EDIT
     ON ERROR
     RENUM
     SYSTEM
     TRACE

* Numbers can be entered in hex using the '&' prefix. Works in much the
  same way as the BIN function and can be used in conjunction with other
  functions and mathematical operators.

* Enhanced some of the commands and functions:

     CLS     - Now takes parameters. Works as normal without a parameter
               (defaults to CLS 0) but sets border and attributes with a
               value from 1 to 255. Produces 'Out of range' error with
               higher values.

     CONT    - Replaces CONTINUE. Works as normal.

     COPY    - Now a file command. Now takes any syntax. Produces 'Bad
               device' error unless additional hardware connected.

     DEL     - Replaces ERASE. Now takes any syntax. Produces 'Bad device'
               error unless additional hardware connected.

     DIR     - Replaces CAT.  Now takes any syntax. Produces 'Bad device'
               error unless additional hardware connected.

     FORMAT  - Now takes any syntax. Produces 'Bad device' error unless
               additional hardware connected.

     GOTO    - Replaces GO TO. Works as normal.

     GOSUB   - Replaces GO SUB. Works as normal.

     LIST    - LIST only lists the line you name rather than the whole
               program starting at that line. The full syntax of LIST is:

                  LIST [x][,[y]]

               where x is the starting line number (default 0) and y is the
               ending line number (default 16383). Produces 'Out of range'
               error with line numbers greater than 16383.

     LLIST   - Equivalent of the new LIST command only sent to stream #3. 

     MOVE    - Now takes any syntax. Produces 'Bad device' error unless 
               additional hardware connected.

     NEW     - Now takes parameters. Works as normal without a parameter
               (defaults to NEW 0). NEW 1 is the equivalent of PRINT USR 0.
               NEW n is the equivalent of CLEAR n: NEW. Produces 'Bad
               RAMTOP' error with values outside the range of CLEAR.

     SCREEN$ - Can now detect UDGs as well as normal ASCII characters. It
               cannot detect predefined graphics as there is no bitmap to
               compare them against.
