Commit Graph

213 Commits

Author SHA1 Message Date
tildearrow c0e9b48b5b per-channel oscilloscope, part 5
SAA1099 (SAASound and MAME), Lynx, MMC5, N163, PC Engine, PC Speaker,
PET, QSound, WonderSwan, VERA, VIC-20, VRC6 and X1-010!
2022-05-01 02:40:03 -05:00
tildearrow e1fd16637c per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN
plus hide unimplemented channels
2022-04-30 22:59:26 -05:00
tildearrow 1c3dcae05e per-channel oscilloscope, part 3
K00/C64/NES fixed
FDS, Game Boy and Sound Unit
2022-04-30 18:33:12 -05:00
tildearrow c738ece374 per-channel oscilloscope, part 2
AY8930, K00, C64 and NES
2022-04-30 14:36:12 -05:00
tildearrow f2b974acc5 SoundUnit: ring modulation 2022-04-27 22:57:36 -05:00
tildearrow 8db3831ab6 fix MSVC oh my 2022-04-27 05:02:18 -05:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
tildearrow 397ab43ffd C64: better muting strategy
now directly inside reSID rather than in the DivDispatch
fixes #285
2022-04-15 01:20:09 -05:00
cam900 e6d74766ca Add support of N163 demultiplexed output
so, there's to way for reduce N163 noises: reduce channel limit and demultiplex
* channel limit is runtime changeable and it makes some usable effects with disable demultiplex
* demultiplex is used for "non-ear destroyable" emulators, but less hardware accurate. (when LPF and RF filter is not considered)
Furnace support both after this, You can choose output behavior via configuration flag.
2022-04-10 20:22:49 +09:00
tildearrow 38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
OPNA2608 4c19a973ef Fix for C4805: '|': unsafe mix of type 'unsigned char' and type 'bool' in operation 2022-04-09 10:54:06 +02:00
OPNA2608 82d893082c Fix for C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 2022-04-09 10:54:06 +02:00
tildearrow dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow 96d45dafb2 OPZ: same 2022-04-07 01:04:35 -05:00
tildearrow e1b77d7e2b OPM: if the LFO rate is 0, don't clock the counter 2022-04-07 01:03:16 -05:00
tildearrow 78cd99af32 update ymfm 2022-04-07 00:57:52 -05:00
tildearrow 530327383a initial OPZ bring-up
even emulation is incomplete and one thing is making me tired...
2022-04-06 22:56:06 -05:00
Natt Akuma ba8ee96069 VIC-20: Make noise state consistent across inits 2022-04-06 19:11:45 +07:00
tildearrow 9d653b58b3 hopefully fix MSVC build 2022-04-06 04:24:20 -05:00
tildearrow 2da96a7e76 initial MMC5 bring-up 2022-04-06 00:34:12 -05:00
tildearrow ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow c26123e782 VIC-20: wait what? 2022-03-29 14:11:57 -05:00
cam900 5060c0c140
Merge branch 'tildearrow:master' into vrc6 2022-03-28 12:39:00 +09:00
cam900 7bd39603a9 Further fix 2022-03-28 12:31:42 +09:00
tildearrow 4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
cam900 5c922a090e Fix enable bit correction 2022-03-28 01:43:43 +09:00
cam900 44b4c5c5aa Spacing 2022-03-28 01:23:52 +09:00
cam900 5c5c9199c7 Channel enable bit is inverted 2022-03-28 01:22:24 +09:00
cam900 ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00
cam900 73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
cam900 4ba65d3906 Fix spacing 2022-03-23 03:17:06 +09:00
cam900 5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
Natt Akuma feb138cefc Add VIC-20 support 2022-03-22 14:48:48 +07:00
Natt Akuma 6df3d1e0df VERA: Implement PCM playback (again) 2022-03-19 20:59:17 +07:00
cam900 2c6267bd6b Merge branch 'master' of https://github.com/tildearrow/furnace into scc 2022-03-14 19:22:31 +09:00
cam900 69aeb7dd58 Add Bubble System Support
Bubble System 2 channel Wavetable sound generator logic is configuration with K005289, 4 bit PROM and DAC.
K005289 controls pitch and 5 bit address generator per channel, Waveform select and Volume control is tied to AY-3-8910 ports. (each port for per channels)
these configuration is better known as K005289, the part of logic.
furnace emulates this configurations as single system, waveform format is 15 level and 32 width.
2022-03-14 19:22:12 +09:00
Waldemar Pawlaszek e775703c44 Lynx panning swap 2022-03-12 12:16:01 +01:00
tildearrow c6fda7a156 Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010 2022-03-10 18:24:52 -05:00
tildearrow a9f80b841c VERA: add ins color and reset 2022-03-10 17:46:40 -05:00
tildearrow 6d9befaf27 yay 2022-03-10 17:30:34 -05:00
tildearrow 2f02e24a2f VERA: get rid of rand() and adapt code 2022-03-10 16:52:59 -05:00
tildearrow 9bd15bd513 VERA: bring up actual emulation core 2022-03-10 15:51:27 -05:00
cam900 8d447542e1 Use lamda 2022-03-11 02:42:27 +09:00
cam900 66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09:00
tildearrow b21aecf285 WonderSwan: make macOS happy 2022-03-07 23:38:36 -05:00
Natt Akuma b8ea64b801 Rename WS to Swan 2022-03-07 19:04:20 +07:00
Natt Akuma 840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07:00
tildearrow aa446d5c43 PCE: don't mute channel 2 when LFO is on
apparently this is hardware behavior
2022-03-03 17:03:44 -05:00
tildearrow 4ff056c64f NES: how is this not initialized?! 2022-03-01 02:38:19 -05:00
tildearrow 79c148849f QSound: fix echo
thanks superctr
2022-02-27 00:46:23 -05:00
Ian Karlsson a92c29bbdb qsound clipping fix from MAME 2022-02-23 23:51:34 +01:00
tildearrow e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
Waldemar Pawlaszek 2e45b3066a Removing unused variables 2022-02-22 21:34:56 +01:00
Waldemar Pawlaszek d07f28aec5 Compilation error fix 2022-02-22 21:12:10 +01:00
Waldemar Pawlaszek 69fb99bafd Implementing register pool. Slightly reworking emulation core. 2022-02-22 12:52:05 +01:00
Ian Karlsson b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek 37ceb1542f Further build errors correction 2022-02-21 20:43:02 +01:00
Waldemar Pawlaszek bbd8669a1a Missing license 2022-02-21 20:17:16 +01:00
Waldemar Pawlaszek de6cbba472 Fixed gcc errors 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek 8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow 5ffda66f22 NES: better channel muting 2022-02-20 21:54:03 -05:00
Waldemar Pawlaszek 2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow 67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 569de9d81a add preliminary ymfm OPZ code 2022-02-09 23:19:02 -05:00
tildearrow afe318c402 seemingly fix it 2022-01-31 17:00:52 -05:00
tildearrow 23ff23f7e7 again 2022-01-31 16:40:47 -05:00
tildearrow 9492edcdab prepare to fix AY8930 emulation 2022-01-31 16:33:45 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow 44649e3ce4 update ymfm readme 2022-01-28 22:33:42 -05:00
tildearrow 3b95baa60e Neo Geo: fix an ymfm bug... 2022-01-28 22:28:08 -05:00
tildearrow a895cb9c5e NES: fix issue for real 2022-01-26 16:07:55 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow d73c0512eb fix Microsoft C compiler build... again 2022-01-17 18:15:47 -05:00
tildearrow f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow 69be47b419 PCE: no abort 2022-01-17 16:59:34 -05:00
tildearrow d2cef16adf WHAT?! 2022-01-14 20:34:15 -05:00
tildearrow e05db17ce2 it plays notes 2022-01-14 18:19:52 -05:00
tildearrow 307665f531 prepare for SAA1099 2022-01-14 16:29:27 -05:00
tildearrow 3afb0f815d lower the volume of TIA by half 2022-01-14 14:12:49 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -05:00
tildearrow 573ce69dc7 add TIA platform
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow fea783eaac fix macOS build 2022-01-13 16:12:02 -05:00
tildearrow 0b352ecd9a add AY-3-8910 platform!
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -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 bde8a7f79d warning-free compilation 2021-12-14 12:33:26 -05:00
tildearrow 1bf64c4f4f NES; don't crash 2021-12-11 13:34:29 -05:00
tildearrow 6cc0d58624 get things ready for neo geo 2021-12-09 03:37:31 -05:00
tildearrow 9362cfa481 add clock drift for exact tempo 2021-12-08 02:57:41 -05:00
tildearrow 1ac45e27a2 delete several unneeded files 2021-12-05 17:16:30 -05:00
tildearrow 2f7001681c prepare for C64 platform! 2021-12-04 02:42:22 -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 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 2d3580a05c fix windows build for once 2021-05-28 15:25:55 -05:00
tildearrow 892ea33e77 game boy progress, part 3 2021-05-27 23:03:10 -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 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 3a1019a08c more fixes and tweaks
memory management party
2021-05-16 20:49:54 -05:00
tildearrow d9f076ef64 prepare to add SMS platform
plays but no macro yet
2021-05-15 14:18:16 -05:00
tildearrow 5b002ca1d5 add SN chip ported from MAME 2021-05-14 03:23:12 -05:00