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

📄 konamigx.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 C
字号:
/******************************************************************************//*                                                                            *//*                           KONAMI GX M68020 SYSTEM                          *//*                                                                            *//******************************************************************************/#include "gameinc.h"#include "konamigx.h"#include "f3system.h"#include "tc003vcu.h"#include "tc200obj.h"#include "debug.h"static struct DIR_INFO salamander_2_dirs[] ={   { "salamander_2", },   { "salmndr2", },   { NULL, },};static struct ROM_INFO salamander_2_roms[] ={   { "300-a01.34k", 0x00008000, 0xaeeb5148, 0, 0, 0, },   { "521-a02.31b", 0x00080000, 0xf6c3a95b, 0, 0, 0, },   { "521-a03.30b", 0x00080000, 0xc3be5e0a, 0, 0, 0, },   {  "521-a04.9c", 0x00010000, 0xefddca7a, 0, 0, 0, },   {  "521-a05.7c", 0x00010000, 0x51a3af2c, 0, 0, 0, },   { "521-a06.30g", 0x00200000, 0xcba5db2c, 0, 0, 0, },   { "521-a07.28g", 0x00200000, 0x50ef9b7a, 0, 0, 0, },   { "521-a08.25g", 0x00200000, 0xf24f76bd, 0, 0, 0, },   { "521-a09.17h", 0x00200000, 0xfb9e2f5e, 0, 0, 0, },   { "521-a11.15h", 0x00100000, 0x25e0a6e5, 0, 0, 0, },   {  "521-a12.9g", 0x00200000, 0x66614d3b, 0, 0, 0, },   { "521-a13.13c", 0x00200000, 0x3ed7441b, 0, 0, 0, },   {  "521-a13.7g", 0x00100000, 0xc3322475, 0, 0, 0, },   {          NULL,          0,          0, 0, 0, 0, },};static struct VIDEO_INFO salamander_2_video ={   NULL,   320,   240,   32,   VIDEO_ROTATE_NORMAL,};struct GAME_MAIN game_salamander_2 ={   salamander_2_dirs,   salamander_2_roms,   NULL,   NULL,   NULL,   LoadSalamander2,   ClearSalamander2,   &salamander_2_video,   ExecuteSalamander2Frame,   "salmndr2",   "Salamander 2",   NULL,   COMPANY_ID_KONAMI,   NULL,   1995,   NULL,};void LoadSalamander2(void){   int ta;   RAMSize=0x80000;   if(!(RAM=AllocateMem(0x80000))) return;   if(!(ROM=AllocateMem(0x300000))) return;   // Setup 68020 Memory Map   // ----------------------   for(ta=0;ta<0x100;ta++){      R24[ta]=RAM+0x70000;	// SCRATCH RAM   }   R24[0xC0]=RAM+0x00000;	// MAIN RAM   R24[0xC1]=RAM+0x10000;	// MAIN RAM   for(ta=0;ta<0x100;ta++){      W24[ta]=R24[ta];		// COPY READ>WRITE   }   for(ta=0;ta<(0x300000>>16);ta++){      R24[ta]=ROM+(ta<<16);	// 68020 ROM   }   memset(ROM,0xFF,0x200000);   if(!load_rom("300-a01.34k", ROM, 0x08000)) return;   if(!load_rom("521-a03.30b", RAM, 0x80000)) return;   for(ta=0;ta<0x80000;ta+=2){      WriteWord68k(&ROM[ta+ta+0x200000],ReadWord(&RAM[ta]));   }   if(!load_rom("521-a02.31b", RAM, 0x80000)) return;   for(ta=0;ta<0x80000;ta+=2){      WriteWord68k(&ROM[ta+ta+0x200002],ReadWord(&RAM[ta]));   }   memset(RAM+0x00000,0x00,0x80000);   //F3SystemEEPROMAccess=&F3SysEEPROMAccessMode2;   //InitPaletteMap(RAM+0x60000, 0x200, 0x40, 0x1000);   //SetScreenBitmap(320+128,232+128,64,64,320,232);   init_m68k();}void ClearSalamander2(void){   //save_eeprom();   #ifdef RAINE_DEBUG      save_debug("ROM.bin",ROM,0x300000,0);      save_debug("RAM.bin",RAM,0x080000,0);   #endif}void ExecuteSalamander2Frame(void){   Execute68020(CPU_FRAME_MHz(12,60));	// M68020 48MHz (60fps)#ifdef RAINE_DEBUG      print_debug("PC:%06x SR:%04x\n",regs.pc,regs.sr);#endif/*   Interrupt68020(3);   Interrupt68020(2);   Interrupt68020(5);*/}void DrawSalamander2(void){}

⌨️ 快捷键说明

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