--- np2/io/artic.c 2004/01/13 05:30:58 1.4 +++ np2/io/artic.c 2005/04/05 18:43:52 1.7 @@ -10,13 +10,13 @@ void artic_callback(void) { SINT32 leng; mul = pccore.multiple; - if (pccore.baseclock == PCBASECLOCK25) { - mul *= 16; + if (pccore.cpumode & CPUMODE_8MHZ) { + mul *= 13; } else { - mul *= 13; + mul *= 16; } - leng = CPU_CLOCK + CPU_BASECLOCK + CPU_REMCLOCK; + leng = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK; leng *= 2; leng -= artic.lastclk2; if (leng > 0) { @@ -32,13 +32,13 @@ static UINT32 artic_getcnt(void) { SINT32 leng; mul = pccore.multiple; - if (pccore.baseclock != PCBASECLOCK20) { - mul *= 16; + if (pccore.cpumode & CPUMODE_8MHZ) { + mul *= 13; } else { - mul *= 13; + mul *= 16; } - leng = CPU_CLOCK + CPU_BASECLOCK + CPU_REMCLOCK; + leng = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK; leng *= 2; leng -= artic.lastclk2; if (leng > 0) { @@ -51,7 +51,7 @@ static UINT32 artic_getcnt(void) { // ---- I/O -static void IOOUTCALL artic_o5c(UINT port, REG8 dat) { +static void IOOUTCALL artic_o5f(UINT port, REG8 dat) { (void)port; (void)dat; @@ -86,7 +86,7 @@ void artic_reset(void) { void artic_bind(void) { - iocore_attachout(0x005c, artic_o5c); + iocore_attachout(0x005f, artic_o5f); iocore_attachinp(0x005c, artic_i5c); iocore_attachinp(0x005d, artic_i5d); iocore_attachinp(0x005e, artic_i5d);