(08-18-2024 04:46 PM)J-F Garnier Wrote: But ... can you tell us why you don't get the right value of the checksums of the system ROMs, which are correct ? :-)
These ROMs are 41CL specific, they are true 16-bit ROM, like the Y... ROMs.
I can modify my scripts to filter out those 6 extra bits used by the 41CL.
41CL NEWT extended 16 bits NUT instruction structure
- bits 15 to 14
- first word of a page
- 00 = Programmed Flash or RAM page
- 01 = Reserved
- 10 = Unprogrammed RAM page
- 11 = Unprogrammed Flash page
- any other words - ignored
- bits 13 to 12 used for turbo handling (bits = this/next instruction)
- 00 = turbo execute / turbo fetch (if enabled)
- 01 = normal execute / normal fetch
- 1x = refetch, normal execute / normal fetch
- bits 11 to 10 unused - ignored
- bits 9 to 0 are for NUT instructions
NUT0-N.ROM 16-bit words
Code:
offset : word
000 : 3201
001 : 3006
002 : 32B5
003 : 3006
098 : 33C8
099 : 33CC
09A : 33F7
09B : 3130
09C : 3008
09D : 33C8
09E : 33CC
09F : 3266
0A0 : 33EB
0A1 : 33E0
174 : 303F
175 : 3130
176 : 3051
177 : 3266
180 : 3001
181 : 3100
182 : 33D5
183 : 300C
184 : 33CC
185 : 310F
186 : 3130
187 : 3008
188 : 3399
189 : 309C
199 : 3130
19A : 3050
19B : 3106
19C : 33CC
19D : 304F
19E : 3130
19F : 300C
1A0 : 33B1
1A1 : 309C
1A2 : 31A6
1A3 : 33CB
205 : 33C8
206 : 33CC
207 : 3260
208 : 3046
209 : 33F0
20A : 3270
20B : 3130
20C : 3169
20D : 3106
20E : 3378
20F : 317C
210 : 3366
211 : 310F
212 : 31BC
213 : 3266
214 : 3270
215 : 3038
216 : 310E
217 : 32BA
218 : 32F0
219 : 3038
21A : 32BA
21B : 336E
21C : 30B7
21D : 32F0
21E : 3046
21F : 3270
220 : 33B8
221 : 3358
222 : 30CC
223 : 33A0
3E2 : 3130
3E3 : 30A7
3E4 : 33C8
3E5 : 33CC
3E6 : 32F9
3E7 : 301E
3E8 : 3266
3E9 : 33DB
3F5 : 3130
3F6 : 32FD
3F7 : 3270
3F8 : 33F0
3F9 : 30B8
3FA : 3015
3FB : 300A
55C : 33C8
55D : 33CC
55E : 33A0
55F : 3266
560 : 33E3
89A : 3130
89B : 30D0
89C : 3266
89D : 33FB
B9F : 30EE
BA0 : 33CC
BA1 : 3043
BA2 : 3171
BA3 : 30CC
BA4 : 3366
BA5 : 3325
BA6 : 300E
BA7 : 3022
BA8 : 33C8
BA9 : 30EE
BAA : 3266
BAB : 33A3
BAC : 330B
BAD : 3000
BAE : 3000
BAF : 3000
BB0 : 3000
BB1 : 3000
BB2 : 3000
E97 : 3130
E98 : 30C8
E99 : 32E0
E9A : 33C8
E9B : 33CC
E9C : 303B
E9D : 3266
E9E : 33E3
E9F : 3320
EC6 : 3130
EC7 : 3240
EC8 : 31E6
EC9 : 33C8
ECA : 33CC
ECB : 326D
ECC : 3002
ECD : 3266
ECE : 33DB
ED3 : 3130
ED4 : 33E8
ED5 : 3266
ED6 : 33FB
NUT1-F.ROM 16-bit words
Code:
offset : word
6DE : 33B8
6DF : 32BC
6E0 : 33D8
6E1 : 330C
6E2 : 33A0
6E3 : 33C4
6E4 : 32D8
6E5 : 3358
6E6 : 304E
6E7 : 3130
6E8 : 30FF
6E9 : 33D8
6EA : 31BC
6EB : 310E
6EC : 307C
6ED : 32A0
6EE : 32BE
6EF : 3260
6F0 : 33F1
6F1 : 3058
6F2 : 305B
6F3 : 3065
6F4 : 3073
6F5 : 3087
6F6 : 30A1
6F7 : 30C9
6F8 : 310B
6F9 : 313F
6FA : 318F
6FB : 3215
6FC : 31B0
6FD : 321A
6FE : 3330
6FF : 30A6
700 : 327E
701 : 3067
702 : 327E
703 : 3077
704 : 327E
705 : 308F
706 : 311E
707 : 32D8
708 : 31BE
709 : 33FB
70A : 31A6
70B : 33DB
70C : 33E0
70D : 32D8
70E : 31A6
70F : 33F3
710 : 33E0
711 : 32D8
712 : 3000
713 : 31A6
714 : 33EB
715 : 33E0
716 : 32D8
717 : 3000
718 : 3000
719 : 31A6
71A : 33E3
71B : 33E0
NUT2-L.ROM 16-bit words
Code:
offset : word
7E6 : 3106
7E7 : 3204
7E8 : 33B8
7E9 : 3398
7EA : 33A8
7EB : 30A6
7EC : 333C
7ED : 31B0
7EE : 32FC
7EF : 301C
7F0 : 3110
7F1 : 3286
7F2 : 31BC
7F3 : 315C
7F4 : 3222
7F5 : 301B
7F6 : 3229
7F7 : 30CA
7F8 : 3330
7F9 : 32E6
7FA : 33D3
7FB : 31E0
CE2 : 33C8
CE3 : 33CC
CE4 : 3037
CE5 : 3248
CE6 : 326D
CE7 : 3000
CE8 : 33CC
CE9 : 3360
CEA : 3130
CEB : 3380
CEC : 31E6
CED : 3266
CEE : 33FB
edit: add NEWT bit usage