Simplified rom loading; added a note about bootleg decryption

This commit is contained in:
darq 2016-12-09 01:40:49 +01:00
parent 09a411be86
commit aa2f62ceb7

View File

@ -13,7 +13,7 @@
arm?
Shoot Out (Korean bootleg) is based on the earlier DE-0203 board but
strangely features the same encryption as used on the DE-0219 board. It
strangely features the same encryption as used on the DE-0219 board. It
also has some edited graphics.
Driver by:
@ -24,6 +24,8 @@
TODO:
- Lots of unmapped memory reads
- Does the korean bootleg really have the DECO 222 CPU? I think it should use the shootclr.003 prom to decrypt the opcodes.
Something like -> rom [addr] = (rom [addr] & 0x0F) | proms [rom [addr] >> 4]]);
*******************************************************************************/
@ -101,7 +103,7 @@ static ADDRESS_MAP_START( shootout_map, AS_PROGRAM, 8, shootout_state )
AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(textram_w) AM_SHARE("textram")
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
static ADDRESS_MAP_START( shootouj_map, AS_PROGRAM, 8, shootout_state )
@ -116,7 +118,7 @@ static ADDRESS_MAP_START( shootouj_map, AS_PROGRAM, 8, shootout_state )
AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(textram_w) AM_SHARE("textram")
AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
AM_RANGE(0x8000, 0xffff) AM_ROM AM_REGION("maincpu", 0x0000)
ADDRESS_MAP_END
/*******************************************************************************/
@ -126,7 +128,7 @@ static ADDRESS_MAP_START( shootout_sound_map, AS_PROGRAM, 8, shootout_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x4000, 0x4001) AM_DEVREADWRITE("ymsnd", ym2203_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(sound_cpu_command_r)
AM_RANGE(0xc000, 0xffff) AM_ROM
AM_RANGE(0xc000, 0xffff) AM_ROM AM_REGION("audiocpu", 0x0000)
AM_RANGE(0xd000, 0xd000) AM_WRITENOP // Unknown, NOT irq/nmi mask (Always 0x80 ???)
ADDRESS_MAP_END
@ -334,14 +336,13 @@ MACHINE_CONFIG_END
ROM_START( shootout )
ROM_REGION( 2*0x20000, "maincpu", 0 ) /* 128k for code + 128k for decrypted opcodes */
ROM_LOAD( "cu00.b1", 0x08000, 0x8000, CRC(090edeb6) SHA1(ab849d123dacf3947b1ebd29b70a20e066911a60) ) /* opcodes encrypted */
/* banked at 0x4000-0x8000 */
ROM_LOAD( "cu02.c3", 0x10000, 0x8000, CRC(2a913730) SHA1(584488278d58c4d34a2eebeaf39518f87cf5eecd) ) /* opcodes encrypted */
ROM_LOAD( "cu01.c1", 0x18000, 0x4000, CRC(8843c3ae) SHA1(c58ed4acac566f890cadf62bcbcced07a59243fc) ) /* opcodes encrypted */
ROM_REGION( 2 * 0x14000, "maincpu", 0 ) // 80k for code + 80k for decrypted opcodes
ROM_LOAD( "cu00.b1", 0x00000, 0x8000, CRC(090edeb6) SHA1(ab849d123dacf3947b1ebd29b70a20e066911a60) ) /* opcodes encrypted */
ROM_LOAD( "cu02.c3", 0x08000, 0x8000, CRC(2a913730) SHA1(584488278d58c4d34a2eebeaf39518f87cf5eecd) ) /* opcodes encrypted */
ROM_LOAD( "cu01.c1", 0x10000, 0x4000, CRC(8843c3ae) SHA1(c58ed4acac566f890cadf62bcbcced07a59243fc) ) /* opcodes encrypted */
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "cu09.j1", 0x0c000, 0x4000, CRC(c4cbd558) SHA1(0e940ae99febc1161e5f35550aa75afca88cb5e9) ) /* Sound CPU */
ROM_REGION( 0x4000, "audiocpu", 0 )
ROM_LOAD( "cu09.j1", 0x00000, 0x4000, CRC(c4cbd558) SHA1(0e940ae99febc1161e5f35550aa75afca88cb5e9) ) /* Sound CPU */
ROM_REGION( 0x04000, "gfx1", 0 )
ROM_LOAD( "cu11.h19", 0x00000, 0x4000, CRC(eff00460) SHA1(15daaa3d3125a981a26f31d43283faa5be26e96b) ) /* foreground characters */
@ -366,10 +367,10 @@ ROM_START( shootout )
ROM_END
ROM_START( shootoutj )
ROM_REGION( 0x20000, "maincpu", 0 ) /* 128k for code */
ROM_LOAD( "cg02.bin", 0x08000, 0x8000, CRC(8fc5d632) SHA1(809ac4eba09972229fe741c96fa8036d7139b6a8) )
ROM_LOAD( "cg00.bin", 0x10000, 0x8000, CRC(ef6ced1e) SHA1(feea508c7a60fc6cde1efee52cba628accd26028) )
ROM_LOAD( "cg01.bin", 0x18000, 0x4000, CRC(74cf11ca) SHA1(59edbc4633cd560e7b928b33e4c42d0125332a1b) )
ROM_REGION( 0x14000, "maincpu", 0 ) // 80k for code
ROM_LOAD( "cg02.bin", 0x00000, 0x8000, CRC(8fc5d632) SHA1(809ac4eba09972229fe741c96fa8036d7139b6a8) )
ROM_LOAD( "cg00.bin", 0x08000, 0x8000, CRC(ef6ced1e) SHA1(feea508c7a60fc6cde1efee52cba628accd26028) )
ROM_LOAD( "cg01.bin", 0x10000, 0x4000, CRC(74cf11ca) SHA1(59edbc4633cd560e7b928b33e4c42d0125332a1b) )
ROM_REGION( 0x04000, "gfx1", 0 )
ROM_LOAD( "cu11.h19", 0x00000, 0x4000, CRC(eff00460) SHA1(15daaa3d3125a981a26f31d43283faa5be26e96b) ) /* foreground characters */
@ -391,10 +392,10 @@ ROM_START( shootoutj )
ROM_END
ROM_START( shootoutb )
ROM_REGION( 2*0x20000, "maincpu", 0 ) /* 128k for code + 128k for decrypted opcodes */
ROM_LOAD( "shootout.006", 0x08000, 0x8000, CRC(2c054888) SHA1(cb0de2f7d743506789626304e6bcbbc292fbe8bc) )
ROM_LOAD( "shootout.008", 0x10000, 0x8000, CRC(9651b656) SHA1(e90eddf2833ef36fa73b7b8d81d28443d2f60220) )
ROM_LOAD( "cg01.bin", 0x18000, 0x4000, CRC(74cf11ca) SHA1(59edbc4633cd560e7b928b33e4c42d0125332a1b) )
ROM_REGION( 2 * 0x14000, "maincpu", 0 ) // 80k for code + 80k for decrypted opcodes
ROM_LOAD( "shootout.006", 0x00000, 0x8000, CRC(2c054888) SHA1(cb0de2f7d743506789626304e6bcbbc292fbe8bc) )
ROM_LOAD( "shootout.008", 0x08000, 0x8000, CRC(9651b656) SHA1(e90eddf2833ef36fa73b7b8d81d28443d2f60220) )
ROM_LOAD( "cg01.bin", 0x10000, 0x4000, CRC(74cf11ca) SHA1(59edbc4633cd560e7b928b33e4c42d0125332a1b) )
ROM_REGION( 0x04000, "gfx1", 0 )
ROM_LOAD( "cu11.h19", 0x00000, 0x4000, CRC(eff00460) SHA1(15daaa3d3125a981a26f31d43283faa5be26e96b) ) /* foreground characters */
@ -419,7 +420,7 @@ ROM_END
DRIVER_INIT_MEMBER(shootout_state,shootout)
{
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x8000, 0x4000);
}