本文整理汇总了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);
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}