{"id":1050,"date":"2019-04-14T03:08:16","date_gmt":"2019-04-14T10:08:16","guid":{"rendered":"https:\/\/www.pagetable.com\/?p=1050"},"modified":"2019-04-14T03:08:16","modified_gmt":"2019-04-14T10:08:16","slug":"c64-keyboard-layout-for-the-c16","status":"publish","type":"post","link":"https:\/\/www.pagetable.com\/?p=1050","title":{"rendered":"C64 Keyboard Layout for the C16"},"content":{"rendered":"<p>The Commodore 16 is an interesting machine, but the keyboard layout is infuriating. The cursor keys are at an awful place and&hellip; and&hellip; and&hellip; well, it just isn&rsquo;t the C64 layout I&rsquo;m used to!<\/p>\n<p>So here&rsquo;s a patch to the KERNAL ROM to change the C16 key mapping to the C64 one:<\/p>\n<p>At offset 0x2026 of kernal.318004-05.bin (PAL) or kernal.318005-05.bin (NTSC), replace 260 bytes with these:<\/p>\n<pre><code>14 0D 11 88 85 86 87 40 33 57 41 34 5A 53 45 01\n35 52 44 36 43 46 54 58 37 59 47 38 42 48 55 56\n39 49 4A 30 4D 4B 4F 4E 13 50 4C 5C 2E 3A 5E 2C\n2B 3D 3B 2D 5F 1D 2A 2F 31 FF 04 32 20 02 51 03\nFF\n94 8D 91 8C 89 8A 8B BA 23 D7 C1 24 DA D3 C5 01\n25 D2 C4 26 C3 C6 D4 D8 27 D9 C7 28 C2 C8 D5 D6\n29 C9 CA DD CD CB CF CE 93 D0 CC A9 3E 5B DE 3C\nDB 3D 5D DD 5F 9D C0 3F 21 FF 04 22 A0 02 D1 83\nFF\n94 8D 91 8C 89 8A 8B A4 96 B3 B0 97 AD AE B1 01\n98 B2 AC 99 BC BB A3 BD 9A B7 A5 9B BF B4 B8 BE\n29 A2 B5 30 A7 A1 B9 AA 93 AF B6 A8 3E 5B DE 3C\nA6 3D 5D DC 5F 9D DF 3F 81 FF 04 95 A0 02 AB 83\nFF\nFF FF FF FF FF FF FF FF 1C 17 01 9F 1A 13 05 FF\n9C 12 04 1E 03 06 14 18 1F 19 07 9E 02 08 15 16\n12 09 0A 92 0D 0B 0F 0E FF 10 0C 1C FF 1B 1E FF\nFF 1F 1D FF 06 06 FF FF 90 FF FF 05 FF FF 11 FF\nFF\n<\/code><\/pre>\n<p>Here&rsquo;s the patched PAL ROM:<br \/>\n<a href=\"docs\/c16kbd\/kernal.318004-05-kbd64.bin\">kernal.318004-05-kbd64.bin<\/a><\/p>\n<p>And the NTSC ROM:<br \/>\n<a href=\"docs\/c16kbd\/kernal.318005-05-kbd64.bin\">kernal.318005-05-kbd64.bin<\/a><\/p>\n<p>(The key formerly known as &ldquo;CLEAR HOME&rdquo; is now dead. If you want to assign it a function, replace the first occurence of <code>FF<\/code> in the patch with the desired PETSCII code.)<\/p>\n<p>And then, you have to add a few stickers to your keyboard!<\/p>\n<p><a href=\"docs\/c16kbd\/c16kbd.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"docs\/c16kbd\/c16kbd.jpg\" height=\"297\" width=\"600\" alt=\"\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Commodore 16 is an interesting machine, but the keyboard layout is infuriating. The cursor keys are at an awful place and&hellip; and&hellip; and&hellip; well, it just isn&rsquo;t the C64 layout I&rsquo;m used to! So here&rsquo;s a patch to the KERNAL ROM to change the C16 key mapping to the C64 one: At offset 0x2026 &#8230; <a title=\"C64 Keyboard Layout for the C16\" class=\"read-more\" href=\"https:\/\/www.pagetable.com\/?p=1050\" aria-label=\"Read more about C64 Keyboard Layout for the C16\">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":[8,19,31],"tags":[],"class_list":["post-1050","post","type-post","status-publish","format-standard","hentry","category-commodore","category-kernal","category-ted"],"_links":{"self":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/1050","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=1050"}],"version-history":[{"count":0,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=\/wp\/v2\/posts\/1050\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pagetable.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}