Commit graph

2036 commits

Author SHA1 Message Date
tildearrow
4d44c577e7 support saving 8-bit samples as-is 2022-06-16 23:22:40 -05:00
tildearrow
cdbcf7fcd3 fix loading 8-bit samples 2022-06-16 22:10:57 -05:00
tildearrow
327952f3f4 finally support loading floating-point samples 2022-06-16 22:07:12 -05:00
tildearrow
ed6a110d44 initialize SF_INFO before loading sample 2022-06-16 21:25:21 -05:00
cam900
0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
Natt Akuma
c44ca95b92 Make volume command handling consistent
For WonderSwan and VIC-20
2022-06-17 03:06:07 +07:00
tildearrow
dc9f1112d1 MSM6258: fix rate being twice
#541
2022-06-14 23:00:20 -05:00
tildearrow
d48801cfde GUI: slight visualizer tweaks 2022-06-14 04:41:57 -05:00
tildearrow
da756bef7f OPL: fix 4-op channel muting 2022-06-12 23:22:45 -05:00
Natt Akuma
47768edd20 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-06-10 23:00:03 +07:00
Natt Akuma
b49b596fbe WIP SNES support, part 2
Make the code build again, still no sound though
2022-06-10 22:59:44 +07:00
tildearrow
dd05429c0e WaveSynth: initialize wave to 0 on SCC/Bubble Syst 2022-06-09 18:16:51 -05:00
Natt Akuma
f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
ZeroByteOrg
8ed02530f6 Added WriteUC wrapper to safewrite for unsigned char. 2022-06-07 22:08:04 -05:00
ZeroByteOrg
7ad4a8f5a7 Fixed compile error in MacOS 2022-06-07 20:24:50 -05:00
cam900
6aa88b0770 Move on .cpp, prepare for variable rate support 2022-06-08 10:10:55 +09:00
ZeroByteOrg
d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
cam900
7bbfe3af7c Fix per-channel osc 2022-06-07 23:59:50 +09:00
cam900
dd93f6d18e Merge branch 'master' into preset1 2022-06-07 13:04:17 +09:00
cam900
3e953f57b3 Prepare for TI-99/4A support
only works on MAME core only for now.
2022-06-07 12:57:09 +09:00
tildearrow
6dc408d99c SAA1099: remove MAME core
closes #529

the MAME core is inaccurate.
it doesn't emulate envelope too well.
2022-06-06 15:05:08 -05:00
tildearrow
d3a3473f19 commit requested changes 2022-06-06 13:32:57 -05:00
ZeroByteOrg
378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
cam900
74e3892fd9 Finally fixed 2022-06-06 23:26:22 +09:00
cam900
8bc545c8ab Fix compile (again) 2022-06-06 22:45:16 +09:00
cam900
5473b8722d Fix compile, Remove unused include 2022-06-06 19:52:13 +09:00
cam900
ebbd9784e6 Reduce more FM codes 2022-06-06 19:40:37 +09:00
cam900
d1aeabe464 Fix compile 2022-06-06 19:26:34 +09:00
cam900
35caab6f82 Merge branch 'master' into preset1 2022-06-06 19:09:12 +09:00
cam900
e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow
64fa5f804b finish fade out on audio export option 2022-06-06 04:00:56 -05:00
tildearrow
b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow
5a0a9db9c3 highlight cur row instead of next one on playback 2022-06-06 01:05:06 -05:00
tildearrow
2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow
af0103d76e macroInt: add hasRelease variable 2022-06-05 16:24:12 -05:00
tildearrow
05ffc98ed1 MSM6258: the final bits 2022-06-04 17:58:19 -05:00
tildearrow
05c2fb357f MSM6258: clock/rate selection 2022-06-04 17:51:59 -05:00
tildearrow
fc34474d6e MSM6258: prepare for rate changing 2022-06-04 16:52:42 -05:00
tildearrow
91621fe0f5 YM2612: DualPCM per-channel osc
fixes #516
2022-06-04 01:03:58 -05:00
tildearrow
a550c4cb30 YM2612: more DualPCM muting fixes 2022-06-04 01:00:29 -05:00
tildearrow
641648ca0f YM2612: fix DualPCM muting
issue #516
2022-06-04 00:50:53 -05:00
tildearrow
1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -05:00
tildearrow
a6b33d0955 PC speaker: don't use printf/perror 2022-06-03 16:32:07 -05:00
tildearrow
71b4bf5fdd YM2612: CSM arpeggio and slides 2022-06-03 16:21:42 -05:00
tildearrow
b4a7f0f5b7 YM2612: - C S M -
CSM only available with Nuked core
may not work on VGM export if you compress VGM (removes timer A writes)
2022-06-03 16:13:57 -05:00
tildearrow
59ba156cdf YM2612: half-working CSM 2022-06-03 15:54:49 -05:00
tildearrow
365e466611 YM2612: earliest completely untested CSM work 2022-06-03 14:10:28 -05:00
tildearrow
0895789539 YM2612: fix DAC output not visible in per-chan osc
issue #515
2022-06-03 01:47:31 -05:00
tildearrow
94dae570e0 fix Ubuntu build 2022-06-03 01:40:09 -05:00
tildearrow
cc80bfbd81 PC speaker: add alternative output methods 2022-06-03 01:18:32 -05:00
tildearrow
37539157be PC Speaker: timing improvements 2022-06-02 23:27:28 -05:00
tildearrow
50bdbb784a oh no 2022-06-02 03:21:00 -05:00
tildearrow
e2f3a89513 test 2022-06-02 02:59:07 -05:00
tildearrow
131bef2689 SMS: fix per-channel osc when using Nuked core 2022-06-02 02:01:48 -05:00
tildearrow
ddcd76328d add ability to move sub-songs 2022-06-01 18:50:30 -05:00
tildearrow
2da92b0433 newVolumeScaling, part 4 (final) 2022-06-01 18:27:06 -05:00
tildearrow
ad1ed7fe35 newVolumeScaling, part 3 2022-06-01 18:10:50 -05:00
tildearrow
e94d1b857f newVolumeScaling, part 2 2022-06-01 18:02:34 -05:00
tildearrow
8141574d3c newVolumeScaling, part 1 2022-06-01 17:50:26 -05:00
tildearrow
8bfcf00203 prepare for impl of the final compat flag 2022-06-01 16:35:39 -05:00
tildearrow
140318f8d3 SMS: prepare for an arp+porta fix 2022-06-01 15:15:32 -05:00
tildearrow
42d98f0894 SegaPCM: finally implement new behavior 2022-06-01 13:58:39 -05:00
tildearrow
a298ec2177 oops 2022-05-31 19:03:31 -05:00
tildearrow
1be93d9bbb implement brokenOutVol compat flag
#341
2022-05-31 19:03:26 -05:00
tildearrow
b8a0084587 implement volMacroLinger compatibility flag
issue #425
2022-05-31 18:34:23 -05:00
tildearrow
9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
cam900
2e97e63b26 Forgot this 2022-05-31 14:11:43 +09:00
cam900
9c4dc2b978 Fix wrong link, Add modifier and contributor disclaimer in vgsound_emu core 2022-05-31 14:06:16 +09:00
cam900
443448c65b Fix dead links 2022-05-31 13:52:36 +09:00
tildearrow
fc0a51ed56 GUI: add oscilloscope window size setting
and also remember last zoom/winSize value
2022-05-30 21:40:07 -05:00
tildearrow
2119675b10 OPN: fix 11xx not working on ExtCh
issue #503
2022-05-30 21:21:42 -05:00
tildearrow
4abfd4f097 FM: change the kick label
issue #310
2022-05-30 18:40:26 -05:00
tildearrow
e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -05:00
tildearrow
495aec86bd fix addOrder() undefined behavior 2022-05-30 14:02:54 -05:00
tildearrow
394a315c4a ZX beeper: drum muting hotfix 2022-05-30 00:07:24 -05:00
tildearrow
9b7145d2b0 harden wavetable loader 2022-05-29 22:21:37 -05:00
tildearrow
23d9cd6d9a fix major extended op macro corruption 2022-05-29 22:01:45 -05:00
tildearrow
1ed5be887b MSM6295: fallback rate 2022-05-29 13:29:58 -05:00
tildearrow
1cb07eb1a2 MSM6295: add more rates 2022-05-29 13:29:18 -05:00
tildearrow
84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05:00
tildearrow
13ff89f962 VGM export: fix oops 2022-05-28 22:18:38 -05:00
tildearrow
08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -05:00
tildearrow
f8796f8ec9 MSM6295: VGM export! 2022-05-28 18:15:26 -05:00
tildearrow
b8671afa39 oops 2022-05-28 17:45:44 -05:00
tildearrow
cc87d1502c MSM6295: add rate select effect (20xx) 2022-05-28 17:45:34 -05:00
Ian Karlsson
5378974b96 Save the size of each block in a Furnace module 2022-05-27 21:42:14 +02:00
ZeroByteOrg
b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
tildearrow
68cc84253c dev99 - major Fractal system change
7 channels instead of 8 - CSM only supported on ExtCh system
2022-05-27 05:13:10 -05:00
tildearrow
a776129c3d dev98 - YM2612: add Fractal system
partially done
2022-05-27 04:02:53 -05:00
tildearrow
0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
tildearrow
9d6d84a87f Lynx: sample looping 2022-05-27 01:36:05 -05:00
tildearrow
d6282c6949 Lynx: fix PCM mode volume 2022-05-27 01:20:57 -05:00
Waldemar Pawlaszek
65817f7589
Merge branch 'tildearrow:master' into master 2022-05-27 08:11:32 +02:00
Waldemar Pawlaszek
70aa8f7682 Lynx: using DAC output for PCM 2022-05-27 08:10:34 +02:00
tildearrow
1540705b75 WaveSynth: fix it....... again. 2022-05-27 00:35:35 -05:00
tildearrow
efaca3b094
Merge pull request #496 from cam900/largecolumns_alt
Allow more than 64 columns in Dear ImGUI (patched)
2022-05-27 00:19:21 -05:00
tildearrow
061b312943 SMS: volume table is now non-float 2022-05-26 23:46:42 -05:00
cam900
67a7f39d9a Allow more than 64 columns in Dear ImGUI (patched)
Improves Channel window displays, with System info.
2022-05-27 13:38:45 +09:00
tildearrow
905aa1b1a1 SMS: add TI PSG volume table 2022-05-26 23:19:27 -05:00
tildearrow
7e938c869d
Merge pull request #484 from grauw/y8950-adpcm-fix
More Y8950 ADPCM fixes
2022-05-26 21:50:51 -05:00
tildearrow
0577aa3569 SMS: early Nuked-PSG modding 2022-05-26 19:00:14 -05:00
tildearrow
e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow
4874e91bb0 FDS: a bit more 2022-05-26 18:09:46 -05:00
tildearrow
6d441c2ffd FDS: set a post-amp value 2022-05-26 18:07:59 -05:00
tildearrow
a52f71ba32 FDS: fix NSFplay core low pass filter precision
closes #427
2022-05-26 18:03:57 -05:00
tildearrow
7cf853797a fix .dmf saving 2022-05-26 17:42:30 -05:00
tildearrow
9d36cf5ff0 fix compilation on GCC 12 2022-05-26 13:31:17 -05:00
tildearrow
4b91669e58 Lynx: why did I not commit this 2022-05-26 03:37:34 -05:00
tildearrow
6260bcef54 Lynx: more sample improvements 2022-05-26 00:50:11 -05:00
tildearrow
b0c8cfc1f6 Lynx: sample improvements 2022-05-26 00:39:15 -05:00
tildearrow
1811a95e76 Lynx: add sample support! 2022-05-26 00:29:04 -05:00
tildearrow
49a8f77cf1 WaveSynth: fix phase modulation - again 2022-05-25 23:46:07 -05:00
Laurens Holst
4b4bc98417 Stop / reset Y8950 ADPCM before restarting.
The emulation core treats every write to register 7 with start bit set as
a retrigger. This is not how the real hardware behaves.
2022-05-26 03:48:49 +02:00
tildearrow
93a4e3d688 WaveSynth: fix phase modulation
fixes #481
2022-05-25 00:34:35 -05:00
tildearrow
42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
Laurens Holst
a19090ab9b Correct VGM chip ID for Y8950 reset. 2022-05-24 22:08:01 +02:00
tildearrow
eb926a668d MSM6258: it works 2022-05-24 00:24:52 -05:00
tildearrow
8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
Laurens Holst
fc7b94876d Fix Y8950 ADPCM samples.
Reverting back to before 70ead337f3, and setting register 8 to 256Kbit RAM mode.
This is what MSX has natively, and allows for the most compact sample storage with
only 4 byte alignment.

Additionally, setting register 8 before writing the start / stop addresses.

Back story:

VGMPlay MSX only supports Y8950 256K DRAM mode and ROM mode (for the latter
it makes sure address writes are shifted). 64K DRAM mode is not supported because
it’s not used by anything and the addresses are specified weirdly with some middle
bits having to be masked out.

The original code in Furnace before the change 70ead337f3 was almost correct except
it needed to set register 8 to 0 to select the 256K DRAM mode. It was set to ROM mode
so the address shift did not match up.

After 70ead337f3 (address shift change) it was also more or less correct except in
“furnacePCM” direct-sample mode the shift was not updated accordingly.

In 1a446c1cdd it selected 64K RAM mode, but for this the addresses need to be specified
differently (see Y8950 manual page 18), and it’s not really the best choice anyway.
2022-05-24 00:51:13 +02:00
tildearrow
f8d851cbc2 the Namco C163 trial 2022-05-23 16:01:35 -05:00
tildearrow
402a1d06cf more chip naming improvements 2022-05-23 15:28:38 -05:00
tildearrow
278979a2f2 change names of 15xx/CUS30 to C15 and C30 2022-05-23 15:08:29 -05:00
tildearrow
ff1263aadf ASDFGHJK 2022-05-23 03:43:33 -05:00
tildearrow
ced2940336 MSM6295: per-channel osc and muting 2022-05-23 03:18:56 -05:00
tildearrow
d3edc58cb1 MSM6295: add clock rate flag 2022-05-23 03:13:22 -05:00
tildearrow
59a722d04a MSM6295: a bit more polishing 2022-05-23 02:56:43 -05:00
tildearrow
f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow
133b213998 OPL: new forceIns strategy 2022-05-23 00:18:50 -05:00
tildearrow
519bf244b9 OPL: fix kick volume in drums mode 2022-05-23 00:07:32 -05:00
tildearrow
1a446c1cdd Y8950: let's see 2022-05-22 23:54:33 -05:00
tildearrow
2fa51e482a OPN(A/B/2/B-B): fix absolutely everything 2022-05-22 23:47:41 -05:00
tildearrow
3d4f2cfa13
Merge pull request #453 from grauw/scc-reset-period-counter
Reset period counter when writing to period registers.
2022-05-22 22:49:03 -05:00
tildearrow
82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow
3aa8ea3625 fix Cxxx/F0xx being delayed in low-latency mode 2022-05-22 22:36:48 -05:00
tildearrow
e17c99dcdf allow building Furnace without SDL2 and libsndfile
for eventual libfurnace
2022-05-22 19:01:50 -05:00
tildearrow
43981eb59f bring up MSM6295 core
vgsound_emu by cam900
2022-05-22 18:06:56 -05:00
tildearrow
98e9a4b28d MSM6258 emulator de-MAMEfication 2022-05-22 17:49:41 -05:00
tildearrow
393d1c018d dev97 - add old octave boundary compat flag 2022-05-22 13:25:59 -05:00
tildearrow
b40c95013a fix phase reset in FM chips after note off 2022-05-22 04:30:56 -05:00
tildearrow
806153fd8e finish wave synth! 2022-05-22 03:14:46 -05:00
tildearrow
5d0c89a59e Namco WSG: make non-linear slides faster
but linear is better
2022-05-22 00:10:42 -05:00
tildearrow
367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow
61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow
b38a1cfb55 implement some dual wave synth effects 2022-05-21 14:05:23 -05:00
tildearrow
70ead337f3 Y8950: fix ADPCM VGM export 2022-05-21 03:34:39 -05:00
tildearrow
315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow
9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow
c251ea2198 Namco WSG: muting 2022-05-21 01:40:28 -05:00
tildearrow
bc47d1ebcd Namco WSG: 8 channel WSG (15xx) now works 2022-05-21 01:39:00 -05:00
tildearrow
b17694c6a3 Namco WSG: 3 channel WSG now works 2022-05-21 01:34:43 -05:00
tildearrow
a9f9d6144a YM2612: change key on/off strategy 2022-05-20 23:54:19 -05:00
tildearrow
dacbeed858 Please enter the commit message for your changes. 2022-05-20 17:35:39 -05:00
tildearrow
c9833bd58e shhhhhhhhhhhh 2022-05-20 17:29:59 -05:00
tildearrow
6976e0b75f auto merge failed 2022-05-20 17:29:29 -05:00
Natt Akuma
5ed0efe961 Whoops 2022-05-21 03:36:11 +07:00
tildearrow
bd8e72e5b2 it doesn't work (yet) 2022-05-20 15:29:09 -05:00
Natt Akuma
27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +07:00
tildearrow
ddaedd7b92 YMZ280B: printf oops 2022-05-20 14:52:36 -05:00
tildearrow
d35e9e9661 freaking macOS 2022-05-20 14:48:08 -05:00
Natt Akuma
efd36d2982 YMZ280B: Fix full sample memory behavior 2022-05-21 02:42:23 +07:00
Natt Akuma
581f6d5d05 Merge branch 'master' of https://github.com/tildearrow/furnace into ymz280b 2022-05-21 02:34:51 +07:00
Natt Akuma
b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow
7b2237ffac we see it 2022-05-20 13:22:35 -05:00
OPNA2608
bccddc1a1d namco: Mark fallthrough cases
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-fallthrough
2022-05-20 11:07:24 +02:00
OPNA2608
602abdae74 Revert "oh my"
This reverts commit 1edf697230.
2022-05-20 11:00:46 +02:00
tildearrow
1edf697230 oh my 2022-05-20 03:23:56 -05:00
tildearrow
1742a0fbe5 AGAIN 2022-05-20 03:11:25 -05:00
tildearrow
c159f197e0 fix Windows build huh 2022-05-20 02:58:07 -05:00
tildearrow
251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow
0ef0296b7d fix non-linear pitch 2022-05-19 23:18:18 -05:00
tildearrow
58dc628a40 OPL: damn it 2022-05-19 23:06:11 -05:00
tildearrow
2c51234213 Y8950: ADPCM is quieter 2022-05-19 18:13:11 -05:00
tildearrow
976c1d3c0d VGM export: implement OPNA and Y8950 (partially)
see #459
2022-05-19 18:09:46 -05:00
tildearrow
b01ebb3487 OPN: VGM soft reset and ExtCh export 2022-05-19 17:46:41 -05:00
tildearrow
c2764591e0 ZX beeper: fix overlay drums 2022-05-19 17:02:16 -05:00
tildearrow
2ada4ee393 ZX beeper: implement overlay drums
1-bit samples up to 2048 bits in length triggered with 17xx
2022-05-19 11:10:00 -05:00
tildearrow
6ec8674072 SoundUnit: many fixes. implement effects 2022-05-19 04:36:26 -05:00
tildearrow
e63b83eeb3 remove AICA and X68000 ADPCM sample types 2022-05-19 04:35:39 -05:00
Natt Akuma
b70ea9af57 Change YMZ ADPCM type back to 3
Also fix some other mistakes
2022-05-19 12:39:38 +07:00
tildearrow
dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
Natt Akuma
4551c55818 Fix GCC errors 2022-05-18 21:46:14 +07:00
Natt Akuma
0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
tildearrow
2faf1c1d23 OPN/OPNB-B: fix ExtCh mode 2022-05-18 02:18:16 -05:00
tildearrow
cfa05143ab dev96 - add virtual tempo 2022-05-18 00:05:25 -05:00
tildearrow
68c32749ff PCE: fix two issues
- fix chip locking up on furnacePCM chans after seeking
- fix furnacePCM toggling causing volume macro to give up
2022-05-17 03:02:36 -05:00
tildearrow
d961f6f498 SegaPCM: fix samples bigger than 64KB 2022-05-17 02:38:13 -05:00
tildearrow
6438b28c11 SCC: implement VGM soft reset 2022-05-17 01:52:18 -05:00
tildearrow
c4614bff30 GUI: implement "clear all subsongs" 2022-05-17 01:42:21 -05:00
cam900
b6387c8547
Fix AY8910 envelope hangs 2022-05-17 11:14:22 +09:00
tildearrow
34d0925569 OPL: fix fixed frequency drums 2022-05-16 21:06:49 -05:00
James Alan Nguyen
fe11ec3877 pick nits 2022-05-17 11:42:10 +10:00
James Alan Nguyen
ec80a2218c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-17 11:36:34 +10:00
tildearrow
1675456693 AY: fix possible hang 2022-05-16 13:37:41 -05:00
tildearrow
e3d2faf427 OPLL: fix fixed drums freq 2022-05-16 05:06:26 -05:00
James Alan Nguyen
9e28fe81f1 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-16 20:01:53 +10:00
tildearrow
409d3c26af
Merge pull request #463 from grauw/opn-ay-type
Have OPN* platforms set the correct YM2149 chip type.
2022-05-15 17:03:47 -05:00
Laurens Holst
a292bc109d Have OPN* platforms set the correct YM2149 chip type.
They were setting the Sunsoft type, which doubled the frequency division since c5c612c354.
2022-05-15 20:46:38 +02:00
tildearrow
cddee6331e ZX beeper: clarify effects (will be done later) 2022-05-15 12:02:00 -05:00
tildearrow
85d9a52dee fix potential hangs in saveFur again 2022-05-15 11:37:15 -05:00
tildearrow
2fbc39bc90 N163: fix potential linear pitch regression
how in the world
2022-05-15 11:28:59 -05:00
tildearrow
1e6b660d2c OPN: hopefully several ExtCh fixes 2022-05-15 11:05:28 -05:00
James Alan Nguyen
e6ad01b0f3 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 18:46:45 +10:00
tildearrow
c5c612c354
Merge pull request #421 from cam900/ay_divider
Some AY-3-8910, AY8930 enhancements
2022-05-15 02:14:50 -05:00
tildearrow
5babb4fd1e BANK 2022-05-15 02:02:31 -05:00
tildearrow
d5db7775bd OPN: wire up ExtCh system 2022-05-15 02:00:36 -05:00
tildearrow
f63c072517 fix build failure 2022-05-15 01:55:25 -05:00
James Alan Nguyen
0e07b745c7 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 16:49:52 +10:00
tildearrow
c5786b61fb dev95 - multiple songs in a single file (READ)
experimental feature! proceed with caution.
if you experience song corruption or crashes, report issue immediately!

files with multiple songs will be readable in older versions of Furnace,
but only the first song will be read in those versions.

issue #199
2022-05-15 01:42:49 -05:00
tildearrow
14053f70cb DO NOT USE - THIS FAILS - WORK IN PROGRESS 2022-05-14 18:19:07 -05:00
tildearrow
06ec22d6a5 enforce asset limits 2022-05-14 17:51:05 -05:00
tildearrow
2fc637494f old .dmf loading improvements
- YMU759 samples are now properly loaded
- improvements to version 7 and 8 format handling
2022-05-14 17:23:33 -05:00
tildearrow
ce253230ce add AICA and YMZ ADPCM formats 2022-05-14 16:59:07 -05:00
tildearrow
ffe582236c harden .fur file saver 2022-05-14 16:03:21 -05:00
cam900
f62f6ed77b Fix AY VGM output, Fix presets 2022-05-15 00:58:00 +09:00
James Alan Nguyen
80e8a3155c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-14 23:22:57 +10:00
cam900
8e50ad8c90
Merge branch 'master' into ay_divider 2022-05-14 22:09:25 +09:00
tildearrow
6f8f8d21f3 preparations for UI improvements
mostly around the system add/change UI
2022-05-14 04:05:29 -05:00
tildearrow
107d5e1514 prepare for ExtCh OPN/OPNA 2022-05-14 02:38:20 -05:00
tildearrow
297ab01d4c OPN: per-channel oscilloscope 2022-05-14 01:12:23 -05:00
tildearrow
6288b485fc oops 2022-05-14 01:09:24 -05:00
tildearrow
06e00ab17b OPNA: per-channel oscilloscope 2022-05-14 01:07:32 -05:00
tildearrow
ae5dcd3746 OPNA: proper ADPCM muting 2022-05-14 01:05:05 -05:00
tildearrow
031a0fc133 OPNA: RSS write optimization 2022-05-14 01:02:28 -05:00
tildearrow
c685b60a3c ZX beeper: "register" view 2022-05-14 00:36:45 -05:00
tildearrow
cb63921747 ZX beeper: set a more audible duty 2022-05-14 00:31:14 -05:00
tildearrow
895765b68a and here's your ZX beeper
no real hardware yet
specs of this dispatch may change at any time to fit a driver
2022-05-14 00:22:23 -05:00
tildearrow
0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow
07871eacc3 Amiga: linear pitch oopsie 2022-05-13 22:55:17 -05:00
tildearrow
d7ec3b13c5 ADPCM-B: fixes to compatible mode 2022-05-13 22:43:00 -05:00
tildearrow
14e0189993 WonderSwan: fix forceIns() messing with noise 2022-05-13 21:44:34 -05:00
tildearrow
77481f23cb prepare to implement sample map 2022-05-13 18:46:52 -05:00
tildearrow
9936c66184 OPL: remove printf 2022-05-13 17:41:13 -05:00
tildearrow
106ebb52fa fix loading of pre-0.4 .dmf modules 2022-05-13 17:41:01 -05:00
tildearrow
1ffbfe17d4 Y8950/YMU759: ADPCM muting 2022-05-13 17:40:05 -05:00
tildearrow
315018ff24 YMU759: ADPCM 2022-05-13 17:22:00 -05:00
tildearrow
7218710268 add Y8950 system 2022-05-13 16:52:44 -05:00
Laurens Holst
e2c1233b12 Reset period counter when writing to period registers.
This is what happens on real SCC. See also e.g. openMSX core:
https://github.com/openMSX/openMSX/blob/master/src/sound/SCC.cc#L390

To reduce the noise introduced by this, we add extra checks to only
write the period when it has actually changed.
2022-05-13 22:33:01 +02:00
tildearrow
4a563a416e prepare for Y8950/YMU759 ADPCM 2022-05-13 14:59:36 -05:00
tildearrow
db2ebc4930 OPNA: improvements 2022-05-13 03:18:14 -05:00
tildearrow
f2db15b2ce add OPNA chip (work in progress) 2022-05-13 02:52:43 -05:00
tildearrow
1b4256bb28 spelling change: Rom -> ROM - PLEASE READ
@Grauw: please update your MultiPCM code.
i know it's just a trivial change I made, but in my opinion "ROM"
indicates it's an acronym...
2022-05-12 22:15:03 -05:00
tildearrow
9bac00efe5
Merge pull request #448 from grauw/sample-rom-settings
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 22:10:25 -05:00
Laurens Holst
c29f18dfc2 Add emulation settings for YRW801, TG100 and MU5 sample ROMs. 2022-05-12 20:18:01 +02:00
tildearrow
cdf4c55f0f SCC: fix forceIns (finally)
fixes #447
2022-05-12 02:39:46 -05:00
tildearrow
4e2e542c7a OPN: implement muting and remove panning 2022-05-12 02:25:59 -05:00
James Alan Nguyen
1254aec805 Fix GYBv3 load with safer offset load 2022-05-12 11:00:25 +10:00
James Alan Nguyen
63d2e12c27 Address review comments (missed these) 2022-05-12 10:55:47 +10:00
James Alan Nguyen
4354e4064b Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-12 09:57:11 +10:00
tildearrow
c6bfc8178a
Merge pull request #444 from akumanatt/x16
VERA: halve output volume to match other PSGs
2022-05-11 16:08:16 -05:00
tildearrow
ff0319780e OPN: VGM export - good night 2022-05-11 03:41:02 -05:00
tildearrow
ab969c1da0 add OPN chip
pretty much copy-paste from YM2610B code

next up: even more blatant copy-paste in 2608
2022-05-11 03:29:03 -05:00
Natt Akuma
e48faa4114 VERA: halve output volume to match other PSGs
In terms of maximum single-channel output.
X16's mixing is kept by halving YM2151 part.
2022-05-11 15:22:17 +07:00
tildearrow
431b6b5957 fix 09xx, 0Bxx, 0Dxx and 0Fxx being ignored on ED 2022-05-11 02:42:05 -05:00
tildearrow
955cd48fcf SCC: SCC+ and dual-SCC VGM export 2022-05-11 02:32:08 -05:00
tildearrow
35ff5430d3 SCC: VGM export, forceIns bug fix and 10xx 2022-05-11 02:20:14 -05:00
tildearrow
0c0a97c21b SCC: address review comments 2022-05-11 01:13:21 -05:00
tildearrow
8eb4fe365b
Merge pull request #443 from akumanatt/scc
Add SCC and SCC+ support
2022-05-11 01:09:08 -05:00
tildearrow
14517c9cf9 full linear pitch is now the default
the future
2022-05-11 00:51:53 -05:00
tildearrow
1c6e9c2cca add a full linear pitch mode, part 7
fix full linear pitch on OPL, OPLL, SAA1099 and Sound Unit
2022-05-11 00:26:28 -05:00
tildearrow
ea118db499 X1-010: implement linear pitch (part 6) 2022-05-11 00:18:46 -05:00
tildearrow
90ac64f1d4 VERA: implement full linear pitch (part 5) 2022-05-11 00:11:24 -05:00
tildearrow
f4652e6582 YM2610(B): implement full linear pitch (part 4) 2022-05-11 00:04:36 -05:00
tildearrow
a7e6323db9 add a full linear pitch mode, part 3
round frequency/period
2022-05-10 23:42:24 -05:00
tildearrow
f5dbc37902 YM2612: implement full linear pitch (part 2) 2022-05-10 23:17:40 -05:00
tildearrow
aad5d818f2 YM2612: early full linear pitch experiment
u n t e s t e d
2022-05-10 16:22:40 -05:00
Natt Akuma
00414c6504 Fix GCC errors 2 2022-05-11 00:29:17 +07:00
Natt Akuma
960a8e3616 Fix GCC errors 2022-05-10 17:36:09 +07:00
tildearrow
8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -05:00
tildearrow
5e14177e4e YM2610(B): use f-num/block baseFreq calculation
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
Natt Akuma
a3fc76c984 Add SCC and SCC+ support 2022-05-10 11:25:10 +07:00
cam900
a8258d9a1a Divider related emulation core update, Fix init and period limitation 2022-05-10 13:18:02 +09:00
cam900
a9a249fd4c Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace: (24 commits)
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  ...
2022-05-10 09:03:03 +09:00
James Alan Nguyen
0e077432fc Compilerscheiße pedantisch uberprufen 2022-05-09 21:43:03 +10:00
James Alan Nguyen
da6a6f514c Fix 2x2op WOPL load 2022-05-09 21:22:21 +10:00
James Alan Nguyen
87ffcf2b27 Adjust seek-ends since exact data reads should be correct. 2022-05-09 21:22:21 +10:00
James Alan Nguyen
ef4a60e095 WOPL progress! 2022-05-09 21:22:21 +10:00
James Alan Nguyen
158163312b WOPN redpath 2022-05-09 21:22:21 +10:00
James Alan Nguyen
f8ffe04869 WOPN complete 2022-05-09 21:22:21 +10:00
James Alan Nguyen
25abf4c733 WOPN progress 2022-05-09 21:22:21 +10:00
James Alan Nguyen
77af4fda2a Remove unused/duplicate code, add stringNotBlank(str) checks 2022-05-09 21:22:21 +10:00
James Alan Nguyen
1c88e20fa7 OPM parser tidyup, GYBv1/2/3 foundation support done, BNK parser cleanup 2022-05-09 21:22:21 +10:00
James Alan Nguyen
e289ba652d GYBv3 sorta loading... just need to fix up some read issues 2022-05-09 21:22:21 +10:00
James Alan Nguyen
7ae72f0fe4 Rebase fix and move reused fileIns lambdas into cpp static functions (since effectively private) 2022-05-09 21:22:20 +10:00
James Alan Nguyen
7cd0d728b2 Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen
66b0589959 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen
b9e51ab97f GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen
60d2f54ac0 Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
James Alan Nguyen
c9f289e44a Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen
f720e0af47 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen
df1cb0e7fa HOTFIX: Better token handling and simplify clear string comparisons 2022-05-09 21:22:20 +10:00
James Alan Nguyen
744735cca8 GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen
9bc9468baa Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
tildearrow
0c24ee2f08 OPZ: remove debug printf 2022-05-08 22:40:14 -05:00
tildearrow
40e992cc6f prepare for something 2022-05-08 15:59:42 -05:00
Mahbod-Karamoozian
8d57e3cddf
Update sysDef.cpp 2022-05-08 12:00:16 +04:30
tildearrow
2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow
38b4d1d39e OPL: drum volume 2022-05-07 21:58:17 -05:00
tildearrow
6fe58a3965 OPL: implement hard reset
fixes #437
2022-05-07 21:48:29 -05:00
tildearrow
24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
cam900
9df2500195 Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Fix more MSVC warnings
2022-05-07 23:04:01 +09:00
cam900
0b0a6dbf28 Fix divider again, split tone and envelope clock divider 2022-05-07 23:00:22 +09:00
tildearrow
b2953e00fe OPL: fix 4-op muting (I think)
fixes #435
2022-05-06 23:52:14 -05:00
cam900
3c7ce65db7
it isn't necesaary 2022-05-06 19:18:55 +09:00
cam900
76997fd5ba
Merge branch 'master' into ay_divider 2022-05-06 19:17:34 +09:00
tildearrow
05af3c147a .ftm loading progress (incomplete, not working) 2022-05-06 01:26:49 -05:00
tildearrow
509e46417f OPZ: fix fixed frequency effects 2022-05-06 00:09:49 -05:00
tildearrow
5974e8c045 OPZ: fix EGShift emulation
1. the TX81Z has operators in reverse order
2. don't early out if EGShift is not 0
2022-05-05 23:50:15 -05:00
Laurens Holst
3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow
9a2938ff3e GUI: fix values button working as notes 2022-05-05 13:23:06 -05:00
tildearrow
9915fc0c8f GUI: add "don't display multi-system" option 2022-05-05 00:52:15 -05:00
cam900
9109d2c64f Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  dev92 - GUI: customizable channel collapsing!
  GUI: more improvements to instrument loading
  GUI: implement instrument load replace
  NES: fix duty effect not working at all
  GUI: part 2 of previous commit
  GUI: only use edit color when pat view is focused
  GUI: fix more issues
  here's the new OPLL default instrument
  OPL: fix channel muting - PLEASE READ!
  OPLL: fix compatible drum mode
  the final part of extra FM effects
  implement extra FM effects (OPLL and OPL)
  update to-do list
  prepare for possible .ftm import
  implement extra FM effects (OPN, OPM and OPZ)

# Conflicts:
#	src/engine/engine.h
2022-05-05 13:39:58 +09:00
cam900
7b91045bac Add documents
Important: it will break previously baked modules with 5B and AY8930
2022-05-05 13:38:10 +09:00
tildearrow
202a528477 dev92 - GUI: customizable channel collapsing! 2022-05-04 23:36:03 -05:00
tildearrow
6aefd392ff NES: fix duty effect not working at all 2022-05-04 22:04:18 -05:00
tildearrow
99b5afd4da here's the new OPLL default instrument
piano_guitar_idk by Weeppiko
2022-05-04 18:20:15 -05:00
tildearrow
b75336bcb6 OPL: fix channel muting - PLEASE READ!
**SUBMODULES UPDATED** - Nuked-OPL3 is no longer a submodule as I
had to directly modify the core for this
if you mess up while removing Nuked-OPL3 from your repo, delete
everything and clone again

fixes #414
2022-05-04 18:06:32 -05:00
tildearrow
e50df18393 OPLL: fix compatible drum mode 2022-05-04 17:43:06 -05:00
tildearrow
6e7b4d7e7f the final part of extra FM effects 2022-05-04 17:39:22 -05:00
tildearrow
897bf323f2 implement extra FM effects (OPLL and OPL) 2022-05-04 16:56:45 -05:00
tildearrow
467036df2a implement extra FM effects (OPN, OPM and OPZ)
issue #38
2022-05-04 14:09:43 -05:00
cam900
4f1ebc3b6e Some AY-3-8910, AY8930 enhancements
Fix AY PSG clock divider function when exists, Update emulation core (MAME AY PSG and compatibles - includes noise routine updates)
Fix configuration flag, Add MSX Darky sound expander to preset

Clock divider isn't affected to expanded mode's tone and noise generator?
2022-05-04 23:04:20 +09:00
tildearrow
28e7b86728 fix sample saving 2022-05-03 17:41:10 -05:00
tildearrow
30e60f643c add extra FM effects to effect post handler
see #38
the last thing left to do is to put these effects on the dispatch code
2022-05-03 17:37:17 -05:00
tildearrow
9dfa2f9cbb dev91 - it's a breaking change 2022-05-03 16:53:25 -05:00
tildearrow
391928af6e
Merge pull request #416 from grauw/ay8930-fix2
AY8930: Fix tone and noise period in expanded mode.
2022-05-03 16:51:50 -05:00
tildearrow
1a6a132a59 aaaaaa 2022-05-03 16:22:24 -05:00
Laurens Holst
49ff39abee AY8930: Fix tone and noise period in expanded mode.
By doubling the internal clock frequency.

In expanded mode, the same tone period is an octave higher than in compat mode.
In expanded mode, the noise period is twice as fast as currently implemented.

See https://github.com/tildearrow/furnace/pull/416
2022-05-03 21:28:10 +02:00
tildearrow
978b0798e5 OPL: fix possible crash 2022-05-03 14:04:38 -05:00
tildearrow
4c9b172b50 YM2610: optimize oscilloscope fetch CPU usage 2022-05-03 02:52:38 -05:00
tildearrow
b8a2c90b61 GUI: add audio load meter to statistics 2022-05-03 02:29:12 -05:00
tildearrow
3d541682e6
Merge pull request #412 from grauw/ay8930-vgm
AY8930: Fix VGM output.
2022-05-03 01:53:41 -05:00
tildearrow
7d684654fc
Merge pull request #413 from cam900/osc_debug
Debug improvements
2022-05-03 01:51:18 -05:00
tildearrow
31a35e5395 better FM chip names 2022-05-03 01:29:31 -05:00
tildearrow
e40e7c0fef sysDef refactor, part 3 - PLEASE READ
to cam900 and grauw: I have moved the per-system effect processing code
to sysDef.cpp as lambdas
you may want to do the same when you pull this commit.
2022-05-03 01:23:38 -05:00
cam900
2412f688de Merge branch 'master' of https://github.com/tildearrow/furnace into osc_debug
* 'master' of https://github.com/tildearrow/furnace:
  document (NON-WORKING) extended op param effects
  FDS: add NSFPlay core
  NES: fix Furnace-style DPCM
  SoundUnit: fix PCM pitch
  SoundUnit: PCM support

# Conflicts:
#	src/gui/debugWindow.cpp
2022-05-03 10:23:36 +09:00
cam900
3f0c83eb45 Debug improvements
Add oscilloscope debug, Hideable sample debug
2022-05-03 10:20:20 +09:00
tildearrow
62289d924e FDS: add NSFPlay core 2022-05-02 16:53:55 -05:00
tildearrow
960048cf4b NES: fix Furnace-style DPCM 2022-05-02 16:05:07 -05:00
Laurens Holst
ffa0727bf6 AY8930: Fix VGM output.
It was generating writes to register addresses > 15.
2022-05-02 22:49:55 +02:00
tildearrow
ce40085d3b SoundUnit: fix PCM pitch 2022-05-02 15:07:59 -05:00
tildearrow
a6ef36d42e SoundUnit: PCM support 2022-05-02 14:51:06 -05:00
tildearrow
66f6ab4307 prepare for #38 2022-05-02 03:52:45 -05:00
tildearrow
5a724e4949 NES: DPCM work! 2022-05-02 03:42:40 -05:00
tildearrow
dbe9bf25e7 fix bug caused by new renderSamples approach
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow
a7b8f81da7 NES: prepare for DPCM 2022-05-02 02:12:14 -05:00
tildearrow
b92ce84b34 OPZ: more fixed frequency mode fixes 2022-05-02 02:12:02 -05:00
tildearrow
a0db8ab49a OPZ: possibly fix fixed freq emulation 2022-05-02 01:22:49 -05:00
tildearrow
34f7750c27 OPZ: fix muting 2022-05-02 01:15:42 -05:00
tildearrow
6380876b9a OPL: fix panning 2022-05-02 00:41:58 -05:00
tildearrow
5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow
7a67730c29 damn it 2022-05-02 00:23:03 -05:00
tildearrow
430d0329bd per-channel oscilloscope, part 10
OPZ
2022-05-02 00:22:34 -05:00
tildearrow
de09073232 NES: NSFPlay per-channel osc 2022-05-02 00:05:28 -05:00
tildearrow
61b4e3745f NES: NSFPlay muting 2022-05-01 23:57:53 -05:00
tildearrow
e1cec62af4 NES: now fix tri_mute 2022-05-01 23:48:35 -05:00
tildearrow
153e025cf8 NES: finally 2022-05-01 23:48:02 -05:00
tildearrow
9479a8aa0f fix typo in playback engine
possible memory leak
2022-05-01 23:29:00 -05:00
tildearrow
cb7aa4aa05 NES: wire up NSFplay
no muting supported for now
see #27
2022-05-01 23:20:20 -05:00
tildearrow
7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -05:00
tildearrow
e873070d84 now move these files 2022-05-01 22:22:02 -05:00
tildearrow
2c9bad3b3d per-channel oscilloscope, part 9
work in progress!
2022-05-01 18:29:16 -05:00
tildearrow
269f07f597 these are debug messages 2022-05-01 17:26:56 -05:00
Laurens Holst
7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
tildearrow
58fe971a3c Clang you are so arrogant 2022-05-01 05:18:30 -05:00
tildearrow
9f19b5dfc4 ok so screw you 2022-05-01 05:10:41 -05:00
tildearrow
05ae774617 let's hope this works 2022-05-01 04:49:41 -05:00
tildearrow
e1a02f64de attempt to fix CI 2022-05-01 04:30:04 -05:00
tildearrow
3a4f120120 per-channel oscilloscope, part 8
TIA is done
2022-05-01 04:01:25 -05:00
tildearrow
47f83c0472 per-channel oscilloscope, part 7
YM2610 and YM2610B
only TIA is left
2022-05-01 03:47:04 -05:00
tildearrow
415e490025 per-channel oscilloscope, part 6
YM2612 and OPM (ymfm)!
2022-05-01 03:12:32 -05:00
tildearrow
c0e9b48b5b per-channel oscilloscope, part 5
SAA1099 (SAASound and MAME), Lynx, MMC5, N163, PC Engine, PC Speaker,
PET, QSound, WonderSwan, VERA, VIC-20, VRC6 and X1-010!
2022-05-01 02:40:03 -05:00
tildearrow
dadfd7efee but PCE supports samples! 2022-05-01 00:58:10 -05:00
tildearrow
e1fd16637c per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN
plus hide unimplemented channels
2022-04-30 22:59:26 -05:00
tildearrow
ddcd486c61 YM2612: fix Furnace DAC mode glitching slides 2022-04-30 20:52:48 -05:00
tildearrow
1c3dcae05e per-channel oscilloscope, part 3
K00/C64/NES fixed
FDS, Game Boy and Sound Unit
2022-04-30 18:33:12 -05:00
tildearrow
c738ece374 per-channel oscilloscope, part 2
AY8930, K00, C64 and NES
2022-04-30 14:36:12 -05:00
tildearrow
fae3de53a9 maybe uninitialized 2022-04-30 04:30:33 -05:00
tildearrow
4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow
52c0044bd9 GUI: add ability to customize startup system 2022-04-30 01:37:37 -05:00
tildearrow
2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow
d16ee7ed45 sysDef oopsie 2022-04-29 15:36:03 -05:00
tildearrow
8500fa4c4c NES: add DMC write effect 2022-04-29 00:18:51 -05:00
tildearrow
abd42cbb03 SoundUnit: implement panning 2022-04-29 00:08:56 -05:00
tildearrow
5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
tildearrow
2ac0e8af42 further improve channel allocation 2022-04-28 18:32:24 -05:00
tildearrow
34c3473389 improvements to swap/stomp channel 2022-04-28 14:03:58 -05:00
tildearrow
8675cdf802 OPL 4-op note preview possible fix 2022-04-28 05:38:28 -05:00
tildearrow
3906fc1dd4 better channel allocation strategy
issue #376
2022-04-28 05:04:34 -05:00
tildearrow
859b2cf8db implement channel swapping
issue #378
2022-04-28 03:36:15 -05:00
tildearrow
d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow
77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow
66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow
4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow
3e9c0dd066 YMU759: update system definition 2022-04-27 23:32:20 -05:00
tildearrow
c0df205f2d more changes to autoNoteOn
now that there's a second prefer ins type, we get rid of DIV_INS_AMIGA check
2022-04-27 23:32:07 -05:00
tildearrow
f2b974acc5 SoundUnit: ring modulation 2022-04-27 22:57:36 -05:00
tildearrow
180ff2457d NES: fix audio resolution being too low 2022-04-27 20:36:32 -05:00
tildearrow
dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow
410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
tildearrow
3306e853d1 effectRows -> effectCols
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
tildearrow
8db3831ab6 fix MSVC oh my 2022-04-27 05:02:18 -05:00
tildearrow
78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow
24d60507e7 sysDef refactor, part 2
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
tildearrow
351c22cb77 sysDef refactor, part 1 - PLEASE READ NOTE
THIS WILL NOT COMPILE!!!
i'm still working on it

to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor

to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
2022-04-26 18:32:33 -05:00
tildearrow
e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
tildearrow
9eb9561b53 GUI: fix #400 2022-04-26 01:07:28 -05:00
tildearrow
28af57c4f0 fix metronome in low-latency mode 2022-04-26 00:22:49 -05:00
tildearrow
e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow
663e724111 I KNEW IT 2022-04-25 18:41:24 -05:00
tildearrow
b3f1935f2b GUI: prepare for more UX improvements
- add "temporary instrument" to DivEngine
- prepare for two things:
  - instrument preview on file picker (at least built-in one)
  - instrument selector for banks (#364)
2022-04-25 18:23:12 -05:00
tildearrow
2e52a2855c WonderSwan: fix noise phase reset 2022-04-25 18:07:49 -05:00
tildearrow
3e1c2197eb OPL: fix #369 2022-04-25 18:04:13 -05:00
tildearrow
2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow
1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow
17cf657f6a one more pitch calc fix 2022-04-25 11:52:05 -05:00
tildearrow
bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow
832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow
c84ff399d9 YM2612: fix negative octaves 2022-04-24 22:45:59 -05:00
tildearrow
52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow
bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow
f99ba810fe PC speaker: fix timer issue 2022-04-24 17:48:04 -05:00
tildearrow
521b311692 GUI: implement clear 2022-04-24 17:39:18 -05:00
tildearrow
bb4bc01778 Merge branch 'newpitch' 2022-04-24 14:41:12 -05:00
tildearrow
23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
James Alan Nguyen
798bc08431 verdammte compilerschieß 2022-04-24 14:04:56 +10:00
James Alan Nguyen
2b90bd6c66 = 0 2022-04-24 13:55:21 +10:00
James Alan Nguyen
2a48adfde8 Inline error 2022-04-24 13:43:56 +10:00
James Alan Nguyen
580cff9d32 Decided to EOF fail seeks beyond bounds 2022-04-24 12:37:49 +10:00
James Alan Nguyen
18f7dcc0b0 Address review comments 2022-04-24 12:31:37 +10:00
tildearrow
dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow
0e3dbdc1b2 this might fix it 2022-04-23 16:52:31 -05:00
James Alan Nguyen
6638941c9d Address unused stuff and CI fix 2022-04-24 04:34:32 +10:00
James Alan Nguyen
3865e3eac6 #79: OPNI support added...... 2022-04-24 03:49:01 +10:00
James Alan Nguyen
bb0253d82f Urgh why are your operators BACKWARDS FFS 2022-04-24 03:15:20 +10:00
James Alan Nguyen
6bd199923f OPLI progress... still figuring out correct readings 2022-04-24 02:37:25 +10:00
James Alan Nguyen
a049e43618 #79: .y12 import done 2022-04-24 00:45:19 +10:00
James Alan Nguyen
b8d9fab745 Start .y12 (Gens KMod/Kaneda) patch dump import 2022-04-24 00:29:33 +10:00
James Alan Nguyen
0f47a3ed7b Fix DT range 2022-04-23 23:40:58 +10:00
James Alan Nguyen
8ad827478c #79: OPM complete for now 2022-04-23 21:48:18 +10:00
James Alan Nguyen
3550ad512a OPM import: Fix reset read procedural flow 2022-04-23 20:20:29 +10:00
James Alan Nguyen
f716ac262d #79: OPM import progress and start everything else 2022-04-23 19:52:09 +10:00
tildearrow
f6b34a5bb0 huh? 2022-04-23 04:25:22 -05:00
tildearrow
dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow
943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow
8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow
4195715dc0 use good default instrument when adding ins 2022-04-21 02:29:20 -05:00
tildearrow
79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow
1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -05:00
tildearrow
d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow
b6026e76c5 SMS: fix noise pitch being odd on linear pitch off
issue #379
2022-04-19 18:10:43 -05:00