






                              ADDENDUM - NOVEMBER 30, 1994

                                   BASIC11E9 V1.02

          Due to the external EEPROM size problem when saving  the  program
          larger than 8K running BASIC11 V1.01, BASIC11 V1.02 set the exter-
          nal EEPROM memory  from $4000 to $7FFF to provide entire 16k byte
          without any conflicting of I/O memory.

          Since  the  maximum size of the external EEPROM is 16K byte,  the
          default external ram size is also 16k byte. The external ram size
          is automatically calculated,  but it only worked for 8K,  and 16K
          on  BASIC11 V1.02.  Everything else should be the same as BASIC11
          V1.01.

          BASIC11 V1.01 is recommended for programs larger  than  16K,  and
          battery-backed-up  RAM  is  required  for  saving program  during
          power-off.

          ESAVE command only works for the following NMI boards:
               NMIX/T-0020
               NMIX/T-0021/22/23

          For jumper configurations, please see page 7 - 10.


                             ADDENDUM - APRIL 12, 1993

                                   BASIC11E9 V1.01


          CORRECTION

          1. The BASIC11 V1.55 does not work for the 68HC11E9 processor for
          the following BASIC word:

               EEP()

          because the internal EEPROM of 68HC11E9 is  protected  at  reset.
          In order to write the internal EEPROM,  the BPROT register should
          be cleared within the first 64 clock cycles.  The BASIC11E9 V1.01
          includes the BPROT register clearing step.


          NEW FEATURES

          1.  The BASIC11E9 V1.01 automatically calculates the size of  the
          external RAM (8K,  16K or 32K) and sets the environment variables
          accordingly.



                                          1






          2. Software stack is moved down to the location right after the 0
          page RAM.  Software stack occupies the location $100 through $34F
          (592 bytes).  And the basic program begins at $350.  Refer to the
          memory map of BASIC11E9 V1.01.

          3.  The table showing environment variable which used  to  be  at
          $FFC0 through $FFCE in BASIC11 V1.55 is removed.   Instead,  some
          of those variables are fixed as constants and others are moved to
          the beginning of ROM.  The new values of the variables are follow-
          ing:

               =========================================================
               Variable    Previous          Now         Notes
               ---------------------------------------------------------
               RAMstart    $2000 or $0100    $0350       Fixed
               RAMsize     $2000 or $7F00    Autosized   Not required
               EEstart     $A000 or $8000    $8000       External EEPROM
               EEsize      $2000 or $4000    $57F5       External EEPROM
               IObase      $C000             $B000       Fixed
               TimeVal     $F424             $F424       Location $E000
               UserInit    $FF49             $FF72       Location $E002
               DFLOPADR    $FFFF             Removed     Not required
               =========================================================

             The default external EEPROM is 32K which begins  at  $8000  to
          $DFFF.   However,  the first 11 bytes are reserved for the EEPROM
          programming header and the location $B000 through $B7FF are  used
          for  I/O registers,  internal RAM and internal EEPROM.   Location
          $E000 to $FFFF are used for program ROM.  Therefore,  the size of
          the EEPROM is $57F5 (22,517 bytes).

          4.  The  program  which  resides  in the external RAM survives on
          reset.  If the external RAM is battery-backed-up,  the program is
          not  lost at power-up or other reset.   In order to achieve this,
          the BASIC11E9 V1.01 moved the internal RAM up to  $B000.    Since
          the location $B000 through $B03F is used by 68HC11 I/O registers,
          $B040 to $B0FF is the actual internal RAM area available.

             The BASIC11E9 V1.01 declares a variable named "CLDWRM" at loca-
          tion $6C.  If CLDWRM contains a mask value $A55A, the basic skips
          the variable initialization phase of boot start.   The  BASIC11E9
          always  puts  the  $A55A  mask into CLDWRM during initialization.
          Therefore, unless user erases CLDWRM, the program in RAM is kept.

          5.  The program which resides in the external RAM can  be  autos-
          tarted using the command "AUTORAM".  The BASIC11E9 V1.01 declares
          a  variable "AUTORAMF" which contains an autostart flag.   If the
          value of AUTORAMF is $A55A,  the program in RAM  is  autostarted.
          The  AUTORAM  command writes $A55A at the variable AUTORAMF,  and
          the NEW command erases it.  Since the NEW command not only clears



                                          2






          AUTORAMF but also initializes the memory,  if you want to disable
          AUTORAM autostart while keeping your program in RAM, just write 0
          at location $6E by typing:

               POKE($6E,0)

             When autostarting a program out of the external ram,  one pos-
          sible problem is that the location $103D is  modified  by  68HC11
          hardware at every reset.   To solve this problem, BASIC11E9 V1.01
          backups the value in $103D at location $70 before reset  and  re-
          stores after reset.

          6.  When  programming EEPROM by "ESAVE",  any basic program whose
          size is bigger than  $2FF5  (12277  bytes)  is  programmed  split
          around the area $B000 to $B7FF automatically.   When the ELOAD is
          performed, the $B000-$B7FF hole is closed automatically.

             However,  in case of autostart out of EEPROM  (i.e.,  AUTOEE),
          the  program whose size is bigger than $2FF5 (12277 bytes) is not
          executable due to the $B000-$B7FF  segment hole,  and  the  Error
          #55  will be issued.   Therefore,  if the basic program is bigger
          than $2FF5,  AUTORAM autostart is recommended rather than  AUTOEE
          autostart.

          7.  When a control-C ($03) is received,  the program execution is
          stopped and the following message:

               BREAK IN LINE # <line_number>

          is printed on the terminal.   <line_number> is the line which was
          being  executed  when the control-C was received.   The execution
          can be resumed by the command "CONT" or "CONTINUE".

             The control-C program break feature can be disabled to prevent
          inadvertent program termination.  This is beneficial in a network
          environment when binary data is transfered between devices.   The
          following code will disable the control-C function:

               POKE($9E,$39): POKE($9F,$39): POKE($9E,$4F)

          The NEW command restores the break feature.


          SUMMARY OF NEW COMMANDS

               AUTOEE         AUTOST is renamed to differentiate AUTOEE
                              from AUTORAM

               AUTORAM        The AUTORAM instructs the BASIC11E9 V1.01 to
                              automatically start executing the program
                              stored in the external RAM after a power-up
                              or reset condition.  This command sets the

                                          3






                              AUTORAMF flag.

               NEW            The NEW command not only initializes the
                              variable and program spaces but also disables
                              the RAM autostart by clearing AUTORAMF flag.


          MEMORY MAP OF BASIC11E9 V1.01

          ================================================================
          ADDR | NAME         | DESCRIPTION
          ================================================================
            0  IBUFPTR        INPUT BUFFER POINTER
            2  TBUFPTR        TOKEN BUFFER POINTER
            4  BASBEG         START OF BASIC PROGRAM AREA
            6  BASEND         END OF BASIC PROGRAM
            8  VARBEGIN       START OF VARIABLE STORAGE AREA
            A  VAREND         END OF VARIABLE STORAGE AREA
            C  HILINE         HIGHEST LINE NUMBER IN PROGRAM BUFFER
            E  BASMEND        PHYSICAL END OF BASIC PROGRAM MEMORY
           10  VARMEND        PHYSICAL END OF VARIABLE MEMORY
           12  FIRSTLIN       FIRST LINE TO LIST
           14  LASTLIN        LAST LINE TO LIST
           16  INTPTR         INTEGER POINTER
           18  ERRCODE        ERROR CODE STATUS BYTE
           19  IMMID          IMMIDIATE MODE FLAG
           1A  BREAKCNT       ALSO USE FOR BREAK CHECK COUNT
           1A  COUNT          COUNT USED IN ESAVE & ELOAD ROUTINES
           1A  IFWHFLAG       TRANSLATING IF FLAG
           1B  TRFLAG         TRACE MODE FLAG
           1C  CONTFLAG       CONTINUE FLAG
           1D  RUNFLAG        INDICATES WE ARE IN THE RUN MODE
          ================================================================
          ADDR | NAME       | DESCRIPTION
          ================================================================
           1E  PRINTPOS       CURRENT PRINT POSITION
           1F  NUMSTACK       NUMERIC OPERAND STACK POINTER
           21  OPSTACK        OPERATOR STACK POINTER
           23  FORSTACK       FOR STACK POINTER
           25  WHSTACK        WHILE STACK POINTER
           27  GOSTACK        GOSUB STACK POINTER
           29  CURLINE        LINE # THAT WE ARE CURRENTLY INTERPRETING
           2B  ADRNXLIN       ADDRESS OF THE NEXT LINE
           2D  STRASTG        DYNAMIC STRING/ARRAY POOL POINTER
           2F  BFENCE         VAREND FENCE IN CASE OF AN ERROR IN XLATION
           31  IPSAVE         INTERPRETIVE POINTER SAVE FOR "BREAK"
           33  DATAPTR        POINTER TO DATA FOR READ STATEMENT
           35  RANDOM         RANDOM NUMBER/SEED
           37  DEVNUM         I/O DEVICE NUMBER
           38  TIMEREG        TIME REGISTER
           3A  TIMECMP        TIME COMPARE REGISTER
           3C  TIMEPRE        SOFTWARE PRESCALER FOR TIME

                                          4






           3D  ONTIMLIN       ONTIME LINE NUMBER TO GOTO
           3F  ONIRQLIN       ONIRQ LINE NUMBER TO GOTO
           41  ONPACLIN       ONPACC LINE NUMBER TO GOTO
           43  XONCH          XON CHARACTER FOR PRINTER
           44  XOFFCH         XOFF CHARACTER FOR PRINTER
           45  SCURLINE       USED TO SAVE CURLINE DURING INT. PROCESSING
           47  SADRNXLN       USED TO SAVE ADRNXLIN DURING INT.  PROCESSING

           49  INBUFFS        POINTER TO THE START OF THE INPUT BUFFER
           4B  TKNBUFS        POINTER TO THE START OF THE TOKEN BUFFER
           4D  EOPSTK         END OF OPERATOR STACK
           4F  STOPS          START OF OPERATOR STACK
           51  ENUMSTK        END OF OPERAND STACK
           53  STNUMS         START OF OPERAND STACK
           55  EFORSTK        END OF FOR - NEXT STACK
           57  STFORSTK       START OF FOR - NEXT STACK
           59  EWHSTK         END OF WHILE STACK
           5B  STWHSTK        START OF WHILE STACK
           5D  EGOSTK         END OF GOSUB STACK
           5F  STGOSTK        START OF GOSUB STACK
           61  DNAME          PLACE TO PUT THE VARIABLE NAME WHEN DOING A
                              DUMP COMMAND
           64  SUBMAX
           66  SUBCNT
           68  TOKPTR         TOKEN POINTER (USED FOR LIST COMMAND)
           6A  VARSIZE        USED BY THE LINE EDITOR. SIZE OF THE VARIABLE

                              TABLE
           6C  CLDWRM         NO-INIT FLAG
                              IF A55A, VARS ARE NOT INITIALIZED AT RESET.
           6E  AUTORAMF       RAM AUTOSTART FLAG
           70  RAM103D        RESERVOIR OF THE VALUE OF LOCATION $103D
           71  RAMSIZE        SIZE OF EXTERNAL RAM

          ================================================================
          ADDR | NAME         | DESCRIPTION
          ================================================================
           9E  CONSTAT        GET CONSOLE STATUS FOR BREAK ROUTINE.
           A1  INCONNE        GET BYTE DIRECTLY FROM CONSOLE FOR BREAK
                              ROUTINE.
           A4  INTABLE        RESERVE SPACE FOR 8 DIFFERENT INPUT ROUTINES.
           B4  OUTABLE        RESERVE SPACE FOR 8 DIFFERENT OUTPUT
                              ROUTINES.

          START OF RAM INTERRUPT VECTORS.

           C4  SCISS          SCI SERIAL SYSTEM.
           C7  SPITC          SPI TRANSFER COMPLETE.
           CA  PACCIE         PULSE ACCUMULATOR INPUT EDGE.
           CD  PACCOVF        PULSE ACCUMULATOR OVERFLOW.
           D0  TIMEROVF       TIMER OVERFLOW.
           D3  TOC5           TIMER OUTPUT COMPARE 5.

                                          5






           D6  TOC4           TIMER OUTPUT COMPARE 4.
           D9  TOC3           TIMER OUTPUT COMPARE 3.
           DC  TOC2           TIMER OUTPUT COMPARE 2.
           DF  TOC1           TIMER OUTPUT COMPARE 1.
           E2  TIC3           TIMER INPUT CAPTURE 3.
           E5  TIC2           TIMER INPUT CAPTURE 2.
           E8  TIC1           TIMER INPUT CAPTURE 1.
           EB  REALTIMI       REAL TIME INTERRUPT.
           EE  IRQI           IRQ INTERRUPT.
           F1  XIRQ           XIRQ INTERRUPT.
           F4  SWII           SOFTWARE INTERRUPT.
           F7  ILLOP          ILLEGAL OPCODE TRAP.
           FA  COP            WATCH DOG TIMER FAIL.
           FD  CMF            CLOCK MONITOR FAIL.

          SOFTWARE STACKS

          100  IBUF           Input Buffer(80 bytes)
          150  TBUF           Token Buffer(128 bytes)
          1D0  OPSTK          Operand Stack(30 bytes)
          1EE  NUMSTK         Number Stack(60 bytes)
          22A  FORSTK         FOR stack(80 bytes)
          27A  WHSTK          WHILE stack(16 bytes)
          28A  GOSTK          GOSUB stack(16 bytes)
          29A  RTSTK          Return stack(182 bytes)

          350                 BEGIN OF PROGRAM
          ================================================================

























                                          6



                             JUMPER SETTING FOR BASIC11 V1.01



                                      3 / 8K DEVICES

                     NMIX/T-0020                    NMIX/T-0021/22/23

                          A                                  A
                    +-----------+                      +-----------+
                +5V | o   o---o | A13              A13 | o---o   o | +5V
                    +-----------+                      +-----------+
                +5V | o   o---o | A14              A14 | o---o   o | +5V
                    +-----------+                      +-----------+
                          B                                  B


                                              C
                                          +-------+
                                0000-1FFF | o---o | --+
                                          | o   o |   |
                                          | o   o |   U2
                                          | o   o |   |
                                8000-9FFF | o-+ o | --+
                                          | o | o | --U3
                                          | o +-o | --U3
                                E000-FFFF | o---o | --U4
                                          +-------+


                                             N,O,P
                                  +-----------------------+
                                  | o   o   o   o   o   o |
                                  |     |   |           | |
                                  | o   o   o   o   o   o |
                                  +-----------------------+
                                   A14 VBB VBB A13 A14 RR/W

                                       6264 (8Kx8 RAM)
                                      27C64 (8Kx8 EPROM)
                                      28C64 (8Kx8 EEPROM)








                                          7



                              JUMPER SETTING FOR BASIC11 V1.01


                                     2 / 32K DEVICES


                     NMIX/T-0020                     NMIX/T-0021/22/23

                          A                                  A
                    +-----------+                      +------------+
                +5V | o---o   o | A13              A13 | o   o---o  | +5V
                    +-----------+                      +------------+
                +5V | o---o   o | A14              A14 | o   o---o  | +5V
                    +-----------+                      +------------+
                          B                                  B


                                              C
                                          +-------+
                                          | o   o | --+
                                          | o   o |   |
                                          | o   o |   U2
                                0000-7FFF | o---o |   |
                                          | o   o | --+
                                          | o   o | --U3
                                          | o   o | --U3
                                8000-FFFF | o---o | --U4
                                          +-------+


                          N,O,P                            N,O,P
                +-----------------------+        +-----------------------+
                | o   o   o   o   o   o |        | o   o   o   o   o   o |
                | |           |       | |        |     |       |   |     |
                | o   o   o   o   o   o |        | o   o   o   o   o   o |
                +-----------------------+        +-----------------------+
                 A14 VBB VBB A13 A14 RR/W         A14 VBB VBB A13 A14  RR/W


                    62256 (32Kx8 RAM)                27C256 (32Kx8 EPROM)







                                          8




                             JUMPER SETTING FOR BASIC11 V1.02


                                      3 / 8K DEVICES


                     NMIX/T-0020                    NMIX/T-0021/22/23

                          A                                  A
                    +-----------+                      +-----------+
                +5V | o   o---o | A13              A13 | o---o   o | +5V
                    +-----------+                      +-----------+
                +5V | o   o---o | A14              A14 | o---o   o | +5V
                    +-----------+                      +-----------+
                          B                                  B


                                              C
                                          +-------+
                                0000-1FFF | o---o | --+
                                          | o   o |   |
                                4000-5FFF | o-+ o |   U2
                                          | o | o |   |
                                          | o | o | --+
                                          | o +-o | --U3
                                          | o   o | --U3
                                E000-FFFF | o---o | --U4
                                          +-------+


                                             N,O,P
                                  +-----------------------+
                                  | o   o   o   o   o   o |
                                  |     |   |           | |
                                  | o   o   o   o   o   o |
                                  +-----------------------+
                                   A14 VBB VBB A13 A14 RR/W

                                       6264 (8Kx8 RAM)
                                      27C64 (8Kx8 EPROM)
                                      28C64 (8Kx8 EEPROM)







                                          9



                              JUMPER SETTING FOR BASIC11 V1.02



                                     3 / 16K DEVICES


                     NMIX/T-0020                     NMIX/T-0021/22/23

                          A                                  A
                    +-----------+                      +------------+
                +5V | o---o   o | A13              A13 | o   o---o  | +5V
                    +-----------+                      +------------+
                +5V | o   o---o | A14              A14 | o---o   o  | +5V
                    +-----------+                      +------------+
                          B                                  B


                                              C
                                          +-------+
                                          | o   o | --+
                                0000-3FFF | o---o |   |
                                          | o   o |   U2
                                4000-7FFF | o-+ o |   |
                                          | o | o | --+
                                          | o +-o | --U3
                                          | o   o | --U3
                                C000-FFFF | o---o | --U4
                                          +-------+


                                             N,O,P
                                  +-----------------------+
                                  | o   o   o   o   o   o |
                                  |     |       |       | |
                                  | o   o   o   o   o   o |
                                  +-----------------------+
                                   A14 VBB VBB A13 A14 RR/W
                                      62128 (16Kx8 RAM)
                                     27C128 (16Kx8 EPROM)
                                     28C128 (16Kx8 EEPROM)







                                         10

