diff --git a/zsnes/src/Makefile.in b/zsnes/src/Makefile.in index dbf72a95..b1d45a1b 100644 --- a/zsnes/src/Makefile.in +++ b/zsnes/src/Makefile.in @@ -57,7 +57,7 @@ WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/modemrtn.o ${DOSDIR}/vesa2 ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o -MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o patch.o ui.o vcache.o water.o smoke.o burn.o version.o +MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o uic.o patch.o ui.o vcache.o water.o smoke.o burn.o version.o OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} @@ -96,6 +96,7 @@ ui.o: ui.asm macros.mac cfgload.o:cfgload.asm macros.mac init.o:init.asm macros.mac initc.o:initc.c +uic.o:uic.c patch.o:patch.c ALL: diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index b4353c3d..e3bc3d22 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -3472,10 +3472,10 @@ NEWSYM SPC7110Load .sdd1b cmp byte[SPC7110Allocated],0 jne .notalloc - push edx + pushad call allocspc7110 + popad mov byte[SPC7110Allocated],1 - pop edx .notalloc call Change_Single_Dir jc near .nodir diff --git a/zsnes/src/link.win32 b/zsnes/src/link.win32 index de4bb93a..59862eff 100644 --- a/zsnes/src/link.win32 +++ b/zsnes/src/link.win32 @@ -1,3 +1,3 @@ -/Fezsnesw.exe chips\dsp1proc.obj dos\sw.obj dos\gppro.obj dos\vesa12.obj dos\zsipx.obj dos\modemrtn.obj dos\joy.obj dos\debug.obj dos\vesa2.obj dos\initvid.obj cfgload.obj endmem.obj fixsin.obj init.obj initc.obj patch.obj ui.obj vcache.obj water.obj smoke.obj burn.obj version.obj video\procvid.obj win\copyvwin.obj win\winintrf.obj win\winlink.obj win\zloaderw.obj win\ztcp.obj win\zfilew.obj win\zipxw.obj video\makev16b.obj video\makev16t.obj video\makevid.obj video\mode716.obj video\mode716b.obj video\mode716d.obj video\mode716e.obj video\mode716t.obj video\mode7.obj video\mode7ext.obj video\mv16tms.obj video\newg162.obj video\newgfx16.obj video\newgfx2.obj video\newgfx.obj video\m716text.obj video\2xsaiw.obj video\sw_draw.obj video/hq3x16.obj video/hq3x32.obj gui\gui.obj gui\menu.obj cpu\addrni.obj cpu\dma.obj cpu\dsp.obj cpu\dspproc.obj cpu\execute.obj cpu\irq.obj cpu\memory.obj cpu\spc700.obj cpu\stable.obj cpu\table.obj cpu\tableb.obj cpu\tablec.obj chips\dsp1emu.obj chips\fxemu2.obj chips\fxemu2b.obj chips\fxemu2c.obj chips\fxtable.obj chips\sa1proc.obj chips\sa1regs.obj chips\sfxproc.obj zip\unzip.obj zip\zzip.obj zip\zpng.obj zlib.lib libpng.lib wsock32.lib user32.lib gdi32.lib shell32.lib winmm.lib ddraw.lib dsound.lib dinput8.lib d3dx.lib /link /section:.text,erw +/Fezsnesw.exe chips\dsp1proc.obj dos\sw.obj dos\gppro.obj dos\vesa12.obj dos\zsipx.obj dos\modemrtn.obj dos\joy.obj dos\debug.obj dos\vesa2.obj dos\initvid.obj cfgload.obj endmem.obj fixsin.obj init.obj initc.obj uic.obj patch.obj ui.obj vcache.obj water.obj smoke.obj burn.obj version.obj video\procvid.obj win\copyvwin.obj win\winintrf.obj win\winlink.obj win\zloaderw.obj win\ztcp.obj win\zfilew.obj win\zipxw.obj video\makev16b.obj video\makev16t.obj video\makevid.obj video\mode716.obj video\mode716b.obj video\mode716d.obj video\mode716e.obj video\mode716t.obj video\mode7.obj video\mode7ext.obj video\mv16tms.obj video\newg162.obj video\newgfx16.obj video\newgfx2.obj video\newgfx.obj video\m716text.obj video\2xsaiw.obj video\sw_draw.obj video/hq3x16.obj video/hq3x32.obj gui\gui.obj gui\menu.obj cpu\addrni.obj cpu\dma.obj cpu\dsp.obj cpu\dspproc.obj cpu\execute.obj cpu\irq.obj cpu\memory.obj cpu\spc700.obj cpu\stable.obj cpu\table.obj cpu\tableb.obj cpu\tablec.obj chips\dsp1emu.obj chips\fxemu2.obj chips\fxemu2b.obj chips\fxemu2c.obj chips\fxtable.obj chips\sa1proc.obj chips\sa1regs.obj chips\sfxproc.obj zip\unzip.obj zip\zzip.obj zip\zpng.obj zlib.lib libpng.lib wsock32.lib user32.lib gdi32.lib shell32.lib winmm.lib ddraw.lib dsound.lib dinput8.lib d3dx.lib /link /section:.text,erw diff --git a/zsnes/src/makefile.dos b/zsnes/src/makefile.dos index 16146dee..8df97df1 100644 --- a/zsnes/src/makefile.dos +++ b/zsnes/src/makefile.dos @@ -55,7 +55,7 @@ PREOBJ=${OBJDIR}/dosbuff.o ${OBJDIR}/ipx.o ${OBJDIR}/zipx.o ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o -MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o patch.o ui.o vcache.o water.o smoke.o burn.o version.o +MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o uic.o patch.o ui.o vcache.o water.o smoke.o burn.o version.o OBJS=${CHIPSOBJ} ${CPUOBJ} ${DOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${PREOBJ} ${MAINOBJ} ${ZIPOBJ} @@ -110,6 +110,7 @@ ui.o: ui.asm macros.mac cfgload.o:cfgload.asm macros.mac init.o:init.asm macros.mac initc.o:initc.c +uic.o:uic.c patch.o:patch.c ALL: diff --git a/zsnes/src/makefile.win b/zsnes/src/makefile.win index 01cd78b9..4148e2d8 100644 --- a/zsnes/src/makefile.win +++ b/zsnes/src/makefile.win @@ -64,7 +64,7 @@ PREOBJ= ZIPOBJ=${ZIPDIR}/zzip.obj ${ZIPDIR}/unzip.obj ${ZIPDIR}/zpng.obj -MAINOBJ=cfgload.obj endmem.obj fixsin.obj init.obj initc.obj patch.obj ui.obj vcache.obj water.obj smoke.obj burn.obj version.obj +MAINOBJ=cfgload.obj endmem.obj fixsin.obj init.obj initc.obj uic.obj patch.obj ui.obj vcache.obj water.obj smoke.obj burn.obj version.obj OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} ${WINDOSOBJ} LIBS= @@ -131,6 +131,7 @@ ui.obj: ui.asm macros.mac cfgload.obj:cfgload.asm macros.mac init.obj:init.asm macros.mac initc.obj:initc.c +uic.obj:uic.c patch.obj:patch.c ALL: del version.obj diff --git a/zsnes/src/ui.asm b/zsnes/src/ui.asm index 742d3960..4a17e0dd 100644 --- a/zsnes/src/ui.asm +++ b/zsnes/src/ui.asm @@ -643,9 +643,9 @@ SECTION .text jne near %3 %endmacro -NEWSYM allocspc7110 - AllocmemFail 8192*1024+4096,spc7110romptr,outofmemoryb - ret +;NEWSYM allocspc7110 +; AllocmemFail 8192*1024+4096,spc7110romptr,outofmemoryb +; ret outofmemoryb ; cmp byte[OSPort],1 diff --git a/zsnes/src/uic.c b/zsnes/src/uic.c new file mode 100644 index 00000000..02bbfb83 --- /dev/null +++ b/zsnes/src/uic.c @@ -0,0 +1,32 @@ +/* +Copyright (C) 2003 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com ) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include + +//C++ style code in C +#define bool unsigned char +#define true 1 +#define false 0 + +extern int *spc7110romptr; + +void allocspc7110() +{ + spc7110romptr = malloc(8192*1024+4096); +}