Commit Graph

142 Commits

Author SHA1 Message Date
tildearrow bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow 521b311692 GUI: implement clear 2022-04-24 17:39:18 -05:00
tildearrow 23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
tildearrow 4195715dc0 use good default instrument when adding ins 2022-04-21 02:29:20 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow b8c790bf79 dev84 - new compat flag and store macro modes 2022-04-18 00:52:29 -05:00
tildearrow fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow 8702effbb9 prepare for storing other details 2022-04-12 15:39:01 -05:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
tildearrow 5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow 3a59e260d8 prepare for handling of FDS .dmf 2022-04-03 17:14:12 -05:00
tildearrow ffb01dd19c Revert "release 0.6pre0"
This reverts commit f7566455c2.
2022-04-01 05:20:00 -05:00
tildearrow f7566455c2 release 0.6pre0 2022-04-01 04:45:06 -05:00
tildearrow 9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -05:00
tildearrow ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
tildearrow 6c5e6c2a0f
Merge pull request #294 from cam900/bubsys
Reduce naming confusion in Bubble System Wavetable Sound
2022-03-17 22:03:24 -05:00
tildearrow d63f3d311b fix arpeggio not resetting note to base on 0000 2022-03-17 16:37:49 -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 02e9edbad9 unlock the power of DECIMAL HZ! 2022-03-15 23:30:15 -05:00
tildearrow f4c26dbea7 document some of the structures 2022-03-15 22:05:55 -05:00
tildearrow 9b3e0d45bd prepare for decimal Hz? 2022-03-15 18:36:34 -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 e009fc64f2 allow instrument change during slides 2022-03-14 01:23:31 -05:00
tildearrow cf07e1861e add "auto-insert one tick gap" option 2022-03-11 23:01:18 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -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
Natt Akuma 3b88786ffb Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-07 16:46:32 +07:00
cam900 7a2c86e9d7 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 10:28:54 +09:00
tildearrow 2bfb84cd1e AY: add 1.10 and 2.10 rates 2022-03-06 14:18:18 -05: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 16dfc785d3 PC speaker: improvements 2022-03-05 00:36:50 -05:00
Natt Akuma 9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
tildearrow 8e5b3abab8 add two more compatibility flags
issue #167 and #249:
- stop porta on note off
- continuous vibrato
2022-03-03 23:14:38 -05:00
tildearrow acc9b0aa57
Merge pull request #225 from cam900/ym2610b
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow b90fb02e63 OPLL: 99.9%
all features usable, except for custom patchsets (not sure how am i
gonna implement it)
2022-03-01 23:07:29 -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 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
cam900 d831a522a4 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/platform/ym2610Interface.cpp
2022-02-25 12:20:00 +09:00
tildearrow 4b6d9adcb9 volume changes
as of now the master volume is 1.0x (it was 2.0x before)
NES has also been amplified.
these changes should not affect older songs.
2022-02-24 17:56:19 -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 ccfed873e8 system master race 2022-02-23 21:53:07 -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 2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow fa363384aa 1.1 .DMF saving
as of now you're given a choice between 1.1 and 1.0 module
2022-02-20 03:18:20 -05:00
tildearrow 464ad5a825 preliminary 1.1 .dmf loading 2022-02-19 02:52:53 -05:00
tildearrow ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow d27dcfecac rename Neo Geo to Neo Geo CD
pave the way for Neo Geo with ADPCM-B
2022-02-10 03:28:20 -05:00
tildearrow 62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow 89d47da795 prepare to add more compatibility flags 2022-02-08 15:32:10 -05:00
tildearrow 8d45236cce SMS: add option to disable noise phase reset
issue #83
2022-02-07 23:05:50 -05:00
tildearrow e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow 088e49a3f4 implement channel hiding, names and song comment 2022-02-05 01:48:35 -05:00
tildearrow 58b14fccd6 aaaaaaa 2022-02-04 21:35:32 -05:00
tildearrow 6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow acdf4d6503 Amiga: add stereo separation setting 2022-02-04 17:59:55 -05:00
tildearrow 3379e8b380 prepare for compat flags, piano, comments, etc. 2022-02-03 00:34:48 -05:00
tildearrow e9f9cfd518 prepare for E5xx behavior flag 2022-02-02 23:16:59 -05:00
tildearrow da8e4715bd finally fix the build 2022-02-02 18:24:33 -05:00
tildearrow 14760e0669 **DO NOT BUILD THIS ONE** 2022-02-02 15:29:20 -05:00
tildearrow 227fff021e try fixing .dmp loading
what a mess this format was before 1.0
2022-02-01 00:58:00 -05:00
tildearrow 629d229bc1 i will finish this later today 2022-01-28 18:12:56 -05:00
tildearrow 09ebadf479 ( 2022-01-28 17:10:22 -05:00
tildearrow 8c353548f5 prepare for system flags
issue #61
2022-01-28 03:40:06 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow 67b47b43b2 prepare to add compatibility flags 2022-01-22 15:30:23 -05:00
tildearrow 8b79bf78a9 add Furnace instrument loading
TODO: .dmp loading
2022-01-22 00:14:48 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow 2fcb474544 stuff
implement two systems and system vol/pan
2022-01-13 01:03:57 -05:00
tildearrow 9b40dd994b prepare for more platforms 2022-01-12 22:58:51 -05:00
tildearrow f47543ab98 prepare for multiple chip support, part 2 2022-01-08 03:02:04 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow 7ed1777bdc fix 128 instrument song failing to read 2022-01-03 03:35:13 -05:00
tildearrow be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow c4c019e593 fix E5xx range in old modules 2021-12-18 01:09:43 -05:00
tildearrow ebb28d912b untested saving code and memory leak fix 2021-12-15 14:15:44 -05:00
tildearrow 3af0a9feda set default time base of song to 0 2021-12-13 20:31:27 -05:00
tildearrow 285cc9b766 allow running GUI without loaded module 2021-12-13 14:40:03 -05:00
tildearrow 760fa43a4f fill in a blank line 2021-12-04 02:34:13 -05:00
tildearrow 23dc645ced out of bounds and non-determinism fixes
the soldiers play properly now
2021-05-28 02:02:54 -05:00
tildearrow a1ab7c5d57 game boy progress, part 1
noise and wave channels don't play correctly yet
2021-05-27 13:30:37 -05:00
tildearrow 3a1019a08c more fixes and tweaks
memory management party
2021-05-16 20:49:54 -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 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