THANKS very much indeed for your help! Especially for pointing out the correct ROM order (pairs were correct). I now have a basic understanding of how it works. I think, I now just want to find how a printout works and I think I’m very close (around 4414?). The mnemonics are at 4000 and that only appears 5x and none seems to be the pointer.
I noticed that new code is written (or copied) to page 0. So that is very hard to find. Instruction 7330 (CLA CLL CML RAR) producing 4000 to AC. A DCA writing that, like to 170 and 77. I once found code branching into that text page. Code is probably not wrong but the pointer on page 0 is still empty, so there must be other code before.
I found some subroutines updating the LCD at ~7750-7774. Probably when entering 3 digits on location 4 and pushing contents to the left removing blanks or_. One remaining pair is stored at 60. Trying 7356=3x_.
(6300= blk+blk+entered digit. 6000=blk+2digits, 356=2x_ right, 756=similar, with separator?)
[6734] IRQ,DLY,IE=0,0,0 L/AC:0/7356 MQ:0000 IR:1261 TAD @@61 ;Add operand to AC, Current page @@61
[6735] IRQ,DLY,IE=0,0,0 L/AC:0/7756 MQ:0000 IR:1310 TAD @@10 ;Add operand to AC, Current page @@10
[6736] IRQ,DLY,IE=0,0,0 L/AC:1/0756 MQ:0000 IR:3060 DCA 0060 ;Deposit AC to memory then clear AC, ZP 0060
[6737] IRQ,DLY,IE=0,0,0 L/AC:1/0000 MQ:0000 IR:1052 TAD 0052 ;Add operand to AC, ZP 0052
[6740] IRQ,DLY,IE=0,0,0 L/AC:1/6300 MQ:0000 IR:7002 BSW ;Byte Swap AC
[6741] IRQ,DLY,IE=0,0,0 L/AC:1/0063 MQ:0000 IR:7012 RTR ;Rotate AC & L right twice
[6742] IRQ,DLY,IE=0,0,0 L/AC:1/6014 MQ:0000 IR:0375 AND @@75 ;AND operand with AC, Current page @@75
[6743] IRQ,DLY,IE=0,0,0 L/AC:1/0014 MQ:0000 IR:3055 DCA 0055 ;Deposit AC to memory then clear AC, ZP 0055
[6744] IRQ,DLY,IE=0,0,0 L/AC:1/0000 MQ:0000 IR:1052 TAD 0052 ;Add operand to AC, ZP 0052
[6745] IRQ,DLY,IE=0,0,0 L/AC:1/6300 MQ:0000 IR:0307 AND @@07 ;AND operand with AC, Current page @@07
[6746] IRQ,DLY,IE=0,0,0 L/AC:1/0300 MQ:0000 IR:7106 CLL RTL ;Clear L, Rotate AC & L left twice
[6747] IRQ,DLY,IE=0,0,0 L/AC:0/1400 MQ:0000 IR:7006 RTL ;Rotate AC & L left twice
[6750] IRQ,DLY,IE=0,0,0 L/AC:0/6000 MQ:0000 IR:1126 TAD 0126 ;Add operand to AC, ZP 0126
[6751] IRQ,DLY,IE=0,0,0 L/AC:0/6000 MQ:0000 IR:3052 DCA 0052 ;Deposit AC to memory then clear AC, ZP 0052
0040: 4314 7777 7777 7777 0652 0600 0047 0047 .LCD
0050: 4314 7777 6000 4000 0014 0014 0014 0014
0060: 0756 0000 0000 0000 0000 0000 0000 0000 .new 60
Starting from 3571 where are values for the LCD, I found 5 pointers (from 5361) written to page 0 173-177. A bit later there’s the call of table 1 (2407/2450) indexed at the pointer 131. Some words are code.
0000: 1157 5427 0000 0000 0000 0000 0000 0000
0010: 5373 0167 2741 0000 0000 0000 0164 6237
0020: 1417 3131 5531 6012 1423 2023 5021 7400
0030: 7332 0600 0601 0603 0604 0007 0010 0037 .new 7332
0040: 4314 7777 7777 7777 0652 0600 0047 0047 LCD contents
0050: 4314 0000 6314 0000 0014 0014 0014 0014 "
0060: 0000 0000 0000 0000 0000 0000 0000 0000
0070: 0000 0000 0000 0000 0000 0000 0000 4000
0100: 0000 0000 0000 0000 0000 0000 6600 0000
0110: 0000 0010 0000 7776 0000 7765 0000 0000
0120: 0000 0000 0000 0000 0007 0000 0000 0000
0130: 0000 7600 0000 0000 2735 4000 0000 0000 2735 near table 1
0140: 0000 0000 0004 0000 0000 0000 0000 0000
0150: 0076 0000 0000 0000 7736 0000 0000 0000
0160: 0000 0000 0000 0000 0000 0000 0000 4000
0170: 0000 0000 0000 5574 4313 5436 5577 4267 .new code
Starting from 4313, the second pointer, it adds 60 and JMP to 176 where’s a JMP indexed at 177. And 175 is overwritten with the return stack 4315. There’s a jump indexed at 172 what is still 0. That might be correct as 0 is a pointer but 170 and maybe 171, 172 is written a bit later.
[4313] IRQ,DLY,IE=0,0,0 L/AC:1/0000 MQ:4477 IR:1363 TAD @@63 ;Add operand to AC, Current page @@63
[4314] IRQ,DLY,IE=0,0,0 L/AC:1/0060 MQ:4477 IR:4175 JMS 0175 ;Jump to subroutine ZP 0175
[0176] IRQ,DLY,IE=0,0,0 L/AC:1/0060 MQ:4477 IR:5577 JMP I 0177 ;Jump Indexed ZP 0177
[4267] IRQ,DLY,IE=0,0,0 L/AC:1/0060 MQ:4477 IR:1361 TAD @@61 ;Add operand to AC, Current page @@61
[4270] IRQ,DLY,IE=0,0,0 L/AC:1/1660 MQ:4477 IR:7104 CLL RAL ;Clear L, Rotate AC & L left
[4271] IRQ,DLY,IE=0,0,0 L/AC:0/3540 MQ:4477 IR:7421 MQL ;Load MQ from AC then clear AC
[4272] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:1115 TAD 0115 ;Add operand to AC, ZP 0115
[4273] IRQ,DLY,IE=0,0,0 L/AC:0/7765 MQ:3540 IR:3135 DCA 0135 ;Deposit AC to memory then clear AC, ZP 0135
[4274] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:6002 IOF ;KK8-E: Interrupts disabled
[4275] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:1116 TAD 0116 ;Add operand to AC, ZP 0116
[4276] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:3134 DCA 0134 ;Deposit AC to memory then clear AC, ZP 0134
[4277] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:2134 ISZ 0134 ;Increment operand and skip if zero, ZP 0134
[4300] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:5277 JMP @@77 ;Jump Current page @@77
[4277] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:2134 ISZ 0134 ;Increment operand and skip if zero, ZP 0134
[4300] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:5277 JMP @@77 ;Jump Current page @@77
..skip
[4301] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:3540 IR:7501 MQA ;OR MQ with AC
[4302] IRQ,DLY,IE=0,0,0 L/AC:0/3540 MQ:3540 IR:7110 CLL RAR ;Clear L, Rotate AC & L right
[4303] IRQ,DLY,IE=0,0,0 L/AC:0/1660 MQ:3540 IR:7421 MQL ;Load MQ from AC then clear AC
[4304] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:7010 RAR ;Rotate AC & L right
[4305] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:1362 TAD @@62 ;Add operand to AC, Current page @@62
[4306] IRQ,DLY,IE=0,0,0 L/AC:0/2100 MQ:1660 IR:6415 SRS1 ;DP8-EAEB: Read Status 1
[4307] IRQ,DLY,IE=0,0,0 L/AC:0/2100 MQ:1660 IR:2135 ISZ 0135 ;Increment operand and skip if zero, ZP 0135
[4310] IRQ,DLY,IE=0,0,0 L/AC:0/2100 MQ:1660 IR:5275 JMP @@75 ;Jump Current page @@75
[4275] IRQ,DLY,IE=0,0,0 L/AC:0/2100 MQ:1660 IR:1116 TAD 0116 ;Add operand to AC, ZP 0116
[4276] IRQ,DLY,IE=0,0,0 L/AC:0/2100 MQ:1660 IR:3134 DCA 0134 ;Deposit AC to memory then clear AC, ZP 0134
[4277] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:2134 ISZ 0134 ;Increment operand and skip if zero, ZP 0134
[4300] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:5277 JMP @@77 ;Jump Current page @@77
[4277] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:2134 ISZ 0134 ;Increment operand and skip if zero, ZP 0134
..
[4311] IRQ,DLY,IE=0,0,0 L/AC:0/0000 MQ:1660 IR:6001 ION ;KK8-E: Interrupts enabled
[4312] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:5575 JMP I 0175 ;Jump Indexed ZP 0175
[4315] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:5572 JMP I 0172 ;Jump Indexed ZP 0172
[0000] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:1157 TAD 0157 ;Add operand to AC, ZP 0157
[0001] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:5427 JMP I 0027 ;Jump Indexed ZP 0027
[7400] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:3152 DCA 0152 ;Deposit AC to memory then clear AC, ZP 0152
[7401] IRQ,DLY,IE=0,0,1 L/AC:0/0000 MQ:1660 IR:6402 SSRO ;DP8-EAEB: Skip If Receive Word Count Overflow