[M2] Model 2 Emulator Update

v0.3 MultiCPU Experimental build

This version contains an experimental multithreaded emulation code that will make different parts of the emulation run in a separate thread (Currently separates CPU, GPU and Sound emulation). This will allow multi-core CPUs (Dual core and Core Duo) to take advantage of both processors and boost the emulator performance a lot (all games are 60fps now in my Athlon 3800+ X2). It is only recommended for multi-core cpu users, as single core processor might have slower performance than the single threaded build. As a bonus, this version includes a preliminary recompiler SCSP DSP emulation. The recompiler
is very fast and shouldn't affect the performance. The DSP effects still aren't 100% correct, but it sounds quite right.

Model 2 emulator 0.4  Posted by ElSemi  03/04/07   

Here is it: The Model 2 Emulator supporting some Model 2 and Model 2 A-CRX boards (Daytona anyone? :) ).
This version of the emulator includes a preliminary emulation of the Fujitsu MB86234 DSP present in these boards.
Keep in mind that the emulation is still preliminary, as there is no documentation on this chip, and it has been done
by reverse engineering the binary programs and comparing with the model 2B and 2C programs and the MAME Model 1
HLE. I'd like to thank Olivier Galibert and Ernesto Corvi for their help in making possible this DSP emulation.

Check the include README.TXT for instructions (especially how to set Daytona to Standalone machine as Multiplayer is
not implemented) and known emulation bugs in the games.

Model 2 Emulator v0.4. This package includes both the normal and MultiCPU versions exes.

Model 2 emulator 0.5  Posted by ElSemi  24/05/07

This release fixes several playability bugs in Daytona USA (analog controls wraparound and windows disappearing when going to fullscreen) and adds a new playable game: Motor Raid.
It also contains a modified color lookup table processing that improves the colors in the original model 2 games (daytona, vcop and dtank).
The emulator now includes a nice icon and background image, thanks to jordigahan and Peabo for them.

Model 2 Emulator v0.5. This package includes both the normal and MultiCPU versions exes.

Model 2 emulator 0.5a  Posted by ElSemi  29/05/07

This is a small bugfix release:
Fixed (hopefully at last) the analog wraparound bug.
Fixed wrong colour table translation in vcop madium and expert levels.

Added a couple of useful features:
Launch game from commandline (just add the driver name. ex: Emulator.exe stcc)
Auto-switch to fullscreen after game loading (the option is in the Video menu)

Model 2 Emulator v0.5a. This package includes both the normal and MultiCPU versions exes.

Model 2 Emulator 0.6

So many changes that I can't remember...Lighting fixes, control fixes, sound fixes...
ManxTT is working, but sound is broken.
Merged some features from the cps3 emu (vsync, custom fullscreen res,...)

Model 2 emulator 0.7

More accurate emulation of some TGP by using the data tables from the mainboard. You'll need these
table roms in Model2.zip or inside the game zip. Thanks to Peabo for the donation of a Daytona board
that helped to understand how they worked. This has fixed most of the bugs in daytona usa (reverse and most
invisble wall hits) and sega rally (automatic transmission).
Improved color table decoding that gives more bright colors for some games.
Improved SCSP timing. It should be more accurate and musics should not sound out of sync anymore. As a
bonus feature I've left in a debug sound player that allows you to load a SSF (Saturn Sound Format) file
for playing. To use it, load a game using SCSP (model 2a,b or c) and enter test mode (so it doesn't send
sound commands) then press LeftControl+F5 and choose the ssf file to play.
Improved clipping. By moving to vertex/pixel shaders I've got rid of all the clipping issues that happened
with ATI video cards and recent NVIDIA ones. Remember to remove set SoftwareVertexProcessing to 0. You'll need
a pixel shader 1.1 and vertex shader 1.1 capable card. It's the lowest shader version so any video should work. As
a side effect of this change, there is only a geometrizer now, so the Geometrizer opion in the ini file is not used.
Fixed problems with textures ending in the lowest line of the texture sheet not being uploaded to direct3d (sega
rally black background in 2nd stage and topskater missing floors).
Added Wave Runner (Model 2C)
Added support for direct3d automimpap generation (see emulator.ini AutoMip option)
Added network emulation (see NETWORK section below)

Model 2 emulator 0.7a

Fixed network code not fully working (I accidentally left a part disabled in the last build).
Improved daytona video & sound sync.

Model 2 Emulator v0.7a. This package includes both the normal and MultiCPU versions exes.

Model 2 emulator 0.8

- Rewritten the MultiPCM sound chip emulation. It fixes Original Model2 games sounds and music.
- Fixed eye paremeters being read as unsigned by the display list parser, causing bad geometry in daytona 4 players attract and sega rally 2 players attract.
- Fixed network board detection for sgt24h and overrev. Now you don't need to enable network to have them boot.
- Adjusted daytona steering limits to the real machine limits (according to the service manual). It should have a more accurate handling now.
- Added force feedback for car driving games. You need to enable it in the .ini using the option EnableFF=1 in the Input section. You can tweak more force parameters in that section. Also some games only enable the force feedback if the cabinet type is set to Deluxe in the test mode.
- Added XInput support. You can enable XInput support in the .ini in the Input section. XInput allows direct access to XBox360 compatible controllers for vibration (they don't support vibration through DirectInput). Keep in mind that the windows XInput libraries only support vibration force feedback so an XBox360 driving controller won't have working force effects.
- Added optional meshed polygons for translucency (like the hardware does). Enable it with MeshTransparency=1 in the ini. This option requires a Pixel Shader 3 capable videocard.
- Fixed HOTD rom loading that caused missing tilemap graphics (how to play, map on gameover).
- Added preliminary savestates support. The sound engine state is not being saved yet. I've added this so I can ask for states to try to fix the invisible walls problem in daytona.

Model 2 Emulator v0.8. This package includes both the normal and MultiCPU versions exes.

Model 2 emulator 0.8a

Here is the usual (a) version fixing bugs in the previous release :)

- Fixed missing trigger buttons in gun games
- Fixed desert tank locked into test mode
- Improved main cpu/sound cpu sync in Model2 Original games.

Model 2 Emulator v0.8a. This package includes both the normal and MultiCPU versions exes.

Model 2 emulator 0.9

Lots of changes in this version:
- Fixed TGP emulation bugs and added missing opcodes. Virtua Fighter 2 and Virtua Cop 2 are now playable. There is still a bug with VF2 hair/body collisions, probably another TGP bug, but it's quite hard to find...
- Fixed I960 bug that caused daytona invisible walls/holes in the road.
- Fixed timer bug that caused missing hair in Fighting vipers, tails in sonic and slow cars in Sega Rally (although they still don't work properly).
- Added support for "return to neutral". Enable it with HoldGears=1 option in emulator.ini. This setting will cause the emu to return to neutral when no gear button is pressed.
- Redone rasterizer color decoding and texture mapping. Now it works the same way the real hardware
does, performing all the same table lookups and calculations, so color should be accurate now. The color decoding is now done at pixel shader level so you'll need a PS 2.0 capable video card in order to run the emulator now.
- Fixed white borders in some transparent textures.
- Redone texture caching code. Improved dirty texture detection. Fixes wrong textures in some games when a new texture overlaps partially with an existing one.
- Changed ManxTT sound roms to the Twin ones. The previous romset was using the Deluxe ones that have 2 sound boards. Fixes the "japanese speech when braking" bug :).Set the machine to Twin.
- Added 2 mice support for shooting games. Enable it with RawInput=1 in emulator.ini. Read some other options there to tell the emu how to map a mouse to a player. When using RawInput the mouse will be locked to the emulator window. In order to switch to another window, either press Alt to bring the menu and unlock the mouse or use Alt-Tab to switch to another application.
- Fixed Alt key not activating the window menu.
- Fixed MB86235 bug when handling denormalized numbers that caused top skater and overrev lock the emu sometimes.
- Fixed corrupt textures sometimes when loading a savestate
- Fixed frameskipping bug that caused some data not being updated in the TGP memory when
frameskipping (daytona windows not updating windows after entering/leaving the tunnel)
- Added an option to hide the crosshair in shooting games (DrawCross=0 in emulator.ini)
- Fixed Daytona to the maxx rom loading that caused wrong and missing graphics.
- Improved FM emulation support to the SCSP for some HOTD tunes requiring it.
- Fixed various bugs in the new MultiPCM sound emulation, causing some wrong loops and sounds.
- Fixed meshed transparencies size. Now they will scale to the selected resolution.
- Fixed specular highlights calculation.
- Added Daytona USA '93 edition and Daytona USA: GTX 2004.
- Added Rail Chase 2
- Added Virtua Cop 2
- Added Virtua Fighter 2, Rev A, Rev B and 2.1
- Added Sega Water Ski. The current sound rom dump seems to be bad so the game will run without
sound. This game will start in Japan region mode. To change the region, enter Test menu (F2) and
press the sequence up,up,down,down,service (f1),test (f2)
- Added Indianapolis 500 Rev A
- Changed romsets to match MAME as much as possible.

Model 2 emulator 1.0  Posted by ElSemi  31/12/10   

- Finally fixed VF2 hair problems, now all graphics are correct.
- Added LUA script support for options, cheats and other uses (check model2lua.txt in SCRIPTS folder)
- Added texture replacement support (check model2lua.txt in SCRIPTS folder)
- Added widescreen support (needs per-game lua scripts to know when to enable it). Requires a wide fullscreen resolution or WideScreenWindow set in emulator.ini
- Fixed texture border detection for textures that caused wrong colors & pixelation on borders
- Simplified pixel shaders (half the texture fetches)
- Improved House of the dead FM sound
- Fixed VF2 wrong sound speeds
- Fixed background distortion on Dural stage in VF2
- Added STCC Euro
- Added Sonic the fighters.
- Fixed Virtual On missing background color on title screen
- Rewritten SCSP code for improved accuracy
- Fixed ATI video card gfx problems
- Fixed audio stuttering on some windows 7 machines
- Added Sega Rally Championship rev B