|
|
| version 1.3, 2004/01/05 06:50:15 | version 1.4, 2004/01/07 14:49:10 |
|---|---|
| Line 511 cpu_memorywrite_d(DWORD address, DWORD v | Line 511 cpu_memorywrite_d(DWORD address, DWORD v |
| adr -= LOWMEM; | adr -= LOWMEM; |
| if (adr < extmem_size - 3) { | if (adr < extmem_size - 3) { |
| STOREINTELDWORD(cpumem + adr, value); | STOREINTELDWORD(cpumem + adr, value); |
| } else { | } else if (adr < extmem_size) { |
| ia32_panic("cpu_memorywrite_d: out of universe."); | cpu_memorywrite_w(adr, value & 0xffff); |
| cpu_memorywrite_w(adr + 2, (value >> 16) & 0xffff); | |
| } | } |
| } | } |
| } | } |
| Line 531 cpu_memorywrite_w(DWORD address, WORD va | Line 532 cpu_memorywrite_w(DWORD address, WORD va |
| adr -= LOWMEM; | adr -= LOWMEM; |
| if (adr < extmem_size - 1) { | if (adr < extmem_size - 1) { |
| STOREINTELWORD(cpumem + adr, value); | STOREINTELWORD(cpumem + adr, value); |
| } else { | } else if (adr == extmem_size - 1) { |
| ia32_panic("cpu_memorywrite_w: out of universe."); | cpumem[adr] = value & 0xff; |
| } | } |
| } | } |
| } | } |
| Line 548 cpu_memorywrite(DWORD address, BYTE valu | Line 549 cpu_memorywrite(DWORD address, BYTE valu |
| adr -= LOWMEM; | adr -= LOWMEM; |
| if (adr < extmem_size) { | if (adr < extmem_size) { |
| cpumem[adr] = value; | cpumem[adr] = value; |
| } else { | |
| ia32_panic("cpu_memorywrite: out of universe."); | |
| } | } |
| } | } |
| } | } |
| Line 570 cpu_memoryread_d(DWORD address) | Line 569 cpu_memoryread_d(DWORD address) |
| if (adr < extmem_size - 3) { | if (adr < extmem_size - 3) { |
| val = LOADINTELDWORD(cpumem + adr); | val = LOADINTELDWORD(cpumem + adr); |
| } else { | } else { |
| ia32_panic("cpu_memoryread_d: out of universe."); | val = cpu_memoryread_w(adr); |
| val = (DWORD)-1; | val |= (DWORD)cpu_memoryread_w(adr + 2) << 16; |
| } | } |
| } | } |
| return val; | return val; |
| Line 592 cpu_memoryread_w(DWORD address) | Line 591 cpu_memoryread_w(DWORD address) |
| adr -= LOWMEM; | adr -= LOWMEM; |
| if (adr < extmem_size - 1) { | if (adr < extmem_size - 1) { |
| val = LOADINTELWORD(cpumem + adr); | val = LOADINTELWORD(cpumem + adr); |
| } else if (adr == extmem_size - 1) { | |
| val = 0xff00 | cpumem[adr]; | |
| } else { | } else { |
| ia32_panic("cpu_memoryread_w: out of universe."); | |
| val = (WORD)-1; | val = (WORD)-1; |
| } | } |
| } | } |
| Line 613 cpu_memoryread(DWORD address) | Line 613 cpu_memoryread(DWORD address) |
| if (adr < extmem_size) { | if (adr < extmem_size) { |
| val = cpumem[adr]; | val = cpumem[adr]; |
| } else { | } else { |
| ia32_panic("cpu_memoryread: out of universe."); | |
| val = (BYTE)-1; | val = (BYTE)-1; |
| } | } |
| } | } |