Reference Guide
6-28 The Development Library
Syntax Example Notes
RPL2
Simulates a LOOP (A=DAT0.A D0+5 PC=(A)).
KEYDN
(C[A]) kbd peeks with immediate rtn CS if keydn.
Also - Sets DOUSEALARM flag if [ON][9] sequence.
Entry: P=0, HEX Mode, C[A]: #kbd peeks (loop count)
CRTMP
Abstract: Creates a hole in the tempob area of the specified size
+ 6 (5 for the link field and 1 for marker nibble).
Sets the link field of the “hole” to size+6 and adjusts
AVMEM, RSKTOP and TEMPTOP.
Entry Conditions: RPL variables in system RAM
C(A) contains desired size of hole
Exit Conditions: carry clear, RPL variables in system RAM
D1 → link field of hole, D0 → object position
B(A), C(A)= desired size+6
Error Exits: Returns with carry set when there’s not enough memory
to create a hole of size+6.
BEEP2
Entry: C[A]: d ;d=Beep duration (msec)
D[A]: f ;f=Beep frequency (hz)
P=0
Exit: CARRY:0
REMON
Enables the remote control mode (ON+R).
SERIAL
Copy serial number to address pointed to by D1 in Saturn memory.
OUTBYT
Purpose: Send byte to IR printer
Entry: A[B]: Byte
Exit: CC, P=0, Byte Sent
Alters: P:0, CARRY:0, SETHEX.
MOVEUP
Abstract: Used to move block of memory to higher address.
No check is made to ensure that the source and destination do not overlap.
Code is moved from high to low addresses.
Entry Conditions: D0 → end of source + 1
D1 → end of destination + 1
C(A) = number of nibs to move (unsigned)
Exit Conditions: HEX mode, P=0, carry clear
D0 → start of source
D1 → start of destination
MOVEDN
Abstract: Used to move block of memory to lower address.
No check is made to ensure that the source and destination do not overlap.
Code is moved from lower to higher addresses.
Entry Conditions: D0 → start of source; D1 → start of destination; C(A)
= number of nibs to move (unsigned)
Exit Conditions: P=0, carry clear; D0 → end of source + 1; D1 → end of
destination + 1
ARMSYS
Call a function at global dword address C[0-7]&~3.
The function takes should be of the form: U32 f(U32 pc, Chipset* c) { /*
put your code here */ return pc; }
ARMSAT
Call a function at Saturn address C.A&~7.
The function should have the following format:
U32 f(U32 pc, Chipset* c) { /* put your code here */ return pc; }
In RAM asm, this means that as you enter the function, pc is in R0,
@Chipset is in R1 and the return address is in LP. R2 and R3 are free to
use, and R0 should normally not be modified except if you want to change
the PC when exiting the function.
REMOFF
Stops the remote control (ON+S).
GOSLOW
Wait for (C[A]/183) ms.
WSCREEN
Return how many columns the screen contains in Ca
SETTIME
Sets the RTC time from C[W] in ticks.
SETLNED
Set number of lines of disp0 from C[B], refresh display.