Major updates!

This commit is contained in:
n-a-c-h
2003-07-09 21:02:33 +00:00
parent 334a6926c5
commit e427bd55ea
7 changed files with 14485 additions and 14576 deletions

View File

@@ -1,182 +1,183 @@
#Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com ) #Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com )
# #
#This program is free software; you can redistribute it and/or #This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License #modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either #as published by the Free Software Foundation; either
#version 2 of the License, or (at your option) any later #version 2 of the License, or (at your option) any later
#version. #version.
# #
#This program is distributed in the hope that it will be useful, #This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of #but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details. #GNU General Public License for more details.
# #
#You should have received a copy of the GNU General Public License #You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software #along with this program; if not, write to the Free Software
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
CHIPDIR=chips CHIPDIR=chips
CPUDIR=cpu CPUDIR=cpu
DOSDIR=dos DOSDIR=dos
GUIDIR=gui GUIDIR=gui
VIDEODIR=video VIDEODIR=video
WINDIR=linux WINDIR=linux
OBJDIR=obj OBJDIR=obj
ZIPDIR=zip ZIPDIR=zip
CHIPSOBJ=${CHIPDIR}/sfxproc.o ${CHIPDIR}/fxemu2.o ${CHIPDIR}/dsp1proc.o\ CHIPSOBJ=${CHIPDIR}/sfxproc.o ${CHIPDIR}/fxemu2.o ${CHIPDIR}/dsp1proc.o\
${CHIPDIR}/fxemu2b.o ${CHIPDIR}/fxemu2c.o ${CHIPDIR}/fxtable.o\ ${CHIPDIR}/fxemu2b.o ${CHIPDIR}/fxemu2c.o ${CHIPDIR}/fxtable.o\
${CHIPDIR}/sa1proc.o ${CHIPDIR}/sa1regs.o ${CHIPDIR}/dsp1emu.o ${CHIPDIR}/sa1proc.o ${CHIPDIR}/sa1regs.o ${CHIPDIR}/dsp1emu.o
CPUOBJ=${CPUDIR}/addrni.o ${CPUDIR}/dma.o ${CPUDIR}/dsp.o ${CPUDIR}/dspproc.o\ CPUOBJ=${CPUDIR}/addrni.o ${CPUDIR}/dma.o ${CPUDIR}/dsp.o ${CPUDIR}/dspproc.o\
${CPUDIR}/execute.o ${CPUDIR}/irq.o ${CPUDIR}/memory.o \ ${CPUDIR}/execute.o ${CPUDIR}/irq.o ${CPUDIR}/memory.o \
${CPUDIR}/spc700.o ${CPUDIR}/stable.o ${CPUDIR}/table.o\ ${CPUDIR}/spc700.o ${CPUDIR}/stable.o ${CPUDIR}/table.o\
${CPUDIR}/tableb.o ${CPUDIR}/tablec.o ${CPUDIR}/tableb.o ${CPUDIR}/tablec.o
GUIOBJ=${GUIDIR}/gui.o ${GUIDIR}/menu.o GUIOBJ=${GUIDIR}/gui.o ${GUIDIR}/menu.o
VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\ VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\
${VIDEODIR}/mode716.o ${VIDEODIR}/mode716b.o ${VIDEODIR}/mode716d.o\ ${VIDEODIR}/mode716.o ${VIDEODIR}/mode716b.o ${VIDEODIR}/mode716d.o\
${VIDEODIR}/mode716e.o ${VIDEODIR}/mode716t.o ${VIDEODIR}/mode7.o\ ${VIDEODIR}/mode716e.o ${VIDEODIR}/mode716t.o ${VIDEODIR}/mode7.o\
${VIDEODIR}/mode7ext.o ${VIDEODIR}/mv16tms.o ${VIDEODIR}/newg162.o\ ${VIDEODIR}/mode7ext.o ${VIDEODIR}/mv16tms.o ${VIDEODIR}/newg162.o\
${VIDEODIR}/newgfx16.o ${VIDEODIR}/newgfx2.o ${VIDEODIR}/newgfx.o\ ${VIDEODIR}/newgfx16.o ${VIDEODIR}/newgfx2.o ${VIDEODIR}/newgfx.o\
${VIDEODIR}/m716text.o ${VIDEODIR}/2xsaiw.o\ ${VIDEODIR}/m716text.o ${VIDEODIR}/2xsaiw.o\
${VIDEODIR}/procvid.o ${VIDEODIR}/sw_draw.o ${VIDEODIR}/procvid.o ${VIDEODIR}/sw_draw.o
WINOBJ=${WINDIR}/copyvwin.o ${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o \ WINOBJ=${WINDIR}/copyvwin.o ${WINDIR}/sdlintrf.o ${WINDIR}/sdllink.o \
@GL_DRAW@ ${WINDIR}/sw_draw.o \ @GL_DRAW@ ${WINDIR}/sw_draw.o \
${WINDIR}/zloaderw.o ${WINDIR}/ztcp.o ${WINDIR}/zipxw.o \ ${WINDIR}/zloaderw.o ${WINDIR}/ztcp.o ${WINDIR}/zipxw.o \
${WINDIR}/zfilew.o ${WINDIR}/protect.o ${WINDIR}/zfilew.o ${WINDIR}/protect.o
WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/modemrtn.o ${DOSDIR}/vesa2.o\ WINDOSOBJ=${DOSDIR}/debug.o ${DOSDIR}/joy.o ${DOSDIR}/modemrtn.o ${DOSDIR}/vesa2.o\
${DOSDIR}/initvid.o ${DOSDIR}/sw.o ${DOSDIR}/gppro.o ${DOSDIR}/vesa12.o ${DOSDIR}/initvid.o ${DOSDIR}/sw.o ${DOSDIR}/gppro.o ${DOSDIR}/vesa12.o
#PREOBJ=${OBJDIR}/unzip.o ${OBJDIR}/zzip.o ${DOSDIR}/zsipx.o #PREOBJ=${OBJDIR}/unzip.o ${OBJDIR}/zzip.o ${DOSDIR}/zsipx.o
ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o
MAINOBJ=cfgload.o endmem.o fixsin.o init.o ui.o vcache.o water.o smoke.o burn.o MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o ui.o vcache.o water.o smoke.o burn.o
OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ}
.SUFFIXES: .c .asm .SUFFIXES: .c .asm
%.o: %.c %.o: %.c
@CC@ @CFLAGS@ -o $@ -c $< @CC@ @CFLAGS@ -o $@ -c $<
%.o: %.asm %.o: %.asm
@NASMPATH@ @NFLAGS@ -o $@ $< @NASMPATH@ @NFLAGS@ -o $@ $<
ALL: @ZSNESEXE@ ALL: @ZSNESEXE@
@ZSNESEXE@: ${OBJS} @ZSNESEXE@: ${OBJS}
@CC@ -o @ZSNESEXE@ ${OBJS} @CFLAGS@ @LDFLAGS@ @CC@ -o @ZSNESEXE@ ${OBJS} @CFLAGS@ @LDFLAGS@
${ZIPDIR}/zpng.o: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h ${ZIPDIR}/zpng.o: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h
${ZIPDIR}/unzip.o: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/unzip.o: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h
${ZIPDIR}/zzip.o: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/zzip.o: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h
fixsin.o: fixsin.c fixsin.o: fixsin.c
water.o: water.c water.o: water.c
smoke.o: smoke.c smoke.o: smoke.c
burn.o: burn.c burn.o: burn.c
${VIDEODIR}/procvid.o: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xsaimmx.inc ${VIDEODIR}/procvid.o: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xsaimmx.inc
${CHIPDIR}/dsp1proc.o: ${CHIPDIR}/dsp1proc.asm macros.mac ${CHIPDIR}/dsp1proc.o: ${CHIPDIR}/dsp1proc.asm macros.mac
${CHIPDIR}/sa1regs.o: ${CHIPDIR}/sa1regs.asm macros.mac\ ${CHIPDIR}/sa1regs.o: ${CHIPDIR}/sa1regs.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/sfxproc.o: ${CHIPDIR}/sfxproc.asm macros.mac\ ${CHIPDIR}/sfxproc.o: ${CHIPDIR}/sfxproc.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/dsp1emu.o: ${CHIPDIR}/dsp1emu.c ${CHIPDIR}/dsp1emu.o: ${CHIPDIR}/dsp1emu.c
ui.o: ui.asm macros.mac ui.o: ui.asm macros.mac
cfgload.o:cfgload.asm macros.mac cfgload.o:cfgload.asm macros.mac
init.o:init.asm macros.mac init.o:init.asm macros.mac
${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac initc.o:init.c
${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac ${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac
${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ ${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\ ${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\
${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\
${CPUDIR}/regsw.inc macros.mac ${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\
${CPUDIR}/tableb.o: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\ ${CPUDIR}/regsw.inc macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\ ${CPUDIR}/tableb.o: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\
${CPUDIR}/tablec.o: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\ ${CPUDIR}/tablec.o: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\
${CPUDIR}/stable.o: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\ ${CPUDIR}/stable.o: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\
macros.mac ${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\
${CPUDIR}/memory.o: ${CPUDIR}/memory.asm macros.mac macros.mac
${CPUDIR}/dma.o: ${CPUDIR}/dma.asm macros.mac ${CPUDIR}/memory.o: ${CPUDIR}/memory.asm macros.mac
${DOSDIR}/dosintrf.o: ${DOSDIR}/dosintrf.asm macros.mac ${CPUDIR}/dma.o: ${CPUDIR}/dma.asm macros.mac
vcache.o:vcache.asm macros.mac ${DOSDIR}/dosintrf.o: ${DOSDIR}/dosintrf.asm macros.mac
${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac vcache.o:vcache.asm macros.mac
${VIDEODIR}/makevid.o: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\ ${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac
macros.mac ${VIDEODIR}/makevid.o: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16b.o: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16b.o: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16t.o: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16t.o: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mv16tms.o: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/mv16tms.o: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mode7.o: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode7.o: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716.o: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716.o: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\
${VIDEODIR}/mode716b.o:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716b.o:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716t.o:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716t.o:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716d.o:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716d.o:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode7ext.o:${VIDEODIR}/mode7ext.asm macros.mac macros.mac
${VIDEODIR}/mode716e.o:${VIDEODIR}/mode716e.asm macros.mac ${VIDEODIR}/mode7ext.o:${VIDEODIR}/mode7ext.asm macros.mac
${VIDEODIR}/m716text.o:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\ ${VIDEODIR}/mode716e.o:${VIDEODIR}/mode716e.asm macros.mac
macros.mac ${VIDEODIR}/m716text.o:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\
${CPUDIR}/irq.o: ${CPUDIR}/irq.asm macros.mac macros.mac
${CPUDIR}/dspproc.o: ${CPUDIR}/dspproc.asm macros.mac ${CPUDIR}/irq.o: ${CPUDIR}/irq.asm macros.mac
${CPUDIR}/spc700.o:${CPUDIR}/spc700.asm macros.mac\ ${CPUDIR}/dspproc.o: ${CPUDIR}/dspproc.asm macros.mac
${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc ${CPUDIR}/spc700.o:${CPUDIR}/spc700.asm macros.mac\
${CPUDIR}/dsp.o: ${CPUDIR}/dsp.asm macros.mac ${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc
${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac ${CPUDIR}/dsp.o: ${CPUDIR}/dsp.asm macros.mac
${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac ${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac
${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac
${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac ${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac
${GUIDIR}/gui.o: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\ ${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac
${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\ ${GUIDIR}/gui.o: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\
${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\ ${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\
${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac ${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\
${GUIDIR}/menu.o: ${GUIDIR}/menu.asm macros.mac ${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac
${VIDEODIR}/newgfx.o:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\ ${GUIDIR}/menu.o: ${GUIDIR}/menu.asm macros.mac
${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx.o:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newgfx2.o:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\ ${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx2.o:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\
${VIDEODIR}/newgfx16.o: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\ ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac ${VIDEODIR}/newgfx16.o: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newg162.o: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\ ${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac
${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac ${VIDEODIR}/newg162.o: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\
${CHIPDIR}/fxemu2.o: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\ ${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac
macros.mac ${CHIPDIR}/fxemu2.o: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\
${CHIPSDIR}/fxemu2b.o: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\ macros.mac
${CHIPDIR}/fxemu2b.mac ${CHIPSDIR}/fxemu2b.o: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\
${CHIPSDIR}/fxemu2c.o: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\ ${CHIPDIR}/fxemu2b.mac
${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac ${CHIPSDIR}/fxemu2c.o: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\
${CHIPDIR}/fxtable.o: ${CHIPDIR}/fxtable.asm macros.mac ${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac
${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac ${CHIPDIR}/fxtable.o: ${CHIPDIR}/fxtable.asm macros.mac
${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm ${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac
${CHIPDIR}/sa1proc.o: ${CHIPDIR}/sa1proc.asm macros.mac ${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm
endmem.o: endmem.asm macros.mac ${CHIPDIR}/sa1proc.o: ${CHIPDIR}/sa1proc.asm macros.mac
${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac endmem.o: endmem.asm macros.mac
${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac
install:
@INSTALL@ -m 0755 @ZSNESEXE@ @prefix@/bin install:
@INSTALL@ -m 0644 linux/zsnes.1 @prefix@/man/man1 @INSTALL@ -m 0755 @ZSNESEXE@ @prefix@/bin
@INSTALL@ -m 0644 linux/zsnes.1 @prefix@/man/man1
uninstall:
rm -f @prefix@/bin/$(notdir @ZSNESEXE@) @prefix@/man/man5/zsnes.5 uninstall:
rm -f @prefix@/bin/$(notdir @ZSNESEXE@) @prefix@/man/man5/zsnes.5
clean:
rm -f ${CHIPDIR}/*.o ${CPUDIR}/*.o ${VIDEODIR}/*.o ${GUIDIR}/*.o ${DOSDIR}/*.o ${WINDIR}/*.o ${ZIPDIR}/*.o *.o @ZSNESEXE@ clean:
rm -f ${CHIPDIR}/*.o ${CPUDIR}/*.o ${VIDEODIR}/*.o ${GUIDIR}/*.o ${DOSDIR}/*.o ${WINDIR}/*.o ${ZIPDIR}/*.o *.o @ZSNESEXE@
distclean:
rm -f ${CHIPDIR}/*.o ${CPUDIR}/*.o ${VIDEODIR}/*.o ${GUIDIR}/*.o ${DOSDIR}/*.o ${WINDIR}/*.o ${ZIPDIR}/*.o *.o @ZSNESEXE@ Makefile config.cache config.log config.status config.h distclean:
rm -f ${CHIPDIR}/*.o ${CPUDIR}/*.o ${VIDEODIR}/*.o ${GUIDIR}/*.o ${DOSDIR}/*.o ${WINDIR}/*.o ${ZIPDIR}/*.o *.o @ZSNESEXE@ Makefile config.cache config.log config.status config.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

318
zsnes/src/initc.c Executable file
View File

@@ -0,0 +1,318 @@
/*
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.
*/
//C++ style code in C
#define bool unsigned char
#define true 1
#define false 0
#define Lo 0x7FC0
#define Hi 0xFFC0
#define EHi 0x40FFC0
//I want to port over the more complicated
//functions from init.asm, or replace with
//better versions from NSRT. -Nach
//init.asm goodnes
extern unsigned int NumofBanks;
extern unsigned int NumofBytes;
extern unsigned int *romdata;
extern unsigned char romtype;
extern unsigned char Interleaved;
unsigned int infoloc;
//Deinterleave functions
bool validChecksum(unsigned char *ROM, int BankLoc)
{
if (ROM[BankLoc + 28] + (ROM[BankLoc + 29] << 8) +
ROM[BankLoc + 30] + (ROM[BankLoc + 31] << 8) == 0xFFFF)
{
return(true);
}
return(false);
}
void swapBlocks(char *blocks)
{
int i,j,k;
for (i = 0; i < NumofBanks; i++)
{
for (j = 0; j < NumofBanks; j++)
{
if (blocks[j] == i)
{
char b;
unsigned int temp,
*loc1 = romdata + blocks[i]*0x2000,
*loc2 = romdata + blocks[j]*0x2000;
for (k = 0; k < 0x2000; k++)
{
temp = loc1[k];
loc1[k] = loc2[k];
loc2[k] = temp;
}
b = blocks[j];
blocks[j] = blocks[i];
blocks[i] = b;
break;
}
}
}
}
void deintlv1()
{
int i, numblocks = NumofBanks/2;
char blocks[256];
for (i = 0; i < numblocks; i++)
{
blocks[i * 2] = i + numblocks;
blocks[i * 2 + 1] = i;
}
swapBlocks(blocks);
}
void CheckIntl1(unsigned char *ROM)
{
unsigned int ROMmidPoint = NumofBytes / 2;
if (validChecksum(ROM, ROMmidPoint + Lo) &&
!validChecksum(ROM, Lo) &&
ROM[ROMmidPoint+Lo+25] < 14) //Country Code
{
deintlv1();
Interleaved = true;
}
else if (validChecksum(ROM, Lo) && !validChecksum(ROM, Hi) &&
ROM[Lo+25] < 14 && //Country code
//Rom make up
(ROM[Lo+21] == 33 || ROM[Lo+21] == 49 || ROM[Lo+21] == 53))
{
if (ROM[Lo+20] == 32 ||//Check that Header name did not overflow
!(ROM[Lo+21] == ROM[Lo+20] || ROM[Lo+21] == ROM[Lo+19] ||
ROM[Lo+21] == ROM[Lo+18] || ROM[Lo+21] == ROM[Lo+17]))
{
deintlv1();
Interleaved = true;
}
}
}
//It would be nice to find a way to eliminate the 2MB here
//Then we can also drop the includes of these two
#include <string.h>
#include <malloc.h>
void deintToP()
{
int i;
char blocks[256];
char *ROM = (char *)romdata;
char *ROMSwap = (char *)malloc(0x200000);
if (ROMSwap)
{
memmove(ROMSwap, ROM, 0x200000); //Copy Small ROM to RAM
memmove(ROM, &ROM[0x200000], 0x400000); //Move Large ROM to front
memmove(&ROM[0x400000], ROMSwap, 0x200000); //Place Small ROM after
free(ROMSwap);
}
//Deinterleave the 4MB ROM first
NumofBanks = 128;
deintlv1();
//Now the 2MB one
NumofBanks = 64;
romdata += 0x100000; //Ofset pointer
deintlv1();
//Now fix the data and we're done
NumofBanks = 192;
romdata -= 0x100000;
}
//ROM loading functions, which some strangly enough were in guiload.inc
bool AllASCII(char *b, int size)
{
int i;
for (i = 0; i < size; i++)
{
if (b[i] < 32 || b[i] > 126)
{
return(false);
}
}
return(true);
}
int InfoScore(char *Buffer)
{
int score = 0;
if (Buffer[26] == 0x33) { score += 2; }
if ((Buffer[21] & 0xf) < 4) { score += 2; }
if (!(Buffer[61] & 0x80)) { score -= 4; }
if ((1 << (Buffer[23] - 7)) > 48) { score -= 1; }
if (Buffer[25] < 14) { score += 1; }
if (!AllASCII(Buffer, 20)) { score -= 1; }
return(score);
}
extern unsigned char ForceHiLoROM;
extern unsigned char forceromtype;
void BankCheck()
{
unsigned char *ROM = (unsigned char *)romdata;
infoloc = 0;
Interleaved = false;
if (NumofBytes >= 0x500000)
{
if (validChecksum(ROM, 0x207FC0))
{
deintToP();
Interleaved = true;
}
if (validChecksum(ROM, EHi))
{
romtype = 2;
infoloc = EHi;
}
}
if (!infoloc)
{
int loscore, hiscore;
//Deinterleave if neccesary
CheckIntl1(ROM);
loscore = InfoScore(ROM+Lo);
if (validChecksum(ROM, Lo)) { loscore += 3; }
hiscore = InfoScore(ROM+Hi);
if (validChecksum(ROM, Hi)) { hiscore += 3; }
switch(ROM[Lo + 21])
{
case 32: case 35: case 48: case 50:
case 128: case 156: case 176: case 188: case 252: //BS
loscore += 1;
break;
}
switch(ROM[Hi + 21])
{
case 33: case 49: case 53:
case 128: case 156: case 176: case 188: case 252: //BS
hiscore += 1;
break;
}
if(ForceHiLoROM)
{
//asm volatile("int $3");
if (forceromtype == 1) { loscore += 50; }
else if (forceromtype == 2) { hiscore += 50; }
}
if (hiscore > loscore)
{
romtype = 2;
infoloc = Hi;
}
else
{
romtype = 1;
infoloc = Lo;
}
}
}
//Checksum functions
unsigned short sum(unsigned char *array, unsigned int size)
{
unsigned short theSum = 0;
unsigned int i;
for (i = 0; i < size; i++)
{
theSum += array[i];
}
return(theSum);
}
//Not entirely accurate pow, but good for our needs and very fast
unsigned int npow(register unsigned int base, register unsigned int exponent)
{
register unsigned int total = base;
register unsigned int i;
for (i = 1; i < exponent; i++)
{
total *= base;
}
return(total);
}
extern unsigned char SPC7110Enable;
extern unsigned char BSEnable;
extern unsigned short Checksumvalue;
void CalcChecksum()
{
unsigned char *ROM = (unsigned char *)romdata;
unsigned short Mbit = NumofBanks >> 2, Checksum;
unsigned int ROMSize = NumofBytes;
unsigned int Bank = infoloc;
if ((Mbit == 10 || Mbit == 20 || Mbit == 40) && !SPC7110Enable)
{
unsigned int P1Size = npow(2, ROM[Bank + 23] - 7) * 65536;
unsigned short part1 = sum(ROM, P1Size),
part2 = sum(ROM+P1Size, ROMSize-P1Size);
Checksumvalue = part1 + part2*4;
}
else if ((Mbit == 12 || Mbit == 24 || Mbit == 48) && !SPC7110Enable)
{
unsigned int P1Size = npow(2, ROM[Bank + 23] - 7) * 65536;
unsigned short part1 = sum(ROM, P1Size),
part2 = sum(ROM+P1Size, ROMSize-P1Size);
Checksumvalue = part1 + part2 + part2;
}
else
{
Checksumvalue = sum(ROM, ROMSize);
if (BSEnable)
{
Checksumvalue -= sum(&ROM[Bank - 16], 48); //Fix for BS Dumps
}
else if (Mbit == 24)
{
Checksumvalue += Checksumvalue; //Fix for 24Mb SPC7110 ROMs
}
}
}

View File

@@ -1,198 +1,199 @@
#Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com ) #Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com )
# #
#This program is free software; you can redistribute it and/or #This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License #modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either #as published by the Free Software Foundation; either
#version 2 of the License, or (at your option) any later #version 2 of the License, or (at your option) any later
#version. #version.
# #
#This program is distributed in the hope that it will be useful, #This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of #but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details. #GNU General Public License for more details.
# #
#You should have received a copy of the GNU General Public License #You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software #along with this program; if not, write to the Free Software
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
CHIPDIR=chips CHIPDIR=chips
CPUDIR=cpu CPUDIR=cpu
DOSDIR=dos DOSDIR=dos
GUIDIR=gui GUIDIR=gui
VIDEODIR=video VIDEODIR=video
WINDIR=win WINDIR=win
OBJDIR=obj OBJDIR=obj
ZIPDIR=zip ZIPDIR=zip
CHIPSOBJ=${CHIPDIR}/dsp1emu.o ${CHIPDIR}/fxemu2.o ${CHIPDIR}/sfxproc.o\ CHIPSOBJ=${CHIPDIR}/dsp1emu.o ${CHIPDIR}/fxemu2.o ${CHIPDIR}/sfxproc.o\
${CHIPDIR}/fxemu2b.o ${CHIPDIR}/fxemu2c.o ${CHIPDIR}/fxtable.o\ ${CHIPDIR}/fxemu2b.o ${CHIPDIR}/fxemu2c.o ${CHIPDIR}/fxtable.o\
${CHIPDIR}/sa1proc.o ${CHIPDIR}/sa1regs.o ${CHIPDIR}/dsp1proc.o ${CHIPDIR}/sa1proc.o ${CHIPDIR}/sa1regs.o ${CHIPDIR}/dsp1proc.o
CPUOBJ=${CPUDIR}/addrni.o ${CPUDIR}/dma.o ${CPUDIR}/dsp.o ${CPUDIR}/dspproc.o\ CPUOBJ=${CPUDIR}/addrni.o ${CPUDIR}/dma.o ${CPUDIR}/dsp.o ${CPUDIR}/dspproc.o\
${CPUDIR}/execute.o ${CPUDIR}/irq.o ${CPUDIR}/memory.o\ ${CPUDIR}/execute.o ${CPUDIR}/irq.o ${CPUDIR}/memory.o\
${CPUDIR}/spc700.o ${CPUDIR}/stable.o ${CPUDIR}/table.o\ ${CPUDIR}/spc700.o ${CPUDIR}/stable.o ${CPUDIR}/table.o\
${CPUDIR}/tableb.o ${CPUDIR}/tablec.o ${CPUDIR}/tableb.o ${CPUDIR}/tablec.o
GUIOBJ=${GUIDIR}/gui.o ${GUIDIR}/menu.o GUIOBJ=${GUIDIR}/gui.o ${GUIDIR}/menu.o
VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\ VIDEOBJ=${VIDEODIR}/makev16b.o ${VIDEODIR}/makev16t.o ${VIDEODIR}/makevid.o\
${VIDEODIR}/mode716.o ${VIDEODIR}/mode716b.o ${VIDEODIR}/mode716d.o\ ${VIDEODIR}/mode716.o ${VIDEODIR}/mode716b.o ${VIDEODIR}/mode716d.o\
${VIDEODIR}/mode716e.o ${VIDEODIR}/mode716t.o ${VIDEODIR}/mode7.o\ ${VIDEODIR}/mode716e.o ${VIDEODIR}/mode716t.o ${VIDEODIR}/mode7.o\
${VIDEODIR}/mode7ext.o ${VIDEODIR}/mv16tms.o ${VIDEODIR}/newg162.o\ ${VIDEODIR}/mode7ext.o ${VIDEODIR}/mv16tms.o ${VIDEODIR}/newg162.o\
${VIDEODIR}/newgfx16.o ${VIDEODIR}/newgfx2.o ${VIDEODIR}/newgfx.o\ ${VIDEODIR}/newgfx16.o ${VIDEODIR}/newgfx2.o ${VIDEODIR}/newgfx.o\
${VIDEODIR}/m716text.o ${VIDEODIR}/procvid.o ${VIDEODIR}/m716text.o ${VIDEODIR}/procvid.o
DOSOBJ= ${DOSDIR}/dosintrf.o ${DOSDIR}/gppro.o ${DOSDIR}/debug.o\ DOSOBJ= ${DOSDIR}/dosintrf.o ${DOSDIR}/gppro.o ${DOSDIR}/debug.o\
${DOSDIR}/initvid.o ${DOSDIR}/modemrtn.o ${DOSDIR}/sw32.o\ ${DOSDIR}/initvid.o ${DOSDIR}/modemrtn.o ${DOSDIR}/sw32.o\
${DOSDIR}/joy.o ${DOSDIR}/sound.o ${DOSDIR}/sw.o ${DOSDIR}/vesa12.o\ ${DOSDIR}/joy.o ${DOSDIR}/sound.o ${DOSDIR}/sw.o ${DOSDIR}/vesa12.o\
${DOSDIR}/vesa2.o ${DOSDIR}/zloader.o ${DOSDIR}/zsipx.o\ ${DOSDIR}/vesa2.o ${DOSDIR}/zloader.o ${DOSDIR}/zsipx.o\
${DOSDIR}/zfile.o ${DOSDIR}/zfile.o
WINOBJ=${WINDIR}/copywin.o ${WINDIR}/winintrf.o ${WINDIR}/winlink.o\ WINOBJ=${WINDIR}/copywin.o ${WINDIR}/winintrf.o ${WINDIR}/winlink.o\
${WINDIR}/zloaderw.o ${WINDIR}/ztcp.o ${WINDIR}/zipxw.o ${WINDIR}/zloaderw.o ${WINDIR}/ztcp.o ${WINDIR}/zipxw.o
PREOBJ=${OBJDIR}/dosbuff.o ${OBJDIR}/ipx.o ${OBJDIR}/zipx.o PREOBJ=${OBJDIR}/dosbuff.o ${OBJDIR}/ipx.o ${OBJDIR}/zipx.o
ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o ZIPOBJ=${ZIPDIR}/zzip.o ${ZIPDIR}/unzip.o ${ZIPDIR}/zpng.o
MAINOBJ=cfgload.o endmem.o fixsin.o init.o ui.o vcache.o water.o smoke.o burn.o MAINOBJ=cfgload.o endmem.o fixsin.o init.o initc.o ui.o vcache.o water.o smoke.o burn.o
OBJS=${CHIPSOBJ} ${CPUOBJ} ${DOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${PREOBJ} ${MAINOBJ} ${ZIPOBJ} OBJS=${CHIPSOBJ} ${CPUOBJ} ${DOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${PREOBJ} ${MAINOBJ} ${ZIPOBJ}
LIBS=-lz -lm -lpng LIBS=-lz -lm -lpng
#CFLAGS=-O2 -Wall -Wno-unused -D__MSDOS__ #CFLAGS=-O2 -Wall -Wno-unused -D__MSDOS__
CFLAGS=-O3 -march=i586 -fno-rtti -fno-exceptions -ffast-math\ CFLAGS=-O3 -march=i586 -fno-rtti -fno-exceptions -ffast-math\
-fomit-frame-pointer -fno-unroll-loops -Wall -Wno-unused -D__MSDOS__ -fomit-frame-pointer -fno-unroll-loops -Wall -Wno-unused -D__MSDOS__
ASM=nasm ASM=nasm
ASMFLAGS=-O1 -f coff -D__MSDOS__ ASMFLAGS=-O1 -f coff -D__MSDOS__
CC=gcc CC=gcc
PP=gpp PP=gpp
.SUFFIXES: .c .cpp .asm .SUFFIXES: .c .cpp .asm
%.o: %.c %.o: %.c
${CC} ${CFLAGS} -o $@ -c $< ${CC} ${CFLAGS} -o $@ -c $<
%.o: %.cpp %.o: %.cpp
${PP} ${CFLAGS} -o $@ -c $< ${PP} ${CFLAGS} -o $@ -c $<
%.o: %.asm %.o: %.asm
${ASM} ${ASMFLAGS} -o $@ $< ${ASM} ${ASMFLAGS} -o $@ $<
ALL: zsnes.exe ALL: zsnes.exe
debug: zsnesd.exe debug: zsnesd.exe
zsnes.exe: ${OBJS} zsnes.exe: ${OBJS}
${CC} -Ws -s -o zsnes.exe ${OBJS} ${LIBS} ${CC} -Ws -s -o zsnes.exe ${OBJS} ${LIBS}
zsnesd.exe: ${OBJS} zsnesd.exe: ${OBJS}
${CC} -Ws -o zsnesd.exe ${OBJS} ${LIBS} ${CC} -Ws -o zsnesd.exe ${OBJS} ${LIBS}
${DOSDIR}/zloader.o: ${DOSDIR}/zloader.c ${DOSDIR}/zloader.o: ${DOSDIR}/zloader.c
fixsin.o: fixsin.c fixsin.o: fixsin.c
water.o: water.c water.o: water.c
smoke.o: smoke.c smoke.o: smoke.c
burn.o: burn.c burn.o: burn.c
${DOSDIR}/zfile.o: ${DOSDIR}/zfile.c ${DOSDIR}/zfile.o: ${DOSDIR}/zfile.c
${ZIPDIR}/unzip.o: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/unzip.o: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h
${ZIPDIR}/zzip.o: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/zzip.o: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h
${ZIPDIR}/zpng.o: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h ${ZIPDIR}/zpng.o: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h
${VIDEODIR}/procvid.o: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xSaImmx.inc ${VIDEODIR}/procvid.o: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xSaImmx.inc
${CHIPDIR}/dsp1proc.o: ${CHIPDIR}/dsp1proc.asm macros.mac ${CHIPDIR}/dsp1proc.o: ${CHIPDIR}/dsp1proc.asm macros.mac
${CHIPDIR}/sa1regs.o: ${CHIPDIR}/sa1regs.asm macros.mac\ ${CHIPDIR}/sa1regs.o: ${CHIPDIR}/sa1regs.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/sfxproc.o: ${CHIPDIR}/sfxproc.asm macros.mac\ ${CHIPDIR}/sfxproc.o: ${CHIPDIR}/sfxproc.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/dsp1emu.o: ${CHIPDIR}/dsp1emu.c ${CHIPDIR}/dsp1emu.o: ${CHIPDIR}/dsp1emu.c
ui.o: ui.asm macros.mac ui.o: ui.asm macros.mac
cfgload.o:cfgload.asm macros.mac cfgload.o:cfgload.asm macros.mac
init.o:init.asm macros.mac init.o:init.asm macros.mac
${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac initc.o:initc.c
${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac ${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac
${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ ${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\ ${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\
${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\
${CPUDIR}/regsw.inc macros.mac ${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\
${CPUDIR}/tableb.o: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\ ${CPUDIR}/regsw.inc macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\ ${CPUDIR}/tableb.o: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\
${CPUDIR}/tablec.o: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\ ${CPUDIR}/tablec.o: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\
${CPUDIR}/stable.o: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\ ${CPUDIR}/stable.o: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\
macros.mac ${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\
${CPUDIR}/memory.o: ${CPUDIR}/memory.asm macros.mac macros.mac
${CPUDIR}/dma.o: ${CPUDIR}/dma.asm macros.mac ${CPUDIR}/memory.o: ${CPUDIR}/memory.asm macros.mac
${DOSDIR}/dosintrf.o: ${DOSDIR}/dosintrf.asm macros.mac ${CPUDIR}/dma.o: ${CPUDIR}/dma.asm macros.mac
vcache.o:vcache.asm macros.mac ${DOSDIR}/dosintrf.o: ${DOSDIR}/dosintrf.asm macros.mac
${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac ${DOSDIR}/vga.inc vcache.o:vcache.asm macros.mac
${VIDEODIR}/makevid.o: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\ ${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac ${DOSDIR}/vga.inc
macros.mac ${VIDEODIR}/makevid.o: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16b.o: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16b.o: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16t.o: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16t.o: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mv16tms.o: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/mv16tms.o: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mode7.o: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode7.o: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716.o: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716.o: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\
${VIDEODIR}/mode716b.o:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716b.o:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716t.o:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716t.o:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716d.o:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716d.o:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode7ext.o:${VIDEODIR}/mode7ext.asm macros.mac macros.mac
${VIDEODIR}/mode716e.o:${VIDEODIR}/mode716e.asm macros.mac ${VIDEODIR}/mode7ext.o:${VIDEODIR}/mode7ext.asm macros.mac
${VIDEODIR}/m716text.o:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\ ${VIDEODIR}/mode716e.o:${VIDEODIR}/mode716e.asm macros.mac
macros.mac ${VIDEODIR}/m716text.o:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\
${CPUDIR}/irq.o: ${CPUDIR}/irq.asm macros.mac macros.mac
${CPUDIR}/dspproc.o: ${CPUDIR}/dspproc.asm macros.mac ${CPUDIR}/irq.o: ${CPUDIR}/irq.asm macros.mac
${CPUDIR}/spc700.o:${CPUDIR}/spc700.asm macros.mac\ ${CPUDIR}/dspproc.o: ${CPUDIR}/dspproc.asm macros.mac
${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc ${CPUDIR}/spc700.o:${CPUDIR}/spc700.asm macros.mac\
${CPUDIR}/dsp.o: ${CPUDIR}/dsp.asm macros.mac ${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc
${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac ${CPUDIR}/dsp.o: ${CPUDIR}/dsp.asm macros.mac
${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac ${DOSDIR}/vesa2.o: ${DOSDIR}/vesa2.asm macros.mac
${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac
${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac ${DOSDIR}/joy.o: ${DOSDIR}/joy.asm macros.mac
${GUIDIR}/gui.o: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\ ${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac
${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\ ${GUIDIR}/gui.o: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\
${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\ ${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\
${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac ${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\
${GUIDIR}/menu.o: ${GUIDIR}/menu.asm macros.mac ${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac
${VIDEODIR}/newgfx.o:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\ ${GUIDIR}/menu.o: ${GUIDIR}/menu.asm macros.mac
${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx.o:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newgfx2.o:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\ ${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx2.o:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\
${VIDEODIR}/newgfx16.o: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\ ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac ${VIDEODIR}/newgfx16.o: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newg162.o: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\ ${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac
${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac ${VIDEODIR}/newg162.o: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\
${CHIPDIR}/fxemu2.o: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\ ${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac
macros.mac ${CHIPDIR}/fxemu2.o: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\
${CHIPSDIR}/fxemu2b.o: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\ macros.mac
${CHIPDIR}/fxemu2b.mac ${CHIPSDIR}/fxemu2b.o: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\
${CHIPSDIR}/fxemu2c.o: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\ ${CHIPDIR}/fxemu2b.mac
${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac ${CHIPSDIR}/fxemu2c.o: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\
${CHIPDIR}/fxtable.o: ${CHIPDIR}/fxtable.asm macros.mac ${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac
${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac ${CHIPDIR}/fxtable.o: ${CHIPDIR}/fxtable.asm macros.mac
${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm ${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac
${CHIPDIR}/sa1proc.o: ${CHIPDIR}/sa1proc.asm macros.mac ${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm
endmem.o: endmem.asm macros.mac ${CHIPDIR}/sa1proc.o: ${CHIPDIR}/sa1proc.asm macros.mac
${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac endmem.o: endmem.asm macros.mac
${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac
clean:
del *.o clean:
del ${CHIPDIR}\*.o del *.o
del ${CPUDIR}\*.o del ${CHIPDIR}\*.o
del ${VIDEODIR}\*.o del ${CPUDIR}\*.o
del ${GUIDIR}\*.o del ${VIDEODIR}\*.o
del ${DOSDIR}\*.o del ${GUIDIR}\*.o
del ${ZIPDIR}\*.o del ${DOSDIR}\*.o
del zsnes.exe del ${ZIPDIR}\*.o
del zsnes.exe

View File

@@ -1,220 +1,221 @@
#Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com ) #Copyright (C) 1997-2001 ZSNES Team ( zsknight@zsnes.com / _demo_@zsnes.com )
# #
#This program is free software; you can redistribute it and/or #This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License #modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either #as published by the Free Software Foundation; either
#version 2 of the License, or (at your option) any later #version 2 of the License, or (at your option) any later
#version. #version.
# #
#This program is distributed in the hope that it will be useful, #This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of #but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details. #GNU General Public License for more details.
# #
#You should have received a copy of the GNU General Public License #You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software #along with this program; if not, write to the Free Software
#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. #Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#This file depends on link.win32 so if you modify this makefile, #This file depends on link.win32 so if you modify this makefile,
#don't forget to update link.win32 #don't forget to update link.win32
#it is quite ugly but without that trick, the compilation didn't #it is quite ugly but without that trick, the compilation didn't
#work for me (command line too long) #work for me (command line too long)
#put the correct path to your directx sdk here #put the correct path to your directx sdk here
DXDIR=c:\mssdk DXDIR=c:\mssdk
CHIPDIR=chips CHIPDIR=chips
CPUDIR=cpu CPUDIR=cpu
DOSDIR=dos DOSDIR=dos
GUIDIR=gui GUIDIR=gui
VIDEODIR=video VIDEODIR=video
WINDIR=win WINDIR=win
OBJDIR=obj OBJDIR=obj
ZIPDIR=zip ZIPDIR=zip
CHIPSOBJ=${CHIPDIR}/sfxproc.obj ${CHIPDIR}/fxemu2.obj ${CHIPDIR}/dsp1proc.obj\ CHIPSOBJ=${CHIPDIR}/sfxproc.obj ${CHIPDIR}/fxemu2.obj ${CHIPDIR}/dsp1proc.obj\
${CHIPDIR}/fxemu2b.obj ${CHIPDIR}/fxemu2c.obj ${CHIPDIR}/fxtable.obj\ ${CHIPDIR}/fxemu2b.obj ${CHIPDIR}/fxemu2c.obj ${CHIPDIR}/fxtable.obj\
${CHIPDIR}/sa1proc.obj ${CHIPDIR}/sa1regs.obj ${CHIPDIR}/dsp1emu.obj ${CHIPDIR}/sa1proc.obj ${CHIPDIR}/sa1regs.obj ${CHIPDIR}/dsp1emu.obj
CPUOBJ=${CPUDIR}/addrni.obj ${CPUDIR}/dma.obj ${CPUDIR}/dsp.obj ${CPUDIR}/dspproc.obj\ CPUOBJ=${CPUDIR}/addrni.obj ${CPUDIR}/dma.obj ${CPUDIR}/dsp.obj ${CPUDIR}/dspproc.obj\
${CPUDIR}/execute.obj ${CPUDIR}/irq.obj ${CPUDIR}/memory.obj\ ${CPUDIR}/execute.obj ${CPUDIR}/irq.obj ${CPUDIR}/memory.obj\
${CPUDIR}/spc700.obj ${CPUDIR}/stable.obj ${CPUDIR}/table.obj\ ${CPUDIR}/spc700.obj ${CPUDIR}/stable.obj ${CPUDIR}/table.obj\
${CPUDIR}/tableb.obj ${CPUDIR}/tablec.obj ${CPUDIR}/tableb.obj ${CPUDIR}/tablec.obj
GUIOBJ=${GUIDIR}/gui.obj ${GUIDIR}/menu.obj GUIOBJ=${GUIDIR}/gui.obj ${GUIDIR}/menu.obj
VIDEOBJ=${VIDEODIR}/makev16b.obj ${VIDEODIR}/makev16t.obj ${VIDEODIR}/makevid.obj\ VIDEOBJ=${VIDEODIR}/makev16b.obj ${VIDEODIR}/makev16t.obj ${VIDEODIR}/makevid.obj\
${VIDEODIR}/mode716.obj ${VIDEODIR}/mode716b.obj ${VIDEODIR}/mode716d.obj\ ${VIDEODIR}/mode716.obj ${VIDEODIR}/mode716b.obj ${VIDEODIR}/mode716d.obj\
${VIDEODIR}/mode716e.obj ${VIDEODIR}/mode716t.obj ${VIDEODIR}/mode7.obj\ ${VIDEODIR}/mode716e.obj ${VIDEODIR}/mode716t.obj ${VIDEODIR}/mode7.obj\
${VIDEODIR}/mode7ext.obj ${VIDEODIR}/mv16tms.obj ${VIDEODIR}/newg162.obj\ ${VIDEODIR}/mode7ext.obj ${VIDEODIR}/mv16tms.obj ${VIDEODIR}/newg162.obj\
${VIDEODIR}/newgfx16.obj ${VIDEODIR}/newgfx2.obj ${VIDEODIR}/newgfx.obj\ ${VIDEODIR}/newgfx16.obj ${VIDEODIR}/newgfx2.obj ${VIDEODIR}/newgfx.obj\
${VIDEODIR}/m716text.obj ${VIDEODIR}/2xsaiw.obj\ ${VIDEODIR}/m716text.obj ${VIDEODIR}/2xsaiw.obj\
${VIDEODIR}/procvid.obj ${VIDEODIR}/sw_draw.obj ${VIDEODIR}/procvid.obj ${VIDEODIR}/sw_draw.obj
WINOBJ=${WINDIR}/copyvwin.obj ${WINDIR}/winintrf.obj ${WINDIR}/winlink.obj\ WINOBJ=${WINDIR}/copyvwin.obj ${WINDIR}/winintrf.obj ${WINDIR}/winlink.obj\
${WINDIR}/zloaderw.obj ${WINDIR}/ztcp.obj ${WINDIR}/zipxw.obj\ ${WINDIR}/zloaderw.obj ${WINDIR}/ztcp.obj ${WINDIR}/zipxw.obj\
${WINDIR}/zfilew.obj ${WINDIR}/zfilew.obj
WINDOSOBJ=${DOSDIR}/debug.obj ${DOSDIR}/joy.obj ${DOSDIR}/modemrtn.obj ${DOSDIR}/vesa2.obj\ WINDOSOBJ=${DOSDIR}/debug.obj ${DOSDIR}/joy.obj ${DOSDIR}/modemrtn.obj ${DOSDIR}/vesa2.obj\
${DOSDIR}/initvid.obj ${DOSDIR}/sw.obj ${DOSDIR}/gppro.obj ${DOSDIR}/vesa12.obj\ ${DOSDIR}/initvid.obj ${DOSDIR}/sw.obj ${DOSDIR}/gppro.obj ${DOSDIR}/vesa12.obj\
${DOSDIR}/zsipx.obj ${DOSDIR}/zsipx.obj
PREOBJ= PREOBJ=
ZIPOBJ=${ZIPDIR}/zzip.obj ${ZIPDIR}/unzip.obj ${ZIPDIR}/zpng.obj ZIPOBJ=${ZIPDIR}/zzip.obj ${ZIPDIR}/unzip.obj ${ZIPDIR}/zpng.obj
MAINOBJ=cfgload.obj endmem.obj fixsin.obj init.obj ui.obj vcache.obj water.obj smoke.obj burn.obj MAINOBJ=cfgload.obj endmem.obj fixsin.obj init.obj initc.obj ui.obj vcache.obj water.obj smoke.obj burn.obj
OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} ${WINDOSOBJ} OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} ${WINDOSOBJ}
LIBS= LIBS=
CFLAGS=/Ox /G6 /c /D__WIN32__ CFLAGS=/Ox /G6 /c /D__WIN32__
ASM=nasm ASM=nasm
ASMFLAGS=-O1 -f win32 -D__WIN32__ ASMFLAGS=-O1 -f win32 -D__WIN32__
CC=cl CC=cl
.SUFFIXES: .c .cpp .asm .SUFFIXES: .c .cpp .asm
%.obj : %.c %.obj : %.c
${CC} ${CFLAGS} /Fo$@ $< ${CC} ${CFLAGS} /Fo$@ $<
%.obj: %.cpp %.obj: %.cpp
${CC} ${CFLAGS} /Fo$@ $< ${CC} ${CFLAGS} /Fo$@ $<
%.obj: %.asm %.obj: %.asm
${ASM} ${ASMFLAGS} -o $@ $< ${ASM} ${ASMFLAGS} -o $@ $<
ALL: zsnesw.exe ALL: zsnesw.exe
zsnesw.exe: ${OBJS} ${WINDIR}/zsnes.res zsnesw.exe: ${OBJS} ${WINDIR}/zsnes.res
cl @link.win32 ${WINDIR}/zsnes.res /link /libpath:${DXDIR}\lib cl @link.win32 ${WINDIR}/zsnes.res /link /libpath:${DXDIR}\lib
${WINDIR}/zsnes.res: ${WINDIR}/zsnes.rc ${WINDIR}/zsnes.res: ${WINDIR}/zsnes.rc
rc ${WINDIR}/zsnes.rc rc ${WINDIR}/zsnes.rc
${WINDIR}/copyvwin.obj: ${WINDIR}/copyvwin.asm macros.mac ${WINDIR}/copyvwin.obj: ${WINDIR}/copyvwin.asm macros.mac
${WINDIR}/winintrf.obj: ${WINDIR}/winintrf.asm macros.mac ${WINDIR}/winintrf.obj: ${WINDIR}/winintrf.asm macros.mac
${WINDIR}/zfilew.obj: ${WINDIR}/zfilew.c ${WINDIR}/zfilew.obj: ${WINDIR}/zfilew.c
${WINDIR}/zipxw.obj: ${WINDIR}/zipxw.c ${WINDIR}/zipxw.obj: ${WINDIR}/zipxw.c
${WINDIR}/zloaderw.obj: ${WINDIR}/zloaderw.c ${WINDIR}/zloaderw.obj: ${WINDIR}/zloaderw.c
${WINDIR}/ztcp.obj: ${WINDIR}/ztcp.c ${WINDIR}/ztcp.obj: ${WINDIR}/ztcp.c
${WINDIR}/winlink.obj: ${WINDIR}/winlink.cpp ${WINDIR}/resource.h ${WINDIR}/winlink.obj: ${WINDIR}/winlink.cpp ${WINDIR}/resource.h
${ZIPDIR}/unzip.obj: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/unzip.obj: ${ZIPDIR}/unzip.c ${ZIPDIR}/zunzip.h
${ZIPDIR}/zzip.obj: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h ${ZIPDIR}/zzip.obj: ${ZIPDIR}/zzip.c ${ZIPDIR}/zunzip.h
${ZIPDIR}/zpng.obj: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h ${ZIPDIR}/zpng.obj: ${ZIPDIR}/zpng.c ${ZIPDIR}/zpng.h
${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac ${DOSDIR}/initvid.o:${DOSDIR}/initvid.asm macros.mac
${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac ${DOSDIR}/modemrtn.o: ${DOSDIR}/modemrtn.asm macros.mac
${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm ${DOSDIR}/zsipx.o: ${DOSDIR}/zsipx.asm
${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac ${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac
${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac
${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac ${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac
${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac ${DOSDIR}/gppro.o: ${DOSDIR}/gppro.asm macros.mac
${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac ${DOSDIR}/sw.o: ${DOSDIR}/sw.asm macros.mac
${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac ${DOSDIR}/vesa12.o: ${DOSDIR}/vesa12.asm macros.mac
fixsin.obj: fixsin.c fixsin.obj: fixsin.c
water.obj: water.c water.obj: water.c
smoke.obj: smoke.c smoke.obj: smoke.c
burn.obj: burn.c burn.obj: burn.c
${VIDEODIR}/2xsaiw.obj: ${VIDEODIR}/2xsaiw.asm macros.mac ${VIDEODIR}/2xsaiw.obj: ${VIDEODIR}/2xsaiw.asm macros.mac
${VIDEODIR}/procvid.obj: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xSaImmx.inc ${VIDEODIR}/procvid.obj: ${VIDEODIR}/procvid.asm macros.mac ${VIDEODIR}/copyvid.inc ${VIDEODIR}/2xSaImmx.inc
${CHIPDIR}/sa1regs.obj: ${CHIPDIR}/sa1regs.asm macros.mac\ ${CHIPDIR}/sa1regs.obj: ${CHIPDIR}/sa1regs.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/sfxproc.obj: ${CHIPDIR}/sfxproc.asm macros.mac\ ${CHIPDIR}/sfxproc.obj: ${CHIPDIR}/sfxproc.asm macros.mac\
${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac ${CPUDIR}/regs.mac ${CPUDIR}/regsw.mac
${CHIPDIR}/dsp1emu.obj: ${CHIPDIR}/dsp1emu.c ${CHIPDIR}/dsp1emu.obj: ${CHIPDIR}/dsp1emu.c
${CC} ${CFLAGS} /Fo$@ $< ${CC} ${CFLAGS} /Fo$@ $<
${CHIPDIR}/dsp1proc.obj: ${CHIPDIR}/dsp1proc.asm macros.mac ${CHIPDIR}/dsp1proc.obj: ${CHIPDIR}/dsp1proc.asm macros.mac
ui.obj: ui.asm macros.mac ui.obj: ui.asm macros.mac
cfgload.obj:cfgload.asm macros.mac cfgload.obj:cfgload.asm macros.mac
init.obj:init.asm macros.mac init.obj:init.asm macros.mac
${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac initc.obj:initc.c
${CPUDIR}/addrni.obj: ${CPUDIR}/addrni.asm ${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac
${CPUDIR}/execute.obj: ${CPUDIR}/execute.asm macros.mac ${CPUDIR}/addrni.obj: ${CPUDIR}/addrni.asm
${CPUDIR}/table.obj: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ ${CPUDIR}/execute.obj: ${CPUDIR}/execute.asm macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\ ${CPUDIR}/table.obj: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\
${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\ ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816.inc\
${CPUDIR}/regsw.inc macros.mac ${CPUDIR}/regs.mac ${CPUDIR}/regs.inc ${CPUDIR}/regsw.mac\
${CPUDIR}/tableb.obj: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\ ${CPUDIR}/regsw.inc macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\ ${CPUDIR}/tableb.obj: ${CPUDIR}/tableb.asm ${CPUDIR}/65816db.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816b.inc\
${CPUDIR}/tablec.obj: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\ ${CPUDIR}/tablec.obj: ${CPUDIR}/tablec.asm ${CPUDIR}/65816dc.inc\
${CPUDIR}/regs.mac macros.mac ${CPUDIR}/address.inc ${CPUDIR}/addrni.inc ${CPUDIR}/e65816c.inc\
${CPUDIR}/stable.obj: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\ ${CPUDIR}/regs.mac macros.mac
${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\ ${CPUDIR}/stable.obj: ${CPUDIR}/stable.asm ${CPUDIR}/s65816d.inc\
macros.mac ${CPUDIR}/saddress.inc ${CPUDIR}/saddrni.inc ${CPUDIR}/se65816.inc\
${CPUDIR}/memory.obj: ${CPUDIR}/memory.asm macros.mac macros.mac
${CPUDIR}/dma.obj: ${CPUDIR}/dma.asm macros.mac ${CPUDIR}/memory.obj: ${CPUDIR}/memory.asm macros.mac
${DOSDIR}/dosintrf.obj: ${DOSDIR}/dosintrf.asm macros.mac ${CPUDIR}/dma.obj: ${CPUDIR}/dma.asm macros.mac
vcache.obj:vcache.asm macros.mac ${DOSDIR}/dosintrf.obj: ${DOSDIR}/dosintrf.asm macros.mac
${DOSDIR}/initvid.obj:${DOSDIR}/initvid.asm macros.mac vcache.obj:vcache.asm macros.mac
${VIDEODIR}/makevid.obj: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\ ${DOSDIR}/initvid.obj:${DOSDIR}/initvid.asm macros.mac
macros.mac ${VIDEODIR}/makevid.obj: ${VIDEODIR}/makevid.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16b.obj: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16b.obj: ${VIDEODIR}/makev16b.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/makev16t.obj: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/makev16t.obj: ${VIDEODIR}/makev16t.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mv16tms.obj: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\ macros.mac
macros.mac ${VIDEODIR}/mv16tms.obj: ${VIDEODIR}/mv16tms.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/mode7.obj: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode7.obj: ${VIDEODIR}/mode7.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716.obj: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716.obj: ${VIDEODIR}/mode716.asm ${VIDEODIR}/mode716.mac\
${VIDEODIR}/mode716b.obj:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716b.obj:${VIDEODIR}/mode716b.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716t.obj:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716t.obj:${VIDEODIR}/mode716t.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode716d.obj:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\ macros.mac
macros.mac ${VIDEODIR}/mode716d.obj:${VIDEODIR}/mode716d.asm ${VIDEODIR}/mode7.mac\
${VIDEODIR}/mode7ext.obj:${VIDEODIR}/mode7ext.asm macros.mac macros.mac
${VIDEODIR}/mode716e.obj:${VIDEODIR}/mode716e.asm macros.mac ${VIDEODIR}/mode7ext.obj:${VIDEODIR}/mode7ext.asm macros.mac
${VIDEODIR}/m716text.obj:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\ ${VIDEODIR}/mode716e.obj:${VIDEODIR}/mode716e.asm macros.mac
macros.mac ${VIDEODIR}/m716text.obj:${VIDEODIR}/m716text.asm ${VIDEODIR}/mode7.mac\
${CPUDIR}/irq.obj: ${CPUDIR}/irq.asm macros.mac macros.mac
${CPUDIR}/dspproc.obj: ${CPUDIR}/dspproc.asm macros.mac ${CPUDIR}/irq.obj: ${CPUDIR}/irq.asm macros.mac
${CPUDIR}/spc700.obj:${CPUDIR}/spc700.asm macros.mac\ ${CPUDIR}/dspproc.obj: ${CPUDIR}/dspproc.asm macros.mac
${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc ${CPUDIR}/spc700.obj:${CPUDIR}/spc700.asm macros.mac\
${CPUDIR}/dsp.obj: ${CPUDIR}/dsp.asm macros.mac ${CPUDIR}/regsw.mac ${CPUDIR}/spcdef.inc ${CPUDIR}/spcaddr.inc
${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac ${CPUDIR}/dsp.obj: ${CPUDIR}/dsp.asm macros.mac
${DOSDIR}/vesa12.obj: ${DOSDIR}/vesa12.asm macros.mac ${DOSDIR}/vesa2.obj: ${DOSDIR}/vesa2.asm macros.mac
${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac ${DOSDIR}/vesa12.obj: ${DOSDIR}/vesa12.asm macros.mac
${DOSDIR}/sw.obj: ${DOSDIR}/sw.asm macros.mac ${DOSDIR}/joy.obj: ${DOSDIR}/joy.asm macros.mac
${GUIDIR}/gui.obj: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\ ${DOSDIR}/sw.obj: ${DOSDIR}/sw.asm macros.mac
${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\ ${GUIDIR}/gui.obj: ${GUIDIR}/gui.asm ${GUIDIR}/guitools.inc\
${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\ ${GUIDIR}/guimisc.inc ${GUIDIR}/guimouse.inc ${GUIDIR}/guiwindp.inc\
${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac ${GUIDIR}/guinetpl.inc ${GUIDIR}/guikeys.inc ${GUIDIR}/guicheat.inc\
${GUIDIR}/menu.obj: ${GUIDIR}/menu.asm macros.mac ${GUIDIR}/guicombo.inc ${GUIDIR}/guiload.inc macros.mac
${VIDEODIR}/newgfx.obj:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\ ${GUIDIR}/menu.obj: ${GUIDIR}/menu.asm macros.mac
${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx.obj:${VIDEODIR}/newgfx.asm ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newgfx2.obj:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\ ${VIDEODIR}/newgfx2.mac ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx.mac macros.mac ${VIDEODIR}/newgfx2.obj:${VIDEODIR}/newgfx2.asm ${VIDEODIR}/newgfxwn.mac\
${VIDEODIR}/newgfx16.obj: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\ ${VIDEODIR}/newgfx.mac macros.mac
${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac ${VIDEODIR}/newgfx16.obj: ${VIDEODIR}/newgfx16.asm macros.mac ${VIDEODIR}/vidmacro.mac\
${VIDEODIR}/newg162.obj: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\ ${VIDEODIR}/newgfx16.mac ${VIDEODIR}/newg162.mac
${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac ${VIDEODIR}/newg162.obj: macros.mac ${VIDEODIR}/newg162.asm ${VIDEODIR}/newg162.mac\
${CHIPDIR}/fxemu2.obj: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\ ${VIDEODIR}/vidmacro.mac ${VIDEODIR}/newg16wn.mac
macros.mac ${CHIPDIR}/fxemu2.obj: ${CHIPDIR}/fxemu2.asm ${CHIPDIR}/fxemu2.mac\
${CHIPDIR}/fxemu2b.obj: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\ macros.mac
${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2b.obj: ${CHIPDIR}/fxemu2b.asm ${CHIPDIR}/fxemu2.mac\
${CHIPDIR}/fxemu2c.obj: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\ ${CHIPDIR}/fxemu2b.mac
${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac ${CHIPDIR}/fxemu2c.obj: ${CHIPDIR}/fxemu2c.asm macros.mac ${CHIPDIR}/fxemu2.mac\
${CHIPDIR}/fxtable.obj: ${CHIPDIR}/fxtable.asm macros.mac ${CHIPDIR}/fxemu2b.mac ${CHIPDIR}/fxemu2c.mac
${DOSDIR}/gppro.obj: ${DOSDIR}/gppro.asm macros.mac ${CHIPDIR}/fxtable.obj: ${CHIPDIR}/fxtable.asm macros.mac
${DOSDIR}/zsipx.obj: ${DOSDIR}/zsipx.asm ${DOSDIR}/gppro.obj: ${DOSDIR}/gppro.asm macros.mac
${CHIPDIR}/sa1proc.obj: ${CHIPDIR}/sa1proc.asm macros.mac ${DOSDIR}/zsipx.obj: ${DOSDIR}/zsipx.asm
endmem.obj: endmem.asm macros.mac ${CHIPDIR}/sa1proc.obj: ${CHIPDIR}/sa1proc.asm macros.mac
${DOSDIR}/modemrtn.obj: ${DOSDIR}/modemrtn.asm macros.mac endmem.obj: endmem.asm macros.mac
${DOSDIR}/modemrtn.obj: ${DOSDIR}/modemrtn.asm macros.mac
clean:
del *.obj clean:
del ${CHIPDIR}\*.obj del *.obj
del ${CPUDIR}\*.obj del ${CHIPDIR}\*.obj
del ${VIDEODIR}\*.obj del ${CPUDIR}\*.obj
del ${GUIDIR}\*.obj del ${VIDEODIR}\*.obj
del ${WINDIR}\*.obj del ${GUIDIR}\*.obj
del ${WINDIR}\zsnes.res del ${WINDIR}\*.obj
del ${ZIPDIR}\*.obj del ${WINDIR}\zsnes.res
del ${DOSDIR}\*.obj del ${ZIPDIR}\*.obj
del zsnesw.exe del ${DOSDIR}\*.obj
del zsnesw.exe