mirror of
https://github.com/holub/mame
synced 2025-05-28 08:33:05 +03:00
crude 'good enough for naomi gd-rom' MMU implementation
save JVS eeprom settings.
This commit is contained in:
parent
a35ef58b54
commit
64d977ed46
@ -2078,24 +2078,56 @@ INLINE void LDCSPC(SH4 *sh4, UINT32 m)
|
||||
sh4->spc = sh4->r[m];
|
||||
}
|
||||
|
||||
UINT32 sh4_getsqremap(SH4 *sh4, UINT32 address)
|
||||
{
|
||||
if (!sh4->sh4_mmu_enabled)
|
||||
return address;
|
||||
else
|
||||
{
|
||||
int i;
|
||||
UINT32 topaddr = address&0xfff00000;
|
||||
|
||||
for (i=0;i<64;i++)
|
||||
{
|
||||
UINT32 topcmp = sh4->sh4_tlb_address[i]&0xfff00000;
|
||||
if (topcmp==topaddr)
|
||||
return (address&0x000fffff) | ((sh4->sh4_tlb_data[i])&0xfff00000);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return address;
|
||||
}
|
||||
|
||||
/* PREF @Rn */
|
||||
INLINE void PREFM(SH4 *sh4, UINT32 n)
|
||||
{
|
||||
int a;
|
||||
UINT32 addr,dest,sq;
|
||||
int a;
|
||||
UINT32 addr,dest,sq;
|
||||
|
||||
addr = sh4->r[n]; // address
|
||||
if ((addr >= 0xE0000000) && (addr <= 0xE3FFFFFF))
|
||||
{
|
||||
sq = (addr & 0x20) >> 5;
|
||||
dest = addr & 0x03FFFFE0;
|
||||
if (sq == 0)
|
||||
dest |= (sh4->m[QACR0] & 0x1C) << 24;
|
||||
if (sh4->sh4_mmu_enabled)
|
||||
{
|
||||
addr = addr & 0xFFFFFFE0;
|
||||
dest = sh4_getsqremap(sh4, addr); // good enough for naomi-gd rom, probably not much else
|
||||
|
||||
}
|
||||
else
|
||||
dest |= (sh4->m[QACR1] & 0x1C) << 24;
|
||||
addr = addr & 0xFFFFFFE0;
|
||||
{
|
||||
sq = (addr & 0x20) >> 5;
|
||||
dest = addr & 0x03FFFFE0;
|
||||
if (sq == 0)
|
||||
dest |= (sh4->m[QACR0] & 0x1C) << 24;
|
||||
else
|
||||
dest |= (sh4->m[QACR1] & 0x1C) << 24;
|
||||
addr = addr & 0xFFFFFFE0;
|
||||
}
|
||||
|
||||
for (a = 0;a < 4;a++)
|
||||
{
|
||||
// shouldn't be causing a memory read, should store sq writes in registers.
|
||||
memory_write_qword_64le(sh4->program, dest, memory_read_qword_64le(sh4->program, addr));
|
||||
addr += 8;
|
||||
dest += 8;
|
||||
@ -3326,6 +3358,8 @@ static CPU_RESET( sh4 )
|
||||
sh4->internal_irq_level = -1;
|
||||
sh4->irln = 15;
|
||||
sh4->sleep_mode = 0;
|
||||
|
||||
sh4->sh4_mmu_enabled = 0;
|
||||
}
|
||||
|
||||
/* Execute cycles - returns number of cycles actually run */
|
||||
@ -3631,11 +3665,49 @@ static ADDRESS_MAP_START( sh4_internal_map, ADDRESS_SPACE_PROGRAM, 64 )
|
||||
ADDRESS_MAP_END
|
||||
#endif
|
||||
|
||||
|
||||
READ64_HANDLER( sh4_tlb_r )
|
||||
{
|
||||
SH4 *sh4 = get_safe_token(space->cpu);
|
||||
|
||||
int offs = offset*8;
|
||||
|
||||
if (offs >= 0x01000000)
|
||||
{
|
||||
UINT8 i = (offs>>8)&63;
|
||||
return sh4->sh4_tlb_data[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 i = (offs>>8)&63;
|
||||
return sh4->sh4_tlb_address[i];
|
||||
}
|
||||
}
|
||||
|
||||
WRITE64_HANDLER( sh4_tlb_w )
|
||||
{
|
||||
SH4 *sh4 = get_safe_token(space->cpu);
|
||||
|
||||
int offs = offset*8;
|
||||
|
||||
if (offs >= 0x01000000)
|
||||
{
|
||||
UINT8 i = (offs>>8)&63;
|
||||
sh4->sh4_tlb_data[i] = data&0xffffffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT8 i = (offs>>8)&63;
|
||||
sh4->sh4_tlb_address[i] = data&0xffffffff;
|
||||
}
|
||||
}
|
||||
|
||||
/*When OC index mode is on (CCR.OIX = 1)*/
|
||||
static ADDRESS_MAP_START( sh4_internal_map, ADDRESS_SPACE_PROGRAM, 64 )
|
||||
AM_RANGE(0x1C000000, 0x1C000FFF) AM_RAM AM_MIRROR(0x01FFF000)
|
||||
AM_RANGE(0x1E000000, 0x1E000FFF) AM_RAM AM_MIRROR(0x01FFF000)
|
||||
AM_RANGE(0xE0000000, 0xE000003F) AM_RAM AM_MIRROR(0x03FFFFC0)
|
||||
AM_RANGE(0xE0000000, 0xE000003F) AM_RAM AM_MIRROR(0x03FFFFC0) // todo: store queues should be write only on DC's SH4, executing PREFM shouldn't cause an actual memory read access!
|
||||
AM_RANGE(0xF6000000, 0xF7FFFFFF) AM_READWRITE(sh4_tlb_r,sh4_tlb_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
@ -645,7 +645,27 @@ WRITE32_HANDLER( sh4_internal_w )
|
||||
{
|
||||
case MMUCR: // MMU Control
|
||||
if (data & 1)
|
||||
fatalerror("SH4: MMUCR write enables MMU\n");
|
||||
{
|
||||
printf("SH4 MMU Enabled\n");
|
||||
printf("If you're seeing this, but running something other than a Naomi GD-ROM game then chances are it won't work\n");
|
||||
printf("The MMU emulation is a hack specific to that system\n");
|
||||
sh4->sh4_mmu_enabled = 1;
|
||||
|
||||
// should be a different bit!
|
||||
{
|
||||
int i;
|
||||
for (i=0;i<64;i++)
|
||||
{
|
||||
sh4->sh4_tlb_address[i] = 0;
|
||||
sh4->sh4_tlb_data[i] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sh4->sh4_mmu_enabled = 0;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#define FP_XFS2(r) *( (float *)(sh4->xf+((r) ^ sh4->fpu_pr)) )
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT32 ppc;
|
||||
@ -90,6 +91,13 @@ typedef struct
|
||||
int ioport4_pullup, ioport4_direction;
|
||||
|
||||
void (*ftcsr_read_callback)(UINT32 data);
|
||||
|
||||
|
||||
/* This MMU simulation is good for the simple remap used on Naomi GD-ROM SQ access *ONLY* */
|
||||
UINT32 sh4_tlb_address[64];
|
||||
UINT32 sh4_tlb_data[64];
|
||||
UINT8 sh4_mmu_enabled;
|
||||
|
||||
} SH4;
|
||||
|
||||
enum
|
||||
|
@ -698,17 +698,65 @@ static WRITE64_HANDLER( naomi_unknown1_w )
|
||||
* Non-volatile memories
|
||||
*/
|
||||
|
||||
extern UINT8 maple0x86data1[0x80];
|
||||
|
||||
static NVRAM_HANDLER( naomi_eeproms )
|
||||
{
|
||||
if (read_or_write)
|
||||
/*eeprom_save(file)*/;
|
||||
{
|
||||
/* JVS 'eeprom' */
|
||||
mame_fwrite(file,maple0x86data1,0x80);
|
||||
|
||||
|
||||
// mainboard eeprom?
|
||||
eeprom_save(file);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
eeprom_init(machine, &eeprom_interface_93C46);
|
||||
/*if (file)
|
||||
if (file)
|
||||
{
|
||||
UINT8 tmp[0x80];
|
||||
|
||||
/* JVS 'eeprom' */
|
||||
mame_fread(file,maple0x86data1,0x80);
|
||||
|
||||
|
||||
|
||||
|
||||
mame_fread(file,&tmp,0x80);
|
||||
eeprom_set_data((UINT8 *)tmp, 0x80);
|
||||
|
||||
// mainboard eeprom?
|
||||
eeprom_load(file);
|
||||
else*/
|
||||
eeprom_set_data((UINT8 *)"\011\241 0000000000000000", 48); // 2*checksum 30*unknown 16*serial
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// int a;
|
||||
|
||||
UINT32 length, size;
|
||||
UINT8 *dat;
|
||||
|
||||
dat = eeprom_get_data_pointer(&length, &size);
|
||||
memset(dat, 0, length * size);
|
||||
|
||||
// mainboard eeprom?
|
||||
eeprom_set_data((UINT8 *)"\011\241 0000000000000000", 48); // 2*checksum 30*unknown 16*serial
|
||||
|
||||
#if 0
|
||||
/* JVS 'eeprom' */
|
||||
for (a=0;a < 0x80;a++)
|
||||
maple0x86data1[a]=0x11+a;
|
||||
|
||||
// checksums
|
||||
maple0x86data1[0]=0xb9;
|
||||
maple0x86data1[1]=0xb1;
|
||||
maple0x86data1[18]=0xb8;
|
||||
maple0x86data1[19]=0x8a;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1062,30 +1110,31 @@ Scan ROM for the text string "LOADING TEST MODE NOW" back up four (4) bytes for
|
||||
|
||||
*/
|
||||
// game specific bios roms quite clearly don't belong in here.
|
||||
|
||||
// Japan bios is default, because most games require it.
|
||||
/* bios e works, the newer japan one gives 'board malfunction' with some games?' */
|
||||
#define NAOMI_BIOS \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-21578e (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21578e.bin", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-21578d (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21578d.bin", 0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-21578b (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21578b.bin", 0x000000, 0x200000, CRC(6c9aad83) SHA1(555918de76d8dbee2a97d8a95297ef694b3e803f) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-21577e (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21577e.bin", 0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-21577d (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21577d.bin", 0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-21576h (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21576h.bin", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-21576g (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21576g.bin", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-21576e (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21576e.bin", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
|
||||
ROM_SYSTEM_BIOS( 8, "bios8", "epr-21576d (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-21576d.bin", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
|
||||
ROM_SYSTEM_BIOS( 9, "bios9", "epr-21576b (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21576b.bin", 0x000000, 0x200000, CRC(755a6e07) SHA1(7e8b8ccfc063144d89668e7224dcd8a36c54f3b3) ) \
|
||||
ROM_SYSTEM_BIOS( 10, "bios10", "epr-21576 (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 10, "epr-21576.bin", 0x000000, 0x200000, CRC(9dad3495) SHA1(5fb66f9a2b68d120f059c72758e65d34f461044a) ) \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-21576e (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576e.bin", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-21576g (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.bin", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-21576h (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576h.bin", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-21576d (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.bin", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-21576b (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21576b.bin", 0x000000, 0x200000, CRC(755a6e07) SHA1(7e8b8ccfc063144d89668e7224dcd8a36c54f3b3) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-21576 (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21576.bin", 0x000000, 0x200000, CRC(9dad3495) SHA1(5fb66f9a2b68d120f059c72758e65d34f461044a) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-21578e (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21578e.bin", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-21578d (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21578d.bin", 0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
|
||||
ROM_SYSTEM_BIOS( 8, "bios8", "epr-21578b (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 8, "epr-21578b.bin", 0x000000, 0x200000, CRC(6c9aad83) SHA1(555918de76d8dbee2a97d8a95297ef694b3e803f) ) \
|
||||
ROM_SYSTEM_BIOS( 9, "bios9", "epr-21577e (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 9, "epr-21577e.bin", 0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
|
||||
ROM_SYSTEM_BIOS( 10, "bios10", "epr-21577d (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 10, "epr-21577d.bin", 0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
|
||||
ROM_SYSTEM_BIOS( 11, "bios11", "Ferrari F355 (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 11, "epr-22851.bin", 0x000000, 0x200000, CRC(62483677) SHA1(3e3bcacf5f972c376b569f45307ee7fd0b5031b7) ) \
|
||||
ROM_SYSTEM_BIOS( 12, "bios12", "Ferrari F355 (USA)" ) \
|
||||
@ -1102,24 +1151,25 @@ Scan ROM for the text string "LOADING TEST MODE NOW" back up four (4) bytes for
|
||||
|
||||
|
||||
/* only revisions d and higher support the GDROM, and there is an additional bios (and SH4!) on the DIMM board for the CD Controller */
|
||||
/* bios e works, the newer japan one gives 'board malfunction' with some games?' */
|
||||
#define NAOMIGD_BIOS \
|
||||
ROM_REGION( 0x200000, "maincpu", 0) \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-21578e (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21578e.bin", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-21578d (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21578d.bin", 0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-21577e (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21577e.bin", 0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-21577d (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21577d.bin", 0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-21576h (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21576h.bin", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-21576g (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21576g.bin", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-21576e (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21576e.bin", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-21576d (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21576d.bin", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-21576e (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-21576e.bin", 0x000000, 0x200000, CRC(08c0add7) SHA1(e7c1a7673cb2ccb21748ef44105e46d1bad7266d) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-21576g (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-21576g.bin", 0x000000, 0x200000, CRC(d2a1c6bf) SHA1(6d27d71aec4dfba98f66316ae74a1426d567698a) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-21576h (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-21576h.bin", 0x000000, 0x200000, CRC(d4895685) SHA1(91424d481ff99a8d3f4c45cea6d3f0eada049a6d) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-21576d (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-21576d.bin", 0x000000, 0x200000, CRC(3b2afa7b) SHA1(d007e1d321c198a38c5baff86eb2ab84385d150a) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-21578e (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-21578e.bin", 0x000000, 0x200000, CRC(087f09a3) SHA1(0418eb2cf9766f0b1b874a4e92528779e22c0a4a) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-21578d (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-21578d.bin", 0x000000, 0x200000, CRC(dfd5f42a) SHA1(614a0db4743a5e5a206190d6786ade24325afbfd) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-21577e (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-21577e.bin", 0x000000, 0x200000, CRC(cf36e97b) SHA1(b085305982e7572e58b03a9d35f17ae319c3bbc6) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-21577d (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-21577d.bin", 0x000000, 0x200000, CRC(60ddcbbe) SHA1(58b15096d269d6df617ca1810b66b47deb184958) ) \
|
||||
ROM_REGION( 0x200000, "user2", 0) \
|
||||
ROM_LOAD16_WORD_SWAP( "fpr-23489c.ic14", 0x000000, 0x200000, CRC(bc38bea1) SHA1(b36fcc6902f397d9749e9d02de1bbb7a5e29d468) ) \
|
||||
|
||||
@ -1152,22 +1202,22 @@ Region byte encoding is as follows:
|
||||
|
||||
#define NAOMI2_BIOS \
|
||||
ROM_REGION( 0x200000, "maincpu", 0) \
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-23608b (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-23608b.bin", 0x000000, 0x200000, CRC(a554b1e3) SHA1(343b727a3619d1c75a9b6d4cc156a9050447f155) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-23608 (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-23608.bin", 0x000000, 0x200000, CRC(929cc3a6) SHA1(47d00c818de23f733a4a33b1bbc72eb8aa729246) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-23607b (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-23607b.bin", 0x000000, 0x200000, CRC(f308c5e9) SHA1(5470ab1cee6afecbd8ca8cf40f8fbe4ec2cb1471) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-23607 (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-23607.bin", 0x000000, 0x200000, CRC(2b55add2) SHA1(547de5f97d3183c8cd069c4fa3c09f13d8b637d9) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-23605c (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-23605c.bin", 0x000000, 0x200000, CRC(297ea6ed) SHA1(cfbfe57c80e6ee86a101fa83aec0a01e00c0f42a) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-23605b (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-23605b.bin", 0x000000, 0x200000, CRC(3a3242d4) SHA1(aaca4df51ef91d926f8191d372f3dfe1d20d9484) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-23605a (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-23605a.bin", 0x000000, 0x200000, CRC(7bc3fc2d) SHA1(a4a9531a7c66ff30046908cf71f6c7b6fb59c392) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-23605 (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-23605.bin", 0x000000, 0x200000, CRC(5731e446) SHA1(787b0844fc408cf124c12405c095c59948709ea6) )
|
||||
ROM_SYSTEM_BIOS( 0, "bios0", "epr-23605c (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 0, "epr-23605c.bin", 0x000000, 0x200000, CRC(297ea6ed) SHA1(cfbfe57c80e6ee86a101fa83aec0a01e00c0f42a) ) \
|
||||
ROM_SYSTEM_BIOS( 1, "bios1", "epr-23605b (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 1, "epr-23605b.bin", 0x000000, 0x200000, CRC(3a3242d4) SHA1(aaca4df51ef91d926f8191d372f3dfe1d20d9484) ) \
|
||||
ROM_SYSTEM_BIOS( 2, "bios2", "epr-23605a (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 2, "epr-23605a.bin", 0x000000, 0x200000, CRC(7bc3fc2d) SHA1(a4a9531a7c66ff30046908cf71f6c7b6fb59c392) ) \
|
||||
ROM_SYSTEM_BIOS( 3, "bios3", "epr-23605 (Japan)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 3, "epr-23605.bin", 0x000000, 0x200000, CRC(5731e446) SHA1(787b0844fc408cf124c12405c095c59948709ea6) ) \
|
||||
ROM_SYSTEM_BIOS( 4, "bios4", "epr-23608b (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 4, "epr-23608b.bin", 0x000000, 0x200000, CRC(a554b1e3) SHA1(343b727a3619d1c75a9b6d4cc156a9050447f155) ) \
|
||||
ROM_SYSTEM_BIOS( 5, "bios5", "epr-23608 (Export)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 5, "epr-23608.bin", 0x000000, 0x200000, CRC(929cc3a6) SHA1(47d00c818de23f733a4a33b1bbc72eb8aa729246) ) \
|
||||
ROM_SYSTEM_BIOS( 6, "bios6", "epr-23607b (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 6, "epr-23607b.bin", 0x000000, 0x200000, CRC(f308c5e9) SHA1(5470ab1cee6afecbd8ca8cf40f8fbe4ec2cb1471) ) \
|
||||
ROM_SYSTEM_BIOS( 7, "bios7", "epr-23607 (USA)" ) \
|
||||
ROM_LOAD16_WORD_SWAP_BIOS( 7, "epr-23607.bin", 0x000000, 0x200000, CRC(2b55add2) SHA1(547de5f97d3183c8cd069c4fa3c09f13d8b637d9) ) \
|
||||
|
||||
/* this is one flashrom, however the second half looks like it's used for game settings, may differ between dumps, and may not be needed / could be blanked */
|
||||
#define AW_BIOS \
|
||||
|
@ -124,7 +124,7 @@ UINT32 dc_coin_counts[2];
|
||||
static UINT32 maple_regs[0x100/4];
|
||||
static UINT32 dc_rtcregister[4];
|
||||
static UINT32 g1bus_regs[0x100/4];
|
||||
static UINT8 maple0x86data1[0x80];
|
||||
UINT8 maple0x86data1[0x80];
|
||||
static UINT8 maple0x86data2[0x400];
|
||||
static emu_timer *dc_rtc_timer;
|
||||
|
||||
@ -934,8 +934,6 @@ MACHINE_START( dc )
|
||||
|
||||
MACHINE_RESET( dc )
|
||||
{
|
||||
int a;
|
||||
|
||||
/* halt the ARM7 */
|
||||
cpu_set_input_line(machine->cpu[1], INPUT_LINE_RESET, ASSERT_LINE);
|
||||
|
||||
@ -948,14 +946,6 @@ MACHINE_RESET( dc )
|
||||
timer_adjust_periodic(dc_rtc_timer, attotime_zero, 0, ATTOTIME_IN_SEC(1));
|
||||
|
||||
dc_sysctrl_regs[SB_SBREV] = 0x0b;
|
||||
for (a=0;a < 0x80;a++)
|
||||
maple0x86data1[a]=0x11+a;
|
||||
|
||||
// checksums
|
||||
maple0x86data1[0]=0xb9;
|
||||
maple0x86data1[1]=0xb1;
|
||||
maple0x86data1[18]=0xb8;
|
||||
maple0x86data1[19]=0x8a;
|
||||
}
|
||||
|
||||
READ64_DEVICE_HANDLER( dc_aica_reg_r )
|
||||
|
Loading…
Reference in New Issue
Block a user