Commit Graph

406 Commits

Author SHA1 Message Date
tildearrow 4bbfc22c2a GUI: add/remove options 2022-01-09 16:36:47 -05:00
tildearrow 925a29249b implement Furnace format loading 2022-01-09 14:54:28 -05:00
tildearrow 0b4ad13858 more work 2022-01-09 04:42:58 -05:00
tildearrow 8d9cddde37 implement Furnace format saving
experimental and no loading yet
2022-01-09 03:52:41 -05:00
tildearrow c43cc0ae80 GUI: add option to add more systems 2022-01-08 18:18:23 -05:00
tildearrow e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -05:00
tildearrow 06c7ac92a2 earliest multi-chip support
no saving, no adding chips yet...
only the beginning
2022-01-08 17:15:12 -05:00
tildearrow 7080434ed4 this does not compile 2022-01-08 16:03:32 -05:00
tildearrow f47543ab98 prepare for multiple chip support, part 2 2022-01-08 03:02:04 -05:00
tildearrow 254bf18036 move the code a bit to load/save other formats 2022-01-08 02:22:04 -05:00
tildearrow 073703f8ba refuse to save YMU759 songs
the .dmf format no longer allows YMU759 songs...
2022-01-08 02:04:43 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow 28d3dc2691 release 0.2.2 2022-01-06 13:24:12 -05:00
tildearrow e8dc1e3c8b turn the metronome into a sine 2022-01-04 00:29:59 -05:00
tildearrow 530a9bafc7 add a metronome 2022-01-04 00:02:41 -05:00
tildearrow 943e4e374f better compatibility with old GB modules 2022-01-03 23:22:39 -05:00
tildearrow 4c8ff2edb3 fix clicks on replay 2022-01-03 03:37:58 -05:00
tildearrow 7ed1777bdc fix 128 instrument song failing to read 2022-01-03 03:35:13 -05:00
tildearrow cbc39909e4 release 0.2.1
several fixes and stuff
2022-01-01 12:45:21 -05:00
tildearrow 9a1853249b finally make the save option work 2021-12-30 18:25:55 -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 3e34c60b32 fix volume after note off 2021-12-29 00:52:20 -05:00
tildearrow 6222e0933a prepare for more settings work 2021-12-29 00:50:00 -05:00
tildearrow 8f9f37f424 are you for real right now 2021-12-28 23:10:13 -05:00
tildearrow be3b4da834 add note preview feature 2021-12-28 18:23:57 -05:00
tildearrow 0479650597 C64: fix volume not being set after skip 2021-12-28 01:20:48 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow b246000f0e better default FM instrument 2021-12-27 17:21:43 -05:00
tildearrow eb28f7f7f1 whaaaaaaaaa 2021-12-27 17:05:03 -05:00
tildearrow 772aac5806 fix crash when muting in ext ch mode 2021-12-27 16:47:37 -05:00
tildearrow 0001af3f35 hmm... 2021-12-27 16:37:33 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 4f2ce0f907 fix arpeggio macro if value<-12 2021-12-27 16:15:26 -05:00
tildearrow 1605f4f3c0 better global pitch effect
still work in progress
2021-12-27 16:15:11 -05:00
tildearrow 11478fbdfe prevent clipping in ADPCM samples 2021-12-27 15:22:57 -05:00
tildearrow f32c2fa06b early implementation of global pitch
apparently this requires a rewrite of the pitch logic...
2021-12-27 15:22:01 -05:00
tildearrow a0a27e91f3 better default wavetable 2021-12-27 15:21:38 -05:00
tildearrow 8428f7da32 GUI: make the new button work 2021-12-24 18:23:01 -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 830e880a57 GUI: colored channe names 2021-12-23 17:09:33 -05:00
tildearrow bbb0a14946 GUI: finish order buttons 2021-12-22 17:39:16 -05:00
tildearrow dbf0d3fd88 now remove debug info 2021-12-22 12:01:37 -05:00
tildearrow d92e91c5d8 fix popping ADPCM samples in Neo Geo
finally!
2021-12-22 12:00:40 -05:00
tildearrow 00b42767de fix major memory corruption bug in the safeWriter 2021-12-22 11:51:09 -05:00
tildearrow c2669f208e fix wiz lab AGAIN and implement repeat pat
0x0b + 0x0d = broken
2021-12-21 17:42:27 -05:00
tildearrow 7b360b55a7 PCE: aaand fix another bug 2021-12-21 17:21:27 -05:00
tildearrow c6ae198283 fix export crash :< 2021-12-21 16:05:21 -05:00
tildearrow 726b457ae7 another uninitialized variable 2021-12-21 16:02:31 -05:00
tildearrow 48f4f5835b add a sample preview button (hopefully)
the next commit will be about normalizing sample rate
2021-12-21 13:06:14 -05:00
tildearrow 6ee4e33b89 GUI: add status bar 2021-12-21 02:30:09 -05:00
tildearrow 5523a43804 better loop tracking 2021-12-21 02:02:25 -05:00
tildearrow 8d8f26d4f7 PCE: fix pan reset on change order 2021-12-21 01:32:26 -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 1cc9b9fe20 GUI: more more more work
error dialog boxes and drawOrders improvements
2021-12-20 23:20:30 -05:00
tildearrow 7f3885d2b1 GUI: ability to add/del effect cols and EExx value 2021-12-20 19:46:49 -05:00
tildearrow 1234dcf2bc properly load unsigned 8-bit samples 2021-12-20 16:33:10 -05:00
tildearrow 548fa2ad73 don't stop the song until it has been loaded 2021-12-20 14:20:05 -05:00
tildearrow 498fa99c5a finally fix invalid module disrupting program 2021-12-19 21:11:23 -05:00
tildearrow 245e7acd10 prepare for config management 2021-12-19 16:52:04 -05:00
tildearrow f42cfcbdc8 custom config directory 2021-12-19 03:16:24 -05:00
tildearrow fbcc9ff4be U N I N I T I A L I Z E D
the bane of a C++ programmer
2021-12-19 02:16:16 -05:00
tildearrow 8551326800 arcade: properly set AM/PM depth
fixes sixeight-v2.dmf
2021-12-19 00:57:29 -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 e35f48b7a0 and MORE bug emulation
this time the volume DOES reset back to normal if you issue an off after
a 0Axx.
fixes pads.dmf
2021-12-19 00:42:20 -05:00
tildearrow 667526e414 further improve the accuracy of 03xx 2021-12-19 00:27:04 -05:00
tildearrow 97a00c7efd improve 03xx accuracy
portamento stops if same note
2021-12-19 00:02:48 -05:00
tildearrow 9d8a2f780b GUI: add a wavetable editor 2021-12-18 17:54:26 -05:00
tildearrow beceefd34b only output playback status in console mode 2021-12-18 04:26:17 -05:00
tildearrow b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -05:00
tildearrow c4c019e593 fix E5xx range in old modules 2021-12-18 01:09:43 -05:00
tildearrow 4de343eea7 add ability to save samples 2021-12-18 01:03:59 -05:00
tildearrow 8c57eb9696 add ability to change system 2021-12-17 22:14:41 -05:00
tildearrow 289dd3e565 arcade: fix crash on high sample 2021-12-17 03:33:26 -05:00
tildearrow b6ca7e3dc7 ability to add/remove instruments/waves/samples 2021-12-17 03:33:12 -05:00
tildearrow 2baed0cff0 fix windows build... 2021-12-16 15:51:19 -05:00
tildearrow 07ab05798b remove an empty line 2021-12-16 03:09:00 -05:00
tildearrow ce71c2e9ad fix memory leak 2021-12-16 02:21:43 -05:00
tildearrow e13631b69b typooooo 2021-12-15 17:33:57 -05:00
tildearrow c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -05:00
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 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 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 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 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 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 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 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 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 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 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