dd_handleBallState, /*Function to handle ball state changes*/ dd_drawStatic, /*Function to handle mechanical state changes*/ TRUE, /* Simulate manual shooter? */ NULL /* Custom key conditions? */ }; /*---------------------- / Game Data Information /----------------------*/ static core_tLCDLayout disp16oneline[] = { \ {0,0,0,16,CORE_SEG16},{0,33,20,16,CORE_SEG16}, {0} }; static core_tGameData ddGameData = { GEN_S11C, disp16oneline, { FLIP_SWNO(swLFlip,swRFlip), 0,0,0,0,S11_LOWALPHA|S11_DISPINV,S11_MUXSW2,0, NULL, dd_handleMech, NULL, NULL, &dd_lampPos, dd_samsolmap }, &ddSimData, {{ 0 }}, {12} }; /*--------------- / Game handling /----------------*/ static void init_dd(void) { core_gameData = &ddGameData; }
static core_tLCDLayout dispAlpha[] = { {0, 0,41,7,CORE_SEG7}, {3,13, 1,7,CORE_SEG7S}, {5,13, 9,7,CORE_SEG7S}, {7,13,17,7,CORE_SEG7S}, {9,13,25,7,CORE_SEG7S}, {8, 0,33,2,CORE_SEG7S},{8, 5,36,1,CORE_SEG7S},{8, 8,38,2,CORE_SEG7S}, {0} }; // games /*------------------------------------------------------------------- / Punky Willy (1986) /-------------------------------------------------------------------*/ static core_tGameData punkywilGameData = {0,dispAlpha,{FLIP_SWNO(88,87),0,0,0,SNDBRD_JOCTRONIC}}; static void init_punkywil(void) { core_gameData = &punkywilGameData; } ROM_START(punkywil) NORMALREGION(0x10000, REGION_CPU1) ROM_LOAD("pw_game.bin", 0x0000, 0x4000, CRC(f408367a) SHA1(967ab8a16e64273abf8e8cc4faab60e2c9a4856b)) NORMALREGION(0x10000, REGION_CPU2) ROM_LOAD("pw_sound.bin", 0x0000, 0x4000, CRC(b2e3a201) SHA1(e3b0a5b22827683382b61c21607201cd470062ee)) ROM_END INPUT_PORTS_START(punkywil) CORE_PORTS SIM_PORTS(1) PORT_START /* 0 */ COREPORT_BIT (0x0008, "Game start", KEYCODE_1) COREPORT_BIT (0x0001, "Coin 1", KEYCODE_3) COREPORT_BIT (0x0002, "Coin 2", KEYCODE_4) COREPORT_BIT (0x0010, "Service credit", KEYCODE_5)
"speech5.532",CRC(11780c80) SHA1(bcc5efcd69b4f776feef32484a872863847d64cd), "speech6.532",CRC(ab688698) SHA1(e0cbac44a6fe30a49da478c32500a0b43903cc2b), "speech4.532",CRC(2a4d6f4b) SHA1(e6f8a1a6e6abc81f980a4938d98abb250e8e1e3b)) S7_ROMEND CORE_CLONEDEF(thund,p3,p1,"Thunderball (P-3)",1982,"Williams",s7_mS7SND,0) // dated 9/08 /*------------------------------- / Hyperball - Sys.7 - (Game #509) /-------------------------------*/ static const core_tLCDLayout dispHypbl[] = { { 0, 0, 1, 7,CORE_SEG87 }, { 0,16, 9, 7,CORE_SEG87 }, { 2,10,20, 1,CORE_SEG87 }, { 2,12,28, 1,CORE_SEG87 }, { 2,16, 0, 1,CORE_SEG87 }, { 2,18, 8, 1,CORE_SEG87 }, { 4, 3,43, 5,CORE_SEG16 }, { 4,13,49, 7,CORE_SEG16 }, {0} }; static core_tGameData hypblGameData = { GEN_S7, dispHypbl, {FLIP_SWNO(33,34), 0, 4}, NULL, {"", {0,0,0,0xf8,0x0f}, {0} } }; static void init_hypbl(void) { core_gameData = &hypblGameData; } #define input_ports_hypbl input_ports_s7 S7_ROMSTART000x(hypbl,l4, "ic14.532", CRC(8090fe71) SHA1(0f1f40c0ee8da5b2fd51efeb8be7c20d6465239e), "ic17.532", CRC(6f4c0c4c) SHA1(1036067e2c85da867983e6e51ee2a7b5135000df), "ic20.532", CRC(d13962e8) SHA1(e23310be100060c9803682680066b965aa5efb16)) S67S_SOUNDROMS0( "sound12.532", CRC(06051e5e) SHA1(f0ab4be812ceaf771829dd549f2a612156102a93)) S7_ROMEND CORE_GAMEDEF(hypbl,l4,"HyperBall (L-4)",1981,"Williams",s7_mS7S,0) S7_ROMSTART000x(hypbl,l3, "ic14-l3.532", CRC(e233bbed) SHA1(bb29acc3e48d6b40b3df2e7702f8a8ff4357c15c), "ic17.532", CRC(6f4c0c4c) SHA1(1036067e2c85da867983e6e51ee2a7b5135000df), "ic20-l3.532", CRC(4a37d6e8) SHA1(8c26dd5652ace431a6ff0faf0bb9db37489c4fec)) S67S_SOUNDROMS0( "sound12.532", CRC(06051e5e) SHA1(f0ab4be812ceaf771829dd549f2a612156102a93)) S7_ROMEND
}; #define INITGAME(name, disptype, flippers, balls, sb, db) \ MRGAME_INPUT_PORTS_START(name, balls) MRGAME_INPUT_PORTS_END \ static core_tGameData name##GameData = {GEN_MRGAME,disptype,{flippers,0,2,0,sb,db}}; \ static void init_##name(void) { \ core_gameData = &name##GameData; \ } /* GAMES APPEAR IN PRODUCTION ORDER (MORE OR LESS) */ /*------------------------------------------------------------------- / Dakar (1988?) /-------------------------------------------------------------------*/ INITGAME(dakar, mrgame_disp_g1, FLIP_SWNO(65,64), 4/*?*/, SNDBRD_MRGAME, 0) MRGAME_ROMSTART(dakar, "cpu_ic13.rom", CRC(83183929) SHA1(977ac10a1e78c759eb0550794f2639fe0e2d1507), "cpu_ic14.rom", CRC(2010d28d) SHA1(d262dabd9298566df43df298cf71c974bee1434a)) MRGAME_VIDEOROM1( "vid_ic14.rom", CRC(88a9ca81) SHA1(9660d416b2b8f1937cda7bca51bd287641c7730c), "vid_ic55.rom", CRC(3c68b448) SHA1(f416f00d2de0c71c021fec0e9702ba79b761d5e7), "vid_ic56.rom", CRC(0aac43e9) SHA1(28edfeddb2d54e40425488bad37e3819e4488b0b), "vid_ic66.rom", CRC(c8269b27) SHA1(daa83bfdb1e255b846bbade7f200abeaa9399c06)) MRGAME_SOUNDROM15( "snd_ic06.rom", CRC(29e9417e) SHA1(24f465993da7c93d385ec453497f2af4d8abb6f4), "snd_ic07.rom", CRC(71ab15fe) SHA1(245842bb41410ea481539700f79c7ef94f8f8924), "snd_ic22.rom", CRC(e6c1098e) SHA1(06bf8917a27d5e46e4aab93e1f212918418e3a82), "snd_ic35.rom", CRC(7b2394d1) SHA1(f588f5105d75b54dd65bb6448a2d7774fb8477ec), "snd_ic36.rom", CRC(4039ea65) SHA1(390fce94d1e48b395157d8d9afaa485114c58d52)) MRGAME_ROMEND CORE_GAMEDEFNV(dakar,"Dakar",1988,"Mr. Game (Italy)",mMRGAME1,GAME_IMPERFECT_SOUND) /*-------------------------------------------------------------------
eatpm_stateDef, /* Definition of all states */ eatpm_inportData, /* Keyboard Entries */ { stTrough1, stTrough2, stTrough3, stDrain, stDrain, stDrain, stDrain }, /*Position where balls start.. Max 7 Balls Allowed*/ NULL, /* no init */ NULL, /*Function to handle ball state changes*/ eatpm_drawStatic, /*Function to handle mechanical state changes*/ TRUE, /* Simulate manual shooter? */ NULL /* Custom key conditions? */ }; /*---------------------- / Game Data Information /----------------------*/ static core_tLCDLayout dispeatpm[] = { \ {0,0,0,16,CORE_SEG16},{0,33,20,16,CORE_SEG16}, {0} }; static core_tGameData eatpmGameData = { GEN_S11B, dispeatpm, { FLIP_SWNO(swLFlip,swRFlip),0,0,0,0,S11_LOWALPHA|S11_DISPINV,S11_MUXSW2}, &eatpmSimData, {{0}}, {12} }; /*--------------- / Game handling /----------------*/ static void init_eatpm(void) { core_gameData = &eatpmGameData; }
hd_drawStatic, /*Function to handle mechanical state changes*/ TRUE, /* Simulate manual shooter? */ NULL /* Custom key conditions? */ }; /*---------------------- / Game Data Information /----------------------*/ static core_tLCDLayout disphd[] = { \ {0,0,0,16,CORE_SEG16R},{0,33,20,16,CORE_SEG16R}, {0} }; static core_tGameData hdGameData = { GEN_WPCALPHA_2, disphd, { FLIP_SWNO(12,11), 0,0,0,0,0,0,0, NULL, hd_handleMech, NULL, NULL, NULL, hd_samsolmap }, &hdSimData, { "", /*Coin 1 2 3 4 5 6 7 8 9 10 Cab. Cust */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* inverted switches */ /*Start Tilt SlamTilt CoinDoor Shooter */ { swStart, swTilt, swSlamTilt, swCoinDoor, 0}, } }; /*---------------
BY6803_INPUT_PORTS_START(by6803, 1) BY6803_INPUT_PORTS_END BY6803A_INPUT_PORTS_START(by6803a, 1) BY6803_INPUT_PORTS_END #define INITGAME6803(name, gen, disp, flip, lamps, sb, db) \ static core_tGameData name##GameData = {gen,disp,{flip,0,lamps,0,sb, db}}; \ static void init_##name(void) { core_gameData = &name##GameData; } #define FLIP6803 (FLIP_SWNO(5,7)) /****************************************************/ /* BALLY MPU-6803*/ /****************************************************/ //Games below use Squalk & Talk Sound Hardware /*------------------------------------ / Eight Ball Champ (6803-0B38: 09/85) - Manual says can work with Cheap Squeek also via operator setting /------------------------------------*/ INITGAME6803(eballchp,GEN_BY6803,dispBy7C,FLIP_SWNO(0,26),4,SNDBRD_BY61, BY6803_DISP7SEG) BY6803_ROMSTARTx4(eballchp,"u3_cpu.128",CRC(025f3008) SHA1(25d310f169b92ce6b348330816ddc3b5710e57da)) BY61_SOUNDROMx000( "u3_snd.532",CRC(4836d70d) SHA1(a4acc64609d91a84ba4c8101186d07397b496600), "u4_snd.532",CRC(4b49d94d) SHA1(52d5f4b7604601cd86f0e80ed7c4fe09d14f5976), "u5_snd.532",CRC(655441df) SHA1(9da5578856ded3dcdafed67679eb4c4134dc9f81)) BY6803_ROMEND #define input_ports_eballchp input_ports_by6803 CORE_GAMEDEFNV(eballchp,"Eight Ball Champ",1985,"Bally",by_mBY6803_61S,0) INITGAME6803(eballch2,GEN_BY6803,dispBy7C,FLIP_SWNO(0,26),4,SNDBRD_BY45, BY6803_DISP7SEG) BY6803_ROMSTARTx4(eballch2,"u3_cpu.128",CRC(025f3008) SHA1(25d310f169b92ce6b348330816ddc3b5710e57da)) BY45_SOUNDROM22( "ebcu3.snd", NO_DUMP, "ebcu4.snd", NO_DUMP) BY6803_ROMEND #define input_ports_eballch2 input_ports_by6803 CORE_CLONEDEFNV(eballch2,eballchp,"Eight Ball Champ (Cheap Squeek)",1985,"Bally",by_mBY6803_45S,0)
#define SPINB_GS1(solInvert0,solInvert1,solInvert2,lamp16isGameOn) \ (((UINT8)(solInvert0)<<24) | ((UINT8)(solInvert1)<<16) | ((UINT8)(solInvert2)<<8) | ((UINT8)(lamp16isGameOn))) #define INITGAME(name, disptype, flippers, balls, sb, db, gs1) \ SPINB_INPUT_PORTS_START(name, balls) SPINB_INPUT_PORTS_END \ static core_tGameData name##GameData = {GEN_SPINB,disptype,{flippers,0,4,0,sb,db,gs1}}; \ static void init_##name(void) { \ core_gameData = &name##GameData; \ } /* GAMES APPEAR IN PRODUCTION ORDER (MORE OR LESS) */ /*------------------------------------------------------------------- / Bushido (1993) - ( Last game by Inder - before becomming Spinball - but same hardware) /-------------------------------------------------------------------*/ INITGAME(bushido, spinb_dispDMD, FLIP_SWNO(0,0), 3, SNDBRD_SPINB, SPINB_DSP1, SPINB_GS1(0x11,0x0C,0,FALSE)) SPINB_ROMSTART(bushido, "0-z80.bin", CRC(3ea1eb1d) SHA1(cceb6c68e481f36a5646ff4f38d3dfc4275b0c79), "1-z80.old", CRC(648da72b) SHA1(1005a13b4746e302d979c8b1da300e943cdcab3d)) SPINB_DMDROM1( "g-disply.bin", CRC(9a1df82f) SHA1(4ad6a12ae36ec898b8ac5243da6dec3abcd9dc33)) SPINB_SNDROM22( "a-sonido.bin", CRC(cf7d5399) SHA1(c79145826cfa6be2487e3add477d9b452c553762), "b-sonido.bin", CRC(cb4fc885) SHA1(569f389fa8f91f886b58f44f701d2752ef01f3fa), //Sound Effects 1 "c-sonido.bin", CRC(35a43dd8) SHA1(f2b1994f67f749c65a88c95d970b655990d85b96), //Sound Effects 2 "d-musica.bin", CRC(2cb9697c) SHA1(d5c66d616ccd5e299832704e494743429dafd569), "e-musica.bin", CRC(1414b921) SHA1(5df9e538ee109df28953ec8f162c60cb8c6e4d96), //Music 1 "f-musica.bin", CRC(80f3a6df) SHA1(e09ad4660e511779c6e55559fa0c2c0b0c6600c8)) //Music 2 SPINB_ROMEND CORE_GAMEDEFNV(bushido,"Bushido",1993,"Inder/Spinball (Spain)",mSPINBS,0) SPINB_ROMSTART(bushidoa,"0-cpu.bin", CRC(7f7e6642) SHA1(6872397eed7525f384b79cdea13531d273d8cf14), "1-cpu.bin", CRC(a538d37f) SHA1(d2878ad0d31b4221b823812485c7faaf666ce185)) SPINB_DMDROM1( "g-disply.bin", CRC(9a1df82f) SHA1(4ad6a12ae36ec898b8ac5243da6dec3abcd9dc33))
MDRV_CPU_PORTS(mirco_readport, mirco_writeport) MDRV_SWITCH_UPDATE(mirco) MDRV_CORE_INIT_RESET_STOP(mirco,NULL,NULL) MDRV_CPU_VBLANK_INT(mirco_vblank, 1) MDRV_CPU_PERIODIC_INT(t0, 200) MDRV_DIPS(24) MDRV_NVRAM_HANDLER(generic_0fill) MACHINE_DRIVER_END static const core_tLCDLayout disp[] = { {0, 0, 0,6,CORE_SEG7}, {0,28, 8,6,CORE_SEG7}, {5, 0,16,6,CORE_SEG7}, {5,28,24,6,CORE_SEG7}, {3,14,32,2,CORE_SEG7}, {3,22,36,2,CORE_SEG7}, {0} }; static core_tGameData mircoGameData = {0,disp,{FLIP_SWNO(32,31),0,1}}; static void init_lckydraw(void) { core_gameData = &mircoGameData; } INPUT_PORTS_START(lckydraw) CORE_PORTS SIM_PORTS(1) PORT_START /* 0 */ \ COREPORT_BIT( 0x0200, "Start", KEYCODE_1) \ COREPORT_BIT( 0x0100, "Coin", KEYCODE_5) \ COREPORT_BIT( 0x0001, "Self Test", KEYCODE_7) \ COREPORT_BIT( 0x0400, "Tilt", KEYCODE_INSERT) \ COREPORT_BIT( 0x0800, "Mercury Tilt", KEYCODE_HOME) \ PORT_START /* 1 */ \ COREPORT_DIPNAME( 0x0101, 0x0000, "Games / coins") \ COREPORT_DIPSET(0x0000, "1/1" ) \ COREPORT_DIPSET(0x0101, "3/2" ) \ COREPORT_DIPSET(0x0001, "2/1" ) \
pz_inportData, /* Keyboard Entries */ { stTrough1, stTrough2, stTrough3, stDrain, stDrain, stDrain, stDrain }, /*Position where balls start.. Max 7 Balls Allowed*/ NULL, /* no init */ pz_handleBallState, /*Function to handle ball state changes*/ pz_drawStatic, /*Function to handle mechanical state changes*/ TRUE, /* Simulate manual shooter? */ NULL /* Custom key conditions? */ }; /*---------------------- / Game Data Information /----------------------*/ static core_tGameData pzGameData = { GEN_WPCFLIPTRON, wpc_dispDMD, { FLIP_SWNO(12,11) | FLIP_SW(FLIP_L) | FLIP_SOL(FLIP_L), 0,0,0,0,0,0,0, NULL, pz_handleMech, pz_getMech, pz_drawMech, &pz_lampPos, pz_samsolmap }, &pzSimData, { {0}, /* sNO */ /*Coin 1 2 3 4 5 6 7 8 9 10 Cab. Cust */ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05 }, /*Start Tilt SlamTilt CoinDoor Shooter */ { swStart, swTilt, swSlamTilt, swCoinDoor, 0}, } }; /*---------------
#include "driver.h" #include "core.h" #include "sndbrd.h" #include "byvidpin.h" #define INITGAMEVP(name, disp, flip, snd, dualTMS) \ static core_tGameData name##GameData = {0,disp,{flip,0,0,0,snd,dualTMS}}; \ static void init_##name(void) { \ core_gameData = &name##GameData; \ } \ BYVP_INPUT_PORTS_START(name, 1) BYVP_INPUT_PORTS_END /*----------------------------------------------------- / Baby Pac-Man (Video/Pinball Combo) (BY133-891: 10/82) /-----------------------------------------------------*/ INITGAMEVP(babypac,byVP_dispBabyPac,FLIP_SWNO(0,1),SNDBRD_BY45BP,0) BYVP_ROMSTARTx00(babypac, "891-u2.732", CRC(7f7242d1) SHA1(213a697bb7fc69f93ea04621f0fcfdd796f35196), "891-u6.732", CRC(6136d636) SHA1(c01a0a2fcad3bdabd649128e012ab558b1c90cd3), "891-u9.764", CRC(7fa570f3) SHA1(423ad9266b1ded00fa52ce4180d518874142a203), "891-u10.764",CRC(28f4df8b) SHA1(bd6a3598c2c90b5a3a59327616d2f5b9940d98bc), "891-u11.764",CRC(0a5967a4) SHA1(26d56ddea3f39d41e382449007bf7ba113c0285f), "891-u12.764",CRC(58cfe542) SHA1(e024d14019866bd460d1da6b901f9b786a76a181), "891-u29.764",CRC(0b57fd5d) SHA1(43a03e6d16c87c3305adb04722484f992f23a1bd)) BYVP_ROMEND CORE_GAMEDEFNVR90(babypac,"Baby Pac-Man (Video/Pinball Combo)",1982,"Bally",byVP_mVP1,0) BYVP_ROMSTARTx00(babypacn,"pacmann.u2", CRC(734710cb) SHA1(040943be6e1f3a750f3b2c705833699ec5845a80), "891-u6.732", CRC(6136d636) SHA1(c01a0a2fcad3bdabd649128e012ab558b1c90cd3), "babyvidn.u9",CRC(e937eb02) SHA1(391c4e2c2cd22bb06e2b4a4cef1ddc08040b8c43), "891-u10.764",CRC(28f4df8b) SHA1(bd6a3598c2c90b5a3a59327616d2f5b9940d98bc), "891-u11.764",CRC(0a5967a4) SHA1(26d56ddea3f39d41e382449007bf7ba113c0285f),