X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=mappers%2F68.c;h=69eaefc5a8db3644ed5bb83c842234127043c495;hp=98cb0d8c029c1c9fbe47550fb6693946306eacbe;hb=e2d0dd92bfad989cce4270fc0ac5a712476c7c50;hpb=c62d28102c77e19c291c78bf6bf7f0a81abd54b9 diff --git a/mappers/68.c b/mappers/68.c index 98cb0d8..69eaefc 100644 --- a/mappers/68.c +++ b/mappers/68.c @@ -1,7 +1,7 @@ /* FCE Ultra - NES/Famicom Emulator * * Copyright notice for this file: - * Copyright (C) 2002 Ben Parnell + * Copyright (C) 2002 Xodnizel * * 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 @@ -24,21 +24,22 @@ static void Fixerit(void) { switch(mapbyte2[0]&3) { - case 0:vnapage[0]=vnapage[2]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10); - vnapage[1]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10); - break; - case 1:vnapage[0]=vnapage[1]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10); - vnapage[2]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10); + case 0:vnapage[0]=vnapage[2]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10); + vnapage[1]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10); + break; + case 1:vnapage[0]=vnapage[1]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10); + vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10); + break; + case 2:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[0]|128)&CHRmask1[0])<<10); + break; + case 3:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=CHRptr[0]+(((mapbyte1[1]|128)&CHRmask1[0])<<10); break; - case 2:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=VROM+(((mapbyte1[0]|128)&CHRmask1[0])<<10); - break; - case 3:vnapage[0]=vnapage[1]=vnapage[2]=vnapage[3]=VROM+(((mapbyte1[1]|128)&CHRmask1[0])<<10); - break; } } DECLFW(Mapper68_write) { +// FCEU_printf("%04x,%04x\n",A,V); A&=0xF000; if(A>=0x8000 && A<=0xB000) @@ -49,12 +50,12 @@ DECLFW(Mapper68_write) { case 0xc000:mapbyte1[0]=V; if(VROM_size && mapbyte2[0]&0x10) - Fixerit(); + Fixerit(); break; case 0xd000:mapbyte1[1]=V; - if(VROM_size && mapbyte2[0]&0x10) - Fixerit(); + if(VROM_size && mapbyte2[0]&0x10) + Fixerit(); break; case 0xe000: mapbyte2[0]=V; @@ -69,10 +70,10 @@ DECLFW(Mapper68_write) } } else if(VROM_size) - { - Fixerit(); - PPUNTARAM=0; - } + { + Fixerit(); + PPUNTARAM=0; + } break; case 0xf000: ROM_BANK16(0x8000,V);break; } @@ -92,7 +93,7 @@ static void Mapper68_StateRestore(int version) } else if(VROM_size) { - Fixerit(); + Fixerit(); PPUNTARAM=0; } }