(01-14-2023 03:56 PM)EdS2 Wrote: (Some fraction of missing posts can be found at the Internet Archive, for example here and here.)
From
this link I quote:
Quote: (12-28-2015 11:14 PM)Thomas Klemm Wrote: Maybe you can point me to the addresses?
In the ROM of HP16C there is a table starting @0400x. Here the first six lines of it:
Code:
0400 3BF Data 959 - DSZ ref. 0FBF
0401 2C3 Data 707 - ??
0402 3BE Data 958 - ISZ ref. 0FBE
0403 2C4 Data 708 - ??
0404 155 Data 341 - SQRT ref. 0D55
0405 0C5 Data 197 - ??
With the first line the address is computed where to jump for the function in question, the second line I quess it could be for the display in PRGM mode. There are Voyagers which use the second line only in PRGM mode. The table is only for functions without modifiers (STO n, RCL n, FIX n etc. I am still investigating) In other Voyagers the table could be located somewhere else. (The sequence of the related functions is according the program codepoint.)
An other table is at 03E0:
Code:
03E0 1BC Data 444 - 0
03E1 088 Data 136 - 1
03E2 1E4 Data 484 - 2
03E3 1E8 Data 488 - 3
03E4 0D8 Data 216 - 4
03E5 178 Data 376 - 5
03E6 17C Data 380 - 6
03E7 0A8 Data 168 - 7
03E8 1FC Data 508 - 8
03E9 1F8 Data 504 - 9
03EA 044 Data 68 - r
03EB 040 Data 64 - Blank?
03EC 14C Data 332 - o
03ED 0F4 Data 244 - P
03EE 174 Data 372 - E
to build readouts like 'Pr Error', digits and younameit.
An other table starts at 0010x, here few lines:
Code:
0010 308 Data 776 ** key 21, reference
0011 166 Data 358 ** key 31, ref.
0012 14A Data 330 ** key 10, ref.
0013 0EE Data 238 ** key 11, ref.
0014 14C Data 332 ** key 30, ref.
0015 14D Data 333 ** key 40, ref.
It lists where every key hit goes for execution, key 31 (R/S on the HP16C - ah - on all Voyagers) will continue at 0166x, etc. Analogous to the discontinuous keycodes the list is somewhat sliced, last entry at 00C8, and interspersed with code.
In addition there is a list in which sequence you ought hit the keys to pass the keybord test.
If you find more, pls tell me - or here at best. Smile
Ciao.....Mike
These are the corresponding sections from the
romdump of
16c.obj:
Code:
02000: 1677 ?c goto 01767
02001: 1303 ?nc goto 01731
02002: 1676 b sr s
02003: 1304 s=0 13
02004: 0525 ?c call 30525
02005: 0305 ?nc call 67461
Code:
01740: 0674 ? rcr 11
01741: 0210 s=1 5
01742: 0744 selprf 7
01743: 0750 wrreg 7
01744: 0330 c<>g
01745: 0570 rdreg 5
01746: 0574 ? rcr 6
01747: 0250 wrreg 2
01750: 0774 ? rcr -1
01751: 0770 rdreg 7
01752: 0104 s=0 4
01753: 0100 wrrom
01754: 0514 ? s=0 6
01755: 0364 ??? 3
01756: 0564 ??? 5
Code:
00020: 1410 s=1 1
00021: 0546 a=a+1 x
00022: 0512 a=a+c wp
00023: 0356 bc ex w
00024: 0514 ? s=0 6
00025: 0515 ?nc goto 50523
Quote:The ROM contains some tables/lists, decoding them will not make too much sense, IMHO.
As we can see the
romdump decodes these sections as code and not as data.