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