|
|
| version 1.1, 2003/12/08 00:55:31 | version 1.4, 2003/12/25 19:21:17 |
|---|---|
| Line 11 | Line 11 |
| #include "font.h" | #include "font.h" |
| BYTE mem[0x200000]; | |
| #define USE_HIMEM | #define USE_HIMEM |
| // ---- write byte | // ---- write byte |
| Line 830 void MEMCALL __i286_memorywrite_w(UINT32 | Line 833 void MEMCALL __i286_memorywrite_w(UINT32 |
| if (address < (I286_MEMWRITEMAX - 1)) { | if (address < (I286_MEMWRITEMAX - 1)) { |
| STOREINTELWORD(mem + address, value); | STOREINTELWORD(mem + address, value); |
| #if defined(TRACE) | |
| if (address == 0x00404) { | |
| TRACEOUT(("CPU_SP = %.4x [%.4x:%.4x]", value, CPU_CS, CPU_IP)); | |
| } | |
| if (address == 0x00406) { | |
| TRACEOUT(("CPU_SS = %.4x [%.4x:%.4x]", value, CPU_CS, CPU_IP)); | |
| } | |
| #endif | |
| } | } |
| #if defined(USE_HIMEM) | #if defined(USE_HIMEM) |
| else if (address >= (0x10fff0 - 1)) { | else if (address >= (0x10fff0 - 1)) { |
| Line 867 REG8 MEMCALL i286_membyte_read(UINT seg, | Line 878 REG8 MEMCALL i286_membyte_read(UINT seg, |
| UINT32 address; | UINT32 address; |
| address = (seg << 4) + off; | address = (seg << 4) + LOW16(off); |
| if (address < I286_MEMREADMAX) { | if (address < I286_MEMREADMAX) { |
| return(mem[address]); | return(mem[address]); |
| } | } |
| Line 880 REG16 MEMCALL i286_memword_read(UINT seg | Line 891 REG16 MEMCALL i286_memword_read(UINT seg |
| UINT32 address; | UINT32 address; |
| address = (seg << 4) + off; | address = (seg << 4) + LOW16(off); |
| if (address < (I286_MEMREADMAX - 1)) { | if (address < (I286_MEMREADMAX - 1)) { |
| return(LOADINTELWORD(mem + address)); | return(LOADINTELWORD(mem + address)); |
| } | } |
| Line 893 void MEMCALL i286_membyte_write(UINT seg | Line 904 void MEMCALL i286_membyte_write(UINT seg |
| UINT32 address; | UINT32 address; |
| address = (seg << 4) + off; | address = (seg << 4) + LOW16(off); |
| if (address < I286_MEMWRITEMAX) { | if (address < I286_MEMWRITEMAX) { |
| mem[address] = (BYTE)value; | mem[address] = (BYTE)value; |
| } | } |
| Line 906 void MEMCALL i286_memword_write(UINT seg | Line 917 void MEMCALL i286_memword_write(UINT seg |
| UINT32 address; | UINT32 address; |
| address = (seg << 4) + off; | address = (seg << 4) + LOW16(off); |
| if (address < (I286_MEMWRITEMAX - 1)) { | if (address < (I286_MEMWRITEMAX - 1)) { |
| STOREINTELWORD(mem + address, value); | STOREINTELWORD(mem + address, value); |
| } | } |
| Line 924 void MEMCALL i286_memstr_read(UINT seg, | Line 935 void MEMCALL i286_memstr_read(UINT seg, |
| out = (BYTE *)dat; | out = (BYTE *)dat; |
| adrs = seg << 4; | adrs = seg << 4; |
| off = LOW16(off); | |
| if ((I286_MEMREADMAX >= 0x10000) && | if ((I286_MEMREADMAX >= 0x10000) && |
| (adrs < (I286_MEMREADMAX - 0x10000))) { | (adrs < (I286_MEMREADMAX - 0x10000))) { |
| if (leng) { | if (leng) { |
| Line 962 void MEMCALL i286_memstr_write(UINT seg, | Line 974 void MEMCALL i286_memstr_write(UINT seg, |
| out = (BYTE *)dat; | out = (BYTE *)dat; |
| adrs = seg << 4; | adrs = seg << 4; |
| off = LOW16(off); | |
| if ((I286_MEMWRITEMAX >= 0x10000) && | if ((I286_MEMWRITEMAX >= 0x10000) && |
| (adrs < (I286_MEMWRITEMAX - 0x10000))) { | (adrs < (I286_MEMWRITEMAX - 0x10000))) { |
| if (leng) { | if (leng) { |