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
Natt Akuma
47c5c34e1c
Add PET support
2022-03-21 21:02:51 +07:00
tildearrow
03cb910e93
GUI: sample resampling
2022-03-20 03:14:00 -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
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
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
tildearrow
0e633ea69b
GUI: add a debug window
2022-01-27 00:29:16 -05:00
tildearrow
8bcab6e139
VGM export: write resets and GD3 tag
...
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow
9d2032d627
VGM export: Arcade sample looping
2022-01-24 17:13:47 -05:00
OPNA2608
c061b36720
Fix MSVC linking
2022-01-21 13:47:09 +01:00
tildearrow
61639e5123
release v0.4.6
...
don't worry, this won't be the final release
2022-01-21 04:42:18 -05:00
tildearrow
8ab97a959c
add ps_fopen to properly handle fopen on Windows
...
fixes #22
2022-01-20 05:04:03 -05:00
tildearrow
b66918bf62
don't compile icon.c under Windows either
...
MSVC weirds out
2022-01-20 01:46:03 -05:00
tildearrow
068fb0f3ce
release v0.4.5
2022-01-19 17:02:27 -05:00
tildearrow
379d90ae4d
add more fonts
...
partially related to an issue when displaying non-Latin characters
however a true fix isn't coming yet as I haven't figured out a way
to load glyphs during run-time as needed
2022-01-19 16:58:01 -05:00
tildearrow
62a499644f
add wavetable saving
2022-01-19 05:10:06 -05:00
tildearrow
7c40948680
release v0.4.4
2022-01-19 04:34:12 -05:00
tildearrow
dce289a5a0
add early code for saving instruments
2022-01-19 03:28:29 -05:00
tildearrow
fe757ac6e7
release 0.4.3
...
urgent release due to serious bug when removing systems
2022-01-19 01:40:15 -05:00
tildearrow
1d5277c27b
more devendoring fixes
2022-01-18 02:56:12 -05:00
tildearrow
f652d6c738
fix devendor again and prepare for 0.4.2
2022-01-18 02:09:47 -05:00
tildearrow
a60eae00e5
add install directives for resource files
...
fixes #6
2022-01-18 01:00:08 -05:00
tildearrow
4419f72218
devendor libraries
2022-01-18 00:45:17 -05:00
tildearrow
df3ae12278
fix furnace for 32-bit
2022-01-17 21:08:14 -05:00
tildearrow
d828018500
release v0.4.1
...
fixes critical AppImage fail issue and some other things
2022-01-17 17:31:48 -05:00
tildearrow
1f4c721749
fix build in some cases
...
link against SDL2-static
2022-01-17 14:26:02 -05:00
tildearrow
35834a1116
release 0.4
2022-01-16 04:23:23 -05:00
tildearrow
113a1577b6
do the Amiga
2022-01-15 17:28:33 -05:00
tildearrow
307665f531
prepare for SAA1099
2022-01-14 16:29:27 -05:00
tildearrow
573ce69dc7
add TIA platform
...
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow
dce06d8ec4
add AY8930 platform
2022-01-14 00:02:10 -05:00
tildearrow
0b352ecd9a
add AY-3-8910 platform!
...
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow
177fe0fbdd
release 0.3.1
...
- added `25xx` and `26xx` effects in Neo Geo platform for
envelope period slides
- added `3xxx` and `4xxx` effects in C64 for fine duty/cutoff control
- made home/end keys work
- deleting a single note will delete related instrument value as well
- fix instrument value input when there are less than 16 instruments
- added `Cxxx` effect for mid-song Hz change
- possibly fix a hang when using multiple sound chips
- reduce PC Engine CPU usage
2022-01-12 23:00:22 -05:00
tildearrow
245a566806
release 0.3
...
- all-new Furnace file format
- ability to add multiple sound chips in a single song!
- made more buttons work
- revamped instrument editor
- revamped wavetable editor with custom width/height
- C64 duty/filter macros may now be absolute
- finally! an icon!
after this release, the focus will be on adding features, fixing bugs
and adding new platforms. enjoy!
2022-01-11 03:58:19 -05:00
tildearrow
7080434ed4
this does not compile
2022-01-08 16:03:32 -05:00
tildearrow
45d39b2483
add Windows icon
2022-01-07 17:41:47 -05:00
tildearrow
c6f17f1360
use the new icon
2022-01-07 03:29:56 -05:00
tildearrow
a10972df99
rename the macOS volume
2022-01-06 18:36:59 -05:00
tildearrow
28d3dc2691
release 0.2.2
2022-01-06 13:24:12 -05:00
tildearrow
cbc39909e4
release 0.2.1
...
several fixes and stuff
2022-01-01 12:45:21 -05:00
tildearrow
217e42471b
release 0.2
...
the first release ever with pre-built binaries
2021-12-30 18:58:51 -05:00
tildearrow
e1a7c765fd
yay AppImage build script
2021-12-30 17:31:08 -05:00
tildearrow
7c6c138007
FINALLY macOS build script works
2021-12-29 18:00:14 -05:00
tildearrow
51c9113ab4
add mac build script
...
DOES NOT WORK!!!
2021-12-29 17:47:17 -05:00
tildearrow
8e993e00c8
prepare for macOS bundle
2021-12-24 18:12:36 -05:00
tildearrow
84f36a8c66
icon fonttttttt
2021-12-21 00:30:55 -05:00
tildearrow
ea19f133d6
prepare for eventual release
2021-12-19 13:05:09 -05:00
tildearrow
f42cfcbdc8
custom config directory
2021-12-19 03:16:24 -05:00
tildearrow
9d8a2f780b
GUI: add a wavetable editor
2021-12-18 17:54:26 -05:00
tildearrow
2baed0cff0
fix windows build...
2021-12-16 15:51:19 -05:00
tildearrow
ebb28d912b
untested saving code and memory leak fix
2021-12-15 14:15:44 -05:00
tildearrow
2879b5e4d0
arcade: add ymfm-based core
...
less CPU usage at the cost of some quality
2021-12-15 01:23:58 -05:00
tildearrow
52087edceb
lots of changes
...
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow
95e3a098d0
add Neo Geo extended channel 2 support
2021-12-14 14:31:57 -05:00
tildearrow
1d2c129c01
GUI: a rough FM ins editor
2021-12-11 17:41:32 -05:00
tildearrow
2f813c55e0
GUI: instrument selector
2021-12-11 16:44:02 -05:00
tildearrow
9b850c1763
GUI: earliest ever GUI
2021-12-11 03:11:40 -05:00
tildearrow
e8ac2947ab
prepare for the GUI!
2021-12-11 02:10:09 -05:00
tildearrow
8c13774c21
reduce number of compilation steps
2021-12-10 15:16:40 -05:00
tildearrow
d789ae759e
neo geo let's goooooo
2021-12-09 13:25:02 -05:00
tildearrow
6cc0d58624
get things ready for neo geo
2021-12-09 03:37:31 -05:00
tildearrow
d395abe47f
actually obey the orders
2021-12-09 01:44:40 -05:00
tildearrow
b358338613
arcade: minor optimization
2021-12-09 01:03:05 -05:00
tildearrow
aff0afa7d1
prepare for arcade platform!
2021-12-08 17:40:35 -05:00
tildearrow
7e4370a880
i can't get it working
2021-12-07 16:09:00 -05:00
tildearrow
9fb02b5318
it compiles with MinGW
2021-12-07 13:48:21 -05:00
tildearrow
f71ee6b45d
preliminary audio file output
2021-12-07 12:21:23 -05:00
tildearrow
7490ed89a1
Revert "Revert "prepare to add file out - does not compile!""
...
This reverts commit ada8e71884
.
2021-12-07 04:22:36 -05:00
tildearrow
ada8e71884
Revert "prepare to add file out - does not compile!"
...
This reverts commit 45b202b85b
.
2021-12-07 04:20:11 -05:00
tildearrow
45b202b85b
prepare to add file out - does not compile!
2021-12-07 03:52:41 -05:00
tildearrow
ff07a19405
kind of C64
2021-12-04 23:55:28 -05:00
tildearrow
2f7001681c
prepare for C64 platform!
2021-12-04 02:42:22 -05:00
tildearrow
3286c3c0c5
NES system! almost
2021-12-04 01:19:54 -05:00
tildearrow
c543553b0f
prepare for NES platform
2021-12-03 16:04:07 -05:00
tildearrow
f7080bb2c1
add parameter parsing
2021-06-09 03:33:03 -05:00
tildearrow
d74fa698af
prepare for PC Engine platform
...
using Mednafen core
2021-06-06 14:02:38 -05:00
tildearrow
1444752704
now fix macOS build
2021-05-28 16:06:57 -05:00
tildearrow
9a1f16757a
fix Windows build on release config
2021-05-28 15:52:27 -05:00
tildearrow
2d3580a05c
fix windows build for once
2021-05-28 15:25:55 -05:00
tildearrow
c78cc8c676
finally output envelopes
...
apparently emulating the timers was necessary after all...
2021-05-27 05:06:43 -05:00
tildearrow
c2b3d85f77
bind the game boy
...
TODO: sound
2021-05-26 03:17:12 -05:00
tildearrow
3c20bffd46
prepare for game boy platform
...
using SameBoy code (MIT License)
2021-05-22 21:10:25 -05:00
tildearrow
2532401265
prepare for ch3 mode
2021-05-16 17:43:10 -05:00
tildearrow
3172fd37ed
more SMS work
...
it is able to play some modules... the next step is to bind this to the
Genesis platform
2021-05-15 16:42:48 -05:00
tildearrow
d9f076ef64
prepare to add SMS platform
...
plays but no macro yet
2021-05-15 14:18:16 -05:00
tildearrow
775b88dae2
more playback work
2021-05-14 03:23:40 -05:00
tildearrow
76a345ef25
rebranding
2021-05-13 03:22:57 -05:00
tildearrow
062a9837c0
G E N E S I S
...
without SN
2021-05-12 17:19:18 -05:00
tildearrow
f810fc0c3c
earliest playback
...
no sound, just terminal output
2021-05-12 03:58:55 -05:00
tildearrow
8c014802c9
convert chars to signed/unsigned
2021-05-11 15:26:38 -05:00
tildearrow
783d56c72a
initial commit
...
took me a day to make the base...
...and ~12 hours to write a reader that reads 100% of all demo songs in
1.0
2021-05-11 15:08:08 -05:00