diff --git a/aica/aica_common.hpp b/aica/aica_common.hpp index fb144b3..9e98845 100644 --- a/aica/aica_common.hpp +++ b/aica/aica_common.hpp @@ -263,11 +263,11 @@ struct aica_common { uint32_t SGC() const { - return (static_cast((reg_2810 >> 14) & 0x1) << 0); + return (static_cast((reg_2810 >> 13) & 0x3) << 0); } void SGC(const uint32_t v) { - reg_2810 = (((v >> 0) & 0x1) << 14) | (reg_2810 & 0xbfff); + reg_2810 = (((v >> 0) & 0x3) << 13) | (reg_2810 & 0x9fff); } uint32_t EG() const @@ -714,7 +714,7 @@ namespace aica { } namespace lp_sgc_eg { constexpr uint32_t LP(const uint32_t reg) { return (static_cast((reg >> 15) & 0x1) << 0); } - constexpr uint32_t SGC(const uint32_t reg) { return (static_cast((reg >> 14) & 0x1) << 0); } + constexpr uint32_t SGC(const uint32_t reg) { return (static_cast((reg >> 13) & 0x3) << 0); } constexpr uint32_t EG(const uint32_t reg) { return (static_cast((reg >> 0) & 0x1fff) << 0); } } namespace ca { diff --git a/regs/aica_common_data.csv b/regs/aica_common_data.csv index fa9a54b..3d7eac8 100644 --- a/regs/aica_common_data.csv +++ b/regs/aica_common_data.csv @@ -17,7 +17,7 @@ "MSLC",,"0x280c","13-8",,"w" "MOBUF",,"0x280c","7-0",,"w" "LP",,"0x2810","15",,"r" -"SGC",,"0x2810","14",,"r" +"SGC",,"0x2810","14-13",,"r" "EG",,"0x2810","12-0",,"r" "CA",,"0x2814","15-0",,"r" "DMEA","0","0x2880","15-9","22-16","w" diff --git a/regs/aica_common_data.ods b/regs/aica_common_data.ods index b024189..b2a734f 100644 Binary files a/regs/aica_common_data.ods and b/regs/aica_common_data.ods differ