this post was submitted on 03 Sep 2024
58 points (100.0% liked)

retrocomputing

4020 readers
1 users here now

Discussions on vintage and retrocomputing

founded 1 year ago
MODERATORS
 

I dumped the ROM out of a piece of retro-tech and have been working through the code in Ghidra. Unfortunately, I can’t exactly decompile it because I don’t think it was originally written in a higher level language.

For example, the stack is rarely used and most functions either deal entirely in global variables, or binary values are passed back using the carry or other low-level bits. Trying to turn it into C would just make spaghetti code with a different sauce.

So my current plan is to just comment every subroutine as best I can, but that still leaves a few massive lookup tables that should be dropped into a spreadsheet of some sort to add context. Not to mention schematics.

My question is what’s the best way to present all of this? I’d like to open-source the result, so a simple PDF is not ideal. I guess I should make a GitHub project? Are there any good examples or templates I can draw on?

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 1 week ago (1 children)

I'm not an expert, but isn't the goal often times to create a debug symbols file to name functions and variables? Then the next step is to provide source.

[–] [email protected] 4 points 1 week ago

Yeah, I’m working on that part. It’s just messy because a lot of portions of the code can’t be confined to functions. There’s a lot of GOTO equivalents.

[–] [email protected] 10 points 1 week ago

Source with lots of comments.

If you do have a C compiler capable of inline ASM for the chip, you could use this to get some structure into the code, and it would allow for Doxygen-Style comments. This will only work with some code that already has a bit of a structure, though.