;                           CONTENS.
;                           ========
;         INTRODUCTION
;         THE DISASSEMBLY 
;           - THE RESTART ROUTINES AND TABLES 
;           - THE KEYBOARD ROUTINES 
;           - THE LOUDSPEAKER ROUTINES
;           - THE CASSETTE HANDLING ROUTINES
;           - THE SCREEN AND PRINTER HANDLING ROUTINES
;           - THE EXECUTIVE ROTINES 
;           - BASIC LINE AND COMMAND INTERPRETATION 
;           - EXPRESION EVALUTION 
;           - THE ARITHMETIC ROUTINES 
;           - THE FLOAT-POINT CALCULATOR
;         APPENDIX
;          - BASIC PROGRAM FOR THE MAIN SERIES
;            (SIN X,EXP X,LN X,ATN X) 
;          - THE "DRAW" ALGORITHM 
;          - THE "CIRCLE" ALGORITHM 
;          - NOTE ON SMALL INTEGERS AND 65536 
;         INDEX TO ROUTINES 
; 
;                          INTRODUCTION 
;                          ============ 
; 
;     THE  16K  MONITOR PROGRAM OF THE SPECTRUM IS A COMPLEX Z-80 
;MACHINE CODE PROGRAM.ITS OVERALL STRUCTURE IS VERY CLEAR IN THAT 
;IT IS DIVIDED INTO THERE MAJOR PARTS:
;     A) INPUT / OUTPUT ROUTINES. 
;     B) BASIC INTERPRETER. 
;     C) EXPRESSION HANDLING. 
;     HOWEVER THOSE BLOCKS ARE TOO LARGE TO BE MANAGED EASILY AND 
;THIS BOOK THE MONITOR PROGRAM IS DISCASSED IN TEN PARTS. 
;     EACH OF THESE PARTS WILL NOW BE "OUTLINED". 
; 
;               THE RESTART ROUTINES AND TABLES.
;               --------------------------------
; 
;     AT  THE  START OF THE MONITOR PROGRAM ARE THE VARIOUS "RES- 
;TART" ROUTINES THAT ARE CALLED WITH THE SINGLE  BYTE  'RST'  IN- 
;STRUCTIONS.   ALL  OF  THE  "RESTART"  ARE  USED.   FOR  EXAMPLE 
;'RESTART 0008' IT USED FOR THE REPORTING OF SYNTAX OR  RUN  TIME 
;ERRORS.
;     THE TABLES IN THIS PART OF THE MONITOR PROGRAM HOLD THE EX- 
;PENDED FROMS OF THE TOKENS AND THE 'KEY-CODES'.
; 
;                      THE KEYBOARD ROUTINE.
;                      ---------------------
; 
;     THE  KEYBOARD  IS SCANNED EVERY 1/50 TH.  OF A SECOND (U.K. 
;MODEL) AND THE KEYBOARDS ROUTINE RETURNS THE REQUIRED  CHARACTER 
;CODE.   ALL  OF  THE KEYS OF THE KEYBOARD 'REPEAT'.  IF THEY ARE 
;NELD DOWN AND THE KEYBOARD ROUTINE TAKES  THIS  INTO  CONSIDERA- 
;TION.
; 
;                    THE LOUDSPEAKER ROUTINES.
;                    -------------------------
; 
;     THE  SPECTRUM  HAS A SINGLE ON-BOARD LOUDSPEAKER AND A NOTE 
;IS PRODUCED BY REPEATEDLY USINGTHE APPRORARIATE  'OUT'  INSTRUC- 
;TION.   IN  THE  CONTROLLER ROUTINE GREAT CARE HAS BEEN TAKEN TO 
;ENSURE THAT THE NOTE IS HELD AT A GIVEN "PITCH"  THROUGHOUT  ITS 
;'DURATION'.
; 
;                 THE CASSETTE HANDLING ROUTINES. 
;                 ------------------------------- 
; 
;     IT WAS A VERY UNFORTUNATS FEATURE OF THE ZX-81 THAT SO LIT- 
;TLE OF THE MONITOR PROGRAM FOR MECHINE WAS DEVOTED TO  THE  CAS- 
;SETTE  HANDLING.   HOWEVER IN THE SPECTRUM THERE IS AN EXTENSIVE 
;BLOCK OF CODE AND NOW THE HIGH STAND AND OF CASSETTE HANDLING IS 
;ONE  OF THE MOST SUCCESSFUL FEATURES OF THE MACHINS.  BASIC PRO- 
;GRAM OR BLOCKS OF DATA ARE BOTH DEALT WITH IN THE SAME MANNER OF 
;HAVING  A  'HEADER' BLOCK (SEVENTEEN BYTES) THAT IS SAVED FIRST. 
;THIS 'HEADER' DESCRIBES THE 'DATA BLOCK'THAT IS SAVED AFTER  IS. 
;ONE DISADVANTAGE OF THIS SYSTEM IS THE...
; 
;                   PRINTER HANDLING ROUTINES.
;                   --------------------------
; 
;     ALL  OF THE REMAINING INPUT/OUTPUT ROUTINES OF THE SPECTRUM 
;ARE 'VECTORED' THROUGHT  THE  'CHANNEL  AND  STREAM  INFORMATION 
;AREA' IN THE STANDART SPECTRUM 'INPUT' IS ONLY POSSIBLE FROM THE 
;KEYBOARD BUT 'OUTPUT' CAN BE DIRECTED TO THE  PRINTER,THE  UPPER 
;PART  OF  THE  T.V.  DISPLAY OR THE LOWER PART OF THE T.V.  DIS- 
;PLAY.  THE MAJOR 'INPUT' ROUTINE IN THIS  PART  OF  THE  MONITOR 
;PROGRAM  IS THE "EDITOR"THAT ALLOWS THE USER TO ENTER CHARACTERS 
;INTO THE LOWER PART  OF  THE  T.V.   DISPLAY.   THE  "PRINT-OUT" 
;ROUTINE IS A RATHER SLOW ROUTINS AS THE SAME ROUTINE IS USED FOR 
;'ALL POSSIBILLITES'.FOR EXAMPLE,THE ADDING OF A SINGLE  BYTE  TO 
;THE  'DISPLAY  ARES'  INVOLVES CONSIDERING THE PRESENT STATUS OF 
;'OVER' AND 'INVERSE' ON EVERY OCCASSION. 
; 
;                     THE EXECUTIVE ROUTINES. 
;                     ----------------------- 
; 
;     IN  THIS  PART  OF  THE MONITOR PROGRAM ARE TO BE FOUND THE 
;'INITIALISATION' PROCEDURE AND THE 'MAIN EXECUTIVE LOOP' OF  THE 
;BASIC  INTERPRETER.   IN THE SPECTRUM THE BASIC LINE RETURNED BY 
;THE 'EDITOR' IS CHECKED FOR THE CORRECTRIES OF  ITS  SYNTAX  AND 
;THEN SAVED PROGRAM AREA.  IF IT WAS A LINE STARTING WITH AA LINE 
;NUMBER ,OR 'EXECUTED' OTHERWISE.  THIS  EXECUTION  CAN  IN  TURN 
;LEAD  TO FURTHER STATEMENT BEGIN CONSIDERED.(MOST CLEARY SEEN AT 
;IN CASE OF 'RUN')
; 
;            BASIC LINE AND COMMAND INTERPRITATION. 
;            -------------------------------------- 
; 
;     THIS  PART  OF THE MONITOR PROGRAM CONSIDERS A 'BASIC' LINE 
;AS A SET OF STATEMENTS AND IN ITS TURN EACH STATEMENT AS  START- 
;ING WITH A PARTICULAR COMMAND THERE IS A 'COMMAND ROUTINE'AND IT 
;IS THE EXECUTION OF THE MACHINE CODE IN THE APPROPRIATE 'COMMAND 
;ROUTINE' THAT EFFECTS THE 'INTERPRETATION'.
; 
;                    EXPRESSION EVALUATION. 
;                    ---------------------- 
; 
;     THE  SPECTRUM HAS A MOST COMPREHENSIVE EXPRESSION EVALUATOR 
;ALLOWING FOR A WIDE RANGE  OF  VERIABLE  TYPES,  ONCE  THEY  ARE 
;REDUNDENT.   THIS MEANS THAT THERE IS NO 'GARBAGE COLLECTING' TO 
;BE DONE. 
; 
;                   THE ARITHMETIC ROUTINES.
;                   ------------------------
; 
;     DIFFERENT  'BASIC'  COMMANDS AND FUCTIONS.  THE PROGRAMMERS 
;HAVE ALWAYS HOWEVER BEEN SHORT OF 'ROOM' AND HENCE  THE  PROGRAM 
;IS WRITTEN FOR 'COMPACTNESS' RATHER THAN 'SPEED'.
                                                                                                                                                                                                                                                                    