Commit graph

216 commits

Author SHA1 Message Date
cam900 d1aeabe464 Fix compile 2022-06-06 19:26:34 +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
tildearrow 91621fe0f5 YM2612: DualPCM per-channel osc
fixes #516
2022-06-04 01:03:58 -05:00
tildearrow a550c4cb30 YM2612: more DualPCM muting fixes 2022-06-04 01:00:29 -05:00
tildearrow 641648ca0f YM2612: fix DualPCM muting
issue #516
2022-06-04 00:50:53 -05:00
tildearrow 71b4bf5fdd YM2612: CSM arpeggio and slides 2022-06-03 16:21:42 -05:00
tildearrow b4a7f0f5b7 YM2612: - C S M -
CSM only available with Nuked core
may not work on VGM export if you compress VGM (removes timer A writes)
2022-06-03 16:13:57 -05:00
tildearrow 59ba156cdf YM2612: half-working CSM 2022-06-03 15:54:49 -05:00
tildearrow 365e466611 YM2612: earliest completely untested CSM work 2022-06-03 14:10:28 -05:00
tildearrow 0895789539 YM2612: fix DAC output not visible in per-chan osc
issue #515
2022-06-03 01:47:31 -05:00
tildearrow e94d1b857f newVolumeScaling, part 2 2022-06-01 18:02:34 -05:00
tildearrow a776129c3d dev98 - YM2612: add Fractal system
partially done
2022-05-27 04:02:53 -05:00
tildearrow 0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
tildearrow 2fa51e482a OPN(A/B/2/B-B): fix absolutely everything 2022-05-22 23:47:41 -05:00
tildearrow 82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow 393d1c018d dev97 - add old octave boundary compat flag 2022-05-22 13:25:59 -05:00
tildearrow b40c95013a fix phase reset in FM chips after note off 2022-05-22 04:30:56 -05:00
tildearrow a9f9d6144a YM2612: change key on/off strategy 2022-05-20 23:54:19 -05:00
Natt Akuma b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow 0ef0296b7d fix non-linear pitch 2022-05-19 23:18:18 -05:00
tildearrow 0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow f5dbc37902 YM2612: implement full linear pitch (part 2) 2022-05-10 23:17:40 -05:00
tildearrow aad5d818f2 YM2612: early full linear pitch experiment
u n t e s t e d
2022-05-10 16:22:40 -05:00
tildearrow 5e14177e4e YM2610(B): use f-num/block baseFreq calculation
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
tildearrow 6e7b4d7e7f the final part of extra FM effects 2022-05-04 17:39:22 -05:00
tildearrow 467036df2a implement extra FM effects (OPN, OPM and OPZ)
issue #38
2022-05-04 14:09:43 -05:00
tildearrow 415e490025 per-channel oscilloscope, part 6
YM2612 and OPM (ymfm)!
2022-05-01 03:12:32 -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 ddcd486c61 YM2612: fix Furnace DAC mode glitching slides 2022-04-30 20:52:48 -05:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow 832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow 52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow 943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow 8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
cam900 68cf969600 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 16:34:23 +09:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow a43034f559 OPN: fix portaPause not resetting on new note 2022-03-29 23:58:50 -05:00
tildearrow 5dac609d92 Genesis: better DAC write algorithm
only write DAC if there aren't too many queued writes
2022-03-27 01:47:27 -05:00
tildearrow 322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
tildearrow 67d516fcee Genesis: prioritize DAC writes 2022-03-14 01:38:11 -05:00
tildearrow 716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
tildearrow 3b8388d90c YM2151/2610/2612/Game Boy: fix panning - UNTESTED 2022-03-06 14:39:20 -05:00
tildearrow 5816f01c07 Genesis: PSG clean-up
since genesis is now split into YM2612 + SN, the "psg" inside
DivPlatformGenesis becomes useless.
2022-03-02 18:25:17 -05:00
tildearrow 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
tildearrow 1e98f0c4a1 sample system rewrite! **PLEASE READ**
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...

consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.

it's nearly 4am...
2022-02-24 03:57:45 -05:00
tildearrow df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
tildearrow e697c055b6 replay keyOn in active channels during forceIns
fixes an issue when playing orders
2022-02-20 21:39:14 -05:00
tildearrow 36eaea0fa7 OPN: apply max freq limit 2022-02-17 22:07:20 -05:00
tildearrow 647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow 853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 7c80a88bbf GUI: fix debug menu a bit 2022-02-13 15:03:07 -05:00
tildearrow 6bcd3df691 oopsie 2022-02-12 21:19:38 -05:00
tildearrow 62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow 788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow cb430fc169 Genesis: fix bus overload when using ymfm core 2022-02-05 04:31:20 -05:00
tildearrow 6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -05:00
tildearrow 545f3ffdf4 Genesis: add DAC distortion flag 2022-02-02 03:06:30 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow f29d4bce1b implement 11xx effect on FM platforms
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow 4f5d37d415 VGM export: fix Genesis samples wrongly pitched 2022-02-01 03:23:29 -05:00
tildearrow bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow 822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow 5eb974456d Arcade: implement FM macros 2022-01-27 02:17:09 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow 1347d16da4 Genesis: fully implement volume macro 2022-01-26 18:03:08 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow 524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00