当前位置: 首页>>代码示例>>C++>>正文


C++ BurnAcb函数代码示例

本文整理汇总了C++中BurnAcb函数的典型用法代码示例。如果您正苦于以下问题:C++ BurnAcb函数的具体用法?C++ BurnAcb怎么用?C++ BurnAcb使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了BurnAcb函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: 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);
	}
}
开发者ID:CaptainCPS,项目名称:FBAlphaRL,代码行数:25,代码来源:k053247.cpp

示例2: CpsAreaScan

// Scan the current state of the CPS1/2 machine
INT32 CpsAreaScan(INT32 nAction, INT32 *pnMin)
{
    struct BurnArea ba;

    if (CpsMem == NULL)
        return 1;

    if (pnMin)										// Return minimum compatible version
        *pnMin = 0x029521;

    if (nAction & ACB_MEMORY_ROM) {
        memset(&ba, 0, sizeof(ba));
        ba.Data   = CpsRom;
        ba.nLen   = nCpsRomLen;
        ba.szName = "CpsRom";
        BurnAcb(&ba);

        if (nCpsZRomLen) {
            ba.Data   = CpsZRom;
            ba.nLen   = nCpsZRomLen;
            ba.szName = "CpsZRom";
            BurnAcb(&ba);
        }
    }

    EEPROMScan(nAction, pnMin);

    if (nAction & ACB_MEMORY_RAM)
    {
        ScanRam();

        memset(&ba, 0, sizeof(ba));
        ba.Data   = CpsRam660;
        ba.nLen   = 0x004000;
        ba.szName = "CpsRam660";
        BurnAcb(&ba);
    }


    if (nAction & ACB_DRIVER_DATA) {					// Scan volatile variables/registers/RAM

        SekScan(nAction);								// Scan 68000 state

        if (nAction & ACB_WRITE) {						// Palette could have changed
            CpsRecalcPal = 1;
        }
    }

    if (!Cps2DisableQSnd) {						// Scan QSound chips
        QsndScan(nAction);
    }

    if (CpsMemScanCallbackFunction) {
        CpsMemScanCallbackFunction(nAction, pnMin);
    }

    return 0;
}
开发者ID:frangarcj,项目名称:fba_cores_cps2,代码行数:59,代码来源:cps_mem.c

示例3: 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;
}
开发者ID:meesokim,项目名称:fba,代码行数:52,代码来源:pgm_asic27a_type3.cpp

示例4: 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;
}
开发者ID:Cpasjuste,项目名称:libarcade,代码行数:30,代码来源:konami.cpp

示例5: 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;
}
开发者ID:iq132,项目名称:FB-Alpha,代码行数:34,代码来源:d_korokoro.cpp

示例6: DrvScan

// Scan ram
static INT32 DrvScan(INT32 nAction,INT32 *pnMin)
{
	struct BurnArea ba;

	if (pnMin) {						// Return minimum compatible version
		*pnMin = 0x020997;
	}

	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);

		SekScan(nAction);				// scan 68000 states

		ToaScanGP9001(nAction, pnMin);
#ifdef TOAPLAN_SOUND_SAMPLES_HACK
                BurnSampleScan(nAction, pnMin);
#endif
                ToaRecalcPalette = 1;
                bDrawScreen = true; // get background back ?
	}

	return 0;
}
开发者ID:meesokim,项目名称:fba,代码行数:28,代码来源:d_ghox.cpp

示例7: UPD7759Scan

INT32 UPD7759Scan(INT32 chip, INT32 nAction,INT32 *pnMin)
{
#if defined FBA_DEBUG
    if (!DebugSnd_UPD7759Initted) bprintf(PRINT_ERROR, _T("UPD7759Scan called without init\n"));
    if (chip > nNumChips) bprintf(PRINT_ERROR, _T("UPD7759Scan called with invalid chip %x\n"), chip);
#endif

    struct BurnArea ba;
    char szName[16];

    if ((nAction & ACB_DRIVER_DATA) == 0) {
        return 1;
    }

    if (pnMin != NULL) {
        *pnMin = 0x029680;
    }

    Chip = Chips[chip];

    sprintf(szName, "UPD7759 %d", chip);
    ba.Data		= &Chip;
    ba.nLen		= sizeof(struct upd7759_chip);
    ba.nAddress = 0;
    ba.szName	= szName;
    BurnAcb(&ba);

    return 0;
}
开发者ID:Gu1,项目名称:fba-libretro,代码行数:29,代码来源:upd7759.cpp

示例8: AY8910Scan

INT32 AY8910Scan(INT32 nAction, INT32* pnMin)
{
	struct BurnArea ba;
	INT32 i;
	
#if defined FBA_DEBUG
#ifdef __GNUC__ 
	if (!DebugSnd_AY8910Initted) bprintf(PRINT_ERROR, _T("AY8910Scan called without init\n"));
#endif
#endif

	if ((nAction & ACB_DRIVER_DATA) == 0) {
		return 1;
	}

	if (pnMin && *pnMin < 0x029496) {			// Return minimum compatible version
		*pnMin = 0x029496;
	}

	for (i = 0; i < num; i++) {
		char szName[16];

		sprintf(szName, "AY8910 #%d", i);

		ba.Data		= &AYPSG[i];
		ba.nLen		= sizeof(struct AY8910);
		ba.nAddress = 0;
		ba.szName	= szName;
		BurnAcb(&ba);
	}

	return 0;
}
开发者ID:CaptainCPS,项目名称:FBAlphaRL,代码行数:33,代码来源:ay8910.c

示例9: DrvScan

static INT32 DrvScan(INT32 nAction, INT32 *pnMin)
{
	struct BurnArea ba;
	
	if (pnMin != NULL) {
		*pnMin = 0x029707;
	}

	if (nAction & ACB_MEMORY_RAM) {
		memset(&ba, 0, sizeof(ba));
		ba.Data	  = AllRam;
		ba.nLen	  = RamEnd-AllRam;
		ba.szName = "All Ram";
		BurnAcb(&ba);
	}

	if (nAction & ACB_DRIVER_DATA) {
		ZetScan(nAction);

		MSM6295Scan(0, nAction);
	}

	if (nAction & ACB_WRITE) {
		ZetOpen(0);
		bankswitch(banks[0]);
		vidram_bankswitch(banks[1]);
		ZetClose();

		oki_bankswitch(banks[2]);

		DrvRecalc = 1;
	}

	return 0;
}
开发者ID:Cpasjuste,项目名称:libarcade,代码行数:35,代码来源:d_speedspn.cpp

示例10: 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;
}
开发者ID:tmaul,项目名称:finalburnalpha_2001,代码行数:35,代码来源:ps_z.cpp

示例11: DrvScan

static int DrvScan(int nAction,int *pnMin)
{
	struct BurnArea ba;

	if (pnMin) {
		*pnMin = 0x029706;
	}

	if (nAction & ACB_VOLATILE) {
		memset(&ba, 0, sizeof(ba));
		ba.Data	  = AllRam;
		ba.nLen	  = RamEnd - AllRam;
		ba.szName = "All RAM";
		BurnAcb(&ba);
	}

	if (nAction & ACB_DRIVER_DATA) {
		M6809Scan(nAction);
		ZetScan(nAction);

		BurnYM2203Scan(nAction, pnMin);
	}

	return 0;
}
开发者ID:PS3emulators,项目名称:fba-next-slim,代码行数:25,代码来源:d_scotrsht.cpp

示例12: DrvScan

// Scan ram
static INT32 DrvScan(INT32 nAction, INT32* pnMin)
{
	struct BurnArea ba;

	if (pnMin) {						// Return minimum compatible version
		*pnMin = 0x029497;
	}
	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);

		SekScan(nAction);				// scan 68000 states
		ZetScan(nAction);				// Scan Z80

		MSM6295Scan(0, nAction);
		BurnYM2151Scan(nAction);

		ToaScanGP9001(nAction, pnMin);

		SCAN_VAR(DrvInput);
	}

	return 0;
}
开发者ID:EastonWoo,项目名称:libafba,代码行数:28,代码来源:d_mahoudai.cpp

示例13: 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;
}
开发者ID:zloop1982,项目名称:ggpo-next,代码行数:36,代码来源:d_donpachi.cpp

示例14: 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;
}
开发者ID:EastonWoo,项目名称:libafba,代码行数:25,代码来源:d_demonwld.cpp

示例15: 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;
}
开发者ID:CaptainCPS,项目名称:FBAlphaRL,代码行数:26,代码来源:d_truxton.cpp


注:本文中的BurnAcb函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。