@username@ wrote:The graphics disappearing is normal too! Quality control obviously slept through those
Also you'll find the sound stops in Crazy Chicken, and that's normal too. Fortunately, mobsie posted some video of those running on a real CV, so you're fine.
Maybe it's different in FPGA, but using RESET in an emulator leaves the stack screwed, and things then go anywhere, as RESET sticks stack back to top of zeropage.
This, I believe, is where all the magic mirroring came from.
Haha, almost makes me want to disassemble it and figure out why those graphics disappear. Where are those videos posted? I saw a few videos on youtube but they appear to all be from emulators.
As for resets, on an actual 6502, reset will attempt to write to the stack, but R/W is held high so the chip will never actually write to the stack, though it will "go through the motions". Interestingly, the SP can be pointing ANYWHERE on reset; I checked the BIOS and the SP is NEVER SET! There is not a single TXS instruction in the entire BIOS as far as I can tell. tut tut, Vtech. I could admit that NMI would indeed be different from reset in one case- SP will be decremented only 3 times instead of continuously as in the case of reset.
It appears that the games I have all seem to function properly though using reset. I think I will add a "soft reset" button for fun anyways to be 100% correct, just in case.
BTW, reset should never place the stack at the top of zeropage. The stack can never leave page 1 (0100-01ffh). If you had variables sitting in this area and then reset, they could be overwritten by the stack on the first JSR in the BIOS (and other stack things) however. Using NMI would indeed fix this problem- but your game has to reset SP to a known place on reset/NMI instead of leaving it hanging wherever it feels like residing, using up an entire 1/4th of your available RAM.