arp commands should have 1 byte arg

This commit is contained in:
tildearrow 2025-04-08 04:00:55 -05:00
parent 24cd378e50
commit ad5fb97822
4 changed files with 9 additions and 7 deletions

View file

@ -229,13 +229,13 @@ bool DivCSPlayer::tick() {
case DIV_CMD_HINT_VIBRATO_RANGE:
case DIV_CMD_HINT_VIBRATO_SHAPE:
case DIV_CMD_HINT_VOLUME:
case DIV_CMD_HINT_ARPEGGIO:
arg0=(unsigned char)stream.readC();
break;
case DIV_CMD_HINT_PITCH:
arg0=(signed char)stream.readC();
break;
case DIV_CMD_HINT_VIBRATO:
case DIV_CMD_HINT_ARPEGGIO:
case DIV_CMD_HINT_PORTA:
arg0=(signed char)stream.readC();
arg1=(unsigned char)stream.readC();
@ -515,7 +515,7 @@ bool DivCSPlayer::tick() {
e->dispatchCmd(DivCommand(DIV_CMD_LEGATO,i,chan[i].note));
break;
case DIV_CMD_HINT_ARPEGGIO:
chan[i].arp=(((unsigned char)arg0)<<4)|(arg1&15);
chan[i].arp=(unsigned char)arg0;
break;
case DIV_CMD_HINT_ARP_TIME:
arpSpeed=arg0;