fix E5xx range in old modules

This commit is contained in:
tildearrow 2021-12-18 01:09:43 -05:00
parent 4de343eea7
commit c4c019e593
2 changed files with 8 additions and 0 deletions

View File

@ -801,6 +801,12 @@ bool DivEngine::load(unsigned char* f, size_t slen) {
// effect
pat->data[k][4+(l<<1)]=reader.readS();
pat->data[k][5+(l<<1)]=reader.readS();
if (ds.version<0x14) {
if (pat->data[k][4+(l<<1)]==0xe5 && pat->data[k][5+(l<<1)]!=-1) {
pat->data[k][5+(l<<1)]=128+((pat->data[k][5+(l<<1)]-128)/4);
}
}
}
// instrument
pat->data[k][2]=reader.readS();

View File

@ -33,6 +33,8 @@ struct DivSong {
// - changes pattern length from char to int, probably to allow for size 256
// - 23: ???
// - what happened here?
// - 20: v11.1 (?)
// - E5xx effect range is now ±1 semitone
// - 19: v11
// - introduces Arcade system
// - changes to the FM instrument format due to YMU759 being dropped