Commit graph

3033 commits

Author SHA1 Message Date
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
60a52d3b9f
Revert "Revert "Fix issue #567: LFO disable/enable behavior for YM2151."" 2022-07-17 00:06:04 -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
ZeroByteOrg
850508e1b8 Merge branch 'master' into ZSMv1 2022-07-11 12:59:59 -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
ZeroByteOrg
40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -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
ZeroByteOrg
ae7b271e1d Merge branch 'master' into ZSMv1 2022-06-23 13:45:12 -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
tildearrow
ee709b85c2 Namco WSG: per-channel oscilloscope 2022-06-20 18:20:49 -05:00
cam900
b3201853bc
Fix YM2151 clock in CPS-1 2022-06-21 06:54:18 +09:00
cam900
df21621ce7
Add drums mode in here, too 2022-06-21 06:36:41 +09:00
cam900
41135f4a95
Add extended channel 3 preset for here 2022-06-21 06:35:11 +09:00
tildearrow
57fab16269 GUI: add ability to drag to move when holding Ctrl 2022-06-20 16:24:14 -05:00
tildearrow
60334fb03c GUI: add spoiler window 2022-06-20 15:20:02 -05:00
tildearrow
6772159d5f one more GCC < 8 fix 2022-06-20 04:58:03 -05:00
tildearrow
d66ff353ba GUI: more fixes to drag to move 2022-06-19 19:07:38 -05:00
tildearrow
35bc757adf GUI: fix macOS system file picker crash 2022-06-19 18:51:51 -05:00
tildearrow
d47c50edaf GUI: fix drag to move 2022-06-19 18:23:44 -05:00
tildearrow
2313e4fcc3 GUI: temporarily remove freqs in sample map 2022-06-19 14:03:36 -05:00
tildearrow
52328df8c3 GUI: system file picker ins preview! (Windows) 2022-06-19 01:36:36 -05:00
tildearrow
8a1f544eef GUI: add ability to move selection by dragging 2022-06-18 23:18:34 -05:00
tildearrow
ea082b255c GUI: prepare for drag selection to move 2022-06-18 03:52:03 -05:00
tildearrow
0e163baffc GUI: update credits 2022-06-18 02:00:10 -05:00
cam900
33046c8e19 More presets
Dynax/Nakanihon 3rd generation hardware:
Naming reference is MAME source (https://github.com/mamedev/mame/blob/master/src/mame/drivers/ddenlovr.cpp), It's sound system combined with AY PSG(optional), OPLL, MSM6295 and mostly used in their mahjong, hanafuda, and something else.

Dynax/Nakanihon Real Break:
This sound system is used in Billard Academy Real Break (MAME source: https://github.com/mamedev/mame/blob/master/src/mame/drivers/realbrk.cpp), MSM6295 is replaced to YMZ280B but entire music is still drived in OPLL.
2022-06-18 11:42:14 +09:00
cam900
9cad907773 Fix potential register related issue 2022-06-18 11:07:36 +09:00
tildearrow
39fa3d7d85 Merge branch 'master' into preset1 2022-06-17 20:40:09 -05:00
cam900
6dc81c7af1 Pitch correction (again), Fix compatibility issue 2022-06-18 10:38:48 +09:00
tildearrow
ab7c2acd56 GUI: try 2022-06-17 04:51:45 -05:00
tildearrow
753458f898 LOL 2022-06-17 04:51:39 -05:00
tildearrow
d911c8eeab GUI: remove pointless comment in find/replace 2022-06-17 02:42:55 -05:00
tildearrow
56b56ebdde GUI: fix cursor moving on undo replace 2022-06-17 02:41:40 -05:00
tildearrow
a8ae8f6e54 address the final find and replace issue 2022-06-17 02:40:34 -05:00
tildearrow
02d4712e9c implement undo in find and replace 2022-06-17 02:21:07 -05:00
tildearrow
d8513e0856 GUI: use Native File Dialog on Windows/macOS
latter is untested
2022-06-17 01:28:22 -05:00
cam900
66f3f0e678 Input clock is too high for these chips 2022-06-17 14:34:00 +09:00
cam900
25af023dc6 Various corrections and fixes
Fix SN PSG pitch corrections
Revive YM2612 from dead
Add Game Gear stereo function finally
Add OPN/A prescaler config
2022-06-17 14:30:18 +09:00
tildearrow
ad5072dad6 more MIDI debugging messages 2022-06-16 23:55:17 -05:00
tildearrow
b7d8f3c17a harden sample movement 2022-06-16 23:39:38 -05:00
tildearrow
4d44c577e7 support saving 8-bit samples as-is 2022-06-16 23:22:40 -05:00
tildearrow
cdbcf7fcd3 fix loading 8-bit samples 2022-06-16 22:10:57 -05:00
tildearrow
327952f3f4 finally support loading floating-point samples 2022-06-16 22:07:12 -05:00
tildearrow
ed6a110d44 initialize SF_INFO before loading sample 2022-06-16 21:25:21 -05:00
cam900
0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
Natt Akuma
c44ca95b92 Make volume command handling consistent
For WonderSwan and VIC-20
2022-06-17 03:06:07 +07:00
tildearrow
7875ca4ac3 fix build 2022-06-16 02:09:57 -05:00
tildearrow
bdbebc99f1 GUI: prepare for replace undo 2022-06-16 01:26:19 -05:00
tildearrow
64f5343289 I give up trying to fix this file dialog
for now
2022-06-15 02:03:20 -05:00
tildearrow
dc9f1112d1 MSM6258: fix rate being twice
#541
2022-06-14 23:00:20 -05:00
tildearrow
cc06f36c92 GUI: fix dumb header insertion 2022-06-14 14:08:28 -05:00
tildearrow
d48801cfde GUI: slight visualizer tweaks 2022-06-14 04:41:57 -05:00
tildearrow
327a013186 GUI: finish alternate FM layout 2022-06-13 23:22:17 -05:00
tildearrow
bd7710991b GUI: a bit more to it 2022-06-13 03:57:31 -05:00
tildearrow
17fb152e25 GUI: work on alternate FM layout 2022-06-13 03:54:42 -05:00
tildearrow
da756bef7f OPL: fix 4-op channel muting 2022-06-12 23:22:45 -05:00
tildearrow
f3f8804f47 GUI: find and replace, part 13
one more part coming or maybe not
2022-06-12 14:39:08 -05:00
tildearrow
74b524a912 GUI: find and replace, part 12
replace is almost complete - some refinements left to do though
2022-06-12 03:50:05 -05:00
tildearrow
f0e9bd5f57 GUI: find and replace, part 11
lax mode done

now replace time...
2022-06-11 22:42:30 -05:00
tildearrow
44341d8ccd GUI: find and replace, part 10
find kind of works (only lax mode left to do)
then i'll do replace
2022-06-11 03:53:34 -05:00
tildearrow
7354b1221c GUI: find and replace, part 9 2022-06-11 02:14:30 -05:00
tildearrow
fa9fb6f8f5 GUI: find and replace, part 8 2022-06-10 18:27:47 -05:00
Natt Akuma
47768edd20 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-06-10 23:00:03 +07:00
Natt Akuma
b49b596fbe WIP SNES support, part 2
Make the code build again, still no sound though
2022-06-10 22:59:44 +07:00
tildearrow
30bd73f83a GUI: find and replace, part 7
the next parts will be dedicated on getting it working
2022-06-10 02:17:17 -05:00
tildearrow
936d9dfa49 GUI: find and replace, part 6 2022-06-09 18:52:38 -05:00
tildearrow
dd05429c0e WaveSynth: initialize wave to 0 on SCC/Bubble Syst 2022-06-09 18:16:51 -05:00
tildearrow
eac4f50d92 sanitize MIDI port names on Windows/Linux 2022-06-09 18:04:50 -05:00
tildearrow
04bbffac13 more MIDI debug messages 2022-06-09 16:54:14 -05:00
tildearrow
7dc3dc96c4 GUI: find and replace, part 5 2022-06-09 16:41:54 -05:00
tildearrow
6ccd2e222b try CoInitializeEx on Windows 2022-06-09 16:10:51 -05:00
Natt Akuma
f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
tildearrow
38f4b75b12 GUI: find and replace, part 4 2022-06-08 18:02:04 -05:00
ZeroByteOrg
8ed02530f6 Added WriteUC wrapper to safewrite for unsigned char. 2022-06-07 22:08:04 -05:00
ZeroByteOrg
6a64df6c68 Merge branch 'master' into ZSMv1 2022-06-07 20:46:38 -05:00
ZeroByteOrg
7ad4a8f5a7 Fixed compile error in MacOS 2022-06-07 20:24:50 -05:00
cam900
06e21b507b Merge branch 'master' into preset1 2022-06-08 10:11:08 +09:00
cam900
6aa88b0770 Move on .cpp, prepare for variable rate support 2022-06-08 10:10:55 +09:00
tildearrow
dc3b0e8322 GUI: find and replace, part 3 2022-06-07 19:48:42 -05:00
tildearrow
d90cfc0f33 fix build 2022-06-07 19:26:19 -05:00
tildearrow
bfbbdbf1d6 GUI: find and replace, part 2
still does not work
2022-06-07 18:51:18 -05:00
ZeroByteOrg
d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
tildearrow
aa09ffeedd GUI: find and replace, part 1
it does not work yet
2022-06-07 13:49:12 -05:00
cam900
8e69a7b617 Merge branch 'master' into preset1 2022-06-08 00:00:04 +09:00
cam900
7bbfe3af7c Fix per-channel osc 2022-06-07 23:59:50 +09:00
tildearrow
a300916753 GUI: fix effect val cell spacing not beinghPlease enter the commit message for your changes. Lines starting 2022-06-06 23:46:15 -05:00
cam900
dd93f6d18e Merge branch 'master' into preset1 2022-06-07 13:04:17 +09:00
cam900
3e953f57b3 Prepare for TI-99/4A support
only works on MAME core only for now.
2022-06-07 12:57:09 +09:00
tildearrow
eac59604df fix edit menu being too big 2022-06-06 18:04:19 -05:00
tildearrow
6dc408d99c SAA1099: remove MAME core
closes #529

the MAME core is inaccurate.
it doesn't emulate envelope too well.
2022-06-06 15:05:08 -05:00
tildearrow
d3a3473f19 commit requested changes 2022-06-06 13:32:57 -05:00
tildearrow
98f31877de GUI: remove chan osc debug info 2022-06-06 13:15:41 -05:00
cam900
44cee98868 Oops 2022-06-06 23:46:33 +09:00
ZeroByteOrg
378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
cam900
74e3892fd9 Finally fixed 2022-06-06 23:26:22 +09:00
cam900
8bc545c8ab Fix compile (again) 2022-06-06 22:45:16 +09:00
cam900
5473b8722d Fix compile, Remove unused include 2022-06-06 19:52:13 +09:00
cam900
ebbd9784e6 Reduce more FM codes 2022-06-06 19:40:37 +09:00
cam900
d1aeabe464 Fix compile 2022-06-06 19:26:34 +09:00
cam900
35caab6f82 Merge branch 'master' into preset1 2022-06-06 19:09:12 +09:00
cam900
e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow
9edc4818b5 prepare for find and replace window 2022-06-06 05:03:19 -05:00
tildearrow
64fa5f804b finish fade out on audio export option 2022-06-06 04:00:56 -05:00
tildearrow
b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow
d1ba9e2c3e audio: JACK verbose error messages 2022-06-06 01:50:35 -05:00
tildearrow
fe4aec70db GUI: add play from beginning hotkey 2022-06-06 01:28:46 -05:00
tildearrow
8b33525a36 GUI: always go to beginning of song when loading 2022-06-06 01:23:35 -05:00
tildearrow
992d61661b GUI: better selection cursor tracking during playb 2022-06-06 01:08:15 -05:00
tildearrow
5a0a9db9c3 highlight cur row instead of next one on playback 2022-06-06 01:05:06 -05:00
tildearrow
1778362933 GUI: add all/none buttons to ins selector 2022-06-05 23:44:52 -05:00
tildearrow
b8c785230e GUI: implement instrument bank ins picker 2022-06-05 23:34:58 -05:00
tildearrow
eb71c27ad9 GUI: preliminary "select instrument" dialog 2022-06-05 19:04:41 -05:00
tildearrow
2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow
af0103d76e macroInt: add hasRelease variable 2022-06-05 16:24:12 -05:00
tildearrow
d1b33d1410 GUI: get rid of these stupid icons 2022-06-05 00:42:14 -05:00
tildearrow
05ffc98ed1 MSM6258: the final bits 2022-06-04 17:58:19 -05:00
tildearrow
05c2fb357f MSM6258: clock/rate selection 2022-06-04 17:51:59 -05:00
tildearrow
fc34474d6e MSM6258: prepare for rate changing 2022-06-04 16:52:42 -05:00
tildearrow
91621fe0f5 YM2612: DualPCM per-channel osc
fixes #516
2022-06-04 01:03:58 -05:00
tildearrow
a550c4cb30 YM2612: more DualPCM muting fixes 2022-06-04 01:00:29 -05:00
tildearrow
641648ca0f YM2612: fix DualPCM muting
issue #516
2022-06-04 00:50:53 -05:00
tildearrow
0d99d29ceb GUI: finish the blank ins up 2022-06-04 00:19:04 -05:00
tildearrow
d15c276f74 GUI: add "blank new instrument" option 2022-06-03 18:30:40 -05:00
tildearrow
1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -05:00
tildearrow
a6b33d0955 PC speaker: don't use printf/perror 2022-06-03 16:32:07 -05:00
tildearrow
71b4bf5fdd YM2612: CSM arpeggio and slides 2022-06-03 16:21:42 -05:00
tildearrow
b4a7f0f5b7 YM2612: - C S M -
CSM only available with Nuked core
may not work on VGM export if you compress VGM (removes timer A writes)
2022-06-03 16:13:57 -05:00
tildearrow
59ba156cdf YM2612: half-working CSM 2022-06-03 15:54:49 -05:00
tildearrow
365e466611 YM2612: earliest completely untested CSM work 2022-06-03 14:10:28 -05:00
tildearrow
2ac9651009 delay collapse/expand pattern/song feature :<
too much work...
2022-06-03 13:44:40 -05:00
tildearrow
ead4a05348 GUI: much more stable osc view 2022-06-03 03:32:24 -05:00
tildearrow
0895789539 YM2612: fix DAC output not visible in per-chan osc
issue #515
2022-06-03 01:47:31 -05:00
tildearrow
94dae570e0 fix Ubuntu build 2022-06-03 01:40:09 -05:00
tildearrow
cc80bfbd81 PC speaker: add alternative output methods 2022-06-03 01:18:32 -05:00
tildearrow
37539157be PC Speaker: timing improvements 2022-06-02 23:27:28 -05:00
tildearrow
50bdbb784a oh no 2022-06-02 03:21:00 -05:00
tildearrow
e2f3a89513 test 2022-06-02 02:59:07 -05:00
tildearrow
131bef2689 SMS: fix per-channel osc when using Nuked core 2022-06-02 02:01:48 -05:00
tildearrow
4262674e61 GUI: remove debug text in per-chan osc 2022-06-02 01:36:28 -05:00
tildearrow
ddcd76328d add ability to move sub-songs 2022-06-01 18:50:30 -05:00
tildearrow
2da92b0433 newVolumeScaling, part 4 (final) 2022-06-01 18:27:06 -05:00
tildearrow
ad1ed7fe35 newVolumeScaling, part 3 2022-06-01 18:10:50 -05:00
tildearrow
e94d1b857f newVolumeScaling, part 2 2022-06-01 18:02:34 -05:00
tildearrow
8141574d3c newVolumeScaling, part 1 2022-06-01 17:50:26 -05:00
tildearrow
8bfcf00203 prepare for impl of the final compat flag 2022-06-01 16:35:39 -05:00
tildearrow
140318f8d3 SMS: prepare for an arp+porta fix 2022-06-01 15:15:32 -05:00
tildearrow
42d98f0894 SegaPCM: finally implement new behavior 2022-06-01 13:58:39 -05:00
tildearrow
8ef7f91c93
Merge pull request #505 from lunathir/master
Small Fractal fixes
2022-05-31 19:04:36 -05:00
tildearrow
a298ec2177 oops 2022-05-31 19:03:31 -05:00
tildearrow
1be93d9bbb implement brokenOutVol compat flag
#341
2022-05-31 19:03:26 -05:00
tildearrow
b8a0084587 implement volMacroLinger compatibility flag
issue #425
2022-05-31 18:34:23 -05:00
tildearrow
a945ee5353 GUI: disclaimer about OPLL drums volume slider 2022-05-31 18:06:45 -05:00
tildearrow
9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
tildearrow
107c82106c GUI: only set X11 window type if SDL >= 2.0.22
fixes #509
2022-05-31 13:14:43 -05:00
freq-mod
61e765c916
more presets (#488)
* more presets

* oops

consistency anyone?

* alpha 68k was an alpha denshi system

* more presets

6295 edition. Requires fact-checking, and maybe, cherrypicking

* facepalm

* #342 presets

that should conclude it

* address feedback

* naming update

* MSM6295 wasnt used in MLC

* address feedback part 2

and adding OKI chips to the sample category
2022-05-31 15:23:38 +02:00
tildearrow
dfc8706f5a GUI: more to it 2022-05-31 04:09:38 -05:00
tildearrow
277396ff44 Merge branch 'master' of github.com:tildearrow/furnace 2022-05-31 03:25:11 -05:00
tildearrow
54e93db207 GUI: try using FFTW for per-chan osc wave center
not reliable yet
2022-05-31 03:24:29 -05:00
cam900
2e97e63b26 Forgot this 2022-05-31 14:11:43 +09:00
cam900
9c4dc2b978 Fix wrong link, Add modifier and contributor disclaimer in vgsound_emu core 2022-05-31 14:06:16 +09:00
cam900
443448c65b Fix dead links 2022-05-31 13:52:36 +09:00
tildearrow
c306b33603 GUI: more osc stuff 2022-05-30 22:22:53 -05:00
tildearrow
fc0a51ed56 GUI: add oscilloscope window size setting
and also remember last zoom/winSize value
2022-05-30 21:40:07 -05:00
tildearrow
2119675b10 OPN: fix 11xx not working on ExtCh
issue #503
2022-05-30 21:21:42 -05:00
tildearrow
bc98673a20 GUI: double click selects column 2022-05-30 19:02:24 -05:00
tildearrow
4abfd4f097 FM: change the kick label
issue #310
2022-05-30 18:40:26 -05:00
tildearrow
e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -05:00
tildearrow
495aec86bd fix addOrder() undefined behavior 2022-05-30 14:02:54 -05:00
tildearrow
394a315c4a ZX beeper: drum muting hotfix 2022-05-30 00:07:24 -05:00
tildearrow
9b7145d2b0 harden wavetable loader 2022-05-29 22:21:37 -05:00
tildearrow
23d9cd6d9a fix major extended op macro corruption 2022-05-29 22:01:45 -05:00
Lunathir
5dacf631e1 Small Fractal fixes: add YM2612 settings to chip config and fixed YM2612 Fractal presets 2022-05-29 15:24:06 -07:00
tildearrow
1ed5be887b MSM6295: fallback rate 2022-05-29 13:29:58 -05:00
tildearrow
1cb07eb1a2 MSM6295: add more rates 2022-05-29 13:29:18 -05:00
tildearrow
5f4db8ca0b GUI: improve unified data view 2022-05-29 02:59:11 -05:00
tildearrow
84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05:00
tildearrow
cdcf87c773 Revert "fudge and bread"
This reverts commit 6afe29682d.
2022-05-29 00:44:21 -05:00
tildearrow
7687a64000 Revert "fire!"
This reverts commit 7baf1d471f.
2022-05-29 00:44:17 -05:00
tildearrow
6d487afb49 Revert "MSVC: ughh, f**k you, you d**khead."
This reverts commit 81aa803f01.
2022-05-29 00:43:44 -05:00
tildearrow
81aa803f01 MSVC: ughh, f**k you, you d**khead. 2022-05-29 00:22:29 -05:00
tildearrow
7baf1d471f fire! 2022-05-29 00:04:33 -05:00
tildearrow
6afe29682d fudge and bread 2022-05-28 23:40:46 -05:00
tildearrow
13ff89f962 VGM export: fix oops 2022-05-28 22:18:38 -05:00
tildearrow
08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -05:00
tildearrow
5de31f510c GUI: add "set loop" to sample editor 2022-05-28 18:37:49 -05:00
tildearrow
f8796f8ec9 MSM6295: VGM export! 2022-05-28 18:15:26 -05:00
tildearrow
b8671afa39 oops 2022-05-28 17:45:44 -05:00
tildearrow
cc87d1502c MSM6295: add rate select effect (20xx) 2022-05-28 17:45:34 -05:00
tildearrow
d1b928dbd9 MSVC is better than GCC right? 2022-05-27 21:02:19 -05:00
tildearrow
e194ff1481 GUI: implement input for touch events 2022-05-27 16:10:37 -05:00
tildearrow
ab91147c16 GUI: update SDL hints 2022-05-27 15:55:20 -05:00
Ian Karlsson
5378974b96 Save the size of each block in a Furnace module 2022-05-27 21:42:14 +02:00
ZeroByteOrg
0846f66a7e Removed merge conflict tag from gui.cpp 2022-05-27 13:00:23 -05:00
ZeroByteOrg
8af85096ff Fixed incorrect conflict-resolution in gui.cpp line 3049 2022-05-27 09:36:24 -05:00
ZeroByteOrg
dcba41c6e9 Fixed mmlString[32] in gui.h 2022-05-27 09:36:24 -05:00
ZeroByteOrg
b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
tildearrow
68cc84253c dev99 - major Fractal system change
7 channels instead of 8 - CSM only supported on ExtCh system
2022-05-27 05:13:10 -05:00
tildearrow
a776129c3d dev98 - YM2612: add Fractal system
partially done
2022-05-27 04:02:53 -05:00
tildearrow
0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
tildearrow
9d6d84a87f Lynx: sample looping 2022-05-27 01:36:05 -05:00
tildearrow
d6282c6949 Lynx: fix PCM mode volume 2022-05-27 01:20:57 -05:00
tildearrow
a8d91ebdbc
Merge pull request #497 from laoo/master
Lynx: using DAC output for PCM
2022-05-27 01:16:51 -05:00
tildearrow
13acffa427 GUI: store piano options in config 2022-05-27 01:13:33 -05:00
Waldemar Pawlaszek
65817f7589
Merge branch 'tildearrow:master' into master 2022-05-27 08:11:32 +02:00
Waldemar Pawlaszek
70aa8f7682 Lynx: using DAC output for PCM 2022-05-27 08:10:34 +02:00
tildearrow
d0adbc444e GUI: more channel dragging improvements 2022-05-27 01:08:11 -05:00
tildearrow
e8af633f10 GUI: improve channel swapping 2022-05-27 01:04:12 -05:00
tildearrow
1540705b75 WaveSynth: fix it....... again. 2022-05-27 00:35:35 -05:00
tildearrow
3651027d99 a 2022-05-27 00:29:29 -05:00
tildearrow
efaca3b094
Merge pull request #496 from cam900/largecolumns_alt
Allow more than 64 columns in Dear ImGUI (patched)
2022-05-27 00:19:21 -05:00
tildearrow
5d1785fb38 GUI: add timing debug info 2022-05-27 00:19:10 -05:00
tildearrow
061b312943 SMS: volume table is now non-float 2022-05-26 23:46:42 -05:00
cam900
67a7f39d9a Allow more than 64 columns in Dear ImGUI (patched)
Improves Channel window displays, with System info.
2022-05-27 13:38:45 +09:00
tildearrow
905aa1b1a1 SMS: add TI PSG volume table 2022-05-26 23:19:27 -05:00
tildearrow
33dc18bac2 GUI: add pattern cell spacing settings 2022-05-26 22:26:44 -05:00
tildearrow
3a9ef81fe0
Merge pull request #494 from MAHBOD-85/MAHBOD-85-patch-1
Modern layout fix
2022-05-26 22:02:40 -05:00
tildearrow
7e938c869d
Merge pull request #484 from grauw/y8950-adpcm-fix
More Y8950 ADPCM fixes
2022-05-26 21:50:51 -05:00
tildearrow
0577aa3569 SMS: early Nuked-PSG modding 2022-05-26 19:00:14 -05:00
tildearrow
e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow
4874e91bb0 FDS: a bit more 2022-05-26 18:09:46 -05:00
tildearrow
6d441c2ffd FDS: set a post-amp value 2022-05-26 18:07:59 -05:00
tildearrow
a52f71ba32 FDS: fix NSFplay core low pass filter precision
closes #427
2022-05-26 18:03:57 -05:00
tildearrow
7cf853797a fix .dmf saving 2022-05-26 17:42:30 -05:00
Mahbod-Karamoozian
186dd8c522
Modern layout fix
This fixes the problem that is present in raijin's layout
2022-05-26 23:44:04 +04:30
tildearrow
9d36cf5ff0 fix compilation on GCC 12 2022-05-26 13:31:17 -05:00
tildearrow
4b91669e58 Lynx: why did I not commit this 2022-05-26 03:37:34 -05:00
tildearrow
6260bcef54 Lynx: more sample improvements 2022-05-26 00:50:11 -05:00
tildearrow
b0c8cfc1f6 Lynx: sample improvements 2022-05-26 00:39:15 -05:00
tildearrow
1811a95e76 Lynx: add sample support! 2022-05-26 00:29:04 -05:00
tildearrow
f8794ae9a4 GUI: fix wavetable list oversight 2022-05-25 23:50:11 -05:00
tildearrow
49a8f77cf1 WaveSynth: fix phase modulation - again 2022-05-25 23:46:07 -05:00
Laurens Holst
4b4bc98417 Stop / reset Y8950 ADPCM before restarting.
The emulation core treats every write to register 7 with start bit set as
a retrigger. This is not how the real hardware behaves.
2022-05-26 03:48:49 +02:00
tildearrow
7750a9b9f3 GUI: fix possible wave editor crash 2022-05-25 12:18:11 -05:00
tildearrow
93a4e3d688 WaveSynth: fix phase modulation
fixes #481
2022-05-25 00:34:35 -05:00
tildearrow
42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
Laurens Holst
a19090ab9b Correct VGM chip ID for Y8950 reset. 2022-05-24 22:08:01 +02:00
tildearrow
914b5f7a88 experiment with backward-cpp again 2022-05-24 13:06:29 -05:00
tildearrow
979cb63c5b GUI: fix .cfgc/.cfgk extension duplication 2022-05-24 12:46:51 -05:00
tildearrow
3932a82d14 GUI: add frame shading setting 2022-05-24 03:49:52 -05:00
tildearrow
8dde6a604e add rounding to AddRectFilledMultiColor 2022-05-24 03:30:27 -05:00
tildearrow
08d85869a9 GUI: slight changes to edit controls
- align classic
- stretch compact vertical
2022-05-24 03:06:17 -05:00
tildearrow
d490746325 GUI: finish lock layout 2022-05-24 02:38:10 -05:00
tildearrow
eb926a668d MSM6258: it works 2022-05-24 00:24:52 -05:00
tildearrow
8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
tildearrow
b849b5283b
Merge pull request #482 from grauw/y8950-adpcm-fix
Fix Y8950 ADPCM samples.
2022-05-23 17:52:56 -05:00
Laurens Holst
fc7b94876d Fix Y8950 ADPCM samples.
Reverting back to before 70ead337f3, and setting register 8 to 256Kbit RAM mode.
This is what MSX has natively, and allows for the most compact sample storage with
only 4 byte alignment.

Additionally, setting register 8 before writing the start / stop addresses.

Back story:

VGMPlay MSX only supports Y8950 256K DRAM mode and ROM mode (for the latter
it makes sure address writes are shifted). 64K DRAM mode is not supported because
it’s not used by anything and the addresses are specified weirdly with some middle
bits having to be masked out.

The original code in Furnace before the change 70ead337f3 was almost correct except
it needed to set register 8 to 0 to select the 256K DRAM mode. It was set to ROM mode
so the address shift did not match up.

After 70ead337f3 (address shift change) it was also more or less correct except in
“furnacePCM” direct-sample mode the shift was not updated accordingly.

In 1a446c1cdd it selected 64K RAM mode, but for this the addresses need to be specified
differently (see Y8950 manual page 18), and it’s not really the best choice anyway.
2022-05-24 00:51:13 +02:00
tildearrow
49943aba76 GUI: add setting to make osc escape bounds 2022-05-23 17:42:25 -05:00
tildearrow
f8d851cbc2 the Namco C163 trial 2022-05-23 16:01:35 -05:00
tildearrow
402a1d06cf more chip naming improvements 2022-05-23 15:28:38 -05:00
tildearrow
278979a2f2 change names of 15xx/CUS30 to C15 and C30 2022-05-23 15:08:29 -05:00
tildearrow
ff1263aadf ASDFGHJK 2022-05-23 03:43:33 -05:00
tildearrow
ced2940336 MSM6295: per-channel osc and muting 2022-05-23 03:18:56 -05:00
tildearrow
d3edc58cb1 MSM6295: add clock rate flag 2022-05-23 03:13:22 -05:00
tildearrow
59a722d04a MSM6295: a bit more polishing 2022-05-23 02:56:43 -05:00
tildearrow
f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow
133b213998 OPL: new forceIns strategy 2022-05-23 00:18:50 -05:00
tildearrow
519bf244b9 OPL: fix kick volume in drums mode 2022-05-23 00:07:32 -05:00
tildearrow
1a446c1cdd Y8950: let's see 2022-05-22 23:54:33 -05:00
tildearrow
2fa51e482a OPN(A/B/2/B-B): fix absolutely everything 2022-05-22 23:47:41 -05:00
tildearrow
3d4f2cfa13
Merge pull request #453 from grauw/scc-reset-period-counter
Reset period counter when writing to period registers.
2022-05-22 22:49:03 -05:00
tildearrow
82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow
3aa8ea3625 fix Cxxx/F0xx being delayed in low-latency mode 2022-05-22 22:36:48 -05:00
tildearrow
e17c99dcdf allow building Furnace without SDL2 and libsndfile
for eventual libfurnace
2022-05-22 19:01:50 -05:00
tildearrow
16afb6d7be GUI: hacky implementation of lock layout 2022-05-22 18:20:53 -05:00
tildearrow
43981eb59f bring up MSM6295 core
vgsound_emu by cam900
2022-05-22 18:06:56 -05:00
tildearrow
98e9a4b28d MSM6258 emulator de-MAMEfication 2022-05-22 17:49:41 -05:00
tildearrow
393d1c018d dev97 - add old octave boundary compat flag 2022-05-22 13:25:59 -05:00
tildearrow
b40c95013a fix phase reset in FM chips after note off 2022-05-22 04:30:56 -05:00
tildearrow
806153fd8e finish wave synth! 2022-05-22 03:14:46 -05:00
tildearrow
5d0c89a59e Namco WSG: make non-linear slides faster
but linear is better
2022-05-22 00:10:42 -05:00
tildearrow
367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow
61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow
4bbcb2dd35 GUI: add Namco arcade presets 2022-05-21 16:03:54 -05:00
tildearrow
b38a1cfb55 implement some dual wave synth effects 2022-05-21 14:05:23 -05:00
tildearrow
70ead337f3 Y8950: fix ADPCM VGM export 2022-05-21 03:34:39 -05:00
tildearrow
315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow
9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow
c251ea2198 Namco WSG: muting 2022-05-21 01:40:28 -05:00
tildearrow
bc47d1ebcd Namco WSG: 8 channel WSG (15xx) now works 2022-05-21 01:39:00 -05:00
tildearrow
b17694c6a3 Namco WSG: 3 channel WSG now works 2022-05-21 01:34:43 -05:00
tildearrow
a9f9d6144a YM2612: change key on/off strategy 2022-05-20 23:54:19 -05:00
tildearrow
dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -05:00
tildearrow
dacbeed858 Please enter the commit message for your changes. 2022-05-20 17:35:39 -05:00
tildearrow
c9833bd58e shhhhhhhhhhhh 2022-05-20 17:29:59 -05:00
tildearrow
6976e0b75f auto merge failed 2022-05-20 17:29:29 -05:00
Natt Akuma
5ed0efe961 Whoops 2022-05-21 03:36:11 +07:00
tildearrow
bd8e72e5b2 it doesn't work (yet) 2022-05-20 15:29:09 -05:00
Natt Akuma
27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +07:00
tildearrow
ddaedd7b92 YMZ280B: printf oops 2022-05-20 14:52:36 -05:00
tildearrow
d35e9e9661 freaking macOS 2022-05-20 14:48:08 -05:00
Natt Akuma
efd36d2982 YMZ280B: Fix full sample memory behavior 2022-05-21 02:42:23 +07:00
Natt Akuma
581f6d5d05 Merge branch 'master' of https://github.com/tildearrow/furnace into ymz280b 2022-05-21 02:34:51 +07:00
Natt Akuma
b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow
7b2237ffac we see it 2022-05-20 13:22:35 -05:00
OPNA2608
bccddc1a1d namco: Mark fallthrough cases
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-fallthrough
2022-05-20 11:07:24 +02:00
OPNA2608
602abdae74 Revert "oh my"
This reverts commit 1edf697230.
2022-05-20 11:00:46 +02:00
tildearrow
1edf697230 oh my 2022-05-20 03:23:56 -05:00
tildearrow
1742a0fbe5 AGAIN 2022-05-20 03:11:25 -05:00
tildearrow
c159f197e0 fix Windows build huh 2022-05-20 02:58:07 -05:00
tildearrow
251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow
0ef0296b7d fix non-linear pitch 2022-05-19 23:18:18 -05:00
tildearrow
58dc628a40 OPL: damn it 2022-05-19 23:06:11 -05:00
tildearrow
2c51234213 Y8950: ADPCM is quieter 2022-05-19 18:13:11 -05:00
tildearrow
976c1d3c0d VGM export: implement OPNA and Y8950 (partially)
see #459
2022-05-19 18:09:46 -05:00
tildearrow
b01ebb3487 OPN: VGM soft reset and ExtCh export 2022-05-19 17:46:41 -05:00
tildearrow
c2764591e0 ZX beeper: fix overlay drums 2022-05-19 17:02:16 -05:00
tildearrow
a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05:00
tildearrow
769a89852f GUI: scroll instrument/wave/sample list when
selecting item
2022-05-19 13:06:26 -05:00
tildearrow
2ada4ee393 ZX beeper: implement overlay drums
1-bit samples up to 2048 bits in length triggered with 17xx
2022-05-19 11:10:00 -05:00
tildearrow
6ec8674072 SoundUnit: many fixes. implement effects 2022-05-19 04:36:26 -05:00
tildearrow
e63b83eeb3 remove AICA and X68000 ADPCM sample types 2022-05-19 04:35:39 -05:00
Natt Akuma
b70ea9af57 Change YMZ ADPCM type back to 3
Also fix some other mistakes
2022-05-19 12:39:38 +07:00
tildearrow
dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
tildearrow
51d09ba407 GUI: early mobile UI 2022-05-18 18:42:59 -05:00
Natt Akuma
4551c55818 Fix GCC errors 2022-05-18 21:46:14 +07:00
Natt Akuma
0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
tildearrow
2faf1c1d23 OPN/OPNB-B: fix ExtCh mode 2022-05-18 02:18:16 -05:00
tildearrow
42e8bfebbd GUI: same size for piano option buttons 2022-05-18 00:31:01 -05:00
tildearrow
255fc4cc25 GUI: even more piano work
- don't allow piano window to be moved if clicking on piano
- only treat left click as a touch point
2022-05-18 00:23:13 -05:00
tildearrow
cfa05143ab dev96 - add virtual tempo 2022-05-18 00:05:25 -05:00
tildearrow
f1ca53561f GUI: more piano/input pad work 2022-05-17 18:55:44 -05:00
tildearrow
68b5522070 GUI: turn sub-song removal into a warning
issue #466
2022-05-17 17:21:29 -05:00
tildearrow
80165094f0 GUI: add a value input pad 2022-05-17 16:11:59 -05:00
tildearrow
40a63433c5 GUI: prepare for the input pad 2022-05-17 15:48:37 -05:00
tildearrow
63d09c0f54 GUI: piano note input 2022-05-17 15:28:27 -05:00
tildearrow
72645e9e13 GUI: piano note playback 2022-05-17 15:20:56 -05:00
tildearrow
f96d5b4e81 GUI: add touch input primitives 2022-05-17 12:46:52 -05:00
tildearrow
68c32749ff PCE: fix two issues
- fix chip locking up on furnacePCM chans after seeking
- fix furnacePCM toggling causing volume macro to give up
2022-05-17 03:02:36 -05:00
tildearrow
d961f6f498 SegaPCM: fix samples bigger than 64KB 2022-05-17 02:38:13 -05:00
tildearrow
6438b28c11 SCC: implement VGM soft reset 2022-05-17 01:52:18 -05:00
tildearrow
b5c336295f GUI: add option to clear orders 2022-05-17 01:46:34 -05:00
tildearrow
c4614bff30 GUI: implement "clear all subsongs" 2022-05-17 01:42:21 -05:00
tildearrow
b8a4fdb4c6 GUI: fix crash when deleting current subsong 2022-05-17 01:15:31 -05:00
cam900
b6387c8547
Fix AY8910 envelope hangs 2022-05-17 11:14:22 +09:00
tildearrow
34d0925569 OPL: fix fixed frequency drums 2022-05-16 21:06:49 -05:00
tildearrow
5a0c715ba0 pick nits: the sequel 2022-05-16 20:49:31 -05:00
James Alan Nguyen
fe11ec3877 pick nits 2022-05-17 11:42:10 +10:00
James Alan Nguyen
ec80a2218c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-17 11:36:34 +10:00
tildearrow
1675456693 AY: fix possible hang 2022-05-16 13:37:41 -05:00
tildearrow
0ae105ded3 hide .ftm format 2022-05-16 12:33:12 -05:00
tildearrow
e3d2faf427 OPLL: fix fixed drums freq 2022-05-16 05:06:26 -05:00
James Alan Nguyen
9e28fe81f1 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-16 20:01:53 +10:00
tildearrow
c5259066e1 GUI: make backupTimer atomic 2022-05-16 03:09:59 -05:00
tildearrow
409d3c26af
Merge pull request #463 from grauw/opn-ay-type
Have OPN* platforms set the correct YM2149 chip type.
2022-05-15 17:03:47 -05:00
Laurens Holst
a292bc109d Have OPN* platforms set the correct YM2149 chip type.
They were setting the Sunsoft type, which doubled the frequency division since c5c612c354.
2022-05-15 20:46:38 +02:00
tildearrow
cddee6331e ZX beeper: clarify effects (will be done later) 2022-05-15 12:02:00 -05:00
tildearrow
85d9a52dee fix potential hangs in saveFur again 2022-05-15 11:37:15 -05:00
tildearrow
2fbc39bc90 N163: fix potential linear pitch regression
how in the world
2022-05-15 11:28:59 -05:00
tildearrow
1e6b660d2c OPN: hopefully several ExtCh fixes 2022-05-15 11:05:28 -05:00
James Alan Nguyen
e6ad01b0f3 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 18:46:45 +10:00
tildearrow
25ab4467b4 whoops 2022-05-15 02:53:52 -05:00
tildearrow
e3d0c517c8 GUI: AY8930 credits 2022-05-15 02:37:39 -05:00
tildearrow
6d0abbfd52 GUI: fix inability to close subsongs 2022-05-15 02:37:33 -05:00
tildearrow
c5c612c354
Merge pull request #421 from cam900/ay_divider
Some AY-3-8910, AY8930 enhancements
2022-05-15 02:14:50 -05:00
tildearrow
5babb4fd1e BANK 2022-05-15 02:02:31 -05:00
tildearrow
d5db7775bd OPN: wire up ExtCh system 2022-05-15 02:00:36 -05:00
tildearrow
f63c072517 fix build failure 2022-05-15 01:55:25 -05:00
James Alan Nguyen
0e07b745c7 Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-15 16:49:52 +10:00
tildearrow
c5786b61fb dev95 - multiple songs in a single file (READ)
experimental feature! proceed with caution.
if you experience song corruption or crashes, report issue immediately!

files with multiple songs will be readable in older versions of Furnace,
but only the first song will be read in those versions.

issue #199
2022-05-15 01:42:49 -05:00
tildearrow
14053f70cb DO NOT USE - THIS FAILS - WORK IN PROGRESS 2022-05-14 18:19:07 -05:00
tildearrow
06ec22d6a5 enforce asset limits 2022-05-14 17:51:05 -05:00
tildearrow
2fc637494f old .dmf loading improvements
- YMU759 samples are now properly loaded
- improvements to version 7 and 8 format handling
2022-05-14 17:23:33 -05:00
tildearrow
ce253230ce add AICA and YMZ ADPCM formats 2022-05-14 16:59:07 -05:00
tildearrow
ffe582236c harden .fur file saver 2022-05-14 16:03:21 -05:00
cam900
f62f6ed77b Fix AY VGM output, Fix presets 2022-05-15 00:58:00 +09:00
James Alan Nguyen
80e8a3155c Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-14 23:22:57 +10:00
cam900
8e50ad8c90
Merge branch 'master' into ay_divider 2022-05-14 22:09:25 +09:00
tildearrow
6f8f8d21f3 preparations for UI improvements
mostly around the system add/change UI
2022-05-14 04:05:29 -05:00
tildearrow
f7c56bb05f GUI: add more presets 2022-05-14 02:38:38 -05:00
tildearrow
107d5e1514 prepare for ExtCh OPN/OPNA 2022-05-14 02:38:20 -05:00
tildearrow
a8e1c1ceb3 GUI: clarify that lock layout doesn't work yet 2022-05-14 02:00:33 -05:00