Commit graph

4899 commits

Author SHA1 Message Date
tildearrow
23d9cd6d9a fix major extended op macro corruption 2022-05-29 22:01:45 -05:00
cam900
0788e519d7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  MSM6295: fallback rate
  MSM6295: add more rates
2022-05-30 08:14:00 +09: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
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
84d4ca63c2 GUI: sample editor preview in selection 2022-05-29 02:13:08 -05: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
08543a2dc9 GUI: drag-and-drop ins/wave/sample loading 2022-05-28 18:51:05 -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
Ian Karlsson
5378974b96 Save the size of each block in a Furnace module 2022-05-27 21:42:14 +02: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
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
1540705b75 WaveSynth: fix it....... again. 2022-05-27 00:35:35 -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
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
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
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
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
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
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
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
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
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
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