{"id":1401,"date":"2020-06-03T23:35:41","date_gmt":"2020-06-03T21:35:41","guid":{"rendered":"https:\/\/www.pagetable.com\/?p=1401"},"modified":"2020-06-03T23:35:41","modified_gmt":"2020-06-03T21:35:41","slug":"ultimate-c64-kernal-api-reference","status":"publish","type":"post","link":"https:\/\/www.pagetable.com\/?p=1401","title":{"rendered":"Ultimate C64 KERNAL API Reference"},"content":{"rendered":"<p>The Ultimate C64 Reference is growing again: This time, we&rsquo;re adding the <a href=\"http:\/\/www.pagetable.com\/c64ref\/kernal\/\">KERNAL API reference<\/a> \u2013 as always, in <strong>eleven<\/strong> different versions side-by-side.<\/p>\n<p><a href=\"docs\/c64ref_kernal\/c64ref_kernal-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"docs\/c64ref_kernal\/c64ref_kernal-1.png\" height=\"468\" width=\"796\" alt=\"\" \/><\/a><\/p>\n<p>These are the references that have been adapted for this:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Project-64\/reloaded\/blob\/master\/c64\/c64prg\/C64PRG11.TXT\">Commodore 64 Programmer&rsquo;s Reference Guide<\/a>, ISBN 0-672-22056-3<\/li>\n<li><a href=\"https:\/\/archive.org\/details\/COMPUTEs_VIC-20_and_Commodore_64_Tool_Kit_Kernal_1985_COMPUTE_Publications_a\">COMPUTE!&rsquo;s VIC-20 and Commodore 64 Tool Kit: Kernal<\/a> by Dan Heeb, ISBN 0942386337<\/li>\n<li><a href=\"https:\/\/archive.org\/details\/Compute_s_Machine_Language_Routines_for_the_Commodore_64_and_128\">Machine Language Routines for the Commodore 64 and 128<\/a> by Todd D Heimarck and Patrick Parrish, ISBN 0874550858<\/li>\n<li><a href=\"https:\/\/github.com\/Project-64\/reloaded\/blob\/master\/c64\/mapc64\/MAPC6412.TXT\">Mapping the Commodore 64<\/a> by Sheldon Leemon, ISBN 0-942386-23-X<\/li>\n<li><a href=\"https:\/\/www.retrozone.ch\/docs\/c128\/Commodore128Intern.pdf\">Commodore 128 intern<\/a> by J\u00f6rg Schieb, Frank Thrun and Heinz Wrobel, ISBN 3-89011-098-3<\/li>\n<li><a href=\"https:\/\/github.com\/Project-64\/reloaded\/blob\/master\/c64\/firmware\/C64LD11.S\">The almost completely commented C64 ROM disassembly<\/a> by Lee Davison<\/li>\n<li><a href=\"https:\/\/www.atarimagazines.com\/compute\/issue40\/cracking_the_kernal.php\">Cracking The Kernal<\/a> by Peter Marcotty in COMPUTE! #40, September 1983, pp. 268-274<\/li>\n<li><a href=\"http:\/\/csbruce.com\/cbm\/hacking\/hacking03.txt\">Kernal 64 \/ 128<\/a> by Craig Taylor in C= Hacking, Volume 1, Issue 3; July 15, 1992<\/li>\n<li><a href=\"https:\/\/sta.c64.org\/cbm64krnfunc.html\">Commodore 64 standard KERNAL functions<\/a> by Joe Forster\/STA<\/li>\n<li><a href=\"http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/c64\/programming\/documents\/c64-kernal.txt\">C64 KERNAL jump table<\/a> by Frank Kontros<\/li>\n<li><a href=\"https:\/\/www.pagetable.com\/?p=1015\">Das neue Commodore-64-intern-Buch<\/a> by Baloui, Br\u00fcckmann, Englisch, Felt, Gelfand, Gerits and Krsnik, ISBN 3890113079<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>Here are four different expanded explanations of the <code>SCNKEY<\/code> call ($FF9F):<\/p>\n<p><a href=\"docs\/c64ref_kernal\/c64ref_kernal-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"docs\/c64ref_kernal\/c64ref_kernal-2.png\" height=\"139\" width=\"747\" alt=\"\" \/><\/a><\/p>\n<p>As you can see, KERNAL API symbols as well as zeropage\/variable symbols and addresses are cross-referenced and link to the respective description.<\/p>\n<p>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:<\/p>\n<p><a href=\"docs\/c64ref_kernal\/c64ref_kernal-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"docs\/c64ref_kernal\/c64ref_kernal-3.png\" height=\"519\" width=\"633\" alt=\"\" \/><\/a><\/p>\n<p>It consists of three columns: the address in hex, the symbol name and the description in MarkDown format.<\/p>\n<p>The Ultimate C64 Reference is being developed as an open source project at <a href=\"https:\/\/github.com\/mist64\/c64ref\">github.com\/mist64\/c64ref<\/a> &#8211; contributions in the form of additions, corrections etc. are welcome!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Ultimate C64 Reference is growing again: This time, we&rsquo;re adding the KERNAL API reference \u2013 as always, in eleven different versions side-by-side. These are the references that have been adapted for this: Commodore 64 Programmer&rsquo;s Reference Guide, ISBN 0-672-22056-3 COMPUTE!&rsquo;s VIC-20 and Commodore 64 Tool Kit: Kernal by Dan Heeb, ISBN 0942386337 Machine Language &#8230; <a title=\"Ultimate C64 KERNAL API Reference\" class=\"read-more\" href=\"https:\/\/www.pagetable.com\/?p=1401\" aria-label=\"Read more about Ultimate C64 KERNAL API Reference\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,5,6,41,8,19],"tags":[],"class_list":["post-1401","post","type-post","status-publish","format-standard","hentry","category-2","category-archeology","category-basic","category-c64","category-commodore","category-kernal"],"_links":{"self":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/1401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1401"}],"version-history":[{"count":0,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/1401\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}