- add 2nd player to tasedit
- fix bugs which broke movies with saveram which was added when 7zip was added - fix bugs in tasedit insert and delete
This commit is contained in:
parent
e8da728db3
commit
033ae55048
|
@ -1259,15 +1259,15 @@ BEGIN
|
||||||
PUSHBUTTON "Metadata...",IDC_BUTTON_METADATA,239,71,50,14
|
PUSHBUTTON "Metadata...",IDC_BUTTON_METADATA,239,71,50,14
|
||||||
END
|
END
|
||||||
|
|
||||||
TASEDIT DIALOGEX 0, 0, 470, 349
|
TASEDIT DIALOGEX 0, 0, 513, 356
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "TAS Editor"
|
CAPTION "TAS Editor"
|
||||||
MENU TASEDITMENU
|
MENU TASEDITMENU
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,273,296
|
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_OWNERDATA | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,302,342
|
||||||
PUSHBUTTON "Hacky truncate after current frame",IDC_HACKY1,312,7,124,38
|
PUSHBUTTON "Hacky truncate after current frame",IDC_HACKY1,347,7,124,38
|
||||||
LTEXT "I think this will prove useful enough for a hotkey at some point",IDC_STATIC,312,46,125,16
|
LTEXT "I think this will prove useful enough for a hotkey at some point",IDC_STATIC,347,46,125,16
|
||||||
END
|
END
|
||||||
|
|
||||||
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
ASSEMBLER DIALOGEX 0, 0, 202, 135
|
||||||
|
@ -1444,9 +1444,9 @@ BEGIN
|
||||||
"TASEDIT", DIALOG
|
"TASEDIT", DIALOG
|
||||||
BEGIN
|
BEGIN
|
||||||
LEFTMARGIN, 7
|
LEFTMARGIN, 7
|
||||||
RIGHTMARGIN, 463
|
RIGHTMARGIN, 506
|
||||||
TOPMARGIN, 7
|
TOPMARGIN, 7
|
||||||
BOTTOMMARGIN, 342
|
BOTTOMMARGIN, 349
|
||||||
END
|
END
|
||||||
|
|
||||||
"ASSEMBLER", DIALOG
|
"ASSEMBLER", DIALOG
|
||||||
|
|
|
@ -54,9 +54,19 @@ static void GetDispInfo(NMLVDISPINFO* nmlvDispInfo)
|
||||||
case 6:
|
case 6:
|
||||||
case 7:
|
case 7:
|
||||||
case 8:
|
case 8:
|
||||||
case 9: {
|
case 9:
|
||||||
int bit = (item.iSubItem - 2);
|
case 10:
|
||||||
uint8 data = currMovieData.records[item.iItem].joysticks[0];
|
case 11:
|
||||||
|
case 12:
|
||||||
|
case 13:
|
||||||
|
case 14:
|
||||||
|
case 15:
|
||||||
|
case 16:
|
||||||
|
case 17:
|
||||||
|
{
|
||||||
|
int joy = (item.iSubItem - 2)/8;
|
||||||
|
int bit = (item.iSubItem - 2)%8;
|
||||||
|
uint8 data = currMovieData.records[item.iItem].joysticks[joy];
|
||||||
if(data & (1<<bit))
|
if(data & (1<<bit))
|
||||||
{
|
{
|
||||||
item.pszText[0] = MovieRecord::mnemonics[bit];
|
item.pszText[0] = MovieRecord::mnemonics[bit];
|
||||||
|
@ -88,8 +98,13 @@ static LONG CustomDraw(NMLVCUSTOMDRAW* msg)
|
||||||
return CDRF_NOTIFYSUBITEMDRAW;
|
return CDRF_NOTIFYSUBITEMDRAW;
|
||||||
case CDDS_SUBITEMPREPAINT:
|
case CDDS_SUBITEMPREPAINT:
|
||||||
SelectObject(msg->nmcd.hdc,debugSystem->hFixedFont);
|
SelectObject(msg->nmcd.hdc,debugSystem->hFixedFont);
|
||||||
|
if((msg->iSubItem-2)/8==0)
|
||||||
if((int)msg->nmcd.dwItemSpec < currMovieData.greenZoneCount)
|
if((int)msg->nmcd.dwItemSpec < currMovieData.greenZoneCount)
|
||||||
msg->clrTextBk = RGB(192,255,192);
|
msg->clrTextBk = RGB(192,255,192);
|
||||||
|
else {}
|
||||||
|
else if((int)msg->nmcd.dwItemSpec < currMovieData.greenZoneCount)
|
||||||
|
msg->clrTextBk = RGB(144,192,144);
|
||||||
|
else msg->clrTextBk = RGB(192,192,192);
|
||||||
return CDRF_DODEFAULT;
|
return CDRF_DODEFAULT;
|
||||||
default:
|
default:
|
||||||
return CDRF_DODEFAULT;
|
return CDRF_DODEFAULT;
|
||||||
|
@ -211,8 +226,9 @@ void DoubleClick(LPNMITEMACTIVATE info)
|
||||||
else //if an input column was clicked:
|
else //if an input column was clicked:
|
||||||
{
|
{
|
||||||
//toggle the bit
|
//toggle the bit
|
||||||
int bit = (info->iSubItem-2);
|
int joy = (info->iSubItem - 2)/8;
|
||||||
currMovieData.records[index].toggleBit(0,bit);
|
int bit = (info->iSubItem - 2)%8;
|
||||||
|
currMovieData.records[index].toggleBit(joy,bit);
|
||||||
|
|
||||||
//update the row
|
//update the row
|
||||||
ListView_Update(hwndList,index);
|
ListView_Update(hwndList,index);
|
||||||
|
@ -224,6 +240,23 @@ void DoubleClick(LPNMITEMACTIVATE info)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//removes all selections
|
||||||
|
static void ClearSelection()
|
||||||
|
{
|
||||||
|
int frameCount = ListView_GetItemCount(hwndList);
|
||||||
|
LVITEM lvi;
|
||||||
|
lvi.mask = LVIF_STATE;
|
||||||
|
lvi.state = 0;
|
||||||
|
lvi.stateMask = LVIS_SELECTED;
|
||||||
|
for(int i=0;i<frameCount;i++)
|
||||||
|
{
|
||||||
|
lvi.iItem = i;
|
||||||
|
ListView_SetItem(hwndList,&lvi);
|
||||||
|
}
|
||||||
|
|
||||||
|
selectionFrames.clear();
|
||||||
|
}
|
||||||
|
|
||||||
//insert frames at the currently selected positions.
|
//insert frames at the currently selected positions.
|
||||||
static void InsertFrames()
|
static void InsertFrames()
|
||||||
{
|
{
|
||||||
|
@ -241,7 +274,6 @@ static void InsertFrames()
|
||||||
}
|
}
|
||||||
|
|
||||||
InvalidateGreenZone(*selectionFrames.begin());
|
InvalidateGreenZone(*selectionFrames.begin());
|
||||||
|
|
||||||
UpdateTasEdit();
|
UpdateTasEdit();
|
||||||
RedrawList();
|
RedrawList();
|
||||||
}
|
}
|
||||||
|
@ -249,6 +281,13 @@ static void InsertFrames()
|
||||||
//delete frames at the currently selected positions.
|
//delete frames at the currently selected positions.
|
||||||
static void DeleteFrames()
|
static void DeleteFrames()
|
||||||
{
|
{
|
||||||
|
int frames = selectionFrames.size();
|
||||||
|
|
||||||
|
if(frames == currMovieData.records.size())
|
||||||
|
{
|
||||||
|
MessageBox(hwndTasEdit,"Please don't delete all of the frames in the movie. This violates an internal invariant we need to keep.","Error deleting",0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
//this is going to be _really_ slow.
|
//this is going to be _really_ slow.
|
||||||
|
|
||||||
//insert frames before each selection
|
//insert frames before each selection
|
||||||
|
@ -263,7 +302,7 @@ static void DeleteFrames()
|
||||||
//in the particular case of deletion, we need to make sure we reset currFrameCounter to something reasonable
|
//in the particular case of deletion, we need to make sure we reset currFrameCounter to something reasonable
|
||||||
//why not the current green zone max?
|
//why not the current green zone max?
|
||||||
currFrameCounter = currMovieData.greenZoneCount-1;
|
currFrameCounter = currMovieData.greenZoneCount-1;
|
||||||
|
ClearSelection();
|
||||||
UpdateTasEdit();
|
UpdateTasEdit();
|
||||||
RedrawList();
|
RedrawList();
|
||||||
}
|
}
|
||||||
|
@ -404,6 +443,22 @@ static void InitDialog()
|
||||||
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
lvc.pszText = "R";
|
lvc.pszText = "R";
|
||||||
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "A";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "B";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "S";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "T";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "U";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "D";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "L";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
|
lvc.pszText = "R";
|
||||||
|
ListView_InsertColumn(hwndList, colidx++, &lvc);
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
|
|
||||||
//the initial update
|
//the initial update
|
||||||
|
|
|
@ -302,7 +302,6 @@ int iNESLoad(const char *name, FCEUFILE *fp, int OverwriteVidMode);
|
||||||
int FDSLoad(const char *name, FCEUFILE *fp);
|
int FDSLoad(const char *name, FCEUFILE *fp);
|
||||||
int NSFLoad(FCEUFILE *fp);
|
int NSFLoad(FCEUFILE *fp);
|
||||||
|
|
||||||
//mbg 6/25/08 - remove this one day
|
|
||||||
//char lastLoadedGameName [2048] = {0,}; // hack for movie WRAM clearing on record from poweron
|
//char lastLoadedGameName [2048] = {0,}; // hack for movie WRAM clearing on record from poweron
|
||||||
|
|
||||||
|
|
||||||
|
@ -607,8 +606,11 @@ void hand(X6502 *X, int type, unsigned int A)
|
||||||
}
|
}
|
||||||
|
|
||||||
int suppressAddPowerCommand=0; // hack... yeah, I know...
|
int suppressAddPowerCommand=0; // hack... yeah, I know...
|
||||||
|
void MapperInit();
|
||||||
void PowerNES(void)
|
void PowerNES(void)
|
||||||
{
|
{
|
||||||
|
MapperInit();
|
||||||
|
|
||||||
if(!suppressAddPowerCommand)
|
if(!suppressAddPowerCommand)
|
||||||
FCEUMOV_AddCommand(FCEUNPCMD_POWER);
|
FCEUMOV_AddCommand(FCEUNPCMD_POWER);
|
||||||
if(!GameInfo) return;
|
if(!GameInfo) return;
|
||||||
|
@ -639,6 +641,8 @@ void PowerNES(void)
|
||||||
if(GameInfo->type==GIT_VSUNI)
|
if(GameInfo->type==GIT_VSUNI)
|
||||||
FCEU_VSUniPower();
|
FCEU_VSUniPower();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
timestampbase=0;
|
timestampbase=0;
|
||||||
X6502_Power();
|
X6502_Power();
|
||||||
FCEU_PowerCheats();
|
FCEU_PowerCheats();
|
||||||
|
|
|
@ -112,6 +112,7 @@ inline const char* ESIFC_Name(ESIFC esifc)
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
uint8 *name; //Game name, UTF8 encoding
|
uint8 *name; //Game name, UTF8 encoding
|
||||||
|
int mappernum;
|
||||||
|
|
||||||
EGIT type;
|
EGIT type;
|
||||||
EGIV vidsys; //Current emulated video system;
|
EGIV vidsys; //Current emulated video system;
|
||||||
|
|
222
src/ines.cpp
222
src/ines.cpp
|
@ -1,23 +1,23 @@
|
||||||
/* FCE Ultra - NES/Famicom Emulator
|
/* FCE Ultra - NES/Famicom Emulator
|
||||||
*
|
*
|
||||||
* Copyright notice for this file:
|
* Copyright notice for this file:
|
||||||
* Copyright (C) 1998 BERO
|
* Copyright (C) 1998 BERO
|
||||||
* Copyright (C) 2002 Xodnizel
|
* Copyright (C) 2002 Xodnizel
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -79,7 +79,7 @@ void (*MapperReset)(void);
|
||||||
static int MapperNo=0;
|
static int MapperNo=0;
|
||||||
|
|
||||||
/* MapperReset() is called when the NES is reset(with the reset button).
|
/* MapperReset() is called when the NES is reset(with the reset button).
|
||||||
Mapperxxx_init is called when the NES has been powered on.
|
Mapperxxx_init is called when the NES has been powered on.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ struct BADINF {
|
||||||
|
|
||||||
static struct BADINF BadROMImages[]=
|
static struct BADINF BadROMImages[]=
|
||||||
{
|
{
|
||||||
#include "ines-bad.h"
|
#include "ines-bad.h"
|
||||||
};
|
};
|
||||||
|
|
||||||
void CheckBad(uint64 md5partial)
|
void CheckBad(uint64 md5partial)
|
||||||
|
@ -310,6 +310,24 @@ struct CHINF {
|
||||||
int32 mirror;
|
int32 mirror;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void MapperInit()
|
||||||
|
{
|
||||||
|
if(NewiNES_Init(MapperNo))
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iNESCart.Power=iNESPower;
|
||||||
|
if(head.ROM_type&2)
|
||||||
|
{
|
||||||
|
iNESCart.SaveGame[0]=WRAM;
|
||||||
|
iNESCart.SaveGameLen[0]=8192;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void CheckHInfo(void)
|
static void CheckHInfo(void)
|
||||||
{
|
{
|
||||||
/* ROM images that have the battery-backed bit set in the header that really
|
/* ROM images that have the battery-backed bit set in the header that really
|
||||||
|
@ -372,7 +390,7 @@ static void CheckHInfo(void)
|
||||||
|
|
||||||
static struct CHINF moo[]=
|
static struct CHINF moo[]=
|
||||||
{
|
{
|
||||||
#include "ines-correct.h"
|
#include "ines-correct.h"
|
||||||
};
|
};
|
||||||
int tofix=0;
|
int tofix=0;
|
||||||
int x;
|
int x;
|
||||||
|
@ -526,18 +544,18 @@ int iNESLoad(const char *name, FCEUFILE *fp, int OverwriteVidMode)
|
||||||
memset((char *)(&head)+0xA,0,0x6);
|
memset((char *)(&head)+0xA,0,0x6);
|
||||||
}
|
}
|
||||||
|
|
||||||
// int ROM_size=0;
|
// int ROM_size=0;
|
||||||
if(!head.ROM_size)
|
if(!head.ROM_size)
|
||||||
{
|
{
|
||||||
// FCEU_PrintError("No PRG ROM!");
|
// FCEU_PrintError("No PRG ROM!");
|
||||||
// return(0);
|
// return(0);
|
||||||
ROM_size=256;
|
ROM_size=256;
|
||||||
//head.ROM_size++;
|
//head.ROM_size++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ROM_size=head.ROM_size;
|
ROM_size=head.ROM_size;
|
||||||
|
|
||||||
// ROM_size = head.ROM_size;
|
// ROM_size = head.ROM_size;
|
||||||
VROM_size = head.VROM_size;
|
VROM_size = head.VROM_size;
|
||||||
ROM_size=uppow2(ROM_size);
|
ROM_size=uppow2(ROM_size);
|
||||||
|
|
||||||
|
@ -684,19 +702,9 @@ int iNESLoad(const char *name, FCEUFILE *fp, int OverwriteVidMode)
|
||||||
// return(0);
|
// return(0);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if(NewiNES_Init(MapperNo))
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
GameInfo->mappernum = MapperNo;
|
||||||
else
|
MapperInit();
|
||||||
{
|
|
||||||
iNESCart.Power=iNESPower;
|
|
||||||
if(head.ROM_type&2)
|
|
||||||
{
|
|
||||||
iNESCart.SaveGame[0]=WRAM;
|
|
||||||
iNESCart.SaveGameLen[0]=8192;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FCEU_LoadGameSave(&iNESCart);
|
FCEU_LoadGameSave(&iNESCart);
|
||||||
|
|
||||||
strcpy(LoadedRomFName,name); //bbit edited: line added
|
strcpy(LoadedRomFName,name); //bbit edited: line added
|
||||||
|
@ -1164,14 +1172,14 @@ void iNESStateRestore(int version)
|
||||||
for(x=0;x<8;x++)
|
for(x=0;x<8;x++)
|
||||||
setchr1(0x400*x,CHRBankList[x]);
|
setchr1(0x400*x,CHRBankList[x]);
|
||||||
|
|
||||||
if(0) switch(Mirroring)
|
if(0) switch(Mirroring)
|
||||||
{
|
{
|
||||||
case 0:setmirror(MI_H);break;
|
case 0:setmirror(MI_H);break;
|
||||||
case 1:setmirror(MI_V);break;
|
case 1:setmirror(MI_V);break;
|
||||||
case 0x12:
|
case 0x12:
|
||||||
case 0x10:setmirror(MI_0);break;
|
case 0x10:setmirror(MI_0);break;
|
||||||
case 0x13:
|
case 0x13:
|
||||||
case 0x11:setmirror(MI_1);break;
|
case 0x11:setmirror(MI_1);break;
|
||||||
}
|
}
|
||||||
if(MapStateRestore) MapStateRestore(version);
|
if(MapStateRestore) MapStateRestore(version);
|
||||||
}
|
}
|
||||||
|
@ -1191,11 +1199,11 @@ static void iNESPower(void)
|
||||||
SetReadHandler(0x6000,0x7FFF,AWRAM);
|
SetReadHandler(0x6000,0x7FFF,AWRAM);
|
||||||
SetWriteHandler(0x6000,0x7FFF,BWRAM);
|
SetWriteHandler(0x6000,0x7FFF,BWRAM);
|
||||||
FCEU_CheatAddRAM(8,0x6000,WRAM);
|
FCEU_CheatAddRAM(8,0x6000,WRAM);
|
||||||
/*
|
/*
|
||||||
#ifdef DEBUG_MAPPER
|
#ifdef DEBUG_MAPPER
|
||||||
if(type==0) SetWriteHandler(0x4020,0xFFFF,WriteHandler);
|
if(type==0) SetWriteHandler(0x4020,0xFFFF,WriteHandler);
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
/* This statement represents atrocious code. I need to rewrite
|
/* This statement represents atrocious code. I need to rewrite
|
||||||
all of the iNES mapper code... */
|
all of the iNES mapper code... */
|
||||||
IRQCount=IRQLatch=IRQa=0;
|
IRQCount=IRQLatch=IRQa=0;
|
||||||
|
@ -1251,66 +1259,66 @@ typedef struct {
|
||||||
} BMAPPING;
|
} BMAPPING;
|
||||||
/*
|
/*
|
||||||
static BMAPPING bmap[] = {
|
static BMAPPING bmap[] = {
|
||||||
{1, Mapper1_Init},
|
{1, Mapper1_Init},
|
||||||
{2, UNROM_Init},
|
{2, UNROM_Init},
|
||||||
{3, CNROM_Init},
|
{3, CNROM_Init},
|
||||||
{4, Mapper4_Init},
|
{4, Mapper4_Init},
|
||||||
{5, Mapper5_Init},
|
{5, Mapper5_Init},
|
||||||
{12, Mapper12_Init},
|
{12, Mapper12_Init},
|
||||||
{13, CPROM_Init},
|
{13, CPROM_Init},
|
||||||
{19, Mapper19_Init},
|
{19, Mapper19_Init},
|
||||||
{44, Mapper44_Init},
|
{44, Mapper44_Init},
|
||||||
{45, Mapper45_Init},
|
{45, Mapper45_Init},
|
||||||
{47, Mapper47_Init},
|
{47, Mapper47_Init},
|
||||||
{49, Mapper49_Init},
|
{49, Mapper49_Init},
|
||||||
{52, Mapper52_Init},
|
{52, Mapper52_Init},
|
||||||
{74, Mapper74_Init},
|
{74, Mapper74_Init},
|
||||||
{90, Mapper90_Init},
|
{90, Mapper90_Init},
|
||||||
{95, Mapper95_Init},
|
{95, Mapper95_Init},
|
||||||
{105, Mapper105_Init},
|
{105, Mapper105_Init},
|
||||||
{112, Mapper112_Init},
|
{112, Mapper112_Init},
|
||||||
{114, Mapper114_Init},
|
{114, Mapper114_Init},
|
||||||
{115, Mapper115_Init},
|
{115, Mapper115_Init},
|
||||||
{116, Mapper116_Init},
|
{116, Mapper116_Init},
|
||||||
{118, Mapper118_Init},
|
{118, Mapper118_Init},
|
||||||
{119, Mapper119_Init},
|
{119, Mapper119_Init},
|
||||||
{133, SA72008_Init},
|
{133, SA72008_Init},
|
||||||
{137, S8259D_Init},
|
{137, S8259D_Init},
|
||||||
{138, S8259B_Init},
|
{138, S8259B_Init},
|
||||||
{139, S8259C_Init},
|
{139, S8259C_Init},
|
||||||
{141, S8259A_Init},
|
{141, S8259A_Init},
|
||||||
{143, TCA01_Init},
|
{143, TCA01_Init},
|
||||||
{145, SA72007_Init},
|
{145, SA72007_Init},
|
||||||
{146, SA0161M_Init},
|
{146, SA0161M_Init},
|
||||||
{147, TCU01_Init},
|
{147, TCU01_Init},
|
||||||
{148, SA0037_Init},
|
{148, SA0037_Init},
|
||||||
{149, SA0036_Init},
|
{149, SA0036_Init},
|
||||||
{150, S74LS374N_Init},
|
{150, S74LS374N_Init},
|
||||||
{155, Mapper155_Init},
|
{155, Mapper155_Init},
|
||||||
{160, Mapper90_Init},
|
{160, Mapper90_Init},
|
||||||
{163, Mapper163_Init},
|
{163, Mapper163_Init},
|
||||||
{164, Mapper164_Init},
|
{164, Mapper164_Init},
|
||||||
{165, Mapper165_Init},
|
{165, Mapper165_Init},
|
||||||
{182, Mapper182_Init},
|
{182, Mapper182_Init},
|
||||||
{183, Mapper183_Init},
|
{183, Mapper183_Init},
|
||||||
{186, Mapper186_Init},
|
{186, Mapper186_Init},
|
||||||
{187, Mapper187_Init},
|
{187, Mapper187_Init},
|
||||||
{188, Mapper188_Init},
|
{188, Mapper188_Init},
|
||||||
{191, Mapper191_Init},
|
{191, Mapper191_Init},
|
||||||
{205, Mapper205_Init},
|
{205, Mapper205_Init},
|
||||||
{206, DEIROM_Init},
|
{206, DEIROM_Init},
|
||||||
{208, Mapper208_Init},
|
{208, Mapper208_Init},
|
||||||
{209, Mapper209_Init},
|
{209, Mapper209_Init},
|
||||||
{210, Mapper210_Init},
|
{210, Mapper210_Init},
|
||||||
{215, Mapper215_Init},
|
{215, Mapper215_Init},
|
||||||
{216, Mapper216_Init},
|
{216, Mapper216_Init},
|
||||||
{217, Mapper217_Init},
|
{217, Mapper217_Init},
|
||||||
{243, S74LS374NA_Init},
|
{243, S74LS374NA_Init},
|
||||||
{245, Mapper245_Init},
|
{245, Mapper245_Init},
|
||||||
{249, Mapper249_Init},
|
{249, Mapper249_Init},
|
||||||
{250, Mapper250_Init},
|
{250, Mapper250_Init},
|
||||||
{254, Mapper254_Init},
|
{254, Mapper254_Init},
|
||||||
{ 0, 0}
|
{ 0, 0}
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
static BMAPPING bmap[] = {
|
static BMAPPING bmap[] = {
|
||||||
|
|
|
@ -611,7 +611,10 @@ static void poweron(bool shouldDisableBatteryLoading)
|
||||||
//"hack for movie WRAM clearing on record from poweron"
|
//"hack for movie WRAM clearing on record from poweron"
|
||||||
//but W-T-F. are you telling me that there is some problem with the poweron sequence?
|
//but W-T-F. are you telling me that there is some problem with the poweron sequence?
|
||||||
//screw that. we're using the main poweron sequence, even if that breaks old movie compatibility (unlikely)
|
//screw that. we're using the main poweron sequence, even if that breaks old movie compatibility (unlikely)
|
||||||
|
extern int disableBatteryLoading;
|
||||||
|
if(shouldDisableBatteryLoading) disableBatteryLoading=1;
|
||||||
PowerNES();
|
PowerNES();
|
||||||
|
if(shouldDisableBatteryLoading) disableBatteryLoading=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue