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
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
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
tildearrow
d211170e86
implement relative pitch macro mode
2022-04-28 01:31:16 -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
tildearrow
24d60507e7
sysDef refactor, part 2
...
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
tildearrow
e8f29cf122
prepare for macroInt preview in instrument editor
2022-04-26 15:24:45 -05: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
c84ff399d9
YM2612: fix negative octaves
2022-04-24 22:45:59 -05:00
tildearrow
8db53faf72
new FM frequency calculation experiments
2022-04-22 04:23:52 -05:00
tildearrow
fd3d57b1cb
even more improvements to low-latency mode
2022-04-15 15:01:11 -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
2e327953e8
YM2610(B): AY unification
...
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
tildearrow
ac3772c024
initial FDS bring-up
2022-04-03 22:37:16 -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
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
73536c0691
AY: add effects to write to I/O ports
2022-03-26 20:55:43 -05:00
tildearrow
ece34990e5
several pitch fixes and stuff
...
pull request #303
2022-03-23 23:19:16 -05:00
cam900
5fdce33b11
Add Namco 163 Support
2022-03-23 01:48:45 +09: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
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
Natt Akuma
840a6fa306
Add WonderSwan support
2022-03-07 15:44:59 +07:00
tildearrow
8f957baa3e
dispatch: add function to notify playback stopped
...
for the PC Speaker real driver
2022-03-07 01:48:48 -05: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
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
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
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
79e53cfd10
Merge branch 'master' of git://github.com/tildearrow/furnace into tildearrow-master
...
# Conflicts:
# src/gui/insEdit.cpp
2022-02-22 09:13:49 +01:00
tildearrow
df35b8fb45
add register view
...
supported chips only.
2022-02-21 22:31:27 -05:00
Waldemar Pawlaszek
6e79e84e53
Added panning and load LFSR commands.
2022-02-21 19:59:09 +01:00
tildearrow
b9832abbeb
license clarification, part 3
2022-02-14 22:12:20 -05:00
tildearrow
4ce116ca0a
prepare for macro release points
...
issue #142
2022-02-08 03:50:42 -05:00
tildearrow
584b8426ff
GUI: improve debug menu
2022-02-03 18:38:57 -05:00
tildearrow
f03ed7c833
NES: add hardware sweep effect
2022-02-01 18:28:48 -05:00
tildearrow
d691ec6d76
add a chip playground
...
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow
bfed0b3209
change setPAL to setFlags
2022-01-28 12:59:53 -05:00
tildearrow
ec66b7a21b
add song tuning
...
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow
0e633ea69b
GUI: add a debug window
2022-01-27 00:29:16 -05:00
tildearrow
858d5343b8
earliest VGM export!
...
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow
730561d3a3
arcade: add effects to control AMD/PMD
2022-01-20 17:54:11 -05:00
tildearrow
751f6d025a
prepare to add effect descriptions
2022-01-20 13:48:20 -05:00
tildearrow
75ce5f4e2a
add auto-envelope mode (29xy effect)
...
this closes #32
2022-01-20 03:23:03 -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
345962092e
add notifyWaveChange
...
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow
6d9f5db6a4
add notifyInsChange
...
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow
8b89f1b516
prepare for writing register dumps
2022-01-17 13:29:35 -05:00
tildearrow
12236248dd
prepare for eventual export
2022-01-16 23:21:27 -05:00
tildearrow
0e2230d036
hopefully finish the SAA1099 platform
2022-01-14 23:26:22 -05:00
tildearrow
0545775de6
prepare for better ins del safety
2022-01-13 17:40:29 -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
7080434ed4
this does not compile
2022-01-08 16:03:32 -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
997c460fc1
greatly improved playback resume
...
no more song weirding out when changing orders
2021-12-21 01:29:07 -05:00
tildearrow
b3b66ecbdb
channel mute/solo!
2021-12-18 03:25:42 -05:00
tildearrow
c54df74df1
GUI: rate change and new window title
2021-12-15 17:32:08 -05:00
tildearrow
52087edceb
lots of changes
...
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow
f39e2ea112
GUI: play/stop/change order
2021-12-11 03:34:43 -05:00
tildearrow
442180956c
neo geo: more work
2021-12-09 17:06:28 -05:00
tildearrow
e2a41974ff
PCM sample bank support
2021-12-09 03:13:37 -05:00
tildearrow
defaf7397a
arcade: finish it up
...
0.12 feature parityyyyyyyy!
2021-12-09 00:46:48 -05:00
tildearrow
7ac225e839
arcade: even more work
...
PCM tonight
2021-12-08 18:29:50 -05:00
tildearrow
6a02754996
add PAL flag to dispatch
...
now platforms run at their correct clock speed when in PAL mode
also fix clipping in Genesis
2021-12-08 01:56:40 -05:00
tildearrow
65ab3a2b5d
keyOffAffectsArp is now per-channel
2021-12-08 00:33:00 -05:00
tildearrow
3ee761fc87
C64: finish it all
...
all modules play correctly, bar:
- motherfunksignal (almost)
- filters are a bit weird
2021-12-07 01:23:57 -05:00
tildearrow
c26bb511d7
dispatch: fix small mistake
2021-12-06 21:12:16 -05:00
tildearrow
d6fb6b0bb3
more optimization
...
as of now non-stereo sound chips are only processed once
2021-12-06 16:51:18 -05:00
tildearrow
6efcfc2e8a
prepare for possible major optimization
...
by just forwarding an output buffer to the dispatch and begin/length,
the number of calls may be reduced which improves performance.
2021-12-06 05:21:42 -05:00
tildearrow
0f3f173b6e
rework some of the playback logic
...
paving the way for C64
2021-12-05 16:11:12 -05:00
tildearrow
99e59278ad
PCE: kind of implement LFO
2021-06-09 01:08:42 -05:00
tildearrow
0b8fcc6e8d
genesis: implement 10xx command
2021-06-05 23:27:02 -05:00
tildearrow
83ce4f0ebe
game boy progress, part 5
...
now with almost accurate arpeggios.
2021-05-28 00:36:40 -05:00
tildearrow
471cd2d68d
add some view modes and fix a slide bug
2021-05-19 02:05:24 -05:00
tildearrow
9736b77401
better volume slide accuracy
...
volume slide seems to be kind of quirky:
- sliding all the way down and then up suddenly sets the vol to max
- apparently there is an overflow and the slide stops when it reaches
its boundaries (instead of continuing)
2021-05-17 15:06:11 -05:00
tildearrow
67847d79cf
attempt to fix the volume slide mess
...
also a fix to noise arps in basic mode in SMS
the volume slides will be an adventure as the behavior seems to be hard
to determine
2021-05-17 03:06:45 -05:00
tildearrow
53975349e5
more. SMS. fixes.
2021-05-17 01:51:14 -05:00
tildearrow
dbc2e6285f
a lot of work
...
- round to nearest instead of round to zero in SMS period calc
- implement arpeggio
- implement arp macro (kinda)
- polish the SMS platform
- correct the DIV_CMD_PITCH range to 1 semitone
- fix PSG volume in Genesis
- use a better register write strat in Genesis
- fix a bug caused by legacy code
- implement ECxx command
- implement EDxx command
- implement SN noise mode command
- vibrato table is now 64 positions long (instead of 60)
2021-05-16 03:03:23 -05:00
tildearrow
9a97c38cc6
implement more effects and bugfixes
...
enough to play time trax intro near flawless
2021-05-15 03:13:21 -05:00
tildearrow
eb692ca9a9
implement several effects
...
volume slides, vibrato, slides and portamento
2021-05-14 14:16:48 -05:00
tildearrow
775b88dae2
more playback work
2021-05-14 03:23:40 -05:00
tildearrow
45a6d70479
massive improvements to genesis playback
2021-05-13 02:39:26 -05:00
tildearrow
a68f8d0dec
add some basic playback code!
...
here it begins
2021-05-12 05:22:01 -05:00
tildearrow
f810fc0c3c
earliest playback
...
no sound, just terminal output
2021-05-12 03:58:55 -05:00
tildearrow
783d56c72a
initial commit
...
took me a day to make the base...
...and ~12 hours to write a reader that reads 100% of all demo songs in
1.0
2021-05-11 15:08:08 -05:00