⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chasehq.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 C
📖 第 1 页 / 共 5 页
字号:
- B - Continental Circus00000-7FFFF = Object 128x128 [16x8] [xxxxx/100:xxxx] gfx bank#1Type#3------- Aqua Jack- Chase HQ 2- Battle Shark- Space Gun- Operation Thunderbolt00000-7FFFF = Object 64x64 [16x8] [xxxxx/40:xxxx] gfx bank#1Todo:- Roadscroll layer (mainly colours)- Line-line scroll on tc0100scn- Zooming accuracy could maybe be improved- Sample looping problem (helicopter sound doesn't stop)*/// OBJECT TILE MAPSstatic UINT8 *OBJECT_MAP;// 16x16 OBJECT TILES BANK Astatic UINT8 *GFX_OBJ_A;static UINT8 *GFX_OBJ_A_SOLID;// 16x16 OBJECT TILES BANK Bstatic UINT8 *GFX_OBJ_B; static UINT8 *GFX_OBJ_B_SOLID;static UINT8 *zoom16_ofs;static UINT8 *RAM_VIDEO;static UINT8 *RAM_SCROLL;static UINT8 *RAM_INPUT;static UINT8 *GFX_BG0_SOLID;static UINT8 *GFX_LINES;/* road - line - left - right */static UINT8 PAL_MAP[0x100] ={   0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7,    0x1C, 0x1D, 0x1E, 0x1F, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, 0x4, 0x5, 0x6, 0x7, };static UINT8 PAL_MAP_2[0x100] ={   0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17,    0x1C, 0x1D, 0x1E, 0x1F, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, 0x14, 0x15, 0x16, 0x17, };static void load_actual(int set){   int ta,tb,tc;   UINT8 *TMP;   romset = set;   if(!(GFX=AllocateMem(0x100000))) return;   if(!(GFX_LINES=AllocateMem(0x200000))) return;   if(!(GFX_OBJ_A=AllocateMem(OBJ_A_COUNT*0x100))) return;   if(!(GFX_OBJ_B=AllocateMem(OBJ_B_COUNT*0x100))) return;   if(!(OBJECT_MAP=AllocateMem(0x80000))) return;   if(!(TMP=AllocateMem(0x80000))) return;   if(!load_rom_index(0, TMP, 0x80000)) return;	// 1024x1 ROAD LINES   tb=0;   for(ta=0;ta<0x80000;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_LINES[tb+0] =((tc&0x8000)>>(14));      GFX_LINES[tb+1] =((tc&0x4000)>>(13));      GFX_LINES[tb+2] =((tc&0x2000)>>(12));      GFX_LINES[tb+3] =((tc&0x1000)>>(11));      GFX_LINES[tb+4] =((tc&0x0800)>>(10));      GFX_LINES[tb+5] =((tc&0x0400)>>( 9));      GFX_LINES[tb+6] =((tc&0x0200)>>( 8));      GFX_LINES[tb+7] =((tc&0x0100)>>( 7));      GFX_LINES[tb+0]|=((tc&0x0080)>>( 7));      GFX_LINES[tb+1]|=((tc&0x0040)>>( 6));      GFX_LINES[tb+2]|=((tc&0x0020)>>( 5));      GFX_LINES[tb+3]|=((tc&0x0010)>>( 4));      GFX_LINES[tb+4]|=((tc&0x0008)>>( 3));      GFX_LINES[tb+5]|=((tc&0x0004)>>( 2));      GFX_LINES[tb+6]|=((tc&0x0002)>>( 1));      GFX_LINES[tb+7]|=((tc&0x0001)>>( 0));      tb+=8;   }   if(!load_rom_index(9, TMP, OBJ_A_COUNT*0x20)) return;	// 16x16 OBJ A   tb=0;   for(ta=0;ta<OBJ_A_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_A[tb+0] =((tc&0x8000)>>(15));      GFX_OBJ_A[tb+1] =((tc&0x4000)>>(14));      GFX_OBJ_A[tb+2] =((tc&0x2000)>>(13));      GFX_OBJ_A[tb+3] =((tc&0x1000)>>(12));      GFX_OBJ_A[tb+4] =((tc&0x0800)>>(11));      GFX_OBJ_A[tb+5] =((tc&0x0400)>>(10));      GFX_OBJ_A[tb+6] =((tc&0x0200)>>( 9));      GFX_OBJ_A[tb+7] =((tc&0x0100)>>( 8));      GFX_OBJ_A[tb+8] =((tc&0x0080)>>( 7));      GFX_OBJ_A[tb+9] =((tc&0x0040)>>( 6));      GFX_OBJ_A[tb+10]=((tc&0x0020)>>( 5));      GFX_OBJ_A[tb+11]=((tc&0x0010)>>( 4));      GFX_OBJ_A[tb+12]=((tc&0x0008)>>( 3));      GFX_OBJ_A[tb+13]=((tc&0x0004)>>( 2));      GFX_OBJ_A[tb+14]=((tc&0x0002)>>( 1));      GFX_OBJ_A[tb+15]=((tc&0x0001)>>( 0));      tb+=16;   }   if(!load_rom_index(8, TMP, OBJ_A_COUNT*0x20)) return;	// 16x16 OBJ A   tb=0;   for(ta=0;ta<OBJ_A_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_A[tb+0] |=((tc&0x8000)>>(14));      GFX_OBJ_A[tb+1] |=((tc&0x4000)>>(13));      GFX_OBJ_A[tb+2] |=((tc&0x2000)>>(12));      GFX_OBJ_A[tb+3] |=((tc&0x1000)>>(11));      GFX_OBJ_A[tb+4] |=((tc&0x0800)>>(10));      GFX_OBJ_A[tb+5] |=((tc&0x0400)>>( 9));      GFX_OBJ_A[tb+6] |=((tc&0x0200)>>( 8));      GFX_OBJ_A[tb+7] |=((tc&0x0100)>>( 7));      GFX_OBJ_A[tb+8] |=((tc&0x0080)>>( 6));      GFX_OBJ_A[tb+9] |=((tc&0x0040)>>( 5));      GFX_OBJ_A[tb+10]|=((tc&0x0020)>>( 4));      GFX_OBJ_A[tb+11]|=((tc&0x0010)>>( 3));      GFX_OBJ_A[tb+12]|=((tc&0x0008)>>( 2));      GFX_OBJ_A[tb+13]|=((tc&0x0004)>>( 1));      GFX_OBJ_A[tb+14]|=((tc&0x0002)>>( 0));      GFX_OBJ_A[tb+15]|=((tc&0x0001)<<( 1));      tb+=16;   }   if(!load_rom_index(7, TMP, OBJ_A_COUNT*0x20)) return;	// 16x16 OBJ A   tb=0;   for(ta=0;ta<OBJ_A_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_A[tb+0] |=((tc&0x8000)>>(13));      GFX_OBJ_A[tb+1] |=((tc&0x4000)>>(12));      GFX_OBJ_A[tb+2] |=((tc&0x2000)>>(11));      GFX_OBJ_A[tb+3] |=((tc&0x1000)>>(10));      GFX_OBJ_A[tb+4] |=((tc&0x0800)>>( 9));      GFX_OBJ_A[tb+5] |=((tc&0x0400)>>( 8));      GFX_OBJ_A[tb+6] |=((tc&0x0200)>>( 7));      GFX_OBJ_A[tb+7] |=((tc&0x0100)>>( 6));      GFX_OBJ_A[tb+8] |=((tc&0x0080)>>( 5));      GFX_OBJ_A[tb+9] |=((tc&0x0040)>>( 4));      GFX_OBJ_A[tb+10]|=((tc&0x0020)>>( 3));      GFX_OBJ_A[tb+11]|=((tc&0x0010)>>( 2));      GFX_OBJ_A[tb+12]|=((tc&0x0008)>>( 1));      GFX_OBJ_A[tb+13]|=((tc&0x0004)>>( 0));      GFX_OBJ_A[tb+14]|=((tc&0x0002)<<( 1));      GFX_OBJ_A[tb+15]|=((tc&0x0001)<<( 2));      tb+=16;   }   if(!load_rom_index(6, TMP, OBJ_A_COUNT*0x20)) return;	// 16x16 OBJ A   tb=0;   for(ta=0;ta<OBJ_A_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_A[tb+0] |=((tc&0x8000)>>(12));      GFX_OBJ_A[tb+1] |=((tc&0x4000)>>(11));      GFX_OBJ_A[tb+2] |=((tc&0x2000)>>(10));      GFX_OBJ_A[tb+3] |=((tc&0x1000)>>( 9));      GFX_OBJ_A[tb+4] |=((tc&0x0800)>>( 8));      GFX_OBJ_A[tb+5] |=((tc&0x0400)>>( 7));      GFX_OBJ_A[tb+6] |=((tc&0x0200)>>( 6));      GFX_OBJ_A[tb+7] |=((tc&0x0100)>>( 5));      GFX_OBJ_A[tb+8] |=((tc&0x0080)>>( 4));      GFX_OBJ_A[tb+9] |=((tc&0x0040)>>( 3));      GFX_OBJ_A[tb+10]|=((tc&0x0020)>>( 2));      GFX_OBJ_A[tb+11]|=((tc&0x0010)>>( 1));      GFX_OBJ_A[tb+12]|=((tc&0x0008)>>( 0));      GFX_OBJ_A[tb+13]|=((tc&0x0004)<<( 1));      GFX_OBJ_A[tb+14]|=((tc&0x0002)<<( 2));      GFX_OBJ_A[tb+15]|=((tc&0x0001)<<( 3));      tb+=16;   }   if(!load_rom_index(5, TMP, OBJ_B_COUNT*0x20)) return;	// 16x16 OBJ B   tb=0;   for(ta=0;ta<OBJ_B_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_B[tb+0] =((tc&0x8000)>>(15));      GFX_OBJ_B[tb+1] =((tc&0x4000)>>(14));      GFX_OBJ_B[tb+2] =((tc&0x2000)>>(13));      GFX_OBJ_B[tb+3] =((tc&0x1000)>>(12));      GFX_OBJ_B[tb+4] =((tc&0x0800)>>(11));      GFX_OBJ_B[tb+5] =((tc&0x0400)>>(10));      GFX_OBJ_B[tb+6] =((tc&0x0200)>>( 9));      GFX_OBJ_B[tb+7] =((tc&0x0100)>>( 8));      GFX_OBJ_B[tb+8] =((tc&0x0080)>>( 7));      GFX_OBJ_B[tb+9] =((tc&0x0040)>>( 6));      GFX_OBJ_B[tb+10]=((tc&0x0020)>>( 5));      GFX_OBJ_B[tb+11]=((tc&0x0010)>>( 4));      GFX_OBJ_B[tb+12]=((tc&0x0008)>>( 3));      GFX_OBJ_B[tb+13]=((tc&0x0004)>>( 2));      GFX_OBJ_B[tb+14]=((tc&0x0002)>>( 1));      GFX_OBJ_B[tb+15]=((tc&0x0001)>>( 0));      tb+=16;   }   if(!load_rom_index(4, TMP, OBJ_B_COUNT*0x20)) return;	// 16x16 OBJ B   tb=0;   for(ta=0;ta<OBJ_B_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_B[tb+0] |=((tc&0x8000)>>(14));      GFX_OBJ_B[tb+1] |=((tc&0x4000)>>(13));      GFX_OBJ_B[tb+2] |=((tc&0x2000)>>(12));      GFX_OBJ_B[tb+3] |=((tc&0x1000)>>(11));      GFX_OBJ_B[tb+4] |=((tc&0x0800)>>(10));      GFX_OBJ_B[tb+5] |=((tc&0x0400)>>( 9));      GFX_OBJ_B[tb+6] |=((tc&0x0200)>>( 8));      GFX_OBJ_B[tb+7] |=((tc&0x0100)>>( 7));      GFX_OBJ_B[tb+8] |=((tc&0x0080)>>( 6));      GFX_OBJ_B[tb+9] |=((tc&0x0040)>>( 5));      GFX_OBJ_B[tb+10]|=((tc&0x0020)>>( 4));      GFX_OBJ_B[tb+11]|=((tc&0x0010)>>( 3));      GFX_OBJ_B[tb+12]|=((tc&0x0008)>>( 2));      GFX_OBJ_B[tb+13]|=((tc&0x0004)>>( 1));      GFX_OBJ_B[tb+14]|=((tc&0x0002)>>( 0));      GFX_OBJ_B[tb+15]|=((tc&0x0001)<<( 1));      tb+=16;   }   if(!load_rom_index(3, TMP, OBJ_B_COUNT*0x20)) return;	// 16x16 OBJ B   tb=0;   for(ta=0;ta<OBJ_B_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_B[tb+0] |=((tc&0x8000)>>(13));      GFX_OBJ_B[tb+1] |=((tc&0x4000)>>(12));      GFX_OBJ_B[tb+2] |=((tc&0x2000)>>(11));      GFX_OBJ_B[tb+3] |=((tc&0x1000)>>(10));      GFX_OBJ_B[tb+4] |=((tc&0x0800)>>( 9));      GFX_OBJ_B[tb+5] |=((tc&0x0400)>>( 8));      GFX_OBJ_B[tb+6] |=((tc&0x0200)>>( 7));      GFX_OBJ_B[tb+7] |=((tc&0x0100)>>( 6));      GFX_OBJ_B[tb+8] |=((tc&0x0080)>>( 5));      GFX_OBJ_B[tb+9] |=((tc&0x0040)>>( 4));      GFX_OBJ_B[tb+10]|=((tc&0x0020)>>( 3));      GFX_OBJ_B[tb+11]|=((tc&0x0010)>>( 2));      GFX_OBJ_B[tb+12]|=((tc&0x0008)>>( 1));      GFX_OBJ_B[tb+13]|=((tc&0x0004)>>( 0));      GFX_OBJ_B[tb+14]|=((tc&0x0002)<<( 1));      GFX_OBJ_B[tb+15]|=((tc&0x0001)<<( 2));      tb+=16;   }   if(!load_rom_index(2, TMP, OBJ_B_COUNT*0x20)) return;	// 16x16 OBJ B   tb=0;   for(ta=0;ta<OBJ_B_COUNT*0x20;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX_OBJ_B[tb+0] |=((tc&0x8000)>>(12));      GFX_OBJ_B[tb+1] |=((tc&0x4000)>>(11));      GFX_OBJ_B[tb+2] |=((tc&0x2000)>>(10));      GFX_OBJ_B[tb+3] |=((tc&0x1000)>>( 9));      GFX_OBJ_B[tb+4] |=((tc&0x0800)>>( 8));      GFX_OBJ_B[tb+5] |=((tc&0x0400)>>( 7));      GFX_OBJ_B[tb+6] |=((tc&0x0200)>>( 6));      GFX_OBJ_B[tb+7] |=((tc&0x0100)>>( 5));      GFX_OBJ_B[tb+8] |=((tc&0x0080)>>( 4));      GFX_OBJ_B[tb+9] |=((tc&0x0040)>>( 3));      GFX_OBJ_B[tb+10]|=((tc&0x0020)>>( 2));      GFX_OBJ_B[tb+11]|=((tc&0x0010)>>( 1));      GFX_OBJ_B[tb+12]|=((tc&0x0008)>>( 0));      GFX_OBJ_B[tb+13]|=((tc&0x0004)<<( 1));      GFX_OBJ_B[tb+14]|=((tc&0x0002)<<( 2));      GFX_OBJ_B[tb+15]|=((tc&0x0001)<<( 3));      tb+=16;   }   if(!load_rom_index(10, OBJECT_MAP, 0x80000)) return; // TILE MAPPING   memset(OBJECT_MAP+0x00000+(0x0331*0x80),0x00,0x80);   memset(OBJECT_MAP+0x40000+(0x0331*0x40),0x00,0x40);   memset(OBJECT_MAP+0x60000+(0x0331*0x20),0x00,0x20);   if(!load_rom_index(1, TMP, 0x80000)) return;	// 8x8 BG0 TILES   tb=0;   for(ta=0;ta<0x80000;ta+=2){      tc=ReadWord(&TMP[ta]);      GFX[tb+0] = ((tc&0xF000)>>12);      GFX[tb+1] = ((tc&0x0F00)>> 8);      GFX[tb+2] = ((tc&0x00F0)>> 4);      GFX[tb+3] = ((tc&0x000F)>> 0);      tb+=4;   }   FreeMem(TMP);   GFX_OBJ_A_SOLID = make_solid_mask_16x16(GFX_OBJ_A, OBJ_A_COUNT);   GFX_OBJ_B_SOLID = make_solid_mask_16x16(GFX_OBJ_B, OBJ_B_COUNT);   GFX_BG0_SOLID   = make_solid_mask_8x8  (GFX,       0x4000);   RAMSize=0x80000;   if(!(RAM=AllocateMem(0x80000))) return;   if(!(ROM=AllocateMem(0xA0000))) return;   if(!load_rom_index(14, RAM+0x00000, 0x20000)) return;	// 68000 MAIN ROM   if(!load_rom_index(15, RAM+0x20000, 0x20000)) return;	// 68000 MAIN ROM   for(ta=0;ta<0x40000;ta++){      ROM[ta+ta]=RAM[ta];   }   if(!load_rom_index(18, RAM+0x00000, 0x20000)) return;   if(!load_rom_index(13, RAM+0x20000, 0x20000)) return;   for(ta=0;ta<0x40000;ta++){      ROM[ta+ta+1]=RAM[ta];   }   if(!load_rom_index(16, RAM, 0x10000)) return;	// 68000 SUB ROM   for(ta=0;ta<0x10000;ta++){      ROM[ta+ta+0x80000]=RAM[ta];   }   if(!load_rom_index(17, RAM, 0x10000)) return;   for(ta=0;ta<0x10000;ta++){      ROM[ta+ta+0x80001]=RAM[ta];   }   /*-----[Sound Setup]-----*/   Z80ROM=RAM+0x50000;   if(!load_rom_index(19, Z80ROM, 0x10000)) return;	// Z80 SOUND ROM   if(!(PCMROM=AllocateMem(0x200000))) return;   if(!load_rom_index(23,PCMROM+0x000000,0x80000)) return;	// Delta-T   if(!load_rom_index(22,PCMROM+0x080000,0x80000)) return;	// Main   if(!load_rom_index(21,PCMROM+0x100000,0x80000)) return;	// Main   if(!load_rom_index(20,PCMROM+0x180000,0x80000)) return;	// Main   YM2610SetBuffers(PCMROM+0x00000, PCMROM+0x80000, 0x80000, 0x180000);   //Z80ROM[0x0327] = 0x00;	// NOP   //Z80ROM[0x0328] = 0x00;	// NOP/*   Z80ROM[0x0BBC] = 0x00;	// NOP   Z80ROM[0x0BBD] = 0x00;	// NOP   Z80ROM[0x0BBE] = 0x00;	// NOP*/   AddTaitoYM2610B(0x0317, 0x02A8, 0x10000);   /*-----------------------*/   memset(RAM+0x00000,0x00,0x40000);   RAM_VIDEO  = RAM+0x10000;   RAM_SCROLL = RAM+0x29000;   GFX_FG0    = RAM+0x3C000;   RAM_INPUT  = RAM+0x22800;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -