Commit graph

377 commits

Author SHA1 Message Date
tildearrow
a137eefd20 GUI: refine the Namco [C]163 chip name option 2022-07-21 19:00:32 -05:00
tildearrow
f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
cam900
4e8d71fc22
Fix sample map struct
Structize sample map variable is for easily extend features.
2022-07-21 13:42:20 +09:00
cam900
a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
cam900
f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
tildearrow
96bc63470f GUI: add unsigned detune option
closes #559
2022-06-28 15:06:22 -05:00
tildearrow
f8347ac50f GUI: fix several things in OPL drums ins editor
- alternate layout being wrong
- macros being wrong
2022-06-27 03:30:57 -05:00
cam900
8ae1d36ab6 Typecasting here 2022-06-26 09:56:07 +09:00
cam900
04af689ae9 Fix typecasting(again) 2022-06-26 09:28:18 +09: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
Natt Akuma
22dd22ca33 Allow accessing all 256 waves in macros 2022-06-22 19:38:29 +07:00
tildearrow
2313e4fcc3 GUI: temporarily remove freqs in sample map 2022-06-19 14:03:36 -05:00
cam900
0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
tildearrow
327a013186 GUI: finish alternate FM layout 2022-06-13 23:22:17 -05:00
tildearrow
bd7710991b GUI: a bit more to it 2022-06-13 03:57:31 -05:00
tildearrow
17fb152e25 GUI: work on alternate FM layout 2022-06-13 03:54:42 -05:00
cam900
e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow
a945ee5353 GUI: disclaimer about OPLL drums volume slider 2022-05-31 18:06:45 -05:00
tildearrow
9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
cam900
3b411cd14f Fix dead link, Frequency, Instrument editor related issue 2022-05-31 13:48:35 +09:00
cam900
a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
tildearrow
e9f17168a4 prepare for OPL drums instrument type
#310
2022-05-30 18:37:07 -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
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
Mahbod-Karamoozian
186dd8c522
Modern layout fix
This fixes the problem that is present in raijin's layout
2022-05-26 23:44:04 +04:30
tildearrow
42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -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
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
tildearrow
806153fd8e finish wave synth! 2022-05-22 03:14:46 -05:00
tildearrow
367d14357c wave synth work
now there is a preview
2022-05-21 18:36:15 -05:00
tildearrow
61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow
315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow
9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow
dca2aec606 GUI: fix scrollbars not working 2022-05-20 21:57:41 -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
a34481205a GUI: more mobilework 2022-05-19 16:35:00 -05: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
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
613b538fb9 GUI: add setting to bring old macro vSlider back 2022-05-12 03:29:34 -05:00
tildearrow
76adccc0fc GUI: even more improvements to macro editor 2022-05-12 03:01:35 -05:00
tildearrow
0e03bf6bec GUI: fix default vScroll for pitch macro 2022-05-12 02:49:09 -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
tildearrow
2e9bd65b9e GUI: right click menu for open instrument 2022-05-09 13:20:44 -05:00
tildearrow
580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow
3963f93aa4 GUI: prepare for macro right click menu 2022-05-08 17:35:21 -05:00
tildearrow
787eda0a34 GUI: macro edit improvements
- reset zoom levels when changing instrument type
- set a default zoom level for pitch macro
2022-05-08 04:45:48 -05:00
cam900
ab1ac51d68 Fix build, Transwave Checkpoint 2022-05-08 17:56:52 +09:00
tildearrow
2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow
3170803389 GUI: macro UI refactor, part 4 2022-05-07 18:30:16 -05:00
tildearrow
24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
tildearrow
d4d3cb44b9 GUI: macro UI refactor, part 2
the macro editor is finally back
2022-05-07 02:49:56 -05:00
tildearrow
aea7bf2112 GUI: is the macro UI back yet 2022-05-06 23:52:26 -05:00
tildearrow
716ef56f03 GUI: macro UI refactor, part 1 - PLEASE READ
- DO NOT USE THIS VERSION! -

to @cam900 and @grauw: do NOT pull this commit yet! it will fail to compile!
2022-05-06 18:01:12 -05:00
tildearrow
81a77a633b GUI: remove classic macro view
after this, some changes to the macro view code will arrive
hopefully these will make the code much cleaner
(NORMAL_MACRO has too many arguments!)
2022-05-06 14:16:27 -05:00
Laurens Holst
3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow
99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow
44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
cam900
317c4b4f82 Prepare for transwave 2022-05-04 03:09:58 +09:00
cam900
8283d46e7d Disable reversed playback checkbox when using sample map
Clamp per-channel OSC output, Reduce warning
2022-05-02 21:19:10 +09:00
cam900
53a52788e2 Add per-note map reversed playback support
Prepare for pcm changed flag, 8 bit panning command
Reduce register spamming in volume update routine

Progress report:
* Emulation core update, Dispatch update:
  * Volume is unsigned like original chip, for reduce overflow.
* Add multi-mode macro support for radio button
2022-04-30 23:45:05 +09: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
635bd72904 GUI: sample/macro zoom with ctrl-wheel 2022-04-29 05:39:18 -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
cdb3a51766 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  implement channel swapping
  implement relative pitch macro mode
  prepare for relative pitch macro

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 23:30:50 +09: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
d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow
4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow
dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow
410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
tildearrow
9eaf600b4b GUI: rename Amiga/Sample to Sample 2022-04-27 17:44:00 -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
482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
cam900
97d2bddf1f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:54:11 +09: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
tildearrow
2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow
7b79c32258 increase range of arp macro to 120 2022-04-25 14:58:58 -05:00
tildearrow
7410622425 GUI: min ins selector width fix 2022-04-21 17:39:13 -05: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
a4ff0c3876 GUI: fix relative/fixed toggle label being wrong 2022-04-18 04:18:33 -05:00
tildearrow
fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow
c9324e04bd GUI: vertical C64 envelope editor 2022-04-17 02:51:03 -05:00
tildearrow
768419f461 GUI: implement GB envelope view 2022-04-17 01:15:34 -05:00
tildearrow
003c9c3235 GUI: prepare for GB envelope view 2022-04-16 23:58:29 -05:00
tildearrow
99d57bf342 GUI: C64 envelope view 2022-04-16 23:43:49 -05:00
tildearrow
8669e2cddc GUI: a better look for panning macro 2022-04-16 17:24:40 -05:00
tildearrow
c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow
c76e719371 GUI: prepare for more macros 2022-04-15 02:51:38 -05:00
tildearrow
be483470ef GUI: add "Use standard OPL waveform names" option 2022-04-14 21:57:39 -05:00
tildearrow
aab7cf2512 oops 2022-04-12 23:03:24 -05:00
tildearrow
ff75c7fe01 GUI: implement macro line drawing 2022-04-12 23:03:20 -05:00
tildearrow
45f14a951a GUI: add Colorize instrument editor using instrume
nt type option
2022-04-12 21:30:12 -05:00
tildearrow
152d05dbfc GUI: add "separate car/mod colors" to FM editor
and other improvements
2022-04-12 18:26:25 -05:00
tildearrow
24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
BlastBrothers
1d14ca2d88
Merge branch 'tildearrow:master' into master 2022-04-11 19:51:31 -04:00
tildearrow
8407a7d3a4 add several TODO comments
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
BlastBrothers
83baae92d9 Now it works ofr OPLL too, plus global sus 2022-04-11 17:26:40 -04:00
BlastBrothers
62ea469600 Works for OPLx 2022-04-11 13:55:20 -04:00
BlastBrothers
0094e75bcf Pass sus to drawFMEnv- but is this the right var? 2022-04-11 12:15:11 -04:00
tildearrow
51207e58ad part 2 - finally 2022-04-10 16:52:03 -05:00
cam900
9a6127e4c1 Change macro 2022-04-10 18:47:32 +09:00
cam900
518841c17e Fix FM layout in "Compact" mode, Prepare for per-operator on/off control on FM (possibly controllable with phase reset macro?) 2022-04-10 18:36:04 +09:00
cam900
55639747ee Make GCC happy 2022-04-10 16:32:58 +09:00
cam900
eb05310d37 Fix issue in instrument editor 2022-04-10 15:49:26 +09:00
cam900
13bdf2d86d Prepare for FMS2, AMS2 macro for YM2414 2022-04-10 15:16:51 +09:00
cam900
ae4f005d67 Merge remote-tracking branch 'upstream/master' into macro
# Conflicts:
#	src/engine/platform/c64.cpp
#	src/gui/insEdit.cpp
2022-04-10 14:47:10 +09:00
cam900
d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
OPNA2608
16ad29ae7a Fix C4293: '<<': shift count negative or too big, undefined behavior
MSVC seems kinda braindead: https://reviews.llvm.org/D41030#952363
2022-04-09 10:54:06 +02:00
tildearrow
5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
tildearrow
500ce8086d GUI: initial wave synth UI 2022-04-07 18:27:17 -05:00
tildearrow
05dfec9f3d GUI: fix VRC6 saw waveform macro being displayed 2022-04-07 13:48:22 -05:00
tildearrow
b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -05:00
tildearrow
280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow
e1976b96a0 TODO: modulation table 2022-04-05 14:55:17 -05:00
tildearrow
590b21bc37 GUI: prepare for FDS ins editor 2022-04-04 13:26:02 -05:00
tildearrow
ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow
44d72c2106 GUI: add load/save/select to ins/wave editors
TODO: on sample editor
TODO: load replace instead of load insert
2022-04-02 18:22:06 -05:00
tildearrow
ab5ed4413e GUI: usability fixes (ctrl-wheel)
as of now Ctrl-wheel allows you to fine change sliders
also added undo/redo buttons to sample editor
2022-04-02 00:11:44 -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
d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -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
075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -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
79d6433006 Merge branch 'master' of https://github.com/tildearrow/furnace into vrc6 2022-03-28 10:11:09 +09:00
tildearrow
e5ce7c63f8 GUI: redesign FM editor layout, part 4
now with OPL and OPLL
2022-03-27 18:30:46 -05:00
tildearrow
ef88fc57d8 GUI: remove invalid comment 2022-03-27 16:35:55 -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
09b5dd556e GUI: add setting to change position of SL slider 2022-03-27 03:38:04 -05:00
tildearrow
f7d7b00e93 GUI: redesign FM editor layout, part 3 2022-03-27 03:29:45 -05:00
tildearrow
1c98748a88 GUI: redesign FM editor layout, part 2 2022-03-27 01:38:24 -05:00
tildearrow
7237e8fb39 GUI: add a space
i am lazy
2022-03-26 18:30:08 -05:00
tildearrow
4caa9376bc GUI: what 2022-03-26 17:30:26 -05:00
tildearrow
26791df58e GUI: redesign FM editor layout, part 1
thanks Raijin for the concept
2022-03-25 18:16:47 -05:00
tildearrow
6e35640537 GUI: less annoying PET waveform view 2022-03-25 02:10:44 -05:00
cam900
39654bfa86 Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 13:11:22 +09:00
tildearrow
5a08e0d230 OPLL: add patch macro 2022-03-23 15:50:18 -05:00
cam900
df8f40486d Fix frequency, Loading waveform, Add instrument tab for waveform initialize
now for saving DivInstrumentN163 struct is... needs to compatibility breaks?
2022-03-24 03:53:07 +09:00
cam900
73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
tildearrow
c24ad24a03
Merge pull request #302 from AYCEdemo/petvic
Add VIC-20 support
2022-03-22 13:25:21 -05: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
tildearrow
f4f91ca49e GUI: ability to customize toggle button color 2022-03-22 01:57:06 -05:00
tildearrow
e62f9bffd3 GUI: re-organize code
ins/wave/sample lists now in dataList.cpp
wave editor now under its own file
2022-03-21 16:34:19 -05:00
tildearrow
cbbca2d6c8 GUI: no mention of PET in wave edit 2022-03-21 16:22:43 -05:00
tildearrow
948d585767
Merge pull request #300 from AYCEdemo/petvic
Add PET support
2022-03-21 16:20:55 -05:00
tildearrow
1003d9fcb8 GUI: more "modified" status situations
fixes #236
2022-03-21 16:17:51 -05:00
Natt Akuma
c32ea59285 PET: Use wave bits macro instead 2022-03-22 01:37:22 +07:00
Natt Akuma
47c5c34e1c Add PET support 2022-03-21 21:02:51 +07:00
tildearrow
dce68749d6 GUI: work on the drum UI 2022-03-17 02:07:46 -05:00
tildearrow
a3efaf0bd3 fix 2022-03-16 17:02:57 -05:00
tildearrow
3163730fe8 prepare for drum kits/sample map 2022-03-16 17:01:44 -05:00
tildearrow
73cf7cf161 GUI: enforce minimum size for macro edit left col
UNTESTED
2022-03-16 13:45:22 -05:00
tildearrow
966d133bf4 OPL: FM macros 2022-03-16 03:44:22 -05:00
tildearrow
9322e9467c GUI: prepare macro editor for OPL op macros 2022-03-16 02:01:44 -05:00
tildearrow
8355aa0175 GUI: OPL 4-op algorithm images 2022-03-15 00:09:45 -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
a96fd5727e GUI: begin working on unified ins/wave/sample list 2022-03-14 00:26:27 -05:00
tildearrow
cb3c4e2302 GUI: clamp waves to max value 2022-03-11 17:00:57 -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
cam900
3d13a7d446 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-10 03:21:02 +09:00
Natt Akuma
80e3148a43 Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-09 18:06:47 +07:00
tildearrow
698b8e960f I must be blind 2022-03-08 14:20:21 -05:00
tildearrow
42a3391574 GUI: add OPZ waveforms 2022-03-08 13:46:48 -05:00
tildearrow
ad19a69f27 GUI: improvements to OPL ins edit 2022-03-08 13:12:20 -05:00
cam900
6c432bc42e Allow Left waveform can be invertable,
Improvement documents
2022-03-09 00:50:10 +09: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
tildearrow
0210548291
swan let's go
Add WonderSwan support and flatten second chip checks in VGM export into variables
2022-03-07 23:05:32 -05:00
tildearrow
cdd45bb18c allow detune 4 2022-03-07 22:28:20 -05:00
tildearrow
ec007b4443 OPL: more work - still not there yet 2022-03-07 18:19:25 -05: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
55934bc044 Fix crash 2022-03-07 13:09:25 +09:00
cam900
458f8c5881 Fix instrument allocation 2022-03-07 12:21:51 +09:00
cam900
fca4bdc1ee Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	.gitmodules
#	CMakeLists.txt
2022-03-07 02:35:14 +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
c684107b11 not a voice 2022-03-05 13:21:03 -05:00
freq-mod
e3a27cb37c
Change OPLL friendly param names
to be less cringy
2022-03-05 19:06:46 +01:00
Natt Akuma
9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
tildearrow
59d813db7c PCE: add noise macro (finally!) 2022-03-04 02:20:13 -05:00
tildearrow
8758277199 OPLL: implement fixed freq mode for drums
issue #249
2022-03-04 01:18:16 -05:00
tildearrow
6132aa666e GUI: hide duty/wave macros in OPLL/OPL 2022-03-03 18:10:41 -05:00
tildearrow
05bdfe74db GUI: fix some out-of-range sliders in OPLL 2022-03-03 17:23:55 -05:00
tildearrow
29474cd5c7 GUI: possibly expand fixed arp macro range
untested
2022-03-03 14:50:23 -05:00
tildearrow
d9ae033f32 OPLL: 95%
FM macros working

TODO:
- proper drums
2022-03-01 00:56:13 -05:00
tildearrow
f8046facfc GUI: make sliders right-clickable 2022-02-28 22:42:52 -05:00
tildearrow
f8e7dd7214 GUI: hopefully finish OPLL op macro interface 2022-02-28 18:38:36 -05:00
tildearrow
bd9289cfdd store OP macros
todo
2022-02-28 18:16:05 -05:00
tildearrow
4abaf4b9ec fix 2022-02-28 14:32:17 -05:00
tildearrow
90ad8b5268 OPLL: 91%
GUI improvements
soon I gotta allocate macros for the YMU759 params

TODO:
- FM macros
- drums mode
- muting
2022-02-28 14:13:14 -05:00
tildearrow
271b3fb0fe OPLL: 80%
accuracy fixes pending though
then macros and then drum mode
2022-02-26 03:27:37 -05:00
BlastBrothers
577c281a17 Inst type combo box shows all the instruments 2022-02-24 18:15:18 -05:00
BlastBrothers
101e2c4383 Mixer: Wide bars/invert box moved to reduce height 2022-02-24 17:45:37 -05:00
BlastBrothers
b95e0691a4 Wavetable graph no longer fills the whole window 2022-02-23 22:56:31 -05:00