Commit graph

147 commits

Author SHA1 Message Date
tildearrow
d09aa778d9 prepare to rewrite sample editor - DO NOT USE! 2022-03-16 18:40:11 -05: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
25eb3e4aae furnace II - the final fix 2022-03-13 22:21:01 -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
c6fda7a156 Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010 2022-03-10 18:24:52 -05:00
tildearrow
9bd15bd513 VERA: bring up actual emulation core 2022-03-10 15:51:27 -05:00
cam900
75b635229c Unnecessary changes 2022-03-09 01:01:40 +09:00
cam900
66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09:00
Natt Akuma
43cfb09acf Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-08 17:53:00 +07: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
Natt Akuma
b8ea64b801 Rename WS to Swan 2022-03-07 19:04:20 +07: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
840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07: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
c34b8325c9 more OPL preparation
DOES NOT WORK YET - JUST A PLACEHOLDER
2022-03-05 18:18:08 -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
63456a88d8 get rid of SDL1 check
see pull request #244
2022-03-02 16:10:18 -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
37f850c6c4 prepare for OPLL system - DOES NOT WORK 2022-02-25 04:26:01 -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
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
e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
Ian Karlsson
b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek
869f799299
Merge branch 'tildearrow:master' into master 2022-02-21 19:58:30 +01:00
tildearrow
fd28d1aef0 add support for building without RtMidi 2022-02-21 13:47:49 -05:00
Waldemar Pawlaszek
1d5813aba3
Merge branch 'tildearrow:master' into master 2022-02-21 12:53:52 +01:00
tildearrow
d0df796c12 release v0.5.7 2022-02-21 03:19:42 -05:00
Waldemar Pawlaszek
8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow
197d3ab39d OR SYSTEM_RTMIDI 2022-02-20 17:58:12 -05:00
Waldemar Pawlaszek
2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow
840be64314 split config management 2022-02-18 13:11:04 -05:00
tildearrow
84cf4ec046
Merge pull request #187 from TheEssem/patch-1
Change LICENSE install location
2022-02-18 13:05:19 -05:00
tildearrow
1a95e18f13 split system definition code
engine.cpp is now shy of 2500 lines
2022-02-18 13:04:33 -05:00
tildearrow
650beebe99 split VGM ops code 2022-02-18 12:58:36 -05:00
Essem
bc0814babd
Change LICENSE install location
Necessary for packaging on some distros
2022-02-18 11:57:46 -06:00
tildearrow
c39d3898b4 split file ops code 2022-02-18 12:39:45 -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
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
7bc0f530a3 oh I forgot about CMake and Info.plist! 2022-02-17 03:38:54 -05:00
tildearrow
91579e09eb GUI: don't abort on font load failure
paving the way for custom fonts
2022-02-14 18:00:04 -05:00
tildearrow
2f766553e8 add SAASound as an alternate SAA1099 core
DOES NOT WORK YET
2022-02-13 17:02:49 -05:00
tildearrow
aa0e318543 add RtMidi for eventual MIDI support 2022-02-13 15:02:43 -05:00
Plane
dbed326a58 Tell MSVC source files are in UTF-8 format
On some locales (e.g. Japanese) MSVC will fail to build Furnace
because it makes an incorrect assumption about the encoding of
source files.  In particular, string literals in engine.cpp cause
compile errors.  This probably doesn't show up in CI because of
the difference in locale.

This patch adds the `/source-charset:utf-8` compiler flag for MSVC,
which tells it the encoding of the source files.

With this change, MSVC appears to build Furnace properly.  Tested
with Visual Studio Professional 2022.
2022-02-10 21:26:13 -05:00