--- np2/statsave.c 2003/10/17 07:17:20 1.3 +++ np2/statsave.c 2003/10/20 12:08:01 1.8 @@ -43,14 +43,13 @@ typedef struct { enum { NP2FLAG_BIN = 0, NP2FLAG_TERM, - NP2FLAG_CORE, + NP2FLAG_CLOCK, NP2FLAG_DMA, NP2FLAG_EGC, NP2FLAG_EXT, NP2FLAG_EVT, NP2FLAG_GIJ, NP2FLAG_FM, - NP2FLAG_BEEP, NP2FLAG_MIDI, NP2FLAG_DISK }; @@ -349,17 +348,13 @@ static int flagload_common(NP2FFILE *f, // ----- -static int flagload_core(NP2FFILE *f, const STENTRY *t) { +static int flagload_clock(NP2FFILE *f, const STENTRY *t) { int ret; ret = flagload_common(f, t); - if (opna_rate) { - pc.sampleclock = (pc.realclock / opna_rate) + 1; - } - else { - pc.sampleclock = 0; - } + sound_changeclock(); + beep_changeclock(); return(ret); } @@ -499,9 +494,6 @@ static int flagload_ext(NP2FFILE *f, con // ----- typedef struct { - SINT32 remainclock; - SINT32 baseclock; - UINT32 clock; UINT readyevents; UINT waitevents; } NEVTSAVE; @@ -540,9 +532,6 @@ static int flagsave_evt(NP2FFILE *f, con int ret; UINT i; - nevt.remainclock = nevent.remainclock; - nevt.baseclock = nevent.baseclock; - nevt.clock = nevent.clock; nevt.readyevents = nevent.readyevents; nevt.waitevents = nevent.waitevents; @@ -601,9 +590,6 @@ static int flagload_evt(NP2FFILE *f, con ret = flagload_load(f, &nevt, sizeof(nevt)); - nevent.remainclock = nevt.remainclock; - nevent.baseclock = nevt.baseclock; - nevent.clock = nevt.clock; nevent.readyevents = 0; nevent.waitevents = 0; @@ -742,7 +728,7 @@ static int flagsave_fm(NP2FFILE *f, cons if (saveflg & FLAG_FM1A) { ret |= flagsave_save(f, &fmtimer, sizeof(fmtimer)); ret |= flagsave_save(f, &opn, sizeof(opn)); - CopyMemory(opnkey.keyreg, fm_keyreg, sizeof(fm_keyreg)); + CopyMemory(opnkey.keyreg, opngen.keyreg, sizeof(opngen.keyreg)); opnkey.extop[0] = opnch[2].extop; opnkey.extop[1] = opnch[5].extop; opnkey.extop[2] = opnch[8].extop; @@ -784,7 +770,7 @@ static void play_fmreg(BYTE num) { opngen_setreg((BYTE)chbase, (BYTE)i, opn.reg[reg + i]); } for (i=0; i<3; i++) { - opngen_keyon(chbase + i, fm_keyreg[chbase + i]); + opngen_keyon(chbase + i, opngen.keyreg[chbase + i]); } } @@ -867,7 +853,7 @@ static int flagload_fm(NP2FFILE *f, cons ret |= flagload_load(f, &fmtimer, sizeof(fmtimer)); ret |= flagload_load(f, &opn, sizeof(opn)); ret |= flagload_load(f, &opnkey, sizeof(opnkey)); - CopyMemory(fm_keyreg, &opnkey.keyreg, sizeof(fm_keyreg)); + CopyMemory(opngen.keyreg, &opnkey.keyreg, sizeof(opngen.keyreg)); opnch[2].extop = opnkey.extop[0]; opnch[5].extop = opnkey.extop[1]; opnch[8].extop = opnkey.extop[2]; @@ -1174,8 +1160,7 @@ int statsave_save(const char *filename) for (i=0; i