Commit graph

2270 commits

Author SHA1 Message Date
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
914b5f7a88 experiment with backward-cpp again 2022-05-24 13:06:29 -05:00
tildearrow
979cb63c5b GUI: fix .cfgc/.cfgk extension duplication 2022-05-24 12:46:51 -05:00
tildearrow
3932a82d14 GUI: add frame shading setting 2022-05-24 03:49:52 -05:00
tildearrow
8dde6a604e add rounding to AddRectFilledMultiColor 2022-05-24 03:30:27 -05:00
tildearrow
08d85869a9 GUI: slight changes to edit controls
- align classic
- stretch compact vertical
2022-05-24 03:06:17 -05:00
tildearrow
d490746325 GUI: finish lock layout 2022-05-24 02:38:10 -05: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
tildearrow
b849b5283b
Merge pull request #482 from grauw/y8950-adpcm-fix
Fix Y8950 ADPCM samples.
2022-05-23 17:52:56 -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
49943aba76 GUI: add setting to make osc escape bounds 2022-05-23 17:42:25 -05: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
16afb6d7be GUI: hacky implementation of lock layout 2022-05-22 18:20:53 -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
4bbcb2dd35 GUI: add Namco arcade presets 2022-05-21 16:03:54 -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
dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -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
a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05:00
tildearrow
769a89852f GUI: scroll instrument/wave/sample list when
selecting item
2022-05-19 13:06:26 -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
tildearrow
51d09ba407 GUI: early mobile UI 2022-05-18 18:42:59 -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
42e8bfebbd GUI: same size for piano option buttons 2022-05-18 00:31:01 -05:00
tildearrow
255fc4cc25 GUI: even more piano work
- don't allow piano window to be moved if clicking on piano
- only treat left click as a touch point
2022-05-18 00:23:13 -05:00
tildearrow
cfa05143ab dev96 - add virtual tempo 2022-05-18 00:05:25 -05:00
tildearrow
f1ca53561f GUI: more piano/input pad work 2022-05-17 18:55:44 -05:00
tildearrow
68b5522070 GUI: turn sub-song removal into a warning
issue #466
2022-05-17 17:21:29 -05:00
tildearrow
80165094f0 GUI: add a value input pad 2022-05-17 16:11:59 -05:00
tildearrow
40a63433c5 GUI: prepare for the input pad 2022-05-17 15:48:37 -05:00
tildearrow
63d09c0f54 GUI: piano note input 2022-05-17 15:28:27 -05:00
tildearrow
72645e9e13 GUI: piano note playback 2022-05-17 15:20:56 -05:00
tildearrow
f96d5b4e81 GUI: add touch input primitives 2022-05-17 12:46:52 -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
b5c336295f GUI: add option to clear orders 2022-05-17 01:46:34 -05:00
tildearrow
c4614bff30 GUI: implement "clear all subsongs" 2022-05-17 01:42:21 -05:00
tildearrow
b8a4fdb4c6 GUI: fix crash when deleting current subsong 2022-05-17 01:15:31 -05:00
cam900
b6387c8547
Fix AY8910 envelope hangs 2022-05-17 11:14:22 +09:00