當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。