Source: The Hitchhiker's Guide To GEOS https://archive.org/details/The_Hitchhikers_Guide_to_GEOS GEOS Variables ============== Name C64 C128 Apple Size Description ------------------------------------------------------------------- alarmSetFlag $851c $851c n/a Byte TRUE if the alarm is set for GEOS to monitor, else FALSE. alarmTmtVector $84ad $84ad $0212 Word Address of a service routine for the alarm clock time-out ... alphaFlag $84b4 $84b4 $0225 Byte Flag for alphanumeric string input ... appMain $849b $849b $0200 Word Vector that allows applications to include their own main loop ... backBufPtr n/a $131b $9d7c 16 Bytes Screen pointer where the back buffer came from. backXBufNum n/a $132b $d98c 8 Bytes For each sprite, there is one byte here for how many bytes ... backYBufNum n/a $1333 $d994 8 Bytes For each sprite, there is one byte here for how many scanlines ... bakclr0 $d021 $d021 n/a Byte Background color 0. bakclr1 $d022 $d022 n/a Byte Background color 1. bakclr2 $d023 $d023 n/a Byte Background color 2. bakclr3 $d024 $d024 n/a Byte Background color 3. baselineOffset $26 $26 $0218 Byte Offset from top line to baseline in character set. bkvec $0316 $0316 n/a Word BRK instruction vector for when ROMs are switched in. bootName $c006 $c006 $e003 9 Bytes This is the start of the "GEOS BOOT" string. BRKVector $84af $84af $0214 Word Vector to the routine that is called when a BRK instruction is ... cardDataPntr $2c $2c $60 Word This is a pointer to the actual card graphics data for the ... CPU_DATA $01 n/a n/a Word Address of 6510 data register that controls the hardware memory ... CPU_DDR $00 n/a n/a Byte Address of 6510 data direction register. curDevice $ba $ba n/a Byte This holds the current serial device number. curDirHead $8200 $8200 $fa80 256 | 39 Bytes For CBM, it is the buffer containing header 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 and Apple soft sprites. curYpos0 n/a $1313 $d964 8 Bytes The current Y positions for the C128 and Apple soft sprites. dataDiskName $8453 $8453 $02b4 18 | 16 Bytes Holds the disk name that an application's data file is on. dataFileName $8442 $8442 $02a4 17 | 16 Bytes This is the name of a data file to open. dateCopy $c018 $c018 n/a 3 Bytes This is a copy of the system variables for year, month, and day. day $8518 $8518 $f202 Byte Holds the value for current day. dblClickCount $8515 $8515 $0258 Byte Used to determine when an icon is double clicked on. devTabHi n/a n/a $fae7 4 Bytes For the Apple, these are the high and low bytes of the four ... devTabLo n/a n/a $faeb 4 Bytes For the Apple, these are the high and low bytes of the four ... devUnitTab n/a n/a $faef 4 Bytes The ProDos unit numbers of the four possible devices are kept ... dir2Head $8900 $8900 n/a 256 Bytes This is the 2nd directory header block used for larger 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 driveType, one for each of four ... drSizeHi n/a n/a $fafb 4 Bytes The high bytes of the sizes of the four possible ... drSizeLo n/a n/a $faf7 4 Bytes The low bytes of the sizes of the four possible ... extclr $20 $20 n/a Byte Holds value for exterior (border) color. faultData $84b6 $84b6 $0227 Byte Holds information about mouse faults. fileHeader $8100 $8100 $f859 256 | 512 Bytes Buffer used to hold the header block for a GEOS file. fileSize $8499 $8499 $f61b Word This is the current size (in blocks) of a file. fileTrScTab $8300 $8300 n/a 256 Bytes For Commodore, it is the buffer used to hold the track and ... fileWritten $8498 $8498 $f61a Byte Flag indicating if a if the currently open file has been written ... firstBoot $88c5 $88c5 $0281 Byte This flag is changed from 0 to $FF when the deskTop comes up ... fontData $850c $850c n/a(?) 9 Bytes Buffer for saving the user active font table when going into ... fontTable $26 $26 n/a(?) 8 Bytes fontTable is a label for the beginning of variables for the ... grcntr12 $d016 $d016 n/a Byte Graphics control 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 used by BlkAlloc routine as the desired interleave when ... intSource n/a n/a $02c6 Byte Byte to indicate where interrupts are coming from on the Apple. intTopVector $849d $849d $0202 Word Vector to routine to call before the operating system interrupt ... invertBuffer n/a $1ced n/a 80 Bytes Buffer area used to speed up the 80 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 multi-color mode colors 0. mcmclr1 $d026 $d026 n/a Byte This is the variable for multi-color mode colors 1. MenuNumber $84b7 $84b7 $0228 Byte Number of currently working menu. minMouseSpeed $8502 $8502 $027e Byte Minimum speed for mouse cursor. minutes $851a $851a $f204 Byte Variable for minutes for time of day clock. mob0clr $d027 $d027 n/a Byte This is the color of the 1. object (sprite) on Commodore. mob0xpos $d000 $d000 n/a(!) Byte This is the x position of sprite #0 mob0ypos $d001 $d001 n/a(!) Byte This is the y position of sprite #0 mob1clr $d028 $d028 n/a Byte This is the color of the 2. object (sprite) on Commodore. mob1xpos $d002 $d002 n/a(!) Byte This is the x position of sprite #1 mob1ypos $d003 $d003 n/a(!) Byte This is the y position of sprite #1 mob2clr $d029 $d029 n/a Byte This is the color of the 3. object (sprite) on Commodore. mob2xpos $d004 $d004 n/a(!) Byte This is the x position of sprite #2 mob2ypos $d005 $d005 n/a(!) Byte This is the y position of sprite #2 mob3clr $d02a $d02a n/a Byte This is the color of the 4. object (sprite) on Commodore. mob3xpos $d006 $d006 n/a(!) Byte This is the x position of sprite #3 mob3ypos $d007 $d007 n/a(!) Byte This is the y position of sprite #3 mob4clr $d02b $d02b n/a Byte This is the color of the 5. object (sprite) on Commodore. mob4xpos $d008 $d008 n/a(!) Byte This is the x position of sprite #4 mob4ypos $d009 $d009 n/a(!) Byte This is the y position of sprite #4 mob5clr $d02c $d02c n/a Byte This is the color of the 6. object (sprite) on Commodore. mob5xpos $d00a $d00a n/a(!) Byte This is the x position of sprite #5 mob5ypos $d00b $d00b n/a(!) Byte This is the y position of sprite #5 mob6clr $d02d $d02d n/a Byte This is the color of the 7. object (sprite) on Commodore. mob6xpos $d00c $d00c n/a(!) Byte This is the x position of sprite #6 mob6ypos $d00d $d00d n/a(!) Byte This is the y position of sprite #6 mob7clr $d02e $d02e n/a Byte This is the color of the 8. object (sprite) on Commodore. mob7xpos $d00e $d00e n/a(!) Byte This is the x position of sprite #7 mob7ypos $d00f $d00f n/a(!) Byte This is the y position of sprite #7 mobbakcol $d01f $d01f n/a Byte Sprite to background collision register for Commodore. mobenble $d015 $d015 $0818 Byte Sprite enable bits. mobmcm $d01c $d01c n/a Byte Sprite multi-color mode select. mobmobcol $d01e $d01e n/a Byte Object to object collision register. mobprior $d01b $d01b n/a Byte Object to background priority. mobx2 $d01d $d01d $0819 Byte Double object size in x. moby2 $d017 $d017 $081a Byte Double object size in y. month $8517 $8517 $f201 Byte Holds month for time of day clock. mouseAccel $8503 $8503 $027f Byte Acceleration of mouse cursor. mouseBottom $84b9 $84b9 $58 Byte Bottom most position for mouse cursor. mouseFaultVec $84a7 $84a7 $020c Word Vector to routine to call when mouse goes outside region ... mouseLeft $84ba $84ba $59 Word Left most position for mouse. mouseOn $30 $30 $5d Byte Flag indicating that the mouse is mode is on. mousePicData $84c1 $84c1 n/a 64 Bytes 64 byte array for the mouse sprite picture on Commodore. mouseRight $84bc $84bc $5b Word Right most position for mouse. mouseSave n/a $1b55 $ee53 24 Bytes Screen data for what is beneath mouse soft sprite. mouseTop $84b8 $84b8 $57 Byte Top most position for mouse. mouseVector $84a1 $84a1 $0206 Word Routine to call on a mouse key press. mouseXOffset n/a n/a $0229 Word Offset from mouseXPos to draw the mouse sprite. mouseXPos $3a $3a $0241 Word Mouse X position. mouseYOffset n/a n/a $022b Byte Offset from mouseYPos to draw the mouse sprite. mouseYPos $3c $3c $0243 Byte Mouse Y position. msbxpos $d010 $d010 n/a Byte Most significant bits for x positions of sprites. msePicPtr $31 $31 n/a Word Pointer to the mouse graphics data. nationality $c010 $c010 $e00d Byte Byte to hold nationality of Kernal. nmivec $0318 $0318 n/a Word NMI vector. noEraseSprites n/a n/a $0240 Byte Flag to stop routine TempHideMouse 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 mouse needs to be redrawn. otherPressVec $84a9 $84a9 $020e Word Vector to routine that is called when the mouse button is ... pressFlag $39 $39 $08fe Byte Flag to indicate that a new key has been pressed. PrntDiskName $8476 $8476 n/a 18 Bytes Disk name that current printer driver is on. PrntFileName $8465 $8465 $08ac 17 | 16 Bytes Name of the current printer driver. ramBase $88c7 $88c7 n/a 4 Bytes RAM bank for each disk drive to use if the drive type is either ... ramExpSize $88c3 $88c3 n/a Byte Byte for number or RAM banks available in RAM expansion unit. random $850a $850a $024c Word Variable incremented each interrupt to generate a randon 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 attempt is made to write a character ... stringX $84be $84be $022e Word The X position for string input. stringY $84c0 $84c0 $0230 Byte The Y position for string input. sysDBData $851d $851d $0259 Byte Variable that is used internally to indicate which icon caused ... sysFlgCopy $c012 $c012 n/a Byte This is a copy of the sysRAMFlg that is saved here when going ... sysRAMFlg $88c4 $88c4 n/a Byte If RAM expansion in, Bank 0 is reserved for the Kernal's use. totNumBlks n/a n/a $f60b Word Total number of blocks in current volume. turboFlags $8492 $8492 n/a 4 Bytes The turbo state flags for drives 8 through 11 on Commodore. usedRecords $8497 $8497 $f619 Byte Holds the number of records in an open VLIR file. vdcClrMode n/a $88be n/a Byte Holds the current color mode for C128 color routines. version $c00f $c00f $e00c Byte Holds byte indicating what version of GEOS is running. windowTop $33 $33 $021e Byte Top line of window for text clipping. year $8516 $8516 $f200 Byte Holds the year for the time of day clock. GEOS Routines ============= Name C64 C128 Apple Description ----------------------------------------------------------- AllocateBlock $9048 $9048 $0300 Mark a disk block as in-use. AppendRecord $c289 $c289 $0330 Insert a new VLIR record after the current record. AuxDExit n/a n/a $efa9 Aux-driver deinstall and exit routine. AuxDInt n/a n/a $efa3 Aux-driver interrupt level routine. AuxDKeyFilter n/a n/a $efa6 Aux-driver keypress filter. AuxDMain n/a n/a $efa0 Aux-driver MainLoop level routine. BBMult $c160 $c160 $fecc Byte by byte (single-precision) unsigned multiply. Bell n/a n/a $ff86 1000 Hz Bell sound. BitmapClip $c2aa $c2aa $fe5a Display a compacted bitmap, clipping to a sub-window. BitmapUp $c142 $c142 $fe54 Display a compacted bitmap without clipping. BitOtherClip $c2c5 $c2c5 $fe5d BitmapClip with data coming from elsewhere (e.g., disk). BldGDirEntry $c1f3 $c1f3 $036f Build a GEOS directory entry in memory. BlkAlloc $c1fc $c1fc $0351 Allocate space on disk. BlockProcess $c10c $c10c $feb4 Block process from running. Does not freeze timer. BMult $c163 $c163 $fecf Byte by word unsigned multiply. BootGEOS $c000 $c000 n/a Reboot GEOS. Requires only 128 bytes at $c000. CalcBlksFree $c1db $c1db $0324 Calculate total number of free disk blocks. CallRoutine $c1d8 $c1d8 $ff08 Pseudo-subroutine call. $0000 aborts call. CancelPrint n/a n/a $6018 Cancel printing, clearing printer and I/O card buffers. ChangeDiskDevice $c2bc $c2bc n/a Instruct CBM drive to change its serial device address. ChkDkGEOS $c1de $c1de n/a Check CBM disk for GEOS format. ClearCard n/a n/a $6715 Clear any buffered I/O operations. ClearMouseMode $c19c $c19c $fe9f Stop input device monitoring. ClearRam $c178 $c178 $fefc Clear memory to $00. ClockInt n/a n/a $0803 Clock driver interrupt level routine. CloseCard n/a n/a $670c Close access to I/O card. CloseRecordFile $c277 $c277 $0333 Close currently open VLIR file. CmpFString $c26e $c26e $fef0 Compare two fixed-length strings. CmpString $c26b $c26b $feed Compare two null-terminated strings. CopyFString $c268 $c268 $feea Copy a fixed-length string. CopyFullScreen n/a n/a $ff92 Fast vertical screen copy. CopyLine n/a n/a $ff5f Bit-boundary horizontal line copy. CopyScreenBlock n/a n/a $ff5c Bit-boundary rectangle copy. CopyString $c256 $c256 $fee7 Copy a null-terminated string. CRC $c20e $c20e $ff14 Cyclic Reduncancy Check calculation. Dabs $c16f $c16f $fedb Double-precision signed absolute value. Ddec $c175 $c175 $fee1 Double-precison unsigned decrement. Ddiv $c169 $c169 $fed5 Double-precision unsigned division. DeleteDir n/a n/a $037e Delete directory. DeleteFile $c238 $c238 $0357 Delete file. DeleteRecord $c283 $c283 $0336 Delete current VLIR record. DisablSprite $c1d5 $c1d5 $feab Disable sprite. DivideBySeven n/a n/a $ff68 Quick division by seven for direct screen access. DMult $c166 $c166 $fed2 Double-precision unsigned multiply. Dnegate $c172 $c172 $fede Double-precision signed negation. DoBOp n/a $c2ec n/a C128-backram memory primitive. DoDlgBox $c256 $c256 $ff17 Display and begin interaction with dialog box. DoIcons $c15a $c15a $fe0c Display and begin interaction with icons. DoInlineReturn $c2a4 $c2a4 $fe09 Return from inline subroutine. DoMenu $c151 $c151 $fe0f Display and begin interaction with menus. DoneWithIO $c25f $c25f n/a Restore system after I/O across CBM serial bus. DoPreviousMenu $c190 $c190 $fe15 Retract sub-menu and reactivate menus up one level. DoRAMOp $c2d4 $c2d4 n/a CBM RAM-expansion unit access primitive. DownDirectory n/a n/a $0381 Open subdirectory. DrawLine $c130 $c130 $fe33 Draw, clear, or recover line between two endpoints. DrawPoint $c133 $c133 $fe21 Draw, clear, or recover a single screen point. DrawSprite $c1c6 $c1c6 $fea2 Define sprite image. DSdiv $c16c $c16c $fed8 Double-precision signed division. DShiftLeft $c15d $c15d $fec6 Double-precision left shift (zeros shifted in). DShiftRight $c262 $c262 $fec9 Double-precision right shift (zeros shifted in). EnableProcess $c109 $c109 $fec3 Make a process runable immediately. EnablSprite $c1d2 $c1d2 $fea8 Enable sprite. EnterDeskTop $c22c $c22c $ff59 Leave application and return to GEOS deskTop. EnterTurbo $c214 $c214 n/a Activate CBM disk turbo on current drive. EraseCharacter n/a n/a $ff3e Erase text character from screen. ExitTurbo $c232 $c232 n/a Deactivate CBM disk turbo on current drive. FastDelFile $c244 $c244 n/a Quick file delete (requires full track/sector list). FdFTypesInDir n/a n/a $0363 Find files in directory other than current directory. FetchRAM $c2cb $c2cb n/a Transfer data from CBM RAM-expansion unit. FillRam $c17b $c17b $feff Fill memory with a particular byte. FindBAMBit $c2ad $c2ad n/a Get allocation status of particular CBM disk block. FindFile $c20b $c20b $0369 Search for a particular file. FindFTypes $c23b $c23b $0366 Find all files of a particular GEOS type. FindVBMBit n/a n/a $036c Get allocation status of particular ProDOS disk block. FirstInit $c271 $c271 $ff11 GEOS startup entry point. FndFilinDir n/a n/a $036c Find a file in a directory other than current directory. FollowChain $c205 $c205 n/a Follow chain of CBM sectors, building track/sector table. FrameRectangle $c127 $c127 $fe3f Draw a rectangular frame (outline). FreeBlock $c2b9 $c2b9 $032a Mark a disk block as not-in-use. FreeDir n/a n/a $03ba Free all blocks associated with a subdirectory. FreeFile $c226 $c226 $035a Free all blocks assocatiated with a file. FreezeProcess $c112 $c112 $feba Pause a process countdown timer. Get1stDirEntry $9030 $9030 $039c Get first directory entry. GetBlock $c1e4 $c1e4 $0300 Read single disk block into memory. GetCharWidth $c1c9 $c1c9 $fe87 Calculate width of character without style attributes. GetDimensions $790c $790c n/a Get CBM printer page dimensions. GetDirHead $c247 $c247 $0372 Read directory header into memory. GetFHdrInfo $c229 $c229 $0390 Read a GEOS file header into memory. GetFile $c208 $c208 $030f Load GEOS file. GetFreeDirBlk $c1f6 $c1f6 $0375 Find an empty directory slot. GetLdVars n/a n/a $ff44 Transfer internal Ld variables to GEOS pseudoregisters. GetMode n/a n/a $6012 Return current printer resolution and setable attributes. GetNextChar $c2a7 $c2a7 $fe75 Get next character from character queue. GetNxtDirEntry $9033 $9033 $039c Get directory entry other than first. GetPathname n/a n/a $0384 Return current path string. GetPattern n/a n/a $ff7d Get eight-byte GEOS pattern definition. GetPtrCurDkNm $c298 $c298 $ff56 Return pointer to current disk name. GetRandom $c187 $c187 $fee4 Calculate new random number. GetRealSize $c1b1 $c1b1 $fe84 Calculate actual character size with attributes. GetScanLine $c13c $c13c $fe66 Calculate scanline address. GetScreenLine n/a n/a $ff62 Copy Apple screen data to buffer. GetSerialNumber $c196 $c196 $4b38 Return GEOS serial number or pointer to name string. GetSpriteData n/a n/a $ff6e Get sprite image data. GetString $c1ba $c1ba $fe72 Get string input from user. GetVBM n/a n/a $031e Read first VBM block into VBM cache. GoDirectory n/a n/a $039f Go directory to a specific subdirectory. GotoFirstMenu $c1bd $c1bd $fe18 Retract all sub-menus and reactivate at main level. GraphicsString $c136 $c136 $fe60 Execute a string of graphics commands. HideOnlyMouse n/a $c2f2 $ff7a Temporarily remove soft-sprite mouse pointer. HorizontalLine $c118 $c118 $fe27 Draw a patterned horizontal line. i_BitmapUp $c1ab $c1ab $fe57 Inline BitmapUp. i_FillRam $c1b4 $c1b4 $ff02 Inline FillRam. i_FrameRectangle $c1a2 $c1a2 $fe42 Inline FrameRectangle. i_GraphicsString $c1a8 $c1a8 $fe63 Inline GraphicsString. i_ImprintRectangle $c253 $c253 $fe51 Inline ImprintRectangle. i_MoveData $c1b7 $c1b7 $fef9 Inline MoveData. i_NewBitUp n/a n/a $ff9e Inline NewBitUp. i_PutString $c1ae $c1ae $fe6c Inline PutString. i_RecoverRectangle $c1a5 $c1a5 $fe4b Inline RecoverRectangle. i_Rectangle $c19f $c19f $fe3c Inline Rectangle. ImprintLine n/a n/a $ff8f Imprint horizontal line to background buffer. ImprintRectangle $c250 $c250 $fe4e Imprint rectangular area to background buffer. InfoCard n/a n/a $670f Get I/O card attributes. InitCard n/a n/a $6700 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.