Commit graph

1872 commits

Author SHA1 Message Date
tildearrow
5ebee2bb2b Amiga: better emulation, part 10 2023-03-11 03:47:33 -05:00
tildearrow
a9c703df3e Amiga: better emulation, part 9 2023-03-11 03:37:23 -05:00
tildearrow
60766326fb Amiga: better emulation, part 8 2023-03-11 03:16:18 -05:00
tildearrow
698726174d Amiga: better emulation, part 7 2023-03-11 02:54:57 -05:00
tildearrow
1a80fb262d Amiga: better emulation, part 6 2023-03-11 01:42:13 -05:00
tildearrow
8fc6a71882 Amiga: better emulation, part 5 2023-03-10 18:51:00 -05:00
tildearrow
452846936f Amiga: better emulation, part 4 2023-03-10 13:45:46 -05:00
tildearrow
12a1d2ff3d Amiga: fix per-chan osc 2023-03-10 12:44:45 -05:00
tildearrow
e18caaca1d Amiga: better emulation, part 3 2023-03-10 05:29:20 -05:00
tildearrow
dca18dc726 Amiga: better emulation, part 2 2023-03-10 04:22:21 -05:00
tildearrow
6d33fadbc5 finish this later 2023-03-09 20:00:15 -05:00
tildearrow
c0b4cc0d63 Amiga: better emulation, part 1
prepare to actually emulate DMA operation
eventually poke() and register view will work
2023-03-09 17:46:45 -05:00
tildearrow
377dc8dd0f one more reference 2023-03-09 04:11:08 -05:00
tildearrow
5069cf65e3 Amiga: more accurate emulation
https://www.youtube.com/watch?v=xyQlmsD7PAg&t=403s

thanks TakuikaNinja for the info!
2023-03-09 03:37:14 -05:00
tildearrow
8c706f71a9 dev145 - Namco WSG: new noise strategy for C30 2023-03-09 02:55:22 -05:00
tildearrow
3651325940 SN: register view? 2023-03-06 04:21:10 -05:00
tildearrow
b4a1dd6663 QuadTone: 2023 2023-03-06 04:05:38 -05:00
tildearrow
ee37b78339 QuadTone: use Pokémon Mini ins type 2023-03-06 04:02:28 -05:00
tildearrow
74988df204
Merge pull request #1008 from akumanatt/quadtone
Alternative ZX Spectrum beeper sound engine
2023-03-06 03:37:47 -05:00
cam900
1e8ad16a68 More simpler 2023-03-06 12:26:31 +09:00
cam900
34131e52d5 Remove unnecessary value 2023-03-06 12:21:57 +09:00
cam900
46bce25a34 Merge branch 'master' of https://github.com/tildearrow/furnace into pv1000 2023-03-06 08:39:02 +09:00
cam900
c21d596ca4 Fix default instrument for SM8521 2023-03-06 08:32:51 +09:00
cam900
dd2d267ce1 Fix default instrument 2023-03-06 08:31:16 +09:00
cam900
6d5328beb3 Add volume (2 levels) 2023-03-06 08:02:31 +09:00
tildearrow
77f1ca3339 rename D65784221391491G18414119492 to PV1000
it probably was only used there anyway
2023-03-05 14:01:21 -05:00
Natt Akuma
fc2db92d4f Rename QT to QuadTone 2023-03-06 00:58:27 +07:00
cam900
dbd1f56a10 Add NEC D65010G031 support
chip flag and instrument color is placeholder
2023-03-05 14:01:44 +09:00
tildearrow
aa5c3ec28a a wavetable chip that breaks Furnace limits?! 2023-03-03 19:31:51 -05:00
tildearrow
223a00884e M114S? what's that? 2023-03-03 14:13:33 -05:00
tildearrow
d3c6d53819 SegaPCM: truly fix sample loop
issue #1005
2023-03-02 01:11:02 -05:00
tildearrow
6c76515ff9 Game Boy: don't use rand() 2023-03-01 15:23:20 -05:00
tildearrow
68c88aea02 NES: don't use rand() in NSFplay 2023-03-01 15:21:55 -05:00
tildearrow
814907c0a7 SM8521: don't use rand()
issue #1004
2023-03-01 15:15:17 -05:00
Natt Akuma
359d9c268c Fix sample frequency range 2023-03-01 13:56:28 +07:00
Natt Akuma
e0803d9bb1 Merge branch 'master' of https://github.com/tildearrow/furnace into quadtone 2023-03-01 12:58:27 +07:00
tildearrow
212968b925 OPZ: fix panning effect 2023-02-25 14:39:25 -05:00
tildearrow
7525a07936 SegaPCM: fix loop 2023-02-24 01:23:46 -05:00
tildearrow
f20da3e7e4 TIA: fix regression 2023-02-24 01:01:16 -05:00
tildearrow
c85a14409e
Merge pull request #993 from tildearrow/sm8521_anticlick
Temporary ignore SM8521 anti-click flag for now
2023-02-23 23:53:22 -05:00
cam900
a2f9c75724 Remove unused flag 2023-02-23 21:16:28 +09:00
cam900
84566844ca Temporary ignore SM8521 anti-click flag for now 2023-02-23 20:57:02 +09:00
Natt Akuma
5a15721ab7 Add QuadTone beeper engine 2023-02-18 22:43:29 +07:00
tildearrow
8313d0f518 let's try console 2023-02-14 01:02:35 -05:00
cam900
97bb0572b6 Possibly fix ES5506 sample offset command 2023-02-13 07:52:52 +09:00
tildearrow
e2e0afd18a ES5506: add a volume scale parameter 2023-02-12 02:11:03 -05:00
tildearrow
30ce6e9ed7 ughhhhhhhhhhhhhhhhhhhhhhhhhhh 2023-02-12 02:02:54 -05:00
tildearrow
11154923b0 ES5506: I am blowing up now 2023-02-12 02:02:22 -05:00
tildearrow
c9eb4482b0 ES5506: new vol/pan range is 4095 2023-02-12 01:48:02 -05:00
tildearrow
ede47cbf97 asdfgh 2023-02-12 01:25:28 -05:00
tildearrow
b62f0cd465 Revert "ES5506:Fixes?"
This reverts commit da6d0b1702.
2023-02-12 01:23:14 -05:00
tildearrow
2acc1b7de4 Revert "Reduce duplicates"
This reverts commit a1d83e869d.
2023-02-12 01:22:54 -05:00
tildearrow
d67339a791 Revert "Change to int"
This reverts commit 799d54106f.
2023-02-12 01:21:52 -05:00
tildearrow
cace96f445 Revert "Fix volume effect"
This reverts commit fc4b2718c0.
2023-02-12 01:21:34 -05:00
tildearrow
c980fc0986 Revert "cam WAIT"
This reverts commit a7843f5cdc.
2023-02-12 01:18:32 -05:00
tildearrow
5c95d7f513 Revert "VOL_CALC"
This reverts commit a0f1f98b2d.
2023-02-12 01:18:26 -05:00
tildearrow
a0f1f98b2d VOL_CALC 2023-02-12 01:13:55 -05:00
tildearrow
a7843f5cdc cam WAIT 2023-02-12 01:13:28 -05:00
tildearrow
0427c01f31 ES5506: fix volume slides 2023-02-12 01:08:52 -05:00
tildearrow
78d3f9d97f ES5506: one more percent off 2023-02-11 23:43:19 -05:00
tildearrow
5b52d9111b Merge branch 'master' into sm8521 2023-02-11 17:11:39 -05:00
tildearrow
79f6b9f5ec ES5506: ... 2023-02-11 17:06:14 -05:00
tildearrow
0533f10ef4 ES5506: and more optimization... 2023-02-11 16:11:39 -05:00
cam900
c38ed5f5ad Add clock divider note 2023-02-11 23:09:01 +09:00
cam900
13691c5482 Fix base clock 2023-02-11 23:08:01 +09:00
cam900
9d47582fbd Remove unused variable 2023-02-11 22:18:47 +09:00
cam900
0cd77c4ca7 Fix sign 2023-02-11 22:12:32 +09:00
cam900
d26f2149e7 Fix newline 2023-02-11 22:03:24 +09:00
cam900
28c6b1dc60 Fix copyright year 2023-02-11 22:02:00 +09:00
cam900
98b34ab7ce Output fix 2023-02-11 21:50:44 +09:00
cam900
07a1c57a5a Fix compile, Add SM8521 to list 2023-02-11 21:37:11 +09:00
cam900
0cb36206c4 anti-click 2023-02-11 21:11:32 +09:00
cam900
6c5e806fb2 Prepare for SM8521 2023-02-11 21:06:17 +09:00
tildearrow
c0190b81cb ES5506: optimize more 2023-02-11 04:21:15 -05:00
tildearrow
9cd6c397f3 ES5506: strip away rRead 2023-02-10 19:27:11 -05:00
tildearrow
9cd609e738 YM2612: fix per-chan osc overflow in 276 2023-02-10 18:47:31 -05:00
tildearrow
ece7e4460a YM2612: possibly fix per-chan osc in YMF276 mode 2023-02-10 18:22:34 -05:00
tildearrow
aa5b8795ed dev140 - YM2612: add YMF276 mode 2023-02-10 17:55:44 -05:00
tildearrow
6a01c83a9a PCM DAC: fix reverse interpolation 2023-02-10 17:19:05 -05:00
tildearrow
0165a19630 SoundUnit: change 1-bit PDM mode to 8-bit TDM 2023-02-10 16:25:51 -05:00
tildearrow
9ba9b7b4f5 SegaPCM: per-chan osc 2023-02-10 03:12:18 -05:00
tildearrow
6036366f38 SegaPCM: new real emulation core 2023-02-10 02:01:23 -05:00
tildearrow
0d424c7962 SegaPCM: prepare to actually emulate it 2023-02-09 19:11:27 -05:00
tildearrow
00b329b896 OPN/2/A/B: implement new op enable 2023-02-09 17:36:33 -05:00
tildearrow
782fee380f Merge branch 'master' of github.com:tildearrow/furnace 2023-02-09 14:03:29 -05:00
tildearrow
2542a10620 YM2612: change strategy for operator toggle 2023-02-09 14:02:54 -05:00
tildearrow
eb3914b849 GA20: fix mute again 2023-02-09 01:16:15 -05:00
cam900
ffe5ced7b9 Fix GA20 mute 2023-02-09 10:20:36 +09:00
tildearrow
1a0e30453b Amiga: fix yet another crash? 2023-02-08 04:10:30 -05:00
cam900
4137650bdb Partially fix frequency with note map 2023-02-07 11:14:32 +09:00
cam900
575fc03b2e Fix compile 2023-02-07 10:55:11 +09:00
cam900
84cca17140 Remove unused variable 2023-02-07 10:29:50 +09:00
cam900
c0f950a169 Fix frequency offset 2023-02-07 10:27:32 +09:00
cam900
6a0a05c127 Fix loop 2023-02-07 10:20:38 +09:00
cam900
29638cb5b0 Remove reversed loop support in ES5506 via driver complexity
Fix per-channel OSC
2023-02-07 10:09:33 +09:00
tildearrow
79ede020cf TIA: finally fix negative octaves
issue #44
2023-02-06 15:24:37 -05:00
tildearrow
0ab448350b SAA1099: big endian panning fix?
issue #649
2023-02-06 14:23:44 -05:00
tildearrow
0b2df4f7d4 SoundUnit: enough of bitfields, part 2 2023-02-06 14:14:50 -05:00
tildearrow
63d0eb46a9 SoundUnit: enough of bitfields 2023-02-06 14:02:20 -05:00
tildearrow
c4121ccfd6 ES5506: more optimization 2023-02-06 03:44:03 -05:00
tildearrow
bf0f424cca ES5506: fix mute 2 2023-02-06 03:22:11 -05:00
tildearrow
3a4057ece3 ES5506: optimize, part 1
man this core is so CPU heavy...
accuracy for what?
2023-02-06 03:00:25 -05:00
tildearrow
cdc472dace and fix IT AGAIN
I hate tabs
2023-02-06 01:25:59 -05:00
tildearrow
e7a95d4822 fix the pull request - again 2023-02-06 01:15:13 -05:00
tildearrow
8c2af08e5a fix the pull request
also what did that force push do? did I lose commits now?
2023-02-06 01:08:31 -05:00
cam900
0029e7fe85 typecasting 2023-02-06 12:40:33 +09:00
cam900
a15f1755d0 Fix per-channel OSC (again) 2023-02-06 12:39:42 +09:00
cam900
8beb46d8f6 Fix per-channel OSC 2023-02-06 09:40:12 +09:00
cam900
2c5dc0875a Address comments 2023-02-06 09:16:28 +09:00
cam900
03e0c8d8ee Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-06 08:56:14 +09:00
tildearrow
26739bba11 YM2612: fix CSM on ymfm
finally
2023-02-05 17:42:48 -05:00
tildearrow
b4df0b923b Merge branch 'master' into opn_volbalance 2023-02-05 04:58:03 -05:00
tildearrow
fda333a76b default SSG vol is now 128
to eliminate one shift
2023-02-05 04:57:09 -05:00
tildearrow
1fa45ec57d YM2612: why 2023-02-05 04:09:47 -05:00
tildearrow
3cacbe4434 TIA: fix non-working arp macro 2023-02-05 03:54:30 -05:00
cam900
dd79ae401b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-05 10:00:27 +09:00
tildearrow
beed67aaa1 BubSys: optimize 2023-02-04 17:22:16 -05:00
tildearrow
43ba2ff8f2 OPZ: implement LFO2
issue #831

untested and I can't test now
2023-02-03 17:00:15 -05:00
tildearrow
d49850f67f YM2612: fix per-chan osc overflow on ymfm 2023-02-02 03:16:10 -05:00
tildearrow
e6dfeebaee SoundUnit: emulator license
MIT license - I am the only one who wrote this specific piece of code
2023-02-01 14:39:35 -05:00
tildearrow
c31d143783 TIA: consistent pitch macro 2023-01-31 15:11:02 -05:00
tildearrow
a08c343f6d SCC: massive optimization 2023-01-29 17:17:15 -05:00
tildearrow
47293decd3 OPL: fix missing ADPCM channel in per-chan osc 2023-01-28 18:10:25 -05:00
tildearrow
4445103408 SN: 0x200?!
issue #945
2023-01-27 16:49:42 -05:00
tildearrow
c918ed3449 SoundUnit: big-endian again 2023-01-25 15:09:05 -05:00
tildearrow
76eb0ed097 SNES: consider echo buffer size 2023-01-24 04:13:01 -05:00
tildearrow
c17a541e93 OPN: fix forceIns() muting wrong ops in ExtCh 2023-01-24 03:44:55 -05:00
tildearrow
68c8a77498 SoundUnit: reset sample memory on reset() 2023-01-24 03:05:23 -05:00
cam900
9577303451 Update copyright years 2023-01-24 08:16:56 +09:00
cam900
3403e10b0b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-24 08:14:29 +09:00
tildearrow
7bdda990e1 OPL: partially implement new hard reset
it's so late
2023-01-20 04:52:27 -05:00
tildearrow
c0d1fe9c65 OPM/OPZ: new hard reset strat
also fix weird envelope after hard reset
2023-01-20 04:28:18 -05:00
tildearrow
45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
tildearrow
a5a3407d3b who used sprintf! 2023-01-19 19:01:31 -05:00
tildearrow
888af74c07 YM2610B: fix hard reset not working 2023-01-19 18:37:29 -05:00
tildearrow
b33ea8f0ac apply new hard reset strategy on all OPN chips 2023-01-19 18:22:48 -05:00
tildearrow
48a1e6a976 YM2612: new experimental hard reset strategy 2023-01-19 14:36:15 -05:00
tildearrow
231b5c3694 WonderSwan: make phase reset work 2023-01-19 03:57:29 -05:00
tildearrow
503e822a33 PCE: better noise frequency handling 2023-01-19 03:38:29 -05:00
tildearrow
cac807551f OPN/2/A/B: Seamless Legato Ins Change (ExtCh) 2023-01-19 03:15:41 -05:00
cam900
7340d029ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-19 16:51:27 +09:00
tildearrow
9bbc1e2c82 OPLL/OPL: Seamless Legato Ins Change 2023-01-19 02:45:02 -05:00
tildearrow
6832f92b99 OPM/OPZ: Seamless Legato Ins Change 2023-01-19 02:28:12 -05:00
tildearrow
1b05fe577d OPN/2/A/B: Seamless Legato Ins Change 2023-01-19 02:23:05 -05:00
tildearrow
c1e26ee749 fix more possible crashes when deleting ins
and added a fatal error if implementation is missing
2023-01-19 00:37:37 -05:00
tildearrow
fa6badc865 YM2612: notifyInsDeletion 2023-01-18 17:17:27 -05:00
tildearrow
72ca76ab7f TIA: whaaaaaaaaaaaaaaaaaaaaaaaaaaat? 2023-01-18 01:17:50 -05:00
tildearrow
1d446bd56b dev137 - new mixing volumes
YM2612 is now twice as loud
SN76489 and OPLL are 1.5x loud
X1-010 is four times louder
2023-01-17 01:11:08 -05:00
tildearrow
0383b0c50f YM2612: fix one more click... 2023-01-16 23:59:34 -05:00
tildearrow
13b782c7b1 YM2612: yet another fix 2023-01-16 18:41:56 -05:00
tildearrow
bf49b43e7b YM2612: fix another pop 2023-01-16 16:20:10 -05:00
tildearrow
2c528c9ca8 OPN: add LFO speed macro
issue #927
2023-01-16 16:10:34 -05:00
tildearrow
58f789b9eb YM2612: fix forceIns DAC clicking 2023-01-15 23:34:01 -05:00
cam900
16da587dec Possibly fix reversed loop with reversed playback 2023-01-16 10:08:10 +09:00
cam900
46865b3adb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-16 10:07:13 +09:00
tildearrow
bf2ef2742a YM2612: fix forceIns after sample 2023-01-15 18:05:48 -05:00
tildearrow
6c5f9886fb OPL: fix t/hh per-chan osc not being visib in OPL3 2023-01-15 02:10:24 -05:00
tildearrow
a3d20ac3fd WonderSwan: why does this not work 2023-01-15 01:46:34 -05:00
tildearrow
be79f80770 SoundUnit: separate flag register
issue #649
2023-01-15 00:40:57 -05:00
tildearrow
ed11b6cf78 Namco WSG: fix frequency overflow 2023-01-14 13:34:08 -05:00
tildearrow
73b399d00d freaking GCC and your artificial errors 2023-01-14 01:12:16 -05:00
cam900
fcc5b6e5eb Replace divider to shift 2023-01-14 11:55:40 +09:00
cam900
a8e388091a Merge branch 'master' of https://github.com/tildearrow/furnace into opn_volbalance 2023-01-14 11:51:46 +09:00
cam900
c995a52835 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-14 11:50:33 +09:00
tildearrow
a8eedea925 QSound: prevent negative memory capacity 2023-01-13 14:11:32 -05:00
cam900
ab532cca84
Fix free QSound ADPCM space calculation (#826) 2023-01-13 14:10:33 -05:00
tildearrow
169929ff9b ZX beeper: fix frequency range 2023-01-13 03:39:59 -05:00
tildearrow
ae007b3829 Lynx: fix frequency craziness 2023-01-13 01:22:15 -05:00
tildearrow
8d0090b0f3 X1-010: fix frequency overflow
issue #843
2023-01-13 01:15:55 -05:00
tildearrow
7b14175e45 C64: fix frequency overflow 2023-01-13 01:10:57 -05:00
tildearrow
f939878fcb AY8930: always write duty 2023-01-13 00:51:16 -05:00
cam900
ab46b8e080 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 14:24:43 +09:00
tildearrow
fe4800f165 AY8930: fix Mag Max and Kyugo clock rates 2023-01-13 00:22:00 -05:00
tildearrow
e560838025 OPL/OPLL: expand relative pitch range...
poor Z80
2023-01-13 00:15:37 -05:00
tildearrow
961c977378 OPM/OPZ: custom clocks
finally
2023-01-13 00:07:56 -05:00
tildearrow
d99f0cd045 T6W28: forceIns() noise mode 2023-01-12 23:19:28 -05:00
tildearrow
e3073a22e9 BubSys: fix crash 2023-01-12 23:17:32 -05:00
tildearrow
21ab10c30c N163: fix crash 2023-01-12 23:16:33 -05:00
tildearrow
0c36c0633b VRC6: fix crash 2023-01-12 23:14:57 -05:00
cam900
b64c089c56 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 09:48:52 +09:00
tildearrow
bf0c58aedc OPNA/OPNB: implement pitch macro
issue #838
2023-01-12 18:47:02 -05:00
tildearrow
9af1ce84df AY8930: increase pitch macro range to 65535 2023-01-12 18:42:34 -05:00
tildearrow
5df68c2ee8 AY/AY8930: fix period overflow 2023-01-12 18:39:25 -05:00
tildearrow
4724c1ccb1 Game Boy and NES: pitch macro now affects noise 2023-01-12 18:36:13 -05:00
tildearrow
84ae0b31f3 OPZ: pan macro 2023-01-12 18:33:11 -05:00
tildearrow
089f3f3b9b PCE: fix drop 2023-01-12 18:23:04 -05:00
tildearrow
04849d2172 PCE: where is the low period cap 2023-01-12 18:17:31 -05:00
tildearrow
b074136094 Game Boy: make pitch macro work on noise 2023-01-12 18:10:17 -05:00
tildearrow
f2fdeb9df8 Game Boy: fix period 0 causing overflow
issue #835
2023-01-12 17:59:40 -05:00
tildearrow
aea7a67d3e Namco WSG: noise in per-chan osc for real? 2023-01-12 17:45:33 -05:00
tildearrow
51cef18bff AY: optimize 2023-01-12 16:05:03 -05:00
cam900
536c345763 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-12 23:31:56 +09:00
tildearrow
9b80af3a4e dev136 - Merge branch 'newDispatch' (PLEASE READ!)
the following changes have been made:
- a different strategy for DivDispatch audio output.
  - if you're working on a new chip, be sure to replace isStereo()
    with getOutputCount(). if isStereo() was true, return 2; otherwise
    1.
    do not return 0 or you will melt the oven!
  - additionally, the acquire() function has changed. it's now:
    `acquire(short** buf, size_t len)`
    replace bufL with buf[0] and bufR with buf[1].
    `start` is gone. if you really needed to use it, take a look at
    pcspkr.
    if you write to buf[1] and getOutputCount is 1, the oven will
    melt as well!
- support for more-than-stereo audio, with up to 16 outputs.
- a brand-new patchbay routing feature. arbitrarily route chip outputs
  to system outputs.
2023-01-12 03:59:53 -05:00
Waldemar Pawlaszek
8e009509db POKEY: audc is set for wrong channel when channels 3 & 4 are paired 2023-01-07 18:51:55 +01:00
tildearrow
707bbb54ea add effects for rear panning 2023-01-05 03:08:57 -05:00
tildearrow
71e40dc015 support more than 2 output channels
up to 16 on JACK
to-do: add more mixer settings
2023-01-05 02:40:17 -05:00
cam900
96983e3d48 Add SSG and FM/ADPCM volume mixer config for OPN/A/B 2023-01-05 09:49:21 +09:00
tildearrow
abf2461573 OPL: increase range of pan macro 2023-01-04 19:16:37 -05:00
tildearrow
fd9b1dd0f5 OPL: quad output
now that we have this new dispatch output method
2023-01-04 18:30:29 -05:00
tildearrow
9436e2ab55 new dispatch, part 3 2023-01-04 03:11:47 -05:00