diff --git a/desmume/src/addons/guitarGrip.cpp b/desmume/src/addons/guitarGrip.cpp index 6e48d6fcc..8c94cb2e4 100644 --- a/desmume/src/addons/guitarGrip.cpp +++ b/desmume/src/addons/guitarGrip.cpp @@ -37,8 +37,8 @@ static u8 guitarGrip_read08(u32 procnum, u32 adr) { //INFO("GuitarGrip: read 08 at 0x%08X\n", adr); if (adr == 0x0A000000) return (~guitarKeyStatus); - else if(adr&1) return 0xFF; - else return 0xF9; + else if(adr&1) return 0xF9; + else return 0xFF; } static u16 guitarGrip_read16(u32 procnum, u32 adr) { diff --git a/desmume/src/addons/piano.cpp b/desmume/src/addons/piano.cpp index 96abd7887..67d066758 100644 --- a/desmume/src/addons/piano.cpp +++ b/desmume/src/addons/piano.cpp @@ -44,7 +44,7 @@ static void piano_write32(u32 procnum, u32 adr, u32 val) //INFO("piano: write 32 at 0x%08X = %08X\n", adr, val); } extern int currFrameCounter; -static u8 piano_read08(u32 procnum, u32 adr) +static u8 piano_read08(u32 procnum, u32 adr) { //printf("piano: read 08 at 0x%08X\n", adr); @@ -72,18 +72,22 @@ static u8 piano_read08(u32 procnum, u32 adr) //LOG("PIANO: %04X\n",pianoKeyStatus); - if(adr == 0x09FFFFFE) return ~(pianoKeyStatus&0xFF); - if(adr == 0x09FFFFFF) return ~((pianoKeyStatus>>8)&0xFF); + if(adr == 0x09FFFFFE) return (~(pianoKeyStatus&0xFF)); + if(adr == 0x09FFFFFF) return (~((pianoKeyStatus>>8)&0xFF))&~(0x18); if(adr&1) return 0x07; else return 0x00; } -static u16 piano_read16(u32 procnum, u32 adr) +static u16 piano_read16(u32 procnum, u32 adr) { //printf("piano: read 16 at 0x%08X\n", adr); - return 0x07FF; + if(adr != 0x09FFFFFE) + return 0x07FF; + u16 ret = piano_read08(procnum,0x09FFFFFE)|(piano_read08(procnum,0x09FFFFFF)<<8); + //return ( (PIANO_PAK & 0x1800 ) == 0 ); + return ret; } -static u32 piano_read32(u32 procnum, u32 adr) +static u32 piano_read32(u32 procnum, u32 adr) { //printf("piano: read 32 at 0x%08X\n", adr); return 0x07FF07FF; diff --git a/desmume/src/version.cpp b/desmume/src/version.cpp index f578009bb..d35a54a22 100644 --- a/desmume/src/version.cpp +++ b/desmume/src/version.cpp @@ -83,8 +83,8 @@ #define DESMUME_COMPILER_DETAIL "" #endif -#define DESMUME_VERSION_NUMERIC 90600 -#define DESMUME_VERSION_STRING " " "0.9.6" DESMUME_SUBVERSION_STRING DESMUME_FEATURE_STRING DESMUME_PLATFORM_STRING DESMUME_CPUEXT_STRING DESMUME_COMPILER +#define DESMUME_VERSION_NUMERIC 90700 +#define DESMUME_VERSION_STRING " " "0.9.7" DESMUME_SUBVERSION_STRING DESMUME_FEATURE_STRING DESMUME_PLATFORM_STRING DESMUME_CPUEXT_STRING DESMUME_COMPILER #define DESMUME_NAME_AND_VERSION DESMUME_NAME DESMUME_VERSION_STRING u32 EMU_DESMUME_VERSION_NUMERIC() { return DESMUME_VERSION_NUMERIC; }