new working game

----------------
Virtua Fighter 2 [Angelo Salese, R. Belmont, Olivier Galibert, ElSemi]
This commit is contained in:
angelosa 2018-03-08 17:22:16 +01:00
parent 2bb2e5289a
commit d05c2080aa

View File

@ -9,70 +9,34 @@
Hardware and protection reverse-engineering and general assistance by ElSemi. Hardware and protection reverse-engineering and general assistance by ElSemi.
MAME driver by R. Belmont, Olivier Galibert, ElSemi and Angelo Salese. MAME driver by R. Belmont, Olivier Galibert, ElSemi and Angelo Salese.
TODO (updated as for April 2014): TODO:
- all Model 2B games: FIFO comms looks way wrong, and 3d is mostly missing/incomplete. Games also tends to stalls at some point, culprit might be when i960 tries - z-sort, focal distance, color gamma and Mip Mapping still needs to be properly sorted in the renderer;
to use a burst type opcode read; - FIFO needs to be properly emulated in the various CPU cores (we currently rely on some workarounds);
- Inputs needs device-ification and clean-ups; - sound comms still needs some work (sometimes m68k doesn't get some commands or play them with a delay);
- daytona: runs at half speed in gameplay; - 2C games needs TGPx4 emulation;
- desert: several 3d bugs, presumably down to FIFO; - clean-ups;
- dynamcop: stalls at stage select screen;
TODO (per-game issues)
- daytona: crashes when coining it up with master network active
culprit is a wrong command parameter in geo_parse texture data opcode;
- daytona: car glasses doesn't get loaded during gameplay;
- doa, doaa: corrupted sound, eventually becomes silent;
- dynamcopc: corrupts palette for 2d (most likely unrelated with the lack of DSP);
- fvipers, schamp: rasterizer has issues displaying some characters @see video/model2.cpp
- fvipers: enables timers, but then irq register is empty, hence it crashes with an "interrupt halt" at POST (regression); - fvipers: enables timers, but then irq register is empty, hence it crashes with an "interrupt halt" at POST (regression);
- lastbrnx: uses external DMA port 0 for uploading SHARC program, hook-up might not be 100% right; - lastbrnx: uses external DMA port 0 for uploading SHARC program, hook-up might not be 100% right;
- lastbrnx: uses a shitload of unsupported SHARC opcodes (compute_fmul_avg, shift operation 0x11, ALU operation 0x89 (compute_favg)); - lastbrnx: has wrong graphics, uses several SHARC opcodes that needs to be double checked
- lastbrnx: eventually crashes in attract mode, geo_parse_nn_s() is the culprit apparently; (compute_fmul_avg, shift operation 0x11, ALU operation 0x89 (compute_favg));
- manxtt: missing 3d; - manxtt: no escape from "active motion slider" tutorial (needs analog inputs),
- motoraid: stalls after course select; bypass it by entering then exiting service mode;
- pltkidsa: after few secs of gameplay, background 3d disappears and everything reports a collision against the player; - manxtt: no bikes are visible (not a z-sort issue!);
- skytargt: MAME hardlocks after disclaimer screen; - sgt24h: first turn in easy reverse course has ugly rendered mountain in background;
- srallyc: opponent cars flickers like wild; - skytargt: really slow during gameplay;
- vcop: lightgun input is offsetted; - srallyc: some 3d elements doesn't show up properly (trees models, last hill in course 1 is often black colored);
- vcop: sound dies at enter initial screen (i.e. after played the game once); - vcop: sound dies at enter initial screen (i.e. after played the game once) (untested);
- vcop: tilemap priority bug at stage select screen; - vcop: lightgun input is offsetted (needs to be calibrated in service mode);
- vf2: stalls after disclaimer screen; - vcop: missing 3d bug at stage select screen (priority?);
- vstriker: countdown in team select goes way too fast ... - vstriker: stadium ads have terrible colors (they uses the wrong color table, @see video/model2rd.hxx)
- vstriker: ... meanwhile gameplay is way too slow!?
- zeroguna: stalls after some seconds of gameplay;
OK (controls may be wrong/missing/incomplete)
--
daytona/daytonat/daytonam
desert
vcop
vf2
vcop2
zerogun
gunblade
indy500
bel
hotd
topskatr
von
fvipers
schamp
stcc
srallyc
skytargt
dynamcop
dynabb97
lastbrnj/lastbrnx
skisuprg
almost OK
---------
overrev: sound CPU crashes.
vstriker: shows some attract mode, then hangs
manxtt: no escape from "active motion slider" tutorial (needs analog inputs), bypass it by entering then exiting service mode
manxtt: crashes after the title screen, the TGP is the cause
pltkids/pltkidsa: crashes after some time of gameplay.
rchase2: fails drive bd i/o check
TODO
----
Controls are pretty basic right now
Some games (sgt24h, indy500) hangs at random places, presumably due to a regression with the SHARC fifo comms
Sound doesn't work properly in all games
System 24 tilemaps need more advanced linescroll support (see fvipers, daytona)
2C needs DSP still
====================================================================================================================================== ======================================================================================================================================
@ -6166,10 +6130,10 @@ GAME( 1994, vcop, 0, model2o, vcop, model2o_state, 0,
GAME( 1994, vcopa, vcop, model2o, vcop, model2o_state, 0, ROT0, "Sega", "Virtua Cop (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, vcopa, vcop, model2o, vcop, model2o_state, 0, ROT0, "Sega", "Virtua Cop (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
// Model 2A-CRX (TGPs, SCSP sound board) // Model 2A-CRX (TGPs, SCSP sound board)
GAME( 1994, vf2, 0, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, vf2, 0, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1994, vf2b, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, vf2b, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1994, vf2a, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, vf2a, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1994, vf2o, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1994, vf2o, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
GAME( 1995, manxtt, 0, manxttdx, manxtt, model2a_state, 0, ROT0, "Sega", "Manx TT Superbike - DX (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, manxtt, 0, manxttdx, manxtt, model2a_state, 0, ROT0, "Sega", "Manx TT Superbike - DX (Revision D)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, manxttc, 0, manxtt, manxtt, model2a_state, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, manxttc, 0, manxtt, manxtt, model2a_state, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
GAME( 1995, srallyc, 0, srallyc, srallyc, model2a_state, srallyc, ROT0, "Sega", "Sega Rally Championship - Twin/DX (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) GAME( 1995, srallyc, 0, srallyc, srallyc, model2a_state, srallyc, ROT0, "Sega", "Sega Rally Championship - Twin/DX (Revision C)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )