Replaced remaining C++ comments

This commit is contained in:
retro-wertz
2017-10-17 11:16:36 +08:00
parent 832cafaf54
commit 52bfae1ab4
2 changed files with 135 additions and 132 deletions

View File

@@ -24,81 +24,81 @@
#include "mapinc.h" #include "mapinc.h"
#include "mmc3.h" #include "mmc3.h"
//#define DEBUG_SERIAL /* #define DEBUG_SERIAL */
// *** COPY FAMICOM EMULATION *** /* *** COPY FAMICOM EMULATION *** */
/* /*
*
*
$0000-$1FFF * $0000-$1FFF
$2000-$200F PPU * $2000-$200F PPU
$2010-$3FFB * $2010-$3FFB
$3FFC-$3FFF * $3FFC-$3FFF
$4000-$7FFF APU / * $4000-$7FFF APU /
$8000-$FFF9 CART/ROM * $8000-$FFF9 CART/ROM
$FFFA-$FFFB CART/ NMI * $FFFA-$FFFB CART/ NMI
$FFFE-$FFFF CART/ IRQ * $FFFE-$FFFF CART/ IRQ
*
*
*
CTRL R/W $3FFC ---aenic ($00 at reset) * CTRL R/W $3FFC ---aenic ($00 at reset)
*
c - * c -
0 - * 0 -
1 - * 1 -
i - IRQ * i - IRQ
0 - * 0 -
1 - * 1 -
n - NMI * n - NMI
0 - * 0 -
1 - * 1 -
e - NMI * e - NMI
0 - * 0 -
1 - * 1 -
a - AROM * a - AROM
0 - * 0 -
1 - * 1 -
*
BANK R/W $3FFD ---mbbbb * BANK R/W $3FFD ---mbbbb
*
b - * b -
m - ROM * m - ROM
*
USBDATA R/W $3FFE dddddddd * USBDATA R/W $3FFE dddddddd
*
d - / * d - /
*
STATUS R $3FFF vmnicptr * STATUS R $3FFF vmnicptr
*
r - USB * r - USB
0 - * 0 -
1 - * 1 -
t - USB * t - USB
0 - * 0 -
1 - * 1 -
p - USB * p - USB
0 - * 0 -
1 - * 1 -
c - * c -
0 - * 0 -
1 - * 1 -
i - IRQ * i - IRQ
0 - * 0 -
1 - * 1 -
n - NMI * n - NMI
0 - * 0 -
1 - * 1 -
m - 10 VRAM () * m - 10 VRAM ()
v - VRAM * v - VRAM
0 - * 0 -
1 - * 1 -
*
AROM * AROM
*
VRAM * VRAM
8000-FFFF * 8000-FFFF
*/ */
#define CTRL 0x00 #define CTRL 0x00
#define CCART 0x01 #define CCART 0x01
@@ -196,7 +196,7 @@ static DECLFW(MCopyFamiWriteReg) {
; ;
#endif #endif
bytes_count++; bytes_count++;
// FCEU_printf(" %02X",V); /* FCEU_printf(" %02X",V); */
} else { } else {
regs[A & 3] = V; regs[A & 3] = V;
Sync(); Sync();

View File

@@ -18,10 +18,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
// *** COPY FAMICOM HARDWARE INTERFACE ***
#ifdef COPYFAMI #ifdef COPYFAMI
/* *** COPY FAMICOM HARDWARE INTERFACE *** */
#define MESSAGE_LOG #define MESSAGE_LOG
#define NO_CACHE #define NO_CACHE
#define NO_RAM #define NO_RAM
@@ -42,45 +42,45 @@
static uint8 *WRAM = NULL; static uint8 *WRAM = NULL;
uint8 InitVector[] = { 0xDE, 0xAD, 0xBE, 0xEF };// args none, return DE AD BE EF uint8 InitVector[] = { 0xDE, 0xAD, 0xBE, 0xEF };/* args none, return DE AD BE EF */
uint8 ResetCmd[] = { 0x00 }; // args none, return none uint8 ResetCmd[] = { 0x00 }; /* args none, return none */
uint8 StateCmd[] = { 0x01 }; // args none, return 7 bytes status uint8 StateCmd[] = { 0x01 }; /* args none, return 7 bytes status */
uint8 StatusCmd[] = { 0x02 }; // args none, return 32 bytes status uint8 StatusCmd[] = { 0x02 }; /* args none, return 32 bytes status */
uint8 LoadPlugCmd[] = { 0x03, 0x00, 0x00 }; // args 2b size, Nb data return none uint8 LoadPlugCmd[] = { 0x03, 0x00, 0x00 }; /* args 2b size, Nb data return none */
uint8 RunPlugCmd[] = { 0x04 }; // args none, return none uint8 RunPlugCmd[] = { 0x04 }; /* args none, return none */
uint8 RunGameCmd[] = { 0x05 }; // args none, return none uint8 RunGameCmd[] = { 0x05 }; /* args none, return none */
uint8 NROMSave[] = { 0x06 }; // args none, return 16b + 32kb + 8kb uint8 NROMSave[] = { 0x06 }; /* args none, return 16b + 32kb + 8kb */
uint8 PRGWBCmd[] = { 0x08, 0x00, 0x00, 0x00 }; // args 2b addr, 1b data return none uint8 PRGWBCmd[] = { 0x08, 0x00, 0x00, 0x00 }; /* args 2b addr, 1b data return none */
uint8 PRGRBCmd[] = { 0x09, 0x00, 0x00 }; // args 2b addr return 1b data uint8 PRGRBCmd[] = { 0x09, 0x00, 0x00 }; /* args 2b addr return 1b data */
uint8 CHRWBCmd[] = { 0x0A, 0x00, 0x00, 0x00 }; // args 2b addr, 1b data return none uint8 CHRWBCmd[] = { 0x0A, 0x00, 0x00, 0x00 }; /* args 2b addr, 1b data return none */
uint8 CHRRBCmd[] = { 0x0B, 0x00, 0x00 }; // args 2b addr, return 1b data uint8 CHRRBCmd[] = { 0x0B, 0x00, 0x00 }; /* args 2b addr, return 1b data */
uint8 PRGSUMCmd[] = { 0x10, 0x00, 0x00 }; // args 1b addr, 1b size return (256 * N)b uint8 PRGSUMCmd[] = { 0x10, 0x00, 0x00 }; /* args 1b addr, 1b size return (256 * N)b */
uint8 PRG32KSUMCmd[] = { 0x10, 0x80, 0x80 }; // args 1b addr, 1b size return 32kb uint8 PRG32KSUMCmd[] = { 0x10, 0x80, 0x80 }; /* args 1b addr, 1b size return 32kb */
uint8 PRG16KSUMCmd[] = { 0x10, 0x00, 0x40 }; // args 1b addr, 1b size return 16kb uint8 PRG16KSUMCmd[] = { 0x10, 0x00, 0x40 }; /* args 1b addr, 1b size return 16kb */
uint8 PRG8KSUMCmd[] = { 0x10, 0x00, 0x20 }; // args 1b addr, 1b size return 8kb uint8 PRG8KSUMCmd[] = { 0x10, 0x00, 0x20 }; /* args 1b addr, 1b size return 8kb */
uint8 PRG4KSUMCmd[] = { 0x10, 0x00, 0x10 }; // args 1b addr, 1b size return 4kb uint8 PRG4KSUMCmd[] = { 0x10, 0x00, 0x10 }; /* args 1b addr, 1b size return 4kb */
uint8 CHRSUMCmd[] = { 0x11, 0x00, 0x00 }; // args 1b addr, 1b size return (256 * N)b uint8 CHRSUMCmd[] = { 0x11, 0x00, 0x00 }; /* args 1b addr, 1b size return (256 * N)b */
uint8 CHR8KSUMCmd[] = { 0x11, 0x00, 0x20 }; // args 1b addr, 1b size return 8kb uint8 CHR8KSUMCmd[] = { 0x11, 0x00, 0x20 }; /* args 1b addr, 1b size return 8kb */
uint8 CHR4KSUMCmd[] = { 0x11, 0x00, 0x10 }; // args 1b addr, 1b size return 4kb uint8 CHR4KSUMCmd[] = { 0x11, 0x00, 0x10 }; /* args 1b addr, 1b size return 4kb */
uint8 CHR2KSUMCmd[] = { 0x11, 0x00, 0x08 }; // args 1b addr, 1b size return 2kb uint8 CHR2KSUMCmd[] = { 0x11, 0x00, 0x08 }; /* args 1b addr, 1b size return 2kb */
uint8 CHR1KSUMCmd[] = { 0x11, 0x00, 0x04 }; // args 1b addr, 1b size return 1kb uint8 CHR1KSUMCmd[] = { 0x11, 0x00, 0x04 }; /* args 1b addr, 1b size return 1kb */
uint8 PRGGetCmd[] = { 0x12, 0x00, 0x00 }; // args 1b addr, 1b size return (256 * N)b uint8 PRGGetCmd[] = { 0x12, 0x00, 0x00 }; /* args 1b addr, 1b size return (256 * N)b */
uint8 PRG32KGetCmd[] = { 0x12, 0x80, 0x80 }; // args 1b addr, 1b size return 32kb uint8 PRG32KGetCmd[] = { 0x12, 0x80, 0x80 }; /* args 1b addr, 1b size return 32kb */
uint8 PRG16KGetCmd[] = { 0x12, 0x00, 0x40 }; // args 1b addr, 1b size return 16kb uint8 PRG16KGetCmd[] = { 0x12, 0x00, 0x40 }; /* args 1b addr, 1b size return 16kb */
uint8 PRG8KGetCmd[] = { 0x12, 0x00, 0x20 }; // args 1b addr, 1b size return 8kb uint8 PRG8KGetCmd[] = { 0x12, 0x00, 0x20 }; /* args 1b addr, 1b size return 8kb */
uint8 PRG4KGetCmd[] = { 0x12, 0x00, 0x10 }; // args 1b addr, 1b size return 4kb uint8 PRG4KGetCmd[] = { 0x12, 0x00, 0x10 }; /* args 1b addr, 1b size return 4kb */
uint8 CHRGetCmd[] = { 0x13, 0x00, 0x00 }; // args 1b addr, 1b size return (256 * N)b uint8 CHRGetCmd[] = { 0x13, 0x00, 0x00 }; /* args 1b addr, 1b size return (256 * N)b */
uint8 CHR8KGetCmd[] = { 0x13, 0x00, 0x20 }; // args 1b addr, 1b size return 8kb uint8 CHR8KGetCmd[] = { 0x13, 0x00, 0x20 }; /* args 1b addr, 1b size return 8kb */
uint8 CHR4KGetCmd[] = { 0x13, 0x00, 0x10 }; // args 1b addr, 1b size return 4kb uint8 CHR4KGetCmd[] = { 0x13, 0x00, 0x10 }; /* args 1b addr, 1b size return 4kb */
uint8 CHR2KGetCmd[] = { 0x13, 0x00, 0x08 }; // args 1b addr, 1b size return 2kb uint8 CHR2KGetCmd[] = { 0x13, 0x00, 0x08 }; /* args 1b addr, 1b size return 2kb */
uint8 CHR1KGetCmd[] = { 0x13, 0x00, 0x04 }; // args 1b addr, 1b size return 1kb uint8 CHR1KGetCmd[] = { 0x13, 0x00, 0x04 }; /* args 1b addr, 1b size return 1kb */
uint8 CPUTestCmd[] = { 0x14, 0x00, 0x00 }; // args 1b addr, 1b size return (2b + 1b) * N + 3b uint8 CPUTestCmd[] = { 0x14, 0x00, 0x00 }; /* args 1b addr, 1b size return (2b + 1b) * N + 3b */
typedef struct { typedef struct {
int32 mirror; int32 mirror;
@@ -326,8 +326,9 @@ static void UpdateCmd(uint32 val) {
if (cmd.size < CMD_MAX_SIZE) { if (cmd.size < CMD_MAX_SIZE) {
index = cmd.size++; index = cmd.size++;
} else { } else {
// åñëè äîñòèãíóò ìàêñèìóì äëÿ êîìàíäû, âûáðîñèòü ïîñëåäíóþþ, äîáàâèòü íîâóþ, /* åñëè äîñòèãíóò ìàêñèìóì äëÿ êîìàíäû, âûáðîñèòü ïîñëåäíóþþ, äîáàâèòü íîâóþ,
// ïðîäîëæàòü äî áàíêñâè÷èíãà * ïðîäîëæàòü äî áàíêñâè÷èíãà
*/
cmd.hash = 0; cmd.hash = 0;
for (index = 0; index < (CMD_MAX_SIZE - 1); index++) { for (index = 0; index < (CMD_MAX_SIZE - 1); index++) {
cmd.seq[index] = cmd.seq[index + 1]; cmd.seq[index] = cmd.seq[index + 1];
@@ -361,10 +362,11 @@ static DECLFW(MCopyFamiWrite) {
Sync(); Sync();
#else #else
UpdateCmd((A << 8) | V); UpdateCmd((A << 8) | V);
// èùåì êîìàíäó â êåøå /* èùåì êîìàíäó â êåøå */
if (cmd.found == -1) { if (cmd.found == -1) {
// íå íàéäåíà, ïðîâåðÿåì, èçìåíèëîñü ëè ñîñòîÿíèå áàíêîâ /* íå íàéäåíà, ïðîâåðÿåì, èçìåíèëîñü ëè ñîñòîÿíèå áàíêîâ
// ëèáî íå ïðåäåëüíîé ëè îíà äëèíû äëÿ êîìàíäû * ëèáî íå ïðåäåëüíîé ëè îíà äëèíû äëÿ êîìàíäû
*/
cmd_cache[cmd.hashf].index = cmd.found = cmds.count++; cmd_cache[cmd.hashf].index = cmd.found = cmds.count++;
cmd_cache[cmd.hashf].retest = 0; cmd_cache[cmd.hashf].retest = 0;
cmd_cache[cmd.hashf].verify = 0; cmd_cache[cmd.hashf].verify = 0;
@@ -378,15 +380,15 @@ static DECLFW(MCopyFamiWrite) {
cmd.hash = 0; cmd.hash = 0;
Sync(); Sync();
} else { } else {
// åñëè äîáàâëåíà ïîëíàÿ êîìàíäà áåç áàíêñâèò÷èíãà /* åñëè äîáàâëåíà ïîëíàÿ êîìàíäà áåç áàíêñâèò÷èíãà */
cmd_cache[cmd.hashf].index = -2; cmd_cache[cmd.hashf].index = -2;
} }
} else if (cmd.found == -2) { } else if (cmd.found == -2) {
// ÷àñòè÷íîå ñîâïàäåíèå, åñëè ÷èñëî ïðîâåðîê íå ïðåâûñèëî ëèìèò /* ÷àñòè÷íîå ñîâïàäåíèå, åñëè ÷èñëî ïðîâåðîê íå ïðåâûñèëî ëèìèò */
if (cmd_cache[cmd.hashf].retest < CMD_MAX_RETEST) { if (cmd_cache[cmd.hashf].retest < CMD_MAX_RETEST) {
// òî ïðîâåðèì ñîñòîÿíèå áàíêîâ /* òî ïðîâåðèì ñîñòîÿíèå áàíêîâ */
if (CheckStatus()) { if (CheckStatus()) {
// èçìåíèëîñü, çàïèøåì íîâóþ êîìàíäó /* èçìåíèëîñü, çàïèøåì íîâóþ êîìàíäó */
cmd_cache[cmd.hashf].index = cmd.found = cmds.count++; cmd_cache[cmd.hashf].index = cmd.found = cmds.count++;
cmd_cache[cmd.hashf].retest = 0; cmd_cache[cmd.hashf].retest = 0;
cmd_cache[cmd.hashf].verify = 0; cmd_cache[cmd.hashf].verify = 0;
@@ -399,17 +401,16 @@ static DECLFW(MCopyFamiWrite) {
cmd.hash = 0; cmd.hash = 0;
Sync(); Sync();
} else { } else {
// íå èçìåíèëîñü, îòìåòèì óâåëè÷èì ñ÷åò÷èê ïðîâåðîê /* íå èçìåíèëîñü, îòìåòèì óâåëè÷èì ñ÷åò÷èê ïðîâåðîê */
cmd_cache[cmd.hashf].retest++; cmd_cache[cmd.hashf].retest++;
} }
} }
} else { } else {
// íàéäåíà, ïîñëåäíèé ðóáåæ îáîðîíû îò ãîâíà /* íàéäåíà, ïîñëåäíèé ðóáåæ îáîðîíû îò ãîâíà */
/* #if 0
if(cmd_cache[cmd.hashf].verify < CMD_MAX_VERIFY) { if(cmd_cache[cmd.hashf].verify < CMD_MAX_VERIFY) {
if(CheckStatus()) { if(CheckStatus()) {
int32 changed = 0; int32 changed = 0;
// ,
if(cmds.states[cmd.found].mirror != state_new.mirror) if(cmds.states[cmd.found].mirror != state_new.mirror)
changed = 1; changed = 1;
for(i=0; i<8; i++) for(i=0; i<8; i++)
@@ -426,8 +427,10 @@ static DECLFW(MCopyFamiWrite) {
} }
} else } else
cmd_cache[cmd.hashf].verify++; cmd_cache[cmd.hashf].verify++;
} else */{ } else
// ïðèìåíÿåì áåç ìàëåéøåãî çàçðåíèÿ ñîâåñòè #endif
{
/* ïðèìåíÿåì áåç ìàëåéøåãî çàçðåíèÿ ñîâåñòè */
ApplyStatus(); ApplyStatus();
cmd.size = 0; cmd.size = 0;
cmd.hash = 0; cmd.hash = 0;
@@ -453,7 +456,7 @@ static void MCopyFamiReset(void) {
} }
static void MCopyFamiPower(void) { static void MCopyFamiPower(void) {
// uint32 resp, presp; /* uint32 resp, presp; */
FCEU_printf("NOW POWERING... "); FCEU_printf("NOW POWERING... ");
@@ -466,7 +469,7 @@ static void MCopyFamiPower(void) {
SetReadHandler(0x6000, 0x7fff, CartBR); SetReadHandler(0x6000, 0x7fff, CartBR);
#endif #endif
/* #if 0
FCEU_printf("READING MEMORY MAP...\n"); FCEU_printf("READING MEMORY MAP...\n");
CPUTestCmd[1] = 0x50; CPUTestCmd[1] = 0x50;
CPUTestCmd[2] = 0x30; CPUTestCmd[2] = 0x30;
@@ -477,10 +480,10 @@ static void MCopyFamiPower(void) {
GET(resp, 3); GET(resp, 3);
if(presp != 0xffffffff) { if(presp != 0xffffffff) {
switch(presp & 0x00FF0000) { switch(presp & 0x00FF0000) {
case 0x00000000: // BUS case 0x00000000: /* BUS */
FCEU_printf(" %04X-%04X OPEN BUS\n",presp & 0x7fff, (resp - 1) & 0x7fff); FCEU_printf(" %04X-%04X OPEN BUS\n",presp & 0x7fff, (resp - 1) & 0x7fff);
break; break;
case 0x00010000: // RAM case 0x00010000: /* RAM */
FCEU_printf(" %04X-%04X RAM\n",presp & 0x7fff, (resp - 1) & 0x7fff); FCEU_printf(" %04X-%04X RAM\n",presp & 0x7fff, (resp - 1) & 0x7fff);
SetWriteHandler(presp & 0x7fff, (resp - 1) & 0x7fff, CartBW); SetWriteHandler(presp & 0x7fff, (resp - 1) & 0x7fff, CartBW);
SetReadHandler(presp & 0x7fff, (resp - 1) & 0x7fff, CartBR); SetReadHandler(presp & 0x7fff, (resp - 1) & 0x7fff, CartBR);
@@ -489,7 +492,7 @@ static void MCopyFamiPower(void) {
} }
presp = resp; presp = resp;
} }
*/ #endif
SetWriteHandler(0x8000, 0xffff, MCopyFamiWrite); SetWriteHandler(0x8000, 0xffff, MCopyFamiWrite);
SetReadHandler(0x8000, 0xffff, CartBR); SetReadHandler(0x8000, 0xffff, CartBR);
@@ -528,17 +531,17 @@ void MapperCopyFami_Init(CartInfo *info) {
info->Close = MCopyFamiClose; info->Close = MCopyFamiClose;
GameStateRestore = StateRestore; GameStateRestore = StateRestore;
size = 1024 * CHR_CACHE_SIZE; // ðàçìåð ñòðàíèöû 1êá size = 1024 * CHR_CACHE_SIZE; /* ðàçìåð ñòðàíèöû 1êá */
chr_data.buf = (uint8*)FCEU_gmalloc(size); chr_data.buf = (uint8*)FCEU_gmalloc(size);
SetupCartCHRMapping(1, chr_data.buf, size, 1); // ïðîâåðÿòü ïïó ðàì, èíà÷å èãðà ìîæåò ïîðòèòü äàííûå SetupCartCHRMapping(1, chr_data.buf, size, 1); /* ïðîâåðÿòü ïïó ðàì, èíà÷å èãðà ìîæåò ïîðòèòü äàííûå */
AddExState(chr_data.buf, size, 0, "CCHR"); AddExState(chr_data.buf, size, 0, "CCHR");
size = 8192; // ðàçìåð ñòðàíèöû 8êá size = 8192; /* ðàçìåð ñòðàíèöû 8êá */
WRAM = (uint8*)FCEU_gmalloc(size); WRAM = (uint8*)FCEU_gmalloc(size);
SetupCartPRGMapping(1, WRAM, size, 1); SetupCartPRGMapping(1, WRAM, size, 1);
AddExState(WRAM, size, 0, "CPRM"); AddExState(WRAM, size, 0, "CPRM");
size = 8192 * PRG_CACHE_SIZE; // ðàçìåð ñòðàíèöû 8êá size = 8192 * PRG_CACHE_SIZE; /* ðàçìåð ñòðàíèöû 8êá */
prg_data.buf = (uint8*)FCEU_gmalloc(size); prg_data.buf = (uint8*)FCEU_gmalloc(size);
SetupCartPRGMapping(2, prg_data.buf, size, 0); SetupCartPRGMapping(2, prg_data.buf, size, 0);
AddExState(prg_data.buf, size, 0, "CPPR"); AddExState(prg_data.buf, size, 0, "CPPR");