* Types of NSTUB values and how to find them:
* 0xFFnnnnnn - ROM address. Go to address in old ROM then find the matching ARM assembly code in new ROM to find the new value.
* 0xnnnnn - Data address. Search the operands column for =0xnnnnn then find the same region in new ROM to find the new value.
* 0x000nnnnn - System routine. Search operands column for sub_0nnnnn then find the same region in new ROM to find the new value (do these ever change?).
means these are ROM adresses:
NSTUB(0xFF16E318, lvfaceEnd)
NSTUB(0xFF23FF10, aewbSuspend)
NSTUB(0xFF181340, CartridgeCancel)
#ifndef __STUB_H__
#define __STUB_H__
#define NSTUB(addr,name) \
.global name; \
.extern name; \
name = addr
#endif /* __STUB_H__ */
where does this go? The Stubs files in platform\Stubs.s looks like these:
NSTUB(0xFF136F68, _audio_ic_write) // str:Reg_0x_02X_Data_04x)
this ^ actually has a comment that might give a clue as to what/how info this can receive
or
NSTUB(0xFFA0321C - RAM_OFFSET, AbortEDmac)
this^ is a different format, does the format itself tell me how/what to send?
or
NSTUB(0xFF137168, SetAudioVolumeOut)
This^ I assume would accept a value how loud to set the volume, but how do I know what values I can send? and how to format said values?
then there's stuff like the ones I want to make into stubs. They just tell the camera to do a thing like "stop calculating autoexposure and white balance because" (because it's making write's slower) how should these be formatted:
0xFF16E318, lvfaceEnd)
0xFF23FF10, aewbSuspend)
0xFF181340, CartridgeCancel)
maybe the answers to these questions are really obvious to someone who is well-groomed in C and assembly, I've done some cool stuff with arduino making multi-axis motion control stuff for cameras/VFX work, but I usually found a well-documented library that did the lower level stuff and played around with a well-commented example to understand how it works so I can use it properly. If my questions are not ML-specific and you think I should study some other resources first so that i can ask better questions I don't want to waste your time maybe you could point me toward some preliminary study material that would help me become a better contributor to this community?