games/snes: save more audio state
This commit is contained in:
parent
dbb320ca90
commit
844612fcb8
3 changed files with 56 additions and 0 deletions
|
@ -535,6 +535,50 @@ dspreset(void)
|
|||
dsp[FLG] = 0xe0;
|
||||
}
|
||||
|
||||
void
|
||||
dspsave(void)
|
||||
{
|
||||
vctxt *p;
|
||||
|
||||
for(p = vctxts; p < vctxts + nelem(vctxts); p++){
|
||||
put16(p->hdrp);
|
||||
put16(p->dp);
|
||||
put16(p->sp);
|
||||
put8(p->hdr);
|
||||
put8(p->bp);
|
||||
put16(p->brr);
|
||||
put8(p->envst);
|
||||
put16(p->env);
|
||||
put16(p->envbent);
|
||||
put8(p->init);
|
||||
put16(p->interp);
|
||||
put16(p->pitch);
|
||||
put16(p->modin);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
dspload(void)
|
||||
{
|
||||
vctxt *p;
|
||||
|
||||
for(p = vctxts; p < vctxts + nelem(vctxts); p++){
|
||||
p->hdrp = get16();
|
||||
p->dp = get16();
|
||||
p->sp = get16();
|
||||
p->hdr = get8();
|
||||
p->bp = get8();
|
||||
p->brr = get16();
|
||||
p->envst = get8();
|
||||
p->env = get16();
|
||||
p->envbent = get16();
|
||||
p->init = get8();
|
||||
p->interp = get16();
|
||||
p->pitch = get16();
|
||||
p->modin = get16();
|
||||
}
|
||||
}
|
||||
|
||||
u16int gauss[512] = {
|
||||
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
|
||||
0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000,
|
||||
|
|
|
@ -20,3 +20,11 @@ int audioout(void);
|
|||
void flushram(void);
|
||||
void loadstate(char *);
|
||||
void savestate(char *);
|
||||
void dspsave(void);
|
||||
void dspload(void);
|
||||
int get8(void);
|
||||
int get16(void);
|
||||
int get32(void);
|
||||
void put8(u8int);
|
||||
void put16(u16int);
|
||||
void put32(u32int);
|
||||
|
|
|
@ -128,6 +128,8 @@ loadstate(char *file)
|
|||
dspstate = get8();
|
||||
dspcounter = get16();
|
||||
noise = get16();
|
||||
Bread(bp, spctimer, sizeof(spctimer));
|
||||
dspload();
|
||||
Bterm(bp);
|
||||
}
|
||||
|
||||
|
@ -186,5 +188,7 @@ savestate(char *file)
|
|||
put8(dspstate);
|
||||
put16(dspcounter);
|
||||
put16(noise);
|
||||
Bwrite(bp, spctimer, sizeof(spctimer));
|
||||
dspsave();
|
||||
Bterm(bp);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue