Commit graph

793 commits

Author SHA1 Message Date
tildearrow
5360cd73f4 earliest MIDI input! (no note input tho) 2022-03-28 03:46:50 -05:00
cam900
b11c840ed4
Merge branch 'master' into preset2 2022-03-28 12:46:52 +09:00
tildearrow
4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow
075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -05:00
tildearrow
c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900
79d6433006 Merge branch 'master' of https://github.com/tildearrow/furnace into vrc6 2022-03-28 10:11:09 +09:00
tildearrow
e5ce7c63f8 GUI: redesign FM editor layout, part 4
now with OPL and OPLL
2022-03-27 18:30:46 -05:00
tildearrow
ef88fc57d8 GUI: remove invalid comment 2022-03-27 16:35:55 -05:00
cam900
ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00
tildearrow
09b5dd556e GUI: add setting to change position of SL slider 2022-03-27 03:38:04 -05:00
tildearrow
f7d7b00e93 GUI: redesign FM editor layout, part 3 2022-03-27 03:29:45 -05:00
tildearrow
1c98748a88 GUI: redesign FM editor layout, part 2 2022-03-27 01:38:24 -05:00
tildearrow
9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow
3ea9c0360f implement F3xx and F4xx for fine vol slides 2022-03-26 20:58:33 -05:00
tildearrow
7237e8fb39 GUI: add a space
i am lazy
2022-03-26 18:30:08 -05:00
tildearrow
4caa9376bc GUI: what 2022-03-26 17:30:26 -05:00
tildearrow
26791df58e GUI: redesign FM editor layout, part 1
thanks Raijin for the concept
2022-03-25 18:16:47 -05:00
cam900
dc62c8610c SAA1099 in CMS/Game Blaster and Compatible isn't hard panned per chip
Info: http://hackipedia.org/browse.cgi/Computer/Platform/PC%2c%20IBM%20compatible/Sound%20and%20Music/Creative%20Labs/Game%20Blaster/C%e2%88%95MS%20Programming%20Information%20by%20Creative%20Labs%20%281990%29.pdf , VGMs recorded from CMS/Game Blaster
2022-03-26 02:24:58 +09:00
cam900
ae17f7e616 NES with Family Noraebang
An Karaoke unit connectable for NES cartridge slot.
And, sure. It is unlicensed.
2022-03-26 00:47:39 +09:00
tildearrow
6e35640537 GUI: less annoying PET waveform view 2022-03-25 02:10:44 -05:00
tildearrow
bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -05:00
cam900
168577e4b9
Revert preset 2022-03-24 13:49:41 +09:00
cam900
6f18be3ede Add presets:
Standalone OPLs

Sound Blaster Pro 1.0
Earliest Sound Blaster Pro has 2 OPL2s, it supports stereo like successor but with hardpanned OPL2: one for Left output and one for Right output.

PC-FXGA
PC-FX, SuperGrafx on steroids, Released at December 1994 in NEC.
PC-FXGA is PC add-on card version of PC-FX for IBM PC and PC-98. It's released at 1995 with 3D acceleration - it lacks at original PC-FX console.

SAAYM
Modern CMS/Game Blaster Compatible PC ISA sound card with YM2151 addon. Commander X16 will be use its configuration but SAA in X16 is finally replaced to VERA.

Seta 1 + FM Addon
X1-010 and YM3438, Both driven by Z80. Ultra Toukon Densetsu used this configuration.
2022-03-24 13:46:35 +09:00
cam900
39654bfa86 Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 13:11:22 +09:00
tildearrow
3ed38aca5e GUI: allow customization of file picker colors 2022-03-23 22:32:36 -05:00
tildearrow
6492eeff56 GUI: proper sample errors 2022-03-23 16:39:08 -05:00
tildearrow
5a08e0d230 OPLL: add patch macro 2022-03-23 15:50:18 -05:00
cam900
df8f40486d Fix frequency, Loading waveform, Add instrument tab for waveform initialize
now for saving DivInstrumentN163 struct is... needs to compatibility breaks?
2022-03-24 03:53:07 +09:00
cam900
e8d567d3df Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 03:22:33 +09:00
tildearrow
ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
tildearrow
afc701b0b9 GUI: sample edit undo/redo!
it seems to work but if you find bugs/crashes tell me
2022-03-23 00:42:59 -05:00
tildearrow
519dd7f2dd GUI: aaand more sample editor work
now it has a right click menu
2022-03-22 18:05:32 -05:00
tildearrow
8e0119b2d3 GUI: more sample editor fixes 2022-03-22 17:33:54 -05:00
tildearrow
97926c4e5c GUI: update sample texture 2022-03-22 17:04:36 -05:00
tildearrow
7ebc63a514 GUI: implement sample paste 2022-03-22 17:01:06 -05:00
tildearrow
a199c102ce GUI: hopefully better workaround to macOS #4 2022-03-22 15:37:36 -05:00
cam900
73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
tildearrow
c24ad24a03
Merge pull request #302 from AYCEdemo/petvic
Add VIC-20 support
2022-03-22 13:25:21 -05:00
cam900
2eaa6ed0ce Merge branch 'master' of https://github.com/tildearrow/furnace into n163
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatchContainer.cpp
#	src/gui/gui.cpp
#	src/gui/insEdit.cpp
2022-03-23 02:44:13 +09:00
cam900
5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
tildearrow
705ba4273b GUI: sample editor keybinds
works
2022-03-22 04:54:01 -05:00
Natt Akuma
feb138cefc Add VIC-20 support 2022-03-22 14:48:48 +07:00
tildearrow
f4f91ca49e GUI: ability to customize toggle button color 2022-03-22 01:57:06 -05:00
tildearrow
73d2f97274 GUI: fix visualizer option in menu 2022-03-22 01:34:53 -05:00
tildearrow
6dbc46d50e GUI: prevent editing non-8/16-bit samples 2022-03-22 01:21:13 -05:00
tildearrow
e256efa641 GUI: add option to load Japanese chars
issue #52
2022-03-21 23:36:17 -05:00
tildearrow
bd84dc1c17 GUI: make clang happy 2022-03-21 21:48:36 -05:00
tildearrow
cec5def347 what?
unacceptable.
2022-03-21 21:47:27 -05:00
tildearrow
80927b80b1 fix build 2022-03-21 17:38:11 -05:00
tildearrow
7e5c27c5b7 GUI: massive code split
gui.cpp now less than 3000 lines
2022-03-21 17:34:43 -05:00
tildearrow
e62f9bffd3 GUI: re-organize code
ins/wave/sample lists now in dataList.cpp
wave editor now under its own file
2022-03-21 16:34:19 -05:00
tildearrow
cbbca2d6c8 GUI: no mention of PET in wave edit 2022-03-21 16:22:43 -05:00
tildearrow
948d585767
Merge pull request #300 from AYCEdemo/petvic
Add PET support
2022-03-21 16:20:55 -05:00
tildearrow
1003d9fcb8 GUI: more "modified" status situations
fixes #236
2022-03-21 16:17:51 -05:00
tildearrow
0a114b1168 GUI: don't allow direct saving to the backup file 2022-03-21 14:47:10 -05:00
tildearrow
854d0fea48 GUI: add option to restore backup 2022-03-21 14:32:33 -05:00
tildearrow
8c961f0aae add backup functionality - UNTESTED 2022-03-21 14:11:28 -05:00
Natt Akuma
c32ea59285 PET: Use wave bits macro instead 2022-03-22 01:37:22 +07:00
Natt Akuma
47c5c34e1c Add PET support 2022-03-21 21:02:51 +07:00
tildearrow
b45d2be312 GUI: sample editor almost complete
only keybinds are missing
2022-03-21 03:45:20 -05:00
tildearrow
2df7658fd0 GUI: implement sample sel operations
plenty of them
2022-03-21 02:43:52 -05:00
tildearrow
a68dbed760 GUI: add options for rounded UI elements 2022-03-21 00:52:38 -05:00
tildearrow
b83b46aa2c GUI: more sample editor work
scrollbar and some layout changes
2022-03-21 00:41:18 -05:00
tildearrow
20799402c8 GUI: select all is vertical now 2022-03-20 22:22:10 -05:00
tildearrow
21b15d686b GUI: prevent typing out-of-range notes
cope
2022-03-20 22:16:20 -05:00
tildearrow
ef3bf8f924 GUI: display sample selection - NOT FINISHED 2022-03-20 18:31:25 -05:00
tildearrow
b04e1f2870 GUI: implement sample draw 2022-03-20 18:25:48 -05:00
tildearrow
bdc29455cc GUI: one more change to the status bar 2022-03-20 05:19:23 -05:00
tildearrow
b7fd410c1f GUI: temporarily hide BRR sample type 2022-03-20 05:19:04 -05:00
tildearrow
9a94b7124d GUI: creditssss 2022-03-20 04:42:23 -05:00
tildearrow
34e679d642
Merge pull request #298 from djtuBIG-MaliceX/feature/OPL_SBI_Instrument_Import
OPL1/2/3 Instrument Import - SBI and S3I (Adlib only) format
2022-03-20 04:39:52 -05:00
tildearrow
299dbf14e4 GUI: sample editor status bar 2022-03-20 04:28:57 -05:00
tildearrow
03cb910e93 GUI: sample resampling 2022-03-20 03:14:00 -05:00
James Alan Nguyen
cbe74b26ad More #79 - Add S3I Adlib instrument support. Also fix SafeReader SEEK_CUR handling (wasn't used at all). 2022-03-20 17:12:03 +11:00
tildearrow
4593e33064 GUI: fix X1-010 flags 2022-03-19 22:02:21 -05:00
tildearrow
67ca88b478 GUI: prepare for sample select/draw 2022-03-19 16:14:11 -05:00
James Alan Nguyen
efdedd1044 Fix typo 2022-03-20 01:02:34 +11:00
James Alan Nguyen
e032580639 Started SBI import work (Issue #79 SBI task). Also ensure catch by reference not value. 2022-03-20 00:55:34 +11:00
tildearrow
689ed3bf65 sample editor workkkkkkk 2022-03-19 03:42:44 -05:00
tildearrow
c59c176de2 W O R K A R O U N D
adding text fixes the issue
2022-03-17 23:28:01 -05:00
tildearrow
6c5e6c2a0f
Merge pull request #294 from cam900/bubsys
Reduce naming confusion in Bubble System Wavetable Sound
2022-03-17 22:03:24 -05:00
tildearrow
a5906c6482 GUI: update credits 2022-03-17 22:03:14 -05:00
tildearrow
1af6eb21f6 freaking clang extension 2022-03-17 18:30:28 -05:00
tildearrow
5f0c1e9077 GUI: more sample editor work 2022-03-17 18:28:56 -05:00
tildearrow
b31ab408db GUI: new sample editor work 2022-03-17 18:08:59 -05:00
tildearrow
d63f3d311b fix arpeggio not resetting note to base on 0000 2022-03-17 16:37:49 -05:00
tildearrow
9dea093052 GUI: reduce scroll boundaries 2022-03-17 16:17:33 -05:00
cam900
a7c750a44e Merge branch 'master' of https://github.com/tildearrow/furnace into bubsys 2022-03-18 03:20:33 +09:00
tildearrow
3c1b1b69fc GUI: define sample edit texture 2022-03-17 03:43:02 -05:00
tildearrow
dce68749d6 GUI: work on the drum UI 2022-03-17 02:07:46 -05:00
cam900
234c5e9295 Reduce naming confusion in Bubble System Wavetable Sound
It means Custom wavetable sound generator logic on Bubble System.
It's wavetable select and volume is controlled by single AY-3-8910 IO for both channels, Another AY-3-8910 IO is used for reading sound status.

Schematics: http://pdf.textfiles.com/manuals/ARCADE/K-R/Nemesis%20[Schematics]%20[English].pdf (Nemesis, derivative of Bubble system)
2022-03-17 10:11:48 +09:00
tildearrow
d09aa778d9 prepare to rewrite sample editor - DO NOT USE! 2022-03-16 18:40:11 -05:00
tildearrow
a3efaf0bd3 fix 2022-03-16 17:02:57 -05:00
tildearrow
3163730fe8 prepare for drum kits/sample map 2022-03-16 17:01:44 -05:00
tildearrow
73cf7cf161 GUI: enforce minimum size for macro edit left col
UNTESTED
2022-03-16 13:45:22 -05:00
tildearrow
fb68d2e5cb GUI: add option to toggle visualizer in settings 2022-03-16 13:31:42 -05:00
tildearrow
966d133bf4 OPL: FM macros 2022-03-16 03:44:22 -05:00
tildearrow
9322e9467c GUI: prepare macro editor for OPL op macros 2022-03-16 02:01:44 -05:00
tildearrow
492533e5c0 GUI: add option to view Hz as base tempo 2022-03-16 01:27:34 -05:00
tildearrow
790c4345d9 GUI: add ability to view Hz as base tempo 2022-03-15 23:43:24 -05:00
tildearrow
02e9edbad9 unlock the power of DECIMAL HZ! 2022-03-15 23:30:15 -05:00
tildearrow
0a307fc4a6 MOD import: more improvements
- prepare for old Soundtracker MOD import
- add "bypass limits" flag - dope.mod plays correctly now
- automatic channel names
2022-03-15 18:32:15 -05:00
tildearrow
8355aa0175 GUI: OPL 4-op algorithm images 2022-03-15 00:09:45 -05:00
tildearrow
bfae208a24 GUI: change default layout 2022-03-14 17:40:22 -05:00
tildearrow
8012676993 MOD import: crash fix 2022-03-14 17:16:43 -05:00
tildearrow
37c733af6b
Merge pull request #287 from AYCEdemo/mod-import
.mod import
2022-03-14 16:12:02 -05:00
Natt Akuma
54da047b5a Apply requested changes
- Use sample->init() instead
- Implement set Hz by tempo effect and move from C4xx to F0xx
- Add "SAMPLE_POS" to cmdName
2022-03-15 03:59:42 +07:00
tildearrow
9643498946 GUI: fix orders up 2022-03-14 15:53:43 -05:00
Natt Akuma
91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07:00
tildearrow
749b0f39d0 GUI: better order display - UNTESTED 2022-03-14 14:54:45 -05:00
Natt Akuma
c7fb5df206 Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-14 21:57:54 +07:00
Natt Akuma
87f225074c .mod import 2022-03-14 21:50:52 +07:00
cam900
f24a776a7a More user friendly instrument name 2022-03-14 19:40:27 +09:00
cam900
2c6267bd6b Merge branch 'master' of https://github.com/tildearrow/furnace into scc 2022-03-14 19:22:31 +09:00
cam900
69aeb7dd58 Add Bubble System Support
Bubble System 2 channel Wavetable sound generator logic is configuration with K005289, 4 bit PROM and DAC.
K005289 controls pitch and 5 bit address generator per channel, Waveform select and Volume control is tied to AY-3-8910 ports. (each port for per channels)
these configuration is better known as K005289, the part of logic.
furnace emulates this configurations as single system, waveform format is 15 level and 32 width.
2022-03-14 19:22:12 +09:00
tildearrow
e009fc64f2 allow instrument change during slides 2022-03-14 01:23:31 -05:00
tildearrow
a96fd5727e GUI: begin working on unified ins/wave/sample list 2022-03-14 00:26:27 -05:00
tildearrow
394a440f3d prepare for unified ins/wave/sample list 2022-03-13 23:37:25 -05:00
tildearrow
4ba6058b03 GUI: system file dialog on by default
in order to make a test build
2022-03-13 23:24:57 -05:00
tildearrow
f56f4c80d1 GUI: move to system file dialog
default setting will be selected by a poll
2022-03-13 23:10:43 -05:00
tildearrow
0874d58fb8 damn it 2022-03-13 22:02:50 -05:00
tildearrow
d9a93e0cec ... 2022-03-13 21:19:52 -05:00
tildearrow
bfc4432023 nooooooooooooooooooooooooooooooooo 2022-03-13 21:06:08 -05:00
tildearrow
5e77b47467 system file picker anyone? DO NOT COMPILE! 2022-03-13 18:32:35 -05:00
tildearrow
3be56d50ab GUI: prepare for two things
- unified ins/wave/sample view
- macro line drawing
2022-03-13 17:30:43 -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
tildearrow
a41736cc89 GUI: partially implement note input latch
the UI for it is missing
2022-03-13 04:51:05 -05:00
tildearrow
6167feaf18 GUI: implement shrink and expand!
yay ONE MORE THING!!!!! then O P L
2022-03-13 03:13:11 -05:00
tildearrow
cd42a8b9f3 GUI: implement flip 2022-03-13 02:36:52 -05:00
tildearrow
bd705d837d interpolate now works on notes 2022-03-12 21:13:42 -05:00
tildearrow
a0c658f1d3 GUI: implement interpolate values 2022-03-12 21:06:47 -05:00
tildearrow
adafb49be7 GUI: prepare for interpolate 2022-03-12 15:12:39 -05:00
tildearrow
ab8bace7f4 change default SAA1099 core to SAASound 2022-03-12 12:53:53 -05:00
tildearrow
7971b7323b GUI: add nibble mode to randomize 2022-03-12 03:40:56 -05:00
tildearrow
de604bdf01 GUI: add gradient/fade edit option 2022-03-12 03:04:34 -05:00
tildearrow
e82b1e6a67 GUI: don't allow right-click menu movement 2022-03-12 03:04:16 -05:00
tildearrow
1f058ac653 GUI: add move cursor by edit step on insert option 2022-03-12 02:32:02 -05:00
tildearrow
a6eec9f7c4 GUI: implement randomize 2022-03-12 02:24:23 -05:00
tildearrow
3e890a391b GUI: operation mask
this means transpose also works on non-note columns!
2022-03-12 02:13:15 -05:00
tildearrow
f52d919240 GUI: implement paste overflow 2022-03-11 23:50:59 -05:00
tildearrow
fe9b379ca9 GUI: implement paste mix 2022-03-11 23:47:16 -05:00
tildearrow
cf07e1861e add "auto-insert one tick gap" option 2022-03-11 23:01:18 -05:00
tildearrow
2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
tildearrow
07d15643c2 GUI: implement paste flood 2022-03-11 17:56:10 -05:00
tildearrow
cb3c4e2302 GUI: clamp waves to max value 2022-03-11 17:00:57 -05:00
tildearrow
5fadcf4891 GUI: fix transpose octave range 2022-03-11 16:53:46 -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
74a23b3ec5 GUI: begin work on some of the new actions 2022-03-11 01:31:21 -05:00
tildearrow
0700ba7e65 GUI: start with the pattern view focused 2022-03-10 22:10:52 -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