]> git.sur5r.net Git - cc65/commitdiff
The "Hitchhiker's Guide To GEOS" is the only publicly available document containing...
authorol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 14 Jan 2012 11:09:40 +0000 (11:09 +0000)
committerol.sc <ol.sc@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 14 Jan 2012 11:09:40 +0000 (11:09 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@5399 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/geos-common/symbols.txt [new file with mode: 0644]

diff --git a/libsrc/geos-common/symbols.txt b/libsrc/geos-common/symbols.txt
new file mode 100644 (file)
index 0000000..dedd441
--- /dev/null
@@ -0,0 +1,486 @@
+Source: The Hitchhiker's Guide To GEOS
+http://lyonlabs.org/commodore/onrequest/geos-manuals/The_Hitchhikers_Guide_to_GEOS.pdf
+
+
+GEOS Variables
+==============
+
+Name           C64     C128    Apple   Size            Description
+-------------------------------------------------------------------
+alarmSetFlag   $851c   $851c   n/a     Byte            TRUE if the alam 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 cane 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 uhen 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 deuice number.
+curDirHead     $8200   $8200   $FA80   256 | 39 Bytes  For CBM, it is the buffer containing header infomation ...
+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 ami 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 cpacity ...
+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 driueType, 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 reqister #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 uused 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 colunn 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 nuiti-color node colors 0.
+mcmclr1                $d026   $d026   n/a     Byte            This is the variable for nuiti-color node 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 fron 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 wouse 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 nunber.
+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 bitnaps 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 attenpt 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 nunber 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 uhat uersion 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   Intialize I/O card.
+InitForDialog          n/a     n/a     $ff4a   Internal pre-dialog box intialization.
+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.