Waterloo MicroAPL for SuperPET
------------------------------
using vice emulator with xpet
set pet model to SuperPET
positional mapping is used for keyboard
using the following script to run SuperPET APL on Linux:
cd ~/superpet
xpet -truedrive -superpet -cpu6809 -model SuperPET -9 Waterloo2-Language-2.d64
no lower case letters
)CLEAR clears workspace
)DROP TEST erase workspace
)FNS list functions
)LOAD TEST loads workspace
)LIB defaults to listing directory of device 8
)LIB DISK9/0 list directory of device 9
)OFF exits apl (returns to waterloo microsystems options)
)SAVE TEST saves workspace
)VARS
)WSID reports workspace name
quad io returns origin
quad av[86] returns matrix inverse symbol
quad peek 32768
quad tc[5] clear screen
quad pw returns printing width
quad wa returns working area
quad cr returns canonical representation
quad dl n delay for n seconds, returns n
a <- iota 10
b <- 7
a iota b returns first occurrence in a of each element of b
e.g. 7
1 1 0 \ 5 7 expand, returns 5 7 0
keys
----
use delete for backspace
/ becomes /
- becomes +
; becomes [
' becomes ]
= becomes multiply
] becomes {
shift ] becomes }
backspace becomes diamond
home resets cursor to top left
shift home clears screen
shift 3 on number pad becomes )fns, )vars and )si
shift ; becomes (
shift ' becomes )
shift - becomes minus
shift , becomes ;
shift / becomes \
shift = becomes divide
shift 0 becomes and
shift 9 becomes or
shift 2 becomes high minus
shift 5 becomes equal
shift 8 becomes not equal
shift b becomes decode
shift e becomes epsilon
shift g becomes del
shift i becomes iota
shift j becomes jot
shift k becomes '
shift l becomes quad
shift m becomes absolute value or modulus
shift n becomes encode
shift o becomes circle function
shift p becomes exponent or power
shift q becomes ?
shift r becomes rho
shift s becomes ceiling
shift d becomes floor
shift u becomes drop
shift y becomes take
shift t becomes not
b <- iota 10
b jot . multiply b generates 10 times table
overstrikes
-----------
symbol1 followed by left cursor (left arrow) then symbol2
shift o <- shift m becomes reversal along last axis or rotate
shift o <- shift - becomes reversal along first axis
shift o <- shift / becomes transposition
shift l <- shift k becomes quotequad
shift l <- shift = becomes matrix inverse
shift g <- shift m becomes delstile
shift c <- shift j becomes comment
shift j <- shift n becomes format
shift p <- shift o becomes natural logarithm
shift b <- shift n becomes ibeam
shift k <- . becomes !
editing functions
-----------------
del test
[1] 'hello'
[2] 'there'
del
del test
[1] 'hello'
[2] 'thare'
[3] [2]
[2] 'there' <- correcting line 2
[3] del
to insert lines between 2 and 3 use fractional line number e.g. [2.5]
[quad] lists current function