Commit graph

604 commits

Author SHA1 Message Date
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
tildearrow
e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
tildearrow
f2232b6157 more lynx micro-fixes and bump version to dev57
allocated 3 versions for possible emergency fix releases after 0.5.7

0.6 dev starts here!
2022-02-22 17:48:13 -05:00
tildearrow
8ca32aa2d6
let's go
Atari Lynx Support
2022-02-22 17:37:23 -05:00
Francisco Demartino
e743d847cd GUI: unhardcode about line count 2022-02-22 17:20:16 -05: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
721445cf07 release v0.5.7 (for real this time)
also fix oscilloscope and add layout reset option
2022-02-22 02:01:59 -05:00
tildearrow
2d90881a55 GUI: a few more visualizer tweaks 2022-02-22 00:13:32 -05:00
tildearrow
df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
tildearrow
f54aeb4c08 GUI: add ability to remap note keys 2022-02-21 18:01:41 -05:00
Waldemar Pawlaszek
6e79e84e53 Added panning and load LFSR commands. 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek
869f799299
Merge branch 'tildearrow:master' into master 2022-02-21 19:58:30 +01:00
tildearrow
db553ba91c GUI: possibly fix clipboard pasting 2022-02-21 13:31:32 -05:00
Waldemar Pawlaszek
1d5813aba3
Merge branch 'tildearrow:master' into master 2022-02-21 12:53:52 +01:00
tildearrow
eb2e08c834 GUI: add ability to rename patterns 2022-02-21 03:05:00 -05:00
Waldemar Pawlaszek
8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow
3f57cf0951 GUI: prepare for reading more instrument formats
issue #79
2022-02-20 23:21:59 -05:00
Waldemar Pawlaszek
2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow
47d7e68958 i am so drunk 2022-02-20 04:40:45 -05:00
tildearrow
0f69a6d206 GUI: follow up to #191 2022-02-20 04:26:35 -05:00
tildearrow
3a6beecb67
Merge pull request #191 from franciscod/about_fps
make about page animation framerate independent
2022-02-20 04:24:19 -05:00
tildearrow
fa363384aa 1.1 .DMF saving
as of now you're given a choice between 1.1 and 1.0 module
2022-02-20 03:18:20 -05:00
tildearrow
68eecb723f fix bugged notes in .dmf 2022-02-19 23:11:20 -05:00
tildearrow
73b0edad7c GUI: prevent layout reset 2022-02-19 22:04:55 -05:00
Francisco Demartino
87c9cc7574 make about page animation framerate independent
fixes #189
2022-02-19 18:15:57 -03:00
tildearrow
859ac5e373 GUI: add the rest of instrument types
NO UI YET
2022-02-19 03:37:47 -05:00
tildearrow
464ad5a825 preliminary 1.1 .dmf loading 2022-02-19 02:52:53 -05:00
tildearrow
0d5aa002d3 prepare for custom note/value input map 2022-02-18 13:11:41 -05:00
tildearrow
ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow
fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -05:00
tildearrow
f735617ee3 GUI: code split, part 4
gui.cpp now 5600 lines
2022-02-17 22:59:11 -05:00
tildearrow
dde2849a16 GUI: code split, part 3 2022-02-17 22:40:23 -05:00
tildearrow
585efbec13 GUI: increase maximum octave
issue #179
2022-02-17 22:07:59 -05:00
tildearrow
7d9749d0ef GUI: prevent crash when unable to load a font 2022-02-17 21:40:31 -05:00
tildearrow
b3d26d3309 GUI: code split, part 2 2022-02-17 14:04:39 -05:00
tildearrow
0feba09de2 GUI: code split, part 1 2022-02-17 13:08:17 -05:00
tildearrow
8eaf94cbce GUI: display correct keybinds in menu bar 2022-02-17 03:33:43 -05:00
tildearrow
bacf57bb65 add stop song effect! finally! 2022-02-17 03:15:51 -05:00
tildearrow
09144b95f9 GUI: add ability to see previous orders in the pattern
editor

closes #161
2022-02-17 02:44:17 -05:00
tildearrow
810ee33d11 GUI: prepare for drawing prev/next pat content 2022-02-16 16:11:15 -05:00