Commit graph

75 commits

Author SHA1 Message Date
Nik Henson 8a4ea64994 Added OSD/Video.h to provide OSD-dependent video functionality. The static functions in here get called by Model3.cpp from within the render thread so that any OSD related rendering can also be run in parallel for a further speed increase.
Updated OSD/SDL/Main.cpp to provide the SDL implementations of the functions in OSD/Video.h.
2012-02-13 23:37:48 +00:00
Bart Trzynadlowski c5d0cb0d97 Added front/rear speaker balance (actually the master/slave SCSP balance). Balance setting is stored in CSoundBoardConfig and can be set on the command line (-balance) or config file (Balance). Valid range is 100 (front speaker volume doubled, rear muted) to -100. The default is 0, both sets at full volume. Balance is applied in the SCSP core before overall sound and music volume settings. 2012-02-09 07:58:07 +00:00
Bart Trzynadlowski 9fc0d7b3cc Updated some comments regarding the VF3 ROM patches. It seems many of them are no longer necessary. The single necessary patch affects timing (note how the warning screen stays up longer when it is removed). This needs to be investigated -- perhaps it can lead to a timing fix for vf3, vs2, and fvipers2? 2012-02-01 18:08:13 +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
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 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
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 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 eaa3bbf8b7 Changes to get debugger classes to compile under Linux 2011-09-21 23:47:11 +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 f695ff7094 CModel3::StopThreads() now makes sures threads are paused before deleting thread objects. 2011-09-18 22:49:21 +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
Nik Henson 58954ee4cc Small updates:
- added methods to CModel3 to access sound board and drive board
 - added methods to CSoundBoard to access 68K and DSB (if attached)
 - added methods to CDSB1 & CDSB2 to access Z80 & 68K respectively
 - small code tweak in DriveBoard.cpp
 - comment tweaks in Model3.h & Model3.cpp
2011-09-15 21:10:38 +00:00
Bart Trzynadlowski 1629cd711c - Updated README (far from finished).
- Music volume cannot be changed if game has no DSB.
- Extra hardware (DSB, drive board) is printed in information display when ROM is loaded.
2011-09-15 07:13:19 +00:00
Bart Trzynadlowski 2f5bf43bda Updated copyright information and added headers to all remaining files except debugger. 2011-09-14 19:08:43 +00:00
Bart Trzynadlowski 5bf4a6d52b - Added mutex for MIDI FIFO access to SCSP.cpp. 2011-09-14 07:38:56 +00:00
Bart Trzynadlowski d200dff89e - Changed EmulateSCSP -> EmulateSound and -no-scsp -> -no-sound.
- Changed gear shifting behavior: neutral gear has its own button now.
- Removed SUPERMODEL_SOUND.
- DirectInput is the default input system for Windows now.
- Multi-threading is on by default, replaced -multi-threaded w/ -no-threads.
- Made crosshairs larger and more visible.
- Added Nik to co-author list and began updating file copyright notices.
- Fixed Virtua Striker 2 input names (player 2 inputs end with the number 2 instead of 1).
- Added documentation to a Docs/ subdirectory.
- Exported all default input configurations to Supermodel.ini and added that to the repository. Internally, Supermodel initializes all controls to "NONE" now.
2011-09-14 06:16:22 +00:00
Nik Henson f6af182467 Added comment 2011-09-13 22:46:21 +00:00
Nik Henson ca8d838826 Added stopping of all force feedback effects on reset (just in case some were playing at that point) 2011-09-13 22:45:32 +00:00
Nik Henson e223d388eb Driveboard changes:
- added notification message if drive board is disabled when loading incompatible save state
- removed some superflous print statements, but have kept in printing out of force feedback commands for now (which have also been made more visual)
- made sure that feedback state is reset in SendStopAll()
2011-09-12 21:07:03 +00:00
Nik Henson 8dfb033034 Changed drive board logic slightly for stopping vibrate effect as wasn't always cancelling the effect in Daytona 2 2011-09-12 19:55:53 +00:00
Bart Trzynadlowski e6f19c40ef Fixed 68K save state problem: pending interrupts were not being saved, sometimes causing the DSB2 to take an invalid interrupt (from the sound board 68K) after loading a save state. Save states are no longer compatible with previous revision. 2011-09-12 18:14:49 +00:00
Bart Trzynadlowski cf73207c98 - Nik's new decoupled audio code with fixes to minimize overruns.
- VBlank timing: increased to 20% of a frame.
2011-09-12 05:43:37 +00:00
Nik Henson 4c18925679 Fixed bug with loading/saving of state - it wasn't persisting the ram array properly 2011-09-11 18:55:13 +00:00
Nik Henson 5b5d24293f Fixed bug which was crashing emulator when loading/saving state of games that do not use the drive board 2011-09-10 21:00:33 +00:00
Nik Henson 0495421cbc DriveBoard changes:
- fixed bug in SendConstantForce which was sending incorrect values at times
- removed friction effect for now, until can determine its exact command seq
- added checking of compatibility of saved state and temporary disabling of drive board if not compatible
2011-09-09 07:18:52 +00:00
Bart Trzynadlowski b76b43cc93 - Fixed drive board. Now determines whether it is attached and enabled in Reset(). 2011-09-08 17:58:25 +00:00
Bart Trzynadlowski 11d1d61bc2 - Removed BOOL and replaced it with native C++ type, bool.
- Removed TRUE and FALSE, changed to 'true' and 'false' keywords.
2011-09-08 06:34:18 +00:00
Bart Trzynadlowski abd86a5624 - Cleaned up game names (primary sets no longer have revision labels in title).
- Added volume controls to UI.
- Renamed "Sega Rally Controls" to "Sega Rally/Dirt Devils Controls" (even though Dirt Devils has no hand brake).
- Hooked up gear shifting and view change for Dirt Devils.
- Removed debug printf()'s from DSB.cpp.
- Removed debug printf() from Real3D.cpp.
- Disabled assertions in SCSPDSP.cpp.
- Converted all error messages in Amp library to Supermodel format.
2011-09-08 05:08:16 +00:00
Bart Trzynadlowski 4040b7eeee Forgot to disable drive board if ROM not loaded. 2011-09-08 01:13:25 +00:00
Bart Trzynadlowski 70ec09de92 - Added drive board ROM loading.
- Changed EnableFFeedback -> ForceFeedback to be more consistent with the other options.
- Updated help text.
2011-09-08 01:07:06 +00:00
Nik Henson d7ee278f69 Added handling of drive board (if attached) 2011-09-07 07:21:56 +00:00
Nik Henson 5c8af8d259 Initial version of drive board (still work-in-progress) 2011-09-07 07:06:40 +00:00
Bart Trzynadlowski 498d90d667 Multithreading was always enabled in the CModel3 constructor. Disabled this behavior. 2011-09-05 19:05:47 +00:00
Bart Trzynadlowski bda9efebac - getbass now uses MPC106.
- Fixed some error messages in 53C810.cpp.
- Fixed stereo (was swapped) and added a flip stereo option.
2011-09-01 06:43:01 +00:00
Bart Trzynadlowski de3e56fc96 Inadvertently left SUPERMODEL_LOG_SOUND enabled. Now disabled. 2011-08-29 16:32:24 +00:00
Bart Trzynadlowski b647cd5a4b - Added Spikeout Final Edition.
- Minor change to DSB save state loading: only loopEnd is checked before using MPEG_SetLoop().
2011-08-28 20:56:36 +00:00
Bart Trzynadlowski 87dc5b4181 - Fixed format strings for messages involving __LINE__.
- Fixed an MPEG related crash when loading save states. If usingLoopStart is 0, it is important not to call MPEG_SetLoop()!
- -input-system is working again.
- Changed the format of some messages here and there.
2011-08-28 04:37:41 +00:00
Bart Trzynadlowski 8be2966ecb - Added crosshairs for light gun games and disabled mouse cursor in full screen mode (no way to re-enable it now).
- Fixed Real3D FIFO buffer overflow bug.
- Input system cannot be changed for non-Windows builds (only SDL is available).
- Added Spikeout-specific controls.
2011-08-27 21:37:37 +00:00
Bart Trzynadlowski b19f600fec - Added mappings for individual joysticks in Virtual On for dual-joystick gamepads.
- Input settings are now only read from "global" to avoid confusion.
2011-08-26 05:06:34 +00:00
Bart Trzynadlowski dbc1dbb0e8 - Forgot to add OSDConfig.h.
- Changed more C standard library headers to C++ versions.
2011-08-19 23:47:33 +00:00
Bart Trzynadlowski d318efe58c - Program settings are now managed by the CConfig class.
- Moved Logger.h to OSD/, cleaned up comments.
- Command line and config file parsing have been rewritten.
- Began replacing C standard library headers with C++ versions (eg. stdio.h -> cstdio). I think I got most of them, but not all.
2011-08-19 20:43:07 +00:00
Bart Trzynadlowski 5e1ea75374 Fixed memory pool macros to (hopefully) work with gcc. 2011-08-15 05:59:33 +00:00
Bart Trzynadlowski 6c5b4293eb Musashi context is now cleared in M68KCtx constructor. The internal Musashi context is zeroed out initially but the dynamically allocated external contexts would sometimes be filled with garbage, which would trigger interrupts at the very first instruction after reset, making the 68K go off into the weeds. This fixes a nasty randomly-occurring bug I was seeing. 2011-08-14 23:59:01 +00:00
Bart Trzynadlowski 4e7b7cc59b - Fixed DSB2 save states: M68K context wasn't being set.
- INI file changes: added support for opening and creating files, for a default section alias, and for sections appearing multiple times in the section list (may prevent some bugs).
2011-08-10 07:46:42 +00:00
Bart Trzynadlowski 12e4d82471 - DSB2 save state support.
- krom made a minor optimization of the byte reverse routines in ppc.cpp.
2011-08-10 05:35:42 +00:00
Bart Trzynadlowski 91c9b9869b R. Belmont's changes to compile under MacOS and Linux. 2011-08-10 04:24:15 +00:00