Commit Graph

305 Commits

Author SHA1 Message Date
tildearrow 04117c5098 Purposeful Conflict 2022-09-24 02:41:29 -05:00
tildearrow d0e581e4cd OPM/NES ins type split, part 2 2022-09-24 01:37:29 -05:00
tildearrow 3d5125e792 OPM/NES ins type split, part 1 2022-09-24 01:33:36 -05:00
tildearrow 5dfa089c49 GUI: some UI corrections
and prepare for OPM/NES split
2022-09-24 00:57:53 -05:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
tildearrow b053d31a6d implement KVS on the rest of FM chips 2022-09-22 01:30:51 -05:00
tildearrow ac68419b78 implement KVS on YM2612 2022-09-22 01:18:41 -05:00
tildearrow 51c142169f GUI: OPZ compact editor fixes 2022-09-21 23:25:57 -05:00
Natt Akuma 7956d41f1b SNES: Get wavesynth and envelope working
No samples, inverted volumes and E/P/N yet
It's been 3 months...
2022-09-18 18:33:54 +07:00
tildearrow 6bf6a854ef GUI: comfortable wave macro height 2022-09-17 22:55:58 -05:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
tildearrow 587e066d43 GUI: randomize in macros under the right click 2022-09-16 00:18:14 -05:00
tildearrow aa38292ca4 GUI: fix OPLL/OPL op swapping 2022-09-16 00:04:43 -05:00
tildearrow d19c6fc236 GUI: add operator copy 2022-09-13 03:29:28 -05:00
tildearrow 6e1f54b777 YM2612: implement OpMask
will be done for OPM and the rest of the OPN chips later
2022-09-12 01:50:27 -05:00
tildearrow 7b1713758b dev114 - operator muting for OPN/OPM 2022-09-12 00:37:25 -05:00
tildearrow b82e96ec20 GUI: fix toggles losing their colors on hover 2022-09-10 23:50:53 -05:00
tildearrow 2f0e97f6d9 GUI: FM operator swapping 2022-09-10 23:20:22 -05:00
tildearrow 0ac92209d0 GUI: even more mobile work 2022-09-09 18:53:20 -05:00
tildearrow d021005f26 GUI: fix arp macro hover 2022-09-09 16:41:00 -05:00
tildearrow 7e065e4cfe GUI: more mobile UI things 2022-09-09 15:31:29 -05:00
tildearrow f7bca46a4a GUI: implement save as format in editors as well 2022-09-04 02:37:43 -05:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900 4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow 96b3ccab8a I see UI!!!! 2022-08-23 03:57:21 -05:00
tildearrow 226f43fea3 several important bug fixes to advanced arp macro 2022-08-22 19:09:08 -05:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
tildearrow 3b6fa212b8 implement macro speed/delay 2022-08-22 03:52:32 -05:00
tildearrow 2650fe609f dev111 - many macro changes
- max macro length is now 255
- loop/rel pos is now unsigned (255 = no)
- prepare for macro speed/delay
2022-08-22 02:13:33 -05:00
tildearrow f01be34b5e GUI: highlight current macro position
not for op macros (yet)
2022-08-20 01:10:30 -05:00
tildearrow 4d057d3328 dev109 - define SNES instrument params 2022-08-19 19:42:01 -05:00
tildearrow 9c80f91870 relative 2022-08-19 00:00:10 -05:00
cam900 13158b86cf Clamp height of panning macro when higher than 128
so, current filter macro behavior is:
"Fixed" option enabled: override current filter value to macro value
"Fixed" option disabled: current filter value = filter value determined from ES5506 tab or command ± filter macro value
2022-08-19 12:03:25 +09:00
tildearrow 9bd3f6c34b remove delta mode entirely
so it was used on the filter but i'm not sure why couldn't it be
done in absolute mode instead
2022-08-18 18:36:22 -05:00
tildearrow c473f94f0d remove delta mode
it's unnecessary in my opinion

unless I am missing something
2022-08-18 18:21:51 -05:00
tildearrow aa1e34ffd3 Revert "Fix duplication"
This reverts commit 446e62c69f.
2022-08-18 18:05:34 -05:00
tildearrow fa6a61e493 Revert "Fix panning macro height"
This reverts commit 087ff27f06.
2022-08-18 18:05:13 -05:00
cam900 087ff27f06 Fix panning macro height 2022-08-19 00:18:46 +09:00
cam900 446e62c69f Fix duplication 2022-08-18 21:29:48 +09:00
cam900 5190c6daab Implement ES5506 instrument type
ES5506 has these features:
- 16 bit independent volume register per left/right output (Logarithmic, 4 LSB is for envelope)
- Programmable filter per each channels, 4 pole, 4 filter mode and 2 16 bit coefficient register (4 LSB is for envelope)
- Hardware envelope

Add more than 2 macro type support
"Delta" macro type: Use delta from previous value
2022-08-18 21:20:10 +09:00
tildearrow 4e7eb728db GUI: fix moving GB HW seq step down 2022-08-17 18:37:16 -05:00
tildearrow 55d12e1ada GUI: finally re-organize the GB env UI 2022-08-17 18:29:40 -05:00
tildearrow 39feda54ac OPZ: volume macro should go to 127 2022-08-12 04:11:17 -05:00
tildearrow b156336216 GUI: fix Game Boy ins edit crashes 2022-08-11 14:27:33 -05:00
tildearrow 00ae5b4142 GUI: fix volume macro always being 15
issue #629
2022-08-11 11:30:45 -05:00
tildearrow df10b6cc59 Game Boy: hardware sequences, part 3
the previous commit was part 2
2022-08-10 14:16:26 -05:00
tildearrow 28698beaf3 dev106 - Game Boy: implement hw seq
and prepare for software envelope maybe
2022-08-10 01:55:44 -05:00
tildearrow 800f08b0fd Game Boy: hardware sequences, part 1
still not working! just the UI for it
2022-08-07 06:06:14 -05:00
tildearrow 5534f55f7a dev104 - add "is sample" flag to Sound Unit ins 2022-08-06 04:04:18 -05:00
tildearrow eafbf24290 GUI: YM2423 patch names
thanks freq-mod!
2022-08-03 17:31:00 -05:00
tildearrow 0183c5d9ff GUI: remove one new line 2022-08-03 14:41:53 -05:00
tildearrow 034b4fd4f6 GUI: YMF281 patch names
thanks nicco1690!
2022-08-03 00:10:32 -05:00
tildearrow 1f57d09fbf GUI: display correct OPLL patch names 2022-08-02 23:16:42 -05:00
Aleksi Knutsi 8011e7adc7
Implement Phase Reset Timer macro for Sound Unit (#573)
* Implement Phase Reset Timer Macro

* And make the macro actually work

* Delete ex4Max variable
2022-07-23 19:13:30 -05:00
tildearrow a137eefd20 GUI: refine the Namco [C]163 chip name option 2022-07-21 19:00:32 -05:00
tildearrow f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
cam900 4e8d71fc22
Fix sample map struct
Structize sample map variable is for easily extend features.
2022-07-21 13:42:20 +09:00
cam900 a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
tildearrow 96bc63470f GUI: add unsigned detune option
closes #559
2022-06-28 15:06:22 -05:00
tildearrow f8347ac50f GUI: fix several things in OPL drums ins editor
- alternate layout being wrong
- macros being wrong
2022-06-27 03:30:57 -05:00
Natt Akuma 22dd22ca33 Allow accessing all 256 waves in macros 2022-06-22 19:38:29 +07:00
tildearrow 2313e4fcc3 GUI: temporarily remove freqs in sample map 2022-06-19 14:03:36 -05:00
cam900 0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
tildearrow 327a013186 GUI: finish alternate FM layout 2022-06-13 23:22:17 -05:00
tildearrow bd7710991b GUI: a bit more to it 2022-06-13 03:57:31 -05:00
tildearrow 17fb152e25 GUI: work on alternate FM layout 2022-06-13 03:54:42 -05:00
cam900 e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow a945ee5353 GUI: disclaimer about OPLL drums volume slider 2022-05-31 18:06:45 -05:00
tildearrow 9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
tildearrow e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -05:00
Mahbod-Karamoozian 186dd8c522
Modern layout fix
This fixes the problem that is present in raijin's layout
2022-05-26 23:44:04 +04:30
tildearrow 42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
tildearrow 806153fd8e finish wave synth! 2022-05-22 03:14:46 -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 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 dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -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 a34481205a GUI: more mobilework 2022-05-19 16:35:00 -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 613b538fb9 GUI: add setting to bring old macro vSlider back 2022-05-12 03:29:34 -05:00
tildearrow 76adccc0fc GUI: even more improvements to macro editor 2022-05-12 03:01:35 -05:00
tildearrow 0e03bf6bec GUI: fix default vScroll for pitch macro 2022-05-12 02:49:09 -05:00
tildearrow 2e9bd65b9e GUI: right click menu for open instrument 2022-05-09 13:20:44 -05:00
tildearrow 580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow 3963f93aa4 GUI: prepare for macro right click menu 2022-05-08 17:35:21 -05:00
tildearrow 787eda0a34 GUI: macro edit improvements
- reset zoom levels when changing instrument type
- set a default zoom level for pitch macro
2022-05-08 04:45:48 -05:00
tildearrow 2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow 3170803389 GUI: macro UI refactor, part 4 2022-05-07 18:30:16 -05:00
tildearrow 24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
tildearrow d4d3cb44b9 GUI: macro UI refactor, part 2
the macro editor is finally back
2022-05-07 02:49:56 -05:00
tildearrow aea7bf2112 GUI: is the macro UI back yet 2022-05-06 23:52:26 -05:00
tildearrow 716ef56f03 GUI: macro UI refactor, part 1 - PLEASE READ
- DO NOT USE THIS VERSION! -

to @cam900 and @grauw: do NOT pull this commit yet! it will fail to compile!
2022-05-06 18:01:12 -05:00
tildearrow 81a77a633b GUI: remove classic macro view
after this, some changes to the macro view code will arrive
hopefully these will make the code much cleaner
(NORMAL_MACRO has too many arguments!)
2022-05-06 14:16:27 -05:00
Laurens Holst 3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow 99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow 44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
tildearrow 635bd72904 GUI: sample/macro zoom with ctrl-wheel 2022-04-29 05:39:18 -05:00
tildearrow 5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00