static void ExpMemory_write16(u32 procnum, u32 adr, u16 val) { if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return; T1WriteWord(expMemory, offs, val); } EXPINFO("ExpMemory: write 16 at 0x%08X = 0x%04X\n", adr, val); }
static void ExpMemory_write08(u32 procnum, u32 adr, u8 val) { if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return; T1WriteByte(expMemory, offs, val); } EXPINFO("ExpMemory: write 08 at 0x%08X = 0x%02X\n", adr, val); }
static void ExpMemory_write32(u32 adr, u32 val) { if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return; T1WriteLong(expMemory, offs, val); } EXPINFO("ExpMemory: write 32 at 0x%08X = 0x%08X\n", adr, val); }
static u8 ExpMemory_read08(u32 adr) { if (adr == 0x080000B2) return(0x96); if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return (0); return (T1ReadByte(expMemory, offs)); } EXPINFO("ExpMemory: read 08 at 0x%08X\n", adr); return (0); }
static u32 ExpMemory_read32(u32 adr) { if (adr == 0x080000AC) return(0x027FFC30); if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return (0); return (T1ReadLong(expMemory, offs)); } EXPINFO("ExpMemory: read 32 at 0x%08X\n", adr); return (0); }
static u32 ExpMemory_read32(u32 procnum, u32 adr) { if(adr>=0x080000B0 && adr<0x080000C0) return T1ReadLong(header_0x00B0,adr-0x080000B0); if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return 0xFFFFFFFF; return T1ReadLong(expMemory, offs); } EXPINFO("ExpMemory: read 32 at 0x%08X\n", adr); return 0xFFFFFFFF; }
static u8 ExpMemory_read08(u32 procnum, u32 adr) { EXPINFO("ExpMemory: read 08 at 0x%08X\n", adr); if(adr>=0x080000B0 && adr<0x080000C0) return T1ReadByte(header_0x00B0,adr-0x080000B0); if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return (0xFF); return T1ReadByte(expMemory, offs); } return 0xFF; }
static u16 ExpMemory_read16(u32 adr) { if (adr == 0x080000B6) return(0x2424); if (adr == 0x080000BC) return(0x7FFF); if (adr == 0x080000BE) return(0x0096); if (adr == 0x0801FFFC) return(0x7FFF); if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return (0); return (T1ReadWord(expMemory, offs)); } EXPINFO("ExpMemory: read 16 at 0x%08X\n", adr); return (0); }
static u16 ExpMemory_read16(u32 procnum, u32 adr) { if(adr>=0x080000B0 && adr<0x080000C0) return T1ReadWord(header_0x00B0,adr-0x080000B0); if (adr == 0x0801FFFC) return 0x7FFF; if (adr == 0x08240002) return 0; //this can't be 0xFFFF. dunno why, we just guessed 0 if (adr >= 0x09000000) { u32 offs = (adr - 0x09000000); if (offs >= expMemSize) return (0xFFFF); return T1ReadWord(expMemory, offs); } EXPINFO("ExpMemory: read 16 at 0x%08X\n", adr); return 0xFFFF; }