summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar angelosa <salese_corp_ltd@email.it>2018-03-08 17:22:16 +0100
committerGravatarGravatar angelosa <salese_corp_ltd@email.it>2018-03-08 17:22:16 +0100
commitd05c2080aa424c46d0f25e18e2de7b0619ac5585 (patch) (github)
tree65b7a16c8f6d27b3a1fc0abd26b166eabbb3e54b
parent2bb2e5289ac260ddaccfd99b3244a29e4670e9c2 (diff)
downloadmame-d05c2080aa424c46d0f25e18e2de7b0619ac5585.tar.bz2
mame-d05c2080aa424c46d0f25e18e2de7b0619ac5585.zip
new working game
---------------- Virtua Fighter 2 [Angelo Salese, R. Belmont, Olivier Galibert, ElSemi]
-rw-r--r--src/mame/drivers/model2.cpp96
1 files changed, 30 insertions, 66 deletions
diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp
index 442e481eba5..9a3d546d5c7 100644
--- a/src/mame/drivers/model2.cpp
+++ b/src/mame/drivers/model2.cpp
@@ -9,70 +9,34 @@
Hardware and protection reverse-engineering and general assistance by ElSemi.
MAME driver by R. Belmont, Olivier Galibert, ElSemi and Angelo Salese.
- TODO (updated as for April 2014):
- - 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
- to use a burst type opcode read;
- - Inputs needs device-ification and clean-ups;
- - daytona: runs at half speed in gameplay;
- - desert: several 3d bugs, presumably down to FIFO;
- - dynamcop: stalls at stage select screen;
+ TODO:
+ - z-sort, focal distance, color gamma and Mip Mapping still needs to be properly sorted in the renderer;
+ - FIFO needs to be properly emulated in the various CPU cores (we currently rely on some workarounds);
+ - sound comms still needs some work (sometimes m68k doesn't get some commands or play them with a delay);
+ - 2C games needs TGPx4 emulation;
+ - clean-ups;
+
+ 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);
- 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: eventually crashes in attract mode, geo_parse_nn_s() is the culprit apparently;
- - manxtt: missing 3d;
- - motoraid: stalls after course select;
- - pltkidsa: after few secs of gameplay, background 3d disappears and everything reports a collision against the player;
- - skytargt: MAME hardlocks after disclaimer screen;
- - srallyc: opponent cars flickers like wild;
- - vcop: lightgun input is offsetted;
- - vcop: sound dies at enter initial screen (i.e. after played the game once);
- - vcop: tilemap priority bug at stage select screen;
- - vf2: stalls after disclaimer screen;
- - vstriker: countdown in team select goes way too fast ...
- - 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
+ - lastbrnx: has wrong graphics, uses several SHARC opcodes that needs to be double checked
+ (compute_fmul_avg, shift operation 0x11, ALU operation 0x89 (compute_favg));
+ - manxtt: no escape from "active motion slider" tutorial (needs analog inputs),
+ bypass it by entering then exiting service mode;
+ - manxtt: no bikes are visible (not a z-sort issue!);
+ - sgt24h: first turn in easy reverse course has ugly rendered mountain in background;
+ - skytargt: really slow during gameplay;
+ - 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) (untested);
+ - vcop: lightgun input is offsetted (needs to be calibrated in service mode);
+ - vcop: missing 3d bug at stage select screen (priority?);
+ - vstriker: stadium ads have terrible colors (they uses the wrong color table, @see video/model2rd.hxx)
======================================================================================================================================
@@ -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 )
// 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, vf2b, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, vf2a, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1994, vf2o, vf2, model2a, model2, model2a_state, 0, ROT0, "Sega", "Virtua Fighter 2", 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_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
+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_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, 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 )