Commit Graph

4645 Commits

Author SHA1 Message Date
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