So I've been enthralled with the
Rust programming language lately, which rides developers' asses to make properly working code.
Recently, I've made a proof of concept 6502 CPU emulator and accompanying disassembler in it. The NES uses the 6502 CPU and the SNES uses a CPU that builds on that. One of the features I want to add that should be easy to code is feeding in a text file that maps labels with ROM addresses. I could, with Mario Bros 1, type up a ROM map that I can then feed into my disassembler and it will label things such as the sound loading function or the cheep-cheep sprite location.
Eventually, I want to take the NES emulator and extend it into a 65C16/Ricoh 5A22 emulator that will carry the same disassembler features. Using that, I've been inspired by Geiger's Snes9X debugger and want to make something modern and more robust.
I believe the Compendium has documented the Chrono Trigger ROM locations, along with Temporal Flux. Once done, I hope to have my emulator be able to set debug breakpoints in the ROM, step through, step over, etc., complete with labels for data and functions, so the user can see exactly what assembly is being executed.
Eventual future plans may include a decompiler to C, to make it even easier.
Right now the only foreseen difficulties are the graphics. I plan to use WebGPU for the graphics