📄 biomtoy.c
字号:
/******************************************************************************//* *//* BIOMECHANICAL TOY (C) 1995 ZEUS *//* *//* MANIAC SQUARE (C) 1996 GAELCO *//* *//******************************************************************************//* The maniac square story : * * It's a test driver due to the fact that the game was only a * prototype, and the person who dumped/released it would be obvious * to the powers-that-be, and would be subject to backlash. * * This was confirmed from mame's team by this email : * * From: "Manuel Abadia" <manu@mame.net> * To: <neohaze@haywood2.force9.co.uk> * Sent: Sunday, September 24, 2000 9:08 AM * Subject: New Raine - IMPORTANT - * * * > Hello Haze. * > * > I emulated biomechanical toy and maniac square for MAME. Maniac * > Square was disabled because of a VERY IMPORTANT reason. * > Please DO NOT ENABLE THAT GAME in your compiles. * * So well... Maniac square SHOULD stay as it is : GAME_PRIVATE, which * means it can be enabled only if PRIVATE is defined, and PRIVATE * should NEVER be defined in any public release. */#include "gameinc.h"#include "sasound.h"#include "taitosnd.h"#include "biomtoy.h"static struct DIR_INFO BiomToy_dirs[] ={ { "biomechanical_toy", }, { "Biomechanical_Toy", }, { "biomtoy", }, { "BiomToy", }, { NULL, },};static struct ROM_INFO BiomToy_roms[] ={ { "d18", 0x080000, 0x4569ce64, 0, 0, 0, }, { "d16", 0x080000, 0x739449bd, 0, 0, 0, }, { "h6", 0x080000, 0x9416a729, 0, 0, 0, }, { "j6", 0x080000, 0xe923728b, 0, 0, 0, }, { "h7", 0x080000, 0x9c984d7b, 0, 0, 0, }, { "j7", 0x080000, 0x0e18fac2, 0, 0, 0, }, { "h9", 0x080000, 0x8c1f6718, 0, 0, 0, }, { "j9", 0x080000, 0x1c93f050, 0, 0, 0, }, { "h10", 0x080000, 0xaca1702b, 0, 0, 0, }, { "j10", 0x080000, 0x8e3e96cc, 0, 0, 0, }, { "c1", 0x080000, 0x0f02de7e, 0, 0, 0, }, { "c3", 0x080000, 0x914e4bbc, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};static struct INPUT_INFO BiomToy_inputs[] ={ { KB_DEF_COIN1, MSG_COIN1, 0x030004, 0x40, BIT_ACTIVE_0 }, { KB_DEF_COIN2, MSG_COIN2, 0x030004, 0x80, BIT_ACTIVE_0 }, { KB_DEF_P1_START, MSG_P1_START, 0x030006, 0x40, BIT_ACTIVE_0 }, { KB_DEF_P1_UP, MSG_P1_UP, 0x030004, 0x01, BIT_ACTIVE_0 }, { KB_DEF_P1_DOWN, MSG_P1_DOWN, 0x030004, 0x02, BIT_ACTIVE_0 }, { KB_DEF_P1_LEFT, MSG_P1_LEFT, 0x030004, 0x08, BIT_ACTIVE_0 }, { KB_DEF_P1_RIGHT, MSG_P1_RIGHT, 0x030004, 0x04, BIT_ACTIVE_0 }, { KB_DEF_P1_B1, MSG_P1_B1, 0x030004, 0x20, BIT_ACTIVE_0 }, { KB_DEF_P1_B2, MSG_P1_B2, 0x030004, 0x10, BIT_ACTIVE_0 }, { KB_DEF_P2_START, MSG_P2_START, 0x030006, 0x80, BIT_ACTIVE_0 }, { KB_DEF_P2_UP, MSG_P2_UP, 0x030006, 0x01, BIT_ACTIVE_0 }, { KB_DEF_P2_DOWN, MSG_P2_DOWN, 0x030006, 0x02, BIT_ACTIVE_0 }, { KB_DEF_P2_LEFT, MSG_P2_LEFT, 0x030006, 0x08, BIT_ACTIVE_0 }, { KB_DEF_P2_RIGHT, MSG_P2_RIGHT, 0x030006, 0x04, BIT_ACTIVE_0 }, { KB_DEF_P2_B1, MSG_P2_B1, 0x030006, 0x20, BIT_ACTIVE_0 }, { KB_DEF_P2_B2, MSG_P2_B2, 0x030006, 0x10, BIT_ACTIVE_0 }, { 0, NULL, 0, 0, 0 },};/* Dipswitch 2 */static struct DSW_DATA dsw_data_BiomToy_0[] ={ { MSG_SERVICE, 0x01, 0x02 }, { MSG_OFF, 0x01, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_DEMO_SOUND, 0x08, 0x02 }, { MSG_ON, 0x08, 0x00 }, { MSG_OFF, 0x00, 0x00 }, { "Lives", 0x30, 0x04 }, { "0", 0x20, 0x00 }, { "1", 0x10, 0x00 }, { "2", 0x30, 0x00 }, { "3", 0x00, 0x00 }, { MSG_DIFFICULTY, 0xC0, 0x04 }, { MSG_EASY, 0x40, 0x00 }, { MSG_NORMAL, 0xC0, 0x00 }, { MSG_HARD, 0x80, 0x00 }, { MSG_HARDEST, 0x00, 0x00 }, { NULL, 0, 0, },};/* Dipswitch 1 */static struct DSW_DATA dsw_data_BiomToy_1[] ={ { "Coinage B", 0x0F, 0x0C }, { MSG_4COIN_1PLAY, 0x0E, 0x00 }, { MSG_3COIN_1PLAY, 0x01, 0x00 }, { MSG_2COIN_1PLAY, 0x09, 0x00 }, { MSG_3COIN_2PLAY, 0x0A, 0x00 }, { MSG_1COIN_1PLAY, 0x0F, 0x00 }, { MSG_2COIN_3PLAY, 0x06, 0x00 }, { MSG_1COIN_2PLAY, 0x07, 0x00 }, { MSG_1COIN_3PLAY, 0x0B, 0x00 }, { MSG_1COIN_4PLAY, 0x03, 0x00 }, { MSG_1COIN_5PLAY, 0x0D, 0x00 }, { MSG_1COIN_6PLAY, 0x05, 0x00 }, { MSG_FREE_PLAY, 0x00, 0x00 }, { "Coinage A", 0xF0, 0x0C }, { MSG_4COIN_1PLAY, 0xE0, 0x00 }, { MSG_3COIN_1PLAY, 0x10, 0x00 }, { MSG_2COIN_1PLAY, 0x90, 0x00 }, { MSG_3COIN_2PLAY, 0xA0, 0x00 }, { MSG_1COIN_1PLAY, 0xF0, 0x00 }, { MSG_2COIN_3PLAY, 0x60, 0x00 }, { MSG_1COIN_2PLAY, 0x70, 0x00 }, { MSG_1COIN_3PLAY, 0xB0, 0x00 }, { MSG_1COIN_4PLAY, 0x30, 0x00 }, { MSG_1COIN_5PLAY, 0xD0, 0x00 }, { MSG_1COIN_6PLAY, 0x50, 0x00 }, { MSG_FREE_PLAY, 0x00, 0x00 }, { NULL, 0, 0, },};static struct DSW_INFO BiomToy_dsw[] ={ { 0x030000, 0xF7, dsw_data_BiomToy_0 }, { 0x030002, 0xFF, dsw_data_BiomToy_1 }, { 0, 0, NULL, },};static struct VIDEO_INFO BiomToy_video ={ DrawBiomToy, 320, 240, 32, VIDEO_ROTATE_NORMAL, };void ClearBiomToy(void){}static struct OKIM6295interface m6295_interface ={ 1, /* 1 chip */ { 8000 }, /* 8000 KHz? */ { 0 }, /* memory region (not yet !) */ { 100 } /* volume */};static struct SOUND_INFO BiomToy_sound[] ={ { SOUND_M6295, &m6295_interface, }, { 0, NULL, },};static UINT8 *GFX_CHAR16;static UINT8 *GFX_CHAR16_SOLID;static UINT8 *GFX_TILE16;static UINT8 *GFX_TILE16_SOLID;static UINT8 *RAM_VIDEO;static UINT8 *RAM_SPR;static UINT8 *ADPCM;struct GAME_MAIN game_biomechanical_toy ={ BiomToy_dirs, BiomToy_roms, BiomToy_inputs, BiomToy_dsw, NULL, LoadBiomToy, ClearBiomToy, &BiomToy_video, ExecuteBiomToyFrame, "biomtoy", "Biomechanical Toy", "Biomechanical Toy", COMPANY_ID_ZEUS, NULL, 1995, BiomToy_sound, GAME_PLATFORM,};static struct DIR_INFO Maniacsq_dirs[] ={ { "Maniac_Square", }, { "maniacsq", }, { NULL, },};static struct ROM_INFO Maniacsq_roms[] ={ { "d18", 0x20000, 0x740ecab2, 0, 0, 0, }, { "d16", 0x20000, 0xc6c42729, 0, 0, 0, }, { "f3", 0x40000, 0xe7f6582b, 0, 0, 0, }, { "f2", 0x40000, 0xca43a5ae, 0, 0, 0, }, { "f1", 0x40000, 0xfca112e8, 0, 0, 0, }, { "f0", 0x40000, 0x6e829ee8, 0, 0, 0, }, { "c1", 0x80000, 0x2557f2d6, 0, 0, 0, }, { NULL, 0, 0, 0, 0, 0, },};/* Dipswitch 2 */static struct DSW_DATA dsw_data_Maniacsq_0[] ={ { MSG_SERVICE, 0x01, 0x02 }, { MSG_OFF, 0x01, 0x00 }, { MSG_ON, 0x00, 0x00 }, { MSG_DEMO_SOUND, 0x04, 0x02 }, { MSG_ON, 0x04, 0x00 }, { MSG_OFF, 0x00, 0x00 }, { "Sound type", 0x08, 0x02 }, { "Mono", 0x08, 0x00 }, { "Stereo", 0x00, 0x00 }, { MSG_DIFFICULTY, 0xC0, 0x04 }, { MSG_EASY, 0x40, 0x00 }, { MSG_NORMAL, 0xC0, 0x00 }, { MSG_HARD, 0x80, 0x00 }, { MSG_HARDEST, 0x00, 0x00 }, { NULL, 0, 0, },};/* Dipswitch 1 */static struct DSW_DATA dsw_data_Maniacsq_1[] ={ { "Coinage B", 0x0F, 0x0C }, { MSG_4COIN_1PLAY, 0x0E, 0x00 }, { MSG_3COIN_1PLAY, 0x01, 0x00 }, { MSG_2COIN_1PLAY, 0x09, 0x00 }, { MSG_3COIN_2PLAY, 0x0A, 0x00 }, { MSG_1COIN_1PLAY, 0x0F, 0x00 }, { MSG_2COIN_3PLAY, 0x06, 0x00 }, { MSG_1COIN_2PLAY, 0x07, 0x00 }, { MSG_1COIN_3PLAY, 0x0B, 0x00 }, { MSG_1COIN_4PLAY, 0x03, 0x00 }, { MSG_1COIN_5PLAY, 0x0D, 0x00 }, { MSG_1COIN_6PLAY, 0x05, 0x00 }, { "Freeplay (B too)", 0x00, 0x00 }, { "Coinage A", 0xF0, 0x0C }, { MSG_4COIN_1PLAY, 0xE0, 0x00 }, { MSG_3COIN_1PLAY, 0x10, 0x00 }, { MSG_2COIN_1PLAY, 0x90, 0x00 }, { MSG_3COIN_2PLAY, 0xA0, 0x00 }, { MSG_1COIN_1PLAY, 0xF0, 0x00 }, { MSG_2COIN_3PLAY, 0x60, 0x00 }, { MSG_1COIN_2PLAY, 0x70, 0x00 }, { MSG_1COIN_3PLAY, 0xB0, 0x00 }, { MSG_1COIN_4PLAY, 0x30, 0x00 }, { MSG_1COIN_5PLAY, 0xD0, 0x00 }, { MSG_1COIN_6PLAY, 0x50, 0x00 }, { "Freeplay (A too)", 0x00,0x00 }, { NULL, 0, 0, },};static struct DSW_INFO Maniacsq_dsw[] ={ { 0x030000, 0xF7, dsw_data_Maniacsq_0 }, { 0x030002, 0xFF, dsw_data_Maniacsq_1 }, { 0, 0, NULL, },};static struct VIDEO_INFO Maniacsq_video ={ DrawManiacsq, 320, 240, 32, VIDEO_ROTATE_NORMAL, };struct GAME_MAIN game_maniac_square ={ Maniacsq_dirs, Maniacsq_roms, BiomToy_inputs, Maniacsq_dsw, NULL, LoadManiacsq, ClearBiomToy, &Maniacsq_video, ExecuteManiacsqFrame, "maniacsq", "Maniac Square", "Maniac Square", COMPANY_ID_GAELCO, NULL, 1996, BiomToy_sound,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -