diff options
author | 2015-05-02 19:39:46 +0200 | |
---|---|---|
committer | 2015-05-02 19:39:46 +0200 | |
commit | a649a95488e1fc85813dda747dc74c596496bd1c (patch) | |
tree | 860c97ca011b64c31a5ad277f5cea2b1d86eeaf0 | |
parent | 1b4d3e06d8987c2801788f5ed9a8abdfe1e6eec1 (diff) |
Added ROM bank to data ROM, graphics are fixed. Needs an input overhaul because coins doesn't work and by default only one game is enabled.
-rw-r--r-- | src/mame/drivers/gambl186.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/mame/drivers/gambl186.c b/src/mame/drivers/gambl186.c index fe3c686cd65..139a5a2e569 100644 --- a/src/mame/drivers/gambl186.c +++ b/src/mame/drivers/gambl186.c @@ -55,15 +55,20 @@ public: int m_comms_blocks; bool m_comms_ack; + virtual void machine_start(); DECLARE_READ16_MEMBER(comms_r); DECLARE_WRITE16_MEMBER(comms_w); + DECLARE_WRITE16_MEMBER(data_bank_w); }; - +void gambl186_state::machine_start() +{ + membank("data_bank")->configure_entries(0, 4, memregion("data")->base(), 0x40000); +} static ADDRESS_MAP_START( gambl186_map, AS_PROGRAM, 16, gambl186_state ) AM_RANGE(0x00000, 0x0ffff) AM_RAM AM_SHARE("nvram") - AM_RANGE(0x40000, 0x4ffff) AM_ROM AM_REGION("data",0) // TODO: way bigger than this, banked? + AM_RANGE(0x40000, 0x7ffff) AM_ROMBANK("data_bank") // TODO: way bigger than this, banked? AM_RANGE(0xa0000, 0xbffff) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, mem_r, mem_w, 0xffff) AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("ipl",0) ADDRESS_MAP_END @@ -226,6 +231,13 @@ WRITE16_MEMBER(gambl186_state::comms_w) } } +WRITE16_MEMBER( gambl186_state::data_bank_w) +{ + membank("data_bank")->set_entry(data & 3); + if(data & 0xfffc) + popmessage("warning: set %04x to data bank",data); +} + static ADDRESS_MAP_START( gambl186_io, AS_IO, 16, gambl186_state ) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03b0_r, port_03b0_w, 0xffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", cirrus_gd5428_device, port_03c0_r, port_03c0_w, 0xffff) @@ -241,6 +253,7 @@ static ADDRESS_MAP_START( gambl186_io, AS_IO, 16, gambl186_state ) AM_RANGE(0x0584, 0x0585) AM_READ_PORT("DSW2") AM_WRITENOP // ??? AM_RANGE(0x0600, 0x0603) AM_WRITENOP // lamps AM_RANGE(0x0680, 0x0683) AM_READWRITE(comms_r, comms_w) + AM_RANGE(0x0700, 0x0701) AM_WRITE(data_bank_w) ADDRESS_MAP_END @@ -562,5 +575,5 @@ ROM_START( gambl186a ) ROM_END -GAME( 1999, gambl186, 0, gambl186, gambl186, driver_device, 0, ROT0, "<unknown>", "unknown 186 based gambling game (V398)", GAME_NOT_WORKING | GAME_NO_SOUND ) -GAME( 199?, gambl186a, gambl186, gambl186, gambl186, driver_device, 0, ROT0, "<unknown>", "unknown 186 based gambling game (V399)", GAME_NOT_WORKING | GAME_NO_SOUND ) +GAME( 1997, gambl186, 0, gambl186, gambl186, driver_device, 0, ROT0, "EGD", "Multi Game - Bingo 10 (V398)", GAME_NOT_WORKING | GAME_NO_SOUND ) +GAME( 199?, gambl186a, gambl186, gambl186, gambl186, driver_device, 0, ROT0, "EGD", "Multi Game - Bingo 10 (V399)", GAME_NOT_WORKING | GAME_NO_SOUND ) |