I am a recent member of INMC having just built myself a NASCOM 2. The
following may possibly be of interest to your readers.
There is a misprint on page 9 of the 8K BASIC Software manual in the
NASCOM 2 documentation. In fact, this version of BASIC does NOT support
user defined functions with more than one arguement. Thus, DEF
FNAVE(V,W) = (V+W)/2 is not valid, although the other example given is
of course single and OK.
I hope that this information may be of use to others !
Many thanks for your excellent newsletter. I used the machine code
subroutine for 8K Basic as in your
and lo & behold, ?FC error.
The fault was mine, not yours; in case it is useful to others I will
explain what I should have read in the manual.
Before a USR is used, the address of the subroutine to be called must
be poked into a 2-byte location known as USRLOC. For those of us with
the tape Basic, assembled at 1000H to 2FFFH, that location is 3004 & 5H
(decimal 12292 & 3).
Similarly the address of the routine which sets the value to be
returned as USR() as the current contents of the A & B registers in
100A & BH for Tape Basic users.
A useful feature which could easily be incorporated in Basic, but is
not available in any version I know of, would be to allow variables to
be in Hexadecimal. This would make POKE-ing & DOKE-ing much simpler. I
enclose a pair of subroutines in Basic for the library, to simplify it,
but machine code subroutines accessing the Data statements would be
much more efficient in time and space. If only the folk who write
interpreters would give us the source code.
I look forward to seeing some programs in your organ of more use or
Interest than games.