Commit Graph

644 Commits

Author SHA1 Message Date
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 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 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 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 b04e1f2870 GUI: implement sample draw 2022-03-20 18:25:48 -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
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 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
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 fb68d2e5cb GUI: add option to toggle visualizer in settings 2022-03-16 13:31:42 -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 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
Natt Akuma 91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07: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 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 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 5e77b47467 system file picker anyone? DO NOT COMPILE! 2022-03-13 18:32:35 -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 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 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 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
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 85b9f340a9 Merge branch 'x16' of https://github.com/AYCEdemo/furnace into x16 2022-03-10 14:35:33 -05:00
cam900 406faaeeea Gamate
Handheld game console by Taiwanese Bit Corporation that supports stereo headphone, with had a AY-3-8910 based sound.
2022-03-11 04:07:11 +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 a969694b2b Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-11 02:46:46 +09:00
tildearrow 93b3e16213 i need to go
TODO:
- EDIT LATCH
- EDIT MASK
2022-03-09 18:03:15 -05:00
tildearrow b80b33ac8e GUI: demand scroll X in more situations 2022-03-09 16:42:15 -05:00
tildearrow 2fb6ea021b GUI: this menu is packed with features
that DON'T WORK YET
2022-03-09 15:43:30 -05: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 a86a7f766b VERA doesn't have config flags 2022-03-08 15:06:11 +07:00
tildearrow 270225f6d1 WonderSwan doesn't have config flags 2022-03-07 23:47:40 -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 2d922d5e09 GUI: attribution 2022-03-07 23:11:14 -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 ec007b4443 OPL: more work - still not there yet 2022-03-07 18:19:25 -05:00
cam900 65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09: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 252dc16492 Add X16 to the New menu 2022-03-07 16:45:34 +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
cam900 7a2c86e9d7 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 10:28:54 +09:00
tildearrow 2bfb84cd1e AY: add 1.10 and 2.10 rates 2022-03-06 14:18:18 -05: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 6728edbb71 UNTESTED! DO NOT USE - PC speaker passthrough 2022-03-05 15:00:19 -05:00
tildearrow 227006a124 GUI: another usability improvement
instrument list focused first if it is tabbed when starting program
2022-03-05 02:28:03 -05:00
tildearrow 23431323e2 GUI: major usability improvement coming
click on orders in click-to-edit or select instrument=auto-focus pattern
2022-03-05 02:13:15 -05:00
tildearrow 16dfc785d3 PC speaker: improvements 2022-03-05 00:36:50 -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 8e5b3abab8 add two more compatibility flags
issue #167 and #249:
- stop porta on note off
- continuous vibrato
2022-03-03 23:14:38 -05:00
tildearrow 99bee89cca GUI: better adapt shades to light theme 2022-03-03 16:59:31 -05:00
tildearrow e0cda2a77f GUI: add colors base setting
pave the way for.light themes
2022-03-03 12:44:29 -05:00
cam900 5393b67c1d Yamaha SFG-01
OPM FM sound expansion by Yamaha, for their CX series MSX computers: It's needs converter when connect it to standard MSX cartridge slot.
 Successor is SFG-05, It has YM2164 OPP instead YM2151 OPM.
2022-03-03 16:03:40 +09:00
cam900 c4f2090b48 Deflemask compatibility 2022-03-03 13:07:16 +09:00
tildearrow db4d72b1b0 attribution 2022-03-02 21:17:55 -05: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
cam900 f95d38521e Fix chip correction 2022-03-02 03:28:16 -05:00
tildearrow d94e0ec3e7 GUI: prepare a better new song thingy 2022-03-02 02:22:51 -05:00
tildearrow e133fb4906 GUI: make several things rate-independent 2022-03-02 00:38:32 -05:00
tildearrow 1957c19f34 GUI: insert 100ms delay when minimized
issue #220
2022-03-02 00:09:28 -05:00
tildearrow 36e1ead643 GUI: lastDir per dialog type
issue #227
2022-03-02 00:02:52 -05:00
tildearrow f10816ae80 GUI: add warning when layout reset is called
issue #240
2022-03-01 23:46:04 -05:00
tildearrow 14611fc744 add 2 demo songs
requested by CaptainMalware and Mahbod Karamoozian
2022-03-01 23:36:23 -05:00
tildearrow cf1711c45b GUI: attribution 2022-03-01 23:27:53 -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 1e5d7a623a GUI: report why does window creation fail 2022-03-01 20:59:38 -05:00
tildearrow 72178f6ce9 TODO: still to-do 2022-03-01 17:25:01 -05:00
tildearrow fa5e2bc439 TODO: revamp new song system picker 2022-03-01 17:19:52 -05:00
cam900 1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
tildearrow 7b6502c682 prepare for OPLL proper drums mode 2022-03-01 04:33:02 -05:00
tildearrow f8046facfc GUI: make sliders right-clickable 2022-02-28 22:42:52 -05:00
cam900 4e5b398994 Fix notes 2022-03-01 02:11:02 +09:00
cam900 ddf341dfc0 Add support YM2610* ADPCM-B Repeat flag, Add YM2610 ADPCM notes in GUI 2022-03-01 01:11:27 +09:00
cam900 ee013ad7a9 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-27 06:41:11 +09:00
tildearrow 8670afe18f GUI: add OPLL options 2022-02-26 14:00:20 -05:00
tildearrow 40931283a0 GUI: MSX PAL 2022-02-26 13:58:15 -05: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 27c1522085 port legacy dmf extension fix from 0.5-fixes 2022-02-25 02:40:30 -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
BlastBrothers 1326de3928
Merge branch 'tildearrow:master' into master 2022-02-24 22:08:32 -05:00
BlastBrothers 36eec8f170 Fix Invert box position 2022-02-24 19:16:58 -05: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
BlastBrothers 101e2c4383 Mixer: Wide bars/invert box moved to reduce height 2022-02-24 17:45:37 -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
tildearrow 957c2b84b6 GUI: attribution 2022-02-23 21:35:51 -05:00
BlastBrothers 1c33fe0edb force update 2022-02-23 11:51:02 -05:00
tildearrow a29a89224e compound system flattening, part 3
added a new strategy to determine system name
2022-02-23 03:54:06 -05: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 56acd5ccbb oopsie 2022-02-22 23:50:38 -05:00
tildearrow 2a97f17b88 attribution 2022-02-22 23:50:18 -05:00
tildearrow ef0e19413c ok so fix the file dialog 2022-02-22 22:41:37 -05:00
tildearrow a5561f1899 tabs to spaces 2022-02-22 22:13:17 -05:00
tildearrow bb074bee4c update credits 2022-02-22 21:20:04 -05:00