Commit graph

2682 commits

Author SHA1 Message Date
James Alan Nguyen
edb0f51131 stdint required 2022-08-04 17:43:42 +10:00
James Alan Nguyen
b030f8285d Bugfix for OPM file load - correctly handle AM-ENA where value is arbitrarily nonzero 2022-08-04 17:33:36 +10:00
tildearrow
d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow
a0d10aa60b Game Boy: implement anti-click 2022-08-03 19:17:18 -05:00
tildearrow
7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow
eafbf24290 GUI: YM2423 patch names
thanks freq-mod!
2022-08-03 17:31:00 -05:00
tildearrow
fce0371756 add "hint" commands 2022-08-03 17:21:47 -05:00
tildearrow
52c3b10373 add getWantPreNote()
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
tildearrow
53120edd99 disable MIDI clock 2022-08-03 14:41:53 -05:00
tildearrow
46425655ad YM2612: fix possible ExtCh DualPCM muting issue 2022-08-03 14:41:53 -05:00
tildearrow
0183c5d9ff GUI: remove one new line 2022-08-03 14:41:53 -05:00
cam900
89042f61eb Fix link for vgsound_emu (moved into https://gitlab.com/cam900/vgsound_emu) 2022-08-03 21:56:22 +09:00
tildearrow
034b4fd4f6 GUI: YMF281 patch names
thanks nicco1690!
2022-08-03 00:10:32 -05:00
tildearrow
0d4f20b7a6 SoundUnit: add 64K chip revision 2022-08-03 00:05:58 -05:00
tildearrow
1f57d09fbf GUI: display correct OPLL patch names 2022-08-02 23:16:42 -05:00
tildearrow
fe07051f89 rename Envelope release to Macro release 2022-08-01 22:51:13 -05:00
Waldemar Pawlaszek
5feba3a716 More robust popcnt 2022-07-31 22:26:59 +02:00
tildearrow
a9afcf873c fix ARM build 2022-07-31 14:05:23 -05:00
Waldemar Pawlaszek
6ff51ce8f3 #511 Added dynamic popcnt dispatcher 2022-07-31 11:33:38 +02:00
tildearrow
1921fd1759 PCE: implement anti-click technology 2022-07-30 01:00:51 -05:00
tildearrow
b3e9f53ec4 GUI: the poll 2022-07-27 17:57:36 -05:00
freq-mod
9447442fed Update waveform editor height/width guide 2022-07-27 16:09:36 +02:00
tildearrow
2b4b320a74 fix noMultiSystem setting being inverted 2022-07-27 02:36:48 -05:00
tildearrow
185b283ef6 GUI: wave generator, part 3 2022-07-27 02:36:36 -05:00
tildearrow
693d457fff GUI: wave generator, part 2 2022-07-27 02:23:29 -05:00
tildearrow
7d5f5a91c6 GUI: wave generator, part 1 2022-07-27 01:20:26 -05:00
tildearrow
173e9b0df9 **Namco C163** 2022-07-26 18:23:01 -05:00
tildearrow
47aba6186d GUI: fix possible crash in sample editing actions 2022-07-26 03:34:41 -05:00
tildearrow
92c3e75bee why! 2022-07-26 03:11:46 -05:00
tildearrow
606215ef9f OH MY 2022-07-26 02:54:35 -05:00
tildearrow
c6d5f55335 AND REALLY FIX IT THIS TIME 2022-07-26 02:28:28 -05:00
tildearrow
a9bfe7f452 fix build... again! 2022-07-26 02:13:19 -05:00
tildearrow
280592cf33 fix build 2022-07-26 01:42:34 -05:00
tildearrow
8d17500315 jlhafasjkhdgkdhjasfd 2022-07-25 19:45:49 -05:00
tildearrow
3ff8f3d860 FC loader: read slides 2022-07-25 19:09:42 -05:00
tildearrow
09e457003b add option for soft-clipping 2022-07-25 18:41:47 -05:00
tildearrow
b0c2b10135 GUI: add "scale" option to find/replace 2022-07-25 18:32:26 -05:00
tildearrow
83386d082d add a proper CLI
featuring skip order (left/right) and pause (space)!
currently available on macOS and Linux only.
2022-07-25 17:23:56 -05:00
tildearrow
3183400019 it appears SDL2 takes over interrupt in console
mode
2022-07-25 16:21:39 -05:00
tildearrow
542a46e89b remove log spam (hopefully) 2022-07-24 03:41:01 -05:00
tildearrow
1d77719640 prevent exception in MIDI in/out from crashing 2022-07-24 02:45:21 -05:00
tildearrow
9a0609ae1a fix build... 2022-07-24 02:24:57 -05:00
tildearrow
ffe06013d7 GUI: fix preset typo 2022-07-24 01:58:14 -05:00
tildearrow
1dbdf8558c Merge branch 'master' of github.com:tildearrow/furnace 2022-07-24 01:57:21 -05:00
tildearrow
588f3f737c preliminary Future Composer module loading
only loads patterns and doesn't deduplicate
conversion required to fit in the Furnace format (no transpose ins/note)
even the pattern loader itself isn't complete due to how different the
format is
2022-07-24 01:57:10 -05:00
cam900
6697be4d95
Add/Update more presets
Williams/Midway ADPCM Sound board
Used for conjunction with their Y/T unit, it has ordinary de facto standard OPM+MSM6295 on this era with software controlled DAC from predecessors.

Konami Battlantis
Used at Battlantis arcade hardware, It is early SB Pro but mono configuration.

Sega System 24
This Sega's early arcade system featured to floppy disk and high resolution graphics. Sound hardware is similar as their System 16, but ADPCM is replaced to software controlled DAC.

Namco System 86
Predecessor of System 1(a.k.a. System 87), It features similar sound hardware and optional ROM and DAC expansion.

Namco Thunder Ceptor
Used at Thunder Ceptor, their Front view arcade machine. Namco system 86 and System 1 sound system is directly derived from this machine's sound system.

Irem M72
Irem's first arcade system with FM sound system, All released game except R-Type is featured also LOUD software controlled DAC, inherited from their predecessors sound system.
2022-07-24 13:28:26 +09:00
cam900
49cb216594 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-07-24 12:25:17 +09:00
cam900
b48b7c8bc5 Apply loop end position for generic DAC 2022-07-24 12:23:38 +09:00
tildearrow
84c955058b GUI: Z280 whoops
issue #576
2022-07-23 22:22:05 -05:00
Christoph Neidahl
e08399156a
Haiku support (#596)
* Don't apply Wayland videodriver workaround on Haiku

* dirent.d_type-less type detecting in IGFD

The Dumb Way(tm). `stat`'s `st_mode` should be nicer?

* CMake check for dirent.d_type, stat-based fallback

* Move config dir setup to separate function

Nicer to work with than macro kerfuffle.

* Default sysFileDialog to off on Haiku

* Logging stuff

* Honour CMAKE_INSTALL_BINDIR

* Use find_directory on Haiku

Includes forgotten configPath line when home==NULL.

* Address PR review notes
2022-07-23 22:11:30 -05:00
tildearrow
de77d51d7a GUI: update credits 2022-07-23 21:19:43 -05:00
Aleksi Knutsi
8011e7adc7
Implement Phase Reset Timer macro for Sound Unit (#573)
* Implement Phase Reset Timer Macro

* And make the macro actually work

* Delete ex4Max variable
2022-07-23 19:13:30 -05:00
tildearrow
623c0efbba
Merge pull request #578 from tildearrow/ngp
Add generic PCM DAC system
2022-07-23 19:12:51 -05:00
tildearrow
78b5419004 GUI: fix effect list hotkey 2022-07-23 19:08:39 -05:00
tildearrow
26d60dd107 GUI: fix per-chan osc debug crash
fixes #600
2022-07-23 19:01:30 -05:00
tildearrow
984d61d081 GUI: update song information 2022-07-23 18:53:49 -05:00
tildearrow
dfcb9551e7 GUI: update credits 2022-07-23 18:53:42 -05:00
tildearrow
efa75a4480 GUI: sub-song info experiment 2022-07-23 18:40:48 -05:00
tildearrow
6051f92e68 GUI: add setting to customize initial system name 2022-07-23 18:22:42 -05:00
tildearrow
8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -05:00
tildearrow
d004629a58 dev102 - new sample storage format 2022-07-22 02:29:01 -05:00
tildearrow
7bc3166ed5 YMZ280B: frequency precision improvement
frequency is now multiplied by 256 and then fed to the chip divided by
256 to increase freq precision
2022-07-22 00:01:29 -05:00
cam900
5127d5ef18
Implement sample loop end position, enum-ise sample depth (#557)
TODO: new sample format
2022-07-21 23:36:42 -05:00
tildearrow
a137eefd20 GUI: refine the Namco [C]163 chip name option 2022-07-21 19:00:32 -05:00
tildearrow
f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
tildearrow
09b47fafe3 update demo songs 2022-07-21 14:49:42 -05:00
tildearrow
191a0dedf9 GUI: improve wavetable editor, part 2 2022-07-21 03:14:52 -05:00
tildearrow
962dab012c GUI: improve wavetable editor, part 1 2022-07-21 02:49:19 -05:00
cam900
4e8d71fc22
Fix sample map struct
Structize sample map variable is for easily extend features.
2022-07-21 13:42:20 +09:00
cam900
a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
tildearrow
dff7c61b79 GUI: add option to disable threaded input 2022-07-20 00:32:06 -05:00
tildearrow
cd7b333b2d introduce a benchmark mode 2022-07-19 17:01:19 -05:00
tildearrow
a4741861ce fix audio output being reset on cmd line export 2022-07-19 15:57:06 -05:00
tildearrow
707dc30f15
Revert "Fix issue #567: LFO disable/enable behavior for YM2151." 2022-07-17 00:05:56 -05:00
Natt Akuma
e334fdddb8
Merge pull request #572 from ZeroByteOrg/opmlfo
Fix issue #567: LFO disable/enable behavior for YM2151.
2022-07-17 12:04:38 +07:00
tildearrow
96b7e5d353 GUI: implement multi sel on NFD and IGFD 2022-07-16 01:52:15 -05:00
tildearrow
666b0d581a GUI: add multi-selection capability to file dialog 2022-07-15 02:23:16 -05:00
tildearrow
d085f76c7f issue #588, part 3
add check for the existence of inb() and outb()
2022-07-14 22:29:04 -05:00
tildearrow
bad11bc21e whoops 2022-07-14 02:00:51 -05:00
tildearrow
28a2db7a57 GUI: system file picker error feedback 2022-07-14 01:59:55 -05:00
tildearrow
2f98da5675 GUI: sample editor icon improvements 2022-07-12 19:15:10 -05:00
tildearrow
15ab8cc49b YM2612: fix a CSM issue with key off 2022-07-12 18:45:54 -05:00
tildearrow
c85b67b1da NES + chip -> Famicom + chip 2022-07-09 15:55:27 -05:00
tildearrow
c2f1385703 MSM6258: fix position not being reset in furnace s
ample mode
2022-07-08 02:25:25 -05:00
cam900
fe94ea8e04
Fix typo 2022-07-07 04:10:32 +09:00
cam900
9898d824c0
Fix typo 2022-07-07 04:09:50 +09:00
tildearrow
b39924c9d6 AY: TODO fix wtr_envelope.dmf 2022-07-05 01:16:25 -05:00
tildearrow
f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow
949e293053 SMS: aaaand more .dmf compatibility 2022-07-03 23:43:13 -05:00
tildearrow
0ec28f168e more .dmf compatibility stuff 2022-07-03 23:31:35 -05:00
tildearrow
4b1db78a0b GUI: remove debug message 2022-07-03 23:02:45 -05:00
tildearrow
c3a693e804 GUI: possibly fix replace crashes 2022-07-03 23:02:25 -05:00
Natt Akuma
f8425b817f Fix GCC errors 2022-07-03 20:11:04 +07:00
Natt Akuma
d3cd7bbb81 Add generic PCM DAC system
For use with NGP DAC and some arcade system combos
2022-07-03 01:42:47 +07:00
cam900
364c7c4104
Add Sega System E Preset
It is Sega System C/2 but Master system; but this system has 2 SMS VDPs (One for foreground and another for background) and they has they own PSG output.
FM addon is unofficial, but System E release of Fantasy zone II support that.

MAME driver: https://github.com/mamedev/mame/blob/master/src/mame/sega/segae.cpp
FM Addon example (Fantasy Zone II): https://www.youtube.com/watch?v=7dLc9UZ81CI
2022-07-02 11:59:27 +09:00
Natt Akuma
fac415c8e8 Prepare for NGP system
Also add PCM DAC as system format 0xc0
2022-07-02 08:19:25 +07:00
Natt Akuma
59bcd9599f OPL: Missed changes from last commit 2022-07-01 17:55:33 +07:00
Natt Akuma
02b28e6e7d OPL: Correct CHIP_FREQBASE to match clock ratio
This changes from 9440540 to 9437184
2022-07-01 17:33:33 +07:00
ZeroByteOrg
807848cfee Fix LFO disable/enable behavior for YM2151. 2022-06-29 16:59:47 -05:00
tildearrow
a8a38dce2b 0.6pre1 - introduce the final changes
- implement E1xy/E2xy Defle bug when using same note twice
- add SNK Touchdown Fever preset
- update README.md and to-do list
- update credits

thank you for your patience!

see you in 0.6pre1.5 coming soon...
2022-06-29 04:57:05 -05:00
tildearrow
0a055ff85b OPL: fix crash 2022-06-29 02:11:25 -05:00
tildearrow
b99dce5362
Merge pull request #499 from superctr/220527_blocksize
Save the size of each block in a Furnace module
2022-06-29 01:54:05 -05:00
tildearrow
4a0bb1fa38 OPLL: one more chan osc fix 2022-06-29 01:50:20 -05:00
tildearrow
0b70902dbe OPLL: fix per-channel osc, part 2 2022-06-29 01:40:03 -05:00
tildearrow
9fee9fa363 GUI: run per-chan osc on instrument preview 2022-06-29 01:37:12 -05:00
tildearrow
4dfd413ead OPLL: fix per-channel osc, part 1 2022-06-29 01:32:52 -05:00
tildearrow
90481cc460 OPL: fix drums mode per-channel osc 2022-06-29 01:06:31 -05:00
tildearrow
477674400c YM2612: whoops! 2022-06-29 00:55:05 -05:00
tildearrow
aaf02103f6 YM2612: implement DualPCM macros 2022-06-29 00:49:11 -05:00
tildearrow
57c0f8bdc7 error feedback on Windows
see #540
2022-06-28 23:42:34 -05:00
tildearrow
3ea0ad1e0a OPL: fix pitch macro
fixes #535
2022-06-28 23:32:36 -05:00
tildearrow
8c8ad7f5ab fix audio saving being totally wrong 2022-06-28 22:08:24 -05:00
tildearrow
96bc63470f GUI: add unsigned detune option
closes #559
2022-06-28 15:06:22 -05:00
tildearrow
13f14b6854 SoundUnit: fix copy-paste blunder 2022-06-28 12:55:14 -05:00
tildearrow
be7d7002e2 fix opening/saving audio files with non-ASCII char
s on Windows

this required making a wrapper...
2022-06-28 02:00:08 -05:00
tildearrow
f483292a88 OPN[A/B/2]?: implement 18xx effect 2022-06-28 01:16:46 -05:00
Natt Akuma
e2449d91f1 VERA: Run noise generation in each channel update 2022-06-27 19:37:45 +07:00
tildearrow
fc489239c2 tildearrow Sound Unit no longer a secret 2022-06-27 05:04:23 -05:00
tildearrow
32ca9e6b0f remember last dir when using NFD 2022-06-27 04:58:25 -05:00
tildearrow
b04743d045 SMS: implement Game Gear stereo in Nuked core 2022-06-27 04:09:24 -05:00
tildearrow
fef09fb00d fix major per-channel audio export issue in ExtCh 2022-06-27 03:55:55 -05:00
tildearrow
869fe23036 fix .y12 TL loading 2022-06-27 03:44:09 -05:00
tildearrow
7ea49d7e84 what? 2022-06-27 03:39:42 -05:00
tildearrow
f8347ac50f GUI: fix several things in OPL drums ins editor
- alternate layout being wrong
- macros being wrong
2022-06-27 03:30:57 -05:00
tildearrow
fa29c6c00a GUI: update credits 2022-06-24 14:23:57 -05:00
tildearrow
e39a923b23 C64: fix per-channel osc for 6581 2022-06-24 03:26:00 -05:00
tildearrow
522fecc635 GUI: gradient whoops 2022-06-24 03:17:40 -05:00
tildearrow
deffd99503 pass filter to NFD - DOES NOT BUILD
I am so lazy to adapt the macOS part
2022-06-24 03:11:36 -05:00
tildearrow
951db12e6a Namco WSG: fix C15/C30 high notes 2022-06-23 22:59:06 -05:00
tildearrow
a717c67f3d change IDs of null/dummy audio backends
for eventual alternate audio backend support
2022-06-23 22:53:21 -05:00
tildearrow
b66cc81fc6 fix loading 24-bit samples 2022-06-23 22:33:25 -05:00
tildearrow
96b126fd42 GUI: fix gradient color byte order 2022-06-23 20:58:48 -05:00
tildearrow
aa511d2718 GUI: implement Gradient2D::fromString()
WE ARE CLOSE
2022-06-23 18:18:33 -05:00
tildearrow
7586db9a1b fix Termux build again 2022-06-23 16:25:51 -05:00
tildearrow
b90552dfb1 fix Termux build 2022-06-23 16:23:46 -05:00
tildearrow
1b5396e814 GUI: save per-chan osc state 2022-06-23 04:02:41 -05:00
Natt Akuma
142b8b2bb0 safeReader: Copy a value instead of direct casting
This fix crashes on architectures with forced alignments such as ARM
2022-06-23 09:03:20 +07:00
tildearrow
4731dad917 GUI: colors 2022-06-22 15:10:53 -05:00
Natt Akuma
8dc143af7b PET: Support full 16-bit period range
Fix #500
2022-06-23 02:42:11 +07:00
Natt Akuma
4bf4be1ea2 Fix 16-bit samples in YMZ280B VGM export 2022-06-22 21:55:31 +07:00
Natt Akuma
22dd22ca33 Allow accessing all 256 waves in macros 2022-06-22 19:38:29 +07:00
tildearrow
e0bccc8c14 GUI: prepare for colors in the per-chan osc 2022-06-21 18:01:53 -05:00
tildearrow
e3686c2e34 fix song playing from begin if stopped on last row 2022-06-20 22:14:16 -05:00
tildearrow
af4a359801 GUI: make spoiler actually visible 2022-06-20 21:11:40 -05:00
cam900
69ea1d0227 Fix AY8930 unmuting 2022-06-21 11:06:26 +09:00
tildearrow
4ca64cc66c GUI: hide hidden channels in per-chan osc 2022-06-20 18:56:20 -05:00
tildearrow
5a1a583ab0 AY: finally fix unmuting 2022-06-20 18:53:39 -05:00
tildearrow
fd61e0e9f8 ZX beeper: per-"channel" osc
there's only one
2022-06-20 18:48:10 -05:00
tildearrow
b697694c0d GUI: per-channel osc DC offset centering 2022-06-20 18:41:23 -05:00
tildearrow
a4167a7dd8 Nothing 2022-06-20 18:36:05 -05:00