Commit graph

169 commits

Author SHA1 Message Date
Bart Trzynadlowski 611ef43ba5 Now compiles with MinGW. Among other things, the use of __uuidof() was removed. 2012-01-18 04:59:42 +00:00
Nik Henson d1d5175548 New multi-threaded rendering changes that parallelise graphics rendering and PPC execution in order to increase performance on multi-core machines.
New gpuMultiThreaded config option to enable/disable multi-threaded rendering (enabled by default, disabling it reverts to previous behaviour).
Other rendering optimisations:
 - texture uploads now only affect appropriate region in the texture sheet, rather than uploading the whole sheet each time
 - performance of clearing the model caches has been improved
New Alt+O key input added to toggle outputting of frame timings for debugging purposes.
2012-01-16 23:21:14 +00:00
Nik Henson 0835e38b94 Removed unecessary SDL include 2012-01-16 23:04:37 +00:00
Nik Henson b7242d27e8 Added CThread::Sleep && CThread::GetTicks methods 2012-01-16 22:07:17 +00:00
Bart Trzynadlowski 2ece814f43 Assigned new version number: 0.3a-WIP. 2011-12-27 19:16:22 +00:00
Bart Trzynadlowski 532eafef55 Fixed a bug w/ Read16() -- was not casting to a pointer properly, caused Scud Race to crash. 2011-12-26 07:15:32 +00:00
Bart Trzynadlowski bdf11c765f Preliminary backface culling fix. Matrices which effectively change the polygon winding without changing the Z component of the polygon normal are tested for when appending items to the display list. If necessary, the polygon winding is changed on the fly to ensure visibility is correct. This code desperately needs to be optimized. Note: Not yet thoroughly tested. 2011-12-26 06:10:55 +00:00
Bart Trzynadlowski a71af94edb Fixed ROM banking -- appears to fix the sounds in Daytona 2 PE and VON2 but otherwise has not been extensively tested. The high 8MB of the 68K address is treated as a single window into the 16MB sample ROM, and can point either to the low or high 8MB bank. 2011-12-23 21:06:45 +00:00
Bart Trzynadlowski 4c3d6e1abf Fixed a MAGIC_NUMBER comment typo. 2011-12-23 21:03:24 +00:00
Nik Henson 885d946458 Small bug fix 2011-12-23 19:34:50 +00:00
Nik Henson 68554108ac Small tweak to improve startup time 2011-12-23 12:39:34 +00:00
Nik Henson b9375bb09b Optimisations to improve performance when running with debugger. Now runs at about 2/3 speed of full speed of emulator, rather than 1/3 like before. 2011-12-23 12:01:31 +00:00
Nik Henson dfa77e9207 Added support for joystick sliders to input system.
Added extra debugging output to calibration input detection routine (activated by pressing Shift).
2011-11-01 23:24:37 +00:00
Nik Henson e431b79f57 Fixed small bug which meant wasn't correctly clearing SCSP structures on initialisation. 2011-11-01 23:16:36 +00:00
Nik Henson e6fd2e2240 Added DirectInputConstForceLeftMax and DirectInputConstForceRightMax options to allow different force feedback strengths in each direction. DirectInputConstForceMax still works as before but these new options will override it for the given direction if they are specified. 2011-10-02 20:53:12 +00:00
Nik Henson 0c4f93897f Force feedback fixes in DirectInputSystem.cpp:
- Fixed bug which meant right constant force was not being capped to DI_EFFECTS_MAX
- Made sure all values are being clamped to sensible ranges
2011-09-25 22:46:58 +00:00
Bart Trzynadlowski d2b381ce8b - Documentation updates.
- Added fflush() to config dialog output where it was missing.
2011-09-24 20:54:47 +00:00
Bart Trzynadlowski 7f97346fc9 - Tweaked some error messages and comments. Hopefully, this is the last update for v0.2a's code.
- Documentation updates.
2011-09-24 01:49:48 +00:00
Bart Trzynadlowski 83067f076f - Only player 1 crosshair is shown by default now.
- Tweaked Makefiles a bit.
- More documentation updates.
- Changed version string to 0.2a in preparation for the final release :)
2011-09-23 07:18:40 +00:00
Bart Trzynadlowski 33f35effaf - Tweaked text in input configuration dialog.
- Changed version string to 0.2a-RC3 because RC2 build was sent out to testers earlier.
2011-09-22 18:15:29 +00:00
Bart Trzynadlowski 4527014e75 - Getting/setting MPEG playback position also includes the end offset. Hopefully will fix save states from crashing when reloaded sometimes in DSB1 and DSB2 games. 2011-09-22 18:04:39 +00:00
Bart Trzynadlowski a1346b57f5 - Changed spelling of some messages in drive board code.
- Added an extra blank line after info display in CModel3.
- Cleaned up comments in Main.cpp.
- More document updates. Fixed '-no-music'->'-no-dsb', 'EmulateMusic'->'EmulateDSB'.
2011-09-22 17:28:49 +00:00
Bart Trzynadlowski 2a314041ad Commented out verbose/debug output in drive board code for release. 2011-09-22 09:02:50 +00:00
Bart Trzynadlowski d00b03f65b Force feedback no longer available as an option on non-Windows builds. 2011-09-22 07:24:15 +00:00
Bart Trzynadlowski 46bc52bb12 - Changed save state error messages slightly.
- Wrapped rows that exceed 80 columns in Supermodel.ini.
- Added some member and function comments to a few header files. 
- Changed version string to 0.2a-RC2 in anticipation of sending another release candidate build to testers.
- Added GAME_INPUT_RALLY flag to dirtdvlsa, eca, and ecax.
- Configuration dialog no longer refers to Sega Rally 2 and Dirt Devils; instead, "Miscellaneous Driving Game Buttons"
- More additions to README.txt.
2011-09-22 06:11:47 +00:00
Nik Henson 206ef1aca4 Changes to get debugger classes to compile under Linux 2011-09-21 23:49:55 +00:00
Nik Henson 232da52dd0 Changes to get debugger classes to compile under Linux 2011-09-21 23:48:33 +00:00
Nik Henson eaa3bbf8b7 Changes to get debugger classes to compile under Linux 2011-09-21 23:47:11 +00:00
Nik Henson 773c2ec9ad Fix to get InputSystem.cpp to compile under Linux again after updates today 2011-09-21 23:45:49 +00:00
Nik Henson 55e6a843bb Added copyright headers to all debugger files and replaced C standard library headers with c++ versions 2011-09-21 22:53:41 +00:00
Nik Henson cb2b8f9235 Tweaked header comment! 2011-09-21 22:32:16 +00:00
Nik Henson dba953d1a0 Added copyright header to file 2011-09-21 22:31:27 +00:00
Nik Henson b87f24cdf2 Removed DirectInputEffectsGain force feedback configuration parameter as it's not that useful as it's easier to adjust effects individually 2011-09-21 22:28:13 +00:00
Nik Henson 0528a4f0c6 Changes to input system:
- altered PrintSettings to output all settings for attached controls, even if no different to defaults
- added option on calibration screen to detect an axis simply by moving the axis
2011-09-21 22:15:16 +00:00
Nik Henson c0dc0b83b6 Changes to DirectInputSystem:
- corrected axis identification code as was not enumerating axes properly in all cases
- added fallback which just adds all axes if there is any hint of an irregularity whilst enumerating axes
2011-09-21 22:08:36 +00:00
Bart Trzynadlowski 24f46e9f86 Updated UNIX Makefile, fixed some syntax errors. 2011-09-21 19:12:50 +00:00
Bart Trzynadlowski ee471539c5 - Fixed newlines in logs.
- Set default PowerPC frequency to 50 MHz.
- Minor tweak to help text.
- More README.txt updates.
2011-09-19 03:56:15 +00:00
Nik Henson c61c4d6ce1 Fixed mistake in previous commit! 2011-09-18 23:38:15 +00:00
Nik Henson d80c7b97ad Added missing memory regions for DSB CPUs 2011-09-18 23:35:22 +00:00
Nik Henson f695ff7094 CModel3::StopThreads() now makes sures threads are paused before deleting thread objects. 2011-09-18 22:49:21 +00:00
Nik Henson 5a0f038171 Changes to allow debugging of Musashi 68K core:
- added methods to attach/debug debugger.
- added instruction hook & callback to m68kconf.h and added hooks into CMusashi68KDebug to allow debugger to control execution.
- added methods to allow reading/writing of 68K registers (for all registers and for a given context, rather than just current one).
2011-09-18 22:44:20 +00:00
Nik Henson c155ae7503 Small cosmetic changes... 2011-09-18 22:31:42 +00:00
Nik Henson 65536fd0fe Changes to allow debugging of Z80 core:
- added methods to attach/detach debugger.
- added hooks into CZ80Debug to allow debugger to control execution.
- added methods to allow reading/writing of Z80 registers.
2011-09-18 22:21:14 +00:00
Nik Henson 041e6659b3 Changes due to updates in debugger classes. 2011-09-18 22:13:20 +00:00
Nik Henson 5f82fd79c3 Small bug fix in INIFile.cpp - was not parsing negative numbers. 2011-09-18 22:03:06 +00:00
Nik Henson c8f4fbc901 Added includes for new debugger header files Musashi68KDebug.h & Z80Debug.h 2011-09-18 22:01:35 +00:00
Nik Henson e8e02ba685 Changes to debugger classes:
- updated debugger classes to compile again with all recent changes.
- improved debugger classes to allow them to work in multi-threaded emulator and be able to handle CPUs on different threads.
- added debug classes for new Z80 and Musashi 68K CPU cores.
- added logging of cycle counts and frames.
- moved all Supermodel specific code & configuration to CSupermodelDebugger.
- added all Model 3 CPUs (PPC, sound board 68K, DSB 68K/Z80 and drive board Z80) to CSupermodelDebugger.
- added persisting of custom entry points in saved debug state to CCodeAnalyser.
- fixed bug with listing I/O ports in CConsoleDebugger and added displaying of cycle counts and CPU speeds when listing CPUs.
2011-09-18 21:59:23 +00:00
Nik Henson b9430cd988 Changes to input system:
- Joystick axis saturation values can now range from 1-200 rather than just 1-100.  This lets the user make axis less sensitive, if required.
- Added joystick axes calibration menus to -config-inputs.
- Moved DirectInput & XInput feedback settings out of CDirectInputSystem and into COSDConfig (so that they can be configured per-game).
- DirectInput mode now only grabs background access to keyboard, mice and joystick when configuring inputs, otherwise it only grabs foreground access.
Other changes:
- Main.cpp now ensures all Model3 threads are paused before shutting down.
2011-09-18 21:44:40 +00:00
Bart Trzynadlowski f0697dbc84 - Tweaked formatting of help message 2011-09-17 23:42:42 +00:00
Bart Trzynadlowski 45603b5549 - Tweaked comments in Supermodel.ini
- More work on README.txt
- Tweaked some error/info messages.
2011-09-17 23:41:12 +00:00