📄 chasehq.c
字号:
- 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 + -