On Wed, May 30, 2018 at 7:07 PM, Curious Marc <curiousmarc3 at gmail.com> wrote:
Wow. Impressive reverse engineering work. Congrats!
Marc
It wouldn't have been possible for me to do this without source code
provided in the 16900-series logic analyzer Analysis AddIn Tool. The
agIalEngine.cpp source file provided there contains a complete IAL
style inverse assembler .R file parser into the variable and constant
segment, the instruction opcode segment, and the string segment, plus
an interpreter to execute the instruction opcodes.
So it was mostly trying to figure out exactly what the agIalEngine.cpp
source code does and writing something a similar tool that could
execute in a standalone environment, and output text representations
of everything in the .R file instead of interpreting and executing it.
I hope I can do something similar to figure out the IA file format
used by the 1630 series, just for completeness, and maybe be able to
write an equivalent to the IALDOWN tools for the 1630 series. It
appears that the 1630 series IA files start with the same .R files,
then flatten them down to the three segments, then add some header
information. But they also break the resulting file in a block
structure with a 16-bit checksum on each block using an unknown
algorithm. My current plan is to try hooking another logic analyzer up
to a 1630 to observe what the 6809 CPU is doing when it computes
checksums. I tried using CRC RevEng without any luck. Could be user
error and I don't know how to use that tool.