💾 Archived View for blitter.com › apl-books › apl.maxhost.org › apl-superpet.txt captured on 2024-05-10 at 11:32:41.

View Raw

More Information

⬅️ Previous capture (2022-07-16)

-=-=-=-=-=-=-

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