Commit Graph

107 Commits

Author SHA1 Message Date
tildearrow 274ce8a646 remove many TODOs 2023-08-30 19:21:38 -05:00
tildearrow 5f2cfd4854 AY: don't use bit arrays
issue #649
2023-08-11 23:58:44 -05:00
tildearrow 708c363635 FixedQueue, part 2 2023-07-13 04:09:20 -05:00
tildearrow 9cb1fbcc45 chan osc volume balancing, part 1 2023-06-18 20:00:20 -05:00
tildearrow 29dfeccfe7 change chan osc range - PLEASE READ
as of now the range is ~32768, either from -16384 to 16383, or 0 to 32767.
it previously was -32768 to 32767 (~65536).

this change was made to better suit chips that only output a positive value.
if you are working on a new chip, update your code and shift right by one if necessary.
2023-06-16 17:30:11 -05:00
tildearrow f55dbc7376 AY: fix 5B per-chan osc 2023-05-24 01:34:01 -05:00
tildearrow 4daaaa4f2f S S G P C M
issue #1098
2023-05-05 15:34:19 -05:00
tildearrow 744ba06626 AY: fix #1079 2023-04-27 12:32:25 -05:00
tildearrow 99d2199db6 dev152 - sample map notes, part 1 2023-04-07 16:54:05 -05:00
tildearrow 6cd24a8008 implement getSamplePos() on some chips
Amiga, AY, Lynx, PCE, PCM DAC and VRC6
2023-03-19 03:56:13 -05:00
tildearrow 45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
tildearrow 5df68c2ee8 AY/AY8930: fix period overflow 2023-01-12 18:39:25 -05:00
tildearrow 3e0dcbb0ae aaaaaaaa 2023-01-02 04:53:37 -05:00
tildearrow 08d2f12dbd prepare new dispatch
will allow for more than 2 outputs
2023-01-01 19:46:08 -05:00
tildearrow 7fa5fecd38 possibly fix retrigger with sample map 2022-12-29 03:12:00 -05:00
cam900 75b0ed7af1 Add some PC-88 presets, with external soundcard(s)
Added AY clock (1.9968MHz) for PC-88
reference:
http://mydocuments.g2.xrea.com/html/p8/soundinfo.html,
https://www.dtmstation.com/archives/52016817.html
2022-12-19 18:07:43 +09:00
tildearrow 2600d4c576 new arp strategy, part 2 2022-12-17 02:10:20 -05:00
tildearrow 6f22ade69a new arp strategy, part 1 2022-12-17 02:07:24 -05:00
tildearrow 3eb3d8a6f1 prepare for new arp strategy 2022-12-17 01:21:08 -05:00
tildearrow 9da46ee8ba implement macro masking 2022-12-17 00:09:56 -05:00
tildearrow c6604ff581 add ability to select custom clock rates 2022-12-04 02:04:42 -05:00
tildearrow d981e59c59 (12*sampleBank+c.value%12) 2022-10-04 00:46:16 -05:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
tildearrow 07822de0a2 curr -> cur 2022-09-25 17:31:01 -05:00
cam900 b8d2c51a14 Fix AY89x0 regression 2022-09-26 07:28:04 +09:00
cam900 68b58a0d1b Fix AYPCM
Enable new sample functions to default
2022-09-25 13:16:47 +09:00
tildearrow 3992a1c677 AY: clockSel PCM fix 2022-09-23 23:29:19 -05:00
tildearrow 70825dc45a AY: reduce PCM clicking 2022-09-23 23:12:39 -05:00
tildearrow b72b5bf0e6 A Y P C M 2022-09-23 20:15:20 -05:00
tildearrow bc4c8acd87 AY PCM still doesn't work so I am leaving a note 2022-09-23 19:34:44 -05:00
tildearrow eb8849ce63 add disableSampleMacro flag for compatibility 2022-09-23 19:18:32 -05:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
tildearrow 9685a5c0d8 AY: add stereo separation slider 2022-09-22 00:18:40 -05:00
tildearrow e1890173b2 GUI: implement channel volume bar 2022-09-20 02:32:23 -05:00
cam900 d82d7255d1 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-31 19:18:15 +09:00
tildearrow 3af287cf9d AY: fix per-chan osc in Sunsoft 5B mode 2022-08-29 04:15:53 -05:00
cam900 3fcccb52ee Reduce performance issue 2022-08-28 10:50:57 +09:00
cam900 a411e34a62 Performance adjusts 2022-08-28 09:59:56 +09:00
cam900 8f804f6e6b Correct pitch to sample preview 2022-08-27 18:20:33 +09:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900 4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
Natt Akuma 7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow b39924c9d6 AY: TODO fix wtr_envelope.dmf 2022-07-05 01:16:25 -05:00
tildearrow f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow 5a1a583ab0 AY: finally fix unmuting 2022-06-20 18:53:39 -05:00
cam900 25af023dc6 Various corrections and fixes
Fix SN PSG pitch corrections
Revive YM2612 from dead
Add Game Gear stereo function finally
Add OPN/A prescaler config
2022-06-17 14:30:18 +09:00
cam900 35caab6f82 Merge branch 'master' into preset1 2022-06-06 19:09:12 +09:00
cam900 e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00