On Wed, May 30, 2018 at 7:07 PM, Curious Marc <curiousma...@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.