?? trstars.c
字號:
/******************************************************************************//* *//* TOP RANKING STARS (C) 1994 TAITO CORPORATION *//* *//******************************************************************************/#include "gameinc.h"#include "trstars.h"#include "f3system.h"#include "tc003vcu.h"#include "tc200obj.h"#include "savegame.h"#include "debug.h"#include "sasound.h"static struct DIR_INFO top_ranking_stars_dirs[] ={ { "top_ranking_stars", }, { "trstars", }, { "trstar", }, { NULL, },};static struct ROM_INFO top_ranking_stars_roms[] ={ { "tstar_01.rom", 0x00200000, 0x28fd2d9b, 0, 0, 0, }, { "tstar_02.rom", 0x00200000, 0x8bd4367a, 0, 0, 0, }, { "tstar_03.rom", 0x00200000, 0x91b66145, 0, 0, 0, }, { "tstar_04.rom", 0x00200000, 0xac3a5e80, 0, 0, 0, }, { "tstar_05.rom", 0x00200000, 0xb9b68b15, 0, 0, 0, }, { "tstar_06.rom", 0x00100000, 0xf4bac410, 0, 0, 0, }, { "tstar_07.rom", 0x00100000, 0x2f4773c3, 0, 0, 0, }, { "tstar_08.rom", 0x00100000, 0xad13a1ee, 0, 0, 0, }, { "tstar_09.rom", 0x00100000, 0x690554d3, 0, 0, 0, }, { "tstar_10.rom", 0x00100000, 0x0ec05dc5, 0, 0, 0, }, { "tstar_11.rom", 0x00100000, 0x39c0a546, 0, 0, 0, }, { "tstar_13.rom", 0x00020000, 0x877f0361, REGION_ROM2, 0x000000, LOAD_8_16, }, { "tstar_14.rom", 0x00020000, 0xa8664867, REGION_ROM2, 0x000001, LOAD_8_16, }, { "tstar_15.rom", 0x00040000, 0x098bba94, 0, 0, 0, }, { "tstar_16.rom", 0x00040000, 0x4fa8b15c, 0, 0, 0, }, { "tstar_18.rom", 0x00040000, 0xaa71cfcc, 0, 0, 0, }, { "tstar_20.rom", 0x00040000, 0x4de1e287, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};static struct ROMSW_DATA romsw_data_top_ranking_stars_0[] ={ { "Taito Japan (Notice)", 0x01 }, { "Taito America", 0x02 }, { "Taito Japan", 0x03 }, { NULL, 0 },};static struct ROMSW_INFO top_ranking_stars_romsw[] ={ { 0x0FFFFF, 0x03, romsw_data_top_ranking_stars_0 }, { 0, 0, NULL },};static struct VIDEO_INFO top_ranking_stars_video ={ DrawTRStars, 320, 224, 64, VIDEO_ROTATE_NORMAL| VIDEO_ROTATABLE,};struct GAME_MAIN game_top_ranking_stars ={ top_ranking_stars_dirs, top_ranking_stars_roms, f3_system_inputs, NULL, top_ranking_stars_romsw, LoadTRStars, ClearTRStars, &top_ranking_stars_video, ExecuteTRStarsFrame, "trstar", "Top Ranking Stars", NULL, COMPANY_ID_TAITO, "D53", 1994, f3_sound, GAME_BEAT | GAME_PARTIALLY_WORKING,};static struct DIR_INFO prime_time_fighters_dirs[] ={ { "prime_time_fighter", }, { "prmtmfgt", }, { "prmtmfgo", }, { "trstars", }, { ROMOF("trstar"), }, { CLONEOF("trstar"), }, { NULL, },};static struct ROM_INFO prime_time_fighters_roms[] ={ { "tstar_01.rom", 0x00200000, 0x28fd2d9b, 0, 0, 0, }, { "tstar_02.rom", 0x00200000, 0x8bd4367a, 0, 0, 0, }, { "tstar_03.rom", 0x00200000, 0x91b66145, 0, 0, 0, }, { "tstar_04.rom", 0x00200000, 0xac3a5e80, 0, 0, 0, }, { "tstar_05.rom", 0x00200000, 0xb9b68b15, 0, 0, 0, }, { "tstar_06.rom", 0x00100000, 0xf4bac410, 0, 0, 0, }, { "tstar_07.rom", 0x00100000, 0x2f4773c3, 0, 0, 0, }, { "tstar_08.rom", 0x00100000, 0xad13a1ee, 0, 0, 0, }, { "tstar_09.rom", 0x00100000, 0x690554d3, 0, 0, 0, }, { "tstar_10.rom", 0x00100000, 0x0ec05dc5, 0, 0, 0, }, { "tstar_11.rom", 0x00100000, 0x39c0a546, 0, 0, 0, }, { "tstar_13.rom", 0x00020000, 0x877f0361, 0, 0, 0, }, { "tstar_14.rom", 0x00020000, 0xa8664867, 0, 0, 0, }, { "d53-15.24", 0x00040000, 0xf24de51b, 0, 0, 0, }, { "d53-16.26", 0x00040000, 0xffc84429, 0, 0, 0, }, { "d53-18.37", 0x00040000, 0xea2d6e13, 0, 0, 0, }, { "d53-19.35", 0x00040000, 0x00e6c2f1, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};static struct ROMSW_INFO prime_time_fighters_romsw[] ={ { 0x0FFFFF, 0x02, romsw_data_top_ranking_stars_0 }, { 0, 0, NULL },};struct GAME_MAIN game_prime_time_fighters ={ prime_time_fighters_dirs, prime_time_fighters_roms, f3_system_inputs, NULL, prime_time_fighters_romsw, load_prime_time_fighters, ClearTRStars, &top_ranking_stars_video, ExecuteTRStarsFrame, "prmtmfgo", "Prime Time Fighter (Old Version)", NULL, COMPANY_ID_TAITO, "D53", 1994, f3_sound, GAME_BEAT | GAME_PARTIALLY_WORKING,};static UINT8 *RAM_BG0;static UINT8 *RAM_BG1;static UINT8 *RAM_BG2;static UINT8 *RAM_BG3;static UINT8 *RAM_SCR0;static UINT8 *RAM_SCR1;static UINT8 *RAM_SCR2;static UINT8 *RAM_SCR3;static UINT8 *GFX_BG0;static UINT8 *GFX_BG0_SOLID;static UINT8 *GFX_SPR;static UINT8 *GFX_SPR_SOLID;static void load_actual(int romset){ int ta,tb,tc; if(!(ROM=AllocateMem(0x200000))) return; if(!(GFX=AllocateMem(0xBC0A00+0x366B00))) return; GFX_BG0 = GFX+0xBC0A00; GFX_SPR = GFX+0x000000; tb=0; if(!load_rom("tstar_03.rom", ROM, 0x200000)) return; // 16x16 SPRITES ($BC0A) for(ta=0;ta<0x200000;ta++){ GFX[tb++]=ROM[ta]&15; GFX[tb++]=ROM[ta]>>4; tb+=2; } if(!load_rom("tstar_06.rom", ROM, 0xF0280)) return; // 16x16 SPRITES for(ta=0;ta<0xF0280;ta++){ GFX[tb++]=ROM[ta]&15; GFX[tb++]=ROM[ta]>>4; tb+=2; } tb=2; if(!load_rom("tstar_04.rom", ROM, 0x200000)) return; // 16x16 SPRITES for(ta=0;ta<0x200000;ta++){ GFX[tb++]=ROM[ta]&15; GFX[tb++]=ROM[ta]>>4; tb+=2; } if(!load_rom("tstar_07.rom", ROM, 0xF0280)) return; // 16x16 SPRITES for(ta=0;ta<0xF0280;ta++){ GFX[tb++]=ROM[ta]&15; GFX[tb++]=ROM[ta]>>4; tb+=2; } tb=0; if(!load_rom("tstar_05.rom", ROM, 0x200000)) return; // 16x16 SPRITES (MASK) for(ta=0;ta<0x200000;ta++){ tc=ROM[ta]; GFX[tb+3]|=((tc&0x40)>>6)<<4; GFX[tb+2]|=((tc&0x10)>>4)<<4; GFX[tb+1]|=((tc&0x04)>>2)<<4; GFX[tb+0]|=((tc&0x01)>>0)<<4; tb+=4; } if(!load_rom("tstar_08.rom", ROM, 0xF0280)) return; // 16x16 SPRITES (MASK) for(ta=0;ta<0xF0280;ta++){ tc=ROM[ta]; GFX[tb+3]|=((tc&0x40)>>6)<<4; GFX[tb+2]|=((tc&0x10)>>4)<<4; GFX[tb+1]|=((tc&0x04)>>2)<<4; GFX[tb+0]|=((tc&0x01)>>0)<<4; tb+=4; } RAMSize=0x80000; if(!(RAM=AllocateMem(0x80000))) return; if(!(ROM=AllocateMem(0x100000))) return; tb=0; if(!load_rom("tstar_09.rom", ROM, 0xD9AC0)) return; // 16x16 TILES ($366B) for(ta=0;ta<0xD9AC0;ta+=2){ GFX_BG0[tb++]=ROM[ta]&15; GFX_BG0[tb++]=ROM[ta]>>4; GFX_BG0[tb++]=ROM[ta+1]&15; GFX_BG0[tb++]=ROM[ta+1]>>4; tb+=4; } tb=4; if(!load_rom("tstar_10.rom", ROM, 0xD9AC0)) return; // 16x16 TILES for(ta=0;ta<0xD9AC0;ta+=2){ GFX_BG0[tb++]=ROM[ta]&15; GFX_BG0[tb++]=ROM[ta]>>4; GFX_BG0[tb++]=ROM[ta+1]&15; GFX_BG0[tb++]=ROM[ta+1]>>4; tb+=4; } tb=0; if(!load_rom("tstar_11.rom", ROM, 0xD9AC0)) return; // 16x16 TILES (MASK) for(ta=0;ta<0xD9AC0;ta+=2){ tc=ROM[ta]; GFX_BG0[tb+7]|=((tc&0x80)>>7)<<4; GFX_BG0[tb+6]|=((tc&0x40)>>6)<<4; GFX_BG0[tb+5]|=((tc&0x20)>>5)<<4; GFX_BG0[tb+4]|=((tc&0x10)>>4)<<4; GFX_BG0[tb+3]|=((tc&0x08)>>3)<<4; GFX_BG0[tb+2]|=((tc&0x04)>>2)<<4; GFX_BG0[tb+1]|=((tc&0x02)>>1)<<4; GFX_BG0[tb+0]|=((tc&0x01)>>0)<<4; tb+=8; } GFX_BG0_SOLID = MakeSolidTileMap16x16(GFX_BG0, 0x366B); GFX_SPR_SOLID = make_solid_mask_16x16(GFX_SPR, 0xBC0A); // Setup 68020 Memory Map // ---------------------- AddF3MemoryMap(0x100000); RAM_BG0=RAM+0x30000; RAM_BG1=RAM+0x32000; RAM_BG2=RAM+0x34000; RAM_BG3=RAM+0x36000; RAM_SCR0=RAM+0x6A000; RAM_SCR1=RAM+0x6A002; RAM_SCR2=RAM+0x6A004; RAM_SCR3=RAM+0x6A006; if(!load_rom_index(13, RAM, 0x40000)) return; for(ta=0;ta<0x40000;ta++){ ROM[(ta<<2)+0]=RAM[ta]; } if(!load_rom_index(14, RAM, 0x40000)) return; for(ta=0;ta<0x40000;ta++){ ROM[(ta<<2)+1]=RAM[ta]; } if(!load_rom_index(15, RAM, 0x40000)) return; for(ta=0;ta<0x40000;ta++){ ROM[(ta<<2)+2]=RAM[ta]; } if(!load_rom_index(16, RAM, 0x40000)) return; for(ta=0;ta<0x40000;ta++){ ROM[(ta<<2)+3]=RAM[ta]; } // 68000 code M68000ROM = load_region[REGION_ROM2]; if(!(PCMROM=AllocateMem(0x1000000))) return; load_be("tstar_01.rom",PCMROM,0x200000); load_be("tstar_02.rom",PCMROM+0xc00000,0x200000); max_banks_this_game=7; //=memory_region_length(REGION_SOUND1)/0x400000; memset(PCMROM+0x400000,0,0x7fffff); memset(RAM+0x00000,0x00,0x80000); memset(RAM+0x69000,0xFF,0x01000); if(romset==0){ // eeprom hacks WriteWord68k(&ROM[0x1D10A],0x7F00); // raine #$00 <eeprom read> WriteWord68k(&ROM[0x1D10C],0x4E75); // rts WriteWord68k(&ROM[0x1D186],0x7F01); // raine #$01 <eeprom write> WriteWord68k(&ROM[0x1D188],0x4E75); // rts // speed hacks
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -