Commit graph

7096 commits

Author SHA1 Message Date
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
ec4a9be778 add license 2021-05-13 03:37:04 -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
4a08adf224 update gitignore for swap files 2021-05-12 05:11:41 -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