Nik Henson
dc368c1edd
Added configuring of DirectInput and XInput force feedback parameters via config file
2011-09-12 20:05:58 +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
Bart Trzynadlowski
0716285fc2
Fixed error reporting for -input-system option.
2011-09-09 21:59:23 +00:00
Bart Trzynadlowski
e724d0ec0b
Fixed error message when multiple files detected on command line.
2011-09-09 20:41:55 +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
Bart Trzynadlowski
cd5bf4c1dd
- Updated help text.
...
- Corrected a typo: EnableFeedback -> EnableFFeedback.
2011-09-07 16:44:20 +00:00
Nik Henson
532c6e7edb
Added method to fetch current PC value
2011-09-07 07:36:08 +00:00
Nik Henson
0a512d79eb
Added -force-feedback command line option
2011-09-07 07:28:34 +00:00
Nik Henson
d7ee278f69
Added handling of drive board (if attached)
2011-09-07 07:21:56 +00:00
Nik Henson
4948c66a67
Added drive board header
2011-09-07 07:08:32 +00:00
Nik Henson
d08ba050bd
Added in drive board config
2011-09-07 07:07:19 +00:00
Nik Henson
5c8af8d259
Initial version of drive board (still work-in-progress)
2011-09-07 07:06:40 +00:00
Nik Henson
c5d585440c
Changes to CDirectInputSystem:
...
- Added parameters for DirectInput and XInput force feedback effects (although still need to add code to persist them in configuration file)
- Added extra friction feedback effect and tidied up existing effects
2011-09-06 19:05:22 +00:00
Nik Henson
48e98ff75d
Added friction effect to feedback enumeration
2011-09-06 18:56:25 +00:00
Nik Henson
c6e1c9a2ad
- Changes to let SCSP.cpp compile under Visual Studio 64-bit
...
- Fixed unsigned int overflow bug in SCSP.cpp that was causing VF3 to crash on selection screen when running 64-bit
2011-09-05 20:55:33 +00:00
Bart Trzynadlowski
9f6a01eb55
Made save states 64-bit safe.
2011-09-05 20:07:14 +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
99149124e6
First part of SCSP clean up: pointer arithmetic made more safe (I hope). To-do: convert data types to Supermodel standards.
2011-09-05 06:53:26 +00:00
Nik Henson
7b58fd0644
Fixed bug which meant that a buffer over-run occuring under certain conditions would leave the write position dangling past the end of the buffer, causing no further sound to be written to the buffer and leaving playback looping indefinitely.
2011-09-01 21:58:10 +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
Nik Henson
b25cbb2391
Removed setting of writeWrapped to false always on buffer under-run when underRunLoop is true as this is wrong. Suspect this may have been causing looping bug.
2011-08-31 22:30:45 +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
a2ce64745f
Detailed config is logged.
2011-08-20 16:56:40 +00:00
Bart Trzynadlowski
bedbfd26d3
Detailed config is logged.
2011-08-20 16:53:52 +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
Bart Trzynadlowski
06f6bf093b
Save state support for 68K, Z80, sound board, DSB1, and MPEG playback.
2011-08-09 18:36:29 +00:00
Bart Trzynadlowski
52cd9d834b
Save state support for 68K, Z80, sound board, DSB1, and MPEG playback.
2011-08-09 18:16:06 +00:00
Nik Henson
07fd26003e
Added option to loop play position back to beginning of audio buffer when a buffer under-run occurs, rather than stalling output as before. This option is now the default behaviour.
2011-08-07 23:09:18 +00:00
Bart Trzynadlowski
6c71ec28af
Protection now works for ecax.
2011-08-07 03:10:07 +00:00
Nik Henson
416fead447
Fixed mistake in previous commit!
2011-08-07 01:07:48 +00:00
Nik Henson
466997b318
Small bug fix to get MIDI music to play at correct speed (68K was running at wrong frequency)
2011-08-07 00:30:52 +00:00
Bart Trzynadlowski
603bd1bb86
- Added a patch for vs215.
2011-08-05 06:49:51 +00:00
Bart Trzynadlowski
d859115074
- krom's patches for vf3a, harleyb, and ecax.
2011-08-05 06:22:34 +00:00
Bart Trzynadlowski
67c1b94b35
- Fixed DSB2 music looping.
2011-08-04 05:52:26 +00:00
Bart Trzynadlowski
915a6c5a17
- Fixed a DSB2 bug: masking of bytes when constructing start/end addresses is now correct (previously was allowing uninitialized garbage into upper 8 bits, which ought to be 0).
2011-08-03 06:06:18 +00:00
Bart Trzynadlowski
6a6788952c
- Fixed Daytona 2 Advertise song. DSB2 MPEG state machine can now begin playing songs from state ST_GOTA4.
...
- krom: Minor fixes to Main.cpp to support wider ROM set names (up to 9 chars) and compilation under MinGW.
2011-08-03 04:29:33 +00:00
Bart Trzynadlowski
6b55cfb765
- krom added remaining ROM sets. Spikeout Final Edition disabled because it is a bad dump.
...
- Added patches for scuda and scudj.
- Added a TO-DO reminder in INIFile.cpp.
2011-08-03 03:18:51 +00:00
Bart Trzynadlowski
fce3c7ad7c
- skichamp now works, but controls are not hooked up and seems to overload the display lists like many non-working Step 2.x games do. To bypass the drive board error, enter the test menu and exit again. It will reboot and run.
...
- Added some notes on the cause of the "NO DAUGHTER BOARD DETECTED" error in Real3D.cpp.
- Removed some debug code from texture uploader.
2011-08-02 03:33:40 +00:00
Bart Trzynadlowski
2ca7898f1a
- Changes submitted by krom: cleaned up spacing in Games.cpp, optimized byte swapping functions in Supermodel.h, minor changes to fix compiler errors in gcc.
2011-08-01 19:12:44 +00:00
Bart Trzynadlowski
4c02a8af05
- Fixed Ski Champ loading. Fails with a "NO DAUGHTERBOARD" error.
2011-07-31 19:19:59 +00:00
Bart Trzynadlowski
d8960ad133
- Commented out debug log stuff. Now produces less noisy debug.log files.
2011-07-31 17:16:15 +00:00
Bart Trzynadlowski
357536ea5a
- Added a C fallback for inline assembly code when the compiler is not MSVC.
2011-07-31 17:12:02 +00:00
Bart Trzynadlowski
cbf28944a5
- Alphabetized ROM sets (thanks to krom) and added DSB ROMs to Spikeout.
2011-07-31 17:08:05 +00:00
Bart Trzynadlowski
c5d823f054
- Fixed compilation when DEBUG is defined.
2011-07-31 17:07:17 +00:00
Bart Trzynadlowski
4b994a873e
- Removed an unneeded printf() statement.
2011-07-31 04:58:39 +00:00
Bart Trzynadlowski
ddd6fa92ef
- Improved 68K interface. Now supports context switching.
...
- CSoundBoard is not derived from CBus.
- Optimized sound board memory handlers (now using switch statements).
- Added DSB emulation (based on R. Belmont's M1 source code).
- Improved ROM loading: only unique ROMs (those not shared amongst games) are used to identify games. The ROM loader will no longer get confused as easily.
- General cleanup here and there, removed unused Render.h file.
2011-07-31 02:37:31 +00:00
Nik Henson
62f695cc96
Added instruction cycle counting to new Z80 core
2011-07-26 21:47:59 +00:00
Bart Trzynadlowski
79e8172340
- Textures are no longer decoded for un-textured polygons (not sure if this fixes anything yet).
2011-07-22 19:01:45 +00:00
Bart Trzynadlowski
d2ecec7997
- Textures are no longer decoded for un-textured polygons (not sure if this fixes anything yet).
2011-07-22 18:56:35 +00:00
Bart Trzynadlowski
5b373f687f
- Sega Bass Fishing now uses an MPC106, allowing it to boot.
2011-07-22 06:43:53 +00:00
Bart Trzynadlowski
a033058deb
- Texture offsets: models are now decoded for each individual texture offset state and texture coordinates are adjusted while generating the vertex data.
...
- Model LUT now capable of differentiating between texture offset states (linked list of different texture offsets for each model address).
- Removed texOffset uniform attribute from vertex shader -- no longer needed.
2011-07-21 08:12:16 +00:00
Nik Henson
b94537341d
- Added check of reserved flag back into PPC stwcx. instruction
2011-07-20 21:40:10 +00:00
Nik Henson
45dd662dee
- Updated debugger classes to get them to compile with latest changes
...
- Moved CPU debugger for Turbo68K into separate class CTurbo68KDebug and made C68KDebug base class for later addition of Musashi core
- Fixed typos in ConsoleDebugger
2011-07-20 21:39:11 +00:00
Nik Henson
03fa9532eb
- Added function-based interface Audio for OSD sound output, together with SDL implementation
...
- Added object interface CThread for OSD threading and synchronization, together with SDL implementation
- Added multi-threading to CModel3 so that separate CPUs (PPC of main board, 68K of sound board and Z80 of drive board) can be run in separate threads if requested to improve performance on multi-core PCs
- Added -multi-threaded command line option (default is to run single-threaded still)
2011-07-20 21:14:00 +00:00
Bart Trzynadlowski
12693a70f6
- Patched out a decrementer loop that was preventing Spikeout from starting up.
2011-07-20 06:20:40 +00:00
Bart Trzynadlowski
097b87e3c9
- CPU/Z80.h included from Supermodel.h
2011-07-18 19:59:37 +00:00
Bart Trzynadlowski
99b9c7838f
- Added Z80 emulator from YAZE-AG.
...
- CBus now has IO bus functions to support the Z80.cpp
- Bus.h moved to CPU/ directory.
2011-07-18 19:48:57 +00:00
Bart Trzynadlowski
004339e601
- Added sound ROMs to Daytona 2 (BOTE and PE).
...
- Implemented bank switching for sample ROMs. It is probably incorrect because there is still 2MB of unaccounted-for space.
- Added a few important TO-DO notes.
2011-07-16 04:53:12 +00:00
Bart Trzynadlowski
325f9ab2e8
- stwcx. now always writes to memory.
...
- Added PPC/68K communication and automatically generated sound IRQs. Sound is now mostly working :)
- Increased SCSP MIDI buffer length to 128 to simulate a large FIFO for PPC->68K commands.
- Added sound ROMs to those games which have 8 MB of sample ROMs.
2011-07-13 07:11:27 +00:00
Bart Trzynadlowski
b2afd274cb
2011-07-13 05:29:02 +00:00
Bart Trzynadlowski
c73cb830dc
- Added the Musashi 68K emulator by Karl Stenerud. Obtained Karl's explicit permission to relicense the code under GPL.
...
- Added a 68K interface, CPU/68K/M68K.*.
- Moved Turbo68K source files to CPU/68K/Turbo68K. It is no longer used but is being retained in the source tree for now. The LSR instruction has not been fixed in this update.
- Changed sound board code to use the new 68K interface (and hence, Musashi).
- Changed version string from 0.2-WIP to 0.2a-WIP. This is still an alpha version.
- Above changes have broken the 68K debugger.
2011-07-12 04:57:12 +00:00
Bart Trzynadlowski
95d61ce8bb
Several ROM sets were added (contributed by krom@gbadev.org).
2011-07-06 05:08:02 +00:00
Bart Trzynadlowski
b0e8755afc
Added Spikeout protection data.
...
Added code to detect and abort erroneous 0-length texture transfers (was causing Spikeout to hang the emulator).
2011-07-06 05:07:04 +00:00
Bart Trzynadlowski
a90075830c
Texture offsets.
2011-07-06 05:05:38 +00:00
Bart Trzynadlowski
cd2621b2ce
Added texture offsets. Vertex shader has been updated in Shaders/Vertex.glsl.
...
Added palette initialization to 2D renderer. Fixes 2D graphics corruption when loading states (most visible in Scud Race).
2011-07-04 20:53:37 +00:00
Nik Henson
97ac46c82a
Changes to debugger classes:
...
- Added CPrintBreakpoint
Changes to console-based debugger:
- Added new scp command and tidied up some other commands
- Tidied up event logging
- Sorted commands into common groups
- Added ReadMe.txt help file
2011-06-29 23:21:50 +00:00
Nik Henson
8e2e8adeb3
Changes to debugger classes:
...
- fixed step-out to work properly
- added ability to enable/disable debugging of individual CPUs
Changes to console-based debugger:
- tidied up syntax and split some commands out to make easier to use
- implemented missing commands (loademustate, saveemustate, resetemu, configinput, configallinputs, help)
- added new commands (nextframe, enablecpu, disablecpu, removeallcomments)
- added ability to redirect command output to a file
2011-06-28 23:20:19 +00:00
Nik Henson
0153a02b19
Added version of ConfigInputs that doesn't take display dimensions
2011-06-28 23:16:40 +00:00
Nik Henson
9416f9c521
New debugger classes - implementations for ppc and Turbo68K CPU cores
2011-06-28 00:29:20 +00:00
Nik Henson
8a9924b884
Changes for new built-in console-based debugger (only compiled in if SUPERMODEL_DEBUGGER defined):
...
- added code to create debugger object and attach it to system,
- added new command lines options -enter-debugger and -disable-debugger,
- added new UI input to halt execution and enter debugger (default Alt+B),
- added new CLogger class to route all output via debugger if required.
2011-06-27 23:44:51 +00:00
Nik Henson
036c371592
Added headers for new debugger classes
2011-06-27 23:22:50 +00:00
Nik Henson
2465354ef6
New CLogger class that handles logging from Supermodel. Added so that log messages can be routed through debugger if required, rather than printed to console.
2011-06-27 23:21:43 +00:00
Nik Henson
aa0c598a4c
Added hooks into debugger classes
2011-06-27 23:19:22 +00:00
Nik Henson
46944e8c96
Added option to call user supplied debug function before every instruction
2011-06-27 23:10:51 +00:00
Nik Henson
809892c69c
Added check for error that occurs when calling CoInitialize from a managed context
2011-06-27 23:06:08 +00:00
Nik Henson
7f53bd4816
Added new UI input to break execution and enter debugger (default mapping Alt+B)
2011-06-27 23:04:34 +00:00
Nik Henson
efefc65ecf
Removed couple of debugger commands that not yet working
2011-06-27 23:01:15 +00:00
Nik Henson
eddc1df03a
New debugger classes
2011-06-27 22:55:03 +00:00
Nik Henson
187f0016fb
Fixed small bug with formatting in DecodeSigned16
2011-06-27 19:53:24 +00:00
Nik Henson
2800f86935
Small change to allow Supermodel to compile under Linux
2011-06-22 20:46:53 +00:00
Nik Henson
2e14ec3e6e
Small code tidy up (moved some code out of header file into cpp file where it belongs)
2011-06-22 20:18:40 +00:00