bool ReadCart(LPGBCART Cart, DWORD dwAddress, BYTE *Data)
{
#ifdef ENABLE_GBCART_READS_WRITES_DEBUG
DebugWriteA("Cart Read: Addy=");
DebugWriteWord(dwAddress);
DebugWriteA("\n");
#endif
switch (Cart->iCartType) {
case 0x00: // Raw cartridge
return ReadCartNorm(Cart, dwAddress, Data);
break;
case 0x01: // MBC1
return ReadCartMBC1(Cart, dwAddress, Data);
break;
case 0x02: // MBC2
return ReadCartMBC2(Cart, dwAddress, Data);
break;
case 0x04: // MBC3
return ReadCartMBC3(Cart, dwAddress, Data);
break;
case 0x05: // MBC5
return ReadCartMBC5(Cart, dwAddress, Data);
break;
default: // Currently unsupported... Pretend it's a normal ROM-only cart
return ReadCartNorm(Cart, dwAddress, Data);
break;
}
return true;
}
bool WriteCart(LPGBCART Cart, DWORD dwAddress, BYTE *Data)
{
#ifdef ENABLE_GBCART_READS_WRITES_DEBUG
DebugWriteA("Cart Write: Addy=");
DebugWriteWord(dwAddress);
DebugWriteA("\n");
#endif
switch (Cart->iCartType) {
case 0x00: // Raw cartridge
return WriteCartNorm(Cart, dwAddress, Data);
break;
case 0x01: // MBC1
return WriteCartMBC1(Cart, dwAddress, Data);
break;
case 0x02: // MBC2
return WriteCartMBC2(Cart, dwAddress, Data);
break;
case 0x04: // MBC3
return WriteCartMBC3(Cart, dwAddress, Data);
break;
case 0x05: // MBC5
return WriteCartMBC5(Cart, dwAddress, Data);
break;
default: // Currently unsupported... Pretend it's a normal ROM-only cart
return WriteCartNorm(Cart, dwAddress, Data);
break;
}
return true;
}