Commit graph

527 commits

Author SHA1 Message Date
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
Ian Karlsson
a92c29bbdb qsound clipping fix from MAME 2022-02-23 23:51:34 +01:00
Waldemar Pawlaszek
8d1da90d78
Fixing a bug that resulted with broken pitch range on non MSVC systems. (#215) 2022-02-23 22:48:06 +01:00
Ian Karlsson
ce3e8c6c6b qsound: Reduce volume scaling 2022-02-23 09:26:22 +01:00
tildearrow
e4b9a6d1d9 compound system flattening, part 1
as of now compound systems (Genesis and Arcade) are translated to
separate chips.

this improves audio quality and makes things easier.

it also allows you to change the volume of each chip on a Genesis.

also adds SegaPCM system with 16 channels!
2022-02-23 02:52:30 -05:00
tildearrow
a7ecb4ecdb header license oops 2022-02-23 02:13:43 -05:00
tildearrow
a5561f1899 tabs to spaces 2022-02-22 22:13:17 -05:00
tildearrow
e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
Waldemar Pawlaszek
b1120575e4 Proper device resetting 2022-02-22 21:35:17 +01:00
Waldemar Pawlaszek
2e45b3066a Removing unused variables 2022-02-22 21:34:56 +01:00
Ian Karlsson
e32ef2d881 Add 3xxx effect to set echo delay buffer length. Add documentation 2022-02-22 21:16:46 +01:00
Waldemar Pawlaszek
d07f28aec5 Compilation error fix 2022-02-22 21:12:10 +01:00
Waldemar Pawlaszek
69fb99bafd Implementing register pool. Slightly reworking emulation core. 2022-02-22 12:52:05 +01:00
Ian Karlsson
b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek
79e53cfd10 Merge branch 'master' of git://github.com/tildearrow/furnace into tildearrow-master
# Conflicts:
#	src/gui/insEdit.cpp
2022-02-22 09:13:49 +01:00
tildearrow
6ffb332c4e PCE: fix samples being at double pitch 2022-02-21 22:59:56 -05:00
tildearrow
df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
Waldemar Pawlaszek
37ceb1542f Further build errors correction 2022-02-21 20:43:02 +01:00
Waldemar Pawlaszek
bbd8669a1a Missing license 2022-02-21 20:17:16 +01:00
Waldemar Pawlaszek
de6cbba472 Fixed gcc errors 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek
6e79e84e53 Added panning and load LFSR commands. 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek
8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow
5ae4d883a5 one more mishap 2022-02-20 22:48:42 -05:00
tildearrow
28e6c205ee C64: fix wave effect bypassing mute 2022-02-20 22:23:32 -05:00
tildearrow
8f03964fbb NES: fix noise being totally wrong 2022-02-20 22:08:47 -05:00
tildearrow
5ffda66f22 NES: better channel muting 2022-02-20 21:54:03 -05:00
tildearrow
1030bc13b2 C64: fix wiz lab one more time 2022-02-20 21:45:28 -05:00
tildearrow
e697c055b6 replay keyOn in active channels during forceIns
fixes an issue when playing orders
2022-02-20 21:39:14 -05:00
Waldemar Pawlaszek
2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow
67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
tildearrow
f376e919ff Game Boy: fix sweep in non-sweep channel 2022-02-17 22:19:01 -05:00
tildearrow
36eaea0fa7 OPN: apply max freq limit 2022-02-17 22:07:20 -05:00
tildearrow
eafc3078cf NES: fix high pitch being out of tune 2022-02-17 21:59:48 -05:00
tildearrow
456db22f9d fix wrong include path 2022-02-17 04:26:23 -05:00
tildearrow
647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow
b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow
853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow
b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow
1c3074bb43 PCE: also fix issue here (i think) 2022-02-14 02:45:20 -05:00
tildearrow
939416791b Amiga: don't replay samples on set order 2022-02-14 02:32:37 -05:00
tildearrow
bfb902f649 fix #172 2022-02-13 23:49:01 -05:00
tildearrow
d2d60c4f1a what 2022-02-13 18:13:29 -05:00
tildearrow
9ea510c351 SAA1099: implement SAASound core option 2022-02-13 17:49:24 -05:00
tildearrow
2f766553e8 add SAASound as an alternate SAA1099 core
DOES NOT WORK YET
2022-02-13 17:02:49 -05:00
tildearrow
7c80a88bbf GUI: fix debug menu a bit 2022-02-13 15:03:07 -05:00
tildearrow
271c0dc08b SMS: fix channel 3 muting at the beginning of song 2022-02-12 22:50:31 -05:00
tildearrow
6bcd3df691 oopsie 2022-02-12 21:19:38 -05:00
tildearrow
423d9fa45d Amiga: early bus limits emulation
it appears that if the period is lower than 124, the positions start
to desync

this is emulated by UAE, but i am not sure whether this happens on a real machine
and this isn't emulated properly here either
2022-02-12 17:43:30 -05:00
tildearrow
91cbf9947b NOTICE: ADPCM-B DOES NOT WORK YET
it's selectable now but the channel is useless (for now)
2022-02-10 03:35:08 -05:00
tildearrow
73dd66b439 GB: fix wave orientation 2022-02-10 02:56:36 -05:00
tildearrow
569de9d81a add preliminary ymfm OPZ code 2022-02-09 23:19:02 -05:00
tildearrow
62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow
788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow
5b7240bb4f and fix it again 2022-02-08 22:49:52 -05:00
tildearrow
f1730baefa fix artificial intelligence bomb
and a couple of songs that used 02xx after note off
2022-02-08 22:46:58 -05:00
tildearrow
23dc509524 implement reset macro on porta flag 2022-02-08 17:02:27 -05:00
tildearrow
bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow
8d45236cce SMS: add option to disable noise phase reset
issue #83
2022-02-07 23:05:50 -05:00
tildearrow
e6201b8390 SMS: prepare for don't reset phase flag 2022-02-07 18:34:04 -05:00
tildearrow
1bb81394aa NES: enable duty and'ing on properNoiseLayout 2022-02-07 00:49:01 -05:00
tildearrow
76beedae0c i mean HAPPENING and the slide NOT HAPPENING 2022-02-07 00:30:37 -05:00
tildearrow
e25f5b229c fix arpeggio not happening during slide on SMS 2022-02-07 00:30:15 -05:00
tildearrow
d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow
20ac87d256 C64: add ring/sync macro 2022-02-06 15:56:10 -05:00
tildearrow
e2c2e8140b C64 filter mode macro i think 2022-02-06 15:44:06 -05:00
tildearrow
2ea35ef734 Arcade: add LFO wave macro 2022-02-06 02:25:32 -05:00
tildearrow
e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow
9091081b9f oh... 2022-02-05 23:53:30 -05:00
tildearrow
faed39843e PCE: fix channel 2 being mute?!
another discovery towards LFO fix?
fixes #141
2022-02-05 23:51:29 -05:00
tildearrow
12d4cd6467 add LFO speed macro 2022-02-05 16:40:03 -05:00
tildearrow
026b232c02 more LFO fix code 2022-02-05 16:19:22 -05:00
tildearrow
59cbfdcad9 PCE: partial fix to LFO
issue #88
2022-02-05 15:15:27 -05:00
tildearrow
cb430fc169 Genesis: fix bus overload when using ymfm core 2022-02-05 04:31:20 -05:00
tildearrow
bbd174498e Arcade: fix wrong sample pitch on diff clock rate 2022-02-04 21:40:48 -05:00
tildearrow
6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow
acdf4d6503 Amiga: add stereo separation setting 2022-02-04 17:59:55 -05:00
tildearrow
4e1c6d78c2 fix Neo Geo detuning 2022-02-04 16:21:18 -05:00
tildearrow
902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow
c1864849a0 PCE: oh yes another sample fix 2022-02-04 01:53:43 -05:00
tildearrow
584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow
4dd935bbcc Genesis/Neo Geo ext.: fix possible TL bug 2022-02-03 16:17:30 -05:00
tildearrow
c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow
0ceec182a0 SAA: fix negative octaves 2022-02-03 02:46:49 -05:00