3 ms·
I've always wanted a debug cartridge with modern design and features ... I imagined something very much like this but with additional serial and video outputs:
by rsync 4y ago
I've always wanted a debug cartridge with modern design and features ... I imagined something very much like this but with additional serial and video outputs:
- video passthrough (like this one, obviously)
- serial console debug output (framerate ? CPU ? sprite count ?)
- secondary video output of sprites - perhaps with a palette of all sprites and an array of sprites actually on-screen ?
- tertiary video output ???
I make no claim that any of the above would actually be useful.
I'm thinking about this as a development tool from an alternative timeline that never existed here ... and specifically, a standalone development tool that doesn't require a PC tied to it with a SCSI cable like the SN Systems and (other carts) did.
- ant6n 4y agoBut like, emulators exist and are really accurate, and cheap.
- NobodyNada 4y agoThis has a couple advantages over an emulator though. Debugging a game in an emulator has the disadvantage that the emulator may not be 100% accurate to original hardware, so if the behavior you're trying to debug is the result of an unknown or undocumented hardware quirk, it may not be reproducible in an emulator. This was extremely common during the early days of NES emulation -- many homebrew games created during this time period are not playable on original hardware or modern emulators, because they relied on behaviors that were implemented inaccurately in early emulators. You're much less likely to be in this situation today, because (as you said) modern emulators are very accurate. But this is only because people spend enormous amounts of time reverse-engineering the original hardware and running test cases to find the weird quirks and obscure corner cases. For these investigations, some kind of debug cartridge could be invaluable. Another reason for debugging on original hardware is simple convenience. Speedrunners usually prefer original hardware (or FPGA recreations) because emulators introduce input latency (which is very noticeable and makes a huge difference for high-level players). I speedrun Super Metroid for the SNES, and I often load the game into a debugging emulator to investigate strange behaviors or glitches. It's kind of annoying to have to switch from my nice FPGA setup that I use most of the time, to my laggy computer emulator that I use when I want to investigate something. But the community has already developed hardware and software that supports reading and writing the console's memory in realtime over USB, and this functionality is available on the most widely-used flashcarts. Adding support for simple breakpoints and a hex memory editor/disassembler would be a fun and relatively straightforward software project, and a nice quality-of-life improvement, so it's something I'm hoping to work on when I have the time.
- jf 4y agoCan you send me an email? (See my profile on HN) I’ll be working on an SNES related project soon that touches on speed running and would like to ask you more about your setup.
- rsync 4y agoI will contribute $$$ funds to anyone working on something like this ... I've meant to post a bounty for this kind of hardware project in the past ...
- p1necone 4y agoYou don't really achieve any more for debugging with this than you would inspecting memory values on an emulator though, you're not actually inspecting memory on the real hardware - any bugs that are only reproducible on the real hardware would cause this to desync because it's just an emulator running side by side with the real hardware.
- rsync 4y agoYou missed the part where I doubted this had any practical value whatsoever. I just want a SNES with serial console output and a dedicated sprite monitor ... just for the sake of it.
- walrus01 4y agoI wonder what the people who made the original NES/Famicom "Game Genie" cartridge would think of a project like this.