{"id":1074,"date":"2015-09-13T10:40:06","date_gmt":"2015-09-13T10:40:06","guid":{"rendered":"http:\/\/www.sydneysmith.com\/wordpress\/?p=1074"},"modified":"2017-05-14T00:49:03","modified_gmt":"2017-05-14T00:49:03","slug":"hp65-default-program","status":"publish","type":"post","link":"https:\/\/www.sydneysmith.com\/wordpress\/1074\/hp65-default-program\/","title":{"rendered":"HP65 Default Program"},"content":{"rendered":"<p>This is what ends up in program memory at startup.<\/p>\n<pre>\r\n000: 63 =077\r\n001: 61 =075\r\n002: 43 =053\r\n003: 30 =036\r\n004: 8  =010\r\n005: 20 =024\r\n006: 42 =052\r\n007: 43 =053\r\n008: 28 =034\r\n009: 14 =016\r\n010: 50 =062\r\n011: 42 =052\r\n012: 43 =053\r\n013: 27 =033\r\n014: 8  =010\r\n015: 19 =023\r\n016: 42 =052\r\n017: 43 =053\r\n018: 26 =032\r\n019: 13 =015\r\n020: 42 =052\r\n021: 43 =053\r\n022: 24 =030\r\n023: 17 =021\r\n024: 42 =052\r\n025: 0\r\n026: 0\r\n<\/pre>\n<p><!--more--><\/p>\n<p>The 63 61 is the start of program memory marker.<br \/>\nNext, &#8220;43 30 08 20 42&#8221; is likely to be &#8220;LBL A g 4 RTN&#8221; = &#8220;A -&gt; 1\/x&#8221;<br \/>\nThen, &#8220;43 28 14 50 42&#8221; = &#8220;LBL B f 9 RTN&#8221; = &#8220;B -&gt; root x&#8221;<br \/>\nThen, &#8220;43 27 08 19 42&#8221; = &#8220;LBL C g 5 RTN&#8221; = &#8220;C -&gt; Y<sup>x<\/sup>&#8221;<br \/>\nThen, &#8220;43 26 13 42&#8221; = &#8220;LBL D ? RTN&#8221; = &#8220;D -&gt; R down&#8221; so 13 must be &#8220;g 8&#8221;<br \/>\nand,  &#8220;43 24 17 42&#8221; = &#8220;LBL E ? RTN&#8221; = &#8220;E -&gt; x <=> y&#8221; so 17 must be &#8220;g 7&#8221;<\/p>\n<p>For the most part, the codes stored internally by the &#8217;65 (above) match the codes the keyboard generates on each key press. The exceptions are merged keycodes.<\/p>\n<p>There used to be a table showing the 64 different HP65 program codes but I&#8217;m having trouble finding a copy after so many years. I may just have to work them all out by hand! At least there&#8217;s only 64. That&#8217;s due to the program steps being stored in 6-bit memory. There are 100 program steps and these got written as 600 bits on the HP65 magnetic cards.<\/p>\n<p>(The HP67 fancied that up somewhat and added headers and status info and a checksum. It also uses 8-bit program steps. There was 7 nibbles of 0s for sync, 14 nibbles of status, 112 program steps (8 bits) then 7 nibbles of checksum. Hence the &#8217;67 had (7&#215;4 + 14&#215;4 + 112*8 + 7*4 = 28 + 56 + 896 + 28 =) 1008 bits per card side.)<\/p>\n<p>Update 15 Sep 2015:<br \/>\nI found the chart again. I&#8217;ve stuck a copy at <a href=\"http:\/\/www.sydneysmith.com\/wordpress\/1078\/hp65-program-codes\/\">hp65-program-codes<\/a> so I can find it next time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is what ends up in program memory at startup. 000: 63 =077 001: 61 =075 002: 43 =053 003: 30 =036 004: 8 =010 005: 20 =024 006: 42 =052 007: 43 =053 008: 28 =034 009: 14 =016 010: 50 =062 011: 42 =052 012: 43 =053 013: 27 =033 014: 8 =010 &hellip; <a href=\"https:\/\/www.sydneysmith.com\/wordpress\/1074\/hp65-default-program\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HP65 Default Program<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,5,39],"tags":[28,9],"_links":{"self":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1074"}],"collection":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1074"}],"version-history":[{"count":10,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1074\/revisions"}],"predecessor-version":[{"id":1364,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1074\/revisions\/1364"}],"wp:attachment":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}