83/D3B9: E230 SEP #$30 ; set bits x, d, i,
; and z = 1
Not quite. The sigil ($) means we're using hexadecimal. Decimal 30 = 00011110, which is how you got nvmXDIZc, whereas $30 = 00110000 = nvMXdizc. You can find out more about this by searching "flag register" in the asmtutor, but what SEP #$30 does is set the M and X flags, both of which tell the CPU that we're working in 16-bit mode, rather than 8-bit mode.
The sharp (#) means that rather than loading an address, it's using an absolute value.
I should also tell you about
Geiger's debugging snes9x. If you don't already have it, you should get it, because it allows you to step through the code as it's being executed.
83/D3BB: A542 LDA $42 ; load the accumulator
; with memory, also
; deals with Direct Page?
Loads the accumulator with whatever is in 7E0042. I don't think the direct page actually comes into play when digging around in disassembly. At least, I've never seen it.
83/D3BD: F044 BEQ $D403 ; something to do with a
; branch to 83/D403?
Branch if EQual checks to see if the zero flag is set, and if it is, it jumps to the address given, within this code bank. (The ROM is divided into chunks or "banks" of (IIRC) $8000 bytes. We're looking at bank $83 right now, hence the jump to $83/D403.)
83/D3BF: 220F8882 JSR $82880F ; jump to subroutine at
; 82880F (not sure what
; this means)
If the z flag wasn't set at the BEQ, the processor will proceed to this line, and jump unconditionally to $82/880F, which is code bank $82. Once there, it executes whatever it finds until it hits the RET code, and returns to $83/D3BF. If you need to see what bank $82 (or any other bank) does, Modify that batch file to dump it by changing "83" to the bank number and renaming the output file.
83/D3C3: 903E BCC $D403 ; clear the carry bit at
; D403?
Branch if Carry Clear. If the program had, for example, incremented the accumulator until it carried over to the next byte, the carry flag would be set, and it would jump to 83/D403, as with the BEQ above. We don't know by looking at disassembled code whether this branch actually happens or not, or under what circumstances. Hence the importance of Geiger's debugger.
83/D3C5: A636 LDX $36 ; Load X register from
; direct page
In addition to the Accumulator, data is often loaded into the X and Y indices. Usually, these are used as loop counters as you would use "int i" in a for loop in C/++. LDX $36 loads 7E0036 to the x index, the contents of which are listed in the disassembly pane of Geiger's debugger.
83/D3C7: AD820D LDA $0D82 ; Load the accumulator
; with memory at 0D82
Right- and remember that you can find 0D82 in the cheat search by putting 7E in front of it.
83/D3CA: 38 SEC ; set bit c = 1
Manually sets the carry flag. It's unclear from what you've posted why it would do this.