Commit graph

392 commits

Author SHA1 Message Date
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
Nik Henson e8782b98fa Changes relating to input system:
- Added ability to configure axis min, centre and max values in INI file.  This allows some types of steering wheel pedals that use an inverted value range to work properly with the emulator.
 - Modified CINIFile to read and write signed numbers (needed for above change).
 - Added check at configuration start for "bad" input sources such as axes that are wrongly calibrated or buttons that are always triggering a value.  Otherwise they cause the configuration loop to wait indefinitely for the axis or button to be released.
 - Removed superfluous check for XInput devices when XInput is not enabled in CDirectInputSystem.
 - Improved force beedback code in CDirectInputSystem and also added the extra feedback effects needed so far for drive board emulation.
2011-06-22 13:06:52 +00:00
Nik Henson 5e247021be Changes relating to input system:
- Fixed bug with mapping of multiple assignments.
- Added new ! operator for input mappings, which lets the user specify that an input must not be active.
- Added option to print info about input system (such as settings and detected keyboards, mice and joysticks) during input configuration.
- Added new trigger input for lightgun games with a configurable option to automatically pull trigger when offscreen input is activated (this makes playing with the mouse easier as the gun can be reloaded with single mouse button, rather than having to press both
 buttons at the same time).
- Added -xinput command line option that switches to using XInput API rather than DirectInput for XBox 360 controllers (this allows the XBox 360 controller's two triggers to be read independently which works better for driving games when they are mapped to accele
rator and brake).
- Added initial version of force feedback implementation to DirectInputSystem (this still needs work).
2011-06-05 20:53:39 +00:00
Bart Trzynadlowski 783446fca2 Fixing import mistake: moving source code to trunk/Src. 2011-04-24 01:19:40 +00:00