Commit graph

530 commits

Author SHA1 Message Date
cam900 7402575d11 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-06-17 10:41:56 +09:00
YohananDiamond 231853cd94 Command palette - part 1 2023-06-15 02:04:45 -03:00
tildearrow ad8082a921 GUI: DirectX 11 render backend, part 4
ready to merge?
2023-06-13 03:12:12 -05:00
tildearrow 2c912da89a GUI: DirectX 11 render backend, part 1 2023-06-12 19:17:46 -05:00
tildearrow f605ae9f65 GUI: prepare for DirectX 11 render backend 2023-06-12 16:47:54 -05:00
tildearrow 181f5bd65e possibly fix Windows XP support for real 2023-06-10 01:42:19 -05:00
tildearrow 6ae9f8e083 fix build 2023-06-08 01:00:47 -05:00
tildearrow 17464b6446 move documentation out of papers 2023-06-05 00:08:37 -05:00
tildearrow 0c43900922 GUI: make it work with SDL 2.0.8
which openSUSE Leap uses
2023-06-04 17:09:18 -05:00
tildearrow b2cf64c117 GUI: GL render backend now supports ES 2023-06-03 15:05:55 -05:00
tildearrow 541985bd87 GUI: add an OpenGL render backend
enable by adding `renderBackend=OpenGL` to furnace.cfg
2023-06-03 01:41:34 -05:00
tildearrow 55c2be8cec GUI: prepare for multiple render backends
I want to see whether I can bind OpenGL to this thing
2023-06-02 20:21:37 -05:00
tildearrow 2da1fe8821 prepare for patchbay effects 2023-05-21 04:39:36 -05:00
cam900 523e08ed5c Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-05-02 13:46:56 +09:00
tildearrow b661a6f9cf disable console now 2023-04-17 00:22:37 -05:00
cam900 548aa5e6ac Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-04-08 08:51:00 +09:00
tildearrow 9855166371 THIS IS IT -> FOR REAL!!! <- 2023-04-04 16:16:34 -05:00
tildearrow fc4397f644 Revert "release Furnace Pro"
This reverts commit 2255bdf6c7.
2023-04-02 02:31:36 -05:00
cam900 9c56c3d01b [WIP] K063260 skeleton 2023-04-02 14:32:47 +09:00
tildearrow 2255bdf6c7 release Furnace Pro 2023-04-01 17:00:51 -05:00
tildearrow c4510e16e0 add experimental command stream player
for verification

after that I am going to write optimization code
2023-03-26 18:48:16 -05:00
tildearrow 293d2b8775 PV-1000: more accurate emulation 2023-03-18 17:15:13 -05:00
tildearrow 57f4cc8561 GUI: prepare for FM preview 2023-03-17 19:12:09 -05:00
tildearrow 07ed76a63b add ROM export framework, part 1 2023-03-13 14:17:05 -05:00
tildearrow 6663fc274d prepare to add ROM export framework 2023-03-13 04:20:54 -05:00
tildearrow 74988df204
Merge pull request #1008 from akumanatt/quadtone
Alternative ZX Spectrum beeper sound engine
2023-03-06 03:37:47 -05:00
tildearrow 77f1ca3339 rename D65784221391491G18414119492 to PV1000
it probably was only used there anyway
2023-03-05 14:01:21 -05:00
Natt Akuma fc2db92d4f Rename QT to QuadTone 2023-03-06 00:58:27 +07:00
cam900 dbd1f56a10 Add NEC D65010G031 support
chip flag and instrument color is placeholder
2023-03-05 14:01:44 +09:00
Natt Akuma e0803d9bb1 Merge branch 'master' of https://github.com/tildearrow/furnace into quadtone 2023-03-01 12:58:27 +07:00
James Alan Nguyen 16ccd4f8fe typo 2023-02-25 19:26:27 +11:00
James Alan Nguyen f9cbf17a07 Issue #643 - Rewrite CLI vs GUI strategy (this matches DefleMask) 2023-02-25 19:20:51 +11:00
tildearrow 658428d68d add intro tune, part 2 2023-02-23 05:56:48 -05:00
tildearrow 8605690430 update install scripts to add wavetables 2023-02-19 17:36:14 -05:00
tildearrow 61beb8c4df GUI: intro is ready for review 2023-02-19 00:08:37 -05:00
tildearrow a0922c67e4 GUI: intro, part 9 - DO NOT USE 2023-02-18 19:43:23 -05:00
Natt Akuma 5a15721ab7 Add QuadTone beeper engine 2023-02-18 22:43:29 +07:00
tildearrow 474f6c7ebf GUI: intro, part 7 - DO NOT USE 2023-02-17 19:40:18 -05:00
tildearrow 2a3580618d GUI: intro, part 6 - DO NOT USE 2023-02-17 16:30:24 -05:00
tildearrow ef79a94163 GUI: intro, part 2 - DO NOT USE 2023-02-16 04:13:43 -05:00
tildearrow 0585d127a6 use stb_image for image support 2023-02-15 18:32:31 -05:00
tildearrow 7d191b3db9 GUI: experiments 2023-02-15 16:25:35 -05:00
tildearrow 8313d0f518 let's try console 2023-02-14 01:02:35 -05:00
cam900 07a1c57a5a Fix compile, Add SM8521 to list 2023-02-11 21:37:11 +09:00
tildearrow 0d424c7962 SegaPCM: prepare to actually emulate it 2023-02-09 19:11:27 -05:00
cam900 03e0c8d8ee Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-06 08:56:14 +09:00
tildearrow ac5986e44f dev139 - groove patterns! 2023-02-05 02:56:39 -05:00
cam900 dd79ae401b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-02-05 10:00:27 +09:00
tildearrow 9c673d6e71 GUI: move speed settings to a separate window 2023-02-04 17:01:32 -05:00
cam900 46865b3adb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-16 10:07:13 +09:00
tildearrow f69917010a use SDL2main 2023-01-14 14:57:03 -05:00
cam900 b64c089c56 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-13 09:48:52 +09:00
tildearrow db2d7b2ff3 try to fix MinGW console mode 2023-01-12 15:27:41 -05:00
cam900 8a71a81ffb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-02 09:26:05 +09:00
tildearrow c57636002a better Windows XP check 2022-12-31 18:36:33 -05:00
cam900 ff937604c7
Merge branch 'master' into es5506_alt 2022-12-29 16:18:24 +09:00
tildearrow dd000d9c04 part 6
issue #685
2022-12-28 16:40:22 -05:00
tildearrow 905bb8bf44 part 5
issue #685
2022-12-28 16:23:47 -05:00
tildearrow fbb712ddc9 part 3
issue #685
2022-12-28 16:07:01 -05:00
tildearrow 56be377cc2 attempt to support Windows XP
issue #685
2022-12-28 15:40:27 -05:00
cam900 96c0bea63b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-25 18:48:29 +09:00
tildearrow 6cce918c02 Nuked-OPN2 + ymfm combo option for all OPN chips
modified Nuked doing FM and ymfm doing SSG/ADPCM
2022-12-24 02:29:37 -05:00
cam900 a793bed56d
Merge branch 'master' into es5506_alt 2022-12-24 12:01:03 +09:00
Waldemar Pawlaszek 4a7e76c448 Renaming new POKEY core to AltASAP. Added core selection. 2022-12-22 22:40:29 +01:00
Waldemar Pawlaszek 3a94a7acde Implementation of POKEY core based on ASAP (http://asap.sourceforge.net) 2022-12-22 21:53:29 +01:00
tildearrow ba674a0329 start work on POKEY
to-do:
- add ability to change AUDCTL
- bass shape frequency and waveform mapping
- easy noise???
2022-12-19 19:45:04 -05:00
tildearrow 4ba8c0513e the final mzpokeysnd change (maybe)
it works! now to work on DivPlatformPOKEY...
2022-12-19 17:10:45 -05:00
cam900 429aed0ab1 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-17 15:00:44 +09:00
cam900 d5f44557c2 add (Partial) GA20 support 2022-12-15 20:03:54 +09:00
cam900 8365d1c977
Merge branch 'master' into es5506_alt 2022-12-15 16:06:59 +09:00
cam900 105e863a53 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-14 14:11:33 +09:00
cam900 441ad05484 Merge branch 'master' of https://github.com/tildearrow/furnace into k007232 2022-12-14 14:10:11 +09:00
tildearrow 5f3210ba48 add Pokémon Mini (partially) 2022-12-13 13:32:35 -05:00
cam900 76cdc3a6a5 (Partially) K007232 support
Chip ID is placeholder.
2022-12-08 14:18:22 +09:00
cam900 7867b59580 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-30 17:39:43 +09:00
OPNA2608 c3b7350346 Link against libdl for dlopen 2022-11-16 11:07:13 +01:00
tildearrow f6f6101762 Revert "no WinMain experiment - TEST!"
This reverts commit 4e2dd5ec63.
2022-11-15 22:24:23 -05:00
tildearrow 4e2dd5ec63 no WinMain experiment - TEST! 2022-11-15 21:29:49 -05:00
cam900 46880634b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-15 11:52:30 +09:00
tildearrow d422372b7f convert presets to new format, part 1 2022-11-13 16:25:50 -05:00
tildearrow 3f2f8a7197 GUI: add a clock 2022-11-10 01:26:59 -05:00
cam900 13b2a72a01 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-26 12:28:24 +09:00
tildearrow 4acb6ccc09 fine, here's your Pong 2022-10-24 03:19:42 -05:00
cam900 487607b6ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-22 10:17:00 +09:00
tildearrow d96674186e GUI: new scaling factor detection technique 2022-10-20 01:49:33 -05:00
cam900 081773b2da
Merge branch 'master' into es5506_alt 2022-10-12 15:31:38 +09:00
tildearrow f8896ed64c T 6 W 2 8 2022-10-12 00:12:56 -05:00
tildearrow 38eed64734 update CMakeLists 2022-10-09 15:18:52 -05:00
cam900 f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
tildearrow f76e4044c7 prepare for Virtual Boy 2022-10-08 19:37:22 -05:00
cam900 66f7ab688b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-02 10:52:14 +09:00
tildearrow 5e18edb229 early MSM5232 work 2022-10-01 03:15:40 -05:00
cam900 62f1ba73eb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-29 22:05:41 +09:00
tildearrow 24a72165c9 move config handler to a new class
paves the way for chip flags rewrite
2022-09-29 01:24:26 -05:00
cam900 0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
tildearrow 8eaddcf070 prepare BRR encoding/decoding 2022-09-24 04:27:53 -05:00
tildearrow c0de45ff0c Merge branch 'snes' of https://github.com/akumanatt/furnace into akumanatt-snes 2022-09-24 02:53:11 -05:00
ZeroByteOrg c3654eb67c Merge branch 'master' into ZSMv1 2022-09-23 22:24:22 -05:00
Natt Akuma 0ee6d761f5 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-09-18 18:33:25 +07:00
cam900 52476ec1a6 Merge branch 'master' of https://github.com/tildearrow/furnace into vgsound_emu_update 2022-09-16 23:49:11 +09:00
cam900 b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +09:00
ZeroByteOrg b14bf9ea33 Merge branch 'master' into ZSMv1 2022-09-15 12:03:53 -05:00
tildearrow fcefbb4909 TIA: update to latest Stella core 2022-09-09 23:21:45 -05:00
tildearrow c3ced46fa3 coming soon: reSIDfp core 2022-08-28 15:10:44 -05:00
ZeroByteOrg ca4fb5b7d4 Merge branch 'master' into ZSMv1 2022-08-28 10:54:20 -05:00
tildearrow daf176e197 GUI: prepare for new chip picker 2022-08-26 19:30:13 -05:00
tildearrow 94cf589e92 GUI: prepare for chip manager window 2022-08-19 04:41:45 -05:00
tildearrow 142c21e20b partially fix big-endian build
samples are the next thing to tackle
2022-08-19 00:23:45 -05:00
ZeroByteOrg 941d45ad80 Merge branch 'master' into ZSMv1 2022-08-16 11:24:18 -05:00
tildearrow d1c5a4725b add option to save unused patterns
closes #106

also prepare for the pattern manager window
2022-08-16 03:42:17 -05:00
tildearrow f2b6f854a9 add options to not install demo songs/ins 2022-08-04 17:48:10 -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 75c7573f12 Merge branch 'master' of github.com:tildearrow/furnace 2022-07-23 22:19:30 -05:00
tildearrow 617569b6b8 re-enable backward on Windows/macOS 2022-07-23 22:19:07 -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 623c0efbba
Merge pull request #578 from tildearrow/ngp
Add generic PCM DAC system
2022-07-23 19:12:51 -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 6f90124d82 issue #588, part 1 2022-07-14 22:15:14 -05:00
tildearrow 936a95c112 fix build on Arch
not my fault that PipeWire is shipped in a broken state
2022-07-13 16:47:09 -05: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 f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
ZeroByteOrg 40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -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 01057ced3a fix Android build 2022-06-25 16:09:04 -05:00
cam900 3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
cam900 2b5bb91237 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (55 commits)
  GUI: get rid of these stupid icons
  update to-do list
  MSM6258: the final bits
  MSM6258: clock/rate selection
  MSM6258: prepare for rate changing
  Update n163.md
  YM2612: DualPCM per-channel osc
  YM2612: more DualPCM muting fixes
  YM2612: fix DualPCM muting
  GUI: finish the blank ins up
  GUI: add "blank new instrument" option
  GUI: add mono/poly note preview button
  PC speaker: don't use printf/perror
  YM2612: CSM arpeggio and slides
  YM2612: - C   S   M -
  YM2612: half-working CSM
  YM2612: earliest completely untested CSM work
  delay collapse/expand pattern/song feature :<
  GUI: much more stable osc view
  YM2612: fix DAC output not visible in per-chan osc
  ...

# Conflicts:
#	src/engine/platform/genesis.cpp
#	src/engine/platform/genesis.h
#	src/ta-utils.h
2022-06-26 00:36:36 +09: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 e0bccc8c14 GUI: prepare for colors in the per-chan osc 2022-06-21 18:01:53 -05:00
tildearrow 60334fb03c GUI: add spoiler window 2022-06-20 15:20:02 -05:00
tildearrow 337e2183cd fix build on GCC < 8 2022-06-20 04:55:28 -05:00
tildearrow 03e31c441e prepare for ins preview in system file picker 2022-06-19 00:11:18 -05:00
tildearrow d8513e0856 GUI: use Native File Dialog on Windows/macOS
latter is untested
2022-06-17 01:28:22 -05:00
Natt Akuma f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
ZeroByteOrg d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
tildearrow 507ad335b1 add instruments to make install 2022-06-06 18:18:45 -05:00
ZeroByteOrg 378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
tildearrow 9edc4818b5 prepare for find and replace window 2022-06-06 05:03:19 -05:00
tildearrow 74dcf69081 pass --with-our-malloc on MinGW 2022-05-31 12:42:47 -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 4f6f13e938 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: improve unified data view
  GUI: sample editor preview in selection
  finally
  Revert "fudge and bread"
  Revert "fire!"
  Revert "temporarily kill MSVC"
  Revert "MSVC: ughh, f**k you, you d**khead."
  MSVC: ughh, f**k you, you d**khead.
  temporarily kill MSVC
  fire!

# Conflicts:
#	src/engine/engine.h
#	src/engine/playback.cpp
2022-05-30 08:13:27 +09:00
tildearrow cdcf87c773 Revert "fudge and bread"
This reverts commit 6afe29682d.
2022-05-29 00:44:21 -05:00
cam900 131081a030 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fudge and bread
  what?!
2022-05-29 13:50:09 +09:00
cam900 32152fd89b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (53 commits)
  prepare for better backward writing
  VGM export: fix oops
  GUI: drag-and-drop ins/wave/sample loading
  GUI: add "set loop" to sample editor
  MSM6295: VGM export!
  oops
  MSM6295: add rate select effect (20xx)
  update meteor shower
  MSVC is better than GCC right?
  update to-do list
  door into summer
  GUI: implement input for touch events
  GUI: update SDL hints
  fix Termux build
  add another demo song
  add demos/ecolove.fur
  update to-do list
  update demos/README.md
  add new demo songs
  dev99 - major Fractal system change
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/genesis.cpp
#	src/engine/playback.cpp
#	src/engine/song.h
#	src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
tildearrow 6afe29682d fudge and bread 2022-05-28 23:40:46 -05:00
tildearrow bf0b207a3d what?! 2022-05-28 23:12:22 -05:00
tildearrow 36c16467a5 fix Termux build 2022-05-27 15:51:57 -05:00
ZeroByteOrg b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
cam900 cbf20c6320 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (58 commits)
  SMS: early Nuked-PSG modding
  SMS: add modified Nuked-PSG core
  build release and don't strip
  strip MinGW builds
  FDS: a bit more
  FDS: set a post-amp value
  FDS: fix NSFplay core low pass filter precision
  fix .dmf saving
  fix compilation on GCC 12
  Fix multithreading on CI
  Lynx: why did I not commit this
  Lynx: more sample improvements
  Lynx: sample improvements
  Lynx: add sample support!
  GUI: fix wavetable list oversight
  WaveSynth: fix phase modulation - again
  GUI: fix possible wave editor crash
  WaveSynth: fix phase modulation
  Lynx: add phase reset macro
  fix another fucking IGFD crash bug
  ...

# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/presets.cpp
2022-05-27 13:01:06 +09:00
tildearrow e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow 0292f4d4c3 temporarily "fix" MinGW issue 2022-05-24 22:15:43 -05:00
tildearrow cad0eab9ca another fix 2022-05-24 13:40:38 -05:00
tildearrow 652edb18b7 fix it 2022-05-24 13:17:40 -05:00
tildearrow 914b5f7a88 experiment with backward-cpp again 2022-05-24 13:06:29 -05:00
cam900 17881837ab Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (64 commits)
  finish wave synth!
  update contributing guidelines
  Namco WSG: make non-linear slides faster
  wave synth work
  SoundUnit: fix order of filter bits
  GUI: add Namco arcade presets
  implement some dual wave synth effects
  Y8950: fix ADPCM VGM export
  Namco WSG: finish it up
  Namco WSG: 8 channel WSG (CUS30) now works
  Namco WSG: muting
  Namco WSG: 8 channel WSG (15xx) now works
  Namco WSG: 3 channel WSG now works
  YM2612: change key on/off strategy
  GUI: fix scrollbars not working
  Please enter the commit message for your changes.
  shhhhhhhhhhhh
  update to-do list
  Whoops
  it doesn't work (yet)
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/su.cpp
#	src/engine/playback.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/song.h
#	src/engine/vgmOps.cpp
#	src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
tildearrow 8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
tildearrow f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow e17c99dcdf allow building Furnace without SDL2 and libsndfile
for eventual libfurnace
2022-05-22 19:01:50 -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
cam900 f7ba60bfa9 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (46 commits)
  PCE: fix two issues
  SegaPCM: fix samples bigger than 64KB
  SCC: implement VGM soft reset
  GUI: add option to clear orders
  GUI: implement "clear all subsongs"
  GUI: fix crash when deleting current subsong
  CI: only 1 core for MinGW
  Fix AY8910 envelope hangs
  OPL: fix fixed frequency drums
  pick nits: the sequel
  pick nits
  AY: fix possible hang
  hide .ftm format
  Add x2 icon variations as well
  Install more size variations on Linux
  OPLL: fix fixed drums freq
  GUI: make backupTimer atomic
  Have OPN* platforms set the correct YM2149 chip type.
  update to-do list
  ZX beeper: clarify effects (will be done later)
  ...

# Conflicts:
#	src/engine/platform/segapcm.cpp
2022-05-22 18:24:17 +09:00
Natt Akuma 27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +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
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 dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
tildearrow e1bd5b03f3 de-submodule ImGui
allows for local modification which is necessary

see #442
2022-05-18 15:23:10 -05:00
Natt Akuma 0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
cam900 028adf2c8e Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (70 commits)
  whoops
  GUI: AY8930 credits
  GUI: fix inability to close subsongs
  BANK
  OPN: wire up ExtCh system
  fix build failure
  dev95 - multiple songs in a single file (READ)
  DO NOT USE - THIS FAILS - WORK IN PROGRESS
  enforce asset limits
  old .dmf loading improvements
  add AICA and YMZ ADPCM formats
  allocate ID for YMZ280B
  harden .fur file saver
  Fix AY VGM output, Fix presets
  preparations for UI improvements
  GUI: add more presets
  prepare for ExtCh OPN/OPNA
  GUI: clarify that lock layout doesn't work yet
  GUI: remember last state of order edit mode
  GUI: store edit/followOrders/followPattern state
  ...

# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610b.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/sysDef.cpp
#	src/gui/doAction.cpp
#	src/gui/sysConf.cpp
2022-05-18 03:09:55 +09:00
OPNA2608 864e798686 Add x2 icon variations as well 2022-05-16 19:25:15 +02:00
OPNA2608 0851f1dffc Install more size variations on Linux 2022-05-16 19:16:55 +02:00
cam900 2a19834e14 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  full linear pitch is now the default
  add a full linear pitch mode, part 7
  X1-010: implement linear pitch (part 6)
  VERA: implement full linear pitch (part 5)
  YM2610(B): implement full linear pitch (part 4)
  add a full linear pitch mode, part 3
  YM2612: implement full linear pitch (part 2)
  update readme
  re-enable warnings are errors on MSVC
  YM2612: early full linear pitch experiment
  GUI: window movement only by clicking on title bar
  Fix GCC errors 2
  Fix GCC errors
  Remove SCC from TODO.md
  SCC has no config flags currently
  Add SCC and SCC+ support

# Conflicts:
#	CMakeLists.txt
#	src/engine/dispatchContainer.cpp
#	src/gui/guiConst.cpp
2022-05-16 00:37:07 +09: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 895765b68a and here's your ZX beeper
no real hardware yet
specs of this dispatch may change at any time to fit a driver
2022-05-14 00:22:23 -05:00
tildearrow 4a563a416e prepare for Y8950/YMU759 ADPCM 2022-05-13 14:59:36 -05:00
tildearrow f2db15b2ce add OPNA chip (work in progress) 2022-05-13 02:52:43 -05:00
tildearrow a58d49a831 GUI: more mobile-specific changes 2022-05-11 16:09:23 -05:00
tildearrow ab969c1da0 add OPN chip
pretty much copy-paste from YM2610B code

next up: even more blatant copy-paste in 2608
2022-05-11 03:29:03 -05:00
cam900 54e78699a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev94 - add a full linear pitch mode, part 1
  YM2610(B): use f-num/block baseFreq calculation
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
2022-05-11 00:55:03 +09:00
cam900 4efa711a2b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (44 commits)
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  Fix outdated calling convention in SAASound (maybe fix MinGW)
  GUI: macro UI refactor, part 3
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Maybe just enforce for C++
  Forbid standard extensions
  .ftm loading progress (incomplete, not working)
  ...

# Conflicts:
#	src/engine/instrument.h
#	src/gui/insEdit.cpp

Transwave Checkpoint
2022-05-11 00:16:20 +09:00
Natt Akuma a3fc76c984 Add SCC and SCC+ support 2022-05-10 11:25:10 +07:00
tildearrow 40e992cc6f prepare for something 2022-05-08 15:59:42 -05:00
tildearrow 2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
OPNA2608 b35701f938 Maybe just enforce for C++
We don't demand a specific standard for C anyway, maybe that'll trip it up less?
2022-05-06 12:52:50 +02:00
OPNA2608 d0524c025e Forbid standard extensions
Standard or bust.
2022-05-06 12:40:36 +02:00
tildearrow b75336bcb6 OPL: fix channel muting - PLEASE READ!
**SUBMODULES UPDATED** - Nuked-OPL3 is no longer a submodule as I
had to directly modify the core for this
if you mess up while removing Nuked-OPL3 from your repo, delete
everything and clone again

fixes #414
2022-05-04 18:06:32 -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 7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -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 4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
cam900 37216e323f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix MSVC oh my
  improvements to sysDef and UX changes

# Conflicts:
#	src/engine/dispatchContainer.cpp
#	src/gui/insEdit.cpp
2022-04-27 21:21:08 +09:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -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 d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow cc08dd895b get rid of backward completely for real 2022-04-18 03:17:11 -05:00
tildearrow eafbec6cfc really what the heck 2022-04-18 02:16:57 -05:00