|
|
| version 1.17, 2004/03/09 16:31:18 | version 1.19, 2004/03/10 23:01:08 |
|---|---|
| Line 813 REG8 MEMCALL i286_memoryread(UINT32 addr | Line 813 REG8 MEMCALL i286_memoryread(UINT32 addr |
| } | } |
| #endif | #endif |
| else { | else { |
| // TRACEOUT(("out of mem (read8): %x", addr)); | |
| return(0xff); | return(0xff); |
| } | } |
| } | } |
| Line 844 REG16 MEMCALL i286_memoryread_w(UINT32 a | Line 845 REG16 MEMCALL i286_memoryread_w(UINT32 a |
| } | } |
| #endif | #endif |
| else { | else { |
| // TRACEOUT(("out of mem (read16): %x", addr)); | |
| return(0xffff); | return(0xffff); |
| } | } |
| } | } |
| Line 902 void MEMCALL i286_memorywrite(UINT32 add | Line 904 void MEMCALL i286_memorywrite(UINT32 add |
| mem9821_w(addr, value); | mem9821_w(addr, value); |
| } | } |
| #endif | #endif |
| else { | |
| // TRACEOUT(("out of mem (write8): %x", addr)); | |
| } | |
| } | } |
| else { | else { |
| memfn.wr8[(addr >> 15) & 0x1f](addr, value); | memfn.wr8[(addr >> 15) & 0x1f](addr, value); |
| Line 929 void MEMCALL i286_memorywrite_w(UINT32 a | Line 934 void MEMCALL i286_memorywrite_w(UINT32 a |
| mem9821_ww(addr, value); | mem9821_ww(addr, value); |
| } | } |
| #endif | #endif |
| else { | |
| // TRACEOUT(("out of mem (write16): %x", addr)); | |
| } | |
| } | } |
| else { | else { |
| memfn.wr16[(addr >> 15) & 0x1f](addr, value); | memfn.wr16[(addr >> 15) & 0x1f](addr, value); |
| Line 1087 void MEMCALL memp_write(UINT32 address, | Line 1095 void MEMCALL memp_write(UINT32 address, |
| static UINT32 physicaladdr(UINT32 addr) { | static UINT32 physicaladdr(UINT32 addr) { |
| UINT32 a; | |
| UINT32 pde; | UINT32 pde; |
| UINT32 pte; | UINT32 pte; |
| if (CPU_STAT_PAGING) { | if (CPU_STAT_PAGING) { |
| pde = i286_memoryread_d(CPU_STAT_PDE_BASE + ((addr >> 20) & 0xffc)); | a = CPU_STAT_PDE_BASE + ((addr >> 20) & 0xffc); |
| pde = i286_memoryread_d(a); | |
| if (!(pde & CPU_PDE_PRESENT)) { | if (!(pde & CPU_PDE_PRESENT)) { |
| goto retdummy; | goto retdummy; |
| } | } |
| pte = cpu_memoryread_d((pde & CPU_PDE_BASEADDR_MASK) + ((addr >> 10) & 0xffc)); | #if 0 |
| if (!(pde & CPU_PDE_ACCESS)) { | |
| i286_memorywrite_d(a, pde | CPU_PDE_ACCESS); | |
| } | |
| #endif | |
| a = (pde & CPU_PDE_BASEADDR_MASK) + ((addr >> 10) & 0xffc); | |
| pte = cpu_memoryread_d(a); | |
| if (!(pte & CPU_PTE_PRESENT)) { | if (!(pte & CPU_PTE_PRESENT)) { |
| goto retdummy; | goto retdummy; |
| } | } |
| #if 0 | |
| if (!(pte & CPU_PTE_ACCESS)) { | |
| i286_memorywrite_d(a, pte | CPU_PTE_ACCESS); | |
| } | |
| #endif | |
| addr = (pte & CPU_PTE_BASEADDR_MASK) + (addr & 0x00000fff); | addr = (pte & CPU_PTE_BASEADDR_MASK) + (addr & 0x00000fff); |
| } | } |
| return(addr); | return(addr); |