Commit graph

238 commits

Author SHA1 Message Date
tildearrow
351c22cb77 sysDef refactor, part 1 - PLEASE READ NOTE
THIS WILL NOT COMPILE!!!
i'm still working on it

to @cam900: DO NOT PULL TO YOUR ES5506 BRANCH YET - wait until I am done
with this refactor

to @grauw: DO NOT PULL TO YOUR OPL4 BRANCH YET - wait until I am done
with this refactor
2022-04-26 18:32:33 -05:00
tildearrow
2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow
bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow
23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
tildearrow
dd8df45519 update format.md with more clarifications 2022-04-16 18:01:12 -05:00
tildearrow
fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow
17d06de55c allocate SCC+ channel ID 2022-04-12 15:13:02 -05:00
tildearrow
bd49daad48 another format.md update 2022-04-12 15:06:11 -05:00
tildearrow
b69b456ef8 update format.md 2022-04-12 14:57:55 -05:00
tildearrow
24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
tildearrow
9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow
7e4890d0ea effects back on its orig place for now 2022-04-08 16:10:49 -05:00
freq-mod
c381b60143
Update saa1099.md 2022-04-08 23:03:02 +02:00
freq-mod
e10a410cf1
some docs improvemets 2022-04-08 22:59:51 +02:00
freq-mod
89455959fc
slightly improve fds docs 2022-04-08 22:34:13 +02:00
tildearrow
65f893822a dev79 - wave synth data storage
also wave synth works on swan and X1-010 now
however it's untested on X1 because i wrote it in bed
2022-04-08 04:34:39 -05:00
tildearrow
ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow
b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -05:00
tildearrow
58abed3fa1 update pattern format spec 2022-04-06 20:21:20 -05:00
tildearrow
7f51f0f246 update system list in doc 2022-04-06 00:45:56 -05:00
tildearrow
91738dbf23 add MMC5 documentation 2022-04-06 00:45:26 -05:00
tildearrow
280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow
ccb8d3d355 dev76 - format changes
- 8 more macros
- FDS instrument data
2022-04-04 04:47:52 -05:00
tildearrow
1a7074d0e5 Furnace system IDs are no longer compatible 2022-04-03 13:54:02 -05:00
tildearrow
d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -05:00
tildearrow
25b07fb4f1 typo fixes 2022-03-27 22:18:50 -05:00
tildearrow
4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow
075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -05:00
tildearrow
c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900
c430d24d2f VRC6 has internal timer 2022-03-28 01:12:44 +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
tildearrow
688190db91 improve VIC-20 doc 2022-03-27 02:31:03 -05:00
tildearrow
08dd693fa0 Amiga: add AM/PM effects 2022-03-27 00:02:17 -05:00
tildearrow
154ef3f9a3 Amiga: filter emulation 2022-03-26 23:39:20 -05:00
tildearrow
9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow
00876a461a update effect list 2022-03-26 21:16:15 -05:00
tildearrow
3ea9c0360f implement F3xx and F4xx for fine vol slides 2022-03-26 20:58:33 -05:00
tildearrow
73536c0691 AY: add effects to write to I/O ports 2022-03-26 20:55:43 -05:00
nicco1690
8c6c3f1707
Add the VIC-20 to the systems list in README.md 2022-03-26 21:34:32 -04:00
nicco1690
1022d64bd0
Create VIC-20 documentation
funny low-pass sound chip waves go brr
2022-03-26 21:32:29 -04:00
freq-mod
1a4290f1c3
somewhat improved system descriptions 2022-03-26 19:55:20 +01:00
AugiteSoul
2489428795
Cleaned up grammar, mostly
Might need some changes after this considering some lines were rather confusing - I don't actually know much about how this chip works exactly
2022-03-26 19:37:07 +01:00
tildearrow
bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -05:00
cam900
df8f40486d Fix frequency, Loading waveform, Add instrument tab for waveform initialize
now for saving DivInstrumentN163 struct is... needs to compatibility breaks?
2022-03-24 03:53:07 +09:00
cam900
e8d567d3df Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 03:22:33 +09:00
tildearrow
ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
cam900
abb5f03143 System docs 2022-03-23 03:16:20 +09:00
cam900
2eaa6ed0ce Merge branch 'master' of https://github.com/tildearrow/furnace into n163
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatchContainer.cpp
#	src/gui/gui.cpp
#	src/gui/insEdit.cpp
2022-03-23 02:44:13 +09:00
cam900
5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
tildearrow
6c10c269a1 VERA: Furnace does support stereo for panning 2022-03-22 01:18:22 -05:00
tildearrow
3b63ca9455 update ay8930.md 2022-03-22 01:06:13 -05:00
tildearrow
ae3165dbb4 system doc work 2022-03-22 00:58:07 -05:00
tildearrow
8ae0796f00 now add it to the list 2022-03-22 00:17:00 -05:00
tildearrow
2589709d1a add doc for VERA chip 2022-03-22 00:16:19 -05:00
tildearrow
a1969d30f6 rename x1_010 to x1-010 2022-03-22 00:06:57 -05:00
tildearrow
6c5e6c2a0f
Merge pull request #294 from cam900/bubsys
Reduce naming confusion in Bubble System Wavetable Sound
2022-03-17 22:03:24 -05:00
tildearrow
8ee7efc8a0 update format 2022-03-17 16:39:01 -05:00
tildearrow
c264678fdc dev68 2022-03-17 14:35:38 -05:00
cam900
234c5e9295 Reduce naming confusion in Bubble System Wavetable Sound
It means Custom wavetable sound generator logic on Bubble System.
It's wavetable select and volume is controlled by single AY-3-8910 IO for both channels, Another AY-3-8910 IO is used for reading sound status.

Schematics: http://pdf.textfiles.com/manuals/ARCADE/K-R/Nemesis%20[Schematics]%20[English].pdf (Nemesis, derivative of Bubble system)
2022-03-17 10:11:48 +09:00
tildearrow
3163730fe8 prepare for drum kits/sample map 2022-03-16 17:01:44 -05:00
Natt Akuma
7308114475 Document new effects 2022-03-15 03:59:52 +07:00
tildearrow
9f7b18d038
Merge pull request #286 from cam900/scc
Add Bubble System Support
2022-03-14 14:41:33 -05:00
tildearrow
6b5bbae1c1 allocate bubble system ID 2022-03-14 12:03:10 -05:00
cam900
f24a776a7a More user friendly instrument name 2022-03-14 19:40:27 +09: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
tildearrow
e009fc64f2 allow instrument change during slides 2022-03-14 01:23:31 -05:00
tildearrow
d607f35aa2
Merge pull request #279 from cam900/intv_alt
Add AY-3-8914 support as configurable in AY-3-8910
2022-03-13 11:17:36 -05:00
tildearrow
cf07e1861e add "auto-insert one tick gap" option 2022-03-11 23:01:18 -05:00
tildearrow
2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
cam900
3ac1dce3fe Add AY-3-8914 support as configurable in AY-3-8910
Previous PR (https://github.com/tildearrow/furnace/pull/278) is closed due this, but archived for info.
It's AY with 4 level envelope volume per channel and different register format.
2022-03-12 03:30:54 +09:00
tildearrow
eb48a3d108
Revert "Create OPL3 docs (read Effect Commands section)" 2022-03-10 21:35:34 -05:00
tildearrow
8d0ac3cbba
Merge pull request #269 from nicco1690/patch-2
Create OPL3 docs (read Effect Commands section)
2022-03-10 18:32:11 -05:00
tildearrow
c871239736
Merge pull request #257 from nicco1690/patch-1
Create Lynx MIKEY sound docs
2022-03-10 18:31:41 -05: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
nicco1690
f372088aad
Create OPL3 docs (read Effect Commands section) 2022-03-08 23:15:52 -05:00
nicco1690
0826f22d8b
Update docs to add more info
Thanks to @freq-mod for providing the effect commands section and some more general information which has been copied into this version.
2022-03-08 22:42:43 -05:00
cam900
a32781bb1a grammar 2022-03-09 01:17:16 +09:00
cam900
ba68ad6ed5 More info in waveform size 2022-03-09 01:06:47 +09:00
cam900
6c432bc42e Allow Left waveform can be invertable,
Improvement documents
2022-03-09 00:50:10 +09:00
Natt Akuma
43cfb09acf Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-08 17:53:00 +07:00
cam900
2e6cc9fc7c Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/playback.cpp
#	src/engine/sysDef.cpp
#	src/gui/gui.cpp
2022-03-08 13:38:24 +09:00
tildearrow
0210548291
swan let's go
Add WonderSwan support and flatten second chip checks in VGM export into variables
2022-03-07 23:05:32 -05:00
tildearrow
27758434af update format.md to parse op count 2022-03-07 17:07:00 -05:00
cam900
b270513639
Frequency range limit 2022-03-07 19:41:26 +09:00
Natt Akuma
3b88786ffb Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-07 16:46:32 +07:00
Natt Akuma
840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07:00
tildearrow
9333b5bd51 prepare for X1-010 2022-03-06 22:36:13 -05:00
cam900
666b061c8b Fix year info 2022-03-07 03:08:47 +09:00
cam900
4a83c7c5a7 Add Seta/Allumer X1-010 Support
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.

Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).

Chip id is temporary, it can be changed with to suggestions.
2022-03-07 02:31:03 +09:00
nicco1690
7935f52737
Create Lynx MIKEY sound docs 2022-03-05 23:27:48 -05:00
tildearrow
5ad54dad4d allocate VERA chip 2022-03-04 14:31:29 -05:00
Natt Akuma
9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
tildearrow
8758277199 OPLL: implement fixed freq mode for drums
issue #249
2022-03-04 01:18:16 -05:00
tildearrow
8e5b3abab8 add two more compatibility flags
issue #167 and #249:
- stop porta on note off
- continuous vibrato
2022-03-03 23:14:38 -05:00
cam900
e49ee1cd3d
0xa9 is already allocated 2022-03-03 14:14:54 +09:00
tildearrow
1973992064 allocate system IDs for OKI chips 2022-03-02 18:39:21 -05:00
tildearrow
acc9b0aa57
Merge pull request #225 from cam900/ym2610b
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow
066769379b update format.md a bit 2022-03-01 20:58:27 -05:00
cam900
1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00