xyproto / zsnes

A maintained fork of ZSNES, a Super Nintendo emulator. The original project needs patches to build and is not maintained anymore: https://sourceforge.net/projects/zsnes/
https://zsnes.com
GNU General Public License v2.0
129 stars 16 forks source link

Hints to understand the code base #26

Closed uddivert closed 2 weeks ago

uddivert commented 9 months ago

Hello, I would like to help contribute to this project. Are there any tools to help becoming acquainted to this codebase?

xyproto commented 2 weeks ago

Hi! The project mainly consists of old C and 32-bit Assembly code, which are not well known for excellent readability. The main approach would be to know C and Assembly well and read through the source code. I don't know of any software that makes this much easier, unfortunately. There might be tools that can draw a call graph, but I'm not sure how helpful it would be. LLMs might also be helpful in explaining sections of the code or entire files, but at the time of writing, all of them are struggling quite a bit with both C and Assembly.