tildearrow
ebb28d912b
untested saving code and memory leak fix
2021-12-15 14:15:44 -05:00
tildearrow
2879b5e4d0
arcade: add ymfm-based core
...
less CPU usage at the cost of some quality
2021-12-15 01:23:58 -05:00
tildearrow
8de60fe2a6
arcade pitch oddity
2021-12-15 00:50:32 -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
29d7be032a
neo geo: remove debug spam
2021-12-14 21:47:44 -05:00
tildearrow
f145f8c7d4
GUI: note and value input!!
2021-12-14 17:45:37 -05:00
tildearrow
95e3a098d0
add Neo Geo extended channel 2 support
2021-12-14 14:31:57 -05:00
tildearrow
004e8341c2
reset on end of song
2021-12-14 13:16:35 -05:00
tildearrow
28a9d2c4a3
now the GUI
2021-12-14 12:40:26 -05:00
tildearrow
bde8a7f79d
warning-free compilation
2021-12-14 12:33:26 -05:00
tildearrow
9da9ed3cd7
GUI: make it dockable
2021-12-14 04:45:44 -05:00
tildearrow
7a70ccfe2e
use docking branch
2021-12-13 20:55:40 -05:00
tildearrow
3af0a9feda
set default time base of song to 0
2021-12-13 20:31:27 -05:00
tildearrow
9e2e02a12e
GUI: colored pattern view
2021-12-13 17:09:46 -05:00
tildearrow
60f06d2908
fix build...
2021-12-13 14:51:35 -05:00
tildearrow
285cc9b766
allow running GUI without loaded module
2021-12-13 14:40:03 -05:00
tildearrow
6b499fbc79
GUI: channel namws
2021-12-13 13:10:56 -05:00
tildearrow
efde2c5798
earliest pattern view
2021-12-13 02:03:36 -05:00
tildearrow
9a1683bb45
GUI: C64 and game boy ins edit UI
2021-12-12 18:19:43 -05:00
tildearrow
63fe2e2c95
fix output to audio file
2021-12-12 15:22:27 -05:00
tildearrow
4b32599237
GUI: macro editor (kind of) and order view
2021-12-12 04:21:09 -05:00
tildearrow
926178414c
GUI: prepare for standard ins editor
2021-12-11 17:49:55 -05:00
tildearrow
1d2c129c01
GUI: a rough FM ins editor
2021-12-11 17:41:32 -05:00
tildearrow
93c88a093f
fix volume regression
2021-12-11 16:51:34 -05:00
tildearrow
2f813c55e0
GUI: instrument selector
2021-12-11 16:44:02 -05:00
tildearrow
1bf64c4f4f
NES; don't crash
2021-12-11 13:34:29 -05:00
tildearrow
5ffccc5019
GUI: compile with no GUI
2021-12-11 13:34:11 -05:00
tildearrow
a17e91955a
add reset() for every platform
2021-12-11 13:14:38 -05:00
tildearrow
f39e2ea112
GUI: play/stop/change order
2021-12-11 03:34:43 -05:00
tildearrow
9b850c1763
GUI: earliest ever GUI
2021-12-11 03:11:40 -05:00
tildearrow
e8ac2947ab
prepare for the GUI!
2021-12-11 02:10:09 -05:00
tildearrow
d4fb9bac83
dev10
2021-12-11 01:56:25 -05:00
tildearrow
dec100b8aa
YMU759: interpret time base correctly
2021-12-11 00:37:22 -05:00
tildearrow
6858742d7b
fix sombras
2021-12-11 00:08:44 -05:00
tildearrow
20a9282efe
neo geo: finish it up
2021-12-10 23:41:00 -05:00
tildearrow
fbd94bbce9
neo geo: ADPCM!!
2021-12-10 22:51:50 -05:00
tildearrow
a95ee7b7ba
neo geo: found the problem
2021-12-10 15:16:58 -05:00
tildearrow
e365aa4bdb
more neo geo stuff
2021-12-10 04:22:13 -05:00
tildearrow
442180956c
neo geo: more work
2021-12-09 17:06:28 -05:00
tildearrow
d789ae759e
neo geo let's goooooo
2021-12-09 13:25:02 -05:00
tildearrow
6cc0d58624
get things ready for neo geo
2021-12-09 03:37:31 -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
e3f14f3850
1-byte offset should be safe
2021-12-09 02:58:53 -05:00
tildearrow
2dcf5f890e
PCE: note off disables PCM mode
2021-12-09 02:54:14 -05:00
tildearrow
daed339e07
add a save function
...
and it loads on DefleMask!
2021-12-09 02:38:55 -05:00
tildearrow
d395abe47f
actually obey the orders
2021-12-09 01:44:40 -05:00
tildearrow
13c6362edb
dev9
2021-12-09 01:24:33 -05:00
tildearrow
b358338613
arcade: minor optimization
2021-12-09 01:03:05 -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
6dcc3416ee
arcade: a bit of extra work
2021-12-08 17:54:14 -05:00
tildearrow
aff0afa7d1
prepare for arcade platform!
2021-12-08 17:40:35 -05:00
tildearrow
f5a22c9d42
macroInt: reset will vars
2021-12-08 03:17:17 -05:00
tildearrow
9362cfa481
add clock drift for exact tempo
2021-12-08 02:57:41 -05:00
tildearrow
db2bfb8aa3
don't eat the last row in audio file out
2021-12-08 02:22:19 -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
fe5f8afa05
uninitialized variables? oh my!
2021-12-08 01:31:35 -05:00
tildearrow
4eec990ec1
when the fix breaks something
2021-12-08 01:16:29 -05:00
tildearrow
db46dd79d2
honor arpeggio macro during legato
2021-12-08 00:56:46 -05:00
tildearrow
0ca761d7fd
aaaaagain
2021-12-08 00:37:23 -05:00
tildearrow
65ab3a2b5d
keyOffAffectsArp is now per-channel
2021-12-08 00:33:00 -05:00
tildearrow
5fbaf71105
one thing is fixing bugs
...
another is bugging fixes
2021-12-08 00:27:20 -05:00
tildearrow
50f6bb536f
treat ED00 correctly
2021-12-07 16:58:23 -05:00
tildearrow
1d390b705b
fix rael again
...
only count the first pattern jump command
2021-12-07 16:32:20 -05:00
tildearrow
3f5b0019dc
C64: fix rael
2021-12-07 16:25:42 -05:00
tildearrow
655ad5139d
PCE: remove clip clicks
2021-12-07 14:29:48 -05:00
tildearrow
d0ce05c8d4
acknowledgements
2021-12-07 13:01:59 -05:00
tildearrow
b689d51ec9
audio file output stereo support
2021-12-07 12:33:55 -05:00
tildearrow
f71ee6b45d
preliminary audio file output
2021-12-07 12:21:23 -05:00
tildearrow
7649b845aa
prepare for file output
2021-12-07 04:39:52 -05:00
tildearrow
4cba677c04
i know a better way
2021-12-07 04:32:42 -05:00
tildearrow
7490ed89a1
Revert "Revert "prepare to add file out - does not compile!""
...
This reverts commit ada8e71884
.
2021-12-07 04:22:36 -05:00
tildearrow
ada8e71884
Revert "prepare to add file out - does not compile!"
...
This reverts commit 45b202b85b
.
2021-12-07 04:20:11 -05:00
tildearrow
45b202b85b
prepare to add file out - does not compile!
2021-12-07 03:52:41 -05:00
tildearrow
7d24b10da4
dev8
2021-12-07 01:26:50 -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
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
18fb2a4b9f
C64: more work!
2021-12-06 03:26:39 -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
1ac45e27a2
delete several unneeded files
2021-12-05 17:16:30 -05:00
tildearrow
480b26c95c
more C64 work
2021-12-05 16:45:29 -05:00
tildearrow
24956e8177
Merge branch 'master' of github.com:tildearrow/furnace
2021-12-05 16:21:28 -05:00
tildearrow
0f3f173b6e
rework some of the playback logic
...
paving the way for C64
2021-12-05 16:11:12 -05:00
tildearrow
e52f5c9147
wow
2021-12-05 01:30:33 -05:00
tildearrow
ff07a19405
kind of C64
2021-12-04 23:55:28 -05:00
tildearrow
2f7001681c
prepare for C64 platform!
2021-12-04 02:42:22 -05:00
tildearrow
760fa43a4f
fill in a blank line
2021-12-04 02:34:13 -05:00
tildearrow
796f9b0cf5
one more fix!
2021-12-04 02:28:15 -05:00
tildearrow
6599eb4f7e
many fixes to NES system playback
2021-12-04 02:19:14 -05:00
tildearrow
3286c3c0c5
NES system! almost
2021-12-04 01:19:54 -05:00
tildearrow
c543553b0f
prepare for NES platform
2021-12-03 16:04:07 -05:00
tildearrow
86131bf05e
add a log level flag
2021-06-09 12:28:46 -05:00
tildearrow
2be720540f
dev7
2021-06-09 03:33:44 -05:00
tildearrow
f7080bb2c1
add parameter parsing
2021-06-09 03:33:03 -05:00
tildearrow
fa445d8614
GB: reduce CPU usage
...
SameBoy works faster if you do multiple runs in the acquire function
2021-06-09 02:17:04 -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
cf6b213d2c
even more ancient version compatibility
2021-06-09 01:52:00 -05:00
tildearrow
5b707eeeec
better ancient version sample support
2021-06-09 01:16:26 -05:00
tildearrow
99e59278ad
PCE: kind of implement LFO
2021-06-09 01:08:42 -05:00
tildearrow
480ddf489a
dummy: more work
2021-06-09 00:10:23 -05:00
tildearrow
1edd633422
PCE: now for 8-bit samples aaaaa
2021-06-08 23:17:38 -05:00
tildearrow
451c35f41b
PCE: sample playback
2021-06-08 23:16:29 -05:00
tildearrow
5b2684b5e1
PCE: the adventures of missing wavetables
2021-06-08 22:21:05 -05:00
tildearrow
cd1851606e
PCE: the adventures of arp fail
2021-06-08 21:49:24 -05:00
tildearrow
8f3b9e03da
PCE: make the noise actually work
2021-06-08 21:25:07 -05:00
tildearrow
8b9da366e4
PCE: implement noise, wave and pan commands
...
TODO: actually implement noise mode very well
2021-06-08 20:45:38 -05:00
tildearrow
8dffdca25a
PCE: more work
2021-06-08 16:46:27 -05:00
tildearrow
1379b4c935
PCE: now prepare for volume
2021-06-07 03:42:18 -05:00
tildearrow
c0e4e20b3e
finally, episode 2
...
now we really output the wave
2021-06-07 03:05:42 -05:00
tildearrow
9e72d4580f
FINALLY SOUND
2021-06-07 02:49:43 -05:00
tildearrow
d74fa698af
prepare for PC Engine platform
...
using Mednafen core
2021-06-06 14:02:38 -05:00
tildearrow
0b8fcc6e8d
genesis: implement 10xx command
2021-06-05 23:27:02 -05:00
tildearrow
2bff8ae753
what the?
...
panning 00 mutes channel in GB?
2021-05-28 19:59:42 -05:00
tildearrow
5b9a0c3ee9
win32 lean and mean
2021-05-28 15:57:07 -05:00
tildearrow
2d3580a05c
fix windows build for once
2021-05-28 15:25:55 -05:00
tildearrow
2a379f3adc
dev6
2021-05-28 03:05:37 -05:00
tildearrow
acfd9fabd0
lower the game boy volume
2021-05-28 02:53:28 -05:00
tildearrow
fedb8cdd94
out of bounds
2021-05-28 02:49:01 -05:00
tildearrow
09371f9205
more game boy playback fixes
...
including fixing the arp+slide thing
2021-05-28 02:30:09 -05:00
tildearrow
23dc645ced
out of bounds and non-determinism fixes
...
the soldiers play properly now
2021-05-28 02:02:54 -05:00
tildearrow
485c4bbadc
micro fix
2021-05-28 01:30:18 -05:00
tildearrow
fc87899aa8
implement the final game boy bits
2021-05-28 01:26:57 -05:00
tildearrow
83ce4f0ebe
game boy progress, part 5
...
now with almost accurate arpeggios.
2021-05-28 00:36:40 -05:00
tildearrow
c6e42739fc
game boy: tune to 440Hz
2021-05-27 23:41:35 -05:00
tildearrow
f2af1c9a07
remove some debug messages
2021-05-27 23:34:54 -05:00
tildearrow
831d2c99fb
game boy progress, part 4
...
waves are proper now
2021-05-27 23:33:04 -05:00
tildearrow
892ea33e77
game boy progress, part 3
2021-05-27 23:03:10 -05:00
tildearrow
d6398ac10e
game boy progress, part 2
2021-05-27 16:47:09 -05:00
tildearrow
a1ab7c5d57
game boy progress, part 1
...
noise and wave channels don't play correctly yet
2021-05-27 13:30:37 -05:00
tildearrow
c78cc8c676
finally output envelopes
...
apparently emulating the timers was necessary after all...
2021-05-27 05:06:43 -05:00
tildearrow
fff64acf09
prepare for fix
2021-05-27 04:36:56 -05:00
tildearrow
a2e64606c0
wire up early GB support
...
TODO: check why are envelopes not working
2021-05-26 17:43:14 -05:00
tildearrow
c2b3d85f77
bind the game boy
...
TODO: sound
2021-05-26 03:17:12 -05:00
tildearrow
30692985dc
more slide fixes
...
we are closer and closer
2021-05-26 02:34:40 -05:00
tildearrow
42cd300b46
remove unused things in gb.h
2021-05-26 02:09:31 -05:00
tildearrow
b499878c24
add a define for SN noise start value
...
some SN chips have the start value set to an Atari-like one
2021-05-26 02:09:18 -05:00
tildearrow
6c7383f39b
fix mastertracker again
...
arpeggio broke
2021-05-26 02:06:40 -05:00
tildearrow
3c20bffd46
prepare for game boy platform
...
using SameBoy code (MIT License)
2021-05-22 21:10:25 -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
79f15fcbd8
fix a silly bug
...
TODO: apparently this song requires accurate porta...
2021-05-19 03:09:51 -05:00
tildearrow
f26307f11b
more slide headache
2021-05-19 02:22:26 -05:00
tildearrow
ba2c4f46c6
oh come on OFF stops arpeggio?!
2021-05-19 02:06:13 -05:00
tildearrow
471cd2d68d
add some view modes and fix a slide bug
2021-05-19 02:05:24 -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
d9c02531e8
implement E4 effect
2021-05-18 03:02:47 -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
ccd5acf1e4
even. more. volume. slide. fixes.
...
so it happens on >volMax too
amazing
2021-05-18 01:52:03 -05:00
tildearrow
38b16fe5ae
fix porta up/down
2021-05-18 01:37:14 -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
ba8c6d8169
it builds on GCC again
2021-05-17 19:18:59 -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
ceda9a8058
the final volume fix i think
...
all 5 test cases pass
2021-05-17 15:36:14 -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
0caaa1629c
are you kidding me?
2021-05-17 00:36:09 -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
fbc29e1106
A#7 SMS oddity
2021-05-16 20:10:52 -05:00
tildearrow
2532401265
prepare for ch3 mode
2021-05-16 17:43:10 -05:00
tildearrow
5a8e20fcd1
arp fixed mode
2021-05-16 12:47:05 -05:00
tildearrow
4662e567c2
fix delayed note cut
2021-05-16 03:20:32 -05:00
tildearrow
577c2dbb2f
bump the version number
2021-05-16 03:04:06 -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
3172fd37ed
more SMS work
...
it is able to play some modules... the next step is to bind this to the
Genesis platform
2021-05-15 16:42:48 -05:00
tildearrow
d9f076ef64
prepare to add SMS platform
...
plays but no macro yet
2021-05-15 14:18:16 -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
5b002ca1d5
add SN chip ported from MAME
2021-05-14 03:23:12 -05:00
tildearrow
d57a30e717
optimize by 0%
2021-05-13 13:22:44 -05:00
tildearrow
76a345ef25
rebranding
2021-05-13 03:22:57 -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
2f8a7c3dab
dev1
2021-05-12 17:27:48 -05:00
tildearrow
062a9837c0
G E N E S I S
...
without SN
2021-05-12 17:19:18 -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
9d17655836
engine audio fixes
2021-05-11 18:23:35 -05:00
tildearrow
8c014802c9
convert chars to signed/unsigned
2021-05-11 15:26:38 -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