GEOS Kernal Routines by Call Address: Commodore
Ariel's GEOS Programmer's Reference Guide | ||
---|---|---|
Back: GEOS Development (WIP) | Up: Contents | Next: Device Drivers (TODO) |
GEOS Kernal Routines | ||
---|---|---|
Back: Sorted Alphabetically | Up: Remarks | Next: By Call Address: Apple |
Table of Contents
- Routines by Category
- Routines Sorted Alphabetically
- Routines by Call Address: Commodore
- Routines by Call Address: Apple
Routines by Call Address: Commodore
$7900
Name | Purpose | Call Address |
---|---|---|
InitForPrint | Printer driver: Initialize printer for a new document. | $7900 |
StartPrint | Printer driver: Set printer for graphics printing. | $7903 |
PrintBuffer | Printer driver: Print an 8 pixel high row of graphics. | $7906 |
StopPrint | Printer driver: Flush buffer and feed in next page. | $7909 |
GetDimensions | Printer driver: Get dimensions of a printed page. | $790c |
PrintASCII | Printer driver: Print a string of ASCII text. | $790f |
StartASCII | Printer driver: Set printer for ASCII text printing. | $7912 |
SetNLQ | Printer driver: Set ASCII mode to Near-Letter Quality. | $7915 |
$9000
Name | Purpose | Call Address |
---|---|---|
Get1stDirEntry | Get the first file listed in the current directory. | $9030 |
GetNxtDirEntry | Get the next file listed in the current directory. | $9033 |
GetOffPageTrSc | Get the off-page directory block track and sector. | $9036? |
AllocateBlock | Mark a disk block as in use. | $9048 |
ReadLink | Read the link from a disk block to the next block. | $904b |
$C000
Name | Purpose | Call Address |
---|---|---|
BootGEOS | Restart GEOS from BASIC. | $c000 |
ResetHandle | Internal bootstrap entry point. | $c003 |
$C100
Name | Purpose | Call Address |
---|---|---|
InterruptMain | Process Interrupt Level events. | $c100 |
InitProcesses | Set up a table of recurring processes. | $c103 |
RestartProcess | Enable a recurring timed event, reset its timer. | $c106 |
EnableProcess | Force a timed event to execute, regardless of its timer. | $c109 |
BlockProcess | Disable execution of a timed event. | $c10c |
UnblockProcess | Enable execution of a timed event. | $c10f |
FreezeProcess | Stop the timer on a timed event. | $c112 |
UnfreezeProcess | Restart the timer on a timed event. | $c115 |
HorizontalLine | Draw a horizontal line on the screen. | $c118 |
InvertLine | Invert a horizontal line on the screen. | $c11b |
RecoverLine | Copy a horizontal line from screen 2 to screen 1. | $c11e |
VerticalLine | Draw a vertical line on the screen. | $c121 |
Rectangle | Fill a box with the current pattern. | $c124 |
FrameRectangle | Draw the outline of a box in a given pattern. | $c127 |
InvertRectangle | Invert the pixels in a box. | $c12a |
RecoverRectangle | Copy a box from screen 2 to screen 1. | $c12d |
$C130
Name | Purpose | Call Address |
---|---|---|
DrawLine | Draw, erase, or recover a line. | $c130 |
DrawPoint | Draw, erase, or recover a pixel. | $c133 |
GraphicsString | Process several graphics commands given in a table. | $c136 |
SetPattern | Set the current fill pattern. | $c139 |
GetScanLine | Compute the address of a given row on the screen. | $c13c |
TestPoint | Get the value of a pixel on either screen. | $c13f |
BitmapUp | Draw an encoded bitmap image on the screen. | $c142 |
PutChar | Display a text character on the screen. | $c145 |
PutString | Display an entire string of text. | $c148 |
UseSystemFont | Reset the current font to the default BSW 9 font. | $c14b |
StartMouseMode | Initialize and start monitoring the mouse. | $c14e |
DoMenu | Display and activate a menu tree. | $c151 |
RecoverMenu | Erase the current menu from the screen. | $c154 |
RecoverAllMenus | Erase all open menus from the screen. | $c157 |
DoIcons | Draw and activate the icons (buttons) in a table. | $c15a |
DShiftLeft | Shift bits of a word left, multiplying by a power of 2. | $c15d |
$C160
Name | Purpose | Call Address |
---|---|---|
BBMult | Multiply two unsigned 8-bit numbers. | $c160 |
BMult | Multiply two unsigned numbers, a 16-bit by an 8-bit. | $c163 |
DMult | Multiply two unsigned 16-bit numbers. | $c166 |
Ddiv | Divide unsigned numbers, a 16-bit by a 16-bit. | $c169 |
DSdiv | Divide signed numbers, a 16-bit by a 16-bit. | $c16c |
Dabs | Compute the absolute value of a 16-bit number. | $c16f |
Dnegate | Negate a signed 16-bit number. | $c172 |
Ddec | Decrement a 16-bit value. | $c175 |
ClearRam | Fill a memory region with zeroes. | $c178 |
FillRam | Fill a memory region with a byte. | $c17b |
MoveData | Copy memory to a new location. | $c17e |
InitRam | Initialize many memory regions using a table of values. | $c181 |
PutDecimal | Display an unsigned 16-bit integer in decimal. | $c184 |
GetRandom | Compute a new 16-bit pseudorandom number. | $c187 |
MouseUp | Turn on the mouse pointer. | $c18a |
MouseOff | Turn off the mouse pointer. | $c18d |
$C190
Name | Purpose | Call Address |
---|---|---|
DoPreviousMenu | Erase the current submenu and back up a menu level. | $c190 |
ReDoMenu | Redraw and reactivate the current menu. | $c193 |
GetSerialNumber | Load this GEOS Kernal's serial code. | $c196 |
Sleep | Pause subroutine without halting GEOS. | $c199 |
ClearMouseMode | Stop monitoring the pointer. | $c19c |
i_Rectangle | Fill a box with the current pattern using inline data. | $c19f |
i_FrameRectangle | Draw the outline of a box in a given pattern using inline data. | $c1a2 |
i_RecoverRectangle | Copy a box from screen 2 to screen 1 using inline data. | $c1a5 |
i_GraphicsString | Process several graphics commands designated by a table of inline data. | $c1a8 |
i_BitmapUp | Draw an encoded bitmap image on the screen using inline data. | $c1ab |
i_PutString | Display an entire string of text using inline data. | $c1ae |
GetRealSize | Return the actual width of a character in the current font. | $c1b1 |
i_FillRam | Fill a memory region with a byte using inline data. | $c1b4 |
i_MoveData | Copy memory to a new location using inline data. | $c1b7 |
GetString | Input a line of text from the user. | $c1ba |
GotoFirstMenu | Close all open submenu levels. | $c1bd |
$C1C0
Name | Purpose | Call Address |
---|---|---|
InitTextPrompt | Set sprite 1 as a vertical bar text cursor. | $c1c0 |
MainLoop | Enter Main Loop directly. | $c1c3 |
DrawSprite | Copy a sprite image into the internal storage area. | $c1c6 |
GetCharWidth | Return the width of a character in the current font. | $c1c9 |
LoadCharSet | Change the current font. | $c1cc |
PosSprite | Position a sprite using GEOS coordinates. | $c1cf |
EnablSprite | Turn a sprite on. | $c1d2 |
DisablSprite | Turn a sprite off. | $c1d5 |
CallRoutine | Conditional jump to a routine. | $c1d8 |
CalcBlksFree | Count the number of free blocks on the current disk. | $c1db |
ChkDkGEOS | Check if the disk is GEOS format or not. | $c1de |
NewDisk | Tell GEOS diskTurbo a new disk is in the drive. | $c1e1 |
GetBlock | Read a given disk block. | $c1e4 |
PutBlock | Write and verify a given block to disk. | $c1e7 |
SetGEOSDisk | Convert a non-GEOS CBM disk to GEOS format. | $c1ea |
SaveFile | Save memory to a new GEOS file. | $c1ed |
$C1F0
Name | Purpose | Call Address |
---|---|---|
SetGDirEntry | Create a directory entry on the disk. | $c1f0 |
BldGDirEntry | Create a directory entry in memory. | $c1f3 |
GetFreeDirBlk | Find space for a new entry in the current directory. | $c1f6 |
WriteFile | Save memory to a chain of allocated disk blocks. | $c1f9 |
BlkAlloc | Allocate enough sectors for a file. | $c1fc |
ReadFile | Load memory from a chain of blocks on the disk. | $c1ff |
SmallPutChar | Display a text character on the screen without any special processing. | $c202 |
FollowChain | Create a table of disk blocks used by a file. | $c205 |
GetFile | Load a GEOS file or load and run a GEOS program. | $c208 |
FindFile | Find a file in the current directory. | $c20b |
CRC | Compute a checksum for a data region. | $c20e |
LdFile | Load a GEOS data file. | $c211 |
EnterTurbo | Enable GEOS diskTurbo in the current disk drive, uploading it if necessary. | $c214 |
LdDeskAcc | Load and run a desk accessory file. | $c217 |
ReadBlock | Read a given disk block (without overhead). | $c21a |
LdApplic | Load and possibly run an application file. | $c21d |
$C220
Name | Purpose | Call Address |
---|---|---|
WriteBlock | Write a block to disk. | $c220 |
VerWriteBlock | Verify a block recently written to disk. | $c223 |
FreeFile | Mark a file's disk blocks as unallocated. | $c226 |
GetFHdrInfo | Load the GEOS header of a file. | $c229 |
EnterDesktop | End application and restart GEOS deskTop. | $c22c |
StartAppl | Warmstart GEOS and run a program already in memory. | $c22f |
ExitTurbo | Disable GEOS diskTurbo in the current disk drive. | $c232 |
PurgeTurbo | Remove GEOS diskTurbo from current drive. | $c235 |
DeleteFile | Delete a file from the disk. | $c238 |
FindFTypes | Find all files in the current directory of a specific GEOS type. | $c23b |
RstrAppl | End desk accessory and return to calling application. | $c23e |
ToBasic | Restart BASIC, optionally with a program to load. | $c241 |
FastDelFile | Delete a sequential file quickly. | $c244 |
GetDirHead | Read the directory header from the disk. | $c247 |
PutDirHead | Write directory header to disk. | $c24a |
NxtBlkAlloc | Allocate more sectors for a file. | $c24d |
$C250
Name | Purpose | Call Address |
---|---|---|
ImprintRectangle | Copy a box from screen 1 to screen 2. | $c250 |
i_ImprintRectangle | Copy a box from screen 1 to screen 2 using inline data. | $c253 |
DoDlgBox | Show a dialog box window. | $c256 |
RenameFile | Rename a file in the current directory. | $c259 |
InitForIO | Open serial communication. | $c25c |
DoneWithIO | Close serial communication. | $c25f |
DShiftRight | Shift bits of a word right, dividing by a power of 2. | $c262 |
CopyString | Copy a null-terminated string. | $c265 |
CopyFString | Copy a fixed-length block of memory. | $c268 |
CmpString | Compare two null-terminated strings. | $c26b |
CmpFString | Compare two fixed-length blocks of memory. | $c26e |
FirstInit | Initialize GEOS variables and structures to boot-time states. | $c271 |
OpenRecordFile | Open a VLIR file. | $c274 |
CloseRecordFile | Close the open VLIR file. | $c277 |
NextRecord | Make next record current in VLIR file. | $c27a |
PreviousRecord | Make previous record current in VLIR file. | $c27d |
$C280
Name | Purpose | Call Address |
---|---|---|
PointRecord | Make a specific record current in VLIR file. | $c280 |
DeleteRecord | Delete the current VLIR record. | $c283 |
InsertRecord | Insert a new record before current record in VLIR file. | $c286 |
AppendRecord | Append a new record after current record in VLIR file. | $c289 |
ReadRecord | Read current record from VLIR file. | $c28c |
WriteRecord | Save memory to current record of VLIR file. | $c28f |
SetNextFree | Allocate the next free block on the disk. | $c292 |
UpdateRecordFile | Update a VLIR file. | $c295 |
GetPtrCurDkNm | Compute the address of the disk's name. | $c298 |
PromptOn | Turn on text cursor. | $c29b |
PromptOff | Turn off text cursor. | $c29e |
OpenDisk | Open a disk to GEOS. | $c2a1 |
DoInlineReturn | Return from inline subroutine. | $c2a4 |
GetNextChar | Get a key from the keyboard queue. | $c2a7 |
BitmapClip | Draw a cropped section of an encoded bitmap image. | $c2aa |
FindBAMBit | Check if a disk block is in use. | $c2ad |
$C2B0
Name | Purpose | Call Address |
---|---|---|
SetDevice | Make another device the current disk drive. | $c2b0 |
IsMseInRegion | Check if the mouse pointer is in a box. | $c2b3 |
ReadByte | Read a byte from a file. | $c2b6 |
FreeBlock | Mark a disk block as unallocated. | $c2b9 |
ChangeDiskDevice | Change the device number of a drive. | $c2bc |
RstrFrmDialog | Close a dialog box window. | $c2bf |
Panic | Draw a system error window and halt the system. | $c2c2 |
BitOtherClip | Draw a section of a bitmap image using call vectors. | $c2c5 |
StashRAM | Copy a block of memory from main RAM into the REU. | $c2c8 |
FetchRAM | Copy a block of memory from the REU into main RAM. | $c2cb |
SwapRAM | Swap memory between main RAM and the REU. | $c2ce |
VerifyRAM | Verify a block of memory in main RAM against one in the REU. | $c2d1 |
DoRAMOp | Move memory to and from the REU. | $c2d4 |
TempHideMouse | Temporarily hide all soft-sprites including pointer. | $c2d7 |
SetMsePic | Load and preshift a new soft-sprite pointer icon. | $c2da |
SetNewMode | Change graphics mode to 40-column or 80-column. | $c2dd |
NormalizeX | Adjust x-coordinate for 80-column mode. | $c2e0 |
MoveBData | Copy memory in or between front-RAM and back-RAM. | $c2e3 |
SwapBData | Swap memory in or between front-RAM and back-RAM. | $c2e6 |
VerifyBData | Verify a block of memory in front-RAM or back-RAM against another. | $c2e9 |
DoBOp | Copy, swap, or verify memory between front-RAM and back-RAM. | $c2ec |
HideOnlyMouse | Temporarily hide the soft-sprite mouse pointer. | $c2f2 |
$FE80
Name | Purpose | Call Address |
---|---|---|
InitMouse | Input driver: Initialize pointer device. | $fe80 |
SlowMouse | Input driver: Stop and reset pointer acceleration. | $fe83 |
UpdateMouse | Input driver: Update mouse variables from device. | $fe86 |
SetMouse | Input driver: Reset mouse pot scanning lines. | $fe89 |