Commit Graph

609 Commits

Author SHA1 Message Date
tildearrow d2ad74206a fix 4-op mode for real 2022-03-14 02:39:10 -05:00
tildearrow 42df8255fc OPL: kind of fix 4-op mode 2022-03-14 02:30:25 -05:00
tildearrow 32581bb228 OPL: volume 2022-03-14 01:57:46 -05:00
tildearrow df5c1ae859 OPL: finally fix that order issue (kind of) 2022-03-14 01:54:31 -05:00
tildearrow 67d516fcee Genesis: prioritize DAC writes 2022-03-14 01:38:11 -05:00
tildearrow 5b2ec3ee87 NES: fix slide up
fixes #208
2022-03-14 00:26:06 -05:00
tildearrow b1b3f731f6
Merge pull request #283 from laoo/lynx_panning_swap
Lynx panning swap
2022-03-13 11:19:55 -05:00
tildearrow d607f35aa2
Merge pull request #279 from cam900/intv_alt
Add AY-3-8914 support as configurable in AY-3-8910
2022-03-13 11:17:36 -05:00
Waldemar Pawlaszek e775703c44 Lynx panning swap 2022-03-12 12:16:01 +01:00
tildearrow 716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
cam900 2643d6b0ee
Clamp X1-010 Envelope wave 2022-03-12 11:32:19 +09:00
tildearrow ab3884e5aa clamp wave data
issue #267
2022-03-11 16:58:43 -05:00
cam900 3ac1dce3fe Add AY-3-8914 support as configurable in AY-3-8910
Previous PR (https://github.com/tildearrow/furnace/pull/278) is closed due this, but archived for info.
It's AY with 4 level envelope volume per channel and different register format.
2022-03-12 03:30:54 +09:00
tildearrow 0ee16c63f1
Merge pull request #275 from cam900/ym2610_check
Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
2022-03-10 18:32:36 -05:00
tildearrow bbca8b260b
Merge pull request #243 from cam900/gui_systems
Add various system, Minor corrections
2022-03-10 18:31:23 -05:00
tildearrow c6fda7a156 Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010 2022-03-10 18:24:52 -05:00
tildearrow a9f80b841c VERA: add ins color and reset 2022-03-10 17:46:40 -05:00
tildearrow cbc8721a00 Merge branch 'x16' 2022-03-10 17:31:32 -05:00
tildearrow 6d9befaf27 yay 2022-03-10 17:30:34 -05:00
tildearrow 2f02e24a2f VERA: get rid of rand() and adapt code 2022-03-10 16:52:59 -05:00
tildearrow 9bd15bd513 VERA: bring up actual emulation core 2022-03-10 15:51:27 -05:00
tildearrow 587fecd11d temporarily strip out emulation code 2022-03-10 14:40:45 -05:00
cam900 b42ceae1cb Code style 2022-03-11 04:15:04 +09:00
cam900 36b336c7f4 A && B 2022-03-11 04:11:23 +09:00
cam900 3b6559a5a1 Merge branch 'master' of https://github.com/tildearrow/furnace into gui_systems 2022-03-11 03:53:51 +09:00
cam900 f3e4810dda Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
Fix sample check routine
Remove dac* variables, No way to enable DAC mode in YM2610*
2022-03-11 03:47:36 +09:00
cam900 8d447542e1 Use lamda 2022-03-11 02:42:27 +09:00
Waldemar Pawlaszek d0b76ed5a6 Updated Lynx register sheet 2022-03-10 17:36:27 +01:00
Natt Akuma 6bb9843fb9 Fix wrong noise sampling operation
This really shouldn't have an effect on anything though...
2022-03-09 18:06:07 +07:00
Natt Akuma eb3a73c38b Mute on pan registers instead 2022-03-09 00:58:21 +07:00
cam900 66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09:00
cam900 6c432bc42e Allow Left waveform can be invertable,
Improvement documents
2022-03-09 00:50:10 +09:00
cam900 da73c365e4 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-08 23:30:57 +09:00
Natt Akuma 43cfb09acf Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-08 17:53:00 +07:00
Natt Akuma 7711069a66
WonderSwan: match DM's volume command behavior (#266) 2022-03-08 10:51:37 +01:00
Natt Akuma e05052d9d7 Properly case PCM channel 2022-03-08 15:44:14 +07:00
tildearrow b21aecf285 WonderSwan: make macOS happy 2022-03-07 23:38:36 -05:00
cam900 2e6cc9fc7c Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/playback.cpp
#	src/engine/sysDef.cpp
#	src/gui/gui.cpp
2022-03-08 13:38:24 +09:00
tildearrow 1bc8bc8746 OPL: proper frequency on OPL1/2 2022-03-07 23:23:18 -05:00
tildearrow 09655f7d57 WonderSwan: fix build 2022-03-07 23:09:42 -05:00
tildearrow 0210548291
swan let's go
Add WonderSwan support and flatten second chip checks in VGM export into variables
2022-03-07 23:05:32 -05:00
tildearrow bd00165ded OPL: it's coming together 2022-03-07 22:52:32 -05:00
tildearrow 36db137e8f OPL: absolute mess up
now it kinda works
2022-03-07 22:28:33 -05:00
tildearrow cdd45bb18c allow detune 4 2022-03-07 22:28:20 -05:00
tildearrow ec007b4443 OPL: more work - still not there yet 2022-03-07 18:19:25 -05:00
tildearrow 03d2f87804 OPL: some work - still does not work 2022-03-07 17:07:29 -05:00
Natt Akuma 7704dc0d79 Fix volume calculation sometimes not working 2022-03-07 23:49:52 +07:00
cam900 3f4966096a Fix info 2022-03-08 00:44:37 +09:00
cam900 26470d594e Actually PCM frequency limit 2022-03-08 00:43:16 +09:00
cam900 65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09:00
Natt Akuma bbaf31d0c2 Make register view work again 2022-03-07 19:08:18 +07:00
Natt Akuma b8ea64b801 Rename WS to Swan 2022-03-07 19:04:20 +07:00
Natt Akuma 3b88786ffb Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-07 16:46:32 +07:00
Natt Akuma 7f3519b970 Implement VERA noise generation instead of rand() 2022-03-07 16:46:12 +07:00
Natt Akuma 56be067af6 No need to de-duplicate writes here 2022-03-07 15:45:00 +07:00
Natt Akuma 25088d6032 Fix playback and VGM export 2022-03-07 15:44:59 +07:00
Natt Akuma 840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07:00
tildearrow 165a8a4361 PC speaker: register view
one register :p
2022-03-07 01:54:28 -05:00
tildearrow 8f957baa3e dispatch: add function to notify playback stopped
for the PC Speaker real driver
2022-03-07 01:48:48 -05:00
tildearrow 93d160da5e OPLL: but it doesn't have LFOOOOOO 2022-03-07 00:24:50 -05:00
cam900 13e586fab2 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 13:05:05 +09:00
cam900 36647ac81d Update submodule 2022-03-07 13:03:39 +09:00
tildearrow 72c1116a89 PC speaker: correct frequency in real mode
damn it
2022-03-06 22:11:01 -05:00
cam900 7a2c86e9d7 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 10:28:54 +09:00
tildearrow 2f9d1e8c0f i'll finish this later 2022-03-06 18:10:12 -05:00
tildearrow 1bfca78df1 Amiga: temporarily disable bus limit simulation 2022-03-06 17:42:51 -05:00
tildearrow e10abe0858 NO 2022-03-06 14:41:00 -05:00
tildearrow 3b8388d90c YM2151/2610/2612/Game Boy: fix panning - UNTESTED 2022-03-06 14:39:20 -05:00
tildearrow 2bfb84cd1e AY: add 1.10 and 2.10 rates 2022-03-06 14:18:18 -05:00
cam900 8da5921196 step 2 2022-03-07 03:50:15 +09:00
cam900 d0c32a56be Fix panning 2022-03-07 03:06:01 +09:00
cam900 fca4bdc1ee Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	.gitmodules
#	CMakeLists.txt
2022-03-07 02:35:14 +09:00
cam900 4a83c7c5a7 Add Seta/Allumer X1-010 Support
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.

Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).

Chip id is temporary, it can be changed with to suggestions.
2022-03-07 02:31:03 +09:00
tildearrow e0eb0ad3f4 tilde you need to brush up on your header knowledg
e.
2022-03-06 04:52:03 -05:00
tildearrow 86a71cc6a2 PC speaker: use evdev instead of KIOCSOUND
still unsupported
2022-03-06 03:33:56 -05:00
tildearrow c34b8325c9 more OPL preparation
DOES NOT WORK YET - JUST A PLACEHOLDER
2022-03-05 18:18:08 -05:00
tildearrow 6728edbb71 UNTESTED! DO NOT USE - PC speaker passthrough 2022-03-05 15:00:19 -05:00
tildearrow 9611a4fcc6 OPLL: effect description oops 2022-03-05 04:24:40 -05:00
tildearrow 16dfc785d3 PC speaker: improvements 2022-03-05 00:36:50 -05:00
tildearrow b6717fd314 uninitialized variable 2022-03-04 23:11:34 -05:00
tildearrow ea290a5015 screw ME 2022-03-04 18:37:04 -05:00
tildearrow 84ba63db24 add PC speaker system
haha
2022-03-04 18:18:43 -05:00
Natt Akuma 9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
tildearrow 1407f14ee8 AY8930: duty oopsie
fixes #251
2022-03-04 02:26:47 -05:00
tildearrow 1f0fba4c13 OPLL: getEffectName oopsie 2022-03-04 02:25:41 -05:00
tildearrow 59d813db7c PCE: add noise macro (finally!) 2022-03-04 02:20:13 -05:00
tildearrow 8758277199 OPLL: implement fixed freq mode for drums
issue #249
2022-03-04 01:18:16 -05:00
tildearrow ee2e1a0cfb OPLL: fix sus
i thought defle had broken sus
2022-03-03 18:23:09 -05:00
tildearrow 3a6f664cf0 OPLL: don't write to out of range registers
fixes OPLLTest(1).zip
2022-03-03 18:19:51 -05:00
tildearrow e342078f9a OPLL: fix mod/car KSL being swapped 2022-03-03 18:08:21 -05:00
tildearrow 862154b0a9 OPLL: fix drum mode slides 2022-03-03 17:56:09 -05:00
tildearrow aa446d5c43 PCE: don't mute channel 2 when LFO is on
apparently this is hardware behavior
2022-03-03 17:03:44 -05:00
tildearrow e0af849a4f OPLL: TODO high byte? 2022-03-03 16:21:19 -05:00
tildearrow 64146bed5e OPLL: i think i got it 2022-03-03 04:53:40 -05:00
tildearrow 52c03f1fd6 OPLL: swap top and tom 2022-03-03 04:36:52 -05:00
tildearrow 5816f01c07 Genesis: PSG clean-up
since genesis is now split into YM2612 + SN, the "psg" inside
DivPlatformGenesis becomes useless.
2022-03-02 18:25:17 -05:00
cam900 87561bf9cf Fix spacing 2022-03-03 03:12:10 +09:00
cam900 d4d1ade513 Add various system, Minor corrections
YM2413 (drums mode)
 Standalone YM2413 with allows drum channel.

Sound Expander for Commodore 64
 OPL FM Sound expander cartridge for Commodore 64, it's placeholder until OPL is implemented.

MSX-MUSIC:
 MSX's sound standard, appeared after MSX-AUDIO. it's basically OPLL FM sound expansion for MSX.

SSI 2001:
 ISA Sound card with SID 6581. SID input clock is driven from ISA clock, so I modified flags value check routine.

Sound Blaster w/Game Blaster Compatible
 Earliest Sound Blaster models has featured with Game Blaster compatiblity, It's has 2 SAA1099s like CMS/Game Blaster. It's removed at later models, but some hardware has just empty socket; you can restore this feature when you mount SAA1099 at empty socket.

Sharp X1:
 Predecessor of X68000. it has built in AY PSG like competitors of the same period, but it has YM2151 FM sound addon in later models. FM sound is embedded in turbo Z, and that is succeeded by X68000.

X68000 hasn't AY, instead OKI MSM6258.
YM2151 in OutRun Board and X Board is 4MHz
2022-03-03 03:10:04 +09:00
tildearrow 0114523c96 OPLL: fix volume setting 2022-03-02 03:35:30 -05:00
tildearrow 56aa4b28fb tiny drums mode fix 2022-03-01 23:28:05 -05:00
tildearrow acc9b0aa57
Merge pull request #225 from cam900/ym2610b
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow b90fb02e63 OPLL: 99.9%
all features usable, except for custom patchsets (not sure how am i
gonna implement it)
2022-03-01 23:07:29 -05:00
tildearrow 614c1a4da8 OPLL: 99%
proper drums mode muting!
2022-03-01 22:42:40 -05:00
tildearrow ceb1cd0181 OPLL: more drum fixes! 2022-03-01 22:10:03 -05:00
tildearrow 7f3460bfcd i don't get it 2022-03-01 14:20:29 -05:00
tildearrow 7dae9058d7 OPLL: 97%
proper drums mode kinda works
2022-03-01 14:16:40 -05:00
cam900 1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
tildearrow 4ff056c64f NES: how is this not initialized?! 2022-03-01 02:38:19 -05:00
tildearrow 2605e8670c OPLL: small order change fix 2022-03-01 01:00:33 -05:00
tildearrow d9ae033f32 OPLL: 95%
FM macros working

TODO:
- proper drums
2022-03-01 00:56:13 -05:00
tildearrow 105aed5a50 OPLL: 94%
muting works (mostly)

TODO:
- FM macros
- proper drums
2022-03-01 00:00:30 -05:00
tildearrow e80de1487e i think I got it
but there is a leak
2022-02-28 23:31:49 -05:00
tildearrow 90ad8b5268 OPLL: 91%
GUI improvements
soon I gotta allocate macros for the YMU759 params

TODO:
- FM macros
- drums mode
- muting
2022-02-28 14:13:14 -05:00
cam900 ddf341dfc0 Add support YM2610* ADPCM-B Repeat flag, Add YM2610 ADPCM notes in GUI 2022-03-01 01:11:27 +09:00
tildearrow 4218440af1 help how does this work 2022-02-28 03:50:45 -05:00
tildearrow 539182e643 OPLL: 90%
effects implemented.
TODO:
- FM macros
- muting
- proper drum mode
- proper VRC7
2022-02-28 03:17:33 -05:00
tildearrow e5c993eb14 lynx: re-apply panning on forceIns 2022-02-28 02:27:22 -05:00
tildearrow 14749e165e OPLL: VRC7 2022-02-28 02:19:27 -05:00
tildearrow 6dc01159ee OPLL: 88%
TODO:
- effects
- FM macros (ugh)
- muting
- proper drum mode
- proper VRC7
2022-02-28 01:25:10 -05:00
cam900 ac1c65fd62 Add register sheet for YM2610* 2022-02-28 04:45:55 +09:00
cam900 6d36a8fdd2 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-28 03:04:28 +09:00
tildearrow 77285a65e6 OPLL: 85%
compatible drums work (kinda)
2022-02-27 02:58:30 -05:00
tildearrow 79c148849f QSound: fix echo
thanks superctr
2022-02-27 00:46:23 -05:00
cam900 ee013ad7a9 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-27 06:41:11 +09:00
cam900 34405de03c Fix build actually 2022-02-27 06:40:13 +09:00
tildearrow 271b3fb0fe OPLL: 80%
accuracy fixes pending though
then macros and then drum mode
2022-02-26 03:27:37 -05:00
tildearrow c52258f943 update format to store OPLL preset number 2022-02-25 23:59:08 -05:00
tildearrow 60688d8ddb OPLL: 40% 2022-02-25 17:55:33 -05:00
tildearrow f403621d6e this is not working well
i mean, seriously... OPLL output isn't 4-bit, right?
i must be doing something really wrong
2022-02-25 13:33:58 -05:00
cam900 d64ddaadee Further fix build 2022-02-26 01:12:37 +09:00
cam900 b1a49dcdc5 Fix actually 2022-02-26 00:50:49 +09:00
cam900 ff743c92fd Fix build 2022-02-26 00:31:17 +09:00
cam900 cd4c876c5e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/playback.cpp
2022-02-25 23:47:28 +09:00
tildearrow c5b30bab75 soundddddd 2022-02-25 04:46:15 -05:00
tildearrow 37f850c6c4 prepare for OPLL system - DOES NOT WORK 2022-02-25 04:26:01 -05:00
cam900 e96cd77ba7
Remove unnecessary interface 2022-02-25 17:39:33 +09:00
tildearrow 9ea26da44e ADPCM-B fixes 2022-02-25 01:04:07 -05:00
tildearrow 35e459d9e5 Neo Geo: implement ADPCM-B 2022-02-25 00:11:27 -05:00
tildearrow efd78a23c0 GB: another fix 2022-02-24 22:59:01 -05:00
tildearrow 70eb17c33c PCE: fix LFO a bit more 2022-02-24 22:52:32 -05:00
tildearrow 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
cam900 d831a522a4 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/platform/ym2610Interface.cpp
2022-02-25 12:20:00 +09:00
tildearrow 28254d4b24 SMS: add 1.79MHz option 2022-02-24 18:00:19 -05:00
tildearrow 4b6d9adcb9 volume changes
as of now the master volume is 1.0x (it was 2.0x before)
NES has also been amplified.
these changes should not affect older songs.
2022-02-24 17:56:19 -05:00
tildearrow 82c8b97d9c Neo Geo: safety checks 2022-02-24 16:53:38 -05:00
tildearrow e4ad569f8d Lynx: fix stereo 2022-02-24 16:53:20 -05:00
tildearrow f7bd06c4eb yay ADPCM-A and QSound work again! 2022-02-24 16:16:02 -05:00
cam900 1e2d5694b9 Prepare to support YM2610B and with Extended channel 3 mode
Allow 8 bit volume for YM2610 ADPCM-B
Remove sample mode macro in YM2610, it's always enabled and seperated channels.

TODO: ADPCM-B is still not implemented, FM Channel 2 is silenced in extended channel 3 configuration
2022-02-25 01:02:35 +09:00
tildearrow 1e98f0c4a1 sample system rewrite! **PLEASE READ**
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...

consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.

it's nearly 4am...
2022-02-24 03:57:45 -05:00