From f3aca62e7a3688f49dd00ff2a0d77dc9c6148105 Mon Sep 17 00:00:00 2001 From: cam900 Date: Mon, 2 Jun 2025 15:38:03 +0900 Subject: [PATCH] E5506: Fix masked CR writing, Fix type --- src/engine/platform/es5506.cpp | 2 +- src/engine/platform/es5506.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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