JC64Dis (next generation) is in half way

I had always use my JC64dis (beta) program to disassembly a PRG/SID program for producing the reverse enginerer source code (lot of them are in inside SIDin magazine).

I had a structured approach in this operation that is to separate data from code (and JC64Dis had uses SIDLD memory usage file that today unfortunately no program still generate, that help in this process).

Then I try to locate the code that manipulate some IO chips of the C64 (Vic/Sid/Cia) and start to add useful memory labels for each address (and replace it into the file).

At this point the TXT with the raw code try to be more simple to understand, so I can takes each part of code and add all the comments/label I need to finish that process for obtaining the source that can be compiled with DASM.

This is a very time consuming task, so JC64Dis is now being converted to speed up the process:

The program now has 3 zone:

  • Memory locations with code/data indicator, comments and labels
  • Raw generated reverse engineerer source code in pseudo binary form that use (and propose) the data from previous zone
  • Source code (in Dasm format)

The source code is always ready after 2 passed of disassemble phase, but ready for machine did not means it is ready for us to understand what it is doing.

So you have to use the first zone to makes what I do usually by hand and regenerate the disassembly after each modification until you reach the goal.

I had stimated that with this tool I can speed up the process of reverse engineering I usually do by a factor of 10.

Not bad!

The program works with project so you can save and use the work until you reach the final step and you can export the source code in human form!