Source: The Hitchhiker's Guide To GEOS
https://archive.org/details/The_Hitchhikers_Guide_to_GEOS


GEOS Variables
==============

Name		C64	C128	Apple	Size		Description
-------------------------------------------------------------------
alarmSetFlag	$851c	$851c	n/a	Byte		TRUE if the alarm is set for GEOS to monitor, else FALSE.
alarmTmtVector	$84ad	$84ad	$0212	Word		Address of a service routine for the alarm clock time-out ...
alphaFlag	$84b4	$84b4	$0225	Byte		Flag for alphanumeric string input ...
appMain		$849b	$849b	$0200	Word		Vector that allows applications to include their own main loop ...
backBufPtr	n/a	$131b	$9d7c	16 Bytes	Screen pointer where the back buffer came from.
backXBufNum	n/a	$132b	$d98c	8 Bytes		For each sprite, there is one byte here for how many bytes ...
backYBufNum	n/a	$1333	$d994	8 Bytes		For each sprite, there is one byte here for how many scanlines ...
bakclr0		$d021	$d021	n/a	Byte		Background color 0.
bakclr1		$d022	$d022	n/a	Byte		Background color 1.
bakclr2		$d023	$d023	n/a	Byte		Background color 2.
bakclr3		$d024	$d024	n/a	Byte		Background color 3.
baselineOffset	$26	$26	$0218	Byte		Offset from top line to baseline in character set.
bkvec		$0316	$0316	n/a	Word		BRK instruction vector for when ROMs are switched in.
bootName	$c006	$c006	$e003	9 Bytes		This is the start of the "GEOS BOOT" string.
BRKVector	$84af	$84af	$0214	Word		Vector to the routine that is called when a BRK instruction is ...
cardDataPntr	$2c	$2c	$60	Word		This is a pointer to the actual card graphics data for the ...
CPU_DATA	$01	n/a	n/a	Word		Address of 6510 data register that controls the hardware memory ...
CPU_DDR		$00	n/a	n/a	Byte		Address of 6510 data direction register.
curDevice	$ba	$ba	n/a	Byte		This holds the current serial device number.
curDirHead	$8200	$8200	$fa80	256 | 39 Bytes	For CBM, it is the buffer containing header information ...
curDrive	$8489	$8489	$f60d	Byte		Holds the device number of the currently active disk drive.
curEnable	n/a	$1300	$0951	Byte		This is an image of the C64 mobenble register.
curHeight	$29	$29	$021b	Byte		Used to hold the card height in pixels of the current font in ...
curIndexTable	$2a	$2a	$005e	Word		curIndexTable points to the table of sizes, in bytes, of each ...
curmobx2	n/a	$1302	$d953	Byte		Image of the C64 mobx2 register.
curnoby2	n/a	$1301	$d952	Byte		Image of the C64 moby2 register.
curPattern	$22	$22	$022c	Word		curPattern points to the first byte of the graphics data for the ...
curRecord	$8496	$8496	$f618	Byte		Holds the current record number for an open VLIR file.
currentMode	$2e	$2e	$021c	Byte		Holds the current text drawing node.
curSetWidth	$27	$27	$0219	Word		Holds the card width in pixels for the current font.
curType		$88c6	$88c6	n/a	Byte		Holds the current disk type.
curXpos0	n/a	$1303	$d954	16 Bytes	The current X positions of the C128 and Apple soft sprites.
curYpos0	n/a	$1313	$d964	8 Bytes		The current Y positions for the C128 and Apple soft sprites.
dataDiskName	$8453	$8453	$02b4	18 | 16 Bytes	Holds the disk name that an application's data file is on.
dataFileName	$8442	$8442	$02a4	17 | 16 Bytes	This is the name of a data file to open.
dateCopy	$c018	$c018	n/a	3 Bytes		This is a copy of the system variables for year, month, and day.
day		$8518	$8518	$f202	Byte		Holds the value for current day.
dblClickCount	$8515	$8515	$0258	Byte		Used to determine when an icon is double clicked on.
devTabHi	n/a	n/a	$fae7	4 Bytes		For the Apple, these are the high and low bytes of the four ...
devTabLo	n/a	n/a	$faeb	4 Bytes		For the Apple, these are the high and low bytes of the four ...
devUnitTab	n/a	n/a	$faef	4 Bytes		The ProDos unit numbers of the four possible devices are kept ...
dir2Head	$8900	$8900	n/a	256 Bytes	This is the 2nd directory header block used for larger capacity ...
dirBlkno	n/a	n/a	$f620	Word		Block number of the key block of the directory containing ...
dirEntryBuf	$8400	$8400	$fa59	256 | 39 Bytes	Buffer used to build a file's directory entry.
dirPtr		n/a	n/a	$f622	Word		Pointer into diskBlkBuf for this file's entry.
diskBlkBuf	$8000	$8000	$f659	256 | 512 Bytes	General disk block buffer. Initialized to all zeros.
diskOpenFlg	$848a	$848a	$f617	Byte		Set to TRUE or FALSE to indicate whether a disk is currently ...
dispBufferOn	$2f	$2f	$021d	Byte		Routes graphic and text operations to either the foreground ...
dlgBoxRamBuf	$851f	$B51f	$f381	417 | 649 Bytes	This is the buffer for variables that are saved when desk ...
doRestFlag	n/a	$1b54	$db1d	Byte		Flag needed because of ouerlapping soft sprite problems on C128 ...
DrACurDkNm	$841e	$841e	$faa7	18 | 16 Bytes	This is the disk name of the current disk in drive A.
DrBCurDkNm	$8430	$8430	$fab7	18 | 16 Bytes	This is the disk name of the current disk in drive B.
DrCCurDkNm	$88dc	$88dc	$fac7	18 | 16 Bytes	This is the disk name of the current disk in drive C.
DrDCurDkNm	$88ee	$88ee	$fad7	18 | 16 Bytes	This is the disk name of the current disk in drive D.
driveData	$88bf	$88bf	n/a	4 Bytes		One byte is reserved for each disk drive, to be used by the ...
driveType	$848e	$848e	$faf3	4 Bytes		There are 4 bytes at location driveType, one for each of four ...
drSizeHi	n/a	n/a	$fafb	4 Bytes		The high bytes of the sizes of the four possible ...
drSizeLo	n/a	n/a	$faf7	4 Bytes		The low bytes of the sizes of the four possible ...
extclr		$20	$20	n/a	Byte		Holds value for exterior (border) color.
faultData	$84b6	$84b6	$0227	Byte		Holds information about mouse faults.
fileHeader	$8100	$8100	$f859	256 | 512 Bytes	Buffer used to hold the header block for a GEOS file.
fileSize	$8499	$8499	$f61b	Word		This is the current size (in blocks) of a file.
fileTrScTab	$8300	$8300	n/a	256 Bytes	For Commodore, it is the buffer used to hold the track and ...
fileWritten	$8498	$8498	$f61a	Byte		Flag indicating if a if the currently open file has been written ...
firstBoot	$88c5	$88c5	$0281	Byte		This flag is changed from 0 to $FF when the deskTop comes up ...
fontData	$850c	$850c	n/a(?)	9 Bytes		Buffer for saving the user active font table when going into ...
fontTable	$26	$26	n/a(?)	8 Bytes		fontTable is a label for the beginning of variables for the ...
grcntr12	$d016	$d016	n/a	Byte		Graphics control register #2.
grcntrl1	$d011	$d011	n/a	Byte		Graphics control register #1.
grirq		$d019	$d019	n/a	Byte		Graphics chip interrupt register.
grirqen		$d01a	$d01a	n/a	Byte		Graphics chip interrupt enable register.
grmemptr	$d018	$d018	n/a	Byte		Graphics memory pointer VM3-VttlO|CB13-CBll.
hour		$8519	$8519	$f203	Byte		Variable for hour.
iconSelFlag	$84b5	$84b5	$0226	Byte		This RAM variable contains flag bits in b7 and b6 to specify ...
indexBlkno	n/a	n/a	$f624	Word		Block number of the VLIR index table.
inputData	$8506	$8506	$0247	4 Bytes		This is where input drivers pass device specific information to ...
inputDevName	$88cb	$88cb	$08cc	17 | 16 Bytes	String that holds the name of the current input device.
inputVector	$84a5	$84a5	$020a	Word		Pointer to routine to call on input device change.
intBotVector	$849f	$849f	$0204	Word		Vector to routine to call after the operating system interrupt ...
interleave	$848c	$848c	n/a	Byte		Variable used by BlkAlloc routine as the desired interleave when ...
intSource	n/a	n/a	$02c6	Byte		Byte to indicate where interrupts are coming from on the Apple.
intTopVector	$849d	$849d	$0202	Word		Vector to routine to call before the operating system interrupt ...
invertBuffer	n/a	$1ced	n/a	80 Bytes	Buffer area used to speed up the 80 column InvertLine routine.
irqvec		$0314	$0314	n/a	Word		IRQ vector.
isGEOS		$848b	$848b	n/a	Byte		Flag to indicate whether the current disk is a GEOS disk.
keyData		$8504	$8504	$0245	Byte		Holds the ASCII value of the current last key that was pressed.
keyVector	$84a3	$84a3	$0208	Word		Vector to routine to call on keypress.
leftMargin	$35	$35	$0220	Word		Leftmost point for writing characters.
MachineType	n/a	n/a	$02c4	Byte		Type of Apple machine.
maxMouseSpeed	$8501	$8501	$027d	Byte		Maximum speed for mouse cursor.
mcmclr0		$d025	$d025	n/a	Byte 		This is the variable for multi-color mode colors 0.
mcmclr1		$d026	$d026	n/a	Byte 		This is the variable for multi-color mode colors 1.
MenuNumber	$84b7	$84b7	$0228	Byte		Number of currently working menu.
minMouseSpeed	$8502	$8502	$027e	Byte		Minimum speed for mouse cursor.
minutes		$851a	$851a	$f204	Byte		Variable for minutes for time of day clock.
mob0clr		$d027	$d027	n/a	Byte		This is the color of the 1. object (sprite) on Commodore.
mob0xpos	$d000	$d000	n/a(!)	Byte		This is the x position of sprite #0
mob0ypos	$d001	$d001	n/a(!)	Byte		This is the y position of sprite #0
mob1clr		$d028	$d028	n/a	Byte		This is the color of the 2. object (sprite) on Commodore.
mob1xpos	$d002	$d002	n/a(!)	Byte		This is the x position of sprite #1
mob1ypos	$d003	$d003	n/a(!)	Byte		This is the y position of sprite #1
mob2clr		$d029	$d029	n/a	Byte		This is the color of the 3. object (sprite) on Commodore.
mob2xpos	$d004	$d004	n/a(!)	Byte		This is the x position of sprite #2
mob2ypos	$d005	$d005	n/a(!)	Byte		This is the y position of sprite #2
mob3clr		$d02a	$d02a	n/a	Byte		This is the color of the 4. object (sprite) on Commodore.
mob3xpos	$d006	$d006	n/a(!)	Byte		This is the x position of sprite #3
mob3ypos	$d007	$d007	n/a(!)	Byte		This is the y position of sprite #3
mob4clr		$d02b	$d02b	n/a	Byte		This is the color of the 5. object (sprite) on Commodore.
mob4xpos	$d008	$d008	n/a(!)	Byte		This is the x position of sprite #4
mob4ypos	$d009	$d009	n/a(!)	Byte		This is the y position of sprite #4
mob5clr		$d02c	$d02c	n/a	Byte		This is the color of the 6. object (sprite) on Commodore.
mob5xpos	$d00a	$d00a	n/a(!)	Byte		This is the x position of sprite #5
mob5ypos	$d00b	$d00b	n/a(!)	Byte		This is the y position of sprite #5
mob6clr		$d02d	$d02d	n/a	Byte		This is the color of the 7. object (sprite) on Commodore.
mob6xpos	$d00c	$d00c	n/a(!)	Byte		This is the x position of sprite #6
mob6ypos	$d00d	$d00d	n/a(!)	Byte		This is the y position of sprite #6
mob7clr		$d02e	$d02e	n/a	Byte		This is the color of the 8. object (sprite) on Commodore.
mob7xpos	$d00e	$d00e	n/a(!)	Byte		This is the x position of sprite #7
mob7ypos	$d00f	$d00f	n/a(!)	Byte		This is the y position of sprite #7
mobbakcol	$d01f	$d01f	n/a	Byte		Sprite to background collision register for Commodore.
mobenble	$d015	$d015	$0818	Byte		Sprite enable bits.
mobmcm		$d01c	$d01c	n/a	Byte		Sprite multi-color mode select.
mobmobcol	$d01e	$d01e	n/a	Byte		Object to object collision register.
mobprior	$d01b	$d01b	n/a	Byte		Object to background priority.
mobx2		$d01d	$d01d	$0819	Byte		Double object size in x.
moby2		$d017	$d017	$081a	Byte		Double object size in y.
month		$8517	$8517	$f201	Byte		Holds month for time of day clock.
mouseAccel	$8503	$8503	$027f	Byte		Acceleration of mouse cursor.
mouseBottom	$84b9	$84b9	$58	Byte		Bottom most position for mouse cursor.
mouseFaultVec	$84a7	$84a7	$020c	Word		Vector to routine to call when mouse goes outside region ...
mouseLeft	$84ba	$84ba	$59	Word		Left most position for mouse.
mouseOn		$30	$30	$5d	Byte		Flag indicating that the mouse is mode is on.
mousePicData	$84c1	$84c1	n/a	64 Bytes	64 byte array for the mouse sprite picture on Commodore.
mouseRight	$84bc	$84bc	$5b	Word		Right most position for mouse.
mouseSave	n/a	$1b55	$ee53	24 Bytes	Screen data for what is beneath mouse soft sprite.
mouseTop	$84b8	$84b8	$57	Byte		Top most position for mouse.
mouseVector	$84a1	$84a1	$0206	Word		Routine to call on a mouse key press.
mouseXOffset	n/a	n/a	$0229	Word		Offset from mouseXPos to draw the mouse sprite.
mouseXPos	$3a	$3a	$0241	Word		Mouse X position.
mouseYOffset	n/a	n/a	$022b	Byte		Offset from mouseYPos to draw the mouse sprite.
mouseYPos	$3c	$3c	$0243	Byte		Mouse Y position.
msbxpos		$d010	$d010	n/a	Byte		Most significant bits for x positions of sprites.
msePicPtr	$31	$31	n/a	Word		Pointer to the mouse graphics data.
nationality	$c010	$c010	$e00d	Byte		Byte to hold nationality of Kernal.
nmivec		$0318	$0318	n/a	Word		NMI vector.
noEraseSprites	n/a	n/a	$0240	Byte		Flag to stop routine TempHideMouse from erasing sprites #2 ...
numDrives	$848d	$848d	$f60e	Byte		Set to number of drives on the system.
obj0Pointer	$8ff8	$8ff8	n/a	Byte		Pointer to the picture data for sprite 0.
obj1Pointer	$8ff9	$8ff9	n/a	Byte		Pointer to the picture data for sprite 1.
obj2Pointer	$8ffa	$8ffa	n/a	Byte		Pointer to the picture data for sprite 2.
obj3Pointer	$8ffb	$8ffb	n/a	Byte		Pointer to the picture data for sprite 3.
obj4Pointer	$8ffc	$8ffc	n/a	Byte		Pointer to the picture data for sprite 4.
obj5Pointer	$8ffd	$8ffd	n/a	Byte		Pointer to the picture data for sprite 5.
obj6Pointer	$8ffe	$8ffe	n/a	Byte		Pointer to the picture data for sprite 6.
obj7Pointer	$8fff	$8fff	n/a	Byte		Pointer to the picture data for sprite 7.
offFlag		n/a	n/a	$027c	Byte		Flag telling whether the mouse needs to be redrawn.
otherPressVec	$84a9	$84a9	$020e	Word		Vector to routine that is called when the mouse button is ...
pressFlag	$39	$39	$08fe	Byte		Flag to indicate that a new key has been pressed.
PrntDiskName	$8476	$8476	n/a	18 Bytes	Disk name that current printer driver is on.
PrntFileName	$8465	$8465	$08ac	17 | 16 Bytes	Name of the current printer driver.
ramBase		$88c7	$88c7	n/a	4 Bytes		RAM bank for each disk drive to use if the drive type is either ...
ramExpSize	$88c3	$88c3	n/a	Byte		Byte for number or RAM banks available in RAM expansion unit.
random		$850a	$850a	$024c	Word		Variable incremented each interrupt to generate a randon number.
rasreg		$d012	$d012	n/a	Byte		Raster register.
RecoverVector	$84b1	$84b1	$0216	Word		Pointer to routine that is called to recover the background ...
reqXpos0	n/a	n/a	$0800	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos1	n/a	n/a	$0802	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos2	n/a	n/a	$0804	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos3	n/a	n/a	$0806	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos4	n/a	n/a	$0808	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos5	n/a	n/a	$080a	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos6	n/a	n/a	$080c	Word		This variable corresponds to the Commodore VIC chip register ...
reqXpos7	n/a	n/a	$080e	Word		This variable corresponds to the Commodore VIC chip register ...
returnAddress	$3d	$3d	$64	Word		Address to return to from in-line call.
rightMargin	$37	$37	$0222	Word		The rightmost point for writing characters.
savedmoby2	$88bb	$88bb	n/a	Byte		Saved value of moby2 for context saving done when dialogue boxes ...
saveFontTab	$850c	$850c	$024e	9 | 10 Bytes	When a menu is selected, the users active font table is saved ...
scr80colors	n/a	$88bd	n/a	Byte		Screen colors for 80 column node on the C128.
scr80polar	n/a	$88bc	n/a	Byte		Copy of reg 24 in the VDC for the C128.
screencolors	$851e	$851e	n/a	Byte		Default screen colors.
seconds		$851b	$851b	$f205	Byte		Seconds variable for the time of day clock.
selectionFlash	$84b3	$84b3	$0224	Byte		Variable for the speed at which menu items and icons are ...
shiftBuf	n/a	$1b45	$70	7 Bytes		Buffer for shifting/doubling sprites. Located in back RAM.
shiftOutBuf	n/a	$1b4c	$78	7 Bytes		Buffer for shifting/doubling/oring sprites. Located in back ...
sizeFlags	n/a	$1b53	$db1c	Byte		Height of sprite.
softOnes	n/a	$1c2d	$d000	192 Bytes	Buffer used for putting sprite bitmaps up on screen without ...
softZeros	n/a	$1b6d	$d0e0	192 Bytes	Buffer used for putting sprite bitmaps up on screen without ...
spr0pic		$8a00	$8a00	n/a	64 Bytes	This is where the graphics data for sprite 0 is kept on ...
spr1pic		$8a40	$8a40	n/a	64 Bytes	This is where the graphics data for sprite 1 is kept on ...
spr2pic		$8a80	$8a80	n/a	64 Bytes	This is where the graphics data for sprite 2 is kept on ...
spr3pic		$8ac0	$8ac0	n/a	64 Bytes	This is where the graphics data for sprite 3 is kept on ...
spr4pic		$8b00	$8b00	n/a	64 Bytes	This is where the graphics data for sprite 4 is kept on ...
spr5pic		$8b40	$8b40	n/a	64 Bytes	This is where the graphics data for sprite 5 is kept on ...
spr6pic		$8b80	$8b80	n/a	64 Bytes	This is where the graphics data for sprite 6 is kept on ...
spr7pic		$8bc0	$8bc0	n/a	64 Bytes	This is where the graphics data for sprite 7 is kept on ...
sspr1back	n/a	$133b	$56d0	294 | 336 Bytes	For the soft sprites #1, there is a buffer in the ...
sspr2back	n/a	$1461	$5820	294 | 336 Bytes	For the soft sprites #2, there is a buffer in the ...
sspr3back	n/a	$1587	$5970	294 | 336 Bytes	For the soft sprites #3, there is a buffer in the ...
sspr4back	n/a	$16ad	$5ac0	294 | 336 Bytes	For the soft sprites #4, there is a buffer in the ...
sspr5back	n/a	$17d3	$5c10	294 | 336 Bytes	For the soft sprites #5, there is a buffer in the ...
sspr6back	n/a	$18f9	$5d60	294 | 336 Bytes	For the soft sprites #6, there is a buffer in the ...
sspr7back	n/a	$1a1f	$5eb0	294 | 336 Bytes	For the soft sprites #7, there is a buffer in the ...
string		$24	$24	$53	Word		Used by GEOS as a pointer to string destinations for routines ...
StringFaultVec	$84ab	$84ab	$0210	Word		Vector called when an attempt is made to write a character ...
stringX		$84be	$84be	$022e	Word		The X position for string input.
stringY		$84c0	$84c0	$0230	Byte		The Y position for string input.
sysDBData	$851d	$851d	$0259	Byte		Variable that is used internally to indicate which icon caused ...
sysFlgCopy	$c012	$c012	n/a	Byte		This is a copy of the sysRAMFlg that is saved here when going ...
sysRAMFlg	$88c4	$88c4	n/a	Byte		If RAM expansion in, Bank 0 is reserved for the Kernal's use.
totNumBlks	n/a	n/a	$f60b	Word		Total number of blocks in current volume.
turboFlags	$8492	$8492	n/a	4 Bytes		The turbo state flags for drives 8 through 11 on Commodore.
usedRecords	$8497	$8497	$f619	Byte		Holds the number of records in an open VLIR file.
vdcClrMode	n/a	$88be	n/a	Byte		Holds the current color mode for C128 color routines.
version		$c00f	$c00f	$e00c	Byte		Holds byte indicating what version of GEOS is running.
windowTop	$33	$33	$021e	Byte		Top line of window for text clipping.
year		$8516	$8516	$f200	Byte		Holds the year for the time of day clock.


GEOS Routines
=============

Name			C64	C128	Apple	Description
-----------------------------------------------------------
AllocateBlock		$9048	$9048	$0300	Mark a disk block as in-use.
AppendRecord		$c289	$c289	$0330	Insert a new VLIR record after the current record.
AuxDExit		n/a	n/a	$efa9	Aux-driver deinstall and exit routine.
AuxDInt			n/a	n/a	$efa3	Aux-driver interrupt level routine.
AuxDKeyFilter		n/a	n/a	$efa6	Aux-driver keypress filter.
AuxDMain		n/a	n/a	$efa0	Aux-driver MainLoop level routine.
BBMult			$c160	$c160	$fecc	Byte by byte (single-precision) unsigned multiply.
Bell			n/a	n/a	$ff86	1000 Hz Bell sound.
BitmapClip		$c2aa	$c2aa	$fe5a	Display a compacted bitmap, clipping to a sub-window.
BitmapUp		$c142	$c142	$fe54	Display a compacted bitmap without clipping.
BitOtherClip		$c2c5	$c2c5	$fe5d	BitmapClip with data coming from elsewhere (e.g., disk).
BldGDirEntry		$c1f3	$c1f3	$036f	Build a GEOS directory entry in memory.
BlkAlloc		$c1fc	$c1fc	$0351	Allocate space on disk.
BlockProcess		$c10c	$c10c	$feb4	Block process from running. Does not freeze timer.
BMult			$c163	$c163	$fecf	Byte by word unsigned multiply.
BootGEOS		$c000	$c000	n/a	Reboot GEOS. Requires only 128 bytes at $c000.
CalcBlksFree		$c1db	$c1db	$0324	Calculate total number of free disk blocks.
CallRoutine		$c1d8	$c1d8	$ff08	Pseudo-subroutine call. $0000 aborts call.
CancelPrint		n/a	n/a	$6018	Cancel printing, clearing printer and I/O card buffers.
ChangeDiskDevice	$c2bc	$c2bc	n/a	Instruct CBM drive to change its serial device address.
ChkDkGEOS		$c1de	$c1de	n/a	Check CBM disk for GEOS format.
ClearCard		n/a	n/a	$6715	Clear any buffered I/O operations.
ClearMouseMode		$c19c	$c19c	$fe9f	Stop input device monitoring.
ClearRam		$c178	$c178	$fefc	Clear memory to	$00.
ClockInt		n/a	n/a	$0803	Clock driver interrupt level routine.
CloseCard		n/a	n/a	$670c	Close access to I/O card.
CloseRecordFile		$c277	$c277	$0333	Close currently open VLIR file.
CmpFString		$c26e	$c26e	$fef0	Compare two fixed-length strings.
CmpString		$c26b	$c26b	$feed	Compare two null-terminated strings.
CopyFString		$c268	$c268	$feea	Copy a fixed-length string.
CopyFullScreen		n/a	n/a	$ff92	Fast vertical screen copy.
CopyLine		n/a	n/a	$ff5f	Bit-boundary horizontal line copy.
CopyScreenBlock		n/a	n/a	$ff5c	Bit-boundary rectangle copy.
CopyString		$c256	$c256	$fee7	Copy a null-terminated string.
CRC			$c20e	$c20e	$ff14	Cyclic Reduncancy Check calculation.
Dabs			$c16f	$c16f	$fedb	Double-precision signed absolute value.
Ddec			$c175	$c175	$fee1	Double-precison unsigned decrement.
Ddiv			$c169	$c169	$fed5	Double-precision unsigned division.
DeleteDir		n/a	n/a	$037e	Delete directory.
DeleteFile		$c238	$c238	$0357	Delete file.
DeleteRecord		$c283	$c283	$0336	Delete current VLIR record.
DisablSprite		$c1d5	$c1d5	$feab	Disable sprite.
DivideBySeven		n/a	n/a	$ff68	Quick division by seven for direct screen access.
DMult			$c166	$c166	$fed2	Double-precision unsigned multiply.
Dnegate			$c172	$c172	$fede	Double-precision signed negation.
DoBOp			n/a	$c2ec	n/a	C128-backram memory primitive.
DoDlgBox		$c256	$c256	$ff17	Display and begin interaction with dialog box.
DoIcons			$c15a	$c15a	$fe0c	Display and begin interaction with icons.
DoInlineReturn		$c2a4	$c2a4	$fe09	Return from inline subroutine.
DoMenu			$c151	$c151	$fe0f	Display and begin interaction with menus.
DoneWithIO		$c25f	$c25f	n/a	Restore system after I/O across CBM serial bus.
DoPreviousMenu		$c190	$c190	$fe15	Retract sub-menu and reactivate menus up one level.
DoRAMOp			$c2d4	$c2d4	n/a	CBM RAM-expansion unit access primitive.
DownDirectory		n/a	n/a	$0381	Open subdirectory.
DrawLine		$c130	$c130	$fe33	Draw, clear, or recover line between two endpoints.
DrawPoint		$c133	$c133	$fe21	Draw, clear, or recover a single screen point.
DrawSprite		$c1c6	$c1c6	$fea2	Define sprite image.
DSdiv			$c16c	$c16c	$fed8	Double-precision signed division.
DShiftLeft		$c15d	$c15d	$fec6	Double-precision left shift (zeros shifted in).
DShiftRight		$c262	$c262	$fec9	Double-precision right shift (zeros shifted in).
EnableProcess		$c109	$c109	$fec3	Make a process runable immediately.
EnablSprite		$c1d2	$c1d2	$fea8	Enable sprite.
EnterDeskTop		$c22c	$c22c	$ff59	Leave application and return to GEOS deskTop.
EnterTurbo		$c214	$c214	n/a	Activate CBM disk turbo on current drive.
EraseCharacter		n/a	n/a	$ff3e	Erase text character from screen.
ExitTurbo		$c232	$c232	n/a	Deactivate CBM disk turbo on current drive.
FastDelFile		$c244	$c244	n/a	Quick file delete (requires full track/sector list).
FdFTypesInDir		n/a	n/a	$0363	Find files in directory other than current directory.
FetchRAM		$c2cb	$c2cb	n/a	Transfer data from CBM RAM-expansion unit.
FillRam			$c17b	$c17b	$feff	Fill memory with a particular byte.
FindBAMBit		$c2ad	$c2ad	n/a	Get allocation status of particular CBM disk block.
FindFile		$c20b	$c20b	$0369	Search for a particular file.
FindFTypes		$c23b	$c23b	$0366	Find all files of a particular GEOS type.
FindVBMBit		n/a	n/a	$036c	Get allocation status of particular ProDOS disk block.
FirstInit		$c271	$c271	$ff11	GEOS startup entry point.
FndFilinDir		n/a	n/a	$036c	Find a file in a directory other than current directory.
FollowChain		$c205	$c205	n/a	Follow chain of CBM sectors, building track/sector table.
FrameRectangle		$c127	$c127	$fe3f	Draw a rectangular frame (outline).
FreeBlock		$c2b9	$c2b9	$032a	Mark a disk block as not-in-use.
FreeDir			n/a	n/a	$03ba	Free all blocks associated with a subdirectory.
FreeFile		$c226	$c226	$035a	Free all blocks assocatiated with a file.
FreezeProcess		$c112	$c112	$feba	Pause a process countdown timer.
Get1stDirEntry		$9030	$9030	$039c	Get first directory entry.
GetBlock		$c1e4	$c1e4	$0300	Read single disk block into memory.
GetCharWidth		$c1c9	$c1c9	$fe87	Calculate width of character without style attributes.
GetDimensions		$790c	$790c	n/a	Get CBM printer page dimensions.
GetDirHead		$c247	$c247	$0372	Read directory header into memory.
GetFHdrInfo		$c229	$c229	$0390	Read a GEOS file header into memory.
GetFile			$c208	$c208	$030f	Load GEOS file.
GetFreeDirBlk		$c1f6	$c1f6	$0375	Find an empty directory slot.
GetLdVars		n/a	n/a	$ff44	Transfer internal Ld variables to GEOS pseudoregisters.
GetMode			n/a	n/a	$6012	Return current printer resolution and setable attributes.
GetNextChar		$c2a7	$c2a7	$fe75	Get next character from character queue.
GetNxtDirEntry		$9033	$9033	$039c	Get directory entry other than first.
GetPathname		n/a	n/a	$0384	Return current path string.
GetPattern		n/a	n/a	$ff7d	Get eight-byte GEOS pattern definition.
GetPtrCurDkNm		$c298	$c298	$ff56	Return pointer to current disk name.
GetRandom		$c187	$c187	$fee4	Calculate new random number.
GetRealSize		$c1b1	$c1b1	$fe84	Calculate actual character size with attributes.
GetScanLine		$c13c	$c13c	$fe66	Calculate scanline address.
GetScreenLine		n/a	n/a	$ff62	Copy Apple screen data to buffer.
GetSerialNumber		$c196	$c196	$4b38	Return GEOS serial number or pointer to name string.
GetSpriteData		n/a	n/a	$ff6e	Get sprite image data.
GetString		$c1ba	$c1ba	$fe72	Get string input from user.
GetVBM			n/a	n/a	$031e	Read first VBM block into VBM cache.
GoDirectory		n/a	n/a	$039f	Go directory to a specific subdirectory.
GotoFirstMenu		$c1bd	$c1bd	$fe18	Retract all sub-menus and reactivate at main level.
GraphicsString		$c136	$c136	$fe60	Execute a string of graphics commands.
HideOnlyMouse		n/a	$c2f2	$ff7a	Temporarily remove soft-sprite mouse pointer.
HorizontalLine		$c118	$c118	$fe27	Draw a patterned horizontal line.
i_BitmapUp		$c1ab	$c1ab	$fe57	Inline BitmapUp.
i_FillRam		$c1b4	$c1b4	$ff02	Inline FillRam.
i_FrameRectangle	$c1a2	$c1a2	$fe42	Inline FrameRectangle.
i_GraphicsString	$c1a8	$c1a8	$fe63	Inline GraphicsString.
i_ImprintRectangle	$c253	$c253	$fe51	Inline ImprintRectangle.
i_MoveData		$c1b7	$c1b7	$fef9	Inline MoveData.
i_NewBitUp		n/a	n/a	$ff9e	Inline NewBitUp.
i_PutString		$c1ae	$c1ae	$fe6c	Inline PutString.
i_RecoverRectangle	$c1a5	$c1a5	$fe4b	Inline RecoverRectangle.
i_Rectangle		$c19f	$c19f	$fe3c	Inline Rectangle.
ImprintLine		n/a	n/a	$ff8f	Imprint horizontal line to background buffer.
ImprintRectangle	$c250	$c250	$fe4e	Imprint rectangular area to background buffer.
InfoCard		n/a	n/a	$670f	Get I/O card attributes.
InitCard		n/a	n/a	$6700	Initialize I/O card.
InitForDialog		n/a	n/a	$ff4a	Internal pre-dialog box initialization.
InitForIO		$c25c	$c25c	n/a	Prepare CBM system for I/O across serial bus.
InitForPrint		$7900	$7900	$6000	Initialize printer (once per document).
InitMouse		$fe80	$fe80	$f000	Initialize input device.
InitProcesses		$c103	$c103	$feae	Initialize processes.
InitRam			$c181	$c181	$ff05	Initialize memory areas from table.
InitSprite		n/a	n/a	$ff32	Initialize software sprites.
InitTextPrompt		$c1c0	$c1c0	$fe78	Initialize text prompt.
InputByte		n/a	n/a	$6709	Read byte from I/O card.
InsertRecord		$c286	$c286	$0339	Insert new VLIR record in front of current record.
InterruptMain		$c100	$c100	$fe03	Main interrupt level processing.
InvertLine		$c11b	$c11b	$fe2d	Invert the pixels on a horizontal screen line.
InvertRectangle		$c12a	$c12a	$fe45	Invert the pixels in a rectangular screen area.
IrqMiddle		n/a	n/a	$ff20	Software interrupts entry point.
IsMseInRegion		$c2b3	$c2b3	$fe9c	Check if mouse is within a screen region.
JsrToAux		n/a	n/a	$03b4	Call aux-memory subroutine.
KeyFilter		n/a	n/a	$f009	Input driver keypress filter.
LdApplic		$c21d	$c21d	$038d	Load GEOS application.
LdDeskAcc		$c217	$c217	$035d	Load GEOS desk accessory.
LdFile			$c211	$c211	$0312	Load GEOS data file.
LoadAuxSet		n/a	n/a	$ff77	Use aux-memory character set.
LoadCharSet		$c1cc	$c1cc	$fe8a	Use main-memory character set.
MainLoop		$c1c3	$c1c3	$fe00	GEOS MainLoop processing.
MakeSubDir		n/a	n/a	$0387	Create ProDOS subdirectory.
MouseOff		$c18d	$c18d	$fe96	Disable mouse pointer and GEOS mouse tracking.
MouseUp			$c18a	$c18a	$fe99	Enable mouse pointer and GEOS mouse tracking.
MoveAuxData		n/a	n/a	$ff6b	Apple aux-memory memory move routine.
MoveBData		n/a	$c2e3	n/a	C128 backram memory move routine.
MoveData		$c17c	$c17e	$fef6	Memory move routine.
NewBitClip		n/a	n/a	$ff95	Bit-boundary BitmapClip.
NewBitOtherClip		n/a	n/a	$ff0e	Bit-boundary BitOtherClip.
NewBitUp		n/a	n/a	$ff1d	Bit-boundary BitmapUp.
NewDisk			$c1e1	$c1e1	n/a	Tell CBM disk turbo software that a new disk is in drive.
NextRecord		$c27a	$c27a	$0336	Make next VLIR the current record.
NormalizeX		n/a	$c2e0	n/a	Normalize C128 X-coordinates for 40/80 modes.
NxtBlkAlloc		$c24d	$c24d	$0354	Version of BlkAlloc that starts at a specific block.
OpenCard		n/a	n/a	$6703	Open I/O card for access.
OpenDisk		$c2a1	$c2a1	$0399	Open disk in current drive.
OpenRecordFile		$c274	$c274	$033f	Open VLIR file on current disk.
OutputByte		n/a	n/a	$6706	Write byte to I/O card.
Panic			$c2c2	$c2c2	$fef3	System-error dialog box.
PointRecord		$c280	$c280	$0342	Make specific VLIR record the current record.
PosSprite		$c1cf	$c1cf	$fea5	Position sprite.
PreviousRecord		$c27d	$c27d	$0345	Make previous VLIR record the current record.
PrintASCII		$790f	$790f	$600c	Send ASCII data to printer.
PrintBuffer		$7906	$7906	$6009	Send graphics data to printer.
PromptOff		$c29e	$c29e	$fe7e	Turn off text prompt.
PromptOn		$c29b	$c29b	$fe7b	Turn on text prompt.
PurgeTurbo		$c235	$c235	n/a	Remove CBM disk turbo software from drive.
PutBlock		$c1e7	$c1e7	$0303	Write single disk block from memory.
PutChar			$c145	$c145	$fe81	Display a single character to screen.
PutDecimal		$c184	$c184	$fe6f	Format and display an unsigned double-precison number.
PutDirHead		$c24a	$c24a	$037b	Write directory header to disk.
PutScreenLine		n/a	n/a	$ff65	Copy buffer data to Apple screen memory.
PutString		$c148	$c148	$fe69	Print string of characters to screen.
PutVBM			n/a	n/a	$0321	Flush VBM cache; write currently cached block to disk.
ReadBackLine		n/a	n/a	$ff74	Get data from background screen in linear bitmap format.
ReadBlock		$c21a	$c21a	n/a	CBM get disk block primitive.
ReadByte		$c2b6	$c2b6	$ff41	Read disk file a byte at a time.
ReadClock		n/a	n/a	$0800	Update GEOS time/date variables from clock hardware.
ReadFile		$c1ff	$c1ff	$0315	Read chained list of blocks into memory.
ReadLink		$904b	$904b	n/a	Read CBM track/sector link.
ReadRecord		$c28c	$c28c	$0348	Read current VLIR record into memory.
ReadScanLine		n/a	n/a	$ff98	Get data from foreground screen in linear bitmap format.
RecoverAllMenus		$c157	$c157	$fe1e	Recover all menus from background buffer.
RecoverFG		n/a	n/a	$03ae	Restores foreground screen from data created with SaveFG.
RecoverLine		$c11e	$c11e	$fe30	Recover horizontal screen line from background buffer.
RecoverMenu		$c154	$c154	$fe1b	Recover single menu from background buffer.
RecoverRectangle	$c12d	$c12d	$fe48	Recover rectangular screen area from background buffer.
RecoverSysRam		n/a	n/a	$ff53	Restore system after dialog box or desk accessory.
Rectangle		$c124	$c124	$fe39	Draw a filled rectangle.
ReDoMenu		$c193	$c193	$fe12	Reactivate menus at the current level.
RenameFile		$c259	$c259	$0393	Rename GEOS disk file.
ReOpenDisk		n/a	n/a	$03a2	Reopen disk to previous directory.
ResetAlarm		n/a	n/a	$080c	Disable clock driver alarm.
ResetHandle		$c003	$c003	n/a	Internal bootstrap entry point.
RestartProcess		$c106	$c106	$feb1	Unblock, unfreeze, and restart process.
RestoreFontData		n/a	n/a	$ff38	Restore font variables from saveFontTab.
RstrAppl		$c23e	$c23e	$0360	Leave desk accessory and return to calling application.
RstrFrmDialog		$c2bf	$c2bf	$ff1a	Exit dialog box.
SaveFG			n/a	n/a	$03ab	Save foreground screen data for RestoreFG.
SaveFile		$c1ed	$c1ed	$0318	Save/create a GEOS file.
SaveFontData		n/a	n/a	$ff35	Copy font variables to saveFontTab.
SetAlarm		n/a	n/a	$0809	Set clock driver alarm.
SetDevice		$c2b0	$c2b0	n/a	Establish communication with a new serial device.
SetGDirEntry		$c1f0	$c1f0	$037b	Create and save a new GEOS directory entry.
SetGEOSDisk		$c1ea	$c1ea	n/a	Convert normal CBM disk into GEOS format disk.
SetLdVars		n/a	n/a	$ff47	Set internal Ld variables from GEOS pseudoregisters.
SetMode			n/a	n/a	$6015	Set print mode.
SetMouse		n/a	$fe89	n/a	Reset input device scanning circutry.
SetMsePic		n/a	$c2da	$ff2f	Set and preshift new soft-sprite mouse picture.
SetNewMode		n/a	$c2dd	n/a	Change GEOS 128 graphics mode (40/80 switch).
SetNextFree		$c292	$c292	$032d	Search for nearby free disk block and allocate it.
SetNLQ			$7915	$7915	n/a	Begin near-letter quality printing.
SetPattern		$c139	$c139	$fe36	Set current fill pattern.
SetTimeDate		n/a	n/a	$0806	Set clock driver time and date.
SetUserPattern		n/a	n/a	$ff80	Define new GEOS pattern image.
Sleep			$c199	$c199	$fec0	Put current subroutine to sleep for a specified time.
SlowMouse		$fe83	$fe83	$f003	Reset mouse velocity variables.
SmallPutChar		$c202	$c202	$fe90	Fast character print routine.
SoftSprHandler		n/a	n/a	$ff2c	Apple soft-sprite drawing routine.
SortAlpha		n/a	n/a	$03a5	Insertion sort.
StartAppl		$c22f	$c22f	$fe06	Warmstart GEOS and start application in memory.
StartASCII		$7912	$7912	$6006	Begin ASCII mode printing.
StartMouseMode		$c14e	$c14e	$fe93	Start monitoring input device.
StartPrint		$7903	$7903	$6003	Begin graphics mode printing.
StashRAM		$c2c8	$c2c8	n/a	Transfer memory to CBM RAM-expansion unit.
StatusCard		n/a	n/a	$6712	Get current status of I/O card.
StopPrint		$7909	$7909	$600f	End page of printer output.
SwapBData		n/a	$c2e6	n/a	C128 memory swap between front/back ram.
SwapMainAndAux		n/a	n/a	$ff71	Apple memory swap between main and aux.
SwapRAM			$c2ce	$c2ce	n/a	CBM RAM-expansion unit memory swap.
TempHideMouse		n/a	$c2d7	$ff29	Hide soft-sprites before direct screen access.
TestPoint		$c13f	$c13f	$fe24	Test status of single screen point (on or off?).
ToBasic			$c241	$c241	n/a	Call Commodore BASIC.
UnblockProcess		$c10f	$c10f	$feb7	Unblock a blocked process, allowing it to run again.
UnfreezeProcess		$c115	$c115	$febd	Unpause a frozen process timer.
UpdateMouse		$fe86	$fe86	$f006	Update mouse variables from input device.
UpdateParent		n/a	n/a	$03b7	Update parent directory to reflect any changes.
UpdateRecordFile	$c295	$c295	$034b	Update currently open VLIR file without closing it.
UpDirectory		n/a	n/a	$038a	Close current directory and move up one level.
UseSystemFont		$c14b	$c14b	$fe8d	Use default system font (BSW 9).
VerifyBData		n/a	$c2e9	n/a	C128 backram verify.
VerifyRAM		$c2d1	$c2d1	n/a	CBM RAM-expansion unit verify.
VerticalLine		$c121	$c121	$fe2a	Draw a patterned vertical line.
VerWriteBlock		$c223	$c223	n/a	CBM disk block verify primitive.
WarmStart		n/a	n/a	$ff4d	Bring GEOS to a warmstart state.
WriteBlock		$c220	$c220	n/a	CBM write disk block primitive.
WriteFile		$c1f9	$c1f9	$031b	Write chained list of blocks to disk.
WriteRecord		$c28f	$c28f	$034e	Write current VLIR record to disk.
