Namco 163 refinements

This commit is contained in:
tildearrow 2022-03-27 22:04:01 -05:00
parent c4fc797578
commit 075f758e4d
6 changed files with 30 additions and 12 deletions

View file

@ -42,8 +42,8 @@
#define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock();
#define BUSY_END isBusy.unlock(); softLocked=false;
#define DIV_VERSION "dev72"
#define DIV_ENGINE_VERSION 72
#define DIV_VERSION "dev73"
#define DIV_ENGINE_VERSION 73
// for imports
#define DIV_VERSION_MOD 0xff01

View file

@ -387,6 +387,11 @@ void DivInstrument::putInsData(SafeWriter* w) {
}
// N163
w->writeI(n163.wave);
w->writeC(n163.wavePos);
w->writeC(n163.waveLen);
w->writeC(n163.waveMode);
w->writeC(0); // reserved
}
DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
@ -743,6 +748,13 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version) {
}
// N163
if (version>=73) {
n163.wave=reader.readI();
n163.wavePos=(unsigned char)reader.readC();
n163.waveLen=(unsigned char)reader.readC();
n163.waveMode=(unsigned char)reader.readC();
reader.readC(); // reserved
}
return DIV_DATA_SUCCESS;
}

View file

@ -392,8 +392,8 @@ struct DivInstrumentN163 {
DivInstrumentN163():
wave(-1),
wavePos(0),
waveLen(0),
waveMode(0) {}
waveLen(32),
waveMode(3) {}
};
struct DivInstrument {

View file

@ -34,7 +34,7 @@
rWriteMask(0x78-(c<<3)+(a&7),v,m) \
}
#define CHIP_FREQBASE (15*65536)
#define CHIP_FREQBASE (15*32768)
const char* regCheatSheetN163[]={
"FreqL7", "40",