From 79ac4c42f1b6ff0d7b7ab47916c38e11a17467f6 Mon Sep 17 00:00:00 2001 From: godzil Date: Sat, 23 Feb 2008 17:35:15 +0000 Subject: [PATCH] minors modifications on cycle count, re-add correct svn:keywords and update correct source file headers --- doc/Changements.txt | 2 +- doc/Changes.txt | 2 +- doc/LisezMoi.txt | 2 +- src/NESCarts.c | 8 +- src/apu/SndAlleg.c | 10 +- src/apu/Sound.c | 7 + src/corecpu/Codes.h | 12 +- src/corecpu/Debug.c | 8 +- src/corecpu/M6502.c | 37 +- src/corecpu/M6502.h | 8 +- src/corecpu/Tables.h | 8 +- src/include/MIDIFreq.h | 6 + src/include/NESCarts.h | 8 +- src/include/Sound.h | 6 + src/include/memory/manager.h | 10 +- src/include/paddle.h | 8 +- src/include/palette.h | 7 +- src/include/ppu/ppu.debug.h | 10 +- src/include/ppu/ppu.h | 8 +- src/include/ppu/ppu.memory.h | 10 +- src/include/types.h | 10 +- src/main.c | 890 +++++++++++---------- src/mappersmanager/manager.c | 11 +- src/mappersmanager/mappers/aorom.c | 8 +- src/mappersmanager/mappers/aorom.h | 8 +- src/mappersmanager/mappers/cnrom.c | 8 +- src/mappersmanager/mappers/cnrom.h | 8 +- src/mappersmanager/mappers/genericmapper.c | 8 +- src/mappersmanager/mappers/iremh3001.c | 8 +- src/mappersmanager/mappers/iremh3001.h | 8 +- src/mappersmanager/mappers/mmc1.c | 8 +- src/mappersmanager/mappers/mmc1.h | 8 +- src/mappersmanager/mappers/mmc3.c | 8 +- src/mappersmanager/mappers/mmc3.h | 8 +- src/mappersmanager/mappers/mmc4.c | 8 +- src/mappersmanager/mappers/mmc4.h | 8 +- src/mappersmanager/mappers/norom.c | 8 +- src/mappersmanager/mappers/norom.h | 8 +- src/mappersmanager/mappers/unrom.c | 8 +- src/mappersmanager/mappers/unrom.h | 8 +- src/mappersmanager/mappers_list.h | 11 +- src/mappersmanager/unused/genericmapper.h | 8 +- src/mappersmanager/unused/mmc1.h | 8 +- src/mappersmanager/utils.c | 8 +- src/memorymanager/memory.c | 10 +- src/paddle.c | 8 +- src/pluginsmanager/plugins/gamegenie.c | 14 + src/pluginsmanager/plugins/gamegenie.h | 14 + src/pluginsmanager/plugins_list.h | 14 + src/ppu/debug/ppu.debug.c | 14 + src/ppu/oldppu.c | 8 +- src/ppu/ppu.24.c | 8 +- src/ppu/ppu.c | 16 +- src/ppu/ppu.memory.c | 8 +- src/ppu/ppu.new.c | 8 +- src/ppu/ppu.new2.c | 8 +- src/ppu/ppu.old.c | 8 +- src/utils/bin2h/bin2h.c | 14 + 58 files changed, 761 insertions(+), 650 deletions(-) diff --git a/doc/Changements.txt b/doc/Changements.txt index f5fdb6e..a4bab39 100755 --- a/doc/Changements.txt +++ b/doc/Changements.txt @@ -101,5 +101,5 @@ - Premiere version public, ne sert que de démonstration. -------------------------------------------------------------------------------- -$Id: Changements.txt 29 2007-04-03 14:34:02Z mtrapier $ +$Id$ -------------------------------------------------------------------------------- diff --git a/doc/Changes.txt b/doc/Changes.txt index 3393ee6..50b9489 100755 --- a/doc/Changes.txt +++ b/doc/Changes.txt @@ -123,5 +123,5 @@ - Premiere version public, ne sert que de dŽmonstration. -------------------------------------------------------------------------------- -$Id: Changes.txt 51 2007-05-22 16:33:04Z mtrapier $ +$Id$ -------------------------------------------------------------------------------- diff --git a/doc/LisezMoi.txt b/doc/LisezMoi.txt index 1e5b7af..8aa77a1 100755 --- a/doc/LisezMoi.txt +++ b/doc/LisezMoi.txt @@ -229,5 +229,5 @@ Vous pouvez aussi essayer de visiter un de mes sites : http://www.godzil.net -------------------------------------------------------------------------------- -$Id: LisezMoi.txt 17 2007-03-27 09:25:23Z mtrapier $ +$Id$ -------------------------------------------------------------------------------- diff --git a/src/NESCarts.c b/src/NESCarts.c index 79e540c..2784991 100755 --- a/src/NESCarts.c +++ b/src/NESCarts.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/NESCarts.c $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/apu/SndAlleg.c b/src/apu/SndAlleg.c index fdc9115..407f650 100755 --- a/src/apu/SndAlleg.c +++ b/src/apu/SndAlleg.c @@ -2,13 +2,13 @@ * Allegro Sound Driver for EMULib Sound system - The TI-NESulator Project * SndAlleg.C * - * Created by ManoĆ«l Trapier + * Created by Manoel Trapier * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-03-28 15:50:50 +0200 (mer, 28 mar 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/types.h $ - * $Revision: 25 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ #include diff --git a/src/apu/Sound.c b/src/apu/Sound.c index b38e0cd..9256efe 100644 --- a/src/apu/Sound.c +++ b/src/apu/Sound.c @@ -11,6 +11,13 @@ /** commercially. Please, notify me, if you make any **/ /** changes to this file. **/ /*************************************************************/ +/* + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + */ + #include "Sound.h" #include diff --git a/src/corecpu/Codes.h b/src/corecpu/Codes.h index 759b599..6559953 100755 --- a/src/corecpu/Codes.h +++ b/src/corecpu/Codes.h @@ -12,10 +12,10 @@ /** changes to this file. **/ /*************************************************************/ /* - * $LastChangedDate: 2007-05-31 18:01:41 +0200 (jeu, 31 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/Codes.h $ - * $Revision: 57 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ case 0x10: @@ -91,7 +91,7 @@ break; /* BVS * REL */ case 0x40: M_POP(R->P); -R->P |= R_FLAG; +//R->P |= R_FLAG; M_POP(R->PC.B.l); M_POP(R->PC.B.h); @@ -197,7 +197,7 @@ if ((R->IRequest != INT_NONE) && ((I ^ R->P) & ~I & I_FLAG)) R->ICount = 1; } -R->P = I | R_FLAG | B_FLAG; +R->P = I /*| R_FLAG*/ | B_FLAG; break; diff --git a/src/corecpu/Debug.c b/src/corecpu/Debug.c index 2d28a20..276759a 100755 --- a/src/corecpu/Debug.c +++ b/src/corecpu/Debug.c @@ -13,10 +13,10 @@ /** changes to this file. **/ /*************************************************************/ /* - * $LastChangedDate: 2007-04-19 18:18:57 +0200 (jeu, 19 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/Debug.c $ - * $Revision: 43 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ #include "M6502.h" diff --git a/src/corecpu/M6502.c b/src/corecpu/M6502.c index 54bfdb0..346cc17 100755 --- a/src/corecpu/M6502.c +++ b/src/corecpu/M6502.c @@ -14,10 +14,10 @@ /** changes to this file. **/ /*************************************************************/ /* - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/M6502.c $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ #include "M6502.h" @@ -201,7 +201,7 @@ INLINE byte Op6502(register word A) { return(Page[A>>13][A&0x1FFF]); } void Reset6502(M6502 *R) { R->A=R->X=R->Y=0x00; - R->P=Z_FLAG|R_FLAG; + R->P=Z_FLAG; R->S=0xFF; R->PC.B.l=Rd6502(0xFFFC); R->PC.B.h=Rd6502(0xFFFD); @@ -245,7 +245,7 @@ void Int6502(M6502 *R,byte Type) R->ICount-=7; M_PUSH(R->PC.B.h); M_PUSH(R->PC.B.l); - M_PUSH(R->P&~B_FLAG); + M_PUSH(R->P & ~(B_FLAG|R_FLAG)); R->P&=~D_FLAG; if(R->IAutoReset&&(Type==R->IRequest)) R->IRequest=INT_NONE; if(Type==INT_NMI) J.W=0xFFFA; else { R->P|=I_FLAG;J.W=0xFFFE; } @@ -402,6 +402,9 @@ int DAsmCAP(char *S, word A) return (B - A); } + +extern unsigned short ScanLine; + #endif /** Run6502() ************************************************/ @@ -413,7 +416,7 @@ word Run6502(M6502 *R) { register pair J,K; register byte I; - + byte nb_of_cycle; for(;;) { #ifdef DEBUG @@ -444,21 +447,16 @@ word Run6502(M6502 *R) } #endif - I=Op6502(R->PC.W++); - R->ICount-=Cycles[I]; - + nb_of_cycle = Cycles[I]; //#ifdef DEBUG // pushop(I); //#endif - icount++; - switch(I) { #include "Codes.h" } - #ifdef TRACE_EXECUTION while(1) { @@ -478,15 +476,18 @@ word Run6502(M6502 *R) printf("%c", F & 0x80 ? FA[J] : '.'); - printf("], Stack[%02x, %02x, %02x]\n", - Rd6502(0x0100 + (byte) (R->S + 1)), - Rd6502(0x0100 + (byte) (R->S + 2)), - Rd6502(0x0100 + (byte) (R->S + 3))); + printf("], Stack[%02x, %02x, %02x], %03d, %03d\n", + Rd6502(0x0100 + (byte) (R->S + 1)), + Rd6502(0x0100 + (byte) (R->S + 2)), + Rd6502(0x0100 + (byte) (R->S + 3)), + R->ICount, + ScanLine + ); break; } #endif - + R->ICount-= nb_of_cycle; /* If cycle counter expired... */ if(R->ICount<=0) { diff --git a/src/corecpu/M6502.h b/src/corecpu/M6502.h index 8f2d9fb..f738499 100755 --- a/src/corecpu/M6502.h +++ b/src/corecpu/M6502.h @@ -12,10 +12,10 @@ /** changes to this file. **/ /*************************************************************/ /* - * $LastChangedDate: 2007-04-23 18:55:35 +0200 (lun, 23 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/M6502.h $ - * $Revision: 45 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ #ifndef M6502_H diff --git a/src/corecpu/Tables.h b/src/corecpu/Tables.h index b6c0059..096cb38 100755 --- a/src/corecpu/Tables.h +++ b/src/corecpu/Tables.h @@ -13,10 +13,10 @@ /** changes to this file. **/ /*************************************************************/ /* - * $LastChangedDate: 2007-05-24 15:07:13 +0200 (jeu, 24 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/Tables.h $ - * $Revision: 52 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ static byte Cycles[256] = diff --git a/src/include/MIDIFreq.h b/src/include/MIDIFreq.h index 399eb6b..d6a1428 100644 --- a/src/include/MIDIFreq.h +++ b/src/include/MIDIFreq.h @@ -11,6 +11,12 @@ /** commercially. Please, notify me, if you make any **/ /** changes to this file. **/ /*************************************************************/ +/* + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + */ { -36, 8063 },{ -12, 8063 },{ -3, 8298 },{ 3, 8358 }, { 8, 8201 },{ 12, 8063 },{ 15, 8054 },{ 17, 8238 }, diff --git a/src/include/NESCarts.h b/src/include/NESCarts.h index d415a68..de0e47f 100755 --- a/src/include/NESCarts.h +++ b/src/include/NESCarts.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/NESCarts.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ */ #ifndef NESCARTS_H diff --git a/src/include/Sound.h b/src/include/Sound.h index cd60d83..6c06248 100644 --- a/src/include/Sound.h +++ b/src/include/Sound.h @@ -11,6 +11,12 @@ /** commercially. Please, notify me, if you make any **/ /** changes to this file. **/ /*************************************************************/ +/* + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + */ #ifndef SOUND_H #define SOUND_H diff --git a/src/include/memory/manager.h b/src/include/memory/manager.h index 24996f2..9160a31 100755 --- a/src/include/memory/manager.h +++ b/src/include/memory/manager.h @@ -2,13 +2,13 @@ * 6502 Memory manager - The TI-NESulator Project * memory.h - Taken from the Quick6502 project * - * Created by ManoĆ«l Trapier on 18/09/06. + * Created by Manoel Trapier on 18/09/06. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-04-05 16:30:20 +0200 (jeu, 05 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/memory.h $ - * $Revision: 31 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ #ifndef MEMORY_H diff --git a/src/include/paddle.h b/src/include/paddle.h index 5ae281e..3974b04 100755 --- a/src/include/paddle.h +++ b/src/include/paddle.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/paddle.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/include/palette.h b/src/include/palette.h index 4365f09..74068e2 100644 --- a/src/include/palette.h +++ b/src/include/palette.h @@ -1,5 +1,10 @@ /* Generated data file from file 'stdin' */ - +/* + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + */ PALETTE basicPalette = { { 0x1E, 0x1E, 0x1E, 0x07 }, diff --git a/src/include/ppu/ppu.debug.h b/src/include/ppu/ppu.debug.h index a597fe5..d488e29 100644 --- a/src/include/ppu/ppu.debug.h +++ b/src/include/ppu/ppu.debug.h @@ -2,13 +2,13 @@ * PPU debug utilities - The TI-NESulator Project * ppu.debug.h * - * Created by ManoĆ«l Trapier on 12/04/07. + * Created by Manoel Trapier on 12/04/07. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-05-24 15:11:55 +0200 (jeu, 24 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu/ppu.debug.h $ - * $Revision: 53 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/include/ppu/ppu.h b/src/include/ppu/ppu.h index 65701cb..b41844f 100755 --- a/src/include/ppu/ppu.h +++ b/src/include/ppu/ppu.h @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-26 18:47:34 +0200 (jeu, 26 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.h $ - * $Revision: 46 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/include/ppu/ppu.memory.h b/src/include/ppu/ppu.memory.h index 3c08eec..fca2a46 100644 --- a/src/include/ppu/ppu.memory.h +++ b/src/include/ppu/ppu.memory.h @@ -2,13 +2,13 @@ * PPU Memory manager - The TI-NESulator Project * ppu.memory.h - Inspired from the memory manager of the Quick6502 Project. * - * Created by ManoĆ«l Trapier on 12/04/07. + * Created by Manoel Trapier on 12/04/07. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-05-24 15:11:55 +0200 (jeu, 24 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu/ppu.memory.h $ - * $Revision: 53 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/include/types.h b/src/include/types.h index edb8363..24aa8fe 100755 --- a/src/include/types.h +++ b/src/include/types.h @@ -2,13 +2,13 @@ * Base type definitions - The TI-NESulator Project * types.h - Taken from the Quick6502 project * - * Created by ManoĆ«l Trapier on 18/09/06. + * Created by Manoel Trapier on 18/09/06. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-03-28 15:50:50 +0200 (mer, 28 mar 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/types.h $ - * $Revision: 25 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/main.c b/src/main.c index cd2a292..1719fe4 100755 --- a/src/main.c +++ b/src/main.c @@ -125,130 +125,130 @@ unsigned long ColorPalette[ 8 * 63 ]; void CloseHook(void) { - WantClosing = 1; + WantClosing = 1; } void ips_fps_counter(void) { - FPS = frame; - IPS = icount; - frame = 0; - icount = 0; + FPS = frame; + IPS = icount; + frame = 0; + icount = 0; } END_OF_FUNCTION(ips_fps_counter); void SaveSaveRam(char *name) { - FILE *fp; - int i; - char fname[512]; - //byte car; - strcpy(fname, name); - strcat(fname, ".svt"); - if ((fp = fopen(fname, "wb"))) - { - printf("Saving savestate '%s'\n", fname); - for( i = 0x60; i < 0x80; i++) - { - fwrite(get_page_ptr(i), 1, 0x100, fp); - } - - fclose(fp); - } + FILE *fp; + int i; + char fname[512]; + //byte car; + strcpy(fname, name); + strcat(fname, ".svt"); + if ((fp = fopen(fname, "wb"))) + { + printf("Saving savestate '%s'\n", fname); + for( i = 0x60; i < 0x80; i++) + { + fwrite(get_page_ptr(i), 1, 0x100, fp); + } + + fclose(fp); + } } void LoadSaveRam(char *name) { - FILE *fp; - int i; - char fname[512]; - - strcpy(fname, name); - strcat(fname, ".svt"); - if ((fp = fopen(fname, "rb"))) - { - printf("Loading savestate '%s'\n", fname); - for( i = 0x60; i < 0x80; i++) - { - fread(get_page_ptr(i), 1, 0x0100, fp); - } - fclose(fp); - - } + FILE *fp; + int i; + char fname[512]; + + strcpy(fname, name); + strcat(fname, ".svt"); + if ((fp = fopen(fname, "rb"))) + { + printf("Loading savestate '%s'\n", fname); + for( i = 0x60; i < 0x80; i++) + { + fread(get_page_ptr(i), 1, 0x0100, fp); + } + fclose(fp); + + } } void LoadPalette(char *filename, PALETTE pal) { - FILE *fp; - - unsigned char r, v, b, i; - printf("%s: try to load pallette file '%s'", __func__, filename); - if ((fp = fopen(filename, "rb")) != NULL) - { - - for (i = 0; i < 64; i++) - { - - fread(&r, 1, 1, fp); - fread(&v, 1, 1, fp); - fread(&b, 1, 1, fp); - -/* r = (r * 64) / 255; - v = (v * 64) / 255; - b = (b * 64) / 255;*/ - - + FILE *fp; + + unsigned char r, v, b, i; + printf("%s: try to load pallette file '%s'", __func__, filename); + if ((fp = fopen(filename, "rb")) != NULL) + { + + for (i = 0; i < 64; i++) + { + + fread(&r, 1, 1, fp); + fread(&v, 1, 1, fp); + fread(&b, 1, 1, fp); + + /* r = (r * 64) / 255; + v = (v * 64) / 255; + b = (b * 64) / 255;*/ + + #ifdef USE_24BITS - ColorPalette[i + (0 * 63)] = SET_RGB(r,v,b); - - /* Red emphase */ - ColorPalette[i + (1 * 63)] = SET_RGB(r + 10, v - 05, b - 05); - - /* Green emphase */ - ColorPalette[i + (2 * 63)] = SET_RGB(r - 05, v + 10, b - 05); - - /* Red + green emphase */ - ColorPalette[i + (3 * 63)] = SET_RGB(r + 05, v + 05, b - 10); - - /* Blue emphase */ - ColorPalette[i + (4 * 63)] = SET_RGB(r - 05, v - 05, b + 10); - - /* Red + blue emphase */ - ColorPalette[i + (5 * 63)] = SET_RGB(r + 05, v - 10, b + 05); - - /* Blue + green emphase */ - ColorPalette[i + (6 * 63)] = SET_RGB(r - 10, v + 05, b + 05); - - /* Red + Green + Blue emphase */ - ColorPalette[i + (7 * 63)] = SET_RGB(r + 00, v + 00, b + 00);*/ + ColorPalette[i + (0 * 63)] = SET_RGB(r,v,b); + + /* Red emphase */ + ColorPalette[i + (1 * 63)] = SET_RGB(r + 10, v - 05, b - 05); + + /* Green emphase */ + ColorPalette[i + (2 * 63)] = SET_RGB(r - 05, v + 10, b - 05); + + /* Red + green emphase */ + ColorPalette[i + (3 * 63)] = SET_RGB(r + 05, v + 05, b - 10); + + /* Blue emphase */ + ColorPalette[i + (4 * 63)] = SET_RGB(r - 05, v - 05, b + 10); + + /* Red + blue emphase */ + ColorPalette[i + (5 * 63)] = SET_RGB(r + 05, v - 10, b + 05); + + /* Blue + green emphase */ + ColorPalette[i + (6 * 63)] = SET_RGB(r - 10, v + 05, b + 05); + + /* Red + Green + Blue emphase */ + ColorPalette[i + (7 * 63)] = SET_RGB(r + 00, v + 00, b + 00);*/ #else /* Else Use 8Bits */ - pal[i].r = r; - pal[i].g = v; - pal[i].b = b; - - pal[i + 64].r = r; - pal[i + 64].g = v; - pal[i + 64].b = b; - - pal[i + 128].r = r; - pal[i + 128].g = v; - pal[i + 128].b = b; - - pal[i + 192].r = r; - pal[i + 192].g = v; - pal[i + 192].b = b; + pal[i].r = r; + pal[i].g = v; + pal[i].b = b; + + pal[i + 64].r = r; + pal[i + 64].g = v; + pal[i + 64].b = b; + + pal[i + 128].r = r; + pal[i + 128].g = v; + pal[i + 128].b = b; + + pal[i + 192].r = r; + pal[i + 192].g = v; + pal[i + 192].b = b; #endif - } - fclose(fp); - printf(" [ OK ]\n"); - } - else - { - printf("Error loading palette '%s'!\n", filename); - exit(-1); - } + } + fclose(fp); + printf(" [ OK ]\n"); + } + else + { + printf("Error loading palette '%s'!\n", filename); + exit(-1); + } } int DAsm(char *S, word A); @@ -257,24 +257,24 @@ int oppos = 0; void pushop(word op) { - latestop[oppos] = op; - // printf("%d\n", oppos); - oppos = (oppos+1)%42; + latestop[oppos] = op; + // printf("%d\n", oppos); + oppos = (oppos+1)%42; } void showlastop(FILE *fp) { #ifdef DEBUG - int i,j; - char S[256]; - i = oppos; - do - { - j=(DAsm(S,latestop[i])-1); - fprintf(fp, "0x%04X : %s\n", MainCPU.PC.W,S); - i = (i+1)%42; - } - while(i != oppos); + int i,j; + char S[256]; + i = oppos; + do + { + j=(DAsm(S,latestop[i])-1); + fprintf(fp, "0x%04X : %s\n", MainCPU.PC.W,S); + i = (i+1)%42; + } + while(i != oppos); #endif } @@ -282,365 +282,365 @@ NesCart *Cart; void *signalhandler(int sig) { - static int state=0; - M6502 *R = &MainCPU; - byte F; - int J, I; - static char FA[8] = "NVRBDIZC"; - char S[128]; - char name[512]; - static FILE *fp = NULL; - sprintf(name, "crashdump-%d.txt", (int)time(NULL)); - if (state != 0) - { - fprintf(stderr, "\n\n\nCrashed within signal!\nEmergency exit\n"); - exit(42); - } - state = 1; - - if (fp == NULL) - fp = fopen(name, "wt"); - - state = 2; - - if (fp) fprintf(stderr, - "\n\n\n\n\n" - "#sick# TI-NESulator %d.%d #sick#\n" - "see %s for more information", - V_MAJOR, - V_MINOR, - name); - - if (!fp) fp = stderr; - - fprintf(fp,"\n\n\n\n\n" - "#sick# TI-NESulator %d.%d #sick# signal: ", - V_MAJOR, - V_MINOR); - switch(sig) - { - default: - case SIGABRT: fprintf(fp,"Abnormal termination"); break; - case SIGILL: fprintf(fp,"Illegal instruction"); break; - case SIGINT: fprintf(fp,"CTRL+C signal"); break; - case SIGSEGV: fprintf(fp,"Segmentation fault"); break; - case SIGTERM: fprintf(fp,"Termination request"); break; - } - fprintf(fp,"\nAn error occured during the excution.\n Crash report information :\n"); + static int state=0; + M6502 *R = &MainCPU; + byte F; + int J, I; + static char FA[8] = "NVRBDIZC"; + char S[128]; + char name[512]; + static FILE *fp = NULL; + sprintf(name, "crashdump-%d.txt", (int)time(NULL)); + if (state != 0) + { + fprintf(stderr, "\n\n\nCrashed within signal!\nEmergency exit\n"); + exit(42); + } + state = 1; + + if (fp == NULL) + fp = fopen(name, "wt"); + + state = 2; + + if (fp) fprintf(stderr, + "\n\n\n\n\n" + "#sick# TI-NESulator %d.%d #sick#\n" + "see %s for more information", + V_MAJOR, + V_MINOR, + name); + + if (!fp) fp = stderr; + + fprintf(fp,"\n\n\n\n\n" + "#sick# TI-NESulator %d.%d #sick# signal: ", + V_MAJOR, + V_MINOR); + switch(sig) + { + default: + case SIGABRT: fprintf(fp,"Abnormal termination"); break; + case SIGILL: fprintf(fp,"Illegal instruction"); break; + case SIGINT: fprintf(fp,"CTRL+C signal"); break; + case SIGSEGV: fprintf(fp,"Segmentation fault"); break; + case SIGTERM: fprintf(fp,"Termination request"); break; + } + fprintf(fp,"\nAn error occured during the excution.\n Crash report information :\n"); #ifdef DEBUG - DAsm(S, R->PC.W); + DAsm(S, R->PC.W); #endif - fprintf(fp, "CPU: A:%02X P:%02X X:%02X Y:%02X S:%04X PC:%04X Flags:[", - R->A, R->P, R->X, R->Y, R->S + 0x0100, R->PC.W); - for (J = 0, F = R->P; J < 8; J++, F <<= 1) - fprintf(fp, "%c", F & 0x80 ? FA[J] : '.'); - fprintf(fp, "]\nCPU: "); - fprintf(fp, "AT PC: [%02X - %s] AT SP: [%02X %02X %02X]\nLast execution :\n", + fprintf(fp, "CPU: A:%02X P:%02X X:%02X Y:%02X S:%04X PC:%04X Flags:[", + R->A, R->P, R->X, R->Y, R->S + 0x0100, R->PC.W); + for (J = 0, F = R->P; J < 8; J++, F <<= 1) + fprintf(fp, "%c", F & 0x80 ? FA[J] : '.'); + fprintf(fp, "]\nCPU: "); + fprintf(fp, "AT PC: [%02X - %s] AT SP: [%02X %02X %02X]\nLast execution :\n", Rd6502(R->PC.W), S, Rd6502(0x0100 + (byte) (R->S + 1)), Rd6502(0x0100 + (byte) (R->S + 2)), Rd6502(0x0100 + (byte) (R->S + 3))); - showlastop(fp); -// fprintf(fp, "PPU: CR1: 0x%02X (NT:%d AI:%d SP:%d BP:%d SS:%d NMI:%d)\n",ppu.ControlRegister1.b, ppu.ControlRegister1.s.NameTblAddr, ppu.ControlRegister1.s.AddrIncrmt, ppu.ControlRegister1.s.SptPattern, ppu.ControlRegister1.s.BgPattern, ppu.ControlRegister1.s.SpriteSize, ppu.ControlRegister1.s.VBlank_NMI); -// fprintf(fp, "PPU: CR2: 0x%02X (FBC/CI:%d SV:%d BV:%d SC:%d BC:%d DT:%d)\n",ppu.ControlRegister2.b,ppu.ControlRegister2.s.Colour,ppu.ControlRegister2.s.SpriteVisibility,ppu.ControlRegister2.s.BgVisibility,ppu.ControlRegister2.s.SpriteClipping,ppu.ControlRegister2.s.BgClipping,ppu.ControlRegister2.s.DisplayType); -// fprintf(fp, "PPU: SR: 0x%02X (VB:%d S0:%d SSC:%d VWF:%d)\n", ppu.StatusRegister.b,ppu.StatusRegister.s.VBlankOccur,ppu.StatusRegister.s.Sprite0Occur,ppu.StatusRegister.s.SprtCount,ppu.StatusRegister.s.VRAMProtect); -// fprintf(fp, "PPU: M:%d ST:%d VRAMPtr:0x%04X T:0x%04X\n",ppu.MirrorDir,ppu.ScreenType,ppu.VRAMAddrReg2.W,ppu.TmpVRamPtr); - - //MapperDump(fp); - - for(I = 0; I < 0xFFFF; I += 0x10) - fprintf(fp, "%04X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X | %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", - I, - Rd6502(I+0x00), Rd6502(I+0x01), Rd6502(I+0x02), Rd6502(I+0x03), - Rd6502(I+0x04), Rd6502(I+0x05), Rd6502(I+0x06), Rd6502(I+0x07), - Rd6502(I+0x08), Rd6502(I+0x09), Rd6502(I+0x0A), Rd6502(I+0x0B), - Rd6502(I+0x0C), Rd6502(I+0x0D), Rd6502(I+0x0E), Rd6502(I+0x0F), - // --- // - isprint(Rd6502(I+0x00))?Rd6502(I+0x00):'_', - isprint(Rd6502(I+0x01))?Rd6502(I+0x01):'_', - isprint(Rd6502(I+0x02))?Rd6502(I+0x02):'_', - isprint(Rd6502(I+0x03))?Rd6502(I+0x03):'_', - isprint(Rd6502(I+0x04))?Rd6502(I+0x04):'_', - isprint(Rd6502(I+0x05))?Rd6502(I+0x05):'_', - isprint(Rd6502(I+0x06))?Rd6502(I+0x06):'_', - isprint(Rd6502(I+0x07))?Rd6502(I+0x07):'_', - isprint(Rd6502(I+0x08))?Rd6502(I+0x08):'_', - isprint(Rd6502(I+0x09))?Rd6502(I+0x09):'_', - isprint(Rd6502(I+0x0A))?Rd6502(I+0x0A):'_', - isprint(Rd6502(I+0x0B))?Rd6502(I+0x0B):'_', - isprint(Rd6502(I+0x0C))?Rd6502(I+0x0C):'_', - isprint(Rd6502(I+0x0D))?Rd6502(I+0x0D):'_', - isprint(Rd6502(I+0x0E))?Rd6502(I+0x0E):'_', - isprint(Rd6502(I+0x0F))?Rd6502(I+0x0F):'_'); - - DumpMemoryState(fp); - - fprintf(stderr, "\nPlease join this informations when submiting crash report\n"); - if (fp != stderr) fclose(fp); - //getchar(); - exit(-42); + showlastop(fp); + // fprintf(fp, "PPU: CR1: 0x%02X (NT:%d AI:%d SP:%d BP:%d SS:%d NMI:%d)\n",ppu.ControlRegister1.b, ppu.ControlRegister1.s.NameTblAddr, ppu.ControlRegister1.s.AddrIncrmt, ppu.ControlRegister1.s.SptPattern, ppu.ControlRegister1.s.BgPattern, ppu.ControlRegister1.s.SpriteSize, ppu.ControlRegister1.s.VBlank_NMI); + // fprintf(fp, "PPU: CR2: 0x%02X (FBC/CI:%d SV:%d BV:%d SC:%d BC:%d DT:%d)\n",ppu.ControlRegister2.b,ppu.ControlRegister2.s.Colour,ppu.ControlRegister2.s.SpriteVisibility,ppu.ControlRegister2.s.BgVisibility,ppu.ControlRegister2.s.SpriteClipping,ppu.ControlRegister2.s.BgClipping,ppu.ControlRegister2.s.DisplayType); + // fprintf(fp, "PPU: SR: 0x%02X (VB:%d S0:%d SSC:%d VWF:%d)\n", ppu.StatusRegister.b,ppu.StatusRegister.s.VBlankOccur,ppu.StatusRegister.s.Sprite0Occur,ppu.StatusRegister.s.SprtCount,ppu.StatusRegister.s.VRAMProtect); + // fprintf(fp, "PPU: M:%d ST:%d VRAMPtr:0x%04X T:0x%04X\n",ppu.MirrorDir,ppu.ScreenType,ppu.VRAMAddrReg2.W,ppu.TmpVRamPtr); + + //MapperDump(fp); + + for(I = 0; I < 0xFFFF; I += 0x10) + fprintf(fp, "%04X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X | %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n", + I, + Rd6502(I+0x00), Rd6502(I+0x01), Rd6502(I+0x02), Rd6502(I+0x03), + Rd6502(I+0x04), Rd6502(I+0x05), Rd6502(I+0x06), Rd6502(I+0x07), + Rd6502(I+0x08), Rd6502(I+0x09), Rd6502(I+0x0A), Rd6502(I+0x0B), + Rd6502(I+0x0C), Rd6502(I+0x0D), Rd6502(I+0x0E), Rd6502(I+0x0F), + // --- // + isprint(Rd6502(I+0x00))?Rd6502(I+0x00):'_', + isprint(Rd6502(I+0x01))?Rd6502(I+0x01):'_', + isprint(Rd6502(I+0x02))?Rd6502(I+0x02):'_', + isprint(Rd6502(I+0x03))?Rd6502(I+0x03):'_', + isprint(Rd6502(I+0x04))?Rd6502(I+0x04):'_', + isprint(Rd6502(I+0x05))?Rd6502(I+0x05):'_', + isprint(Rd6502(I+0x06))?Rd6502(I+0x06):'_', + isprint(Rd6502(I+0x07))?Rd6502(I+0x07):'_', + isprint(Rd6502(I+0x08))?Rd6502(I+0x08):'_', + isprint(Rd6502(I+0x09))?Rd6502(I+0x09):'_', + isprint(Rd6502(I+0x0A))?Rd6502(I+0x0A):'_', + isprint(Rd6502(I+0x0B))?Rd6502(I+0x0B):'_', + isprint(Rd6502(I+0x0C))?Rd6502(I+0x0C):'_', + isprint(Rd6502(I+0x0D))?Rd6502(I+0x0D):'_', + isprint(Rd6502(I+0x0E))?Rd6502(I+0x0E):'_', + isprint(Rd6502(I+0x0F))?Rd6502(I+0x0F):'_'); + + DumpMemoryState(fp); + + fprintf(stderr, "\nPlease join this informations when submiting crash report\n"); + if (fp != stderr) fclose(fp); + //getchar(); + exit(-42); } byte Page40[256]; void WrHook4000Multiplexer(byte addr, byte value) { - static byte SQ1V = 0; - static byte SQ2V = 0; - static byte NOIV = 0; - - static unsigned short SQ1P = 0; - static unsigned short SQ2P = 0; - static unsigned short TRIP = 0; - static unsigned short NOIP = 0; - - static byte Sq1_reg0 = 0; - static byte Sq1_reg1 = 0; - static byte Sq1_reg2 = 0; - static byte Sq1_reg3 = 0; - - static byte Sq2_reg0 = 0; - static byte Sq2_reg1 = 0; - static byte Sq2_reg2 = 0; - static byte Sq2_reg3 = 0; - - double SQ = 0.0; - - switch(addr) - { + static byte SQ1V = 0; + static byte SQ2V = 0; + static byte NOIV = 0; + + static unsigned short SQ1P = 0; + static unsigned short SQ2P = 0; + static unsigned short TRIP = 0; + static unsigned short NOIP = 0; + + static byte Sq1_reg0 = 0; + static byte Sq1_reg1 = 0; + static byte Sq1_reg2 = 0; + static byte Sq1_reg3 = 0; + + static byte Sq2_reg0 = 0; + static byte Sq2_reg1 = 0; + static byte Sq2_reg2 = 0; + static byte Sq2_reg3 = 0; + + double SQ = 0.0; + + switch(addr) + { #ifdef USE_SOUND - case 0x00: /* DDLE NNNN */ - Sq1_reg0 = value; - if (Sq1_reg0 & 0x10) - { + case 0x00: /* DDLE NNNN */ + Sq1_reg0 = value; + if (Sq1_reg0 & 0x10) + { SQ1V = 0x0F/*(0x04+(value&0x0F))& 0x0F*/; - } - else - { + } + else + { SQ1V = value&0x0F; - } - - break; - case 0x01: /* EPPP NSSS */ - Sq1_reg1 = value; - break; - case 0x02: - /*printf("Sq1 reg0: 0x%02X - duty:0x%X loop:0x%X env:0x%X vol:0x%X\n", - Sq1_reg0, - (Sq1_reg0&0xC0)>>6, - (Sq1_reg0&0x20)>>5, - (Sq1_reg0&0x10)>>4, - Sq1_reg0&0x0F); - printf("Sq1 reg1: 0x%02X - sweep:0x%X period:0x%X neg:0x%X shift:0x%X\n", - Sq1_reg1, - (Sq1_reg1&0x80)>>8, - (Sq1_reg1&0x70)>>4, - (Sq1_reg1&0x08)>>3, - Sq1_reg1&0x07); - printf("Sq1 reg2: 0x%02X\n", value); - printf("Sq1 reg3: 0x%02X\n", Sq1_reg3);*/ - SQ1P = value | ((Sq1_reg3&0x7) << 8); - SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1 /*+ - (Sq1_reg1&0x80)?0:( (Sq1_reg1&0x08)?(SQ1P>>(Sq1_reg1&0x07)):(SQ1P<<(Sq1_reg1&0x07)) )*/); - SetSound(0,SND_MELODIC); - - //printf("SQ1V = %d - SQ = %f - SQ1P = %d\n", SQ1V, SQ, SQ1P); - + } + + break; + case 0x01: /* EPPP NSSS */ + Sq1_reg1 = value; + break; + case 0x02: + /*printf("Sq1 reg0: 0x%02X - duty:0x%X loop:0x%X env:0x%X vol:0x%X\n", + Sq1_reg0, + (Sq1_reg0&0xC0)>>6, + (Sq1_reg0&0x20)>>5, + (Sq1_reg0&0x10)>>4, + Sq1_reg0&0x0F); + printf("Sq1 reg1: 0x%02X - sweep:0x%X period:0x%X neg:0x%X shift:0x%X\n", + Sq1_reg1, + (Sq1_reg1&0x80)>>8, + (Sq1_reg1&0x70)>>4, + (Sq1_reg1&0x08)>>3, + Sq1_reg1&0x07); + printf("Sq1 reg2: 0x%02X\n", value); + printf("Sq1 reg3: 0x%02X\n", Sq1_reg3);*/ + SQ1P = value | ((Sq1_reg3&0x7) << 8); + SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1 /*+ + (Sq1_reg1&0x80)?0:( (Sq1_reg1&0x08)?(SQ1P>>(Sq1_reg1&0x07)):(SQ1P<<(Sq1_reg1&0x07)) )*/); + SetSound(0,SND_MELODIC); + + //printf("SQ1V = %d - SQ = %f - SQ1P = %d\n", SQ1V, SQ, SQ1P); + #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 0, SQ1P, SQ1V); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 0, SQ1P, SQ1V); fclose(fp); } #endif - Sound(0, (int) SQ/22, (0xFF/0x0F) * SQ1V); - -// printf("40%02X: 0x%02X (SQ1P:%d SQ:%f (%d))\n", addr, value, SQ1P, SQ, (int) SQ); - Sq1_reg2 = value; - break; - - case 0x03: - Sq1_reg3 = value; - SQ1P = Sq1_reg2 | ((value&0x7) << 8); - SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1 /*+ - (Sq1_reg1&0x80)?0:( (Sq1_reg1&0x08)?(SQ1P>>(Sq1_reg1&0x07)):(SQ1P<<(Sq1_reg1&0x07)) )*/); + Sound(0, (int) SQ/22, (0xFF/0x0F) * SQ1V); + + // printf("40%02X: 0x%02X (SQ1P:%d SQ:%f (%d))\n", addr, value, SQ1P, SQ, (int) SQ); + Sq1_reg2 = value; + break; + + case 0x03: + Sq1_reg3 = value; + SQ1P = Sq1_reg2 | ((value&0x7) << 8); + SQ = APU_BASEFREQ * 1000 * 1000 / (SQ1P+1 /*+ + (Sq1_reg1&0x80)?0:( (Sq1_reg1&0x08)?(SQ1P>>(Sq1_reg1&0x07)):(SQ1P<<(Sq1_reg1&0x07)) )*/); #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 0, SQ1P, SQ1V); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 0, SQ1P, SQ1V); fclose(fp); } #endif - Sound(0, (int) SQ/22, (0xFF/0x0F) * SQ1V); - break; - - - - case 0x04: - Sq2_reg0 = value; - if (Sq2_reg0 & 0x10) - { + Sound(0, (int) SQ/22, (0xFF/0x0F) * SQ1V); + break; + + + + case 0x04: + Sq2_reg0 = value; + if (Sq2_reg0 & 0x10) + { SQ2V = 0x0F; //SQ2V = (0x04+(value&0x0F))& 0x0F; - } - else - { - SQ2V = value&0x0F; - } - - break; - case 0x05: - Sq2_reg1 = value; - break; - - case 0x06: - Sq2_reg2 = value; - - SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8); - - SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1 /*+ - (Sq2_reg1&0x80)?0:( (Sq2_reg1&0x08)?(SQ2P>>(Sq2_reg1&0x07)):(SQ2P<<(Sq2_reg1&0x07)) )*/); - - /* printf("Sq2 reg0: 0x%02X - duty:0x%X loop:0x%X env:0x%X vol:0x%X\n", - Sq2_reg0, - (Sq2_reg0&0xC0)>>6, - (Sq2_reg0&0x20)>>5, - (Sq2_reg0&0x10)>>4, - Sq2_reg0&0x0F); - printf("Sq2 reg1: 0x%02X - sweep:0x%X period:0x%X neg:0x%X shift:0x%X\n", - Sq2_reg1, - (Sq2_reg1&0x80)>>8, - (Sq2_reg1&0x70)>>4, - (Sq2_reg1&0x08)>>3, - Sq2_reg1&0x07); - printf("Sq2 reg2: 0x%02X\n", value); - printf("Sq2 reg3: 0x%02X\n", Sq2_reg3); - printf("SQ2V = %d - SQ = %f - SQ2P = %d\n", SQ2V, SQ, SQ2P);*/ + } + else + { + SQ2V = value&0x0F; + } + + break; + case 0x05: + Sq2_reg1 = value; + break; + + case 0x06: + Sq2_reg2 = value; + + SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8); + + SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1 /*+ + (Sq2_reg1&0x80)?0:( (Sq2_reg1&0x08)?(SQ2P>>(Sq2_reg1&0x07)):(SQ2P<<(Sq2_reg1&0x07)) )*/); + + /* printf("Sq2 reg0: 0x%02X - duty:0x%X loop:0x%X env:0x%X vol:0x%X\n", + Sq2_reg0, + (Sq2_reg0&0xC0)>>6, + (Sq2_reg0&0x20)>>5, + (Sq2_reg0&0x10)>>4, + Sq2_reg0&0x0F); + printf("Sq2 reg1: 0x%02X - sweep:0x%X period:0x%X neg:0x%X shift:0x%X\n", + Sq2_reg1, + (Sq2_reg1&0x80)>>8, + (Sq2_reg1&0x70)>>4, + (Sq2_reg1&0x08)>>3, + Sq2_reg1&0x07); + printf("Sq2 reg2: 0x%02X\n", value); + printf("Sq2 reg3: 0x%02X\n", Sq2_reg3); + printf("SQ2V = %d - SQ = %f - SQ2P = %d\n", SQ2V, SQ, SQ2P);*/ #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 1, SQ2P, SQ2V); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 1, SQ2P, SQ2V); fclose(fp); } #endif - Sound(1, (int) SQ/22, (0xFF/0x0F) * SQ2V); - break; - - case 0x07: - Sq2_reg3 = value; - - SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8); - //SQ2P = (SQ2P & 0x00FF) | ((value&0x7) << 8); - SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1 /*+ - (Sq2_reg1&0x80)?0:( (Sq2_reg1&0x08)?(SQ2P>>(Sq2_reg1&0x07)):(SQ2P<<(Sq2_reg1&0x07)) )*/); + Sound(1, (int) SQ/22, (0xFF/0x0F) * SQ2V); + break; + + case 0x07: + Sq2_reg3 = value; + + SQ2P = Sq2_reg2 | ((Sq2_reg3&0x7) << 8); + //SQ2P = (SQ2P & 0x00FF) | ((value&0x7) << 8); + SQ = APU_BASEFREQ * 1000 * 1000 / (SQ2P+1 /*+ + (Sq2_reg1&0x80)?0:( (Sq2_reg1&0x08)?(SQ2P>>(Sq2_reg1&0x07)):(SQ2P<<(Sq2_reg1&0x07)) )*/); #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 1, SQ2P, SQ2V); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 1, SQ2P, SQ2V); fclose(fp); } #endif - Sound(1, (int) SQ/22, (0xFF/0x0F) * SQ2V); - break; - - case 0x0A: - TRIP = (TRIP & 0xFF00) | value; - SQ = APU_BASEFREQ * 1000 * 1000 / TRIP; + Sound(1, (int) SQ/22, (0xFF/0x0F) * SQ2V); + break; + + case 0x0A: + TRIP = (TRIP & 0xFF00) | value; + SQ = APU_BASEFREQ * 1000 * 1000 / TRIP; #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 2, TRIP, 127); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 2, TRIP, 127); fclose(fp); } #endif - Sound(2, (int) SQ/22, 127); - break; - - case 0x0B: - TRIP = (TRIP & 0x00FF) | ((value&0x7) << 8);; - SQ = APU_BASEFREQ * 1000 * 1000 / TRIP; + Sound(2, (int) SQ/22, 127); + break; + + case 0x0B: + TRIP = (TRIP & 0x00FF) | ((value&0x7) << 8);; + SQ = APU_BASEFREQ * 1000 * 1000 / TRIP; #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 2, TRIP, 127); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 2, TRIP, 127); fclose(fp); } #endif - Sound(2, (int) SQ/22, 127); - break; - - case 0x0C: - NOIV = value & 0x0F; + Sound(2, (int) SQ/22, 127); + break; + + case 0x0C: + NOIV = value & 0x0F; #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 3, NOIP, NOIV); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 3, NOIP, NOIV); fclose(fp); } #endif - SetSound(3, SND_NOISE); - Sound(3, (int) SQ/22, (0xFF/0x0F) * NOIV); - break; - - case 0x0E: - NOIP = value & 0x0F; - SQ = APU_BASEFREQ * 1000 * 1000 / NOIP; + SetSound(3, SND_NOISE); + Sound(3, (int) SQ/22, (0xFF/0x0F) * NOIV); + break; + + case 0x0E: + NOIP = value & 0x0F; + SQ = APU_BASEFREQ * 1000 * 1000 / NOIP; #ifdef SOUND_LOG - { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 3, NOIP, NOIV); fclose(fp); } + { FILE *fp = fopen("sound.log", "at"); fprintf(fp, "%d %d %d\n", 3, NOIP, NOIV); fclose(fp); } #endif - SetSound(3, SND_NOISE); - Sound(3, (int) SQ/22, NOIV); - break; - case 0x0F: - - break; - case 0x15: - /* DMC, Noise, Triangle, Sq 2, Sq 1 */ - //SetChannels(0, (value&0x01)?0x01:0); -/* printf("40%02X: 0x%02X [%c%c%c%c%c]\n", addr, value, - (value&0x10)?'d':'.', - (value&0x08)?'n':'.', - (value&0x04)?'t':'.', - (value&0x02)?'2':'.', - (value&0x01)?'1':'.');*/ - - break; - #endif - case 0x14: - ppu_fillSprRamDMA(value); - break; - - case 0x16: - WritePaddle(&P1, value); - //WritePaddle(&P2, value); - break; - - case 0x17: -// printf("40%02X: 0x%02X\n", addr, value); + SetSound(3, SND_NOISE); + Sound(3, (int) SQ/22, NOIV); + break; + case 0x0F: + + break; + case 0x15: + /* DMC, Noise, Triangle, Sq 2, Sq 1 */ + //SetChannels(0, (value&0x01)?0x01:0); + /* printf("40%02X: 0x%02X [%c%c%c%c%c]\n", addr, value, + (value&0x10)?'d':'.', + (value&0x08)?'n':'.', + (value&0x04)?'t':'.', + (value&0x02)?'2':'.', + (value&0x01)?'1':'.');*/ + + break; +#endif + case 0x14: + ppu_fillSprRamDMA(value); + break; + + case 0x16: + WritePaddle(&P1, value); + //WritePaddle(&P2, value); + break; + + case 0x17: + // printf("40%02X: 0x%02X\n", addr, value); if (value == 0x00) Int6502(&MainCPU,INT_IRQ); - - break; -// default: - //Page40[addr] = value; - // printf("40%02X: 0x%02X\n", addr, value); -// printf("pAPU: 0x%X @ 0x40%X\n", value, addr); - } - + + break; + // default: + //Page40[addr] = value; + // printf("40%02X: 0x%02X\n", addr, value); + // printf("pAPU: 0x%X @ 0x40%X\n", value, addr); + } + } byte RdHook4000Multiplexer(byte addr) { - byte ret; - switch(addr) - { - case 0x16: - ret = ReadPaddle(&P1); - break; - - case 0x17: - ret = 0x40; - break; - - case 0x15: - ret = 0x1F; - default: - ret = 0x42; - } - return ret; + byte ret; + switch(addr) + { + case 0x16: + ret = ReadPaddle(&P1); + break; + + case 0x17: + ret = 0x40; + break; + + case 0x15: + ret = 0x1F; + default: + ret = 0x42; + } + return ret; } void printUsage(int argc, char *argv[]) { - printf("Usage : %s game.nes [-p number][-f][-b filename.pal][ filename.nes\n" - " -p: to add plugin 'number'\n" - " -f: to start in FDS mode\n" - " -d: to start directily into the debugguer\n" - " -b: to use palette file 'filename.pal'\n", - argv[0]); - exit(0); + printf("Usage : %s game.nes [-p number][-f][-b filename.pal][ filename.nes\n" + " -p: to add plugin 'number'\n" + " -f: to start in FDS mode\n" + " -d: to start directily into the debugguer\n" + " -b: to use palette file 'filename.pal'\n", + argv[0]); + exit(0); } int main(int argc, char *argv[]) { - int i; - unsigned char j, k; - unsigned char *MemoryPage; - - /* Here we will fill the memory */ - /* + int i; + unsigned char j, k; + unsigned char *MemoryPage; + + /* Here we will fill the memory */ + /* --------------------------------------- $10000 Upper Bank of Cartridge ROM --------------------------------------- $C000 @@ -655,8 +655,8 @@ int main(int argc, char *argv[]) 2kB Internal RAM, mirrored 4 times --------------------------------------- $0000 */ - - /* Print the banner */ + + /* Print the banner */ printf("--------------------------------------------------------------------------------\n" "Welcome to TI-NESulator v%d.%d - by Godzil\n" "Copyright 2003-2008 TRAPIER Manoel (godzil@godzil.net)\n" @@ -850,6 +850,12 @@ int main(int argc, char *argv[]) for( i = 0x100 ; i < 0x200 ; i++ ) { Wr6502(i, 0x00); } + + + for( i = 0x000 ; i < 0x800 ; i++ ) { + Wr6502(i, 0x00); + } + printf("[ OK ]\n"); if (START_WITH_FDS) @@ -1025,7 +1031,7 @@ int main(int argc, char *argv[]) Reset6502(&MainCPU); - MainCPU.Trace = 1; + MainCPU.Trace = 0; if (START_DEBUG) MainCPU.Trace = 1; @@ -1051,22 +1057,22 @@ END_OF_MAIN() /************************************ TO BE WRITTEN BY USER **/ void Wr6502(register word Addr, register byte Value) { /* Write to memory */ - WriteMemory((Addr&0xFF00)>>8,Addr&0x00FF, Value); + WriteMemory((Addr&0xFF00)>>8,Addr&0x00FF, Value); } byte Rd6502(register word Addr) { /* Read memory for normal use */ - return ReadMemory((Addr&0xFF00)>>8,Addr&0x00FF); - + return ReadMemory((Addr&0xFF00)>>8,Addr&0x00FF); + } extern byte *memory_pages[0xFF]; byte Op6502(register word Addr) { /* Read OpCodes */ - byte *ptr; - return ((ptr = memory_pages[(Addr&0xFF00)>>8])>(byte*)1)?ptr[Addr&0x00FF]:0; - - //return ReadMemory((Addr&0xFF00)>>8,Addr&0x00FF); + byte *ptr; + return ((ptr = memory_pages[(Addr&0xFF00)>>8])>(byte*)1)?ptr[Addr&0x00FF]:0; + + //return ReadMemory((Addr&0xFF00)>>8,Addr&0x00FF); } /** Loop6502() ***********************************************/ @@ -1107,7 +1113,7 @@ byte Loop6502(register M6502 * R) if (ScanLine == 241) frame++; - if (ScanLine >= 240 + VBLANK_TIME) + if (ScanLine >= (240 + VBLANK_TIME - 1)) { /* End of VBlank Time */ /* Sync at 60FPS */ /* Get current time in microseconds */ @@ -1125,8 +1131,8 @@ byte Loop6502(register M6502 * R) /* If we press Page Up, we dont we to accelerate "time" */ if (!key[KEY_PGUP]) - if ((WaitTime >= 0) && (WaitTime < 100000)) - usleep(WaitTime); + if ((WaitTime >= 0) && (WaitTime < 100000)) + usleep(WaitTime); //usleep(WaitTime<0?0:(WaitTime>100000?0:WaitTime)); /* Now get the time after sleep */ @@ -1226,6 +1232,6 @@ byte Loop6502(register M6502 * R) /************************************ TO BE WRITTEN BY USER **/ byte Patch6502(register byte Op, register M6502 * R) { - //printf("Invalid Opcode : 0x%X @ 0x%04X !\n", Op, R->PC.W); - return 1; + //printf("Invalid Opcode : 0x%X @ 0x%04X !\n", Op, R->PC.W); + return 1; } diff --git a/src/mappersmanager/manager.c b/src/mappersmanager/manager.c index bcf6fe5..1bd8400 100644 --- a/src/mappersmanager/manager.c +++ b/src/mappersmanager/manager.c @@ -1,9 +1,14 @@ /* + * Mapper manager - The TI-NESulator Project * manager.c - * TI-NESulator.X * - * Created by ManoĆ«l Trapier on 07/10/07. - * Copyright 2007-2008 986 Corp. All rights reserved. + * Created by Manoel TRAPIER. + * Copyright (c) 2003-2008 986Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/aorom.c b/src/mappersmanager/mappers/aorom.c index 91fb5f1..13145c2 100755 --- a/src/mappersmanager/mappers/aorom.c +++ b/src/mappersmanager/mappers/aorom.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-26 18:47:34 +0200 (jeu, 26 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/aorom.h $ - * $Revision: 46 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/aorom.h b/src/mappersmanager/mappers/aorom.h index c134c6c..272c46b 100755 --- a/src/mappersmanager/mappers/aorom.h +++ b/src/mappersmanager/mappers/aorom.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-26 18:47:34 +0200 (jeu, 26 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/aorom.h $ - * $Revision: 46 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/cnrom.c b/src/mappersmanager/mappers/cnrom.c index 43cc8da..a92a2a1 100755 --- a/src/mappersmanager/mappers/cnrom.c +++ b/src/mappersmanager/mappers/cnrom.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/cnrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/cnrom.h b/src/mappersmanager/mappers/cnrom.h index fdc4b0a..baa5e50 100755 --- a/src/mappersmanager/mappers/cnrom.h +++ b/src/mappersmanager/mappers/cnrom.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/cnrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/genericmapper.c b/src/mappersmanager/mappers/genericmapper.c index 59f44ab..5c0fe9e 100755 --- a/src/mappersmanager/mappers/genericmapper.c +++ b/src/mappersmanager/mappers/genericmapper.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/genericmapper.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/iremh3001.c b/src/mappersmanager/mappers/iremh3001.c index 30ab930..514ae02 100755 --- a/src/mappersmanager/mappers/iremh3001.c +++ b/src/mappersmanager/mappers/iremh3001.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/iremh3001.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/iremh3001.h b/src/mappersmanager/mappers/iremh3001.h index f10ed62..887ee4d 100755 --- a/src/mappersmanager/mappers/iremh3001.h +++ b/src/mappersmanager/mappers/iremh3001.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/iremh3001.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc1.c b/src/mappersmanager/mappers/mmc1.c index fe018e4..85e66e0 100755 --- a/src/mappersmanager/mappers/mmc1.c +++ b/src/mappersmanager/mappers/mmc1.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc1.h $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc1.h b/src/mappersmanager/mappers/mmc1.h index a279d93..e83a15b 100644 --- a/src/mappersmanager/mappers/mmc1.h +++ b/src/mappersmanager/mappers/mmc1.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc1.h $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc3.c b/src/mappersmanager/mappers/mmc3.c index ade835c..9e0dc89 100755 --- a/src/mappersmanager/mappers/mmc3.c +++ b/src/mappersmanager/mappers/mmc3.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc3.h $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc3.h b/src/mappersmanager/mappers/mmc3.h index 71495b9..69409bb 100755 --- a/src/mappersmanager/mappers/mmc3.h +++ b/src/mappersmanager/mappers/mmc3.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc3.h $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc4.c b/src/mappersmanager/mappers/mmc4.c index 990439b..33087e3 100644 --- a/src/mappersmanager/mappers/mmc4.c +++ b/src/mappersmanager/mappers/mmc4.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2007-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-31 18:00:41 +0200 (jeu, 31 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc4.h $ - * $Revision: 56 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/mmc4.h b/src/mappersmanager/mappers/mmc4.h index ecaea5a..4cfec2e 100644 --- a/src/mappersmanager/mappers/mmc4.h +++ b/src/mappersmanager/mappers/mmc4.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2007-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-31 18:00:41 +0200 (jeu, 31 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc4.h $ - * $Revision: 56 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/norom.c b/src/mappersmanager/mappers/norom.c index 1e2b379..290c149 100644 --- a/src/mappersmanager/mappers/norom.c +++ b/src/mappersmanager/mappers/norom.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/unrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/norom.h b/src/mappersmanager/mappers/norom.h index d1d0838..dfa4f95 100644 --- a/src/mappersmanager/mappers/norom.h +++ b/src/mappersmanager/mappers/norom.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/unrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/unrom.c b/src/mappersmanager/mappers/unrom.c index 3495424..0cc80e2 100755 --- a/src/mappersmanager/mappers/unrom.c +++ b/src/mappersmanager/mappers/unrom.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/unrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers/unrom.h b/src/mappersmanager/mappers/unrom.h index 1b25d52..4ba4a96 100755 --- a/src/mappersmanager/mappers/unrom.h +++ b/src/mappersmanager/mappers/unrom.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/unrom.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/mappers_list.h b/src/mappersmanager/mappers_list.h index e4fec70..a5a52a0 100644 --- a/src/mappersmanager/mappers_list.h +++ b/src/mappersmanager/mappers_list.h @@ -1,9 +1,14 @@ /* + * Mapper list - The TI-NESulator Project * mappers_list.h - * TI-NESulator.X * - * Created by ManoĆ«l Trapier on 25/10/07. - * Copyright 2007-2008 986 Corp. All rights reserved. + * Created by Manoel TRAPIER on 25/10/07. + * Copyright (c) 2003-2008 986Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/unused/genericmapper.h b/src/mappersmanager/unused/genericmapper.h index 59f44ab..5c0fe9e 100755 --- a/src/mappersmanager/unused/genericmapper.h +++ b/src/mappersmanager/unused/genericmapper.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-16 01:55:35 +0200 (lun, 16 avr 2007) $ - * $Author: godzil $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/genericmapper.h $ - * $Revision: 39 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/mappersmanager/unused/mmc1.h b/src/mappersmanager/unused/mmc1.h index 3ac5e4d..7c563dc 100755 --- a/src/mappersmanager/unused/mmc1.h +++ b/src/mappersmanager/unused/mmc1.h @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mmc1.h $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ unsigned char MMC1_reg0; diff --git a/src/mappersmanager/utils.c b/src/mappersmanager/utils.c index 2d25884..225b157 100755 --- a/src/mappersmanager/utils.c +++ b/src/mappersmanager/utils.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-31 18:00:41 +0200 (jeu, 31 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/mappers.c $ - * $Revision: 56 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/memorymanager/memory.c b/src/memorymanager/memory.c index 7de92fd..f804b56 100755 --- a/src/memorymanager/memory.c +++ b/src/memorymanager/memory.c @@ -2,13 +2,13 @@ * 6502 Memory manager - The TI-NESulator Project * memory.c - Taken from the Quick6502 project * - * Created by ManoĆ«l Trapier on 18/09/06. + * Created by Manoel Trapier on 18/09/06. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/memory.c $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/paddle.c b/src/paddle.c index 7e6a21e..06ac00b 100755 --- a/src/paddle.c +++ b/src/paddle.c @@ -5,10 +5,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-02 18:37:41 +0200 (mer, 02 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/paddle.c $ - * $Revision: 50 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/pluginsmanager/plugins/gamegenie.c b/src/pluginsmanager/plugins/gamegenie.c index a62e0c2..2778da5 100644 --- a/src/pluginsmanager/plugins/gamegenie.c +++ b/src/pluginsmanager/plugins/gamegenie.c @@ -1,3 +1,17 @@ +/* + * Code Breaker plugin - The TI-NESulator Project + * gamegenie.c: Hack your games with unlimited lives of add new powers! + * + * Created by Manoel Trapier. + * Copyright 2003-2008 986 Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + * + */ + #include #include #include diff --git a/src/pluginsmanager/plugins/gamegenie.h b/src/pluginsmanager/plugins/gamegenie.h index 515b25f..732abc6 100644 --- a/src/pluginsmanager/plugins/gamegenie.h +++ b/src/pluginsmanager/plugins/gamegenie.h @@ -1,2 +1,16 @@ +/* + * Code Breaker plugin - The TI-NESulator Project + * gamegenie.h + * + * Created by Manoel Trapier. + * Copyright 2003-2008 986 Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + * + */ + int gg_Init(); int gg_Deinit(); diff --git a/src/pluginsmanager/plugins_list.h b/src/pluginsmanager/plugins_list.h index 912552e..95b09e1 100644 --- a/src/pluginsmanager/plugins_list.h +++ b/src/pluginsmanager/plugins_list.h @@ -1,3 +1,17 @@ +/* + * Plugin Manager plugint list - The TI-NESulator Project + * plugins_list.h + * + * Created by Manoel Trapier. + * Copyright 2003-2008 986 Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + * + */ + /* This file could be generated from the plugins directory... */ #include "plugins/gamegenie.h" diff --git a/src/ppu/debug/ppu.debug.c b/src/ppu/debug/ppu.debug.c index 88a323f..d2c66f9 100644 --- a/src/ppu/debug/ppu.debug.c +++ b/src/ppu/debug/ppu.debug.c @@ -1,3 +1,17 @@ +/* + * PPU Debug utilities - The TI-NESulator Project + * ppu.debug.c + * + * Created by Manoel Trapier. + * Copyright 2003-2008 986 Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + * + */ + #include #include diff --git a/src/ppu/oldppu.c b/src/ppu/oldppu.c index 2688b37..b4af09b 100755 --- a/src/ppu/oldppu.c +++ b/src/ppu/oldppu.c @@ -9,10 +9,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-03-29 12:05:12 +0200 (jeu, 29 mar 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/oldppu.c $ - * $Revision: 28 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ #include diff --git a/src/ppu/ppu.24.c b/src/ppu/ppu.24.c index 647342a..c89995e 100755 --- a/src/ppu/ppu.24.c +++ b/src/ppu/ppu.24.c @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-06 17:17:01 +0200 (ven, 06 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.c $ - * $Revision: 32 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/ppu/ppu.c b/src/ppu/ppu.c index 8509d66..166e146 100755 --- a/src/ppu/ppu.c +++ b/src/ppu/ppu.c @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-05-31 18:02:16 +0200 (jeu, 31 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.c $ - * $Revision: 58 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ @@ -757,7 +757,7 @@ E = HT } - if (scanline >= (240 + VBLANK_TIME)) + if (scanline >= (240 + VBLANK_TIME - 1)) { /*for ( i = 0; i < 256; i++) for ( j = 0; j < 256; j++) @@ -773,9 +773,9 @@ E = HT textprintf(Buffer, font, 260, 3, 4, "FPS : %d (CPU@~%2.2fMhz : %d%%)", FPS, (float) (((float) IPS) / 1000000.0), (int) ((((float) IPS) / 1770000.0) * 100.0)); //printf("(SL:%d) FPS : %d IPS : %d\n", scanline, FPS, IPS); - ppu_dumpPalette(0, 241); - ppu_dumpPattern(280, 150); - ppu_dumpNameTable(256,0); + //ppu_dumpPalette(0, 241); + //ppu_dumpPattern(280, 150); + //ppu_dumpNameTable(256,0); //ppu_dumpAttributeTable(257, 0); blit(VideoBuffer, Buffer, 0, 0, 0, 0, 256, 240); diff --git a/src/ppu/ppu.memory.c b/src/ppu/ppu.memory.c index b6431dc..f36ae92 100644 --- a/src/ppu/ppu.memory.c +++ b/src/ppu/ppu.memory.c @@ -5,10 +5,10 @@ * Created by ManoĆ«l Trapier on 12/04/07. * Copyright 2003-2008 986 Corp. All rights reserved. * - * $LastChangedDate: 2007-05-24 15:11:55 +0200 (jeu, 24 mai 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu/ppu.memory.c $ - * $Revision: 53 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/ppu/ppu.new.c b/src/ppu/ppu.new.c index a87d3b0..dc00ebc 100755 --- a/src/ppu/ppu.new.c +++ b/src/ppu/ppu.new.c @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-04 18:46:30 +0200 (mer, 04 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.c $ - * $Revision: 30 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/ppu/ppu.new2.c b/src/ppu/ppu.new2.c index 8acd928..6907e5f 100755 --- a/src/ppu/ppu.new2.c +++ b/src/ppu/ppu.new2.c @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-06 17:17:01 +0200 (ven, 06 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.c $ - * $Revision: 32 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/ppu/ppu.old.c b/src/ppu/ppu.old.c index 56fcba2..c9d478d 100755 --- a/src/ppu/ppu.old.c +++ b/src/ppu/ppu.old.c @@ -7,10 +7,10 @@ * Created by Manoel TRAPIER. * Copyright (c) 2003-2008 986Corp. All rights reserved. * - * $LastChangedDate: 2007-04-06 17:17:01 +0200 (ven, 06 avr 2007) $ - * $Author: mtrapier $ - * $HeadURL: file:///media/HD6G/SVNROOT/trunk/TI-NESulator/src/ppu.c $ - * $Revision: 32 $ + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ * */ diff --git a/src/utils/bin2h/bin2h.c b/src/utils/bin2h/bin2h.c index 2084ba7..a5390dc 100755 --- a/src/utils/bin2h/bin2h.c +++ b/src/utils/bin2h/bin2h.c @@ -1,3 +1,17 @@ +/* + * bin to header - Part of The TI-NESulator Project + * bin2h.c: Convert a binary file to a table of byte in a C header file. + * + * Created by Manoel Trapier. + * Copyright 2003-2008 986 Corp. All rights reserved. + * + * $LastChangedDate$ + * $Author$ + * $HeadURL$ + * $Revision$ + * + */ + #include #include