about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--README.md36
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]