本文整理汇总了C++中BurnFree函数的典型用法代码示例。如果您正苦于以下问题:C++ BurnFree函数的具体用法?C++ BurnFree怎么用?C++ BurnFree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了BurnFree函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CpsExit
INT32 CpsExit()
{
CpsRunExit();
CpsLayEn[1] = CpsLayEn[2] = CpsLayEn[3] = CpsLayEn[4] = CpsLayEn[5] = 0;
nCpsLcReg = 0;
nCpsGfxScroll[1] = nCpsGfxScroll[2] = nCpsGfxScroll[3] = 0;
nCpsGfxMask = 0;
Scroll1TileMask = 0;
Scroll2TileMask = 0;
Scroll3TileMask = 0;
nCpsCodeLen = nCpsRomLen = nCpsGfxLen = nCpsZRomLen = nCpsQSamLen = nCpsAdLen = 0;
CpsRom = CpsZRom = CpsAd = CpsStar = NULL;
CpsQSam = NULL;
// All Memory is allocated to this (this is the only one we can free)
BurnFree(CpsGfx);
BurnFree(CpsCode);
bCpsUpdatePalEveryFrame = 0;
nCPS68KClockspeed = 0;
Cps = 0;
nCpsNumScanlines = 259;
return 0;
}
示例2: CavePalExit
INT32 CavePalExit()
{
BurnFree(CavePalette);
BurnFree(CavePalCopy);
return 0;
}
示例3: CpsLoadOneHack160
static INT32 CpsLoadOneHack160(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nType)
{
INT32 i = 0, j = 0;
UINT8 *Rom1 = NULL, *Rom2 = NULL;
INT32 nRomLen1 = 0, nRomLen2 = 0;
UINT8 *pt = NULL, *pr = NULL;
LoadUp(&Rom1, &nRomLen1, nNum);
if (Rom1 == NULL) {
return 1;
}
LoadUp(&Rom2, &nRomLen2, nNum + 1);
if (Rom2 == NULL) {
return 1;
}
INT32 TileOffset[4] = { 0x000000, 0x000004, 0x200000, 0x200004 };
if (nType == 1) {
TileOffset[1] = 0x200000;
TileOffset[2] = 0x000004;
}
for (j = 0; j < 4; j++) {
for (i = 0, pt = Tile + TileOffset[j], pr = Rom1 + (0x80000 * j); i < 0x80000; pt += 8) {
UINT32 Pix; // Eight pixels
UINT8 b;
b = *pr++; i++; Pix = SepTable[b];
if (nWord) {
b = *pr++; i++; Pix |= SepTable[b] << 1;
}
Pix <<= 0;
*((UINT32 *)pt) |= Pix;
}
for (i = 0, pt = Tile + TileOffset[j], pr = Rom2 + (0x80000 * j); i < 0x80000; pt += 8) {
UINT32 Pix; // Eight pixels
UINT8 b;
b = *pr++; i++; Pix = SepTable[b];
if (nWord) {
b = *pr++; i++; Pix |= SepTable[b] << 1;
}
Pix <<= 2;
*((UINT32 *)pt) |= Pix;
}
}
BurnFree(Rom2);
BurnFree(Rom1);
return 0;
}
示例4: tms34061_exit
void tms34061_exit()
{
#if defined FBA_DEBUG
if (!DebugDev_Tms34061Initted) bprintf(PRINT_ERROR, _T("tms34061_exit called without init\n"));
#endif
BurnFree(m_vram);
m_vram = NULL;
BurnFree(m_latchram);
m_latchram = NULL;
DebugDev_Tms34061Initted = 0;
}
示例5: K053936Exit
void K053936Exit()
{
for (INT32 i = 0; i < MAX_K053936; i++) {
nRamLen[i] = 0;
nWidth[i] = 0;
nHeight[i] = 0;
BurnFree (tscreen[i]);
ramptr[i] = NULL;
BurnFree (rambuf[i]);
K053936Wrap[i] = 0;
K053936Offset[i][0] = K053936Offset[i][1] = 0;
}
}
示例6: Cps2LoadOne
static INT32 Cps2LoadOne(UINT8* Tile, INT32 nNum, INT32 nWord, INT32 nShift)
{
UINT8 *Rom = NULL; INT32 nRomLen = 0;
UINT8 *pt, *pr;
LoadUp(&Rom, &nRomLen, nNum);
if (Rom == NULL) {
return 1;
}
if (nWord == 0) {
UINT8*Rom2 = NULL; INT32 nRomLen2 = 0;
UINT8*Rom3 = Rom;
LoadUp(&Rom2, &nRomLen2, nNum + 1);
if (Rom2 == NULL) {
return 1;
}
nRomLen <<= 1;
Rom = (UINT8*)BurnMalloc(nRomLen);
if (Rom == NULL) {
BurnFree(Rom2);
BurnFree(Rom3);
return 1;
}
for (INT32 i = 0; i < nRomLen2; i++) {
Rom[(i << 1) + 0] = Rom3[i];
Rom[(i << 1) + 1] = Rom2[i];
}
BurnFree(Rom2);
BurnFree(Rom3);
}
// Go through each section
pt = Tile; pr = Rom;
for (INT32 b = 0; b < nRomLen >> 19; b++) {
Cps2Load100000(pt, pr, nShift); pt += 0x100000;
Cps2Load100000(pt, pr + 2, nShift); pt += 0x100000;
pr += 0x80000;
}
BurnFree(Rom);
return 0;
}
示例7: LoadUp
// Allocate space and load up a rom
static INT32 LoadUp(UINT8** pRom, INT32* pnRomLen, INT32 nNum)
{
UINT8 *Rom;
struct BurnRomInfo ri;
ri.nLen = 0;
BurnDrvGetRomInfo(&ri, nNum); // Find out how big the rom is
if (ri.nLen <= 0) {
return 1;
}
// Load the rom
Rom = (UINT8*)BurnMalloc(ri.nLen);
if (Rom == NULL) {
return 1;
}
if (BurnLoadRom(Rom,nNum,1)) {
BurnFree(Rom);
return 1;
}
// Success
*pRom = Rom; *pnRomLen = ri.nLen;
return 0;
}
示例8: LoadUpSplit
static INT32 LoadUpSplit(UINT8** pRom, INT32* pnRomLen, INT32 nNum, INT32 nNumRomsGroup)
{
UINT8 *Rom;
struct BurnRomInfo ri;
UINT32 nRomSize[8], nTotalRomSize = 0;
INT32 i;
ri.nLen = 0;
for (i = 0; i < nNumRomsGroup; i++) {
BurnDrvGetRomInfo(&ri, nNum + i);
nRomSize[i] = ri.nLen;
}
for (i = 0; i < nNumRomsGroup; i++) {
nTotalRomSize += nRomSize[i];
}
if (!nTotalRomSize) return 1;
Rom = (UINT8*)BurnMalloc(nTotalRomSize);
if (Rom == NULL) return 1;
INT32 Offset = 0;
for (i = 0; i < nNumRomsGroup; i++) {
if (i > 0) Offset += nRomSize[i - 1];
if (BurnLoadRom(Rom + Offset, nNum + i, 1)) {
BurnFree(Rom);
return 1;
}
}
*pRom = Rom;
*pnRomLen = nTotalRomSize;
return 0;
}
示例9: DrvExit
static INT32 DrvExit()
{
// BurnYM3812Exit();
ToaPalExit();
ToaExitBCU2();
SekExit();
BurnSampleExit();
BurnFree(AllMem);
#ifdef TOAPLAN_SOUND_SAMPLES_HACK
FadeoutReady = 0;
FadeoutStop = 0;
Playing1 = 0xff;
Playing2 = 0xff;
Play1 = 0;
Counter1 = 0;
Vol1 = 0;
Wait = 0;
Start = 0;
Start2 = 0;
#endif
return 0;
}
示例10: CpsLoadOneBootlegType3Swap
static INT32 CpsLoadOneBootlegType3Swap(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nShift)
{
UINT8 *Rom = NULL; int nRomLen=0;
UINT8 *pt = NULL, *pr = NULL;
INT32 i;
LoadUp(&Rom, &nRomLen, nNum);
if (Rom == NULL) {
return 1;
}
nRomLen &= ~1; // make sure even
for (i = 0, pt = Tile, pr = Rom; i < nRomLen; pt += 4) {
UINT32 Pix; // Eight pixels
UINT8 b;
b = *pr++; i++; Pix = SepTable[b];
if (nWord) {
b = *pr++; i++; Pix |= SepTable[b] << 1;
}
Pix <<= nShift;
*((UINT32 *)pt) |= Pix;
b = *pr++; i++; Pix = SepTable[b];
if (nWord) {
b = *pr++; i++; Pix |= SepTable[b] << 1;
}
Pix <<= (nShift + 1);
*((UINT32 *)pt) |= Pix;
}
BurnFree(Rom);
return 0;
}
示例11: DrvGfxDecode
static INT32 DrvGfxDecode()
{
INT32 Plane0[4] = { 0x200000, 0x300000, 0x000000, 0x100000 };
INT32 XOffs0[8] = { 0x000, 0x001, 0x002, 0x003, 0x004, 0x005, 0x006, 0x007 };
INT32 YOffs0[8] = { 0x038, 0x030, 0x028, 0x020, 0x018, 0x010, 0x008, 0x000 };
INT32 Plane1[4] = { 0x000004, 0x000000, 0x100004, 0x100000 };
INT32 XOffs1[16] = { 0x10b, 0x10a, 0x109, 0x108, 0x103, 0x102, 0x101, 0x100,
0x00b, 0x00a, 0x009, 0x008, 0x003, 0x002, 0x001, 0x000 };
INT32 YOffs1[16] = { 0x0f0, 0x0e0, 0x0d0, 0x0c0, 0x0b0, 0x0a0, 0x090, 0x080,
0x070, 0x060, 0x050, 0x040, 0x030, 0x020, 0x010, 0x000 };
UINT8 *tmp = (UINT8*)BurnMalloc(0x80000);
if (tmp == NULL) {
return 1;
}
for (INT32 i = 0; i < 0x80000; i++) tmp[i] = DrvGfxROM0[i] ^ 0xff;
GfxDecode(0x4000, 4, 8, 8, Plane0, XOffs0, YOffs0, 0x040, tmp, DrvGfxROM0);
for (INT32 i = 0; i < 0x40000; i++) tmp[i] = DrvGfxROM1[i] ^ 0xff;
GfxDecode(0x0800, 4, 16, 16, Plane1, XOffs1, YOffs1, 0x200, tmp, DrvGfxROM1);
BurnFree (tmp);
return 0;
}
示例12: CpsLoadOnePang
static INT32 CpsLoadOnePang(UINT8 *Tile,INT32 nNum,INT32 nWord,INT32 nShift)
{
INT32 i=0;
UINT8 *Rom = NULL; INT32 nRomLen = 0;
UINT8 *pt = NULL, *pr = NULL;
LoadUp(&Rom, &nRomLen, nNum);
if (Rom == NULL) {
return 1;
}
nRomLen &= ~1; // make sure even
for (i = 0x100000, pt = Tile, pr = Rom + 0x100000; i < nRomLen; pt += 8) {
UINT32 Pix; // Eight pixels
UINT8 b;
b = *pr++; i++; Pix = SepTable[b];
if (nWord) {
b = *pr++; i++; Pix |= SepTable[b] << 1;
}
Pix <<= nShift;
*((UINT32 *)pt) |= Pix;
}
BurnFree(Rom);
return 0;
}
示例13: DrvGfxDecode
static INT32 DrvGfxDecode()
{
INT32 Plane0[4] = { 0, 4, RGN_FRAC(0x04000, 1,2), RGN_FRAC(0x04000, 1,2)+4 };
INT32 Plane1[4] = { 0, 4, RGN_FRAC(0x40000, 1,2), RGN_FRAC(0x40000, 1,2)+4 };
INT32 Plane2[4] = { 0, 4, RGN_FRAC(0x40000, 1,2), RGN_FRAC(0x40000, 1,2)+4 };
INT32 XOffs[16] = { STEP4(0,1), STEP4(8,1), STEP4(16,1), STEP4(24,1) };
INT32 YOffs0[8] = { STEP8(0,16) };
INT32 YOffs1[16] = { STEP16(0,32) };
UINT8 *tmp = (UINT8*)BurnMalloc(0x40000);
if (tmp == NULL) {
return 1;
}
memcpy (tmp, DrvGfxROM0, 0x04000);
GfxDecode(0x0200, 4, 8, 8, Plane0, XOffs, YOffs0, 0x080, tmp, DrvGfxROM0);
memcpy (tmp, DrvGfxROM1, 0x40000);
GfxDecode(0x0800, 4, 16, 16, Plane1, XOffs, YOffs1, 0x200, tmp, DrvGfxROM1);
memcpy (tmp, DrvGfxROM2, 0x40000);
GfxDecode(0x0800, 4, 16, 16, Plane2, XOffs, YOffs1, 0x200, tmp, DrvGfxROM2);
BurnFree (tmp);
return 0;
}
示例14: K053247Exit
void K053247Exit()
{
K053247Temp = NULL;
BurnFree (K053247Ram);
K053247Flags = 0;
memset (K053247Regs, 0, 16 * sizeof(UINT16));
}
示例15: Adsp2100Exit
int Adsp2100Exit()
{
adsp21xx_exit(pADSP);
BurnFree(pADSP);
delete pMemMap;
pMemMap = nullptr;
#if ENABLE_TRACE
fclose(pTrace);
#endif
return 0;
}