]> git.sur5r.net Git - cc65/blob - libsrc/geos-common/symbols.txt
Only for jumps, the lib uses named asm labels in branches
[cc65] / libsrc / geos-common / symbols.txt
1 Source: The Hitchhiker's Guide To GEOS
2 https://archive.org/details/The_Hitchhikers_Guide_to_GEOS
3
4
5 GEOS Variables
6 ==============
7
8 Name            C64     C128    Apple   Size            Description
9 -------------------------------------------------------------------
10 alarmSetFlag    $851c   $851c   n/a     Byte            TRUE if the alarm is set for GEOS to monitor, else FALSE.
11 alarmTmtVector  $84ad   $84ad   $0212   Word            Address of a service routine for the alarm clock time-out ...
12 alphaFlag       $84b4   $84b4   $0225   Byte            Flag for alphanumeric string input ...
13 appMain         $849b   $849b   $0200   Word            Vector that allows applications to include their own main loop ...
14 backBufPtr      n/a     $131b   $9d7c   16 Bytes        Screen pointer where the back buffer came from.
15 backXBufNum     n/a     $132b   $d98c   8 Bytes         For each sprite, there is one byte here for how many bytes ...
16 backYBufNum     n/a     $1333   $d994   8 Bytes         For each sprite, there is one byte here for how many scanlines ...
17 bakclr0         $d021   $d021   n/a     Byte            Background color 0.
18 bakclr1         $d022   $d022   n/a     Byte            Background color 1.
19 bakclr2         $d023   $d023   n/a     Byte            Background color 2.
20 bakclr3         $d024   $d024   n/a     Byte            Background color 3.
21 baselineOffset  $26     $26     $0218   Byte            Offset from top line to baseline in character set.
22 bkvec           $0316   $0316   n/a     Word            BRK instruction vector for when ROMs are switched in.
23 bootName        $c006   $c006   $e003   9 Bytes         This is the start of the "GEOS BOOT" string.
24 BRKVector       $84af   $84af   $0214   Word            Vector to the routine that is called when a BRK instruction is ...
25 cardDataPntr    $2c     $2c     $60     Word            This is a pointer to the actual card graphics data for the ...
26 CPU_DATA        $01     n/a     n/a     Word            Address of 6510 data register that controls the hardware memory ...
27 CPU_DDR         $00     n/a     n/a     Byte            Address of 6510 data direction register.
28 curDevice       $ba     $ba     n/a     Byte            This holds the current serial device number.
29 curDirHead      $8200   $8200   $fa80   256 | 39 Bytes  For CBM, it is the buffer containing header infomation ...
30 curDrive        $8489   $8489   $f60d   Byte            Holds the device number of the currently active disk drive.
31 curEnable       n/a     $1300   $0951   Byte            This is an image of the C64 mobenble register.
32 curHeight       $29     $29     $021b   Byte            Used to hold the card height in pixels of the current font in ...
33 curIndexTable   $2a     $2a     $005e   Word            curIndexTable points to the table of sizes, in bytes, of each ...
34 curmobx2        n/a     $1302   $d953   Byte            Image of the C64 mobx2 register.
35 curnoby2        n/a     $1301   $d952   Byte            Image of the C64 moby2 register.
36 curPattern      $22     $22     $022c   Word            curPattern points to the first byte of the graphics data for the ...
37 curRecord       $8496   $8496   $f618   Byte            Holds the current record number for an open VLIR file.
38 currentMode     $2e     $2e     $021c   Byte            Holds the current text drawing node.
39 curSetWidth     $27     $27     $0219   Word            Holds the card width in pixels for the current font.
40 curType         $88c6   $88c6   n/a     Byte            Holds the current disk type.
41 curXpos0        n/a     $1303   $d954   16 Bytes        The current X positions of the C128 and Apple soft sprites.
42 curYpos0        n/a     $1313   $d964   8 Bytes         The current Y positions for the C128 and Apple soft sprites.
43 dataDiskName    $8453   $8453   $02b4   18 | 16 Bytes   Holds the disk name that an application's data file is on.
44 dataFileName    $8442   $8442   $02a4   17 | 16 Bytes   This is the name of a data file to open.
45 dateCopy        $c018   $c018   n/a     3 Bytes         This is a copy of the system variables for year, month, and day.
46 day             $8518   $8518   $f202   Byte            Holds the value for current day.
47 dblClickCount   $8515   $8515   $0258   Byte            Used to determine when an icon is double clicked on.
48 devTabHi        n/a     n/a     $fae7   4 Bytes         For the Apple, these are the high and low bytes of the four ...
49 devTabLo        n/a     n/a     $faeb   4 Bytes         For the Apple, these are the high and low bytes of the four ...
50 devUnitTab      n/a     n/a     $faef   4 Bytes         The ProDos unit numbers of the four possible devices are kept ...
51 dir2Head        $8900   $8900   n/a     256 Bytes       This is the 2nd directory header block used for larger cpacity ...
52 dirBlkno        n/a     n/a     $f620   Word            Block number of the key block of the directory containing ...
53 dirEntryBuf     $8400   $8400   $fa59   256 | 39 Bytes  Buffer used to build a file's directory entry.
54 dirPtr          n/a     n/a     $f622   Word            Pointer into diskBlkBuf for this file's entry.
55 diskBlkBuf      $8000   $8000   $f659   256 | 512 Bytes General disk block buffer. Initialized to all zeros.
56 diskOpenFlg     $848a   $848a   $f617   Byte            Set to TRUE or FALSE to indicate whether a disk is currently ...
57 dispBufferOn    $2f     $2f     $021d   Byte            Routes graphic and text operations to either the foreground ...
58 dlgBoxRamBuf    $851f   $B51f   $f381   417 | 649 Bytes This is the buffer for variables that are saved when desk ...
59 doRestFlag      n/a     $1b54   $db1d   Byte            Flag needed because of ouerlapping soft sprite problems on C128 ...
60 DrACurDkNm      $841e   $841e   $faa7   18 | 16 Bytes   This is the disk name of the current disk in drive A.
61 DrBCurDkNm      $8430   $8430   $fab7   18 | 16 Bytes   This is the disk name of the current disk in drive B.
62 DrCCurDkNm      $88dc   $88dc   $fac7   18 | 16 Bytes   This is the disk name of the current disk in drive C.
63 DrDCurDkNm      $88ee   $88ee   $fad7   18 | 16 Bytes   This is the disk name of the current disk in drive D.
64 driveData       $88bf   $88bf   n/a     4 Bytes         One byte is reserved for each disk drive, to be used by the ...
65 driveType       $848e   $848e   $faf3   4 Bytes         There are 4 bytes at location driveType, one for each of four ...
66 drSizeHi        n/a     n/a     $fafb   4 Bytes         The high bytes of the sizes of the four possible ...
67 drSizeLo        n/a     n/a     $faf7   4 Bytes         The low bytes of the sizes of the four possible ...
68 extclr          $20     $20     n/a     Byte            Holds value for exterior (border) color.
69 faultData       $84b6   $84b6   $0227   Byte            Holds information about mouse faults.
70 fileHeader      $8100   $8100   $f859   256 | 512 Bytes Buffer used to hold the header block for a GEOS file.
71 fileSize        $8499   $8499   $f61b   Word            This is the current size (in blocks) of a file.
72 fileTrScTab     $8300   $8300   n/a     256 Bytes       For Commodore, it is the buffer used to hold the track and ...
73 fileWritten     $8498   $8498   $f61a   Byte            Flag indicating if a if the currently open file has been written ...
74 firstBoot       $88c5   $88c5   $0281   Byte            This flag is changed from 0 to $FF when the deskTop comes up ...
75 fontData        $850c   $850c   n/a(?)  9 Bytes         Buffer for saving the user active font table when going into ...
76 fontTable       $26     $26     n/a(?)  8 Bytes         fontTable is a label for the beginning of variables for the ...
77 grcntr12        $d016   $d016   n/a     Byte            Graphics control reqister #2.
78 grcntrl1        $d011   $d011   n/a     Byte            Graphics control register #1.
79 grirq           $d019   $d019   n/a     Byte            Graphics chip interrupt register.
80 grirqen         $d01a   $d01a   n/a     Byte            Graphics chip interrupt enable register.
81 grmemptr        $d018   $d018   n/a     Byte            Graphics memory pointer VM3-VttlO|CB13-CBll.
82 hour            $8519   $8519   $f203   Byte            Variable for hour.
83 iconSelFlag     $84b5   $84b5   $0226   Byte            This RAM variable contains flag bits in b7 and b6 to specify ...
84 indexBlkno      n/a     n/a     $f624   Word            Block number of the VLIR index table.
85 inputData       $8506   $8506   $0247   4 Bytes         This is where input drivers pass device specific information to ...
86 inputDevName    $88cb   $88cb   $08cc   17 | 16 Bytes   String that holds the name of the current input device.
87 inputVector     $84a5   $84a5   $020a   Word            Pointer to routine to call on input device change.
88 intBotVector    $849f   $849f   $0204   Word            Vector to routine to call after the operating system interrupt ...
89 interleave      $848c   $848c   n/a     Byte            Variable used by BlkAlloc routine as the desired interleave when ...
90 intSource       n/a     n/a     $02c6   Byte            Byte to indicate where interrupts are coming from on the Apple.
91 intTopVector    $849d   $849d   $0202   Word            Vector to routine to call before the operating system interrupt ...
92 invertBuffer    n/a     $1ced   n/a     80 Bytes        Buffer area used to speed up the 80 colunn InvertLine routine.
93 irqvec          $0314   $0314   n/a     Word            IRQ vector.
94 isGEOS          $848b   $848b   n/a     Byte            Flag to indicate whether the current disk is a GEOS disk.
95 keyData         $8504   $8504   $0245   Byte            Holds the ASCII value of the current last key that was pressed.
96 keyVector       $84a3   $84a3   $0208   Word            Vector to routine to call on keypress.
97 leftMargin      $35     $35     $0220   Word            Leftmost point for writing characters.
98 MachineType     n/a     n/a     $02c4   Byte            Type of Apple machine.
99 maxMouseSpeed   $8501   $8501   $027d   Byte            Maximum speed for mouse cursor.
100 mcmclr0         $d025   $d025   n/a     Byte            This is the variable for multi-color mode colors 0.
101 mcmclr1         $d026   $d026   n/a     Byte            This is the variable for multi-color mode colors 1.
102 MenuNumber      $84b7   $84b7   $0228   Byte            Number of currently working menu.
103 minMouseSpeed   $8502   $8502   $027e   Byte            Minimum speed for mouse cursor.
104 minutes         $851a   $851a   $f204   Byte            Variable for minutes for time of day clock.
105 mob0clr         $d027   $d027   n/a     Byte            This is the color of the 1. object (sprite) on Commodore.
106 mob0xpos        $d000   $d000   n/a(!)  Byte            This is the x position of sprite #0
107 mob0ypos        $d001   $d001   n/a(!)  Byte            This is the y position of sprite #0
108 mob1clr         $d028   $d028   n/a     Byte            This is the color of the 2. object (sprite) on Commodore.
109 mob1xpos        $d002   $d002   n/a(!)  Byte            This is the x position of sprite #1
110 mob1ypos        $d003   $d003   n/a(!)  Byte            This is the y position of sprite #1
111 mob2clr         $d029   $d029   n/a     Byte            This is the color of the 3. object (sprite) on Commodore.
112 mob2xpos        $d004   $d004   n/a(!)  Byte            This is the x position of sprite #2
113 mob2ypos        $d005   $d005   n/a(!)  Byte            This is the y position of sprite #2
114 mob3clr         $d02a   $d02a   n/a     Byte            This is the color of the 4. object (sprite) on Commodore.
115 mob3xpos        $d006   $d006   n/a(!)  Byte            This is the x position of sprite #3
116 mob3ypos        $d007   $d007   n/a(!)  Byte            This is the y position of sprite #3
117 mob4clr         $d02b   $d02b   n/a     Byte            This is the color of the 5. object (sprite) on Commodore.
118 mob4xpos        $d008   $d008   n/a(!)  Byte            This is the x position of sprite #4
119 mob4ypos        $d009   $d009   n/a(!)  Byte            This is the y position of sprite #4
120 mob5clr         $d02c   $d02c   n/a     Byte            This is the color of the 6. object (sprite) on Commodore.
121 mob5xpos        $d00a   $d00a   n/a(!)  Byte            This is the x position of sprite #5
122 mob5ypos        $d00b   $d00b   n/a(!)  Byte            This is the y position of sprite #5
123 mob6clr         $d02d   $d02d   n/a     Byte            This is the color of the 7. object (sprite) on Commodore.
124 mob6xpos        $d00c   $d00c   n/a(!)  Byte            This is the x position of sprite #6
125 mob6ypos        $d00d   $d00d   n/a(!)  Byte            This is the y position of sprite #6
126 mob7clr         $d02e   $d02e   n/a     Byte            This is the color of the 8. object (sprite) on Commodore.
127 mob7xpos        $d00e   $d00e   n/a(!)  Byte            This is the x position of sprite #7
128 mob7ypos        $d00f   $d00f   n/a(!)  Byte            This is the y position of sprite #7
129 mobbakcol       $d01f   $d01f   n/a     Byte            Sprite to background collision register for Commodore.
130 mobenble        $d015   $d015   $0818   Byte            Sprite enable bits.
131 mobmcm          $d01c   $d01c   n/a     Byte            Sprite multi-color mode select.
132 mobmobcol       $d01e   $d01e   n/a     Byte            Object to object collision register.
133 mobprior        $d01b   $d01b   n/a     Byte            Object to background priority.
134 mobx2           $d01d   $d01d   $0819   Byte            Double object size in x.
135 moby2           $d017   $d017   $081a   Byte            Double object size in y.
136 month           $8517   $8517   $f201   Byte            Holds month for time of day clock.
137 mouseAccel      $8503   $8503   $027f   Byte            Acceleration of mouse cursor.
138 mouseBottom     $84b9   $84b9   $58     Byte            Bottom most position for mouse cursor.
139 mouseFaultVec   $84a7   $84a7   $020c   Word            Vector to routine to call when mouse goes outside region ...
140 mouseLeft       $84ba   $84ba   $59     Word            Left most position for mouse.
141 mouseOn         $30     $30     $5d     Byte            Flag indicating that the mouse is mode is on.
142 mousePicData    $84c1   $84c1   n/a     64 Bytes        64 byte array for the mouse sprite picture on Commodore.
143 mouseRight      $84bc   $84bc   $5b     Word            Right most position for mouse.
144 mouseSave       n/a     $1b55   $ee53   24 Bytes        Screen data for what is beneath mouse soft sprite.
145 mouseTop        $84b8   $84b8   $57     Byte            Top most position for mouse.
146 mouseVector     $84a1   $84a1   $0206   Word            Routine to call on a mouse key press.
147 mouseXOffset    n/a     n/a     $0229   Word            Offset from mouseXPos to draw the mouse sprite.
148 mouseXPos       $3a     $3a     $0241   Word            Mouse X position.
149 mouseYOffset    n/a     n/a     $022b   Byte            Offset from mouseYPos to draw the mouse sprite.
150 mouseYPos       $3c     $3c     $0243   Byte            Mouse Y position.
151 msbxpos         $d010   $d010   n/a     Byte            Most significant bits for x positions of sprites.
152 msePicPtr       $31     $31     n/a     Word            Pointer to the mouse graphics data.
153 nationality     $c010   $c010   $e00d   Byte            Byte to hold nationality of Kernal.
154 nmivec          $0318   $0318   n/a     Word            NMI vector.
155 noEraseSprites  n/a     n/a     $0240   Byte            Flag to stop routine TempHideMouse fron erasing sprites #2 ...
156 numDrives       $848d   $848d   $f60e   Byte            Set to number of drives on the system.
157 obj0Pointer     $8ff8   $8ff8   n/a     Byte            Pointer to the picture data for sprite 0.
158 obj1Pointer     $8ff9   $8ff9   n/a     Byte            Pointer to the picture data for sprite 1.
159 obj2Pointer     $8ffa   $8ffa   n/a     Byte            Pointer to the picture data for sprite 2.
160 obj3Pointer     $8ffb   $8ffb   n/a     Byte            Pointer to the picture data for sprite 3.
161 obj4Pointer     $8ffc   $8ffc   n/a     Byte            Pointer to the picture data for sprite 4.
162 obj5Pointer     $8ffd   $8ffd   n/a     Byte            Pointer to the picture data for sprite 5.
163 obj6Pointer     $8ffe   $8ffe   n/a     Byte            Pointer to the picture data for sprite 6.
164 obj7Pointer     $8fff   $8fff   n/a     Byte            Pointer to the picture data for sprite 7.
165 offFlag         n/a     n/a     $027c   Byte            Flag telling whether the mouse needs to be redrawn.
166 otherPressVec   $84a9   $84a9   $020e   Word            Vector to routine that is called when the mouse button is ...
167 pressFlag       $39     $39     $08fe   Byte            Flag to indicate that a new key has been pressed.
168 PrntDiskName    $8476   $8476   n/a     18 Bytes        Disk name that current printer driver is on.
169 PrntFileName    $8465   $8465   $08ac   17 | 16 Bytes   Name of the current printer driver.
170 ramBase         $88c7   $88c7   n/a     4 Bytes         RAM bank for each disk drive to use if the drive type is either ...
171 ramExpSize      $88c3   $88c3   n/a     Byte            Byte for number or RAM banks available in RAM expansion unit.
172 random          $850a   $850a   $024c   Word            Variable incremented each interrupt to generate a randon nunber.
173 rasreg          $d012   $d012   n/a     Byte            Raster register.
174 RecoverVector   $84b1   $84b1   $0216   Word            Pointer to routine that is called to recover the background ...
175 reqXpos0        n/a     n/a     $0800   Word            This variable corresponds to the Commodore VIC chip register ...
176 reqXpos1        n/a     n/a     $0802   Word            This variable corresponds to the Commodore VIC chip register ...
177 reqXpos2        n/a     n/a     $0804   Word            This variable corresponds to the Commodore VIC chip register ...
178 reqXpos3        n/a     n/a     $0806   Word            This variable corresponds to the Commodore VIC chip register ...
179 reqXpos4        n/a     n/a     $0808   Word            This variable corresponds to the Commodore VIC chip register ...
180 reqXpos5        n/a     n/a     $080a   Word            This variable corresponds to the Commodore VIC chip register ...
181 reqXpos6        n/a     n/a     $080c   Word            This variable corresponds to the Commodore VIC chip register ...
182 reqXpos7        n/a     n/a     $080e   Word            This variable corresponds to the Commodore VIC chip register ...
183 returnAddress   $3d     $3d     $64     Word            Address to return to from in-line call.
184 rightMargin     $37     $37     $0222   Word            The rightmost point for writing characters.
185 savedmoby2      $88bb   $88bb   n/a     Byte            Saved value of moby2 for context saving done when dialogue boxes ...
186 saveFontTab     $850c   $850c   $024e   9 | 10 Bytes    When a menu is selected, the users active font table is saved ...
187 scr80colors     n/a     $88bd   n/a     Byte            Screen colors for 80 column node on the C128.
188 scr80polar      n/a     $88bc   n/a     Byte            Copy of reg 24 in the VDC for the C128.
189 screencolors    $851e   $851e   n/a     Byte            Default screen colors.
190 seconds         $851b   $851b   $f205   Byte            Seconds variable for the time of day clock.
191 selectionFlash  $84b3   $84b3   $0224   Byte            Variable for the speed at which menu items and icons are ...
192 shiftBuf        n/a     $1b45   $70     7 Bytes         Buffer for shifting/doubling sprites. Located in back RAM.
193 shiftOutBuf     n/a     $1b4c   $78     7 Bytes         Buffer for shifting/doubling/oring sprites. Located in back ...
194 sizeFlags       n/a     $1b53   $db1c   Byte            Height of sprite.
195 softOnes        n/a     $1c2d   $d000   192 Bytes       Buffer used for putting sprite bitmaps up on screen without ...
196 softZeros       n/a     $1b6d   $d0e0   192 Bytes       Buffer used for putting sprite bitnaps up on screen without ...
197 spr0pic         $8a00   $8a00   n/a     64 Bytes        This is where the graphics data for sprite 0 is kept on ...
198 spr1pic         $8a40   $8a40   n/a     64 Bytes        This is where the graphics data for sprite 1 is kept on ...
199 spr2pic         $8a80   $8a80   n/a     64 Bytes        This is where the graphics data for sprite 2 is kept on ...
200 spr3pic         $8ac0   $8ac0   n/a     64 Bytes        This is where the graphics data for sprite 3 is kept on ...
201 spr4pic         $8b00   $8b00   n/a     64 Bytes        This is where the graphics data for sprite 4 is kept on ...
202 spr5pic         $8b40   $8b40   n/a     64 Bytes        This is where the graphics data for sprite 5 is kept on ...
203 spr6pic         $8b80   $8b80   n/a     64 Bytes        This is where the graphics data for sprite 6 is kept on ...
204 spr7pic         $8bc0   $8bc0   n/a     64 Bytes        This is where the graphics data for sprite 7 is kept on ...
205 sspr1back       n/a     $133b   $56d0   294 | 336 Bytes For the soft sprites #1, there is a buffer in the ...
206 sspr2back       n/a     $1461   $5820   294 | 336 Bytes For the soft sprites #2, there is a buffer in the ...
207 sspr3back       n/a     $1587   $5970   294 | 336 Bytes For the soft sprites #3, there is a buffer in the ...
208 sspr4back       n/a     $16ad   $5ac0   294 | 336 Bytes For the soft sprites #4, there is a buffer in the ...
209 sspr5back       n/a     $17d3   $5c10   294 | 336 Bytes For the soft sprites #5, there is a buffer in the ...
210 sspr6back       n/a     $18f9   $5d60   294 | 336 Bytes For the soft sprites #6, there is a buffer in the ...
211 sspr7back       n/a     $1a1f   $5eb0   294 | 336 Bytes For the soft sprites #7, there is a buffer in the ...
212 string          $24     $24     $53     Word            Used by GEOS as a pointer to string destinations for routines ...
213 StringFaultVec  $84ab   $84ab   $0210   Word            Vector called when an attempt is made to write a character ...
214 stringX         $84be   $84be   $022e   Word            The X position for string input.
215 stringY         $84c0   $84c0   $0230   Byte            The Y position for string input.
216 sysDBData       $851d   $851d   $0259   Byte            Variable that is used internally to indicate which icon caused ...
217 sysFlgCopy      $c012   $c012   n/a     Byte            This is a copy of the sysRAMFlg that is saved here when going ...
218 sysRAMFlg       $88c4   $88c4   n/a     Byte            If RAM expansion in, Bank 0 is reserved for the Kernal's use.
219 totNumBlks      n/a     n/a     $f60b   Word            Total number of blocks in current volume.
220 turboFlags      $8492   $8492   n/a     4 Bytes         The turbo state flags for drives 8 through 11 on Commodore.
221 usedRecords     $8497   $8497   $f619   Byte            Holds the number of records in an open VLIR file.
222 vdcClrMode      n/a     $88be   n/a     Byte            Holds the current color mode for C128 color routines.
223 version         $c00f   $c00f   $e00c   Byte            Holds byte indicating what version of GEOS is running.
224 windowTop       $33     $33     $021e   Byte            Top line of window for text clipping.
225 year            $8516   $8516   $f200   Byte            Holds the year for the time of day clock.
226
227
228 GEOS Routines
229 =============
230
231 Name                    C64     C128    Apple   Description
232 -----------------------------------------------------------
233 AllocateBlock           $9048   $9048   $0300   Mark a disk block as in-use.
234 AppendRecord            $c289   $c289   $0330   Insert a new VLIR record after the current record.
235 AuxDExit                n/a     n/a     $efa9   Aux-driver deinstall and exit routine.
236 AuxDInt                 n/a     n/a     $efa3   Aux-driver interrupt level routine.
237 AuxDKeyFilter           n/a     n/a     $efa6   Aux-driver keypress filter.
238 AuxDMain                n/a     n/a     $efa0   Aux-driver MainLoop level routine.
239 BBMult                  $c160   $c160   $fecc   Byte by byte (single-precision) unsigned multiply.
240 Bell                    n/a     n/a     $ff86   1000 Hz Bell sound.
241 BitmapClip              $c2aa   $c2aa   $fe5a   Display a compacted bitmap, clipping to a sub-window.
242 BitmapUp                $c142   $c142   $fe54   Display a compacted bitmap without clipping.
243 BitOtherClip            $c2c5   $c2c5   $fe5d   BitmapClip with data coming from elsewhere (e.g., disk).
244 BldGDirEntry            $c1f3   $c1f3   $036f   Build a GEOS directory entry in memory.
245 BlkAlloc                $c1fc   $c1fc   $0351   Allocate space on disk.
246 BlockProcess            $c10c   $c10c   $feb4   Block process from running. Does not freeze timer.
247 BMult                   $c163   $c163   $fecf   Byte by word unsigned multiply.
248 BootGEOS                $c000   $c000   n/a     Reboot GEOS. Requires only 128 bytes at $c000.
249 CalcBlksFree            $c1db   $c1db   $0324   Calculate total number of free disk blocks.
250 CallRoutine             $c1d8   $c1d8   $ff08   Pseudo-subroutine call. $0000 aborts call.
251 CancelPrint             n/a     n/a     $6018   Cancel printing, clearing printer and I/O card buffers.
252 ChangeDiskDevice        $c2bc   $c2bc   n/a     Instruct CBM drive to change its serial device address.
253 ChkDkGEOS               $c1de   $c1de   n/a     Check CBM disk for GEOS format.
254 ClearCard               n/a     n/a     $6715   Clear any buffered I/O operations.
255 ClearMouseMode          $c19c   $c19c   $fe9f   Stop input device monitoring.
256 ClearRam                $c178   $c178   $fefc   Clear memory to $00.
257 ClockInt                n/a     n/a     $0803   Clock driver interrupt level routine.
258 CloseCard               n/a     n/a     $670c   Close access to I/O card.
259 CloseRecordFile         $c277   $c277   $0333   Close currently open VLIR file.
260 CmpFString              $c26e   $c26e   $fef0   Compare two fixed-length strings.
261 CmpString               $c26b   $c26b   $feed   Compare two null-terminated strings.
262 CopyFString             $c268   $c268   $feea   Copy a fixed-length string.
263 CopyFullScreen          n/a     n/a     $ff92   Fast vertical screen copy.
264 CopyLine                n/a     n/a     $ff5f   Bit-boundary horizontal line copy.
265 CopyScreenBlock         n/a     n/a     $ff5c   Bit-boundary rectangle copy.
266 CopyString              $c256   $c256   $fee7   Copy a null-terminated string.
267 CRC                     $c20e   $c20e   $ff14   Cyclic Reduncancy Check calculation.
268 Dabs                    $c16f   $c16f   $fedb   Double-precision signed absolute value.
269 Ddec                    $c175   $c175   $fee1   Double-precison unsigned decrement.
270 Ddiv                    $c169   $c169   $fed5   Double-precision unsigned division.
271 DeleteDir               n/a     n/a     $037e   Delete directory.
272 DeleteFile              $c238   $c238   $0357   Delete file.
273 DeleteRecord            $c283   $c283   $0336   Delete current VLIR record.
274 DisablSprite            $c1d5   $c1d5   $feab   Disable sprite.
275 DivideBySeven           n/a     n/a     $ff68   Quick division by seven for direct screen access.
276 DMult                   $c166   $c166   $fed2   Double-precision unsigned multiply.
277 Dnegate                 $c172   $c172   $fede   Double-precision signed negation.
278 DoBOp                   n/a     $c2ec   n/a     C128-backram memory primitive.
279 DoDlgBox                $c256   $c256   $ff17   Display and begin interaction with dialog box.
280 DoIcons                 $c15a   $c15a   $fe0c   Display and begin interaction with icons.
281 DoInlineReturn          $c2a4   $c2a4   $fe09   Return from inline subroutine.
282 DoMenu                  $c151   $c151   $fe0f   Display and begin interaction with menus.
283 DoneWithIO              $c25f   $c25f   n/a     Restore system after I/O across CBM serial bus.
284 DoPreviousMenu          $c190   $c190   $fe15   Retract sub-menu and reactivate menus up one level.
285 DoRAMOp                 $c2d4   $c2d4   n/a     CBM RAM-expansion unit access primitive.
286 DownDirectory           n/a     n/a     $0381   Open subdirectory.
287 DrawLine                $c130   $c130   $fe33   Draw, clear, or recover line between two endpoints.
288 DrawPoint               $c133   $c133   $fe21   Draw, clear, or recover a single screen point.
289 DrawSprite              $c1c6   $c1c6   $fea2   Define sprite image.
290 DSdiv                   $c16c   $c16c   $fed8   Double-precision signed division.
291 DShiftLeft              $c15d   $c15d   $fec6   Double-precision left shift (zeros shifted in).
292 DShiftRight             $c262   $c262   $fec9   Double-precision right shift (zeros shifted in).
293 EnableProcess           $c109   $c109   $fec3   Make a process runable immediately.
294 EnablSprite             $c1d2   $c1d2   $fea8   Enable sprite.
295 EnterDeskTop            $c22c   $c22c   $ff59   Leave application and return to GEOS deskTop.
296 EnterTurbo              $c214   $c214   n/a     Activate CBM disk turbo on current drive.
297 EraseCharacter          n/a     n/a     $ff3e   Erase text character from screen.
298 ExitTurbo               $c232   $c232   n/a     Deactivate CBM disk turbo on current drive.
299 FastDelFile             $c244   $c244   n/a     Quick file delete (requires full track/sector list).
300 FdFTypesInDir           n/a     n/a     $0363   Find files in directory other than current directory.
301 FetchRAM                $c2cb   $c2cb   n/a     Transfer data from CBM RAM-expansion unit.
302 FillRam                 $c17b   $c17b   $feff   Fill memory with a particular byte.
303 FindBAMBit              $c2ad   $c2ad   n/a     Get allocation status of particular CBM disk block.
304 FindFile                $c20b   $c20b   $0369   Search for a particular file.
305 FindFTypes              $c23b   $c23b   $0366   Find all files of a particular GEOS type.
306 FindVBMBit              n/a     n/a     $036c   Get allocation status of particular ProDOS disk block.
307 FirstInit               $c271   $c271   $ff11   GEOS startup entry point.
308 FndFilinDir             n/a     n/a     $036c   Find a file in a directory other than current directory.
309 FollowChain             $c205   $c205   n/a     Follow chain of CBM sectors, building track/sector table.
310 FrameRectangle          $c127   $c127   $fe3f   Draw a rectangular frame (outline).
311 FreeBlock               $c2b9   $c2b9   $032a   Mark a disk block as not-in-use.
312 FreeDir                 n/a     n/a     $03ba   Free all blocks associated with a subdirectory.
313 FreeFile                $c226   $c226   $035a   Free all blocks assocatiated with a file.
314 FreezeProcess           $c112   $c112   $feba   Pause a process countdown timer.
315 Get1stDirEntry          $9030   $9030   $039c   Get first directory entry.
316 GetBlock                $c1e4   $c1e4   $0300   Read single disk block into memory.
317 GetCharWidth            $c1c9   $c1c9   $fe87   Calculate width of character without style attributes.
318 GetDimensions           $790c   $790c   n/a     Get CBM printer page dimensions.
319 GetDirHead              $c247   $c247   $0372   Read directory header into memory.
320 GetFHdrInfo             $c229   $c229   $0390   Read a GEOS file header into memory.
321 GetFile                 $c208   $c208   $030f   Load GEOS file.
322 GetFreeDirBlk           $c1f6   $c1f6   $0375   Find an empty directory slot.
323 GetLdVars               n/a     n/a     $ff44   Transfer internal Ld variables to GEOS pseudoregisters.
324 GetMode                 n/a     n/a     $6012   Return current printer resolution and setable attributes.
325 GetNextChar             $c2a7   $c2a7   $fe75   Get next character from character queue.
326 GetNxtDirEntry          $9033   $9033   $039c   Get directory entry other than first.
327 GetPathname             n/a     n/a     $0384   Return current path string.
328 GetPattern              n/a     n/a     $ff7d   Get eight-byte GEOS pattern definition.
329 GetPtrCurDkNm           $c298   $c298   $ff56   Return pointer to current disk name.
330 GetRandom               $c187   $c187   $fee4   Calculate new random number.
331 GetRealSize             $c1b1   $c1b1   $fe84   Calculate actual character size with attributes.
332 GetScanLine             $c13c   $c13c   $fe66   Calculate scanline address.
333 GetScreenLine           n/a     n/a     $ff62   Copy Apple screen data to buffer.
334 GetSerialNumber         $c196   $c196   $4b38   Return GEOS serial number or pointer to name string.
335 GetSpriteData           n/a     n/a     $ff6e   Get sprite image data.
336 GetString               $c1ba   $c1ba   $fe72   Get string input from user.
337 GetVBM                  n/a     n/a     $031e   Read first VBM block into VBM cache.
338 GoDirectory             n/a     n/a     $039f   Go directory to a specific subdirectory.
339 GotoFirstMenu           $c1bd   $c1bd   $fe18   Retract all sub-menus and reactivate at main level.
340 GraphicsString          $c136   $c136   $fe60   Execute a string of graphics commands.
341 HideOnlyMouse           n/a     $c2f2   $ff7a   Temporarily remove soft-sprite mouse pointer.
342 HorizontalLine          $c118   $c118   $fe27   Draw a patterned horizontal line.
343 i_BitmapUp              $c1ab   $c1ab   $fe57   Inline BitmapUp.
344 i_FillRam               $c1b4   $c1b4   $ff02   Inline FillRam.
345 i_FrameRectangle        $c1a2   $c1a2   $fe42   Inline FrameRectangle.
346 i_GraphicsString        $c1a8   $c1a8   $fe63   Inline GraphicsString.
347 i_ImprintRectangle      $c253   $c253   $fe51   Inline ImprintRectangle.
348 i_MoveData              $c1b7   $c1b7   $fef9   Inline MoveData.
349 i_NewBitUp              n/a     n/a     $ff9e   Inline NewBitUp.
350 i_PutString             $c1ae   $c1ae   $fe6c   Inline PutString.
351 i_RecoverRectangle      $c1a5   $c1a5   $fe4b   Inline RecoverRectangle.
352 i_Rectangle             $c19f   $c19f   $fe3c   Inline Rectangle.
353 ImprintLine             n/a     n/a     $ff8f   Imprint horizontal line to background buffer.
354 ImprintRectangle        $c250   $c250   $fe4e   Imprint rectangular area to background buffer.
355 InfoCard                n/a     n/a     $670f   Get I/O card attributes.
356 InitCard                n/a     n/a     $6700   Intialize I/O card.
357 InitForDialog           n/a     n/a     $ff4a   Internal pre-dialog box intialization.
358 InitForIO               $c25c   $c25c   n/a     Prepare CBM system for I/O across serial bus.
359 InitForPrint            $7900   $7900   $6000   Initialize printer (once per document).
360 InitMouse               $fe80   $fe80   $f000   Initialize input device.
361 InitProcesses           $c103   $c103   $feae   Initialize processes.
362 InitRam                 $c181   $c181   $ff05   Initialize memory areas from table.
363 InitSprite              n/a     n/a     $ff32   Initialize software sprites.
364 InitTextPrompt          $c1c0   $c1c0   $fe78   Initialize text prompt.
365 InputByte               n/a     n/a     $6709   Read byte from I/O card.
366 InsertRecord            $c286   $c286   $0339   Insert new VLIR record in front of current record.
367 InterruptMain           $c100   $c100   $fe03   Main interrupt level processing.
368 InvertLine              $c11b   $c11b   $fe2d   Invert the pixels on a horizontal screen line.
369 InvertRectangle         $c12a   $c12a   $fe45   Invert the pixels in a rectangular screen area.
370 IrqMiddle               n/a     n/a     $ff20   Software interrupts entry point.
371 IsMseInRegion           $c2b3   $c2b3   $fe9c   Check if mouse is within a screen region.
372 JsrToAux                n/a     n/a     $03b4   Call aux-memory subroutine.
373 KeyFilter               n/a     n/a     $f009   Input driver keypress filter.
374 LdApplic                $c21d   $c21d   $038d   Load GEOS application.
375 LdDeskAcc               $c217   $c217   $035d   Load GEOS desk accessory.
376 LdFile                  $c211   $c211   $0312   Load GEOS data file.
377 LoadAuxSet              n/a     n/a     $ff77   Use aux-memory character set.
378 LoadCharSet             $c1cc   $c1cc   $fe8a   Use main-memory character set.
379 MainLoop                $c1c3   $c1c3   $fe00   GEOS MainLoop processing.
380 MakeSubDir              n/a     n/a     $0387   Create ProDOS subdirectory.
381 MouseOff                $c18d   $c18d   $fe96   Disable mouse pointer and GEOS mouse tracking.
382 MouseUp                 $c18a   $c18a   $fe99   Enable mouse pointer and GEOS mouse tracking.
383 MoveAuxData             n/a     n/a     $ff6b   Apple aux-memory memory move routine.
384 MoveBData               n/a     $c2e3   n/a     C128 backram memory move routine.
385 MoveData                $c17c   $c17e   $fef6   Memory move routine.
386 NewBitClip              n/a     n/a     $ff95   Bit-boundary BitmapClip.
387 NewBitOtherClip         n/a     n/a     $ff0e   Bit-boundary BitOtherClip.
388 NewBitUp                n/a     n/a     $ff1d   Bit-boundary BitmapUp.
389 NewDisk                 $c1e1   $c1e1   n/a     Tell CBM disk turbo software that a new disk is in drive.
390 NextRecord              $c27a   $c27a   $0336   Make next VLIR the current record.
391 NormalizeX              n/a     $c2e0   n/a     Normalize C128 X-coordinates for 40/80 modes.
392 NxtBlkAlloc             $c24d   $c24d   $0354   Version of BlkAlloc that starts at a specific block.
393 OpenCard                n/a     n/a     $6703   Open I/O card for access.
394 OpenDisk                $c2a1   $c2a1   $0399   Open disk in current drive.
395 OpenRecordFile          $c274   $c274   $033f   Open VLIR file on current disk.
396 OutputByte              n/a     n/a     $6706   Write byte to I/O card.
397 Panic                   $c2c2   $c2c2   $fef3   System-error dialog box.
398 PointRecord             $c280   $c280   $0342   Make specific VLIR record the current record.
399 PosSprite               $c1cf   $c1cf   $fea5   Position sprite.
400 PreviousRecord          $c27d   $c27d   $0345   Make previous VLIR record the current record.
401 PrintASCII              $790f   $790f   $600c   Send ASCII data to printer.
402 PrintBuffer             $7906   $7906   $6009   Send graphics data to printer.
403 PromptOff               $c29e   $c29e   $fe7e   Turn off text prompt.
404 PromptOn                $c29b   $c29b   $fe7b   Turn on text prompt.
405 PurgeTurbo              $c235   $c235   n/a     Remove CBM disk turbo software from drive.
406 PutBlock                $c1e7   $c1e7   $0303   Write single disk block from memory.
407 PutChar                 $c145   $c145   $fe81   Display a single character to screen.
408 PutDecimal              $c184   $c184   $fe6f   Format and display an unsigned double-precison number.
409 PutDirHead              $c24a   $c24a   $037b   Write directory header to disk.
410 PutScreenLine           n/a     n/a     $ff65   Copy buffer data to Apple screen memory.
411 PutString               $c148   $c148   $fe69   Print string of characters to screen.
412 PutVBM                  n/a     n/a     $0321   Flush VBM cache; write currently cached block to disk.
413 ReadBackLine            n/a     n/a     $ff74   Get data from background screen in linear bitmap format.
414 ReadBlock               $c21a   $c21a   n/a     CBM get disk block primitive.
415 ReadByte                $c2b6   $c2b6   $ff41   Read disk file a byte at a time.
416 ReadClock               n/a     n/a     $0800   Update GEOS time/date variables from clock hardware.
417 ReadFile                $c1ff   $c1ff   $0315   Read chained list of blocks into memory.
418 ReadLink                $904b   $904b   n/a     Read CBM track/sector link.
419 ReadRecord              $c28c   $c28c   $0348   Read current VLIR record into memory.
420 ReadScanLine            n/a     n/a     $ff98   Get data from foreground screen in linear bitmap format.
421 RecoverAllMenus         $c157   $c157   $fe1e   Recover all menus from background buffer.
422 RecoverFG               n/a     n/a     $03ae   Restores foreground screen from data created with SaveFG.
423 RecoverLine             $c11e   $c11e   $fe30   Recover horizontal screen line from background buffer.
424 RecoverMenu             $c154   $c154   $fe1b   Recover single menu from background buffer.
425 RecoverRectangle        $c12d   $c12d   $fe48   Recover rectangular screen area from background buffer.
426 RecoverSysRam           n/a     n/a     $ff53   Restore system after dialog box or desk accessory.
427 Rectangle               $c124   $c124   $fe39   Draw a filled rectangle.
428 ReDoMenu                $c193   $c193   $fe12   Reactivate menus at the current level.
429 RenameFile              $c259   $c259   $0393   Rename GEOS disk file.
430 ReOpenDisk              n/a     n/a     $03a2   Reopen disk to previous directory.
431 ResetAlarm              n/a     n/a     $080c   Disable clock driver alarm.
432 ResetHandle             $c003   $c003   n/a     Internal bootstrap entry point.
433 RestartProcess          $c106   $c106   $feb1   Unblock, unfreeze, and restart process.
434 RestoreFontData         n/a     n/a     $ff38   Restore font variables from saveFontTab.
435 RstrAppl                $c23e   $c23e   $0360   Leave desk accessory and return to calling application.
436 RstrFrmDialog           $c2bf   $c2bf   $ff1a   Exit dialog box.
437 SaveFG                  n/a     n/a     $03ab   Save foreground screen data for RestoreFG.
438 SaveFile                $c1ed   $c1ed   $0318   Save/create a GEOS file.
439 SaveFontData            n/a     n/a     $ff35   Copy font variables to saveFontTab.
440 SetAlarm                n/a     n/a     $0809   Set clock driver alarm.
441 SetDevice               $c2b0   $c2b0   n/a     Establish communication with a new serial device.
442 SetGDirEntry            $c1f0   $c1f0   $037b   Create and save a new GEOS directory entry.
443 SetGEOSDisk             $c1ea   $c1ea   n/a     Convert normal CBM disk into GEOS format disk.
444 SetLdVars               n/a     n/a     $ff47   Set internal Ld variables from GEOS pseudoregisters.
445 SetMode                 n/a     n/a     $6015   Set print mode.
446 SetMouse                n/a     $fe89   n/a     Reset input device scanning circutry.
447 SetMsePic               n/a     $c2da   $ff2f   Set and preshift new soft-sprite mouse picture.
448 SetNewMode              n/a     $c2dd   n/a     Change GEOS 128 graphics mode (40/80 switch).
449 SetNextFree             $c292   $c292   $032d   Search for nearby free disk block and allocate it.
450 SetNLQ                  $7915   $7915   n/a     Begin near-letter quality printing.
451 SetPattern              $c139   $c139   $fe36   Set current fill pattern.
452 SetTimeDate             n/a     n/a     $0806   Set clock driver time and date.
453 SetUserPattern          n/a     n/a     $ff80   Define new GEOS pattern image.
454 Sleep                   $c199   $c199   $fec0   Put current subroutine to sleep for a specified time.
455 SlowMouse               $fe83   $fe83   $f003   Reset mouse velocity variables.
456 SmallPutChar            $c202   $c202   $fe90   Fast character print routine.
457 SoftSprHandler          n/a     n/a     $ff2c   Apple soft-sprite drawing routine.
458 SortAlpha               n/a     n/a     $03a5   Insertion sort.
459 StartAppl               $c22f   $c22f   $fe06   Warmstart GEOS and start application in memory.
460 StartASCII              $7912   $7912   $6006   Begin ASCII mode printing.
461 StartMouseMode          $c14e   $c14e   $fe93   Start monitoring input device.
462 StartPrint              $7903   $7903   $6003   Begin graphics mode printing.
463 StashRAM                $c2c8   $c2c8   n/a     Transfer memory to CBM RAM-expansion unit.
464 StatusCard              n/a     n/a     $6712   Get current status of I/O card.
465 StopPrint               $7909   $7909   $600f   End page of printer output.
466 SwapBData               n/a     $c2e6   n/a     C128 memory swap between front/back ram.
467 SwapMainAndAux          n/a     n/a     $ff71   Apple memory swap between main and aux.
468 SwapRAM                 $c2ce   $c2ce   n/a     CBM RAM-expansion unit memory swap.
469 TempHideMouse           n/a     $c2d7   $ff29   Hide soft-sprites before direct screen access.
470 TestPoint               $c13f   $c13f   $fe24   Test status of single screen point (on or off?).
471 ToBasic                 $c241   $c241   n/a     Call Commodore BASIC.
472 UnblockProcess          $c10f   $c10f   $feb7   Unblock a blocked process, allowing it to run again.
473 UnfreezeProcess         $c115   $c115   $febd   Unpause a frozen process timer.
474 UpdateMouse             $fe86   $fe86   $f006   Update mouse variables from input device.
475 UpdateParent            n/a     n/a     $03b7   Update parent directory to reflect any changes.
476 UpdateRecordFile        $c295   $c295   $034b   Update currently open VLIR file without closing it.
477 UpDirectory             n/a     n/a     $038a   Close current directory and move up one level.
478 UseSystemFont           $c14b   $c14b   $fe8d   Use default system font (BSW 9).
479 VerifyBData             n/a     $c2e9   n/a     C128 backram verify.
480 VerifyRAM               $c2d1   $c2d1   n/a     CBM RAM-expansion unit verify.
481 VerticalLine            $c121   $c121   $fe2a   Draw a patterned vertical line.
482 VerWriteBlock           $c223   $c223   n/a     CBM disk block verify primitive.
483 WarmStart               n/a     n/a     $ff4d   Bring GEOS to a warmstart state.
484 WriteBlock              $c220   $c220   n/a     CBM write disk block primitive.
485 WriteFile               $c1f9   $c1f9   $031b   Write chained list of blocks to disk.
486 WriteRecord             $c28f   $c28f   $034e   Write current VLIR record to disk.