Supermodel/Src/Model3
SpinDizzy 08d4735ee8 Huge refactor of the Driveboard:
-Separate each possible boards (wheel, joystick, skipad, billboard).
-Defined a Driveboard type in Games.xml for each games.
-Due to the refactoring, Driveboard Savestates have changed (a common base data + a specific board data are saved).
-Backwards compatibility with previous save states is maintained.
-Driveboard rom section is no longer required anymore. This disables Driveboard emulation in case the rom is not found.
-Added Billboard emulation (vf3, vs2, fvipers2, von2). 7 segments and lamps Outputs are redirected to Supermodel outputs.
-Changes project to C++ 17 standard.
2021-02-18 10:29:15 +00:00
..
DriveBoard Huge refactor of the Driveboard: 2021-02-18 10:29:15 +00:00
53C810.cpp return correct PCI ID 2018-10-18 09:42:51 +00:00
53C810.h Created IEmulator interface, renamed CBus to IBus and CPCIDevice to IPCIDevice. Frames now rendered when emulator paused. 2016-04-10 03:42:41 +00:00
53C810Disasm.cpp Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
93C46.cpp - Changed save state error messages slightly. 2011-09-22 06:11:47 +00:00
93C46.h Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
Crypto.cpp fix a few compile warnings 2018-01-25 21:07:22 +00:00
Crypto.h Encryption device emulation (thanks to MAME), fixed warnings in Model3.cpp, added a string formatter helper, and updated Win32 GCC Makefile. 2016-04-02 21:50:40 +00:00
DSB.cpp Previous mpeg audio code worked for me in debug mode, but the release build had some serious corruption issues when being built in visual studio. Replaced the old spaghetti code with a more modern implementation. 2019-02-21 14:56:25 +00:00
DSB.h Previous mpeg audio code worked for me in debug mode, but the release build had some serious corruption issues when being built in visual studio. Replaced the old spaghetti code with a more modern implementation. 2019-02-21 14:56:25 +00:00
IEmulator.h Fixed graphics state analyzer 2017-04-04 23:28:06 +00:00
IRQ.cpp - Changed save state error messages slightly. 2011-09-22 06:11:47 +00:00
IRQ.h Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
JTAG.cpp Replace network code with new tcp implementation 2020-06-16 11:55:38 +00:00
JTAG.h Get rid of unused variable warning 2017-09-27 13:20:09 +00:00
Model3.cpp Huge refactor of the Driveboard: 2021-02-18 10:29:15 +00:00
Model3.h Huge refactor of the Driveboard: 2021-02-18 10:29:15 +00:00
Model3GraphicsState.h fix debugging code 2018-10-17 22:36:33 +00:00
MPC10x.cpp - PCI bridge can be specified in Games.xml for games that use a different version than expected based on stepping. No more hard-coded exceptions. 2019-01-13 16:00:37 +00:00
MPC10x.h - PCI bridge can be specified in Games.xml for games that use a different version than expected based on stepping. No more hard-coded exceptions. 2019-01-13 16:00:37 +00:00
PCI.cpp Created IEmulator interface, renamed CBus to IBus and CPCIDevice to IPCIDevice. Frames now rendered when emulator paused. 2016-04-10 03:42:41 +00:00
PCI.h remove using namespace from headers .. 2018-01-03 17:51:24 +00:00
Real3D.cpp Thanks to our anonymous contributor who managed to patch a model 3 game and run it on real h/w, we were able to obtain some timing values we had been long been missing for correct emulation. The h/w polls something called the ping_pong bit at start-up to sync the GPU with the CPU. Unfortunately we didn't have the correct values and just manually used some per game hacks to get games to run. This mostly worked, but some games were writing more or less frames than they should have been for a given time period. When the ping_pong bit flips at 66% of the frame time, games were writing data for a new frame, which meant writes were often straddling 2 separate frames. We aren't 100% sure if IRQ2 or the ping_pong bit is vblank. 2019-11-07 20:29:17 +00:00
Real3D.h Thanks to our anonymous contributor who managed to patch a model 3 game and run it on real h/w, we were able to obtain some timing values we had been long been missing for correct emulation. The h/w polls something called the ping_pong bit at start-up to sync the GPU with the CPU. Unfortunately we didn't have the correct values and just manually used some per game hacks to get games to run. This mostly worked, but some games were writing more or less frames than they should have been for a given time period. When the ping_pong bit flips at 66% of the frame time, games were writing data for a new frame, which meant writes were often straddling 2 separate frames. We aren't 100% sure if IRQ2 or the ping_pong bit is vblank. 2019-11-07 20:29:17 +00:00
RTC72421.cpp Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
RTC72421.h Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
SoundBoard.cpp Massive internal change: removed CConfig object and replaced it with a hierarchical config object system (Util::Config::Node). Games are now defined in an XML file. Hopefully I didn't break too many things :/ 2017-03-27 03:19:15 +00:00
SoundBoard.h Massive internal change: removed CConfig object and replaced it with a hierarchical config object system (Util::Config::Node). Games are now defined in an XML file. Hopefully I didn't break too many things :/ 2017-03-27 03:19:15 +00:00
TileGen.cpp Remove some debug code 2020-08-01 09:02:04 +00:00
TileGen.h Massive internal change: removed CConfig object and replaced it with a hierarchical config object system (Util::Config::Node). Games are now defined in an XML file. Hopefully I didn't break too many things :/ 2017-03-27 03:19:15 +00:00