Commit Graph

46 Commits

Author SHA1 Message Date
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
cam900 cf1d4e55cf Fix ADPCM-A playback
Add per-chip debug function
Add YM2203, YM2608, YM2610/B debug window
Extend YM2612 debug window
Remove unnecessary values in YM2151, Sega PCM platform
2022-09-23 23:24:02 +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
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 d3a3473f19 commit requested changes 2022-06-06 13:32:57 -05:00
cam900 ebbd9784e6 Reduce more FM codes 2022-06-06 19:40:37 +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 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
Laurens Holst 7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
tildearrow 47f83c0472 per-channel oscilloscope, part 7
YM2610 and YM2610B
only TIA is left
2022-05-01 03:47:04 -05:00
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
tildearrow 2e327953e8 YM2610(B): AY unification
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
cam900 f3e4810dda Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
Fix sample check routine
Remove dac* variables, No way to enable DAC mode in YM2610*
2022-03-11 03:47:36 +09:00
cam900 ac1c65fd62 Add register sheet for YM2610* 2022-02-28 04:45:55 +09:00
cam900 d64ddaadee Further fix build 2022-02-26 01:12:37 +09:00
tildearrow 35e459d9e5 Neo Geo: implement ADPCM-B 2022-02-25 00:11:27 -05:00
tildearrow df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -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 91cbf9947b NOTICE: ADPCM-B DOES NOT WORK YET
it's selectable now but the channel is useless (for now)
2022-02-10 03:35:08 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow ea796c2d6b VGM export: fix noise in Neo Geo 2022-01-24 02:57:49 -05:00
tildearrow a45c697004 now Neo Geo 2022-01-23 00:57:47 -05:00
tildearrow 4b43694db0 fix negative notes 2022-01-20 16:56:35 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38: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 b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -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 bde8a7f79d warning-free compilation 2021-12-14 12:33:26 -05:00
tildearrow f39e2ea112 GUI: play/stop/change order 2021-12-11 03:34:43 -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