本文整理汇总了C++中SCAN_VAR函数的典型用法代码示例。如果您正苦于以下问题:C++ SCAN_VAR函数的具体用法?C++ SCAN_VAR怎么用?C++ SCAN_VAR使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SCAN_VAR函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PsndZScan
// Scan the current PSound z80 state
int PsndZScan(int nAction)
{
struct BurnArea ba;
int i=0;
ZetScan(nAction); // Scan Z80
SCAN_VAR(nTimerPeriod)
SCAN_VAR(nNextTimer)
SCAN_VAR(FmReg)
SCAN_VAR(nFmSel)
SCAN_VAR(nPsndZBank)
// Scan Ram
memset(&ba,0,sizeof(ba));
ba.szName="PsndZRam";
ba.Data=PsndZRam;
ba.nLen=0x800;
BurnAcb(&ba);
if (nAction&2)
{
PsndZBankMap(); // If write, bank could have changed
CalcTimerPeriod(); // If write, timer registers could have changed
// Resend all the registers to the ym2151
if (bPsmOkay)
{
for (i=0; i<0x100; i++)
{
YM2151WriteReg(0,i,FmReg[i]);
}
}
}
return 0;
}
示例2: DrvScan
static INT32 DrvScan(INT32 nAction,INT32 *pnMin)
{
struct BurnArea ba;
if (pnMin) {
*pnMin = 0x029732;
}
if (nAction & ACB_VOLATILE) {
memset(&ba, 0, sizeof(ba));
ba.Data = AllRam;
ba.nLen = RamEnd - AllRam;
ba.szName = "All Ram";
BurnAcb(&ba);
SekScan(nAction);
YMZ280BScan();
KonamiICScan(nAction);
SCAN_VAR(control_data);
SCAN_VAR(control_data2);
}
return 0;
}
示例3: DrvScan
// Scan ram
static int DrvScan(int nAction, int *pnMin)
{
struct BurnArea ba;
if (pnMin) { // Return minimum compatible version
*pnMin = 0x020902;
}
EEPROMScan(nAction, pnMin); // Scan EEPROM
if (nAction & ACB_VOLATILE) { // Scan volatile ram
memset(&ba, 0, sizeof(ba));
ba.Data = RamStart;
ba.nLen = RamEnd - RamStart;
ba.szName = "RAM";
BurnAcb(&ba);
SekScan(nAction); // scan 68000 states
MSM6295Scan(0, nAction);
MSM6295Scan(1, nAction);
SCAN_VAR(nVideoIRQ);
SCAN_VAR(nSoundIRQ);
SCAN_VAR(nUnknownIRQ);
SCAN_VAR(bVBlank);
CaveScanGraphics();
SCAN_VAR(DrvInput);
}
return 0;
}
示例4: DrvScan
static INT32 DrvScan(INT32 nAction, INT32 *pnMin)
{
struct BurnArea ba;
if (pnMin) { // Return minimum compatible version
*pnMin = 0x020902;
}
EEPROMScan(nAction, pnMin); // Scan EEPROM
if (nAction & ACB_VOLATILE) { // Scan volatile ram
memset(&ba, 0, sizeof(ba));
ba.Data = RamStart;
ba.nLen = RamEnd - RamStart;
ba.szName = "RAM";
BurnAcb(&ba);
SekScan(nAction); // scan 68000 states
YMZ280BScan();
SCAN_VAR(nVideoIRQ);
SCAN_VAR(nSoundIRQ);
SCAN_VAR(nUnknownIRQ);
SCAN_VAR(bVBlank);
SCAN_VAR(korokoro_hopper);
CaveScanGraphics();
}
return 0;
}
示例5: SupermanScan
// Scan RAM
static int SupermanScan(int nAction,int *pnMin)
{
struct BurnArea ba;
if (pnMin) { // Return minimum compatible version
*pnMin = 0x029521;
}
if (nAction & ACB_VOLATILE) { // Scan volatile ram
memset(&ba, 0, sizeof(ba));
ba.Data = RamStart;
ba.nLen = RamEnd-RamStart;
ba.szName = "All Ram";
BurnAcb(&ba);
}
if (nAction & ACB_DRIVER_DATA) {
SekScan(nAction); // Scan 68000
ZetScan(nAction); // Scan Z80
BurnYM2610Scan(nAction, pnMin);
// Scan critical driver variables
SCAN_VAR(SupermanInput);
SCAN_VAR(SupermanDip);
SCAN_VAR(Z80Bank);
SCAN_VAR(nCurrentBank);
SCAN_VAR(nCycles68KSync);
}
return 0;
}
示例6: DrvScan
static INT32 DrvScan(INT32 nAction, INT32* pnMin)
{
struct BurnArea ba;
if (pnMin != NULL) {
*pnMin = 0x029707;
}
if (nAction & ACB_VOLATILE) {
memset(&ba, 0, sizeof(ba));
ba.Data = AllRam;
ba.nLen = RamEnd - AllRam;
ba.szName = "RAM";
BurnAcb(&ba);
SekScan(nAction);
ZetScan(nAction);
BurnYM3812Scan(nAction, pnMin);
SCAN_VAR(nCyclesDone);
SCAN_VAR(demonwld_hack);
}
return 0;
}
示例7: K053247Scan
void K053247Scan(INT32 nAction)
{
struct BurnArea ba;
if (nAction & ACB_MEMORY_RAM) {
memset(&ba, 0, sizeof(ba));
ba.Data = K053247Ram;
ba.nLen = 0x1000;
ba.szName = "K053247 Ram";
BurnAcb(&ba);
ba.Data = K053247Regs;
ba.nLen = 0x0010 * sizeof(UINT16);
ba.szName = "K053247 Regs";
BurnAcb(&ba);
ba.Data = K053246Regs;
ba.nLen = 0x0008;
ba.szName = "K053246 Regs";
BurnAcb(&ba);
SCAN_VAR(K053246_OBJCHA_line);
SCAN_VAR(K053247_wraparound);
}
}
示例8: PcmScan
int PcmScan()
{
SCAN_VAR(Reg);
SCAN_VAR(ChanPos);
SCAN_VAR(ChanBank);
return 0;
}
示例9: konamiCpuScan
int konamiCpuScan(int nAction)
{
#if defined FBA_DEBUG
if (!DebugCPU_KonamiInitted) bprintf(PRINT_ERROR, _T("konamiCpuScan called without init\n"));
#endif
struct BurnArea ba;
int (*irq_callback)(int irqline);
void (*setlines_callback)( int lines );
irq_callback = konami.irq_callback;
setlines_callback = konami.setlines_callback;
if (nAction & ACB_DRIVER_DATA) {
memset(&ba, 0, sizeof(ba));
ba.Data = (unsigned char*)&konami;
ba.nLen = sizeof(konami_Regs);
ba.szName = "All Registers";
BurnAcb(&ba);
SCAN_VAR(ea.w.l);
SCAN_VAR(ea.d);
}
konami.irq_callback = irq_callback;
konami.setlines_callback = setlines_callback;
return 0;
}
示例10: DrvScan
// Scan ram
static INT32 DrvScan(INT32 nAction, INT32* pnMin)
{
struct BurnArea ba;
if (pnMin != NULL) { // Return minimum compatible version
*pnMin = 0x029402;
}
if (nAction & ACB_VOLATILE) { // Scan volatile ram
memset(&ba, 0, sizeof(ba));
ba.Data = RamStart;
ba.nLen = RamEnd - RamStart;
ba.szName = "RAM";
BurnAcb(&ba);
SekScan(nAction); // scan 68000 states
ZetScan(nAction); // Scan Z80
BurnYM3812Scan(nAction, pnMin);
SCAN_VAR(DrvInput);
SCAN_VAR(nCyclesDone);
}
return 0;
}
示例11: QsndScan
int QsndScan(int nAction)
{
SCAN_VAR(nZExtra) // scan extra cycles
SCAN_VAR(nIrqNext) // scan next irq time
QsndZScan(nAction); // Scan Z80
QscScan(nAction); // Scan QSound Chip
return 0;
}
示例12: BurnGunScan
void BurnGunScan()
{
#if defined FBA_DEBUG
if (!Debug_BurnGunInitted) bprintf(PRINT_ERROR, _T("BurnGunScan called without init\n"));
#endif
SCAN_VAR(BurnGunX);
SCAN_VAR(BurnGunY);
}
示例13: PsndScan
int PsndScan(int nAction)
{
if (nAction & ACB_DRIVER_DATA) {
SCAN_VAR(nCyclesDone); SCAN_VAR(nSyncNext);
PsndZScan(nAction); // Scan Z80
SCAN_VAR(PsndCode); SCAN_VAR(PsndFade); // Scan sound info
}
return 0;
}
示例14: svg_asic27aScan
static INT32 svg_asic27aScan(INT32 nAction,INT32 *)
{
struct BurnArea ba;
if (nAction & ACB_MEMORY_RAM) {
ba.Data = PGMARMShareRAM;
ba.nLen = 0x0020000;
ba.nAddress = 0x400000;
ba.szName = "ARM SHARE RAM #0 (address 500000)";
BurnAcb(&ba);
ba.Data = PGMARMShareRAM2;
ba.nLen = 0x0020000;
ba.nAddress = 0x500000;
ba.szName = "ARM SHARE RAM #1";
BurnAcb(&ba);
ba.Data = PGMARMRAM0;
ba.nLen = 0x0000400;
ba.nAddress = 0;
ba.szName = "ARM RAM 0";
BurnAcb(&ba);
ba.Data = PGMARMRAM1;
ba.nLen = 0x0040000;
ba.nAddress = 0;
ba.szName = "ARM RAM 1";
BurnAcb(&ba);
ba.Data = PGMARMRAM2;
ba.nLen = 0x0000400;
ba.nAddress = 0;
ba.szName = "ARM RAM 2";
BurnAcb(&ba);
}
if (nAction & ACB_DRIVER_DATA) {
Arm7Scan(nAction);
SCAN_VAR(asic27a_68k_to_arm);
SCAN_VAR(asic27a_arm_to_68k);
SCAN_VAR(svg_ram_sel);
}
if (nAction & ACB_WRITE) {
SekOpen(0);
svg_set_ram_bank(svg_ram_sel);
SekClose();
}
return 0;
}
示例15: v3021Scan
INT32 v3021Scan()
{
#if defined FBA_DEBUG
if (!DebugDev_V3021Initted) bprintf(PRINT_ERROR, _T("v3021Scan called without init\n"));
#endif
SCAN_VAR(CalVal);
SCAN_VAR(CalMask);
SCAN_VAR(CalCom);
SCAN_VAR(CalCnt);
return 0;
}