Specifications

{29}
ldd \2
; Load second parameter, etc.
{30} pshs d
{31}
endc
{32} ldd \1
; Load first parameter in D register.
{33}
endc
{34} jsr \0
; Call the system routine.
{35}
ifne pcount
_
; Any stack space to release?
{36} leas pcount__,s ; Yes, remove it.
{37}
endc
{38}
endm
[Ed. When
you remove the line
numbers above, be sure to put 'call macr1flush
on
the left margin of the screen. And don't leave in the comments! If you do, IFNC
fails; the macro tries to load the stack with five parms no matter how few you
assign, since IFNC sees comments as part of the psuedo-variable on that line.
Second, because macros slow down assembly, you may want to shorten CALL.MACRO to
accept from 3 to 5 parms instead of 6. Last, you can remove the 'fail* IFNC and
ENDC if you don't want to horse around with a 'too many parms' warning.]
< x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x >
A NOTE ON HANDLING ASCII In issue 9, we noted the problem of handling ASCII
CODES IN APL codes with []I0 set to 1 in APL. Too late for issue
10, we received a note from Dr. Wilson at Waterloo:
"This letter concerns the difficulty people have when using APL in remembering
to take the index origin into account in producing characters like NULL and ESC
by indexing QAV. For instance, the NULL character is DAV[ 1 ].. .with D I O set to
1..., but it is OAVtO] in origin 0. The BASIC function chr$( ) is not origin...
dependent.
"The tradeoff is that BASIC requires a second built-in function, asc( ), to do
the inverse translation of characters back to numbers, while APL doesn't need
anything but the variable QAV. If you prefer the two-function approach, just
include in your workspace the functions CHR and ASC which I've listed below.
They behave like chr$( ) and asc( ).... The results are origin-independent."
VC CHR N V N - ASC C
[ 1] C +- UAVl Q10 + N 1 V [ 1] N (-OT0) + QAVxC V
QlCh-\ Dr0<-1
CHR 97 98 99 ASC 'ABC'
ABC 97 98 99
TCN-o DTOK)
CHR 97 98 99 ASC 'ABC'
ABC 97 98 99
C < X X X X X X X X X > < X X X X X X X X X X X X X X X X X X X > < > < X X X X X X X X X X X X X X X > < X X X X X X X X >
A SUPERPET BULLETIN-BOARD Paul Matzke, P0 Box 574, Madison, Wisconsin 53701,
PROGRAM BY PAUL MATZKE has written a program in microBASIC which allows
any SuperPETter to operate a Bulletin Board as a
SYSOP (System Operator). It requires a Hayes Smartmodem for autoanswer, logs all
users, incorporates passwords, delivers mail, and perf^ms the other functions
which Punter boards perform in 6502. Paul says he's had it running in Madison
for some time, and that almost any computer can be on the other end from Radio
Shack CoCo's to PC's (and, of course. SuperPETs and PETs). We have a report that
it's the best BB in Madison, and runs well at 300 baud.
A disk with instructions, prepared by Paul, is available from him at the address
above, 4040 format. Send a disk in a good mailer plus $1 U.S. (or Canadian coin)
SuperpPET Gazette, Vol.I No.11
-161-
December 1983/January 1984