summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/ymfm
Commit message (Collapse)AuthorAgeFilesLines
* 3rdparty/ymfm: Fixed endianness and alignment issues when writing WAV files. Vas Crabb2025-12-121-9/+28
|
* ymfm: adpcm updates from https://github.com/aaronsgiles/ymfm/pull/40 [Aaron ↵ hap2025-11-304-189/+351
| | | | Giles]
* 3rdparty/ymfm/src/ymfm_adpcm.h: extend at_end fn by 1 angelosa2025-11-231-1/+1
| | | | * pc98:metlfrce wants this to detect the speakboard, cfr. note in header card
* ymfm_opl: no need to check for IsOpl2Plus here hap2025-02-011-1/+1
|
* ymfm_opl: actually emulate opl2 waveform enable bit hap2025-02-011-2/+2
|
* ymfm_opn: OPNA does not have 4 latches hap2025-01-311-3/+1
|
* Revert "ymfm_opn: writes to 0xa7/0xaf also go to latch" hap2025-01-311-1/+4
| | | | This reverts commit 659471456ae6d140ef9f86a15a0494ea0021fe51.
* ymfm_opn: writes to 0xa7/0xaf also go to latch hap2025-01-311-4/+1
|
* ymfm_opn: apparently there is no internal flag when latch was written hap2025-01-301-5/+4
|
* 3rdparty/ymfm: sync to latest (#13263) Angelo Salese2025-01-3014-85/+378
|
* Update 3rdparty/ymfm to latest. (#10583) Aaron Giles2022-11-259-19/+167
| | | | | * Fixes uninitialized member causing slight jitter in timing (GitHub #10414). * Fixes OPNA behavior when LFO is disabled. * Fixes a PCM playback wraparound bug due to incorrect auto-incrementing.
* Update ymfm library to latest version (a78b567): [Aaron Giles, hyano] (#10052) Aaron Giles2022-07-0814-66/+164
| | | | | | | | | | | | - Fix incorrect operator volumes in some cases for OPL (MT8108) - Fix PCM playback to cut off previous notes when new waveforms are selected (see dragnblz) - Fix reversed OPM noise frequency - Fix bug preventing CSM key ons from being noticed - Fix bug where SSG EG envelope could be left in inverted state - Fix SSG envelope handling when tone and noise are off - Increase strength of DAC discontinuity in YM2612 - Improve latching logic for fnums in OPN - Increase envelope suppression threshold so some effects don't get prematurely muted - Improve ADPCM-B behavior at stop/limit addresses (more thorough rewrite here coming later)
* ymfm: Correct for free-running timer B multipler (#8988) Aaron Giles2021-12-162-6/+16
|
* ymf278b: Allow PCM writes if new2flag is set, even if newflag is not. Fixes ↵ Aaron Giles2021-07-241-10/+12
| | | | MT08033.
* ymfm: Return masked status from set/reset function. Fixes MT08034. Aaron Giles2021-07-231-1/+1
|
* ymfm: Sync with upstream Aaron Giles2021-07-2311-60/+78
| | | | | * Fix LFO disable on YM2151 * Fix swapped lower nibbles for 12-bit PCM on OPL4
* ymfm: Play ADPCM-A samples through the end of the end block inclusive Aaron Giles2021-06-221-10/+15
|
* Fix reporting of ADPCM-B end-of-sample. Seems to fix MT08006; hopefully will ↵ Aaron Giles2021-06-212-6/+12
| | | | fix other neogeo issues as well.
* ymfm: Sync with upstream: Aaron Giles2021-06-018-214/+391
| | | | | * Fix panning calculations in OPL4 (YMF278B) * Make OPQ reverb less ridiculous
* ymfm: Sync with upstream: Aaron Giles2021-05-298-52/+50
| | | | | * Match OPN LFO frequencies to hardware measurements * Improve OPQ detune, reverb, and KSR
* ymfm: Don't mask off top bit of octave for OPQ. Aaron Giles2021-05-231-2/+2
|
* ymfm: Improve OPQ behavior for timers and register access. Add YM3533 device ↵ Aaron Giles2021-05-232-11/+28
| | | | and use that instead of YM3806.
* ymfm: Fix OPZ fine tuning and envelope shift. Now pretty much all the TX81Z ↵ Aaron Giles2021-05-232-13/+16
| | | | built-in instruments sound reasonable.
* ymfm: Some progress on OPZ. Some instruments in the TX81Z sound kind of ok now. Aaron Giles2021-05-232-68/+122
|
* ymfm: Fix OPL3 waveform 7 to better match hardware. Aaron Giles2021-05-221-1/+1
|
* ymfm: Add missing clamp in YM2608 Aaron Giles2021-05-221-1/+2
|
* ymfm: Boost ADPCM-B volume by a factor of 2 to more closely match previous ↵ Aaron Giles2021-05-221-2/+2
| | | | levels. Addresses MT #07956
* ymfm: Sync with latest, add complete YMF278B support (#8090) Aaron Giles2021-05-2217-240/+2164
| | | | | | | | | | | * Sync with upstream. I/O callbacks are now consolidated into a single read callback and a single write callback, with an access type specifier. * Initial working implementation of YM278B. Most features implemented, except vibrato. * Implement vibrato and status register flags. Fix envelope rate computation. * Rename ymfm_interface::external_type to access_class and clean up the fallout. * Formally replace the old YMF278B engine with the one from ymfm * Rotated YMF278B outputs into a more logical order. * Re-evaluted envelope calculations and 2x works better than the weird 15/8 I came up with before. Also changed the way FM resampling is computed to be more precise (and simpler). Turned off extraneous debugging. * Start of/reset to a null state with no loaded waveforms. * Fix YM2608 I/O ports.
* ymfm: Switch to internal SSG for YM2203/2608/2610. Clean up code to ↵ Aaron Giles2021-05-151-3/+6
| | | | determine the number of SSG outputs.
* ymfm: Refactor new FM engine into a 3rdparty library (#8046) Aaron Giles2021-05-1426-0/+15646
ymfm: refactor the code into a separate 3rdparty library * Moved ymfm core implementation to 3rdparty/ymfm * Split out each family (OPM/OPN/OPL/etc) into its own source file * Added preliminary OPQ and OPZ support, still WIP * Put all 3rdparty code into its own namespace ymfm * Fixed various bugs reported in #8042 * Created interface class for communication between the 3rdparty engine and the emulator * Standardized MAME implementation of all Yamaha devices based on a template class * Created standard base class ym_generic that can be used when multiple YM chips are swapped in * Changed YM2203/2608/2610 to embed a YM2149 as a subdevice instead of deriving from ay8910_device * Also provided compile-time option to use a simplified built-in SSG rather than using MAME's at all (currently off) * Consolidated MAME header files from one-per-chip (ym2151.h, ym2203.h, etc) to one-per-family (ymopm.h, ymopn.h, etc)