This semester learns ASM, plus the need for a Fe4PC on the semester, so I decided to dry Fe4 Rom Hack.
It started from yesterday, but because Debugger used unskilled reasons, I repeatedly repeated it yesterday and made some records.
Due to personal habits, I hope not to give you reading difficulties ...
First of all, I use Znes1.7, so I can't dump, according to the predecessors, I start reading code from the battle screen (that is, the actor of the actor is standing on that tree to attack the first ax)
Tony said, start reading: (here is just the code address and my understanding, some things that don't understand or use it)
Here first proceeds to some settings of DMA # 0:
Source Address = $ D204; I think this address should correspond to a certain address in the ROM, but because of the lack of DMA knowledge and SNES hardware knowledge, it is not very well understood.
Dma Reading Size = $ 78; 120 bytes
The most important thing is these two, there is a source bank address, I understand the address in memory.
Source Bank Address = $ 7F; and this address has appeared many times, there are many commands to operate the 7FE4XX data
After the jump of several procedures:
8081BD ~ D4-> 80BF04-> 95C368-> 95C3C2-> Jumping 80BF04-> 969FD7-> Jumping 80BF04-> 96D5DB
-> 80BF04-> 95A086.
There may be omissions in the middle, this is something wrong, the code is a lot ...
Next, it is possible to operate the data in these addresses because 7FE441 ~ 7FE4XX is operated, but it has not yet been able to analyze the meaning of the code.
It is also the jump of the subroutine:
80BF56-> 95A086-> 95A0BD-> jump back 80BF56-> 96eb1e-> jump back 80BF56-> 80A34F-> 80807C
Only one of them understood, 7FEC70 ~ 7FEC7A is all assigned 0, I guess is to initialize space for data inside ROM. (It seems to be a bit problem, should not be initialized like this ...)
Then get it: Source Address = 1C00
DMA Reading Size = 20
Source Address = 0100
Platte = 0000;
Specific role, not very well, you have to find some books of computer structure to see, learn about DMA is something! ! If there is a prawn, please enlighten it ~~~~! !
Next, a DMA appeared again, but this time is # 7
Then by setting: Source Address = E1F6
DMA READING SIZE =? ?
Source Bank Address = 7f
Platte =? ?
Anyway, in memory, 7F is definitely the address of some data (this is nonsense ...), it should be said to be the address of the goal I want.