--- np2/io/artic.c 2003/12/08 00:55:32 1.3 +++ np2/io/artic.c 2007/11/03 00:00:20 1.8 @@ -9,14 +9,14 @@ void artic_callback(void) { SINT32 mul; SINT32 leng; - mul = pc.multiple; - if (pc.baseclock == PCBASECLOCK25) { - mul *= 16; + mul = pccore.multiple; + 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) { @@ -31,14 +31,14 @@ static UINT32 artic_getcnt(void) { SINT32 mul; SINT32 leng; - mul = pc.multiple; - if (pc.baseclock != PCBASECLOCK20) { - mul *= 16; + mul = pccore.multiple; + 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; @@ -79,14 +79,16 @@ static REG8 IOINPCALL artic_i5f(UINT por // ---- I/F -void artic_reset(void) { +void artic_reset(const NP2CFG *pConfig) { ZeroMemory(&artic, sizeof(artic)); + + (void)pConfig; } 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);