|
|
| version 1.5, 2003/12/08 06:24:03 | version 1.8, 2004/01/05 06:50:15 |
|---|---|
| Line 5 | Line 5 |
| #include "sound.h" | #include "sound.h" |
| #include "fmboard.h" | #include "fmboard.h" |
| // ¸å¤ÇÄ´À° | |
| #if defined(CPUCORE_IA32) | |
| DWORD cpumem_addrmask = 0xfffff; | |
| #endif | |
| // ---- I/O | // ---- I/O |
| static void IOOUTCALL cpuio_of0(UINT port, REG8 dat) { | static void IOOUTCALL cpuio_of0(UINT port, REG8 dat) { |
| epsonio.cpumode = (CPU_MSW & 1)?'P':'R'; | |
| CPU_ADRSMASK = 0x0fffff; | CPU_ADRSMASK = 0x0fffff; |
| #if defined(CPUCORE_IA32) | |
| cpumem_addrmask = 0xfffff; | |
| #endif | |
| CPU_RESETREQ = 1; | CPU_RESETREQ = 1; |
| CPU_INTERRUPT(0x02); | |
| nevent_forceexit(); | nevent_forceexit(); |
| (void)port; | (void)port; |
| (void)dat; | (void)dat; |
| Line 28 static void IOOUTCALL cpuio_of0(UINT por | Line 20 static void IOOUTCALL cpuio_of0(UINT por |
| static void IOOUTCALL cpuio_of2(UINT port, REG8 dat) { | static void IOOUTCALL cpuio_of2(UINT port, REG8 dat) { |
| CPU_ADRSMASK = 0x1fffff; | CPU_ADRSMASK = 0xffffffff; |
| #if defined(CPUCORE_IA32) | |
| cpumem_addrmask = 0xffffffff; | |
| #endif | |
| (void)port; | (void)port; |
| (void)dat; | (void)dat; |
| } | } |
| Line 54 static REG8 IOINPCALL cpuio_if2(UINT por | Line 43 static REG8 IOINPCALL cpuio_if2(UINT por |
| REG8 ret; | REG8 ret; |
| #if 1 | |
| ret = 0xff; | ret = 0xff; |
| ret -= (REG8)((CPU_ADRSMASK >> 20) & 1); | ret -= (REG8)((CPU_ADRSMASK >> 20) & 1); |
| #else | |
| ret = 0xfe; | |
| if (CPU_ADRSMASK != 0x1fffff) { | |
| ret++; | |
| } | |
| #endif | |
| (void)port; | (void)port; |
| return(ret); | return(ret); |
| } | } |
| Line 73 static void IOOUTCALL cpuio_of6(UINT por | Line 55 static void IOOUTCALL cpuio_of6(UINT por |
| switch(dat) { | switch(dat) { |
| case 0x02: | case 0x02: |
| CPU_ADRSMASK = 0x1fffff; | CPU_ADRSMASK = 0xffffffff; |
| #if defined(CPUCORE_IA32) | |
| cpumem_addrmask = 0xffffffff; | |
| #endif | |
| break; | break; |
| case 0x03: | case 0x03: |
| CPU_ADRSMASK = 0x0fffff; | CPU_ADRSMASK = 0x0fffff; |
| #if defined(CPUCORE_IA32) | |
| cpumem_addrmask = 0xfffff; | |
| #endif | |
| break; | |
| } | } |
| (void)port; | (void)port; |
| } | } |
| Line 94 static REG8 IOINPCALL cpuio_if6(UINT por | Line 69 static REG8 IOINPCALL cpuio_if6(UINT por |
| REG8 ret; | REG8 ret; |
| ret = 0x00; | ret = 0x00; |
| if (CPU_ADRSMASK != 0x1fffff) { | if (!(CPU_ADRSMASK & (1 << 20))) { |
| ret |= 0x01; | ret |= 0x01; |
| } | } |
| if (nmiio.enable) { | if (nmiio.enable) { |