rendered paste bodyIndex: Makefile.in
===================================================================
--- Makefile.in (revision 4995)
+++ Makefile.in (working copy)
@@ -28,6 +28,7 @@
TOOL_D=tools
VID_D=video
ZIP_D=zip
+SPC_D=zspc-0.9.0
PSR=parsegen
PSR_H=cfg.h md.h input.h
@@ -43,9 +44,9 @@
$(CHIP_D)/seta10.o $(CHIP_D)/seta11.o
CPU_AO=$(CPU_D)/dma.o $(CPU_D)/execute.o $(CPU_D)/irq.o $(CPU_D)/memory.o\
- $(CPU_D)/spc700.o $(CPU_D)/stable.o $(CPU_D)/table.o $(CPU_D)/tablec.o
-CPU_CO=$(CPU_D)/dsp.o $(CPU_D)/dspwrap.o $(CPU_D)/executec.o $(CPU_D)/memtable.o\
- $(CPU_D)/spc.o $(CPU_D)/spc_cpu.o
+ $(CPU_D)/stable.o $(CPU_D)/table.o $(CPU_D)/tablec.o
+CPU_CO=$(CPU_D)/dspwrap.o $(CPU_D)/executec.o $(CPU_D)/memtable.o\
+ $(SPC_D)/SPC_DSP.o $(SPC_D)/zspc.o
DEBUG_AO=@DEBUGGER_A@
DEBUG_CO=@DEBUGGER_C@
@@ -106,9 +107,6 @@
@ZC@ -o @ZSNESEXE@ $(Z_OBJS) @ZCFLAGS@ @LDFLAGS@
rm -f version.o
-playspc: playspc.o $(CPU_D)/dsp.o $(CPU_D)/dspwrap.o $(CPU_D)/spc700.o
- @CC@ -lao -o $@ $^
-
$(PSR): parsegen.cpp
@CXX@ @CXXFLAGS@ -o $@ $< -lz
@@ -160,7 +158,7 @@
rm -f @bindir@/$(notdir @ZSNESEXE@) @mandir@/man1/zsnes.1
clean:
- rm -f makefile.dep $(Z_OBJS) $(PSR) $(PSR_H) @ZSNESEXE@ playspc
+ rm -f makefile.dep $(Z_OBJS) $(PSR) $(PSR_H) @ZSNESEXE@
cclean:
rm -f $(Z_COBJS) $(PSR) $(PSR_H) @ZSNESEXE@
tclean:
Index: cpu/regsw.inc
===================================================================
--- cpu/regsw.inc (revision 4995)
+++ cpu/regsw.inc (working copy)
@@ -21,7 +21,7 @@
EXTSYM initsfxregsw,reg420Bw,reg420Cw,regptw,initSA1regsw,SDD1Reset
EXTSYM SPC7110Reset,RTCReset2,NextLineCache,vidmemch2,vidmemch4
-EXTSYM vidmemch8,vrama,nmirept,SPCRAM,HIRQCycNext,HIRQNextExe,tableadc
+EXTSYM vidmemch8,vrama,nmirept,HIRQCycNext,HIRQNextExe,tableadc
EXTSYM cycpb268,cycpb358,cycpbl,cycpblt,opexec268,opexec268cph,opexec358
EXTSYM opexec358cph
@@ -1224,9 +1224,9 @@
jne .n
mov byte[nmirept],0
.n
- mov [SPCRAM+0F4h],al
- inc dword[SPC700write]
- reenablespc
+ ;mov [SPCRAM+0F4h],al
+ ;inc dword[SPC700write]
+ ;reenablespc
ret
; cmp dword[cycpbl],0FFFFh
; ja .spcreset
@@ -1241,9 +1241,9 @@
%ifndef NO_DEBUGGER
mov byte[sndwrit],1
%endif
- mov [SPCRAM+0F5h],al
- inc dword[SPC700write]
- reenablespc
+ ;mov [SPCRAM+0F5h],al
+ ;inc dword[SPC700write]
+ ;reenablespc
ret
; cmp dword[cycpbl],0FFFFh
; ja .spcreset
@@ -1258,9 +1258,9 @@
%ifndef NO_DEBUGGER
mov byte[sndwrit],1
%endif
- mov [SPCRAM+0F6h],al
- inc dword[SPC700write]
- reenablespc
+ ;mov [SPCRAM+0F6h],al
+ ;inc dword[SPC700write]
+ ;reenablespc
ret
; cmp dword[cycpbl],0FFFFh
; ja .spcreset
@@ -1275,9 +1275,9 @@
%ifndef NO_DEBUGGER
mov byte[sndwrit],1
%endif
- mov [SPCRAM+0F7h],al
- inc dword[SPC700write]
- reenablespc
+ ;mov [SPCRAM+0F7h],al
+ ;inc dword[SPC700write]
+ ;reenablespc
ret
; cmp dword[cycpbl],0FFFFh
; ja .spcreset
Index: cpu/execute.asm
===================================================================
--- cpu/execute.asm (revision 4995)
+++ cpu/execute.asm (working copy)
@@ -35,7 +35,7 @@
EXTSYM StartDrawNewGfx,VIRQLoc,cachevideo,cfield,cheatdata,curblank,curnmi
EXTSYM curypos,cycpl,doirqnext,drawline,exechdma,hdmadelay,intrset,newengen
EXTSYM oamaddr,oamaddrs,resolutn,showvideo,starthdma,switchtonmi,switchtovirq
-EXTSYM totlines,updatetimer,SA1Swap,SA1DoIRQ,JoyAOrig,JoyANow,JoyBOrig,JoyBNow
+EXTSYM totlines,SA1Swap,SA1DoIRQ,JoyAOrig,JoyANow,JoyBOrig,JoyBNow
EXTSYM JoyCOrig,JoyCNow,JoyDOrig,JoyDNow,JoyEOrig,JoyENow,SA1Message
EXTSYM MultiTapStat,SA1Control,SA1Enable,SA1IRQEnable,SPC700read
EXTSYM SPC700write,SA1IRQExec,ForceNewGfxOff,LethEnData
@@ -1016,10 +1016,10 @@
jae near .overy
cmp byte[spcon],0
je .nosound
- call updatetimer
- pushad
- call catchup
- popad
+ ;call updatetimer
+ ;pushad
+ ;call catchup
+ ;popad
.nosound
mov ax,[resolutn]
inc ax
@@ -1449,13 +1449,13 @@
inc esi
jmp execloop.startagain
.overy
- add dword[spc_scantime], 33
- push dword[spc_scantime]
- pop dword[spc_time]
- call catchup
- pushad
- call dsp_run_wrap
- popad
+; add dword[spc_scantime], 33
+; push dword[spc_scantime]
+; pop dword[spc_time]
+; call catchup
+; pushad
+; call dsp_run_wrap
+; popad
mov dh,80
%ifdef __MSDOS__
cmp byte[smallscreenon],1
@@ -1890,7 +1890,7 @@
test byte[curexecstate],2
jz .nosoundb
- catchupspc
+; catchupspc
.skipallspc
.nosoundb
@@ -1942,7 +1942,7 @@
cmp byte[spcon],0
je .nosound
- call updatetimer
+ ;call updatetimer
; call catchup
; pushad
; call dsp_run_wrap
Index: cpu/regsw.mac
===================================================================
--- cpu/regsw.mac (revision 4995)
+++ cpu/regsw.mac (working copy)
@@ -38,11 +38,11 @@
div bl
xor ah,ah
- add eax, [spc_scantime]
- cmp eax, [spc_time]
+ ;add eax, [spc_scantime]
+ ;cmp eax, [spc_time]
js %%backwards
- mov [spc_time], eax
- call catchup
+ ;mov [spc_time], eax
+ ;call catchup
%%backwards
popad
%endmacro
Index: cpu/dspwrap.c
===================================================================
--- cpu/dspwrap.c (revision 4995)
+++ cpu/dspwrap.c (working copy)
@@ -28,12 +28,19 @@
#include "dsp.h"
#include "../asm_call.h"
+#include "../zspc-0.9.0/zspc.h"
//C++ style code in C
#define true 1
#define false 0
void InitSPC()
{
+
+ puts("Calling zspc_init()");
+ zspc_init();
+ zspc_end_frame( 10 );
+
+/*
void InitSPCRegs();
extern unsigned char SPCRAM[0x10000];
extern bool romispal;
@@ -42,26 +49,27 @@
dsp_init(SPCRAM);
dsp_reset();
InitDSPControl(romispal);
+*/
}
int DSP_reg, DSP_val;
void dsp_read_wrap()
{
- DSP_val = dsp_read(DSP_reg);
+ //DSP_val = dsp_read(DSP_reg);
}
void dsp_write_wrap()
{
- dsp_write(DSP_reg, DSP_val);
+ //dsp_write(DSP_reg, DSP_val);
}
#ifdef __LIBAO__
void SoundWrite_ao();
#endif
void write_audio(short *sample_buffer, size_t sample_count);
-extern unsigned char cycpbl;
-extern unsigned int spcCycle;
+//extern unsigned char cycpbl;
+//extern unsigned int spcCycle;
short dsp_samples_buffer[1280*5]; //Buffer 5 frames for even PAL
const size_t dsp_buffer_size = sizeof(dsp_samples_buffer)/sizeof(short);
@@ -95,7 +103,7 @@
sample_control.balance = sample_control.hi;
memset(dsp_samples_buffer, 0, sizeof(dsp_samples_buffer));
mid_samples = next_samples = dsp_sample_count = lastCycle = cycles_remaining = 0;
- lastCycle = spcCycle = 32;
+ //lastCycle = spcCycle = 32;
}
void dsp_samples_push(short *buffer, size_t amount)
@@ -135,6 +143,7 @@
void dsp_run_wrap()
{
+/*
short buffer[1280*2]; //Big enough for two PAL frames
int i = cycles_remaining+spcCycle-lastCycle, samples = i >> 5;
@@ -149,4 +158,5 @@
dsp_samples_push(buffer, samples*2);
}
lastCycle = spcCycle;
+*/
}
Index: cpu/65816dc.inc
===================================================================
--- cpu/65816dc.inc (revision 4995)
+++ cpu/65816dc.inc (working copy)
@@ -26,8 +26,6 @@
;*******************************************************
EXTSYM clocktable,spcCycle
-%include "cpu/spccycle.inc"
-
%macro endloop 0
xor ebx,ebx
mov bl,[esi]
Index: cpu/regs.inc
===================================================================
--- cpu/regs.inc (revision 4995)
+++ cpu/regs.inc (working copy)
@@ -21,9 +21,7 @@
EXTSYM SFXEnable,regptr,initsfxregsr,initSA1regs,SA1Enable,initSDD1regs
EXTSYM SPC7110Enable,initSPC7110regs,RTCEnable,RTCReset,curypos,cycpl
-EXTSYM pdh,vram,romispal,reg1read,spcnumread,spcon,reg2read,reg3read
-EXTSYM reg4read,JoyEOrig,JoyENow,device2,cycphb,joycontren,totlines
-EXTSYM spc_scantime,spc_time
+EXTSYM pdh,vram,romispal,JoyEOrig,JoyENow,device2,cycphb,joycontren,totlines
%ifndef NO_DEBUGGER
EXTSYM debuggeron
@@ -787,144 +785,21 @@
; Sound Reg #1
reg2140r:
%ifdef __BLARGG_SPC__
-%else
- cmp byte[spcon],0
- je .nosound
- inc dword[SPC700read]
- catchupspc
- mov al,[reg1read]
- mov byte[spcnumread],0
-
- ret
-.nosound
- ; Find for D0
- mov ebx,esi
- cmp word[ebx],0FB10h
- jne .noret
- mov word[ebx],0EAEAh
-.noret
- mov al,5
-.tryagain
- cmp byte[ebx],0D0h
- je .foundit
- inc ebx
- dec al
- jnz .tryagain
- jmp .notfound
-.foundit
- mov byte[ebx],0EAh
- mov byte[ebx+1],0EAh
-.notfound
- inc byte[sndrot2]
- cmp byte[sndrot2],3
- jne .a
- mov byte[sndrot2],0
-.a
- xor al,al
- test byte[sndrot2],01h
- jz .n
- mov al,[xa]
-.n
- ret
%endif
; Sound Reg #2
reg2141r:
%ifdef __BLARGG_SPC__
-%else
- cmp byte[spcon],0
- je .nosound
- inc dword[SPC700read]
- catchupspc
- mov al,[reg2read]
- mov byte[spcnumread],0
- ret
-.nosound
- ; Find for D0
- mov ebx,esi
- mov al,3
-.tryagain
- cmp byte[ebx],0D0h
- je .foundit
- inc ebx
- dec al
- jnz .tryagain
- jmp .notfound
-.foundit
- mov byte[ebx],0EAh
- mov byte[ebx+1],0EAh
-.notfound
- xor byte[sndrot],01h
- mov al,[xa+1]
- test byte[sndrot],01h
- jz .n
- mov al,[xa]
-.n
- ret
%endif
; Sound Reg #3
reg2142r:
%ifdef __BLARGG_SPC__
-%else
- cmp byte[spcon],0
- je .nosound
- inc dword[SPC700read]
- catchupspc
- mov al,[reg3read]
- mov byte[spcnumread],0
- ret
-.nosound
- ; Find for D0
- mov ebx,esi
- mov al,3
-.tryagain
- cmp byte[ebx],0D0h
- je .foundit
- inc ebx
- dec al
- jnz .tryagain
- jmp .notfound
-.foundit
- mov byte[ebx],0EAh
- mov byte[ebx+1],0EAh
-.notfound
- mov al,[xa]
- test byte[sndrot],01h
- jz .n
- mov al,[xa+1]
-.n
- ret
%endif
; Sound Reg #4
reg2143r:
%ifdef __BLARGG_SPC__
-%else
- cmp byte[spcon],0
- je .nosound
- inc dword[SPC700read]
- catchupspc
- mov al,[reg4read]
- mov byte[spcnumread],0
- ret
-.nosound
- ; Find for D0
- mov ebx,esi
- mov al,3
-.tryagain
- cmp byte[ebx],0D0h
- je .foundit
- inc ebx
- dec al
- jnz .tryagain
- jmp .notfound
-.foundit
- mov byte[ebx],0EAh
- mov byte[ebx+1],0EAh
-.notfound
- mov al,[xa+1]
- ret
%endif
reg2144r:
Index: cpu/dsp.h
===================================================================
--- cpu/dsp.h (revision 4995)
+++ cpu/dsp.h (working copy)
@@ -48,11 +48,11 @@
//// private
-extern uint8_t m_dsp_regs [dsp_register_count];
+//extern uint8_t m_dsp_regs [dsp_register_count];
INLINE int dsp_read( int addr )
{
assert( (unsigned) addr < dsp_register_count );
- return m_dsp_regs [addr];
+ //return m_dsp_regs [addr];
}
#endif
Index: gui/guimisc.inc
===================================================================
--- gui/guimisc.inc (revision 4995)
+++ gui/guimisc.inc (working copy)
@@ -480,21 +480,21 @@
call init65816
pushad
call procexecloop
- call dsp_reset
+ ;call dsp_reset
popad
- xor eax,eax
- mov edx,SPCRAM
- mov ax,0FFC0h
- add edx,eax
- mov [spcPCRam],edx
- mov dword[spcS],1EFh
- mov dword[spcRamDP],SPCRAM
- mov byte[spcA],0
- mov byte[spcX],0
- mov byte[spcY],0
- mov byte[spcP],0
- mov byte[spcNZ],0
+ ;xor eax,eax
+ ;mov edx,SPCRAM
+ ;mov ax,0FFC0h
+ ;add edx,eax
+ ;mov [spcPCRam],edx
+ ;mov dword[spcS],1EFh
+ ;mov dword[spcRamDP],SPCRAM
+ ;mov byte[spcA],0
+ ;mov byte[spcX],0
+ ;mov byte[spcY],0
+ ;mov byte[spcP],0
+ ;mov byte[spcNZ],0
; mov byte[Voice0Status],0
; mov byte[Voice1Status],0
; mov byte[Voice2Status],0
Index: configure.in
===================================================================
--- configure.in (revision 4995)
+++ configure.in (working copy)
@@ -329,6 +329,7 @@
JMA_FILES=""
ZC="$CC"
ZCFLAGS="$CFLAGS"
+ CXXFLAGS+=" -fno-exceptions"
fi
dnl - Check for header files
Index: initc.c
===================================================================
--- initc.c (revision 4995)
+++ initc.c (working copy)
@@ -1410,7 +1410,7 @@
extern uint8_t pal16bcl[1024];
extern uint8_t pal16bclha[1024];
extern uint8_t pal16bxcl[256];
-extern uint8_t SPCRAM[65472];
+//extern uint8_t SPCRAM[65472];
extern uint8_t *vidbuffer;
extern uint8_t *vram;
@@ -1418,6 +1418,7 @@
extern uint8_t *vcache4b;
extern uint8_t *vcache8b;
+#if 0
void clearSPCRAM()
{
/*
@@ -1440,11 +1441,12 @@
memset(SPCRAM+i+0x20, 0xFF, 0x20);
}
}
+#endif
void clearmem2()
{
memset(sram, 0xFF, 65536);
- clearSPCRAM();
+ //clearSPCRAM();
}
void clearmem()
@@ -1823,7 +1825,7 @@
}
extern uint32_t nmiprevaddrl, nmiprevaddrh, nmirept, nmiprevline, nmistatus;
-extern uint8_t spcnumread, yesoutofmemory;
+extern uint8_t yesoutofmemory;
extern uint8_t NextLineCache, sramsavedis, sndrot, regsbackup[3019];
/*
extern uint32_t Voice0Freq, Voice1Freq, Voice2Freq, Voice3Freq;
@@ -2588,7 +2590,7 @@
nmirept = 0;
nmiprevline = 224;
nmistatus = 0;
- spcnumread = 0;
+ //spcnumread = 0;
NextLineCache = 0;
curexecstate = 1;
@@ -2626,7 +2628,7 @@
}
extern uint8_t osm2dis, ReturnFromSPCStall, SPCStallSetting, prevoamptr;
-extern uint8_t reg1read, reg2read, reg3read, reg4read, NMIEnab, INTEnab;
+extern uint8_t NMIEnab, INTEnab;
extern uint8_t doirqnext, vidbright, forceblnk, timeron, spcP, JoyAPos, JoyBPos;
extern uint8_t coladdr, coladdg, coladdb;
extern uint8_t SDD1BankA,SDD1BankB, SDD1BankC, SDD1BankD;
@@ -2634,7 +2636,7 @@
extern uint32_t numspcvblleft, SPC700read, SPC700write, spc700idle;
extern uint32_t xa, xdb, xpb, xs, xd, xx, xy, scrndis;
extern uint16_t VIRQLoc, resolutn, xpc;
-extern uint8_t spcextraram[64], SPCROM[64];
+//extern uint8_t spcextraram[64], SPCROM[64];
extern uint32_t tableD[256];
uint8_t SPCSkipXtraROM, bgfixer2 = 0, disableeffects = 0;
//This is saved in states
@@ -2748,12 +2750,12 @@
for(i = 0;i<0x40;i++)
{
- spcextraram[i] = 0xFF;
- SPCRAM[0xFFC0+i] = SPCROM[i];
+ //spcextraram[i] = 0xFF;
+ //SPCRAM[0xFFC0+i] = SPCROM[i];
}
// Clear SPC Memory
- clearSPCRAM();
+ //clearSPCRAM();
clearvidsound();
prevoamptr = 0xFF;
@@ -2775,25 +2777,25 @@
// What the hell is this?
- SPCRAM[0xF4] = 0;
- SPCRAM[0xF5] = 0;
- SPCRAM[0xF6] = 0;
- SPCRAM[0xF7] = 0;
+ //SPCRAM[0xF4] = 0;
+ //SPCRAM[0xF5] = 0;
+ //SPCRAM[0xF6] = 0;
+ //SPCRAM[0xF7] = 0;
- reg1read = 0;
- reg2read = 0;
- reg3read = 0;
- reg4read = 0;
+ //reg1read = 0;
+ //reg2read = 0;
+ //reg3read = 0;
+ //reg4read = 0;
cycpbl = 0;
- spcnumread = 0;
+ //spcnumread = 0;
NMIEnab = 1;
VIRQLoc = 0;
doirqnext = 0;
resolutn = 224;
vidbright = 0;
forceblnk = 0;
- spcP = 0;
- timeron = 0;
+ //spcP = 0;
+ //timeron = 0;
JoyAPos = 0;
JoyBPos = 0;
coladdr = 0;
Index: zmovie.c
===================================================================
--- zmovie.c (revision 4995)
+++ zmovie.c (working copy)
@@ -2663,14 +2663,14 @@
if (RecData[2] == 1)
{
- timer2upd = bytes_to_uint32(RecData+3);
+ //timer2upd = bytes_to_uint32(RecData+3);
curexecstate = bytes_to_uint32(RecData+7);
nmiprevaddrl = 0;
nmiprevaddrh = 0;
nmirept = 0;
nmiprevline = 224;
nmistatus = 0;
- spcnumread = 0;
+ //spcnumread = 0;
NextLineCache = 0;
}
Index: makefile.ms
===================================================================
--- makefile.ms (revision 4995)
+++ makefile.ms (working copy)
@@ -47,6 +47,7 @@
NTSC_D=video/snes_ntsc
WIN_D=win
ZIP_D=zip
+SPC_D=zspc-0.9.0
DELETECOMMAND=rm -f
DELPRE=rm -f
@@ -177,6 +178,7 @@
ifeq (${JMA},no)
CFLAGSORIG+= -DNO_JMA
ASMFLAGSORIG+= -DNO_JMA
+ CXXFLAGSORIG+= -fno-exceptions
ifeq (${OS},__MSDOS__)
LINK=${CC}
endif
@@ -203,7 +205,8 @@
CPUOBJ=${CPU_D}/dma${OE} ${CPU_D}/execute${OE} ${CPU_D}/executec${OE}\
${CPU_D}/irq${OE} ${CPU_D}/memory${OE} ${CPU_D}/memtable${OE}\
${CPU_D}/stable${OE} ${CPU_D}/table${OE}\
- ${CPU_D}/tablec${OE} ${CPU_D}/dsp${OE} ${CPU_D}/dspwrap${OE}
+ ${CPU_D}/tablec${OE} ${CPU_D}/dspwrap${OE} \
+ $(SPC_D)/SPC_DSP${OE} $(SPC_D)/zspc${OE}
EFFECTSOBJ=${EFF_D}/burn${OE} ${EFF_D}/water${OE} ${EFF_D}/smoke${OE}
@@ -372,15 +375,14 @@
${CHIP_D}/st11proc${OE}: ${CHIP_D}/st11proc.asm macros.mac
${CPU_D}/dma${OE}: ${CPU_D}/dma.asm macros.mac
-${CPU_D}/dsp${OE}: ${CPU_D}/dsp.c ${CPU_D}/dsp.h
-${CPU_D}/execute${OE}: ${CPU_D}/execute.asm macros.mac ${CPU_D}/spccycle.inc
+${CPU_D}/execute${OE}: ${CPU_D}/execute.asm macros.mac
${CPU_D}/executec${OE}: ${CPU_D}/executec.c gblvars.h
${CPU_D}/irq${OE}: ${CPU_D}/irq.asm macros.mac
${CPU_D}/memory${OE}: ${CPU_D}/memory.asm macros.mac
${CPU_D}/memtable${OE}: ${CPU_D}/memtable.c gblvars.h ${CPU_D}/memtable.h
${CPU_D}/dspwrap${OE}: ${CPU_D}/dspwrap.c asm_call.h ${CPU_D}/dsp.h ${CPU_D}/dspwrap.h
${CPU_D}/spc700${OE}: ${CPU_D}/spc700.asm macros.mac ${CPU_D}/regsw.mac \
- ${CPU_D}/spcaddr.inc ${CPU_D}/spccycle.inc ${CPU_D}/spcdef.inc
+ ${CPU_D}/spcaddr.inc ${CPU_D}/spcdef.inc
${CPU_D}/stable${OE}: ${CPU_D}/stable.asm macros.mac ${CPU_D}/s65816d.inc \
${CPU_D}/saddress.inc ${CPU_D}/saddrni.inc ${CPU_D}/se65816.inc
${CPU_D}/table${OE}: ${CPU_D}/table.asm macros.mac ${CPU_D}/65816d.inc \
@@ -388,8 +390,7 @@
${CPU_D}/regs.inc ${CPU_D}/regs.mac ${CPU_D}/regsw.inc \
${CPU_D}/regsw.mac
${CPU_D}/tablec${OE}: ${CPU_D}/tablec.asm macros.mac ${CPU_D}/65816dc.inc \
- ${CPU_D}/address.inc ${CPU_D}/addrni.inc ${CPU_D}/e65816c.inc \
- ${CPU_D}/spccycle.inc
+ ${CPU_D}/address.inc ${CPU_D}/addrni.inc ${CPU_D}/e65816c.inc
${DOS_D}/dosintrf${OE}: ${DOS_D}/dosintrf.asm macros.mac
${DOS_D}/gppro${OE}: ${DOS_D}/gppro.asm macros.mac
Index: zstate.c
===================================================================
--- zstate.c (revision 4995)
+++ zstate.c (working copy)
@@ -79,7 +79,7 @@
copy_func(buffer, &intrset, 1);
copy_func(buffer, &cycpl, 1);
copy_func(buffer, &cycphb, 1);
- copy_func(buffer, &spcon, 1);
+ //copy_func(buffer, &spcon, 1);
copy_func(buffer, &stackand, 2);
copy_func(buffer, &stackor, 2);
copy_func(buffer, &xat, 2);
@@ -97,16 +97,16 @@
copy_func(buffer, &Curtableaddr, 4);
copy_func(buffer, &curnmi, 1);
//SPC Timers
- copy_func(buffer, &cycpbl, 4);
- copy_func(buffer, &cycpblt, 4);
+ //copy_func(buffer, &cycpbl, 4);
+ //copy_func(buffer, &cycpblt, 4);
//SNES PPU Register status
- copy_func(buffer, &sndrot, 3019);
+ //copy_func(buffer, &sndrot, 3019);
}
static void copy_spc_data(uint8_t **buffer, void (*copy_func)(uint8_t **, void *, size_t))
{
//SPC stuff, DSP stuff
- copy_func(buffer, SPCRAM, PHspcsave);
+ //copy_func(buffer, SPCRAM, PHspcsave);
// copy_func(buffer, &BRRBuffer, PHdspsave);
// copy_func(buffer, &DSPMem, sizeof(DSPMem));
}
@@ -122,10 +122,10 @@
copy_func(buffer, &nmistatus, 4);
copy_func(buffer, &joycontren, 4);
copy_func(buffer, &NextLineCache, 1);
- copy_func(buffer, &spc700read, 10*4);
- copy_func(buffer, &timer2upd, 4);
+ //copy_func(buffer, &spc700read, 10*4);
+ //copy_func(buffer, &timer2upd, 4);
copy_func(buffer, &xa, 14*4);
- copy_func(buffer, &spcnumread, 1);
+ //copy_func(buffer, &spcnumread, 1);
copy_func(buffer, &opcd, 6*4);
copy_func(buffer, &HIRQCycNext, 4);
copy_func(buffer, &HIRQNextExe, 1);
@@ -153,7 +153,7 @@
if (spcon)
{
- copy_spc_data(&buffer, copy_func);
+ //copy_spc_data(&buffer, copy_func);
/*
if (buffer) //Rewind stuff
{
@@ -545,12 +545,12 @@
extern uintptr_t Voice0BufPtr, Voice1BufPtr, Voice2BufPtr, Voice3BufPtr;
extern uintptr_t Voice4BufPtr, Voice5BufPtr, Voice6BufPtr, Voice7BufPtr;
*/
-extern uintptr_t spcPCRam, spcRamDP;
+//extern uintptr_t spcPCRam, spcRamDP;
void PrepareSaveState()
{
- spcPCRam -= (uintptr_t)SPCRAM;
- spcRamDP -= (uintptr_t)SPCRAM;
+ //spcPCRam -= (uintptr_t)SPCRAM;
+ //spcRamDP -= (uintptr_t)SPCRAM;
/* Voice0BufPtr -= spcBuffera;
Voice1BufPtr -= spcBuffera;
@@ -616,8 +616,8 @@
void ResetState()
{
- spcPCRam += (uintptr_t)SPCRAM;
- spcRamDP += (uintptr_t)SPCRAM;
+ //spcPCRam += (uintptr_t)SPCRAM;
+ //spcRamDP += (uintptr_t)SPCRAM;
/* ResState(Voice0BufPtr);
ResState(Voice1BufPtr);
@@ -1037,7 +1037,7 @@
{
prevoamptr = 0xFF;
ioportval = 0xFF;
- spcnumread = 0;
+ //spcnumread = 0;
}
if (MovieProcessing != MOVIE_RECORD)
@@ -1065,7 +1065,7 @@
void zst_sram_load(FILE *fp)
{
fseek(fp, sizeof(zst_header_cur)-1 + PH65816regsize + 199635, SEEK_CUR);
- if (spcon) { fseek(fp, PHspcsave /*+ PHdspsave + sizeof(DSPMem)*/, SEEK_CUR); }
+ //if (spcon) { fseek(fp, PHspcsave /*+ PHdspsave + sizeof(DSPMem)*/, SEEK_CUR); }
if (C4Enable) { fseek(fp, 8192, SEEK_CUR); }
if (SFXEnable) { fseek(fp, PHnum2writesfxreg + 131072, SEEK_CUR); }
if (SA1Enable)
@@ -1104,7 +1104,7 @@
if (uncompress(buffer, &data_size, compressed_buffer, compressed_size) == Z_OK)
{
uint8_t *data = buffer + PH65816regsize + 199635;
- if (spcon) { data += PHspcsave /*+ PHdspsave + sizeof(DSPMem)*/; }
+ //if (spcon) { data += PHspcsave /*+ PHdspsave + sizeof(DSPMem)*/; }
if (C4Enable) { data += 8192; }
if (SFXEnable) { data += PHnum2writesfxreg + 131072; }
if (SA1Enable)
@@ -1373,8 +1373,8 @@
10100h-101FFh - DSPRam (256 bytes)
*/
-extern uint8_t spcextraram[64];
-extern uint8_t spcP, spcA, spcX, spcY, spcS, spcNZ;
+//extern uint8_t spcextraram[64];
+//extern uint8_t spcP, spcA, spcX, spcY, spcS, spcNZ;
extern uint32_t infoloc;
char spcsaved[16];
@@ -1408,6 +1408,7 @@
struct tm *lt = localtime(&t);
//Assemble N/Z flags into P
+/*
spcP &= 0xFD;
if (!spcNZ)
{
@@ -1418,16 +1419,17 @@
{
spcP |= 0x80;
}
+*/
strcpy((char *)ssdatst, "SNES-SPC700 Sound File Data v0.30"); //00000h - File Header : SNES-SPC700 Sound File Data v0.00
ssdatst[0x21] = ssdatst[0x22] = ssdatst[0x23] = 0x1a; //00021h - 0x1a,0x1a,0x1a
ssdatst[0x24] = 10; //00024h - 10
- *((uint16_t *)(ssdatst+0x25)) = spcPCRam-(uint32_t)SPCRAM; //00025h - PC Register value (1 Word)
- ssdatst[0x27] = spcA; //00027h - A Register Value (1 byte)
- ssdatst[0x28] = spcX; //00028h - X Register Value (1 byte)
- ssdatst[0x29] = spcY; //00029h - Y Register Value (1 byte)
- ssdatst[0x2A] = spcP; //0002Ah - Status Flags Value (1 byte)
- ssdatst[0x2B] = spcS; //0002Bh - Stack Register Value (1 byte)
+ //*((uint16_t *)(ssdatst+0x25)) = spcPCRam-(uint32_t)SPCRAM; //00025h - PC Register value (1 Word)
+ //ssdatst[0x27] = spcA; //00027h - A Register Value (1 byte)
+ //ssdatst[0x28] = spcX; //00028h - X Register Value (1 byte)
+ //ssdatst[0x29] = spcY; //00029h - Y Register Value (1 byte)
+ //ssdatst[0x2A] = spcP; //0002Ah - Status Flags Value (1 byte)
+ //ssdatst[0x2B] = spcS; //0002Bh - Stack Register Value (1 byte)
ssdatst[0x2C] = 0; //0002Ch - Reserved
ssdatst[0x2D] = 0; //0002Dh - Reserved
@@ -1466,7 +1468,7 @@
memset(ssdatst+0xD2, 0, 46); //000D2h-000FFh - Reserved
fwrite(ssdatst, 1, sizeof(ssdatst), fp);
- fwrite(SPCRAM, 1, 65536, fp); //00100h-100FFh - SPCRam
+ //fwrite(SPCRAM, 1, 65536, fp); //00100h-100FFh - SPCRam
for (i = 0; i < 128; i++) //10100h-1017Fh - DSPRam
{
@@ -1475,7 +1477,7 @@
memset(ssdatst, 0, 64);
fwrite(ssdatst, 64, 1, fp); //10180h-101BFh - Reserved
- fwrite(spcextraram, 1, 64, fp); //101C0h-101FFh - IPL ROM image?
+ //fwrite(spcextraram, 1, 64, fp); //101C0h-101FFh - IPL ROM image?
fclose(fp);
ResetState();