tildearrow
c682c921a1
fix compatible-style retrigger
2022-02-03 15:43:41 -05:00
tildearrow
5086bc1097
implement the linear pitch flag
2022-02-03 02:24:11 -05:00
tildearrow
ccfe3bdd97
Genesis: add ability to use ymfm instead of Nuked
2022-02-02 23:08:45 -05:00
tildearrow
545f3ffdf4
Genesis: add DAC distortion flag
2022-02-02 03:06:30 -05:00
tildearrow
d691ec6d76
add a chip playground
...
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow
f29d4bce1b
implement 11xx effect on FM platforms
...
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow
4f5d37d415
VGM export: fix Genesis samples wrongly pitched
2022-02-01 03:23:29 -05:00
tildearrow
bf9eb8b0a4
fix two possible pitch slide regressions
...
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow
822d542350
limit volume macro to system maximum
...
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow
b6da7871d4
make the flags option actually work
2022-01-29 00:20:27 -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
5eb974456d
Arcade: implement FM macros
2022-01-27 02:17:09 -05:00
tildearrow
0e633ea69b
GUI: add a debug window
2022-01-27 00:29:16 -05:00
tildearrow
1347d16da4
Genesis: fully implement volume macro
2022-01-26 18:03:08 -05:00
tildearrow
f86838df99
no longer shift arpeggio macro by 12
2022-01-26 15:53:52 -05:00
tildearrow
8bcab6e139
VGM export: write resets and GD3 tag
...
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow
d945e5299a
Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6'
2022-01-24 15:53:02 -05:00
tildearrow
bd8c06bbb7
prevent crash when playing empty sample
...
fixes #62
2022-01-24 15:47:39 -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
524f8c312e
Genesis: implement arp macros
2022-01-23 15:55:12 -05:00
tildearrow
45d9bef2a8
Genesis: restore LFO value when changing order
2022-01-23 15:15:46 -05:00
tildearrow
cd2854d027
it works
2022-01-23 15:12:00 -05:00
tildearrow
b39b1c0a25
Genesis: implement FM macros (partial, untested)
2022-01-23 13:19:19 -05:00
tildearrow
d62b111c78
Genesis: separate channel state from instrument
...
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00
tildearrow
371c23a7ee
Genesis: fix sample desync when muting DAC channel
2022-01-22 02:36:58 -05:00
tildearrow
05bbfaced2
get rid of a debug message
2022-01-20 16:41:18 -05:00
tildearrow
917c9cf2e3
Genesis: allow sample preview
2022-01-20 16:40:18 -05:00
tildearrow
0f28ae0fee
implement Furnace-style PCM on Arcade/Gen/NES/PCE
2022-01-20 16:09:05 -05:00
tildearrow
4ee17d35cd
implement sample loop on the rest of systems
2022-01-20 02:46:28 -05:00
tildearrow
f98662d329
slide accuracy fixes
2022-01-19 01:27:32 -05:00
tildearrow
e87239f8ce
fix retrigger implementation
...
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow
6d9f5db6a4
add notifyInsChange
...
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow
ce027d99f6
force insChanged on note input
...
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow
12236248dd
prepare for eventual export
2022-01-16 23:21:27 -05:00
tildearrow
91e8ff01cf
add notifyInsDeletion
...
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -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
d766c4aaf0
finally do EFxx right
...
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow
65444d4a99
el diego 2 finally plays back correctly
...
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow
7ba8607270
changes to sample rate storage
...
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.
this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow
726b457ae7
another uninitialized variable
2021-12-21 16:02:31 -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
3a0e94df5e
genesis: fix muting the PCM channel
2021-12-19 00:51:10 -05:00
tildearrow
efd5e844ce
genesis: fix massive bug when muting SN
2021-12-19 00:49:47 -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
2f813c55e0
GUI: instrument selector
2021-12-11 16:44:02 -05:00
tildearrow
a17e91955a
add reset() for every platform
2021-12-11 13:14:38 -05:00
tildearrow
248cc6d37a
properly handle note off in PCM
2021-12-09 03:25:00 -05:00
tildearrow
e2a41974ff
PCM sample bank support
2021-12-09 03:13:37 -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
145403e7dd
Merge branch 'master' of github.com:tildearrow/furnace
2021-12-06 16:52:03 -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
ce4b6c7044
genesis: comment out two debug messages
2021-12-06 03:26:33 -05:00
tildearrow
055b4f9c26
genesis: fix delay bug
2021-12-06 03:07:29 -05:00
tildearrow
8478481466
hmmm
2021-12-06 02:59:12 -05:00
tildearrow
b30c5679ae
genesis: reduce CPU usage
...
the chip uses TDM to output the channels one by one
so we just run the chip 6 times and output at 1/6th the rate, which
means less work for blip_buf and less C++ overhead
2021-06-09 01:57:12 -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
892ea33e77
game boy progress, part 3
2021-05-27 23:03:10 -05:00
tildearrow
26463fd8d9
better pitch slides
...
now digital warmth doesn't choke at the toms
2021-05-19 14:39:39 -05:00
tildearrow
09ed99f0b0
genesis extended channel 3 support.
...
as of today Furnace is able to play most Genesis songs without trouble.
bugs are expected, and fixes will arrive.
are you ready?
2021-05-18 16:02:49 -05:00
tildearrow
c766f98719
implement arp speed and arp tick
2021-05-18 02:53:59 -05:00
tildearrow
c0f7f12c89
misc fixes and new effects
...
- fix 8-bit samples
- 0C effect
- E3 effect
2021-05-18 02:29:17 -05:00
tildearrow
b2908413fe
FM: better pitch slide accuracy
...
so... it appears that pitch slides in Genesis system aren't truly linear
instead, they are "kind of linear". the frequency isn't linear, and when
it overflows the range of an octave, the high bit changes and the
frequency is shifted right
2021-05-18 01:20:38 -05:00
tildearrow
b34321b556
fix a tiny TL misbehavior
2021-05-18 00:43:00 -05:00
tildearrow
cf7aa9139c
TL change on out op fix
2021-05-17 16:32:56 -05:00
tildearrow
98180c3d23
now fix the volume slides in FM as well
2021-05-17 15:51:12 -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
bbd175e8f6
a
2021-05-16 20:49:56 -05:00
tildearrow
3a1019a08c
more fixes and tweaks
...
memory management party
2021-05-16 20:49:54 -05:00
tildearrow
2532401265
prepare for ch3 mode
2021-05-16 17:43:10 -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
f2c70df4a8
bind SMS platform to Genesis one
2021-05-15 16:59:57 -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
d57a30e717
optimize by 0%
2021-05-13 13:22:44 -05:00
tildearrow
c5fa0a3d6d
it doesn't...
2021-05-13 03:18:54 -05:00
tildearrow
cb1c96ff1d
add a register write cache
...
improves quality and... wait!
2021-05-13 03:09:56 -05:00
tildearrow
45a6d70479
massive improvements to genesis playback
2021-05-13 02:39:26 -05:00
tildearrow
ea5c28829e
or
2021-05-12 19:18:48 -05:00
tildearrow
062a9837c0
G E N E S I S
...
without SN
2021-05-12 17:19:18 -05:00