log ym2612.c @ 2034:8b2ef428d1aa

age author description
Mon, 15 Feb 2021 22:10:49 -0800 Michael Pavone Fix Timer B load bug that made games using Konami sound driver to have slower music tempo than they should
Sun, 11 Oct 2020 22:42:10 -0700 Michael Pavone Set initial pan bits in YM2612 register array and not just the separate lr field of the channel. This fixes an issue in which some channels would be silent in VGM log output
Wed, 29 Apr 2020 01:00:57 -0700 Michael Pavone WIP netplay support
Sat, 28 Mar 2020 15:46:53 -0700 Michael Pavone Skip invalid registers when dumping initial YM2612 state to VGM log
Fri, 27 Mar 2020 00:03:58 -0700 Michael Pavone Initial stab at VGM logging support
Wed, 26 Feb 2020 22:40:37 -0800 Michael Pavone Implement selectable YM2612/YM3834 invalid status port behavior
Mon, 24 Feb 2020 20:06:29 -0800 Michael Pavone Fix YM2612 busy flag timing
Sat, 07 Sep 2019 22:18:09 -0700 Michael Pavone Cache operator phase increment for a small perf improvement
Fri, 06 Sep 2019 09:13:44 -0700 Michael Pavone Split ym_run into a few different functions to enhance clarity
Wed, 27 Mar 2019 22:04:54 -0700 Michael Pavone Operator results should be delayed by one sample when used as a modulator in some cases based on relative execution time and pipeline length
Tue, 26 Mar 2019 22:34:41 -0700 Michael Pavone Zero offset should also impact output channels that a channel is panned away from
Tue, 26 Mar 2019 22:27:23 -0700 Michael Pavone Fix a couple of minor cases of extra precision in LFO implementation
Sun, 24 Mar 2019 19:59:41 -0700 Michael Pavone Optionally emulate the offset around zero in the imperfect DAC of a discrete YM2612
Sun, 30 Dec 2018 18:48:08 -0800 Mike Pavone Optimize YM operator modulation
Fri, 28 Dec 2018 12:08:43 -0800 Michael Pavone Preserve WAVE logging FILE * across YM2612 device reset
Fri, 30 Mar 2018 00:37:08 -0700 Michael Pavone More audio refactoring in preparation for allowing proper sync to video with dynamic audio rate control
Wed, 28 Mar 2018 23:36:08 -0700 Michael Pavone Small cleanup to audio interface between emulation code and renderer backend
Tue, 29 Aug 2017 19:42:14 -0700 Michael Pavone Save entirety of fnum register, not just the low 8 bits
Tue, 29 Aug 2017 00:09:35 -0700 Michael Pavone Save and restore YM2612 timer control and keyon/off state in native save states
Sun, 06 Aug 2017 00:06:36 -0700 Michael Pavone WIP - New savestate format
Thu, 11 May 2017 07:51:28 -0700 Michael Pavone Fix resampling code to deal with case in which output frequency is greater than the input frequency. Probably could stand to be improved, but at least it doesn't cause the emulator to deadlock
Thu, 30 Mar 2017 23:57:30 -0700 Michael Pavone Reset YM2612 whenver the Z80 is reset. Fixes issue with stuck notes in Fantastic Dizzy and Kid Chameleon
Mon, 27 Mar 2017 00:40:10 -0700 Michael Pavone Initial implementation of YM2612 SSG-EG mode
Sat, 25 Mar 2017 15:41:52 -0700 Michael Pavone Basic implementation of CSM mode that should handle documented edge cases. Dodesn't handle the weird undocumented edge cases I don't have a good understanding of yet though
Mon, 28 Nov 2016 22:45:46 -0800 Michael Pavone Clean up symbol visiblity and delete a ltitle bit of dead code
Sun, 01 May 2016 13:36:14 -0700 Michael Pavone Made low pass filter frequency configurable
Wed, 20 Apr 2016 09:18:58 -0700 Michael Pavone Implemented linear resampling and low pass filter for the YM2612
Sat, 20 Feb 2016 01:11:18 -0800 Michael Pavone Fix register to operator mapping for channel 3 special mode and actually get it right this time
Thu, 18 Feb 2016 21:28:33 -0800 Michael Pavone Remove phase increment caching. Fix LFO phase modulation calculation
Sat, 13 Feb 2016 22:20:37 -0800 Michael Pavone Add yt debug command for printing YM-2612 timer info. Fix AMS shift values.
Wed, 10 Feb 2016 20:05:39 -0800 Michael Pavone Change where decay to sustain transition happens to match hardware when decay rate is slow or 0
Fri, 13 Nov 2015 22:56:59 -0800 Michael Pavone Selecting a second game from the menu now works
Wed, 04 Nov 2015 22:48:27 -0800 Michael Pavone Load config file and rom.db from appropriate locations on Android
Tue, 03 Nov 2015 07:41:10 -0800 Michael Pavone Remove obsolete TODO
Mon, 02 Nov 2015 22:33:54 -0800 Michael Pavone Fix some bugs in the attack phase and sustain level in the envelope generator
Sun, 01 Nov 2015 20:44:12 -0800 Michael Pavone Fix mapping of key on/off reg bits to operators
Sun, 01 Nov 2015 12:55:08 -0800 Michael Pavone Wrote a buggy tool for splitting VGM files by channel
Sat, 31 Oct 2015 21:11:40 -0700 Michael Pavone Small fix to how manual YM-2612 timer reloads work. Seems to better match a small test program and gets audio to match up in TM.EE's "I've got Italo Inside" track.
Thu, 28 May 2015 00:11:15 -0700 Michael Pavone Fix LFO counter update speed and implement amplitude modulation
Wed, 27 May 2015 20:53:21 -0700 Michael Pavone Add a basic YM-2612 command to the debugger. Fix negative detune values and get the correct precision for the multiplication step of phase inc calculation
Tue, 26 May 2015 22:22:30 -0700 Michael Pavone Fix register to operator mapping for channel 3 special mode
Tue, 16 Dec 2014 01:05:00 -0800 Michael Pavone Set the busy flag after a YM-2612 address write
Thu, 13 Feb 2014 00:55:01 -0800 Mike Pavone Better emulation of the YM-2612 busy flag
Wed, 12 Feb 2014 23:32:05 -0800 Mike Pavone Comment out LFO debug printf
Wed, 12 Feb 2014 22:14:11 -0800 Michael Pavone Fix operator 1 self-feedback
Tue, 11 Feb 2014 12:52:28 -0800 Michael Pavone Adjust PSG and YM-2612 volume to be closer to the real console
Tue, 11 Feb 2014 12:45:43 -0800 Michael Pavone Fix overflow handling on FM channel output
Fri, 07 Feb 2014 00:41:51 -0800 Michael Pavone Properly clamp envelope value to zero when it overflows during the attack phase. This fixes a number of instruments that sounded rather wrong as well as the missing melody line from Mushroom Hill Zone in Sonic and Knuckles
Mon, 06 Jan 2014 22:54:05 -0800 Michael Pavone The local clone on my laptop got messed up and some changes had not been pushed. This commit represents the status of the working copy from that clone. It unfortunately contains some changes that I did not intend to commit yet, but this seems like the best option at the moment.
Tue, 01 Oct 2013 23:51:16 -0700 Mike Pavone Implement turbo/slow motion feature that overclocks or underclocks the entire system at the push of a button
Tue, 10 Sep 2013 23:31:08 -0700 Mike Pavone Added copyright notice to source files and added GPL license text in COPYING
Fri, 26 Jul 2013 19:55:04 -0700 Mike Pavone Added support for saving savestates. Added gst savestate format test harness
Sat, 20 Jul 2013 23:49:31 -0700 Mike Pavone Fix handling of key on in YM2612 core
Sat, 29 Jun 2013 17:15:08 -0700 Mike Pavone Add support for loading GST format savestates
Wed, 19 Jun 2013 00:25:09 -0700 Mike Pavone Initial stab at LFO phase modulation
Sun, 16 Jun 2013 17:57:57 -0700 Mike Pavone Add support for logging YM2612 channels to WAVE files
Sun, 16 Jun 2013 13:42:13 -0700 Mike Pavone Fix modulation condition for operator 2
Sun, 16 Jun 2013 00:56:23 -0700 Mike Pavone Fix YM2612 timers
Tue, 11 Jun 2013 23:36:18 -0700 Mike Pavone Fix output of algorithm 4 and make some other minor YM2612 core improvements
Wed, 05 Jun 2013 19:26:02 -0700 Mike Pavone Fix channel mapping in key on/off register
Tue, 04 Jun 2013 21:23:12 -0700 Mike Pavone Initial implementation of channel 3 special mode
Tue, 04 Jun 2013 09:16:41 -0700 Mike Pavone Fix operator precedence bug with sustain level
Mon, 03 Jun 2013 23:44:11 -0700 Mike Pavone Fix modulation shift value
Mon, 03 Jun 2013 21:43:38 -0700 Mike Pavone Make the PSG and YM2612 use the master clock internal with an increment based on clock divider so that they stay perflectly in sync. Run both the PSG and YM2612 whenver one of them needs to be run.
Sun, 02 Jun 2013 22:37:48 -0700 Mike Pavone Make shift value of operator output to modulation input a define
Sun, 02 Jun 2013 22:33:27 -0700 Mike Pavone Adjust shift for feedback
Sun, 02 Jun 2013 22:30:41 -0700 Mike Pavone Initial stab at feedback
Sun, 02 Jun 2013 21:52:42 -0700 Mike Pavone Fix key scaling
Sun, 02 Jun 2013 21:12:43 -0700 Mike Pavone Fix YM2612 busy flag
Sun, 02 Jun 2013 13:42:33 -0700 Mike Pavone Use signed ints for things that represent signed values in YM2612 core
Sun, 02 Jun 2013 00:00:22 -0700 Mike Pavone Fix register to operator mapping. Fix rate table generation. Add TL to envelope value rather than using it as a limit for the attack phase.
Fri, 31 May 2013 21:30:11 -0700 Mike Pavone Fix left/right enable default value
Wed, 29 May 2013 21:21:14 -0700 Mike Pavone Actually save the shifted phase inc after applying the block shift
Wed, 29 May 2013 00:57:19 -0700 Mike Pavone Incredibly broken YM2612 support plus a fix to Z80 bus request
Mon, 27 May 2013 22:19:11 -0700 Mike Pavone YM2612 WIP update
Mon, 27 May 2013 09:54:58 -0700 Mike Pavone YM2612 WIP snapshot before register refactor
Sun, 05 May 2013 22:56:42 -0700 Mike Pavone Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.