Commit Graph

431 Commits

Author SHA1 Message Date
tildearrow e40e7c0fef sysDef refactor, part 3 - PLEASE READ
to cam900 and grauw: I have moved the per-system effect processing code
to sysDef.cpp as lambdas
you may want to do the same when you pull this commit.
2022-05-03 01:23:38 -05:00
cam900 e136db6d7a Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (26 commits)
  prepare for #38
  NES: DPCM work!
  fix bug caused by new renderSamples approach
  NES: prepare for DPCM
  OPZ: more fixed frequency mode fixes
  OPZ: possibly fix fixed freq emulation
  OPZ: fix muting
  OPL: fix panning
  damn it
  per-channel oscilloscope, part 10
  NES: NSFPlay per-channel osc
  NES: NSFPlay muting
  NES: now fix tri_mute
  NES: finally
  fix typo in playback engine
  NES: wire up NSFplay
  now fix it damn it
  now move these files
  add readme
  convertir de Shift-JIS a UTF-8
  ...

# Conflicts:
#	src/engine/engine.cpp
#	src/engine/engine.h
#	src/engine/platform/nes.cpp
#	src/engine/vgmOps.cpp
#	src/gui/stats.cpp
2022-05-03 11:07:50 +09:00
tildearrow 66f6ab4307 prepare for #38 2022-05-02 03:52:45 -05:00
tildearrow dbe9bf25e7 fix bug caused by new renderSamples approach
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow 9479a8aa0f fix typo in playback engine
possible memory leak
2022-05-01 23:29:00 -05:00
cam900 5414213710 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  maybe uninitialized
  GUI: prepare for a per-channel oscilloscope?
  GUI: add backdrop if system file picker is open
  GUI: add ability to customize startup system
  GUI: finally implement "don't scroll when moving c ursor" setting
  new panning effects (80/81/82)
  GUI: fix sample paste crash
  GUI: implement sample scroll with mouse wheel
  sysDef oopsie

# Conflicts:
#	src/gui/guiConst.cpp
2022-05-01 00:25:21 +09:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
cam900 72e8bb89a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: sample/macro zoom with ctrl-wheel
  GUI: prevent division by zero
  GUI: possibly fix an instrument saving issue
  GUI: add chip randomizer button
  update to-do list
  oops
  NES: add DMC write effect
  SoundUnit: implement panning
  QSound: implement panning macro - PLEASE READ
  further improve channel allocation
  update format.md for eventual ExtCh extra systems
  improvements to swap/stomp channel

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-30 02:32:55 +09:00
tildearrow 8500fa4c4c NES: add DMC write effect 2022-04-29 00:18:51 -05:00
tildearrow 5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
cam900 3956b2cd30 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev90 - linear pitch macro option
  dev89 - C64: add test/gate macro
  YMU759: update system definition
  more changes to autoNoteOn
  SoundUnit: ring modulation
  GUI: improve the maximize auto-detection a bit
  GUI: possibly remember maximized state
  NES: fix audio resolution being too low
  update to-do list
  SoundUnit: more stuff
  SoundUnit: max cutoff 16383
  effectRows -> effectCols
  GUI: rename Amiga/Sample to Sample
  This is not a sample properties table
  Define the compact wave editor
  Menu option, settings file

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 16:05:01 +09:00
tildearrow 3306e853d1 effectRows -> effectCols
i don't know why did I call it "rows"
2022-04-27 17:53:55 -05:00
cam900 0209ebda03 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  sysDef refactor, part 2
  sysDef refactor, part 1 - PLEASE READ NOTE
  prepare for macroInt preview in instrument editor
  GUI: fix #400
  fix metronome in low-latency mode

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/instrument.h
#	src/engine/song.h
#	src/engine/sysDef.cpp
#	src/gui/dataList.cpp
#	src/gui/gui.h
#	src/gui/guiConst.cpp
2022-04-27 19:52:04 +09:00
cam900 482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
tildearrow 28af57c4f0 fix metronome in low-latency mode 2022-04-26 00:22:49 -05:00
cam900 49a41ff862 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
  GUI: use pattern font for input latch
  GUI: partially implement note input latch UI
  GUI: transpose value does not transpose effect ID
  GUI: prepare for note input latch UI
  GUI: min ins selector width fix
  GUI: separate operation masks
  GUI: add missing FDS preset
  GUI: prepare for separate operation mask
  GUI: "none" instrument should not remove inscolumn
  GUI: fix ins 0 being inserted on blank song
  GUI: add a "none" option to instrument list
  update to-do list
  GUI: add "absorb" instrument input mode
  use good default instrument when adding ins
  better default instrument for OPL/OPLL
  GUI: fix selection being visible in dummy row area
  Further fix looped sample preview
  GUI: fix about screen in power saving mode
  VRC6: saw volume 63
  GUI: add an effect list window
  ...

# Conflicts:
#	src/engine/platform/amiga.cpp
#	src/engine/vgmOps.cpp
#	src/gui/dataList.cpp
#	src/gui/guiConst.cpp
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:04:23 +09:00
cam900 29ea6dc360 Partially ES5506 support (not working yet!)
Add sample related enums
Add support for backward/pingpong loop, loop end position
Structize Notemap in sample instrument
2022-04-21 01:52:37 +09:00
tildearrow 6b294933bc VGM export: fix it under low-latency mode 2022-04-15 22:27:44 -05:00
tildearrow b48a2368be more low-latency mode work
playSub() runs at normal tick rate
2022-04-15 22:22:47 -05:00
tildearrow 98b9bd32b9 static_assert() on cmdName 2022-04-15 16:10:57 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 45460df96d improve low-latency mode strategy 2022-04-15 14:38:25 -05:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow 2e2fafd878 GUI: add metronome volume setting 2022-04-13 02:29:07 -05:00
tildearrow fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
tildearrow 38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
tildearrow 46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608 b6fb3820da Remove unneeded includes
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02:00
tildearrow 785ac8d1a7 small oscBuf fix 2022-04-09 02:45:06 -05:00
tildearrow 7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow 320250b831 MIDI out improvements 2022-04-09 01:50:44 -05:00
tildearrow dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow 9345576fc3 MMC5: fix 12xx not working 2022-04-06 22:55:24 -05:00
tildearrow ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow 13d08b3cb6 maybe fix another audio export crash 2022-04-01 16:31:06 -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 4b436ef1fc and more MIDI input refinements 2022-04-01 02:21:10 -05:00
tildearrow 6d1d91ca68 AY8930: add TEST register effect 2022-03-31 17:14:45 -05:00
tildearrow f689409f02 kind of MIDI output 2022-03-31 03:33:05 -05:00
tildearrow 45ce940d66 better MIDI and note input handling
closes #147
2022-03-31 01:51:57 -05:00
tildearrow 7e34c7746e change the porta logic a bit 2022-03-30 00:08:04 -05:00
tildearrow 964039c8db fix file export crash
closes #323
2022-03-29 00:25:28 -05:00
tildearrow 4825fe7adb more work 2022-03-28 18:19:47 -05:00
tildearrow 08910d37b2 oh yes more MIDI work 2022-03-28 15:24:09 -05:00
tildearrow 5360cd73f4 earliest MIDI input! (no note input tho) 2022-03-28 03:46:50 -05:00
tildearrow 4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900 ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00
tildearrow 08dd693fa0 Amiga: add AM/PM effects 2022-03-27 00:02:17 -05:00
tildearrow 154ef3f9a3 Amiga: filter emulation 2022-03-26 23:39:20 -05:00
tildearrow 9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow 5c11150b87 T O D O 2022-03-26 21:43:15 -05:00
tildearrow 73536c0691 AY: add effects to write to I/O ports 2022-03-26 20:55:43 -05:00
tildearrow 0687a6f217 this stupid effect 2022-03-25 03:18:44 -05:00
tildearrow 7f39ec723a SMS: overdrive 2 fixes
nice
2022-03-24 01:27:53 -05:00
tildearrow bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -05:00
cam900 39654bfa86 Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 13:11:22 +09:00
tildearrow 47d7722f6e add a new log level (trace) 2022-03-23 22:05:09 -05:00
tildearrow 711b60d454 improved mutex locking - less xruns when seeking
especially in JACK and macOS
2022-03-23 21:38:28 -05:00
cam900 e8d567d3df Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 03:22:33 +09:00
tildearrow ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
cam900 73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
cam900 2eaa6ed0ce Merge branch 'master' of https://github.com/tildearrow/furnace into n163
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatchContainer.cpp
#	src/gui/gui.cpp
#	src/gui/insEdit.cpp
2022-03-23 02:44:13 +09:00
cam900 5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
Natt Akuma feb138cefc Add VIC-20 support 2022-03-22 14:48:48 +07:00
Natt Akuma 47c5c34e1c Add PET support 2022-03-21 21:02:51 +07:00
tildearrow b04e1f2870 GUI: implement sample draw 2022-03-20 18:25:48 -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 cbd5414eee increase playback tempo precision
thanks akumanatt
2022-03-16 02:35:33 -05:00
tildearrow 592cbb56aa OPL: implement effects 2022-03-16 01:53:46 -05:00
tildearrow 02e9edbad9 unlock the power of DECIMAL HZ! 2022-03-15 23:30:15 -05:00
Natt Akuma 54da047b5a Apply requested changes
- Use sample->init() instead
- Implement set Hz by tempo effect and move from C4xx to F0xx
- Add "SAMPLE_POS" to cmdName
2022-03-15 03:59:42 +07:00
Natt Akuma 91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07:00
Natt Akuma c7fb5df206 Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-14 21:57:54 +07:00
Natt Akuma 87f225074c .mod import 2022-03-14 21:50:52 +07: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 2103f249fb C64: fix note/env release cutting note 2022-03-11 22:33:22 -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 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
cam900 65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09: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 bc26fbaa3d
Add cmdName for X1-010 commands 2022-03-07 13:34:13 +09:00
cam900 13e586fab2 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 13:05:05 +09:00
tildearrow 177c409e19 add more notes when working with new systems 2022-03-06 22:36:32 -05:00
cam900 6c897722db Compile fix Take 3 2022-03-07 04:03:45 +09:00
cam900 d0c32a56be Fix panning 2022-03-07 03:06:01 +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 6ce2a6743c lynx: fix 3xxx effect not working 2022-03-05 04:59:05 -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 742e813e98 E1xx and E2xx should not stop when Key OFF comes
in

indeed
2022-03-03 23:05:07 -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 ceb1cd0181 OPLL: more drum fixes! 2022-03-01 22:10:03 -05:00
cam900 1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
tildearrow 68db27bdb8 VRC7 as well 2022-02-28 04:59:25 -05:00
tildearrow 98c04e4dfd OPLL: actually care about effects 2022-02-28 04:58:44 -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 bd96bf484b fix 8-bit samples not loading correctly 2022-02-25 00:31:09 -05:00
tildearrow 35e459d9e5 Neo Geo: implement ADPCM-B 2022-02-25 00:11:27 -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 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 a5561f1899 tabs to spaces 2022-02-22 22:13:17 -05:00
tildearrow e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
tildearrow 278536489f lynx micro-fix 2022-02-22 17:40:29 -05:00
Ian Karlsson e32ef2d881 Add 3xxx effect to set echo delay buffer length. Add documentation 2022-02-22 21:16:46 +01:00
Ian Karlsson b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek 6e79e84e53 Added panning and load LFSR commands. 2022-02-21 19:59:09 +01:00
tildearrow 339959fc23 :< 2022-02-18 02:21:01 -05:00
tildearrow ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow 86e5b77981 fix E000 being treated too literally 2022-02-18 01:53:46 -05:00
tildearrow fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -05:00
tildearrow 79fe54d4b6 fix some glitches 2022-02-17 03:20:08 -05:00
tildearrow bacf57bb65 add stop song effect! finally! 2022-02-17 03:15:51 -05:00
tildearrow 810ee33d11 GUI: prepare for drawing prev/next pat content 2022-02-16 16:11:15 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 6dfd1e4d17 don't tick metronome if step playing/freelance
issue #162
2022-02-12 23:15:06 -05:00
tildearrow d1e166a34e add a little visual to channel names 2022-02-10 03:15:39 -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 70a993aacb treat slide up as well 2022-02-08 23:01:39 -05:00
tildearrow 5b7240bb4f and fix it again 2022-02-08 22:49:52 -05:00
tildearrow 4756599df0 fix timer ticking during row play 2022-02-08 17:43:26 -05:00
tildearrow a64f8f7a29 implement target resets slides flag 2022-02-08 17:24:24 -05:00
tildearrow e0b0da2072 implement note off resets slides flag 2022-02-08 17:17:01 -05:00
tildearrow 43c9c58034 implement legacy volume slides flag 2022-02-08 17:05:18 -05:00
tildearrow 6fb5ca0f78 implement compatible arpeggio flag 2022-02-08 16:48:19 -05:00
tildearrow dea79c2adb inhibit note on if user has edited pattern
issue #82
untested
2022-02-08 13:31:57 -05:00
tildearrow 4ce116ca0a prepare for macro release points
issue #142
2022-02-08 03:50:42 -05:00
tildearrow 632f17862e better blip_buf excess strategy
fixes #133
2022-02-07 21:31:58 -05:00
tildearrow e25f5b229c fix arpeggio not happening during slide on SMS 2022-02-07 00:30:15 -05:00
tildearrow 8772439d3e add ability to play by one row 2022-02-06 00:42:07 -05:00
tildearrow 6000d702aa fix urgent bug regarding note slides 2022-02-05 16:33:06 -05:00
tildearrow a93a9c19f3 add "force mono audio" option and fix flags not be
ing set after a dispatch reset
2022-02-04 17:04:36 -05:00
tildearrow b57e85134e prepare for end of song effect 2022-02-04 14:43:57 -05:00
tildearrow 584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow c8f57afda4 consider loop in sample preview
fixes #120
2022-02-03 16:52:27 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow d638af2017 fix E1xx and E2xx effects 2022-02-03 01:30:03 -05:00
tildearrow 2a15673610 implement loop modality and pitch control flags
issue #113
2022-02-03 00:52:50 -05:00
tildearrow f03ed7c833 NES: add hardware sweep effect 2022-02-01 18:28:48 -05:00
tildearrow bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow 0071894471 GUI: add a preliminary oscilloscope 2022-01-27 17:49:00 -05:00
tildearrow 8edcbc8d39 fix 0Bxx and 0Dxx commands
now wiz lab and sixeight-v2 play correctly
TODO: fix walkSong
2022-01-27 00:29:37 -05:00
tildearrow 35ee06d6cf fix ECxx effect
fixes #57
2022-01-23 22:00:46 -05:00
tildearrow bc32809ecb fix #46 2022-01-21 04:27:00 -05:00
tildearrow 730561d3a3 arcade: add effects to control AMD/PMD 2022-01-20 17:54:11 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 85dd6c3579 add ability to preview wavetables
issue #16
2022-01-20 00:07:53 -05:00
tildearrow 85bb081f3b prevent clock drift when previewing samples 2022-01-19 23:23:47 -05:00
tildearrow 51a89adb3d more headache 2022-01-19 22:05:39 -05:00
tildearrow fee174a65a fix ECxx accuracy 2022-01-19 21:53:09 -05:00
tildearrow efee5c3d7a now remove debug messages 2022-01-19 01:36:47 -05:00
tildearrow aa1a3f8aab oh yes more fixes 2022-01-19 01:36:20 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow 64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow a148a04e2c disable delay locking bug emulation entirely
so it appears the bug emulation caused an actual bug
2022-01-18 15:24:42 -05:00
tildearrow 0356cf2c7a TIA: add 10xx effect for selecting shape 2022-01-18 15:12:36 -05:00
tildearrow 8d4d47950c rewrite audio export
now it is possible to export audio from the GUI!
multiple export coming soon
2022-01-17 23:34:29 -05:00
tildearrow df3ae12278 fix furnace for 32-bit 2022-01-17 21:08:14 -05:00
tildearrow a0896f949c and againnnnn 2022-01-17 18:18:28 -05:00
tildearrow cba4385607 ignore speed change if speed is 0
fixes #9
2022-01-17 18:05:29 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow 2f1cdab36b fix mixing being done wrongly 2022-01-15 00:24:06 -05:00
tildearrow 0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow 1d3429d568 C64: don't gate on legato 2022-01-14 13:55:19 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -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 b26208f2c1 fix changing order if 0Bxx is present 2022-01-13 20:54:34 -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 2fcb474544 stuff
implement two systems and system vol/pan
2022-01-13 01:03:57 -05:00
tildearrow cd739f5fde change master clock to sampleRate*256
this hopefully fixes the hang by doing all clock ops on a master clock
rather than one clock per system
2022-01-12 17:45:07 -05:00
tildearrow fa5b99b46a add stuff for diagnosis of hang problem 2022-01-12 17:02:48 -05:00
tildearrow 6245b3af31 add Cxxx effect for mid-song Hz change
also add hang detection as I ran into one of them while test multi-chip
2022-01-12 02:45:26 -05:00
tildearrow 651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38:26 -05:00
tildearrow 7568f1a1b9 better YMU759 support
time base now loaded as rate and timer no longer bugs out

also you can save YMU759 songs as .fur now, even if it is pointless
2022-01-09 17:08:14 -05:00
tildearrow 06c7ac92a2 earliest multi-chip support
no saving, no adding chips yet...
only the beginning
2022-01-08 17:15:12 -05:00
tildearrow 7080434ed4 this does not compile 2022-01-08 16:03:32 -05:00
tildearrow f47543ab98 prepare for multiple chip support, part 2 2022-01-08 03:02:04 -05:00
tildearrow e8dc1e3c8b turn the metronome into a sine 2022-01-04 00:29:59 -05:00
tildearrow 530a9bafc7 add a metronome 2022-01-04 00:02:41 -05:00
tildearrow dc5990a37e a lot of master system fixes!
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow eb28f7f7f1 whaaaaaaaaa 2021-12-27 17:05:03 -05:00