English
Language : 

NSB8 Datasheet, PDF (134/158 Pages) List of Unclassifed Manufacturers – BASIC interpreter for Z80 family
grifo®
ITALIAN TECHNOLOGY
NON STANDARD VERSIONS OF BASIC
This discussion assumes some sophistication on the part of the reader, particularly an understanding
of the term precision and how it relates to numbers and arithmetic in BASIC. A knowledge of
computer memory addressing and the hexadecimal numbering system is also helpful. Readers
unfamiliar with these topics should study other sections in this manual, namely USING NUMBERS,
SPECIAL ENTRY POINTS and PERSONALIZING BASIC.
ABOUT NON STANDARD VERSIONS OF BASIC
The standard version of BASIC begins at address 3584 (0E00H) in memory, provides 8 digits of
arithmetic precision in its representation of numbers, and does arithmetic with the help of special
software routines written directly into the BASIC interpreter itself. BASIC is available, however,
beginning at other addresses in memory (from now going on, the starting address of your copy of
BASIC, whatever it is, will be called its ORG, for origin). Moreover, BASIC is available with 6, 10,
12, and 14 digits of numeric precision, as well as the standard 8 digits.
Any combination of these three options (different origin and different precision) may be ordered in
a special, non standard version of BASIC for a nominal fee. This section discusses the explicit details
and the ramifications of the differences between these special BASICs and the standard BASIC.
DIFFERENT ORIGIN
BASIC may be relocated to begin at any of the sixty four 1024 byte address boundaries in memory. It
is, of course, advisable to avoid certain areas of memory, most notably those which contain the
GDOS 80 or reserved memory areas. If you have any other system software (such as special I/O
routines in PROM, etc.) which must exist in a certain region of memory, you should also avoid
relocating BASIC into these areas.
DIFFERENT PRECISIONS
Within RAM and in diskette data files, numeric elements of differing precision will take different
amounts of storage space. Standard 8 digit numbers require 5 bytes, for example, while 14 digit
numbers require 8 bytes.
Because of this size difference between numbers of different precisions, it is not possible for a BASIC
program which is operating under a BASIC of precision X to read numeric elements from data files
created under a BASIC of precision Y using the READ# statement in normal fashion. That is,
READ #1,A
under 8 digit BASIC will not return a correct value if used to retrieve a numeric element created under
14 digit BASIC. It is possible to read foreign files such as these by accepting data byte by byte and
reconstructing appropriate values, making allowances for difference in precisions.
Page 122
NSB8
Rel. 5.10