Commit ab89c68
Fix CD BIOS loading: treat as cartridge at $800000, not boot ROM
The CD BIOS is not a replacement for the standard boot ROM at $E00000.
It is a "cartridge" loaded at $800000 with a Jaguar universal header
at $800404 containing entry point $802000.
Boot sequence:
1. Standard boot ROM at $E00000 initializes the 68K (SP=0, PC=$E00008)
2. Boot ROM detects "cartridge" (CD BIOS) at $800000
3. Boot ROM reads entry point from $800404 and jumps to $802000
4. CD BIOS code runs, shows intro animation, reads CD TOC
The embedded jaguarCDBootROM data is not encrypted -- it contains
readable strings (VLM, "ATARI APPROVED DATA HEADER") and valid 68K
code at offset $2000. It just doesn't use standard 68K reset vectors
because it boots as a cartridge, not a boot ROM.
Also adds support for loading external CD BIOS from system directory
with the common No-Intro filename convention (.j64 extension).
Tested: CD BIOS boots, shows intro animation loop. CD drive protocol
responses need further work for games to load.
Co-Authored-By: Claude Opus 4.6 <[email protected]>1 parent cbbae0b commit ab89c68
2 files changed
Lines changed: 49 additions & 39 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
958 | 958 | | |
959 | 959 | | |
960 | 960 | | |
| 961 | + | |
961 | 962 | | |
962 | 963 | | |
963 | 964 | | |
| |||
991 | 992 | | |
992 | 993 | | |
993 | 994 | | |
994 | | - | |
995 | | - | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
996 | 998 | | |
997 | | - | |
998 | | - | |
999 | | - | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
1000 | 1002 | | |
1001 | 1003 | | |
1002 | 1004 | | |
| |||
1141 | 1143 | | |
1142 | 1144 | | |
1143 | 1145 | | |
1144 | | - | |
1145 | | - | |
1146 | | - | |
1147 | | - | |
1148 | | - | |
1149 | | - | |
1150 | | - | |
1151 | | - | |
1152 | | - | |
1153 | | - | |
1154 | | - | |
1155 | | - | |
1156 | | - | |
1157 | | - | |
1158 | | - | |
1159 | | - | |
1160 | | - | |
1161 | | - | |
1162 | | - | |
1163 | | - | |
1164 | | - | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
1165 | 1151 | | |
1166 | 1152 | | |
1167 | 1153 | | |
| |||
1172 | 1158 | | |
1173 | 1159 | | |
1174 | 1160 | | |
1175 | | - | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
1176 | 1180 | | |
1177 | 1181 | | |
1178 | 1182 | | |
| |||
1212 | 1216 | | |
1213 | 1217 | | |
1214 | 1218 | | |
1215 | | - | |
1216 | | - | |
1217 | | - | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | 1219 | | |
1227 | 1220 | | |
1228 | 1221 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
193 | 192 | | |
194 | 193 | | |
195 | 194 | | |
196 | 195 | | |
197 | 196 | | |
198 | 197 | | |
199 | 198 | | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
200 | 217 | | |
201 | 218 | | |
202 | 219 | | |
| |||
0 commit comments