Are there any solutions/kits for being able to debug a game running on NES hardware from the PC?
Are there any solutions/kits that would make NES development similar to modern console development? Meaning you have a devkit connected to a PC where you compile the program and send it over to the devkit to be run and debugged.
Have there been any effort in achieving this?
Questions About Hardware Debugging
Moderators: B00daW, Moderators
Besides kevtris' Microbug I don't know of any other solutions for something like this. The reason probably is that debugging on the hardware isn't that useful (or practical), emulators are accurate and feature rich enough to cover most needs of a homebrew developer.
Won't a USB CopyNES and a PowerPak Lite RAM Cart do all of this and wash your car?
Agreed.thefox wrote:...debugging on the hardware isn't that useful (or practical), emulators are accurate and feature rich enough to cover most needs of a homebrew developer.
I agree with the other replies, an emulator such as Nintendulator is great for debugging timing-related stuff. Bugs in general seem to just turn up in the program, and an emulator doesn't need to even be accurate to find those.
Unfortunately there's not a devkit you can just buy and start using, but a pretty good one can be built with the stuff available. An EPROM emulator would be good ("Ostrich 2.0" is one), but that involves replacing and/or rewiring the ROM with an existing cart. CopyNES is pretty good, but involves the delicate operation of desoldering the CPU. PowerPak could be pretty good if used with a controller port to USB adapter.
Back around 2005 I was working a lot on making a complete devkit thing, it would have been my Squeedo cartridge (pic) and a 5V to RS232 adapter (detachable so it could be used with Squeedo, NES and SNES controller ports). I kept upgrading the MCU and getting more ambitious with the firmware, also with the PC-side software (at the time I'd only ever programmed in assembly, which wasn't much help much for the PC stuff, though I've learned C since then). After a while I guess I got burned out and took a long vacation from it, started "getting out more", heheh. By the time I was ready to get back, of course I had learned a lot more and wanted to redesign, thus the cycle continues. I guess I haven't wanted to make a real cheap simple devkit, I just keep wanting to push up to the limits of what I think is possible. But still I have other related projects to finish before I can get to that one again.
And actually, one of those higher-priority projects I guess is a simple devkit, at least it'd be an inexpensive but decent spec'ed flashcart. Though it'll need a controller port (or expansion port) adapter to work as a devcart/bootloader thing, I'm not sure if I'll have to be the only one building controller port cables or if anyone else will supply something similar or what (I'd like to see those become rather common/inexpensive for use by game players as well). Xious, chykyn, and myself have all been working towards making some fun stuff with the expansion port, I think that may work out pretty well for developers and well as users.
BTW, sort of a rambling post, forgot to mention that debugging over a serial port is IMHO a pretty decent and easy way to test some stuff. It's easy for the NES to send memory dumps, event logs, or anything you'd want in ASCII or binary format to a terminal program on your PC.
Unfortunately there's not a devkit you can just buy and start using, but a pretty good one can be built with the stuff available. An EPROM emulator would be good ("Ostrich 2.0" is one), but that involves replacing and/or rewiring the ROM with an existing cart. CopyNES is pretty good, but involves the delicate operation of desoldering the CPU. PowerPak could be pretty good if used with a controller port to USB adapter.
Back around 2005 I was working a lot on making a complete devkit thing, it would have been my Squeedo cartridge (pic) and a 5V to RS232 adapter (detachable so it could be used with Squeedo, NES and SNES controller ports). I kept upgrading the MCU and getting more ambitious with the firmware, also with the PC-side software (at the time I'd only ever programmed in assembly, which wasn't much help much for the PC stuff, though I've learned C since then). After a while I guess I got burned out and took a long vacation from it, started "getting out more", heheh. By the time I was ready to get back, of course I had learned a lot more and wanted to redesign, thus the cycle continues. I guess I haven't wanted to make a real cheap simple devkit, I just keep wanting to push up to the limits of what I think is possible. But still I have other related projects to finish before I can get to that one again.
And actually, one of those higher-priority projects I guess is a simple devkit, at least it'd be an inexpensive but decent spec'ed flashcart. Though it'll need a controller port (or expansion port) adapter to work as a devcart/bootloader thing, I'm not sure if I'll have to be the only one building controller port cables or if anyone else will supply something similar or what (I'd like to see those become rather common/inexpensive for use by game players as well). Xious, chykyn, and myself have all been working towards making some fun stuff with the expansion port, I think that may work out pretty well for developers and well as users.
BTW, sort of a rambling post, forgot to mention that debugging over a serial port is IMHO a pretty decent and easy way to test some stuff. It's easy for the NES to send memory dumps, event logs, or anything you'd want in ASCII or binary format to a terminal program on your PC.