Commit graph

135 commits

Author SHA1 Message Date
cam900
66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09: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
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
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
OPNA2608
f56d771a4d Fix ObjC code linking 2022-02-10 21:25:23 -05:00
tildearrow
569de9d81a add preliminary ymfm OPZ code 2022-02-09 23:19:02 -05:00
tildearrow
589b887928 release v0.5.5 2022-02-09 03:44:48 -05:00
tildearrow
211208ed53 GUI: fix UI scaling on macOS
required patching ImGui D:
but hey, it mostly works! issue #35
2022-02-08 02:04:23 -05:00
tildearrow
045dfa679a release v0.5.4
sorry this doesn't include too many features as it is another critical
bug fix release
2022-02-05 16:47:22 -05:00
tildearrow
50516d86ae release v0.5.3 2022-02-05 04:42:10 -05:00
tildearrow
34ec189be5 release v0.5.2
FAST
2022-02-05 03:10:19 -05:00
tildearrow
26cd33bae6 fix windows build 2022-02-02 01:06:29 -05:00
tildearrow
09106f661f fix Termux build 2022-02-01 16:05:01 -05:00
Christoph Neidahl
c83e146d11
Improve devendoring & other CMake stuff (#21)
* Improve devendoring

* Add warning flags for own C++ code

For https://github.com/tildearrow/furnace/pull/12#issuecomment-1017330467.

* Document new CMake options

* pkg-config stuff

* Warnings stuff for MSVC yay

* Use more specific linking vars & functions

* Fix Linux icon location

* DEPENDENCIES_LEGACY_LDFLAGS for JACK too
2022-02-01 15:50:25 -05:00
tildearrow
7c9beca93f release 0.5.1 2022-02-01 03:50:11 -05:00
tildearrow
82e24c0db0 useless change 2022-01-31 16:33:37 -05:00