?? ashura.c
字號(hào):
/******************************************************************************//* *//* ASHURA BLASTER (C) 1990 TAITO CORPORATION *//* *//******************************************************************************//* Ashura Japan & US don't have same dipswitch values cionage is different. Corrected some dipswitch settings. Added the US rom set and coded rom names used by Mame 7/22/00 -BaT */#include "gameinc.h"#include "ashura.h"#include "tc180vcu.h"#include "tc220ioc.h"#include "taitosnd.h"#include "sasound.h"/************************ ASHURA BLASTER JAPAN ************************/static struct DIR_INFO ashura_blaster_dirs[] ={ { "ashura_blaster", }, { "ashura", }, { NULL, },};static struct ROM_INFO ashura_blaster_roms[] ={ { "c43-03", 0x00080000, 0x426606ba, 0, 0, 0, }, { "c43-02", 0x00080000, 0x105722ae, 0, 0, 0, }, { "c43-01", 0x00080000, 0xdb953f37, 0, 0, 0, }, { "c43-16", 0x00010000, 0xcb26fce1, 0, 0, 0, }, { "c4307-1.50", 0x00020000, 0xd5ceb20f, 0, 0, 0, }, { "c4305-1.31", 0x00020000, 0xa6f3bb37, 0, 0, 0, }, { "c4306-1.49", 0x00020000, 0x0f331802, 0, 0, 0, }, { "c4304-1.30", 0x00020000, 0xe06a2414, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};static struct DSW_DATA dsw_data_ashura_blaster_0[] ={ { MSG_DSWA_BIT1, 0x01, 0x02 }, { MSG_OFF, 0x01, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_SCREEN, 0x02, 0x02 }, { MSG_NORMAL, 0x02, 0x00 }, { MSG_INVERT, 0x00, 0x00 }, { MSG_TEST_MODE, 0x04, 0x02 }, { MSG_OFF, 0x04, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_DEMO_SOUND, 0x08, 0x02 }, { MSG_ON, 0x08, 0x00 }, { MSG_OFF, 0x00, 0x00 }, { MSG_COIN1, 0x30, 0x04 }, { MSG_1COIN_1PLAY, 0x30, 0x00 }, { MSG_1COIN_2PLAY, 0x20, 0x00 }, { MSG_2COIN_1PLAY, 0x10, 0x00 }, { MSG_2COIN_3PLAY, 0x00, 0x00 }, { MSG_COIN2, 0xC0, 0x04 }, { MSG_1COIN_1PLAY, 0xC0, 0x00 }, { MSG_1COIN_2PLAY, 0x80, 0x00 }, { MSG_2COIN_1PLAY, 0x40, 0x00 }, { MSG_2COIN_3PLAY, 0x00, 0x00 }, { NULL, 0, 0, },};static struct DSW_DATA dsw_data_ashura_blaster_1[] ={ { MSG_DIFFICULTY, 0x03, 0x04 }, { MSG_NORMAL, 0x03, 0x00 }, { MSG_EASY, 0x02, 0x00 }, { MSG_HARD, 0x01, 0x00 }, { MSG_HARDEST, 0x00, 0x00 }, { MSG_EXTRA_LIFE, 0x0c, 0x04 }, { "Every 150k", 0x0C, 0x00 }, { "Every 100k", 0x08, 0x00 }, { "Every 200k", 0x04, 0x00 }, { "Every 250k", 0x00, 0x00 }, { MSG_LIVES, 0x30, 0x04 }, { "3", 0x30, 0x00 }, { "4", 0x20, 0x00 }, { "2", 0x10, 0x00 }, { "1", 0x00, 0x00 }, { MSG_CONTINUE_PLAY, 0x40, 0x02 }, { MSG_ON, 0x40, 0x00 }, { MSG_OFF, 0x00, 0x00 }, { MSG_DSWB_BIT8, 0x80, 0x02 }, { MSG_OFF, 0x80, 0x00 }, { MSG_ON, 0x00, 0x00 }, { NULL, 0, 0, },};static struct DSW_INFO ashura_blaster_dsw[] ={ { 0x000000, 0xFF, dsw_data_ashura_blaster_0 }, { 0x000002, 0xFF, dsw_data_ashura_blaster_1 }, { 0, 0, NULL, },};static struct VIDEO_INFO ashura_blaster_video ={ DrawAshuraBlaster, 224, 320, 32, VIDEO_ROTATE_NORMAL,};struct GAME_MAIN game_ashura_blaster ={ ashura_blaster_dirs, ashura_blaster_roms, b_system_inputs, ashura_blaster_dsw, NULL, LoadAshuraBlaster, ClearAshuraBlaster, &ashura_blaster_video, ExecuteAshuraBlasterFrame, "ashura", "Ashura Blaster (Japan)", "垱廋梾僽儔僗僞乕", COMPANY_ID_TAITO, "C43", 1990, taito_ym2610_sound, GAME_SHOOT,};/********************* ASHURA BLASTER US *********************/static struct DIR_INFO ashura_blaster_us_dirs[] ={ { "ashura_blaster_us", }, { "ashurau", }, { ROMOF("ashura"), }, { CLONEOF("ashura"), }, { NULL, },};static struct ROM_INFO ashura_blaster_us_roms[] ={ { "c43-03", 0x00080000, 0x426606ba, 0, 0, 0, }, { "c43-02", 0x00080000, 0x105722ae, 0, 0, 0, }, { "c43-01", 0x00080000, 0xdb953f37, 0, 0, 0, }, { "c43-16", 0x00010000, 0xcb26fce1, 0, 0, 0, }, { "c43-11", 0x00020000, 0xd5aefc9b, 0, 0, 0, }, { "c43-09", 0x00020000, 0xe91d0ab1, 0, 0, 0, }, { "c43-10", 0x00020000, 0xc218e7ea, 0, 0, 0, }, { "c43-08", 0x00020000, 0x5ef4f19f, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};static struct DSW_DATA dsw_data_ashura_blaster_us_0[] ={ { MSG_DSWA_BIT1, 0x01, 0x02 }, { MSG_OFF, 0x01, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_SCREEN, 0x02, 0x02 }, { MSG_NORMAL, 0x02, 0x00 }, { MSG_INVERT, 0x00, 0x00 }, { MSG_TEST_MODE, 0x04, 0x02 }, { MSG_OFF, 0x04, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_DEMO_SOUND, 0x08, 0x02 }, { MSG_ON, 0x08, 0x00 }, { MSG_OFF, 0x00, 0x00 }, { MSG_COIN_SLOTS, 0x30, 0x04 }, { MSG_1COIN_1PLAY, 0x30, 0x00 }, { MSG_2COIN_1PLAY, 0x20, 0x00 }, { MSG_3COIN_1PLAY, 0x10, 0x00 }, { MSG_4COIN_1PLAY, 0x00, 0x00 }, { "Continue cost", 0xC0, 0x04 }, { "Same as play", 0xC0, 0x00 }, { "1 extra coin", 0x80, 0x00 }, { "2 extra coins", 0x40, 0x00 }, { "3 extra coins", 0x00, 0x00 }, { NULL, 0, 0, },};static struct DSW_INFO ashura_blaster_us_dsw[] ={ { 0x000000, 0xFF, dsw_data_ashura_blaster_us_0 }, { 0x000002, 0xFF, dsw_data_ashura_blaster_1 }, { 0, 0, NULL, },};struct GAME_MAIN game_ashura_blaster_us ={ ashura_blaster_us_dirs, ashura_blaster_us_roms, b_system_inputs, ashura_blaster_us_dsw, NULL, LoadAshuraBlaster, ClearAshuraBlaster, &ashura_blaster_video, ExecuteAshuraBlasterFrame, "ashurau", "Ashura Blaster (US)", "垱廋梾僽儔僗僞乕", COMPANY_ID_TAITO, "C43", 1990, taito_ym2610_sound, GAME_SHOOT,};static UINT8 *RAM_INPUT;static UINT8 *RAM_VIDEO;static UINT8 *RAM_VIDEO_2;static UINT8 *RAM_COLOUR;static UINT8 *GFX_BG0;static UINT8 *GFX_BG0_SOLID;static UINT8 *GFX_BG2;static UINT8 *GFX_BG2_SOLID;void LoadAshuraBlaster(void){ int ta,tb,tc; if(!(RAM=AllocateMem(0x80000))) return; if(!(GFX=AllocateMem(0x240000))) return; GFX_BG0 = GFX+0x000000; GFX_BG2 = GFX+0x200000; if(!load_rom_index(0, RAM, 0x80000)) return; tb=0x200000; for(ta=0;ta<0x10000;ta+=2){ tc=RAM[ta+1]; GFX[tb+0]=((tc&0x80)>>7)<<0; GFX[tb+1]=((tc&0x40)>>6)<<0; GFX[tb+2]=((tc&0x20)>>5)<<0; GFX[tb+3]=((tc&0x10)>>4)<<0; GFX[tb+4]=((tc&0x08)>>3)<<0; GFX[tb+5]=((tc&0x04)>>2)<<0; GFX[tb+6]=((tc&0x02)>>1)<<0; GFX[tb+7]=((tc&0x01)>>0)<<0; tc=RAM[ta]; GFX[tb+0]|=((tc&0x80)>>7)<<1; GFX[tb+1]|=((tc&0x40)>>6)<<1; GFX[tb+2]|=((tc&0x20)>>5)<<1; GFX[tb+3]|=((tc&0x10)>>4)<<1; GFX[tb+4]|=((tc&0x08)>>3)<<1; GFX[tb+5]|=((tc&0x04)>>2)<<1; GFX[tb+6]|=((tc&0x02)>>1)<<1; GFX[tb+7]|=((tc&0x01)>>0)<<1; tb+=8; } tb=0; for(ta=0;ta<0x80000;ta+=2){ tc=RAM[ta+1]; GFX[tb+0]=((tc&0x80)>>7)<<0; GFX[tb+1]=((tc&0x40)>>6)<<0;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -