mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
psikyo/psikyo.cpp: Corrected vertical blanking interrupt for s1945/tengai and removed MACHINE_IMPERFECT_TIMING flag. (#11120)
This commit is contained in:
parent
46636e399d
commit
b5ead1f823
@ -29,14 +29,11 @@ Tengai (J) 1996 SH404 SH404 has MCU, ymf278-b for sound
|
||||
|
||||
To Do:
|
||||
|
||||
- All games uses PORT_VBLANK and legacy screen parameters (which is already
|
||||
bad per-se), with also naive and unlikely measurements (i.e. exactly 59.30).
|
||||
The most blunt examples of something being wrong with timings are with
|
||||
Gunbird and Tengai: they both have FOUR frames of input lag, the real thing
|
||||
doesn't sport anything like that.
|
||||
Given the above, all games are marked with MACHINE_IMPERFECT_TIMING until
|
||||
somebody provides accurate H/Vsync signals for at least one game of this
|
||||
driver.
|
||||
- Some games use naive/unlikely measurements (exactly 59.30), which should be verified.
|
||||
Tengai and Strikers 1945 have accurate measurements from PCB. Maybe these could be used
|
||||
for other titles too?
|
||||
- All games but Tengai / Strikers 1945 use IRQ1 for VBlank. This is likely incorrect.
|
||||
On Tengai/Strikers 1945, its actually IPL2 that's asserted (Interrupt Level = 4).
|
||||
- tengai / tengaij: "For use in Japan" screen is supposed to output the
|
||||
typical blue Psikyo backdrop gradient instead of being pure black as it is
|
||||
now;
|
||||
@ -1161,7 +1158,7 @@ void psikyo_state::s1945(machine_config &config)
|
||||
/* basic machine hardware */
|
||||
M68EC020(config, m_maincpu, 16_MHz_XTAL); // 16 MHz
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::s1945_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(psikyo_state::irq1_line_hold));
|
||||
m_maincpu->set_vblank_int("screen", FUNC(psikyo_state::irq4_line_hold));
|
||||
|
||||
LZ8420M(config, m_audiocpu, 16_MHz_XTAL / 2); // 8 MHz (16 / 2)
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &psikyo_state::gunbird_sound_map);
|
||||
@ -1592,7 +1589,7 @@ Notes:
|
||||
PS2001B - Psikyo Custom (QFP160)
|
||||
PS3103 - Psikyo Custom (QFP160)
|
||||
6116 - 2k x8 SRAM (x4, DIP24)
|
||||
LH5168 - Sharp LH5168 2k x8 SRAM (x3, DIP24)
|
||||
LH5168 - Sharp LH5168 8k x8 SRAM (x3, DIP28)
|
||||
62256 - NKK N341256 32k x8 SRAM (x14, DIP28)
|
||||
6264 - ISSI IS61C64 8k x8 SRAM (x4, DIP28)
|
||||
MB3771 - Fujitsu MB3771 Master Reset IC (DIP8)
|
||||
@ -1969,24 +1966,24 @@ void psikyo_state::init_s1945bl()
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
GAME( 1993, samuraia, 0, sngkace, samuraia, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Samurai Aces (World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1993, sngkace, samuraia, sngkace, sngkace, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Sengoku Ace (Japan, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1993, sngkacea, samuraia, sngkace, sngkace, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Sengoku Ace (Japan, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1993, samuraia, 0, sngkace, samuraia, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Samurai Aces (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, sngkace, samuraia, sngkace, sngkace, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Sengoku Ace (Japan, set 1)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1993, sngkacea, samuraia, sngkace, sngkace, psikyo_state, init_sngkace, ROT270, "Psikyo (Banpresto license)", "Sengoku Ace (Japan, set 2)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1994, gunbird, 0, gunbird, gunbird, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1994, gunbirdk, gunbird, gunbird, gunbirdj, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (Korea)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1994, gunbirdj, gunbird, gunbird, gunbirdj, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1994, gunbird, 0, gunbird, gunbird, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, gunbirdk, gunbird, gunbird, gunbirdj, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (Korea)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, gunbirdj, gunbird, gunbird, gunbirdj, psikyo_state, init_gunbird, ROT270, "Psikyo", "Gunbird (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1994, btlkroad, 0, gunbird, btlkroad, psikyo_state, init_gunbird, ROT0, "Psikyo", "Battle K-Road", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1994, btlkroadk, btlkroad, gunbird, btlkroadk, psikyo_state, init_gunbird, ROT0, "Psikyo", "Battle K-Road (Korea)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING ) // game code is still multi-region, but sound rom appears to be Korea specific at least
|
||||
GAME( 1994, btlkroad, 0, gunbird, btlkroad, psikyo_state, init_gunbird, ROT0, "Psikyo", "Battle K-Road", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1994, btlkroadk, btlkroad, gunbird, btlkroadk, psikyo_state, init_gunbird, ROT0, "Psikyo", "Battle K-Road (Korea)", MACHINE_SUPPORTS_SAVE ) // game code is still multi-region, but sound rom appears to be Korea specific at least
|
||||
|
||||
GAME( 1995, s1945, 0, s1945, s1945, psikyo_state, init_s1945, ROT270, "Psikyo", "Strikers 1945 (World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945a, s1945, s1945, s1945a, psikyo_state, init_s1945a, ROT270, "Psikyo", "Strikers 1945 (Japan / World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING ) // Region dip - 0x0f=Japan, anything else=World
|
||||
GAME( 1995, s1945j, s1945, s1945, s1945j, psikyo_state, init_s1945j, ROT270, "Psikyo", "Strikers 1945 (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945n, s1945, s1945n, s1945, psikyo_state, init_gunbird, ROT270, "Psikyo", "Strikers 1945 (World, unprotected)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945nj, s1945, s1945n, s1945j, psikyo_state, init_gunbird, ROT270, "Psikyo", "Strikers 1945 (Japan, unprotected)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945k, s1945, s1945, s1945j, psikyo_state, init_s1945, ROT270, "Psikyo", "Strikers 1945 (Korea)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945bl, s1945, s1945bl, s1945bl, psikyo_state, init_s1945bl, ROT270, "bootleg", "Strikers 1945 (Hong Kong, bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1995, s1945, 0, s1945, s1945, psikyo_state, init_s1945, ROT270, "Psikyo", "Strikers 1945 (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, s1945a, s1945, s1945, s1945a, psikyo_state, init_s1945a, ROT270, "Psikyo", "Strikers 1945 (Japan / World)", MACHINE_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
|
||||
GAME( 1995, s1945j, s1945, s1945, s1945j, psikyo_state, init_s1945j, ROT270, "Psikyo", "Strikers 1945 (Japan)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, s1945n, s1945, s1945n, s1945, psikyo_state, init_gunbird, ROT270, "Psikyo", "Strikers 1945 (World, unprotected)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, s1945nj, s1945, s1945n, s1945j, psikyo_state, init_gunbird, ROT270, "Psikyo", "Strikers 1945 (Japan, unprotected)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, s1945k, s1945, s1945, s1945j, psikyo_state, init_s1945, ROT270, "Psikyo", "Strikers 1945 (Korea)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1995, s1945bl, s1945, s1945bl, s1945bl, psikyo_state, init_s1945bl, ROT270, "bootleg", "Strikers 1945 (Hong Kong, bootleg)", MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
GAME( 1996, tengai, 0, s1945, tengai, psikyo_state, init_tengai, ROT0, "Psikyo", "Tengai (World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING )
|
||||
GAME( 1996, tengaij, tengai, s1945, tengaij, psikyo_state, init_tengai, ROT0, "Psikyo", "Sengoku Blade: Sengoku Ace Episode II (Japan) / Tengai (World)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING ) // Region dip - 0x0f=Japan, anything else=World
|
||||
GAME( 1996, tengai, 0, s1945, tengai, psikyo_state, init_tengai, ROT0, "Psikyo", "Tengai (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1996, tengaij, tengai, s1945, tengaij, psikyo_state, init_tengai, ROT0, "Psikyo", "Sengoku Blade: Sengoku Ace Episode II (Japan) / Tengai (World)", MACHINE_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
|
||||
|
Loading…
Reference in New Issue
Block a user