seta.c: Minor fixes - NW

Restore the bug fix version of Daioh as parent with a description of the changes.  Change the location test ver to prototype which is more likely as it's on the same PCB as the Blandia prototype and noted that in the driver as well.
This commit is contained in:
briantro 2015-03-05 17:27:43 -06:00
parent b73285d6b3
commit b53dab53b0
2 changed files with 48 additions and 46 deletions

View File

@ -52,6 +52,7 @@ P0-080A (BP923) 92 SD Gundam Neo Battling (3) Banpresto
P0-081A (BP933KA) 93 Mobile Suit Gundam Banpresto P0-081A (BP933KA) 93 Mobile Suit Gundam Banpresto
P0-083A (BP931) 93 Ultra Toukon Densetsu Banpresto / Tsuburaya Prod. P0-083A (BP931) 93 Ultra Toukon Densetsu Banpresto / Tsuburaya Prod.
P0-092A 93 Daioh Athena P0-092A 93 Daioh Athena
P0-072-2 (prototype) 93 Daioh(prototype) Athena
P0-096A (BP934KA) 93 Kamen Rider Banpresto P0-096A (BP934KA) 93 Kamen Rider Banpresto
P0-097A 93 Oishii Puzzle .. Sunsoft + Atlus P0-097A 93 Oishii Puzzle .. Sunsoft + Atlus
bootleg 9? Triple Fun (4) bootleg (Comad?) bootleg 9? Triple Fun (4) bootleg (Comad?)
@ -2259,7 +2260,7 @@ ADDRESS_MAP_END
Daioh (location test version) Daioh (location test version)
***************************************************************************/ ***************************************************************************/
static ADDRESS_MAP_START( daiohloc_map, AS_PROGRAM, 16, seta_state ) static ADDRESS_MAP_START( daiohp_map, AS_PROGRAM, 16, seta_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_MIRROR(0x080000) // ROM AM_RANGE(0x000000, 0x1fffff) AM_ROM AM_MIRROR(0x080000) // ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM
AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1 AM_RANGE(0x400000, 0x400001) AM_READ_PORT("P1") // P1
@ -3815,10 +3816,10 @@ static INPUT_PORTS_START( daioh )
INPUT_PORTS_END INPUT_PORTS_END
/*************************************************************************** /***************************************************************************
Daioh (location test version) Daioh (prototype)
***************************************************************************/ ***************************************************************************/
static INPUT_PORTS_START( daiohloc ) static INPUT_PORTS_START( daiohp )
PORT_START("P1") PORT_START("P1")
JOY_TYPE1_3BUTTONS(1) JOY_TYPE1_3BUTTONS(1)
@ -7465,7 +7466,7 @@ GFXDECODE_END
Daioh (location test version) Daioh (location test version)
***************************************************************************/ ***************************************************************************/
static GFXDECODE_START( daiohloc ) static GFXDECODE_START( daiohp )
GFXDECODE_ENTRY( "gfx1", 0, layout_planes, 512*0, 32 ) // [0] Sprites GFXDECODE_ENTRY( "gfx1", 0, layout_planes, 512*0, 32 ) // [0] Sprites
GFXDECODE_ENTRY( "gfx2", 0, layout_planes_2roms_split, 512*2, 32 ) // [1] Layer 1 GFXDECODE_ENTRY( "gfx2", 0, layout_planes_2roms_split, 512*2, 32 ) // [1] Layer 1
GFXDECODE_ENTRY( "gfx3", 0, layout_planes_2roms_split, 512*1, 32 ) // [2] Layer 2 GFXDECODE_ENTRY( "gfx3", 0, layout_planes_2roms_split, 512*1, 32 ) // [2] Layer 2
@ -8209,14 +8210,14 @@ MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************
Daioh (location test version) Daioh (prototype)
***************************************************************************/ ***************************************************************************/
static MACHINE_CONFIG_START( daiohloc, seta_state ) static MACHINE_CONFIG_START( daiohp, seta_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* 16 MHz, MC68000-16, Verified from PCB */ MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* 16 MHz, MC68000-16, Verified from PCB */
MCFG_CPU_PROGRAM_MAP(daiohloc_map) MCFG_CPU_PROGRAM_MAP(daiohp_map)
MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", seta_state, seta_interrupt_1_and_2, "screen", 0, 1)
MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0)
@ -8232,7 +8233,7 @@ static MACHINE_CONFIG_START( daiohloc, seta_state )
MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta) MCFG_SCREEN_UPDATE_DRIVER(seta_state, screen_update_seta)
MCFG_SCREEN_PALETTE("palette") MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", daiohloc) MCFG_GFXDECODE_ADD("gfxdecode", "palette", daiohp)
MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */ MCFG_PALETTE_ADD("palette", 512 * 3) /* sprites, layer1, layer2 */
MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers) MCFG_VIDEO_START_OVERRIDE(seta_state,seta_2_layers)
@ -10326,7 +10327,39 @@ ROM_START( atehate )
ROM_LOAD( "fs001004.pcm", 0x000000, 0x100000, CRC(f9344ce5) SHA1(cffbc235f3a8e9a5004e671d924affd321ec9eed) ) ROM_LOAD( "fs001004.pcm", 0x000000, 0x100000, CRC(f9344ce5) SHA1(cffbc235f3a8e9a5004e671d924affd321ec9eed) )
ROM_END ROM_END
/*
The changes between the set daioh and daioha are very minimal, the main game effects are:
- Fixes the crashing bug in the US version caused by pressing Shot1 and Shot2 in weird orders and timings.
- 1UP, and 2UPs no longer spawn "randomly". (Only the fixed extend items exist, and the 1UPs from score)
- After picking up a max powerup, a 1UP or a 2UP, daoiha sets the "item timer" to a random value.
daioh always sets it to 0x7F.
- The powerups spawned from picking up an additional max powerup are no longer random, but feeds from the
original "spawn item" function (thus, it advances the "item timer")
So it's a bug fix version which also makes the game a little harder by limiting the spawning of 1ups
*/
ROM_START( daioh ) ROM_START( daioh )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "fg001001.u3", 0x000000, 0x080000, CRC(e1ef3007) SHA1(864349efac3e3dc3ccdeb892fed285c73aea3997) )
ROM_LOAD16_BYTE( "fg001002.u4", 0x000001, 0x080000, CRC(5e3481f9) SHA1(7585a7e56392fc2b13d466cf262383dd68d6d995) )
ROM_REGION( 0x200000, "gfx1", 0 ) /* Sprites */
ROM_LOAD( "fg-001-004", 0x000000, 0x100000, CRC(9ab0533e) SHA1(b260ceb2b3e140971419329bee07a020171794f7) )
ROM_LOAD( "fg-001-003", 0x100000, 0x100000, CRC(1c9d51e2) SHA1(1d6236ab28d11676386834fd6e405fd40198e924) )
ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 1 */
ROM_LOAD( "fg-001-005", 0x000000, 0x200000, CRC(c25159b9) SHA1(4c9da3233223508389c3c0f277a00aedfc860da4) )
ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 2 */
ROM_LOAD( "fg-001-006", 0x000000, 0x200000, CRC(2052c39a) SHA1(83a444a76e68aa711b0e25a5aa963ca876a6357e) )
ROM_REGION( 0x100000, "x1snd", 0 ) /* Samples */
ROM_LOAD( "fg-001-007", 0x000000, 0x100000, CRC(4a2fe9e0) SHA1(e55b6f301f842ff5d3c7a0041856695ac1d8a78f) )
ROM_END
ROM_START( daioha )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "fg-001-001.u3", 0x000000, 0x080000, CRC(104ae74a) SHA1(928c467e3ff98285a4828a927d851fcdf296849b) ) ROM_LOAD16_BYTE( "fg-001-001.u3", 0x000000, 0x080000, CRC(104ae74a) SHA1(928c467e3ff98285a4828a927d851fcdf296849b) )
ROM_LOAD16_BYTE( "fg-001-002.u4", 0x000001, 0x080000, CRC(e39a4e67) SHA1(c3f47e9d407f32dbfaf209d29b4446e4de8829a2) ) ROM_LOAD16_BYTE( "fg-001-002.u4", 0x000001, 0x080000, CRC(e39a4e67) SHA1(c3f47e9d407f32dbfaf209d29b4446e4de8829a2) )
@ -10345,41 +10378,10 @@ ROM_START( daioh )
ROM_LOAD( "fg-001-007", 0x000000, 0x100000, CRC(4a2fe9e0) SHA1(e55b6f301f842ff5d3c7a0041856695ac1d8a78f) ) ROM_LOAD( "fg-001-007", 0x000000, 0x100000, CRC(4a2fe9e0) SHA1(e55b6f301f842ff5d3c7a0041856695ac1d8a78f) )
ROM_END ROM_END
/* ROM_START( daiohp ) /* Found on the same P0-072-2 PCB as the Blandia prototype */
The changes between this set and the parent set are very minimal. It is potentially a hack/bootleg.
Overview of the changes:
- the vector table has been changed to make bus error and address error go somewhere other than a hard lock
- the new destination is a newly inserted RTE that's located at the first NOP in the code that would've affected nothing
- there's a change in a jumptable at $23A28 that pushes the destination PC into the original function, but not into a different one
- which would make no sense from an official build unless they possibly lost the source
- at $23DF2 a fairly large chunk of code has been rewritten, with a bunch of NOPs added for padding
- there are various changes around that change things like "ADDI $20, D0" to "MOVE $7F, D0"
- these are after doing real computation with D0, so it seems strange
*/
ROM_START( daioh1 )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "fg-001-001.bin", 0x000000, 0x080000, CRC(e1ef3007) SHA1(864349efac3e3dc3ccdeb892fed285c73aea3997) )
ROM_LOAD16_BYTE( "fg-001-002.bin", 0x000001, 0x080000, CRC(5e3481f9) SHA1(7585a7e56392fc2b13d466cf262383dd68d6d995) )
ROM_REGION( 0x200000, "gfx1", 0 ) /* Sprites */
ROM_LOAD( "fg-001-004", 0x000000, 0x100000, CRC(9ab0533e) SHA1(b260ceb2b3e140971419329bee07a020171794f7) )
ROM_LOAD( "fg-001-003", 0x100000, 0x100000, CRC(1c9d51e2) SHA1(1d6236ab28d11676386834fd6e405fd40198e924) )
ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 1 */
ROM_LOAD( "fg-001-005", 0x000000, 0x200000, CRC(c25159b9) SHA1(4c9da3233223508389c3c0f277a00aedfc860da4) )
ROM_REGION( 0x200000, "gfx3", 0 ) /* Layer 2 */
ROM_LOAD( "fg-001-006", 0x000000, 0x200000, CRC(2052c39a) SHA1(83a444a76e68aa711b0e25a5aa963ca876a6357e) )
ROM_REGION( 0x100000, "x1snd", 0 ) /* Samples */
ROM_LOAD( "fg-001-007", 0x000000, 0x100000, CRC(4a2fe9e0) SHA1(e55b6f301f842ff5d3c7a0041856695ac1d8a78f) )
ROM_END
ROM_START( daiohloc )
ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "prg_even.u3", 0x000000, 0x040000, CRC(3c97b976) SHA1(5850bf71b594a25f3e2de16f2933078c4a0dc518) ) ROM_LOAD16_BYTE( "prg_even.u3", 0x000000, 0x040000, CRC(3c97b976) SHA1(5850bf71b594a25f3e2de16f2933078c4a0dc518) )
ROM_LOAD16_BYTE( "prg_odd.u4", 0x000001, 0x040000, CRC(aed2b87e) SHA1(d5b81614fbbda8a75418e69eb481e5adf38b4ebf) ) ROM_LOAD16_BYTE( "prg_odd.u4", 0x000001, 0x040000, CRC(aed2b87e) SHA1(d5b81614fbbda8a75418e69eb481e5adf38b4ebf) )
ROM_LOAD16_BYTE( "data_even.u103", 0x100000, 0x040000, CRC(e07776ef) SHA1(5e75dd35fd8eae98182a9798a8b3eceb3e33b780) ) ROM_LOAD16_BYTE( "data_even.u103", 0x100000, 0x040000, CRC(e07776ef) SHA1(5e75dd35fd8eae98182a9798a8b3eceb3e33b780) )
ROM_LOAD16_BYTE( "data_odd.u102", 0x100001, 0x040000, CRC(b75b9a5c) SHA1(4c187105fe5253cc86862df1f3970fa45d4f7317) ) ROM_LOAD16_BYTE( "data_odd.u102", 0x100001, 0x040000, CRC(b75b9a5c) SHA1(4c187105fe5253cc86862df1f3970fa45d4f7317) )
@ -11547,8 +11549,8 @@ GAME( 1992, zingzipbl,zingzip, zingzipbl,zingzip, driver_device, 0, ROT
GAME( 1993, atehate, 0, atehate, atehate, driver_device, 0, ROT0, "Athena", "Athena no Hatena ?", 0 ) GAME( 1993, atehate, 0, atehate, atehate, driver_device, 0, ROT0, "Athena", "Athena no Hatena ?", 0 )
GAME( 1993, daioh, 0, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh", 0 ) GAME( 1993, daioh, 0, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh", 0 )
GAME( 1993, daioh1, daioh, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh (hack?)", 0 ) // possible hack or bugfix made without source, see notes near romdef GAME( 1993, daioha, daioh, daioh, daioh, driver_device, 0, ROT270, "Athena", "Daioh (earlier)", 0 )
GAME( 1993, daiohloc, daioh, daiohloc, daiohloc, driver_device, 0, ROT270, "Athena", "Daioh (location test ver)", 0 ) GAME( 1993, daiohp, daioh, daiohp, daiohp, driver_device, 0, ROT270, "Athena", "Daioh (prototype)", 0 )
GAME( 1993, jjsquawk, 0, jjsquawk, jjsquawk, driver_device, 0, ROT0, "Athena / Able", "J. J. Squawkers", GAME_IMPERFECT_SOUND ) GAME( 1993, jjsquawk, 0, jjsquawk, jjsquawk, driver_device, 0, ROT0, "Athena / Able", "J. J. Squawkers", GAME_IMPERFECT_SOUND )
GAME( 1993, jjsquawkb,jjsquawk, jjsquawb, jjsquawk, driver_device, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg)", GAME_IMPERFECT_SOUND ) GAME( 1993, jjsquawkb,jjsquawk, jjsquawb, jjsquawk, driver_device, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg)", GAME_IMPERFECT_SOUND )

View File

@ -9062,8 +9062,8 @@ madshark // (c) 1993 Allumer
msgundam // (c) 1993 Banpresto msgundam // (c) 1993 Banpresto
msgundam1 // (c) 1993 Banpresto msgundam1 // (c) 1993 Banpresto
daioh // (C) 1993 Athena daioh // (C) 1993 Athena
daioh1 // (C) 1993 Athena daioha // (C) 1993 Athena
daiohloc // (C) 1993 Athena (location test version) daiohp // (C) 1993 Athena (prototype)
oisipuzl // (c) 1993 SunSoft / Atlus oisipuzl // (c) 1993 SunSoft / Atlus
triplfun // bootleg triplfun // bootleg
utoukond // (c) 1993 Banpresto + Tsuburaya Prod. utoukond // (c) 1993 Banpresto + Tsuburaya Prod.