about summary refs log tree commit diff
path: root/README.md
blob: b7d7e876a8a1eccde6b38ac83f76265dba7a430b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
## 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]

youtube: [Vintage Firmware Modding Nokia DCT3 Phones][yt-vfm]

reddit: [NokiX -- open-source firmware modding tool and SDK for classic Nokia mobile phones (including Nokia 3310)][rdt-nokix]  
first mention i've seen of nokix

hackaday: [1337 3310 tool][hkdy-1337]  
someone building tools that use the Nokia 3310 as a platform

gitea: [DCT3-GSMTAP][gea-gsmtap]  
first mention of project blacksphere

cosconor: [cosconor.fr Nokia 3310 Flash Files][cscnr]  
a frenchman dumped the Nokia 3310's firmware. this is the one we're working with.

freeavatars: [NOKIA 3310 TRUOUBLE.jpg][fa]  
a labelled image of the Nokia 3310 mainboard

[wk]: https://en.wikipedia.org/wiki/Nokia_3310
[yt-vfm]: https://www.youtube.com/watch?v=_7tkjJ-F95U
[rdt-nokix]: https://www.reddit.com/r/ReverseEngineering/comments/u15zk6/nokix_opensource_firmware_modding_tool_and_sdk/
[hkdy-1337]: https://hackaday.io/project/3472/logs
[gea-gsmtap]: https://gitea.osmocom.org/phone-side/dct3-gsmtap
[cscnr]: https://cosconor.fr/GSM/Nokia/Netmonitor/DCT-3/Nokia%203310/Flash%20Files/
[fa]: http://freeavatars.50webs.org/NOKIA%203310%20TRUOUBLE.jpg