Init'd a ton of sound vars. Rewind backups more sound vars. Netplay fixes round 4.
This commit is contained in:
@@ -2038,23 +2038,23 @@ NoisePtr resd 1
|
|||||||
|
|
||||||
; used only in dspproc.asm
|
; used only in dspproc.asm
|
||||||
SECTION .data
|
SECTION .data
|
||||||
|
ALIGN32
|
||||||
|
|
||||||
Filter dd 0,0,240,0,488,-240,460,-208
|
Filter dd 0,0,240,0,488,-240,460,-208
|
||||||
|
|
||||||
SECTION .bss
|
prev0 dd 0 ; previous value 1
|
||||||
prev0 resd 1 ; previous value 1
|
prev1 dd 0 ; previous value 2
|
||||||
prev1 resd 1 ; previous value 2
|
nextsamp dd 0 ; next sample
|
||||||
nextsamp resd 1 ; next sample
|
filter0 dd 0 ; filter 0
|
||||||
filter0 resd 1 ; filter 0
|
filter1 dd 0 ; filter 1
|
||||||
filter1 resd 1 ; filter 1
|
bshift dd 0
|
||||||
bshift resd 1
|
sampleleft dd 0 ; 8 bytes/sample
|
||||||
sampleleft resd 1 ; 8 bytes/sample
|
|
||||||
|
|
||||||
lastbl resd 1 ; Last block if = 1
|
lastbl dd 0 ; Last block if = 1
|
||||||
loopbl resd 1 ; Loop if = 1
|
loopbl dd 0 ; Loop if = 1
|
||||||
usenoisedata resd 1
|
usenoisedata dd 0
|
||||||
|
|
||||||
|
|
||||||
SECTION .data
|
|
||||||
ALIGN32
|
|
||||||
|
|
||||||
VolumeTableD
|
VolumeTableD
|
||||||
db 0,3,6,9,12,15,17,18,19,21,22,23,24,24,26,28,30,31,33,35,36,38,40,41,43,45,46,48,49
|
db 0,3,6,9,12,15,17,18,19,21,22,23,24,24,26,28,30,31,33,35,36,38,40,41,43,45,46,48,49
|
||||||
@@ -2568,11 +2568,6 @@ NEWSYM FIRTAPVal5, resd 1
|
|||||||
NEWSYM FIRTAPVal6, resd 1
|
NEWSYM FIRTAPVal6, resd 1
|
||||||
NEWSYM FIRTAPVal7, resd 1
|
NEWSYM FIRTAPVal7, resd 1
|
||||||
|
|
||||||
SECTION .data
|
|
||||||
ALIGN32
|
|
||||||
NEWSYM MaxEcho, dd 172
|
|
||||||
|
|
||||||
SECTION .bss
|
|
||||||
NEWSYM CEchoPtr, resd 1
|
NEWSYM CEchoPtr, resd 1
|
||||||
NEWSYM EchoFB, resd 1
|
NEWSYM EchoFB, resd 1
|
||||||
|
|
||||||
@@ -2626,9 +2621,13 @@ NEWSYM Voice5FirstBlock, resb 1
|
|||||||
NEWSYM Voice6FirstBlock, resb 1
|
NEWSYM Voice6FirstBlock, resb 1
|
||||||
NEWSYM Voice7FirstBlock, resb 1
|
NEWSYM Voice7FirstBlock, resb 1
|
||||||
|
|
||||||
|
marksave2:
|
||||||
|
|
||||||
SECTION .data
|
SECTION .data
|
||||||
ALIGN32
|
ALIGN32
|
||||||
|
|
||||||
|
NEWSYM MaxEcho, dd 172
|
||||||
|
|
||||||
; |AR Time 0 to 1|DR|Time 1 to SL|SL|Ratio| SR Time 1to 1/10|
|
; |AR Time 0 to 1|DR|Time 1 to SL|SL|Ratio| SR Time 1to 1/10|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
; |0 | 4.1 sec | 0| 1.2 sec | 0| 1/8 | 0| INF |10|1.2 sec
|
; |0 | 4.1 sec | 0| 1.2 sec | 0| 1/8 | 0| INF |10|1.2 sec
|
||||||
@@ -2710,8 +2709,10 @@ NEWSYM AdsrSustLevLoc, db 58,39,27,19,13,8,3,1
|
|||||||
|
|
||||||
dspsave equ marksave-BRRBuffer
|
dspsave equ marksave-BRRBuffer
|
||||||
dspconvb equ marksave-Voice0Freq
|
dspconvb equ marksave-Voice0Freq
|
||||||
|
dspsave2 equ marksave2-echoon0
|
||||||
NEWSYM PHdspsave, dd dspsave
|
NEWSYM PHdspsave, dd dspsave
|
||||||
NEWSYM PHdspconvb, dd dspconvb
|
NEWSYM PHdspconvb, dd dspconvb
|
||||||
|
NEWSYM PHdspsave2, dd dspsave2
|
||||||
|
|
||||||
SECTION .bss
|
SECTION .bss
|
||||||
spc700temp resd 2
|
spc700temp resd 2
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ static void copy_spc_data(unsigned char **buffer, void (*copy_func)(unsigned cha
|
|||||||
{
|
{
|
||||||
//SPC stuff, DSP stuff
|
//SPC stuff, DSP stuff
|
||||||
copy_func(buffer, spcRam, PHspcsave);
|
copy_func(buffer, spcRam, PHspcsave);
|
||||||
copy_func(buffer, BRRBuffer, PHdspsave);
|
copy_func(buffer, &BRRBuffer, PHdspsave);
|
||||||
copy_func(buffer, DSPMem, sizeof(DSPMem));
|
copy_func(buffer, &DSPMem, sizeof(DSPMem));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void copy_extra_data(unsigned char **buffer, void (*copy_func)(unsigned char **, void *, size_t))
|
static void copy_extra_data(unsigned char **buffer, void (*copy_func)(unsigned char **, void *, size_t))
|
||||||
@@ -97,6 +97,10 @@ static void copy_state_data(unsigned char *buffer, void (*copy_func)(unsigned ch
|
|||||||
if (spcon)
|
if (spcon)
|
||||||
{
|
{
|
||||||
copy_spc_data(&buffer, copy_func);
|
copy_spc_data(&buffer, copy_func);
|
||||||
|
if (buffer) //Rewind stuff
|
||||||
|
{
|
||||||
|
copy_func(&buffer, &echoon0, PHdspsave2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (C4Enable)
|
if (C4Enable)
|
||||||
|
|||||||
@@ -32,10 +32,10 @@ extern unsigned int soundcycleft, spc700read, timer2upd, xa, PHnum2writesfxreg;
|
|||||||
extern unsigned int spcnumread, spchalted, opcd, HIRQCycNext, oamaddr;
|
extern unsigned int spcnumread, spchalted, opcd, HIRQCycNext, oamaddr;
|
||||||
extern unsigned int SfxR0, ReadHead, *setaramdata, ramsize, *sram;
|
extern unsigned int SfxR0, ReadHead, *setaramdata, ramsize, *sram;
|
||||||
extern unsigned int tempesi, tempedi, tempedx, tempebp;
|
extern unsigned int tempesi, tempedi, tempedx, tempebp;
|
||||||
extern unsigned int SPCMultA, PHnum2writespc7110reg;
|
extern unsigned int SPCMultA, PHnum2writespc7110reg, PHdspsave2;
|
||||||
extern unsigned char sndrot, spcRam[65472];
|
extern unsigned char sndrot, spcRam[65472];
|
||||||
extern unsigned char DSPMem[256], SA1Status, *SA1RAMArea, DSP1Type, DSP1COp;
|
extern unsigned char DSPMem[256], SA1Status, *SA1RAMArea, DSP1Type, DSP1COp;
|
||||||
extern unsigned char prevoamptr, BRRBuffer[32], *romdata, curcyc;
|
extern unsigned char prevoamptr, BRRBuffer[32], *romdata, curcyc, echoon0;
|
||||||
extern unsigned char vidmemch4[4096], vidmemch8[4096], vidmemch2[4096];
|
extern unsigned char vidmemch4[4096], vidmemch8[4096], vidmemch2[4096];
|
||||||
|
|
||||||
extern bool C4Enable, SFXEnable, SA1Enable, SPC7110Enable, SETAEnable, spcon, SRAMState;
|
extern bool C4Enable, SFXEnable, SA1Enable, SPC7110Enable, SETAEnable, spcon, SRAMState;
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ EXTSYM SetupSramSize
|
|||||||
EXTSYM IntlEHi
|
EXTSYM IntlEHi
|
||||||
EXTSYM CHIPBATT,SFXEnable,C4Enable,SPC7110Enable,RTCEnable,SA1Enable,SDD1Enable,OBCEnable
|
EXTSYM CHIPBATT,SFXEnable,C4Enable,SPC7110Enable,RTCEnable,SA1Enable,SDD1Enable,OBCEnable
|
||||||
EXTSYM SETAEnable,ST18Enable,SGBEnable,DSP1Enable,DSP2Enable,DSP3Enable,DSP4Enable,BSEnable
|
EXTSYM SETAEnable,ST18Enable,SGBEnable,DSP1Enable,DSP2Enable,DSP3Enable,DSP4Enable,BSEnable
|
||||||
|
EXTSYM clearvidsound
|
||||||
|
|
||||||
EXTSYM calculate_state_sizes,InitRewindVars
|
EXTSYM calculate_state_sizes,InitRewindVars
|
||||||
|
|
||||||
@@ -1582,12 +1583,9 @@ NEWSYM init65816
|
|||||||
mov dword[ram7fa+65528],01010101h
|
mov dword[ram7fa+65528],01010101h
|
||||||
mov dword[ram7fa+65532],01010101h
|
mov dword[ram7fa+65532],01010101h
|
||||||
.notbsx2
|
.notbsx2
|
||||||
xor eax,eax
|
pushad
|
||||||
helpclearmem [vram], 65536
|
call clearvidsound
|
||||||
helpclearmem vidmemch2, 4096
|
popad
|
||||||
helpclearmem vidmemch4, 4096
|
|
||||||
helpclearmem vidmemch8, 4096
|
|
||||||
|
|
||||||
mov dword[wramreadptr],getwram1fff
|
mov dword[wramreadptr],getwram1fff
|
||||||
mov dword[wramwriteptr],setwram1fff
|
mov dword[wramwriteptr],setwram1fff
|
||||||
ret
|
ret
|
||||||
|
|||||||
@@ -1334,6 +1334,20 @@ void clearmem2()
|
|||||||
clearSPCRAM();
|
clearSPCRAM();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern unsigned char BRRBuffer[32];
|
||||||
|
extern unsigned char echoon0;
|
||||||
|
extern unsigned int PHdspsave;
|
||||||
|
extern unsigned int PHdspsave2;
|
||||||
|
|
||||||
|
void clearvidsound()
|
||||||
|
{
|
||||||
|
memset(vram, 0, 65536);
|
||||||
|
memset(vidmemch2, 0, 4096);
|
||||||
|
memset(vidmemch4, 0, 4096);
|
||||||
|
memset(vidmemch8, 0, 4096);
|
||||||
|
memset(&BRRBuffer, 0, PHdspsave);
|
||||||
|
memset(&echoon0, 0, PHdspsave2);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user