static INT32 drvInit() { INT32 nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x01000000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (UINT8*)0; if ((Mem = (UINT8*)BurnMalloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // Zero memory MemIndex(); // Index the allocated memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x1FFFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram02, 0x208000, 0x20FFFF, SM_RAM); Map68KTextROM(true); SekSetReadWordHandler(0, batriderReadWord); SekSetReadByteHandler(0, batriderReadByte); SekSetWriteWordHandler(0, batriderWriteWord); SekSetWriteByteHandler(0, batriderWriteByte); SekMapHandler(1, 0x400000, 0x400400, SM_RAM); // GP9001 addresses SekSetReadWordHandler(1, batriderReadWordGP9001); SekSetWriteWordHandler(1, batriderWriteWordGP9001); SekMapHandler(2, 0x300000, 0x37FFFF, SM_ROM); // Z80 ROM SekSetReadByteHandler(2, batriderReadByteZ80ROM); SekSetReadWordHandler(2, batriderReadWordZ80ROM); SekClose(); } nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(); nExtraTXOffset = 0x2C; ToaExtraTextInit(); drvZInit(); // Initialize Z80 BurnYM2151Init(32000000 / 8, 50.0); MSM6295Init(0, 32000000 / 10 / 132, 50.0, 1); MSM6295Init(1, 32000000 / 10 / 165, 50.0, 1); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); nTextROMStatus = -1; bDrawScreen = true; drvDoReset(); // Reset machine return 0; }
static INT32 DrvInit() { INT32 nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif BurnSetRefreshRate(REFRESHRATE); nBCU2ROMSize = 0x080000; nFCU2ROMSize = 0x080000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x03FFFF, SM_ROM); // 68K ROM SekMapMemory(Ram01, 0x080000, 0x083FFF, SM_RAM); // 68K RAM SekMapMemory(RamPal, 0x144000, 0x1447FF, SM_RAM); // BCU-2 palette RAM SekMapMemory(RamPal2, 0x146000, 0x1467FF, SM_RAM); // FCU-2 palette RAM SekSetReadWordHandler(0, truxtonReadWord); SekSetReadByteHandler(0, truxtonReadByte); SekSetWriteWordHandler(0, truxtonWriteWord); SekSetWriteByteHandler(0, truxtonWriteByte); SekMapHandler(1, 0x180000, 0x180FFF, SM_RAM); // Z80 RAM SekSetReadByteHandler(1, toaplan1ReadByteZ80RAM); SekSetReadWordHandler(1, toaplan1ReadWordZ80RAM); SekSetWriteByteHandler(1, toaplan1WriteByteZ80RAM); SekSetWriteWordHandler(1, toaplan1WriteWordZ80RAM); SekClose(); } ToaInitBCU2(); DrvZ80Init(); // Initialize Z80 nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalSrc2 = RamPal2; ToaPalInit(); BurnYM3812Init(28000000 / 8, &toaplan1FMIRQHandler, &toaplan1SynchroniseStream, 0); BurnTimerAttachZetYM3812(28000000 / 8); bDrawScreen = true; DrvDoReset(); // Reset machine return 0; }
static int battlegInit() { int nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x800000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (unsigned char *)0; if ((Mem = (unsigned char *)malloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x0FFFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x10FFFF, SM_RAM); SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekMapMemory(Ram02, 0x401000, 0x4017FF, SM_RAM); // Unused SekMapMemory(ExtraTRAM, 0x500000, 0x501FFF, SM_RAM); SekMapMemory(ExtraTSelect, 0x502000, 0x502FFF, SM_RAM); // 0x502000 - Scroll; 0x502200 - RAM SekMapMemory(ExtraTScroll, 0x503000, 0x503FFF, SM_RAM); // 0x203000 - Offset; 0x503200 - RAM SekSetReadWordHandler(0, battlegReadWord); SekSetReadByteHandler(0, battlegReadByte); SekSetWriteWordHandler(0, battlegWriteWord); SekSetWriteByteHandler(0, battlegWriteByte); SekClose(); } nSpriteXOffset = 0x0024; nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(); nExtraTXOffset = 0x2C; ToaExtraTextInit(); DrvZ80Init(); // Initialize Z80 BurnYM2151Init(32000000 / 8, 50.0); MSM6295Init(0, 32000000 / 16 / 132, 50.0, 1); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); bDrawScreen = true; // mar 2 1996 & apr 2 1996 ver: 0x0009AC - 0x0009B8 & 0x001F5E - 0x001F64 & 0x003A1C - 0x003A22 // feb 2 1996 ver: 0x0009AC - 0x0009B8 & 0x001F2E - 0x001F34 & 0x0039EC - 0x0039F2 nSpeedHackOffset = 0; if (strcmp(BurnDrvGetTextA(DRV_NAME), "bgaregga") == 0) { nSpeedHackOffset = 0x30; } #if defined FBA_DEBUG && defined USE_SPEEDHACKS bprintf(PRINT_IMPORTANT, _T(" * Using speed-hacks (detecting idle loops).\n")); #endif DrvDoReset(); // Reset machine return 0; }
static INT32 DrvInit() { INT32 nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x400000; nGP9001ROMSize[1] = 0x200000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); SekMapMemory(Rom01, 0x000000, 0x07FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x10FFFF, SM_RAM); SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, batsugunReadWord); SekSetReadByteHandler(0, batsugunReadByte); SekSetWriteWordHandler(0, batsugunWriteWord); SekSetWriteByteHandler(0, batsugunWriteByte); SekClose(); VezInit(0, V25_TYPE, 16000000 /*before divider*/); VezOpen(0); for (INT32 i = 0x80000; i < 0x100000; i += 0x8000) { VezMapArea(i, i + 0x7fff, 0, ShareRAM); VezMapArea(i, i + 0x7fff, 1, ShareRAM); VezMapArea(i, i + 0x7fff, 2, ShareRAM); } VezSetReadHandler(batsugun_v25_read); VezSetWriteHandler(batsugun_v25_write); VezSetReadPort(batsugun_v25_read_port); VezClose(); } BurnYM2151Init(3375000); BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH); MSM6295Init(0, 4000000 / 132, 1); MSM6295SetRoute(0, 0.50, BURN_SND_ROUTE_BOTH); nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(3); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); bDrawScreen = true; DrvDoReset(); // Reset machine return 0; }
INT32 CpsMemInit() { if (AllocateMemory()) { return 1; } SekOpen(0); SekSetResetCallback(CPSResetCallback); // Map in memory: // 68000 Rom (as seen as is, through read) SekMapMemory(CpsRom, 0, nCpsRomLen - 1, SM_READ); // 68000 Rom (as seen decrypted, through fetch) if (nCpsCodeLen > 0) { // Decoded part (up to nCpsCodeLen) SekMapMemory(CpsCode, 0, nCpsCodeLen - 1, SM_FETCH); } if (nCpsRomLen > nCpsCodeLen) { // The rest (up to nCpsRomLen) SekMapMemory(CpsRom + nCpsCodeLen, nCpsCodeLen, nCpsRomLen - 1, SM_FETCH); } if (Cps == 2) { nCpsObjectBank = -1; CpsMapObjectBanks(0); #if 0 SekMapHandler(3, 0x660000, 0x663FFF, SM_RAM); SekSetReadByteHandler(3, CPSExtraNVRAMReadByte); SekSetWriteByteHandler(3, CPSExtraNVRAMWriteByte); #else SekMapMemory(CpsRam660, 0x660000, 0x663FFF, SM_RAM); #endif // SekMapHandler(4, 0x708000, 0x709FFF, SM_WRITE); // SekMapHandler(4, 0x70A000, 0x70BFFF, SM_WRITE); // SekMapHandler(4, 0x70C000, 0x70DFFF, SM_WRITE); // SekMapHandler(4, 0x70E000, 0x70FFFF, SM_WRITE); // SekSetWriteByteHandler(4, CpsWriteSpriteByte); // SekSetWriteWordHandler(4, CpsWriteSpriteWord); } SekMapMemory(CpsRam90, 0x900000, 0x92FFFF, SM_RAM); // Gfx Ram SekMapMemory(CpsRamFF, 0xFF0000, 0xFFFFFF, SM_RAM); // Work Ram SekSetReadByteHandler(0, CpsReadByte); SekSetWriteByteHandler(0, CpsWriteByte); SekSetReadWordHandler(0, CpsReadWord); SekSetWriteWordHandler(0, CpsWriteWord); // QSound if ((Cps == 2) && !Cps2DisableQSnd) { SekMapHandler(1, 0x618000, 0x619FFF, SM_RAM); SekSetReadByteHandler(1, CPSQSoundC0ReadByte); SekSetWriteByteHandler(1, CPSQSoundC0WriteByte); } if (Cps1Qs == 1) { // Map the 1st 32KB of the QSound ROM into the 68K address space for (INT32 i = 0x7FFF; i >= 0; i--) { CpsEncZRom[(i << 1) + 0] = CpsEncZRom[i]; CpsEncZRom[(i << 1) + 1] = 0xFF; } SekMapMemory(CpsEncZRom, 0xF00000, 0xF0FFFF, SM_ROM); // QSound shared RAM SekMapHandler(1, 0xF18000, 0xF19FFF, SM_RAM); SekMapHandler(2, 0xF1E000, 0xF1FFFF, SM_RAM); SekSetReadByteHandler(1, CPSQSoundC0ReadByte); SekSetWriteByteHandler(1, CPSQSoundC0WriteByte); SekSetReadByteHandler(2, CPSQSoundF0ReadByte); SekSetWriteByteHandler(2, CPSQSoundF0WriteByte); } SekClose(); return 0; }
static int DrvInit() { int nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x400000; nGP9001ROMSize[1] = 0x200000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (unsigned char *)0; if ((Mem = (unsigned char *)malloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); SekMapMemory(Rom01, 0x000000, 0x07FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x10FFFF, SM_RAM); SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, batsugunReadWord); SekSetReadByteHandler(0, batsugunReadByte); SekSetWriteWordHandler(0, batsugunWriteWord); SekSetWriteByteHandler(0, batsugunWriteByte); SekClose(); VezInit(0, V25_TYPE, 16000000 /*before divider*/); VezOpen(0); for (int i = 0x80000; i < 0x100000; i += 0x8000) { VezMapArea(i, i + 0x7fff, 0, ShareRAM); VezMapArea(i, i + 0x7fff, 1, ShareRAM); VezMapArea(i, i + 0x7fff, 2, ShareRAM); } VezSetReadHandler(batsugun_v25_read); VezSetWriteHandler(batsugun_v25_write); VezSetReadPort(batsugun_v25_read_port); VezClose(); } BurnYM2151Init(3375000, 50.0); MSM6295Init(0, 4000000 / 132, 50.0, 1); nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(3); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); bDrawScreen = true; #if defined FBA_DEBUG && defined USE_SPEEDHACKS bprintf(PRINT_IMPORTANT, _T(" * Using speed-hacks (detecting idle loops).\n")); #endif DrvDoReset(); // Reset machine return 0; }
static int DrvInit() { int nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x400000; nGP9001ROMSize[1] = 0x200000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (unsigned char *)0; if ((Mem = (unsigned char *)malloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x07FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x10FFFF, SM_RAM); SekMapMemory(Ram02, 0x210000, 0x21EFFF, SM_RAM); // SekMapMemory(Ram03, 0x21FC00, 0x21FFFF, SM_RAM); // SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, batsugunReadWord); SekSetReadByteHandler(0, batsugunReadByte); SekSetWriteWordHandler(0, batsugunWriteWord); SekSetWriteByteHandler(0, batsugunWriteByte); SekClose(); } nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(3); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); bDrawScreen = true; #if defined FBA_DEBUG && defined USE_SPEEDHACKS bprintf(PRINT_IMPORTANT, _T(" * Using speed-hacks (detecting idle loops).\n")); #endif DrvDoReset(); // Reset machine return 0; }
static INT32 DrvInit() { INT32 nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = true; #endif nGP9001ROMSize[0] = 0x200000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((Mem = (UINT8 *)malloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); SekMapMemory(Rom01, 0x000000, 0x07FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x103FFF, SM_RAM); // SekMapMemory(ShareRAM, 0x210000, 0x21ffff, SM_RAM); SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, vfiveReadWord); SekSetReadByteHandler(0, vfiveReadByte); SekSetWriteWordHandler(0, vfiveWriteWord); SekSetWriteByteHandler(0, vfiveWriteByte); SekClose(); VezInit(0, V25_TYPE, 10000000 /*before divider*/); VezOpen(0); for (INT32 i = 0x80000; i < 0x100000; i += 0x8000) { VezMapArea(i, i + 0x7fff, 0, ShareRAM); VezMapArea(i, i + 0x7fff, 1, ShareRAM); VezMapArea(i, i + 0x7fff, 2, ShareRAM); } VezSetReadHandler(vfive_v25_read); VezSetWriteHandler(vfive_v25_write); VezSetReadPort(vfive_v25_read_port); VezSetDecode(nitro_decryption_table); VezClose(); } BurnYM2151Init(3375000, 100.0); nSpriteYOffset = 0x0001; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); bDrawScreen = true; DrvDoReset(); // Reset machine return 0; }
static INT32 DrvInit() { INT32 nLen; // bToaRotateScreen = true; BurnSetRefreshRate(REFRESHRATE); nBCU2ROMSize = 0x080000; nFCU2ROMSize = 0x080000; // Find out how much memory is needed AllMem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((AllMem = (UINT8 *)BurnMalloc(nLen)) == NULL) { return 1; } memset(AllMem, 0, nLen); MemIndex(); if (BurnLoadRom(Drv68KROM + 0x000001, 0, 2)) return 1; if (BurnLoadRom(Drv68KROM + 0x000000, 1, 2)) return 1; if (BurnLoadRom(Drv68KROM + 0x040001, 2, 2)) return 1; if (BurnLoadRom(Drv68KROM + 0x040000, 3, 2)) return 1; ToaLoadTiles(BCU2ROM, 4, nBCU2ROMSize); ToaLoadTiles(FCU2ROM, 8, nFCU2ROMSize); { SekInit(0, 0x68000); SekOpen(0); SekMapMemory(Drv68KROM, 0x000000, 0x07FFFF, SM_ROM); SekMapMemory(Drv68KRAM, 0x0c0000, 0x0c3FFF, SM_RAM); SekMapMemory(DrvPalRAM, 0x104000, 0x1047FF, SM_RAM); SekMapMemory(DrvPalRAM2, 0x106000, 0x1067FF, SM_RAM); SekSetReadWordHandler(0, samesameReadWord); SekSetReadByteHandler(0, samesameReadByte); SekSetWriteWordHandler(0, samesameWriteWord); SekSetWriteByteHandler(0, samesameWriteByte); SekClose(); } ToaInitBCU2(); nToaPalLen = nColCount; ToaPalSrc = DrvPalRAM; ToaPalSrc2 = DrvPalRAM2; ToaPalInit(); // BurnYM3812Init(28000000 / 8, &toaplan1FMIRQHandler, &toaplan1SynchroniseStream, 0); // BurnYM3812SetRoute(BURN_SND_YM3812_ROUTE, 1.00, BURN_SND_ROUTE_BOTH); BurnSampleInit(0); BurnSampleSetAllRoutesAllSamples(0.60, BURN_SND_ROUTE_BOTH); bDrawScreen = true; DrvDoReset(); return 0; }
static INT32 DrvInit() { if (bBurnUseASMCPUEmulation) { bUseAsm68KCoreOldValue = bBurnUseASMCPUEmulation; bBurnUseASMCPUEmulation = false; } INT32 nLen; // bToaRotateScreen = true; BurnSetRefreshRate(REFRESHRATE); nBCU2ROMSize = 0x080000; nFCU2ROMSize = 0x080000; // Find out how much memory is needed AllMem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((AllMem = (UINT8 *)BurnMalloc(nLen)) == NULL) { return 1; } memset(AllMem, 0, nLen); MemIndex(); if (BurnLoadRom(Drv68KROM + 0x000001, 0, 2)) return 1; if (BurnLoadRom(Drv68KROM + 0x000000, 1, 2)) return 1; if (BurnLoadRom(DrvZ80ROM, 2, 1)) return 1; ToaLoadTiles(BCU2ROM, 5, nBCU2ROMSize); ToaLoadTiles(FCU2ROM, 9, nFCU2ROMSize); { SekInit(0, 0x68000); SekOpen(0); SekMapMemory(Drv68KROM, 0x000000, 0x03FFFF, SM_ROM); SekMapMemory(DrvPalRAM, 0x404000, 0x4047FF, SM_RAM); SekMapMemory(DrvPalRAM2, 0x406000, 0x4067FF, SM_RAM); SekMapMemory(Drv68KRAM, 0xc00000, 0xc03FFF, SM_RAM); SekSetReadWordHandler(0, demonwldReadWord); SekSetReadByteHandler(0, demonwldReadByte); SekSetWriteWordHandler(0, demonwldWriteWord); SekSetWriteByteHandler(0, demonwldWriteByte); SekMapHandler(1, 0x600000, 0x600FFF, SM_RAM); SekSetReadByteHandler(1, toaplan1ReadByteZ80RAM); SekSetReadWordHandler(1, toaplan1ReadWordZ80RAM); SekSetWriteByteHandler(1, toaplan1WriteByteZ80RAM); SekSetWriteWordHandler(1, toaplan1WriteWordZ80RAM); SekClose(); ZetInit(0); ZetOpen(0); ZetMapArea(0x0000, 0x7fff, 0, DrvZ80ROM); ZetMapArea(0x0000, 0x7fff, 2, DrvZ80ROM); ZetMapArea(0x8000, 0xffff, 0, DrvShareRAM); ZetMapArea(0x8000, 0xffff, 1, DrvShareRAM); ZetMapArea(0x8000, 0xffff, 2, DrvShareRAM); ZetSetOutHandler(demonwld_sound_write_port); ZetSetInHandler(demonwld_sound_read_port); ZetClose(); } ToaInitBCU2(); nToaPalLen = nColCount; ToaPalSrc = DrvPalRAM; ToaPalSrc2 = DrvPalRAM2; ToaPalInit(); ToaOpaquePriority = 2; BurnYM3812Init(28000000 / 8, &toaplan1FMIRQHandler, &toaplan1SynchroniseStream, 0); BurnTimerAttachZetYM3812(28000000 / 8); BurnYM3812SetRoute(BURN_SND_YM3812_ROUTE, 1.00, BURN_SND_ROUTE_BOTH); bDrawScreen = true; DrvDoReset(); return 0; }
static int DrvInit() { int nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = false; #endif nGP9001ROMSize[0] = 0x400000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (unsigned char *)0; if ((Mem = (unsigned char *)malloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x07FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x100000, 0x10FFFF, SM_RAM); SekMapMemory(RamPal, 0x400000, 0x400FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, snowbro2ReadWord); SekSetReadByteHandler(0, snowbro2ReadByte); SekSetWriteWordHandler(0, snowbro2WriteWord); SekSetWriteByteHandler(0, snowbro2WriteByte); SekClose(); } nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; nSpriteYOffset = 0x0011; ToaInitGP9001(); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); BurnYM2151Init(27000000 / 8, 50.0); MSM6295Init(0, 27000000 / 10 / 132, 50.0, 1); bDrawScreen = true; DrvDoReset(); // Reset machine return 0; }
static INT32 DrvInit() { INT32 nLen; #ifdef DRIVER_ROTATION bToaRotateScreen = false; #endif nGP9001ROMSize[0] = 0x800000; // Find out how much memory is needed Mem = NULL; MemIndex(); nLen = MemEnd - (UINT8 *)0; if ((Mem = (UINT8 *)BurnMalloc(nLen)) == NULL) { return 1; } memset(Mem, 0, nLen); // blank all memory MemIndex(); // Index the allocated memory // Load the roms into memory if (LoadRoms()) { return 1; } { SekInit(0, 0x68000); // Allocate 68000 SekOpen(0); // Map 68000 memory: SekMapMemory(Rom01, 0x000000, 0x03FFFF, SM_ROM); // CPU 0 ROM SekMapMemory(Ram01, 0x080000, 0x082FFF, SM_RAM); SekMapMemory(RamPal, 0x0c0000, 0x0c0FFF, SM_RAM); // Palette RAM SekSetReadWordHandler(0, tekipakiReadWord); SekSetReadByteHandler(0, tekipakiReadByte); SekSetWriteWordHandler(0, tekipakiWriteWord); SekSetWriteByteHandler(0, tekipakiWriteByte); SekClose(); } nSpriteYOffset = 0x0011; nLayer0XOffset = -0x01D6; nLayer1XOffset = -0x01D8; nLayer2XOffset = -0x01DA; ToaInitGP9001(); nToaPalLen = nColCount; ToaPalSrc = RamPal; ToaPalInit(); BurnSampleInit(0); BurnSampleSetAllRoutesAllSamples(1.00, BURN_SND_ROUTE_BOTH); bDrawScreen = true; DrvDoReset(); // Reset machine return 0; }