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
|
||||
SECTION .data
|
||||
ALIGN32
|
||||
|
||||
Filter dd 0,0,240,0,488,-240,460,-208
|
||||
|
||||
SECTION .bss
|
||||
prev0 resd 1 ; previous value 1
|
||||
prev1 resd 1 ; previous value 2
|
||||
nextsamp resd 1 ; next sample
|
||||
filter0 resd 1 ; filter 0
|
||||
filter1 resd 1 ; filter 1
|
||||
bshift resd 1
|
||||
sampleleft resd 1 ; 8 bytes/sample
|
||||
prev0 dd 0 ; previous value 1
|
||||
prev1 dd 0 ; previous value 2
|
||||
nextsamp dd 0 ; next sample
|
||||
filter0 dd 0 ; filter 0
|
||||
filter1 dd 0 ; filter 1
|
||||
bshift dd 0
|
||||
sampleleft dd 0 ; 8 bytes/sample
|
||||
|
||||
lastbl resd 1 ; Last block if = 1
|
||||
loopbl resd 1 ; Loop if = 1
|
||||
usenoisedata resd 1
|
||||
lastbl dd 0 ; Last block if = 1
|
||||
loopbl dd 0 ; Loop if = 1
|
||||
usenoisedata dd 0
|
||||
|
||||
|
||||
SECTION .data
|
||||
ALIGN32
|
||||
|
||||
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
|
||||
@@ -2568,11 +2568,6 @@ NEWSYM FIRTAPVal5, resd 1
|
||||
NEWSYM FIRTAPVal6, resd 1
|
||||
NEWSYM FIRTAPVal7, resd 1
|
||||
|
||||
SECTION .data
|
||||
ALIGN32
|
||||
NEWSYM MaxEcho, dd 172
|
||||
|
||||
SECTION .bss
|
||||
NEWSYM CEchoPtr, resd 1
|
||||
NEWSYM EchoFB, resd 1
|
||||
|
||||
@@ -2626,9 +2621,13 @@ NEWSYM Voice5FirstBlock, resb 1
|
||||
NEWSYM Voice6FirstBlock, resb 1
|
||||
NEWSYM Voice7FirstBlock, resb 1
|
||||
|
||||
marksave2:
|
||||
|
||||
SECTION .data
|
||||
ALIGN32
|
||||
|
||||
NEWSYM MaxEcho, dd 172
|
||||
|
||||
; |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
|
||||
@@ -2710,8 +2709,10 @@ NEWSYM AdsrSustLevLoc, db 58,39,27,19,13,8,3,1
|
||||
|
||||
dspsave equ marksave-BRRBuffer
|
||||
dspconvb equ marksave-Voice0Freq
|
||||
dspsave2 equ marksave2-echoon0
|
||||
NEWSYM PHdspsave, dd dspsave
|
||||
NEWSYM PHdspconvb, dd dspconvb
|
||||
NEWSYM PHdspsave2, dd dspsave2
|
||||
|
||||
SECTION .bss
|
||||
spc700temp resd 2
|
||||
|
||||
@@ -60,8 +60,8 @@ static void copy_spc_data(unsigned char **buffer, void (*copy_func)(unsigned cha
|
||||
{
|
||||
//SPC stuff, DSP stuff
|
||||
copy_func(buffer, spcRam, PHspcsave);
|
||||
copy_func(buffer, BRRBuffer, PHdspsave);
|
||||
copy_func(buffer, DSPMem, sizeof(DSPMem));
|
||||
copy_func(buffer, &BRRBuffer, PHdspsave);
|
||||
copy_func(buffer, &DSPMem, sizeof(DSPMem));
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
copy_spc_data(&buffer, copy_func);
|
||||
if (buffer) //Rewind stuff
|
||||
{
|
||||
copy_func(&buffer, &echoon0, PHdspsave2);
|
||||
}
|
||||
}
|
||||
|
||||
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 SfxR0, ReadHead, *setaramdata, ramsize, *sram;
|
||||
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 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 bool C4Enable, SFXEnable, SA1Enable, SPC7110Enable, SETAEnable, spcon, SRAMState;
|
||||
|
||||
@@ -131,6 +131,7 @@ EXTSYM SetupSramSize
|
||||
EXTSYM IntlEHi
|
||||
EXTSYM CHIPBATT,SFXEnable,C4Enable,SPC7110Enable,RTCEnable,SA1Enable,SDD1Enable,OBCEnable
|
||||
EXTSYM SETAEnable,ST18Enable,SGBEnable,DSP1Enable,DSP2Enable,DSP3Enable,DSP4Enable,BSEnable
|
||||
EXTSYM clearvidsound
|
||||
|
||||
EXTSYM calculate_state_sizes,InitRewindVars
|
||||
|
||||
@@ -1582,12 +1583,9 @@ NEWSYM init65816
|
||||
mov dword[ram7fa+65528],01010101h
|
||||
mov dword[ram7fa+65532],01010101h
|
||||
.notbsx2
|
||||
xor eax,eax
|
||||
helpclearmem [vram], 65536
|
||||
helpclearmem vidmemch2, 4096
|
||||
helpclearmem vidmemch4, 4096
|
||||
helpclearmem vidmemch8, 4096
|
||||
|
||||
pushad
|
||||
call clearvidsound
|
||||
popad
|
||||
mov dword[wramreadptr],getwram1fff
|
||||
mov dword[wramwriteptr],setwram1fff
|
||||
ret
|
||||
|
||||
@@ -1334,6 +1334,20 @@ void clearmem2()
|
||||
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