diff --git a/src/engine/platform/es5506.cpp b/src/engine/platform/es5506.cpp index 96c8949a2..9b0111960 100644 --- a/src/engine/platform/es5506.cpp +++ b/src/engine/platform/es5506.cpp @@ -124,7 +124,7 @@ addWrite(0x3f,curPage); \ } \ } \ - chan[c].cr=((es5506.regs_r((curPage&0x20)|c,0,false)&~(m))|((d)&(m)))&0xffff; \ + chan[c].cr=(chan[c].cr&~(m))|((d)&(m)); \ rWrite(0,chan[c].cr) \ if (dumpWrites) { \ addWrite(0x0,0) \ diff --git a/src/engine/platform/es5506.h b/src/engine/platform/es5506.h index eb6bbf278..4571eb477 100644 --- a/src/engine/platform/es5506.h +++ b/src/engine/platform/es5506.h @@ -67,7 +67,7 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf { int nextFreq, nextNote, currNote, wave; int volMacroMax, panMacroMax; bool useWave, isReverseLoop; - unsigned int cr; + unsigned short cr; struct NoteChanged { // Note changed flags union { // pack flag bits in single byte