diff options
author | gennyble <gen@nyble.dev> | 2025-03-06 07:10:34 -0600 |
---|---|---|
committer | gennyble <gen@nyble.dev> | 2025-03-06 07:10:34 -0600 |
commit | 09eaa4107a79023ebc6686519be6e37924471fe8 (patch) | |
tree | 56ebefc486f9099355c3a1b71bb52ce99fe19f4d | |
parent | 1aff68c1cbb7b86a85ec6491d10df13d369d486b (diff) | |
download | nokia3310emu-09eaa4107a79023ebc6686519be6e37924471fe8.tar.gz nokia3310emu-09eaa4107a79023ebc6686519be6e37924471fe8.zip |
-rw-r--r-- | README.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/README.md b/README.md index 1e2b37d..b7d7e87 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,39 @@ +## Important ROM addresses + +It is important to know that the ROM is loaded in to this +memory range: `0x00200000..0x003FFFFF + 1`. + +### `00200040` + +This is where the bootloader jumps into, in ARM mode. When the processor +is reset, it is in Arm mode. To get into thumb, you need to execute the +`BX` instruction *(branch and exchange instruction sets)* + +The bootloader jumps here after it checks to see if it should flash, +I think. Please see the Project Blacksphere page with the +path: `/sub_100hardware/sub_arm/sub_bootrom.htm` + +### `002eebec` +``` +002eebec e7 fe b +``` +This is a tight loop waiting for a reset. The code path that leads us +here appears to initiate a software reset (002eebde) + +### `002eec46` +``` + LAB_MainLoop? +002eec46 2d 01 cmp r5,#0x1 +002eec48 d1 fd bne LAB_MainLoop? +002eec4a f7 f9 ff 13 bl FUN_KeyboardRead? +002eec4e 28 81 cmp r0,#0x81 +002eec50 d1 f9 bne LAB_MainLoop? + +``` +This is what I have, perhaps incorrectly called, the MainLoop. There is +a question mark after it in the decompilation because I am not sure. It +sure loops here, anyway! + ## Links to the Past wikipedia: [Nokia 3310][wk] |