trunk/src/mess/drivers/casloopy.c
| r21610 | r21611 | |
| 13 | 13 | the idea is to understand the HW enough to extract the SH-1 internal BIOS |
| 14 | 14 | data via a trojan; |
| 15 | 15 | |
| 16 | ASM notes: |
| 17 | - first vector is almost certainly VBR value. |
| 18 | - [VBR + 0x2c] irq for i/o? |
| 19 | - [VBR + 0x140] points to an internal BIOS routine, at 0x6238 |
| 20 | (Nigaoe Artist has a direct 0x648c instead) |
| 21 | - 0x0604 is probably a BRA -2 / NOP (some games puts that as a null irq vector) |
| 22 | - Nigaoe Artist jumps to 0x668 at some point. |
| 23 | |
| 24 | |
| 16 | 25 | =============================================================================== |
| 17 | 26 | |
| 18 | 27 | Casio Loopy PCB Layout |
| r21610 | r21611 | |
| 171 | 180 | } |
| 172 | 181 | |
| 173 | 182 | static ADDRESS_MAP_START( casloopy_map, AS_PROGRAM, 32, casloopy_state ) |
| 174 | | AM_RANGE(0x00000000, 0x00000007) AM_RAM AM_SHARE("bios_rom") |
| 175 | | // AM_RANGE(0x01000000, 0x017fffff) - i/o? |
| 176 | | AM_RANGE(0x06000000, 0x061fffff) AM_ROM AM_REGION("rom_cart",0) // wrong? |
| 183 | AM_RANGE(0x00000000, 0x00007fff) AM_RAM AM_SHARE("bios_rom") |
| 184 | AM_RANGE(0x01000000, 0x0107ffff) AM_RAM // stack pointer points here |
| 185 | // AM_RANGE(0x05ffff00, 0x05ffffff) - SH7021 internal i/o |
| 186 | AM_RANGE(0x06000000, 0x061fffff) AM_ROM AM_REGION("rom_cart",0) |
| 177 | 187 | AM_RANGE(0x07fff000, 0x07ffffff) AM_RAM |
| 188 | AM_RANGE(0x0e000000, 0x0e1fffff) AM_ROM AM_REGION("rom_cart",0) |
| 178 | 189 | ADDRESS_MAP_END |
| 179 | 190 | |
| 180 | 191 | #if 0 |
| r21610 | r21611 | |
| 263 | 274 | DRIVER_INIT_MEMBER(casloopy_state,casloopy) |
| 264 | 275 | { |
| 265 | 276 | /* load hand made bios data*/ |
| 266 | | m_bios_rom[0/4] = 0x6000964; //SPC |
| 267 | | m_bios_rom[4/4] = 0xffffff0; //SSP |
| 277 | m_bios_rom[0/4] = 0x6000480;//0x600af3c;//0x6000964; //SPC |
| 278 | m_bios_rom[4/4] = 0x0000000; //SSP |
| 279 | |
| 280 | for(int i=0x400/4;i<0x8000/4;i++) |
| 281 | m_bios_rom[i] = 0x000b0009; // RTS + NOP |
| 268 | 282 | } |
| 269 | 283 | |
| 270 | 284 | GAME( 1995, casloopy, 0, casloopy, casloopy, casloopy_state, casloopy, ROT0, "Casio", "Loopy", GAME_NOT_WORKING | GAME_NO_SOUND ) |