Close

20230218b -- Here, here!

A project log for ROM Disassembly - AlphaSmart Pro

Wherein I disassemble the ROM from a vintage typewriter-thing

ziggurat29ziggurat29 02/22/2023 at 04:210 Comments

It's a peculiar Apple-ism of using an output string of "Here" for printf()-style debugging.  (The founders were ex-Apple, so I'm not surprised.)  Interestingly, there are two routines in the code that print out 'Here1' and 'Here2'.

debugHere1_F5D5
debugHere2_F5DD

Debug Here 1 is dead code -- no references.  However Debug Here 2 is referenced in the scanKbd_E5A0 routine:

E5E0 BD F5 7B        jsr     colMaskToColNo_F57B ; XXX col mask to col no; X is col mask; ret A = col no; V set if no col (done scanning)
E5E3 29 7A           bvs     bug_E65F        ; XXX cannot convert col mask to col no; bug?
...
E65F             bug_E65F:
E65F BD F5 DD        jsr     debugHere2_F5DD ; Here2 related; a bug found
E662 7E E5 A8        jmp     loopNextKbdCol_E5A8

So I guess the authors were still concerned about the possibility of colMaskToColNo failing, or just forgot to take it out.

Discussions