Commit graph

184 commits

Author SHA1 Message Date
tildearrow 317aca0564 VGM export: NES DPCM, part 1
still does not work
2023-06-22 15:20:48 -05:00
tildearrow 0bcd1b74ac VGM export: prepare for NES DPCM 2023-06-22 04:55:12 -05:00
tildearrow ef57ad531d oh crap I did not commit 2023-06-22 03:24:39 -05:00
cam900 7402575d11 Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-06-17 10:41:56 +09:00
tildearrow 4d36bd2336 VGM export; fix loop trail when loop is off 2023-05-24 14:25:30 -05:00
tildearrow 4b12f440fa variable set but not used 2023-05-24 02:12:42 -05:00
tildearrow 0c0efaea50 make use of sample loop flag
issue #1109

this MAY BREAK THINGS
if any problems, REVERT THIS ONE
2023-05-24 01:51:27 -05:00
tildearrow bf95a358bc VGM export: fix direct stream delay>16 2023-05-03 04:18:47 -05:00
cam900 523e08ed5c Merge branch 'master' of https://github.com/tildearrow/furnace into k053260 2023-05-02 13:46:56 +09:00
tildearrow c8df7084f4 VGM export: write Hz when appropriate 2023-04-20 04:16:56 -05:00
cam900 f7768dafe3 Fix K053260 VGM output 2023-04-02 23:01:57 +09:00
cam900 9c56c3d01b [WIP] K063260 skeleton 2023-04-02 14:32:47 +09:00
tildearrow e5ab3413cb oh wow 2023-03-14 01:27:45 -05:00
tildearrow e994f1a84d SegaPCM: fix VGM export 2023-02-10 02:47:26 -05:00
tildearrow 6036366f38 SegaPCM: new real emulation core 2023-02-10 02:01:23 -05:00
tildearrow 2343cdecc5 VGM export: add "trailing ticks" option
issue #695
2023-02-08 19:25:03 -05:00
tildearrow 0a63399dcf PCE: reset wave on VGM export reset 2023-02-08 18:04:09 -05:00
tildearrow baf5b06b62 prepare to fix VGM export when hard reset is off 2023-02-08 04:14:11 -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 d856ce9ad3 SN: possibly fix Game Gear in VGM export 2023-01-27 14:52:11 -05:00
cam900 3403e10b0b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-24 08:14:29 +09:00
tildearrow f3af1d78ff
Merge pull request #936 from laoo/Mikey_VGM
Mikey vgm export
2023-01-21 05:33:35 -05:00
tildearrow 45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
cam900 7340d029ae Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-19 16:51:27 +09:00
Waldemar Pawlaszek 75bc994ff6 One more thing: declaring Lynx only for VGM 1.72 or higher (not sure if the way is elegant enough) 2023-01-18 10:32:03 +01:00
Waldemar Pawlaszek b42dd554f2 Merge remote-tracking branch 'origin/master' into Mikey_VGM 2023-01-18 10:21:13 +01:00
tildearrow 1d446bd56b dev137 - new mixing volumes
YM2612 is now twice as loud
SN76489 and OPLL are 1.5x loud
X1-010 is four times louder
2023-01-17 01:11:08 -05:00
cam900 46865b3adb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2023-01-16 10:07:13 +09:00
Waldemar Pawlaszek e42ab1b847 Experimental Mikey VGM 1.72 export. 2023-01-15 16:27:20 +01:00
tildearrow 1ab80379e1 VGM export: fix wrong loop size 2023-01-15 04:32:47 -05:00
tildearrow 17cb32fe9e VGM export: improve volumes 2023-01-15 03:54:11 -05:00
tildearrow a3d20ac3fd WonderSwan: why does this not work 2023-01-15 01:46:34 -05:00
tildearrow 9ada18a57a VGM export: always write stream freq first 2023-01-15 01:20:31 -05:00
cam900 a793bed56d
Merge branch 'master' into es5506_alt 2022-12-24 12:01:03 +09:00
tildearrow 909c553be3 whoops! 2022-12-20 17:55:05 -05:00
tildearrow 7a92811fd9 rename some DIV_SYSTEM_ items
OPN -> YM2203
PC98 -> YM2608
FRAC -> DUALPCM
2022-12-20 17:49:53 -05:00
tildearrow b7302e0d98 POKEY: VGM export 2022-12-20 14:54:55 -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 d7c35f0748 Add VGM support 2022-12-15 21:36:51 +09:00
cam900 37e83c0905 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-12-10 14:29:13 +09:00
cam900 2e85e47c48 Add and reorganize constant define includes 2022-12-09 14:30:27 +09:00
cam900 7867b59580 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-11-30 17:39:43 +09:00
tildearrow 8041173eb9 YMZ280B: fix VGM export 2022-11-21 16:12:29 -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 f5b0604d4a VGM export: fix direct stream mode buggy duration 2022-10-22 03:53:31 -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 206fb119aa VGM export: extended header length should be 12 2022-10-19 13:48:29 -05:00
tildearrow ed12ca5bd8 VGM export: get Fractal template export working 2022-10-17 14:31:37 -05:00
tildearrow 4dda45116e VGM export: fix stream command glitch in direct 2022-10-17 14:28:41 -05:00
tildearrow 4723ed3972 VGM: experimental direct stream mode for YM2612 2022-10-17 14:25:30 -05:00
tildearrow 684b5a928b VGM export: prepare for "direct stream mode"
this will eventually allow for DualPCM and MSM6258 export

DO NOT USE YET
2022-10-17 04:17:00 -05:00
tildearrow ecd5662d9b T6W28: whoops fix VGM export 2022-10-16 01:29:02 -05:00
tildearrow 285d81c716 T6W28: VGM export 2022-10-16 01:27:39 -05:00
cam900 081773b2da
Merge branch 'master' into es5506_alt 2022-10-12 15:31:38 +09:00
tildearrow 9f105d92a8 VGM export: why 2022-10-09 17:24:24 -05:00
cam900 f8c494e1dd
Merge branch 'master' into es5506_alt 2022-10-09 20:05:15 +09:00
tildearrow b53319354c Virtual Boy: VGM export 2022-10-09 00:00:00 -05:00
cam900 987cc113b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-30 20:01:21 +09:00
tildearrow 468f434b66 chip flags rewrite, part 5 - DO NOT USE
after fixing the GUI the last thing to do is upgrade all the presets to
the new format
but that will be SO boring
2022-09-30 00:26:54 -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 0acca7458d chip flags rewrite, part 2
move systemFlags to legacy status
2022-09-29 03:29:24 -05:00
cam900 013c7b92fb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-27 00:01:10 +09:00
tildearrow a6e4345863 PLENTY OF TODO WHEN I COME BACK
CRASHES EVERYWHERE
2022-09-25 20:07:21 -05:00
cam900 0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
cam900 80c9b0c3f4 Fix compile 2022-08-27 18:26:56 +09:00
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09:00
tildearrow 7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow 8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -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
cam900 5e72274c5c I forgot here 2022-06-26 09:29:35 +09:00
cam900 3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
Natt Akuma 4bf4be1ea2 Fix 16-bit samples in YMZ280B VGM export 2022-06-22 21:55:31 +07: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 13ff89f962 VGM export: fix oops 2022-05-28 22:18:38 -05:00
tildearrow f8796f8ec9 MSM6295: VGM export! 2022-05-28 18:15:26 -05:00
tildearrow 0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
Laurens Holst a19090ab9b Correct VGM chip ID for Y8950 reset. 2022-05-24 22:08:01 +02: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
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 5ed0efe961 Whoops 2022-05-21 03:36:11 +07: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 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
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
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
cam900 f62f6ed77b Fix AY VGM output, Fix presets 2022-05-15 00:58:00 +09:00
tildearrow ff0319780e OPN: VGM export - good night 2022-05-11 03:41:02 -05:00
tildearrow 955cd48fcf SCC: SCC+ and dual-SCC VGM export 2022-05-11 02:32:08 -05:00
tildearrow 35ff5430d3 SCC: VGM export, forceIns bug fix and 10xx 2022-05-11 02:20:14 -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
Laurens Holst 7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02: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
Natt Akuma d16d1260cb VGM: Support ROM data in the second chip 2022-04-16 22:54:01 +07:00
tildearrow 6b294933bc VGM export: fix it under low-latency mode 2022-04-15 22:27:44 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00