/* WMS Russian Fruit Machines (Mechanical?) x86 based */ #include "emu.h" #include "cpu/i386/i386.h" class wms_state : public driver_device { public: wms_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu") { } protected: // devices required_device m_maincpu; public: DECLARE_DRIVER_INIT(wms); }; static ADDRESS_MAP_START( wms_map, AS_PROGRAM, 32, wms_state ) AM_RANGE(0x00000000, 0x000fffff) AM_ROM AM_REGION("maincpu", 0 ) AM_RANGE(0xfff00000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0 ) ADDRESS_MAP_END static ADDRESS_MAP_START( wms_io, AS_IO, 32, wms_state ) ADDRESS_MAP_END static INPUT_PORTS_START( wms ) INPUT_PORTS_END static MACHINE_CONFIG_START( wms, wms_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", I486, 40000000 ) // ?? MCFG_CPU_PROGRAM_MAP(wms_map) MCFG_CPU_IO_MAP(wms_io) MACHINE_CONFIG_END ROM_START( wms ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "10.bin", 0x0e0000, 0x020000, CRC(cf901f7d) SHA1(009a28fede06d2ff7f476ff643bf27cddd2adbab) ) ROM_REGION(0x100000, "rom", ROMREGION_ERASE00) ROM_END ROM_START( wmsa ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "10cver4.010", 0x0e0000, 0x020000, CRC(fd310b97) SHA1(5745549258a1cefec4b3dddbe9d9a0d6281278e9) ) ROM_REGION(0x100000, "rom", ROMREGION_ERASE00) ROM_END ROM_START( wmsb ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "50cver4.010", 0x0e0000, 0x020000, CRC(eeeeab29) SHA1(898c05c0674a9978caaad4a0fe3650a9d9a56715) ) ROM_REGION(0x100000, "rom", ROMREGION_ERASE00) ROM_END ROM_START( btippers ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "xu-3.bin", 0x0000, 0x100000, CRC(96e362e3) SHA1(a0c35e9aa6bcbc5ffbf8750fa728294ef1e21b02) ) ROM_REGION(0x100000, "rom", 0) ROM_LOAD( "xu-2.bin", 0x0000, 0x100000, CRC(5468a57c) SHA1(3cb87c288bef1782b086a9d6d17f5c3a04aca3c8) ) ROM_LOAD( "xu-4.bin", 0x0000, 0x100000, CRC(460ce5b6) SHA1(a4e22fff508db1e36e30ce0ec2c4fefaee67dcfc) ) ROM_LOAD( "xu-5.bin", 0x0000, 0x100000, CRC(442ed657) SHA1(e4d33c85c22c44908a016521af53fc234a836b63) ) // sound ROM_LOAD( "xu-30.bin", 0x0000, 0x100000, CRC(2d7a9a0e) SHA1(0ab5752ca3bf360180caec219b7bfd478bb09cf4) ) ROM_LOAD( "xu-31.bin", 0x0000, 0x100000, CRC(5d767b66) SHA1(fb0866408657db540b85641ad5624885d7ef58ef) ) ROM_LOAD( "xu-17.bin", 0x0000, 0x100000, CRC(d4f533a9) SHA1(5ec53fed535fe6409481f99561c13e1fb98385ed) ) ROM_LOAD( "xu-18.bin", 0x0000, 0x100000, CRC(c845e18a) SHA1(3e20fbf6ac127a780a7a1517347e3cf7e951e5eb) ) ROM_END ROM_START( wmsboom ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "xu-3.bin", 0x0000, 0x100000, CRC(5008854d) SHA1(8d9d11775b6cbdef1c71683c4d92e64af26e8939) ) ROM_REGION(0x100000, "rom", 0) ROM_LOAD( "xu-2.bin", 0x0000, 0x100000, CRC(b1fc3e98) SHA1(372aab282905f1fe5781a87f2791d34c93aa0492) ) // sound ROM_LOAD( "xu-30.bin", 0x0000, 0x080000, CRC(ba1b2ab6) SHA1(087a360c1260484ad3bc0b2601003da9581a92b5) ) ROM_LOAD( "xu-31.bin", 0x0000, 0x080000, CRC(3ba6c20d) SHA1(2324a7bc83f695541bbf1a66c0559fea30f3d007) ) ROM_LOAD( "xu-17.bin", 0x0000, 0x080000, CRC(948e8104) SHA1(04bffd1bb2dc9b96550424e8be64a75907b4cbe4) ) ROM_LOAD( "xu-18.bin", 0x0000, 0x080000, CRC(68187707) SHA1(9a85fe5737ae372999f2bfaf50263c00fc9b22f4) ) ROM_END ROM_START( cashcrop ) ROM_REGION32_LE(0x100000, "maincpu", 0) ROM_LOAD( "xu-3.bin", 0x0000, 0x100000, CRC(e1918f25) SHA1(55c33c1f604a44caef65e712e69d21792161dfbc) ) ROM_REGION(0x100000, "rom", 0) ROM_LOAD( "xu-2.bin", 0x0000, 0x100000, CRC(22eb1718) SHA1(cc99997d446efd9df99a3e4f04589d1a47d2b638) ) ROM_LOAD( "xu-4.bin", 0x0000, 0x100000, CRC(4ce5b630) SHA1(84495ea66d7636a956324f7e8d334fd6aa74724f) ) ROM_LOAD( "xu-5.bin", 0x0000, 0x100000, CRC(3073a171) SHA1(7758500fcf8a8c0c43c464644de885a95b8ae152) ) // sound ROM_LOAD( "xu-30.bin", 0x0000, 0x100000, CRC(7090eefd) SHA1(f0bc2ab2da956ab3921774c839cab065a59e1daa) ) ROM_LOAD( "xu-31.bin", 0x0000, 0x100000, CRC(a8b01689) SHA1(15916b7f98a49dac848a6010f96d9ccac4a9e8f2) ) ROM_LOAD( "xu-17.bin", 0x0000, 0x100000, CRC(5fc10445)
// MAME-JavaScript function mappings
var JSMAME = JSMAME || {};
JSMAME.get_machine = Module.cwrap('_ZN15running_machine30emscripten_get_running_machineEv', 'number');
JSMAME.get_ui = Module.cwrap('_ZN15running_machine17emscripten_get_uiEv', 'number');
JSMAME.get_sound = Module.cwrap('_ZN15running_machine20emscripten_get_soundEv', 'number');
JSMAME.ui_set_show_fps = Module.cwrap('_ZN15mame_ui_manager12set_show_fpsEb', '', ['number', 'number']);
JSMAME.ui_get_show_fps = Module.cwrap('_ZNK15mame_ui_manager8show_fpsEv', 'number', ['number']);
JSMAME.sound_manager_mute = Module.cwrap('_ZN13sound_manager4muteEbh', '', ['number', 'number', 'number']);
JSMAME.sdl_pauseaudio = Module.cwrap('SDL_PauseAudio', '', ['number']);
JSMAME.sdl_sendkeyboardkey = Module.cwrap('SDL_SendKeyboardKey', '', ['number', 'number']);

JSMAME.soft_reset = Module.cwrap('_ZN15running_machine21emscripten_soft_resetEv', null);
JSMAME.hard_reset = Module.cwrap('_ZN15running_machine21emscripten_hard_resetEv', null);
JSMAME.exit = Module.cwrap('_ZN15running_machine15emscripten_exitEv', null, []);
JSMAME.save = Module.cwrap('_ZN15running_machine15emscripten_saveEPKc', null, ['string']);
JSMAME.load = Module.cwrap('_ZN15running_machine15emscripten_loadEPKc', null, ['string']);

var JSMESS = JSMAME;
ROM_REGION(0x100000, "rom", 0) ROM_LOAD( "xu-2.bin", 0x0000, 0x100000, CRC(a1330976) SHA1(d1307f2bd2f4d407b38557507ecbf94e3a5b43d1) ) ROM_LOAD( "xu-4.bin", 0x0000, 0x100000, CRC(e5d722cd) SHA1(eacbd9bac5f1f931ae951f3f746851ac3237442a) ) ROM_LOAD( "xu-5.bin", 0x0000, 0x100000, CRC(cae8cb45) SHA1(64647f1392e7ac870058461cb9f128ac61182906) ) // sound ROM_LOAD( "xu-30.bin", 0x0000, 0x100000, CRC(0c4fd3a0) SHA1(6371cb9d108be20d717a92c26a87666b6bb676fc) ) ROM_LOAD( "xu-31.bin", 0x0000, 0x100000, CRC(4d30c67c) SHA1(feda6b0e09bd39e871685c89a6566986012c4099) ) ROM_LOAD( "xu-17.bin", 0x0000, 0x100000, CRC(56f03f5d) SHA1(93c5a7698dd10a97f1f386c27560a816a779beb1) ) ROM_LOAD( "xu-18.bin", 0x0000, 0x100000, CRC(5978592d) SHA1(7716070894e2b201e37a290b3a8bcf44ce54ea6c) ) ROM_END DRIVER_INIT_MEMBER(wms_state,wms) { } GAME( 200?, wms, 0, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 1)", GAME_IS_SKELETON ) GAME( 200?, wmsa, wms, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 2)", GAME_IS_SKELETON ) GAME( 200?, wmsb, wms, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 3)", GAME_IS_SKELETON ) GAME( 200?, btippers, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Big Tippers (Russia)", GAME_IS_SKELETON ) GAME( 200?, wmsboom, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Boom (Russia)", GAME_IS_SKELETON ) GAME( 200?, cashcrop, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Cash Crop (Russia)", GAME_IS_SKELETON ) GAME( 200?, filthyr, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Filthy Rich (Russia)", GAME_IS_SKELETON ) GAME( 200?, hottop, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Hot Toppings (Russia)", GAME_IS_SKELETON ) GAME( 200?, inwinner, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Instant Winner (Russia)", GAME_IS_SKELETON ) GAME( 200?, jptparty, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Jackpot Party (Russia)", GAME_IS_SKELETON ) GAME( 200?, leprgld, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Leprechaun's Gold (Russia)", GAME_IS_SKELETON ) GAME( 200?, lol, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Life of Luxury (Russia)", GAME_IS_SKELETON ) GAME( 200?, lovewin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Love To Win (Russia)", GAME_IS_SKELETON ) GAME( 200?, mtburn, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Money To Burn (Russia)", GAME_IS_SKELETON ) GAME( 200?, otchart, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Off The Charts (Russia)", GAME_IS_SKELETON ) GAME( 200?, perfect, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Perfect Game (Russia)", GAME_IS_SKELETON ) GAME( 200?, reelemin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Reel 'Em In (Russia)", GAME_IS_SKELETON ) GAME( 200?, sonoth, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Something For Nothing (Russia)", GAME_IS_SKELETON ) GAME( 200?, swingin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Swingin In The Green (Russia)", GAME_IS_SKELETON ) GAME( 200?, wmstopb, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Top Banana (Russia)", GAME_IS_SKELETON ) GAME( 200?, wdun, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Who Dunnit (Russia)", GAME_IS_SKELETON ) GAME( 200?, winbid, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Winning Bid (Russia)", GAME_IS_SKELETON ) GAME( 200?, wldstrek, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Wild Streak (Russia)", GAME_IS_SKELETON ) GAME( 200?, yukongld, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Yukon Gold (Russia)", GAME_IS_SKELETON )