The Ultimate C64 Reference is growing again: This time, we’re adding the KERNAL API reference – as always, in eleven different versions side-by-side.
These are the references that have been adapted for this:
- Commodore 64 Programmer’s Reference Guide, ISBN 0-672-22056-3
- COMPUTE!’s VIC-20 and Commodore 64 Tool Kit: Kernal by Dan Heeb, ISBN 0942386337
- Machine Language Routines for the Commodore 64 and 128 by Todd D Heimarck and Patrick Parrish, ISBN 0874550858
- Mapping the Commodore 64 by Sheldon Leemon, ISBN 0-942386-23-X
- Commodore 128 intern by Jörg Schieb, Frank Thrun and Heinz Wrobel, ISBN 3-89011-098-3
- The almost completely commented C64 ROM disassembly by Lee Davison
- Cracking The Kernal by Peter Marcotty in COMPUTE! #40, September 1983, pp. 268-274
- Kernal 64 / 128 by Craig Taylor in C= Hacking, Volume 1, Issue 3; July 15, 1992
- Commodore 64 standard KERNAL functions by Joe Forster/STA
- C64 KERNAL jump table by Frank Kontros
- Das neue Commodore-64-intern-Buch by Baloui, Brückmann, Englisch, Felt, Gelfand, Gerits and Krsnik, ISBN 3890113079
You can enable and disable columns by clicking the checkboxes next to the sources, and you can expand/collapse all details with the corresponding button above the table.
Here are four different expanded explanations of the SCNKEY
call ($FF9F):
As you can see, KERNAL API symbols as well as zeropage/variable symbols and addresses are cross-referenced and link to the respective description.
Like all web pages of the Ultimate C64 Reference, this table is generated from independent formatted ASCII files. In the case of the KERNAL API, these files look like this:
It consists of three columns: the address in hex, the symbol name and the description in MarkDown format.
The Ultimate C64 Reference is being developed as an open source project at github.com/mist64/c64ref – contributions in the form of additions, corrections etc. are welcome!
Wow! Thanks for this!
Some of the examples from the Programmers Ref are wrong, would it not be better to fix them?
Yes! You can open a pull request!