mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-29 07:53:01 +00:00
SID2, part 6
bump version
This commit is contained in:
parent
6d62f92f92
commit
d63febf3d6
3 changed files with 19 additions and 41 deletions
|
@ -126,6 +126,10 @@ the following instrument types are available:
|
||||||
- 57: PowerNoise (slope)
|
- 57: PowerNoise (slope)
|
||||||
- 58: Dave
|
- 58: Dave
|
||||||
- 59: NDS
|
- 59: NDS
|
||||||
|
- 60: GBA DMA
|
||||||
|
- 61: GBA MinMod
|
||||||
|
- 62: Bifurcator
|
||||||
|
- 63: SID2
|
||||||
|
|
||||||
the following feature codes are recognized:
|
the following feature codes are recognized:
|
||||||
|
|
||||||
|
@ -153,6 +157,7 @@ the following feature codes are recognized:
|
||||||
- `NE`: NES DPCM sample map data
|
- `NE`: NES DPCM sample map data
|
||||||
- `EF`: ESFM ins data
|
- `EF`: ESFM ins data
|
||||||
- `PN`: PowerNoise ins data
|
- `PN`: PowerNoise ins data
|
||||||
|
- `S2`: SID2 ins data
|
||||||
- `EN`: end of features
|
- `EN`: end of features
|
||||||
- if you find this feature code, stop reading the instrument.
|
- if you find this feature code, stop reading the instrument.
|
||||||
- it will usually appear only when there sample/wave lists.
|
- it will usually appear only when there sample/wave lists.
|
||||||
|
@ -669,3 +674,14 @@ size | description
|
||||||
-----|------------------------------------
|
-----|------------------------------------
|
||||||
1 | octave
|
1 | octave
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# SID2 data (S2)
|
||||||
|
|
||||||
|
```
|
||||||
|
size | description
|
||||||
|
-----|------------------------------------
|
||||||
|
1 | parameters
|
||||||
|
| - bit 6-7: noise mode
|
||||||
|
| - bit 4-5: wave mix mode
|
||||||
|
| - bit 0-3: volume
|
||||||
|
```
|
||||||
|
|
|
@ -54,8 +54,8 @@ class DivWorkPool;
|
||||||
|
|
||||||
#define DIV_UNSTABLE
|
#define DIV_UNSTABLE
|
||||||
|
|
||||||
#define DIV_VERSION "dev197"
|
#define DIV_VERSION "dev198"
|
||||||
#define DIV_ENGINE_VERSION 197
|
#define DIV_ENGINE_VERSION 198
|
||||||
// for imports
|
// for imports
|
||||||
#define DIV_VERSION_MOD 0xff01
|
#define DIV_VERSION_MOD 0xff01
|
||||||
#define DIV_VERSION_FC 0xff02
|
#define DIV_VERSION_FC 0xff02
|
||||||
|
|
|
@ -841,35 +841,7 @@ void DivInstrument::writeFeaturePN(SafeWriter* w) {
|
||||||
void DivInstrument::writeFeatureS2(SafeWriter* w) {
|
void DivInstrument::writeFeatureS2(SafeWriter* w) {
|
||||||
FEATURE_BEGIN("S2");
|
FEATURE_BEGIN("S2");
|
||||||
|
|
||||||
// this is for compatibility.
|
w->writeC((sid2.volume&15)|((sid2.mixMode&3)<<4)|((sid2.noiseMode&3)<<6));
|
||||||
w->writeC(
|
|
||||||
(c64.dutyIsAbs?0x80:0)|
|
|
||||||
(c64.initFilter?0x40:0)|
|
|
||||||
(c64.toFilter?0x10:0)|
|
|
||||||
(c64.noiseOn?8:0)|
|
|
||||||
(c64.pulseOn?4:0)|
|
|
||||||
(c64.sawOn?2:0)|
|
|
||||||
(c64.triOn?1:0)
|
|
||||||
);
|
|
||||||
|
|
||||||
w->writeC(
|
|
||||||
(c64.oscSync?0x80:0)|
|
|
||||||
(c64.ringMod?0x40:0)|
|
|
||||||
(c64.noTest?0x20:0)|
|
|
||||||
(c64.filterIsAbs?0x10:0)|
|
|
||||||
(c64.ch3off?8:0)|
|
|
||||||
(c64.bp?4:0)|
|
|
||||||
(c64.hp?2:0)|
|
|
||||||
(c64.lp?1:0)
|
|
||||||
);
|
|
||||||
|
|
||||||
w->writeC(((c64.a&15)<<4)|(c64.d&15));
|
|
||||||
w->writeC(((c64.s&15)<<4)|(c64.r&15));
|
|
||||||
w->writeS(c64.duty);
|
|
||||||
w->writeS(c64.cut&4095);
|
|
||||||
w->writeC(c64.res);
|
|
||||||
|
|
||||||
w->writeC(sid2.volume|(sid2.mixMode<<4)|(sid2.noiseMode<<6));
|
|
||||||
|
|
||||||
FEATURE_END;
|
FEATURE_END;
|
||||||
}
|
}
|
||||||
|
@ -2185,16 +2157,6 @@ void DivInstrument::readFeaturePN(SafeReader& reader, short version) {
|
||||||
void DivInstrument::readFeatureS2(SafeReader& reader, short version) {
|
void DivInstrument::readFeatureS2(SafeReader& reader, short version) {
|
||||||
READ_FEAT_BEGIN;
|
READ_FEAT_BEGIN;
|
||||||
|
|
||||||
// these are reserved.
|
|
||||||
reader.readC();
|
|
||||||
reader.readC();
|
|
||||||
reader.readC();
|
|
||||||
reader.readC();
|
|
||||||
reader.readS();
|
|
||||||
|
|
||||||
reader.readS();
|
|
||||||
reader.readC();
|
|
||||||
|
|
||||||
unsigned char next=reader.readC();
|
unsigned char next=reader.readC();
|
||||||
|
|
||||||
sid2.volume=next&0xf;
|
sid2.volume=next&0xf;
|
||||||
|
|
Loading…
Reference in a new issue