diff --git a/zsnes/src/Makefile.in b/zsnes/src/Makefile.in index 0497e0ae..6f4985b8 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 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 version.o OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${WINDOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} @@ -96,6 +96,11 @@ ui.o: ui.asm macros.mac cfgload.o:cfgload.asm macros.mac init.o:init.asm macros.mac initc.o:initc.c + +ALL: + rm -f version.o +version.o:version.c + ${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac ${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac ${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ @@ -186,3 +191,4 @@ clean: 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 + diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index a6836f9f..c25ae22e 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -5230,6 +5230,15 @@ GUIGUIOptnsTextN db 'TRAP MOUSE CURSOR',0 SECTION .text DisplayGUIAbout: + + ;This will attach compile date onto the end of GUIGUIAboutText1 + pushad + EXTSYM VERSION_STR, placedate + mov eax,GUIGUIAboutText1 + mov [VERSION_STR],eax + call placedate + popad + GUIDrawWindowBox 11,GUIAboutDisp mov byte[GUItextcolor],217 cmp byte[GUIWincoladd],0 @@ -5287,7 +5296,7 @@ DisplayGUIAbout: ret SECTION .data -GUIGUIAboutText1 db 'ZSNES V',ZVERSION,'',0 +GUIGUIAboutText1 db 'ZSNES V',ZVERSION,' ',0 ;Need room for date GUIGUIAboutText2 db 'CODED BY : ',0 GUIGUIAboutText3 db ' ZSKNIGHT',0 GUIGUIAboutText4 db ' _DEMO_',0 @@ -6260,3 +6269,4 @@ NEWSYM GUIMenuItem, db 'GAME ',0 db 25,0 SECTION .text + diff --git a/zsnes/src/link.win32 b/zsnes/src/link.win32 index 4cfdc782..302fdd42 100644 --- a/zsnes/src/link.win32 +++ b/zsnes/src/link.win32 @@ -1 +1,2 @@ -/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 ui.obj vcache.obj water.obj smoke.obj burn.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 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 0e8e429d..7a468336 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 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 version.o OBJS=${CHIPSOBJ} ${CPUOBJ} ${DOSOBJ} ${GUIOBJ} ${VIDEOBJ} ${PREOBJ} ${MAINOBJ} ${ZIPOBJ} @@ -110,6 +110,11 @@ ui.o: ui.asm macros.mac cfgload.o:cfgload.asm macros.mac init.o:init.asm macros.mac initc.o:initc.c + +ALL: + del version.o +version.o:version.c + ${DOSDIR}/debug.o: ${DOSDIR}/debug.asm macros.mac ${CPUDIR}/execute.o: ${CPUDIR}/execute.asm macros.mac ${CPUDIR}/table.o: ${CPUDIR}/table.asm ${CPUDIR}/65816d.inc\ @@ -197,3 +202,4 @@ clean: del ${ZIPDIR}\*.o del zsnes.exe + diff --git a/zsnes/src/makefile.win b/zsnes/src/makefile.win index ed555f8d..07339537 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 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 version.obj OBJS=${CHIPSOBJ} ${CPUOBJ} ${WINOBJ} ${GUIOBJ} ${VIDEOBJ} ${ZIPOBJ} ${MAINOBJ} ${WINDOSOBJ} LIBS= @@ -131,6 +131,11 @@ ui.obj: ui.asm macros.mac cfgload.obj:cfgload.asm macros.mac init.obj:init.asm macros.mac initc.obj:initc.c + +ALL: + del version.obj +version.obj:version.c + ${DOSDIR}/debug.obj: ${DOSDIR}/debug.asm macros.mac ${CPUDIR}/addrni.obj: ${CPUDIR}/addrni.asm ${CPUDIR}/execute.obj: ${CPUDIR}/execute.asm macros.mac @@ -223,3 +228,4 @@ clean: + diff --git a/zsnes/src/version.c b/zsnes/src/version.c new file mode 100644 index 00000000..461ed38e --- /dev/null +++ b/zsnes/src/version.c @@ -0,0 +1,39 @@ +/* +Copyright (C) 1997-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 + +char *VERSION_STR; + +//Place compilation date at the end of VERSION_STR +void placedate() +{ + strcpy(VERSION_STR + + strlen(VERSION_STR) - + strlen(__DATE__), __DATE__); +} + +//Place compilation time at the end of VERSION_STR +void placetime() +{ + strcpy(VERSION_STR + + strlen(VERSION_STR) - + strlen(__TIME__), __TIME__); +} +