Commit graph

33 commits

Author SHA1 Message Date
firewave 5332d8f945 fixed some -Wunused-* compiler warnings 2023-12-02 14:27:32 -08:00
Bart Trzynadlowski ebff9a8b2d SCSP: added more detail to comment explaining 68K clock speed as recommended by Brian Troha 2023-09-02 20:32:11 -07:00
gm-matthew 7924fed369 Set soundboard CPU to correct clock speed
The 68K on the soundboard is rated at 12 MHz but runs at 11.2896 MHz, which is 256 cycles/sample with a 44100 Hz sample rate. Removed SoundClock and Freq as they are not needed
2023-08-20 17:43:27 -07:00
toxieainc db455ba5c1 add undefd codepath for correct use of the 18bit DAC path (which seems to be triggered for all games)
the volume correction to bring the data back into a valid range is not really needed in practice though, only Daytona2 seems to need it, and also only extremely rarely, so lets just live with a tiny bit of clamping for that game then

while add it, make some formatting similar to MAME, and add one comment regarding a most likely wrong recent MAME change
2022-11-29 12:36:27 -08:00
toxieainc 4c727abdc8 change all INT16 mixing/intermediate clamping to floats
also fixes 3 bugs:
1) mpeg right channel volume was always using the left channel volume, too
2) too high MusicVolume setting was not clamped to 0..200
3) too high SoundVolume setting was not clamped to 0..200
2022-11-06 13:00:13 -08:00
toxieainc 22ffb5cc19 Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy). 2022-10-03 17:59:59 -07:00
toxieainc e0053b3a46 fix some real errors (Model3,InputSystem), minor errors (SCSP,SDL/Main) and some performance warnings 2022-07-11 17:43:59 +02:00
Ian Curtis a742a73772 njz3: Fix sound volume with new quadrophonic audio code 2022-06-19 16:15:54 +00:00
Ian Curtis 83e7b5f45d njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo. 2022-06-09 21:10:39 +00:00
Matthew Daniels 0c47ac831a Increase MIDI FIFO buffer size for SCSP; should prevent FIFO overflows
Also use similar macro for DSB FIFO buffer
2021-11-30 23:01:37 +00:00
Matthew Daniels 9ffce8b92a Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs.
Making changes to a header file should no longer force the entire project to recompile.
2021-11-22 17:15:06 +00:00
Ian Curtis 816d541b98 Various SCSP improvements and code cleanup:
- Ported MAME's implementation
- Corrected FM sound for songs in VF3 that use it 
- Music tempo now closer to real hardware thanks to emulating two SCSP chips.
- Add LegacySoundDSP config option for games with SCSP DSP glitches (ex. engine noises in Sega Rally 2, and loud garbage on Bahn's stage in Fighting Vipers 2)
- Renamed SysFPS to "SoundClock" (since raising this appears to adjust the sound frequency).

(Submitted by Paul Prosser)
2020-08-22 20:41:47 +00:00
Bart Trzynadlowski 901b8c3fa4 Spindizzi's SCSP DSP fix for the VF3TB cave stage 2017-04-09 15:27:43 +00:00
Bart Trzynadlowski f34e25dfc7 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
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
Nik Henson e431b79f57 Fixed small bug which meant wasn't correctly clearing SCSP structures on initialisation. 2011-11-01 23:16:36 +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 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
Bart Trzynadlowski 24f46e9f86 Updated UNIX Makefile, fixed some syntax errors. 2011-09-21 19:12:50 +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 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 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
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 06f6bf093b Save state support for 68K, Z80, sound board, DSB1, and MPEG playback. 2011-08-09 18:36:29 +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 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
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 783446fca2 Fixing import mistake: moving source code to trunk/Src. 2011-04-24 01:19:40 +00:00
Renamed from Sound/SCSP.cpp (Browse further)