Hey, I missed this one somehow. I grabbed the listing immediately, and
just finished the build of my 'flow-skeleton'.
By that I found a few code/data-mismatches, which I should be able to solve myself, so that's just for the records:
there should be code instead of data at:
00148E,
0050CA,
0050D2,
007A7C, seems to be the adress part of a jump
there's also a same thing in Atari-code
00A166,
00BEBC,
00CE58
and here are in fact datas instead of code:
002E88 (to the label),
00D39C
have to check how it can get to those routines:
0036AE, 00397A, 006C04, 00786A, 007FD4, 00833A,
0083F6, 00CC34,
00D720 (this one really unused, i think)
I'm also looking forward to a good disassembling, to me the labelnames aren't that important, because the order will be pretty the same as in the normal version. (at least that it was with the Atari).
Comparing both sources I can say (on a first view), that a lot of things are pretty the same, so HH, you're absolutely right with this.
One thing:
One of the most confusing things happens in line 005410.
There it pushes an adress (it's the flash-cursor-routine!) onto the stack,
but continues with jmp (a0), (eventhandler). So the next RTS that comes up launches that flash-routine!
Such mixes of bra and conditional jumps to the same routines hurt throughout the whole code - that's absolutely the same for Atari and Amiga.
I'm tempted to say, they did program it in Aseembler..., or they had a really weird compiler...