Micro­power

  

Volume 1 · Number 2 · September 1981

Page 15 of 33

Modifications To Tiny BASIC For NAS-SYS

By Buxton

This article is intended to show how the Tiny Basic Interpreter –V2, published the Merseyside Nascom Users Group program book, can be changed to run under Nas-Sys 1/3, rather than under monitor T4 for which it was originally intended. In addition, the modification provide full screen editing of the source text. Assuming that a copy of the interpreter is in store, all that is required is to change the locations specified below to the new code, replace the old editor routine at £17C5 with the GETLN routine given in the full assembler listing, then save the new version of Tiny Basic on tape. Please note that old programs written for TBI-V2 will have to be altered, since the end of line marker is now £0D, rather than the £1F used by T4 and the earlier monitors. Other changes are:

  1. The command separator is now ‘:’ rather than ‘ ;’
  2. Format control in print now takes the form [5 if you wish the number to be printed in 5 spaces
  3. ‘CLEAR’ is no longer active
  4. The ‘DUMP’ command is replaced by ‘SAVE’
  5. Any number preceded by £ is now hexadecimal which makes POKEs very much easier. This may be used anywhere, e.g. FOR X = £C to £FF
  6. When reading a tape you must first poke the ASCII code for the letter R, £52 or 82 decimal, into ARGX in the workspace (£C0B, 3083), or the tape will be verified, not Read
  7. If you are using Nas-Sys 3 you must also poke a zero into location ARGN (£C2B, 3115), or the program may be loaded at the wrong location.
  8. The input function X = IN (port no.) becomes X=CODE(£14AC)(port no.)

I hope that these notes and the list of modifications will prove useful to everyone who has asked for an updated version of TBI-V2.

AddressOld CodeNew CodeComments

10141E0CClear screen
10195653Change V2 to S2
103C1F18
103F1F0D
11423B3ACommand separator : not ;
11451F0D
114C1F0D
114F1F0D
1156235B[ replaces £ for formatting
11751F0D
11C4CD0C07DF5200Read tape
11D8CD0004DF5700Write tape
11DEChange to DF6421210C7E23C9£ denotes hex. Not Clear
13431F0D
150E3B3ACommand separator : not ;
15171F0D
15291F0D
152D1F18
15331F0D
15581F18
Page 15 of 33