Commit graph

284 commits

Author SHA1 Message Date
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow c7ee0ce642 save my register writes 2022-01-25 16:52:55 -05:00
tildearrow b6c536c907 VGM export: fix PC Engine samples 2022-01-25 02:38:46 -05:00
tildearrow 511b6ba0be VGM export: PCE samples (kinda) 2022-01-24 18:04:09 -05:00
tildearrow cda191afee VGM export: NES samples 2022-01-24 17:48:58 -05:00
tildearrow 92b5620497 VGM export: fix sample glitch if length&255==0 2022-01-24 17:19:34 -05:00
tildearrow 9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -05:00
tildearrow d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 50a0f1f360 VGM export: fix up SegaPCM
turns out it is capable of arbitrary loop position!
2022-01-24 15:23:42 -05:00
tildearrow fedc045909 add SegaPCM commands
let's hope it works
2022-01-24 13:06:06 -05:00
tildearrow e221bcb023 VGM export: bake SegaPCM samples
after this, the following has to be done:
- PCM playback
- PCM playback on PCE and NES (let's hope this is possible)
2022-01-24 12:39:05 -05:00
tildearrow ea796c2d6b VGM export: fix noise in Neo Geo 2022-01-24 02:57:49 -05:00
tildearrow a3a2e3ff47 add more chips to VGM export
missing:
- Sega PCM
- Neo Geo ADPCM
2022-01-24 02:09:03 -05:00
tildearrow 858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow 524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00
tildearrow 45d9bef2a8 Genesis: restore LFO value when changing order 2022-01-23 15:15:46 -05:00
tildearrow cd2854d027 it works 2022-01-23 15:12:00 -05:00
tildearrow b39b1c0a25 Genesis: implement FM macros (partial, untested) 2022-01-23 13:19:19 -05:00
tildearrow a45c697004 now Neo Geo 2022-01-23 00:57:47 -05:00
tildearrow f286e65dc1 fix it! 2022-01-22 18:06:18 -05:00
tildearrow d62b111c78 Genesis: separate channel state from instrument
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00
tildearrow c64c1c1c2d Amiga: tune it a bit 2022-01-22 02:54:46 -05:00
tildearrow 413fbd985a NES: same thing 2022-01-22 02:38:01 -05:00
tildearrow 371c23a7ee Genesis: fix sample desync when muting DAC channel 2022-01-22 02:36:58 -05:00
tildearrow 4cffcc01e5 ffffiiiiixxxx #47 2022-01-21 04:35:25 -05:00
tildearrow bc32809ecb fix #46 2022-01-21 04:27:00 -05:00
tildearrow e06911258e TIA: fix mute being ignored at times 2022-01-20 23:14:18 -05:00
tildearrow ff0e48679b arcade: fix PCM channels not muting when Nuked-OPM 2022-01-20 22:13:56 -05:00
tildearrow 730561d3a3 arcade: add effects to control AMD/PMD 2022-01-20 17:54:11 -05:00
tildearrow 4b43694db0 fix negative notes 2022-01-20 16:56:35 -05:00
tildearrow 05bbfaced2 get rid of a debug message 2022-01-20 16:41:18 -05:00
tildearrow 917c9cf2e3 Genesis: allow sample preview 2022-01-20 16:40:18 -05:00
tildearrow 0b7772e76c PCE: allow sample preview 2022-01-20 16:33:20 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -05:00
tildearrow 1ee23ac198 AY8930: fix first channel envelope reset at random 2022-01-20 03:25:57 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -05:00
tildearrow e394b5ca5a C64: solve one ADSR bug
set decay to 0 if sustain is 15
2022-01-19 22:58:37 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow 488bd45907 lower PCE volume a bit
see issue #16
2022-01-18 17:35:41 -05:00
tildearrow a956f37f1b Genesis/Neo Geo: fix extended channel mode volume 2022-01-18 17:18:07 -05:00
tildearrow 64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow 05fd372728 AY: fix wave macro and effect 2022-01-18 15:48:40 -05:00
tildearrow 0356cf2c7a TIA: add 10xx effect for selecting shape 2022-01-18 15:12:36 -05:00
tildearrow 345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow 6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow 7165d39105 Neo Geo/AY: implement 20xx command 2022-01-17 21:14:35 -05:00
tildearrow d73c0512eb fix Microsoft C compiler build... again 2022-01-17 18:15:47 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow 69be47b419 PCE: no abort 2022-01-17 16:59:34 -05:00
tildearrow 6884494b5c fix issue with volume macro+slide 2022-01-17 16:23:47 -05:00
tildearrow 8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -05:00
tildearrow 8c80af4a46 SAA1099: fix octave not being set in last 2 chans 2022-01-16 01:55:54 -05:00
tildearrow 85c7612194 TIA: one more mute refinement 2022-01-16 01:43:55 -05:00
tildearrow c09ce1892b Amiga: limit sample length 2022-01-15 22:49:53 -05:00
tildearrow 93f82637ad Amiga: respect max period 2022-01-15 22:49:09 -05:00
tildearrow 31f8378cef Amiga: take loop pos into account 2022-01-15 18:03:37 -05:00
tildearrow 755042a8fe Amiga: fix max volume 2022-01-15 17:54:09 -05:00
tildearrow 79b86da98b Amiga: get rid of a debug message 2022-01-15 17:32:39 -05:00
tildearrow 113a1577b6 do the Amiga 2022-01-15 17:28:33 -05:00
tildearrow a06a82ca89 prepare for amiga system 2022-01-15 15:50:53 -05:00
tildearrow 29ca2033d9 AY: remove redundant break 2022-01-14 23:38:07 -05:00
tildearrow 10c78e3fd2 now actually finish SAA1099 2022-01-14 23:37:03 -05:00
tildearrow 0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow d2cef16adf WHAT?! 2022-01-14 20:34:15 -05:00
tildearrow e05db17ce2 it plays notes 2022-01-14 18:19:52 -05:00
tildearrow 740521b469 AY: don't write to bufR 2022-01-14 16:35:19 -05:00
tildearrow 307665f531 prepare for SAA1099 2022-01-14 16:29:27 -05:00
tildearrow 390eb66647 TIA: absolute arp macros are now periodic 2022-01-14 15:34:54 -05:00
tildearrow 3afb0f815d lower the volume of TIA by half 2022-01-14 14:12:49 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -05:00
tildearrow 573ce69dc7 add TIA platform
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow 6d2aa8d23e change AY frequency 2022-01-14 00:26:10 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 0545775de6 prepare for better ins del safety 2022-01-13 17:40:29 -05:00
tildearrow fea783eaac fix macOS build 2022-01-13 16:12:02 -05:00
tildearrow 0b352ecd9a add AY-3-8910 platform!
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow 651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38:26 -05:00
tildearrow 5637639950 waveform width/height controls 2022-01-11 03:16:32 -05:00
tildearrow 5bcc3d5d6d absolute C64 filter macros!
exclusive to .fur format
2022-01-10 17:04:31 -05:00
tildearrow 9f6bb570c9 absolute C64 duty macros!
exclusive to .fur format
2022-01-10 16:54:58 -05:00
tildearrow 9b6db75d4f C64: use full cutoff/duty range
this means .dmf becomes a second-class citizen since it only supports a
range of 0-100 (yeah) for arbitrary reasons...

the last bit to do is add effect that allows you to use the full range
2022-01-09 17:00:52 -05:00
tildearrow e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow dc5990a37e a lot of master system fixes!
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow 3e34c60b32 fix volume after note off 2021-12-29 00:52:20 -05:00
tildearrow 0479650597 C64: fix volume not being set after skip 2021-12-28 01:20:48 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow 772aac5806 fix crash when muting in ext ch mode 2021-12-27 16:47:37 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 1605f4f3c0 better global pitch effect
still work in progress
2021-12-27 16:15:11 -05:00
tildearrow 7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00