From a1d8c4ff85128e5775e3c1a1e9652cb8f4d5416a Mon Sep 17 00:00:00 2001 From: cyberwarriorx Date: Tue, 14 Nov 2006 19:28:28 +0000 Subject: [PATCH] -Fixed Read High/Write High commands on non-eeprom type 1 types --- desmume/src/mc.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/desmume/src/mc.c b/desmume/src/mc.c index 20188cd53..93c0c0411 100644 --- a/desmume/src/mc.c +++ b/desmume/src/mc.c @@ -216,8 +216,8 @@ u8 bm_transfer(memory_chip_t *mc, u8 data) } else if(mc->com == BM_CMD_READSTATUS) { - //LOG("Backup Memory Read Status: %02X\n", mc->writeable_buffer << 1); - return (mc->writeable_buffer << 1); + //LOG("Backup Memory Read Status: %02X\n", mc->write_enable << 1); + return (mc->write_enable << 1); } else /* finally, check if it's a new command */ { @@ -256,7 +256,10 @@ u8 bm_transfer(memory_chip_t *mc, u8 data) case BM_CMD_WRITEHIGH: /* write command that's only available on ST M95040-W that I know of */ if(mc->write_enable) { - mc->addr = 0x100; + if (mc->type == MC_TYPE_EEPROM1) + mc->addr = 0x100; + else + mc->addr = 0; mc->addr_shift = mc->addr_size; mc->com = BM_CMD_WRITELOW; } @@ -264,7 +267,10 @@ u8 bm_transfer(memory_chip_t *mc, u8 data) break; case BM_CMD_READHIGH: /* read command that's only available on ST M95040-W that I know of */ - mc->addr = 0x100; + if (mc->type == MC_TYPE_EEPROM1) + mc->addr = 0x100; + else + mc->addr = 0; mc->addr_shift = mc->addr_size; mc->com = BM_CMD_READLOW;