--- xmil/io/iocore.c 2004/08/09 02:47:01 1.8 +++ xmil/io/iocore.c 2004/08/12 17:57:36 1.9 @@ -180,11 +180,22 @@ static const IOOUT defout[0x20] = { memio_ram, port1fxx_o}; +typedef void (*INITFN)(void); + +static const INITFN initfn[] = { + cgrom_reset, cmt_reset, crtc_reset, + ctc_reset, dmac_reset, fdc_reset, + memio_reset, pcg_reset, ppi_reset, + sio_reset, sndboard_reset, subcpu_reset, + vramio_reset}; + // ---- void iocore_reset(void) { + UINT i; + ZeroMemory(&iocore, sizeof(iocore)); CopyMemory(iocore.e.inpfn, definp, sizeof(definp)); CopyMemory(iocore.e.outfn, defout, sizeof(defout)); @@ -204,6 +215,9 @@ void iocore_reset(void) { iocore.e.inpfn[0x07] = opm_i; iocore.e.outfn[0x07] = opm_o; } + for (i=0; i