Posts for SusiKette

SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
Not sure if you are trolling or something, but take a look at this link: https://wiki.nesdev.com/w/index.php/MMC3#Registers It is for the MMC3 memory mapper and it clearly has registers. The NES has some too. Such as $2000, $2001 and $2002
Post subject: [Lua] How to detect a write to a mapper register
SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
I want to create a script that hits a breakpoint when a certain value is written to a mapper register. I don't think the official documentation mentioned anything about mapper registers, at least not in the function list. Basically it would be something like this:
if((written_value AND 7) == 6 || (written_value AND 7) == 7) then
  debugger.hitbreakpoint();
  written_value = 0;
end;
The value written to the $8000 would be saved to "written_value". even if this wouldn't work as is, it should give a good idea on what I'm trying to do. If it is possible to actually create a breakpoint condition in the debugger that does the same thing, it'll do just as well.
SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
I originally came to report a possible bug in the PPU Viewer in version 2.2.3, but I guess I could suggest a few improvements that I have hoped to exist. First to get the bug out of the way; I don't thing the "Display on scanline" option works. I know that the game I'm reverse engineering swaps banks on scanline 207 to draw the status bar, however changing the value on the text box something higher (eg. 210) doesn't change the display on the PPU Viewer. Then the suggestions: RAM Search: Allow excluding mapper RAM from the list, especially if the game doesn't even use it. RAM Viewer: Add option to re-arrange the list (by address or name or example) and moving multiple selected addresses at once. Debugger: Make a distinction between register names and labels (naming mapper register $8000 also puts a label at $8000 in ROM). Which actually reminds me, the Debugger sometimes seems to forget the names I've given the $8000 and $8001 registers. Debugger: Allow displaying lookup tables and other non-code data as bytes alone (or just excluding them). This of course requires the Data Logger. An ability to mark data manually would be useful too, since you could mark values in the middle of the table that the Data Logger might have missed. This would make the debugger a lot neater looking and could make it less likely for the Debugger to display the code incorrectly. Some of you probably have noticed that you can 'Step Into' a particular part of the code just fine, but when you start to scroll around the code, the Debugger "corrects" the code because the way it was displayed doesn't align with the start of the ROM. Cheat Search: Allow changing the value of multiple cheats at once. Multiple: Make RAM Watch, RAM Search and Debugger "communicate" with each other. This mainly includes: -Automatically exclude values from RAM Search that are listed in RAM Watch -Sync RAM Watch and Debugger so you don't have to separately name variables in both[/b]
SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
I found another use for the Ignis glitch that might have some use. When you transition into a room while Ignis shots are active, you'll be able to open all chests at once in the room you transition into. The only limitation is that it can't open blue chests that are not revealed yet. As far as I know, Ignis glitches only work when you transition right (just like you do in the lighthouse). I don't remember seeing them working when transitioning left. This could be used to open some out of the way chests along with less out of the way one. Probably only useful in either 100% and Any% NG+ since Ignis is kinda out of the way to get in Any%
SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
HHS wrote:
Erm… what the hell is a PAL 3DS? I thought the 3DS was a handheld...
PAL is used to represent the European region in games and consoles, just like NTSC is used to represent America and NTSC-J is used to represent Japan. Not sure where the names come from. Just like most consoles, 3DS is also region locked for it's own games at least. Regular DS games are not region locked for 3DS, but are for DS.
SusiKette
He/Him
Experienced Forum User
Joined: 6/11/2017
Posts: 6
Location: Finland
As far as the Ignis glitch goes, what I've tested, the NTSC version crashes when the elevator hits the bottom of the Lighthouse (not sure if running it on Pal 3ds has something to do with it). It should also be assumed that the glitch can do more than just delete some sprites (such as the elevator). I've been able to erase the Luminatio glyph at the top of the light house, delete parts of teleporters (although they still work) and remove some foreground layers and cause graphical glitches when moving around. As for the Gravedorcus boss room. When I try it, the pillars that come out of the sand follow the boss sprite (although their hitboxes are where they should be). I guess the glitch varies between different versions of the game.