|Ariel's GEOS Programmer's Reference Guide|
|Back: GEOS Development (WIP)||Up: Contents||Next: Device Drivers (TODO)|
|GEOS Kernal Routines|
|Back: First||Up: This||Next: By Category|
Table of Contents
- Routines by Category
- Routines Sorted Alphabetically
- Routines by Call Address: Commodore
- Routines by Call Address: Apple
The use of the spelling "kernal" or "Kernal" or "KERNAL" is consistent with all of the Commodore and Berkeley Softworks GEOS documentation.
According to Wikipedia, the ROM kernel written by John Feagans for the Commodore PET was further developed by several people, notably Robert Russell, who added many of the features for the Commodore VIC-20 and the Commodore 64. It was known as the kernel inside Commodore, but in 1980 Russell misspelled the word as "kernal" in his notebooks. When technical writers Neil Harris and Andy Finkel collected his notes and used them as the basis for the VIC-20 programmer's manual, the misspelling followed them along and stuck. Berkeley Softworks later used the now-official misspelling when naming the core routines of GEOS.
GEOS Kernal routine names are those found in the geoProgrammer manual and other offical GEOS documentation.
Unless noted otherwise, non-inline GEOS Kernal routines are called by
loading memory variables, loading registers, and executing
RoutineName; while inline routines are called by placing the routine's
expected variable data in the bytes immediately following the
In the call address columns, extra symbols indicate:
- A call address in hexadecimal notation. (Panic is used as an example.)
- Not present in this platform's API.
- Present and partly documented in this platform's API, but without a documented call address.
- A probably wrong call address because it conflicts with the documented call address of a different routine.
- A possibly wrong call address because it conflicts with the documented call address of a different routine, but at least one compiler produces GEOS binaries using this address for only this routine.