Commit graph

178 commits

Author SHA1 Message Date
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 289dd3e565 arcade: fix crash on high sample 2021-12-17 03:33:26 -05:00
tildearrow c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -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 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 95e3a098d0 add Neo Geo extended channel 2 support 2021-12-14 14:31:57 -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 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 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 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 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 2dcf5f890e PCE: note off disables PCM mode 2021-12-09 02:54:14 -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 9362cfa481 add clock drift for exact tempo 2021-12-08 02:57:41 -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 65ab3a2b5d keyOffAffectsArp is now per-channel 2021-12-08 00:33:00 -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 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 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 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 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 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 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 2d3580a05c fix windows build for once 2021-05-28 15:25:55 -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 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 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 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