| version 1.14, 2004/03/12 14:33:06 | version 1.18, 2005/03/12 12:32:54 | 
| Line 12 | Line 12 | 
 | * 2. Redistributions in binary form must reproduce the above copyright | * 2. Redistributions in binary form must reproduce the above copyright | 
 | *    notice, this list of conditions and the following disclaimer in the | *    notice, this list of conditions and the following disclaimer in the | 
 | *    documentation and/or other materials provided with the distribution. | *    documentation and/or other materials provided with the distribution. | 
 | * 3. The name of the author may not be used to endorse or promote products |  | 
 | *    derived from this software without specific prior written permission. |  | 
 | * | * | 
 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | 
 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | 
| Line 31 | Line 29 | 
 | #include "cpu.h" | #include "cpu.h" | 
 | #include "ia32.mcr" | #include "ia32.mcr" | 
 |  |  | 
 |  |  | 
 | I386CORE        i386core; | I386CORE        i386core; | 
 |  |  | 
 | UINT8   *reg8_b20[0x100]; | UINT8   *reg8_b20[0x100]; | 
| Line 41  UINT16 *reg16_b53[0x100]; | Line 38  UINT16 *reg16_b53[0x100]; | 
 | UINT32  *reg32_b20[0x100]; | UINT32  *reg32_b20[0x100]; | 
 | UINT32  *reg32_b53[0x100]; | UINT32  *reg32_b53[0x100]; | 
 |  |  | 
 |  |  | 
 | void | void | 
 | ia32_init(void) | ia32_init(void) | 
 | { | { | 
| Line 78  ia32_init(void) | Line 74  ia32_init(void) | 
 | } | } | 
 |  |  | 
 | resolve_init(); | resolve_init(); | 
 | #ifdef USE_FPU |  | 
 | fpu_init(); |  | 
 | #endif |  | 
 | } | } | 
 |  |  | 
 | void | void | 
| Line 101  ia32_setextsize(UINT32 size) | Line 94  ia32_setextsize(UINT32 size) | 
 | } | } | 
 | CPU_EXTMEMSIZE = size; | CPU_EXTMEMSIZE = size; | 
 | } | } | 
 |  | CPU_EMSPTR[0] = mem + 0xc0000; | 
 |  | CPU_EMSPTR[1] = mem + 0xc4000; | 
 |  | CPU_EMSPTR[2] = mem + 0xc8000; | 
 |  | CPU_EMSPTR[3] = mem + 0xcc000; | 
 | } | } | 
 |  |  | 
 |  | void | 
 |  | ia32_setemm(UINT frame, UINT32 addr) { | 
 |  |  | 
 |  | BYTE    *ptr; | 
 |  |  | 
 |  | frame &= 3; | 
 |  | if (addr < USE_HIMEM) { | 
 |  | ptr = mem + addr; | 
 |  | } | 
 |  | else if ((addr - 0x100000 + 0x4000) <= CPU_EXTMEMSIZE) { | 
 |  | ptr = CPU_EXTMEM + (addr - 0x100000); | 
 |  | } | 
 |  | else { | 
 |  | ptr = mem + 0xc0000 + (frame << 14); | 
 |  | } | 
 |  | CPU_EMSPTR[frame] = ptr; | 
 |  | } | 
 |  |  | 
 |  |  | 
 | /* | /* | 
 | * モード遷移 | * モード遷移 | 
 | */ | */ | 
| Line 127  change_pm(BOOL onoff) | Line 143  change_pm(BOOL onoff) | 
 | CPU_STAT_SS32 = 0; | CPU_STAT_SS32 = 0; | 
 | CPU_SET_CPL(0); | CPU_SET_CPL(0); | 
 | CPU_STAT_PM = onoff; | CPU_STAT_PM = onoff; | 
 |  |  | 
 | tlb_flush(TRUE); |  | 
 | } | } | 
 |  |  | 
 | void FASTCALL | void FASTCALL | 
| Line 141  change_pg(BOOL onoff) | Line 155  change_pg(BOOL onoff) | 
 | VERBOSE(("Leaveing from Paging-Mode...")); | VERBOSE(("Leaveing from Paging-Mode...")); | 
 | } | } | 
 | CPU_STAT_PAGING = onoff; | CPU_STAT_PAGING = onoff; | 
 |  |  | 
 | tlb_flush(TRUE); |  | 
 | } | } | 
 |  |  | 
 | void FASTCALL | void FASTCALL |