This project will reach its goal when these pages will provide enough informations to build an emulator of this powerful calculator.
We have more and more informations. I have began an Emulator, actually just the ARM emulator. See this page for more informations.
WARNING : THESE INFORMATIONS ARE HERE FROM OBSERVATIONS. Perhaps mistakes, but not too much :)
Memory can be mapped in several positions. I do not have all
absolute positions... Here is a good post from Al Borowski : remapping.txt and a Mail from Claudio Lapilli
Which memory ? |
Absolute positions |
Relative positions |
Size |
Description |
0x00000000 |
0x00000000 |
16 Kb |
"Non-system OS" and exception handlers |
|
0x00003FEF |
||||
0x00003FF0 |
9 b |
Calculator serial number |
||
0x00003FF9 |
||||
0x00004000 |
23 b |
ROM Header |
||
0x00004017 |
||||
0x00004018 |
240 Kb |
ARM ROM Code (Saturn emulator) |
||
0x0003FFFF |
||||
0x00040000 |
1 Mb |
Saturn ROM Code |
||
0x0013FFFF |
||||
0x00140000 |
768 Kb |
User Flash (port 2) |
||
0x001FFFFF |
||||
0x07F00000 |
0x00000260 |
1600 b |
Screen data (1 bit/pixel, monochrome) |
|
0x0000089F |
||||
0x08000000 |
0x00000000 |
128 Kb |
Reserved for the system (see the Note) |
|
0x0001FFFF |
||||
0x00020000 |
128 Kb |
ERAM (Port 1) |
||
0x0003FFFF |
||||
0x00040000 |
256 Kb |
Home/IRAM (Port 0) |
||
0x0007FFFF |
; Base (R1) offset Description, ie, [r1,
#0x92C] is R0lo |
00000000
b #0x20 ; Reset
00000004 b #0x108 ; Undefined
instruction
00000008 b #0x124 ; Software
interrupt
0000000c b #0x140 ; Abort
(prefetch)
00000010 b #0x15c ; Abort (data)
00000014 b #0x14 ; Reserved
(seems to lock the calc)
00000018 b #0x178 ; IRQ
0000001c b #0x190 ; FIQ
|
|
|
|