mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-26 22:43:01 +00:00
or
This commit is contained in:
parent
2f8a7c3dab
commit
ea5c28829e
1 changed files with 6 additions and 6 deletions
|
@ -47,17 +47,17 @@ int DivPlatformGenesis::dispatch(DivCommand c) {
|
||||||
for (int i=0; i<4; i++) {
|
for (int i=0; i<4; i++) {
|
||||||
unsigned short baseAddr=chanOffs[c.chan]|opOffs[i];
|
unsigned short baseAddr=chanOffs[c.chan]|opOffs[i];
|
||||||
DivInstrumentFM::Operator op=ins->fm.op[i];
|
DivInstrumentFM::Operator op=ins->fm.op[i];
|
||||||
writes.emplace(baseAddr+0x30,op.mult&15|(op.dt<<4));
|
writes.emplace(baseAddr+0x30,(op.mult&15)|(op.dt<<4));
|
||||||
writes.emplace(baseAddr+0x40,op.tl);
|
writes.emplace(baseAddr+0x40,op.tl);
|
||||||
writes.emplace(baseAddr+0x50,op.ar&31|(op.rs<<6));
|
writes.emplace(baseAddr+0x50,(op.ar&31)|(op.rs<<6));
|
||||||
writes.emplace(baseAddr+0x60,op.dr&31|(op.am<<7));
|
writes.emplace(baseAddr+0x60,(op.dr&31)|(op.am<<7));
|
||||||
writes.emplace(baseAddr+0x70,op.d2r&31);
|
writes.emplace(baseAddr+0x70,op.d2r&31);
|
||||||
writes.emplace(baseAddr+0x80,op.rr&15|(op.sl<<4));
|
writes.emplace(baseAddr+0x80,(op.rr&15)|(op.sl<<4));
|
||||||
}
|
}
|
||||||
writes.emplace(chanOffs[c.chan]+0xa4,((c.value/12)<<3)|(notes[c.value%12]>>8));
|
writes.emplace(chanOffs[c.chan]+0xa4,((c.value/12)<<3)|(notes[c.value%12]>>8));
|
||||||
writes.emplace(chanOffs[c.chan]+0xa0,notes[c.value%12]);
|
writes.emplace(chanOffs[c.chan]+0xa0,notes[c.value%12]);
|
||||||
writes.emplace(chanOffs[c.chan]+0xb0,ins->fm.alg&7|(ins->fm.fb<<3));
|
writes.emplace(chanOffs[c.chan]+0xb0,(ins->fm.alg&7)|(ins->fm.fb<<3));
|
||||||
writes.emplace(chanOffs[c.chan]+0xb4,0xc0|ins->fm.fms&7|((ins->fm.ams&3)<<4));
|
writes.emplace(chanOffs[c.chan]+0xb4,0xc0|(ins->fm.fms&7)|((ins->fm.ams&3)<<4));
|
||||||
writes.emplace(0x28,0xf0|konOffs[c.chan]);
|
writes.emplace(0x28,0xf0|konOffs[c.chan]);
|
||||||
chan[c.chan].active=true;
|
chan[c.chan].active=true;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue