trunk/src/mame/drivers/4enraya.c
| r31428 | r31429 | |
| 1 | 1 | /*************************************************************************** |
| 2 | 2 | |
| 3 | | IDSA 4 En Raya |
| 3 | IDSA 4 En Raya. |
| 4 | 4 | |
| 5 | | Driver by Tomasz Slanina |
| 5 | Driver by Tomasz Slanina. |
| 6 | Additional work by Roberto Fresca. |
| 6 | 7 | |
| 7 | | TODO: |
| 8 | | - video and irq timings; |
| 9 | | - there's a waitstate penalty on the VRAM apparently? |
| 10 | | - unknown Pac-Man gambling game (whats the real title?) sound issues |
| 11 | 8 | |
| 9 | Supported games: |
| 10 | |
| 11 | 4 En Raya (set 1), 1990, IDSA. |
| 12 | 4 En Raya (set 2), 1990, IDSA. |
| 13 | unknown Pac-Man gambling game, 1990, Unknown. |
| 14 | |
| 15 | |
| 16 | TODO: |
| 17 | - Video and IRQ timings; |
| 18 | - Is there a waitstate penalty on the VRAM, apparently? |
| 19 | |
| 20 | |
| 12 | 21 | *************************************************************************** |
| 13 | 22 | |
| 14 | | RAM : |
| 15 | | 1 x GM76c28-10 (6116) RAM |
| 16 | | 3 x 2114 - VRAM (only 10 bits are used ) |
| 23 | RAM : |
| 24 | 1 x GM76c28-10 (6116) RAM |
| 25 | 3 x 2114 - VRAM (only 10 bits are used ) |
| 17 | 26 | |
| 18 | | ROM: |
| 27 | ROM: |
| 19 | 28 | 27256 + 27128 for code/data |
| 20 | 29 | 3x2764 for gfx |
| 21 | 30 | |
| 22 | | PROM: |
| 23 | | 82S123 32x8 |
| 24 | | Used for system control |
| 25 | | (d0 - connected to ROM5 /CS , d1 - ROM4 /CS, d2 - RAM /CS , d3 - to some logic(gfx control), and Z80 WAIT ) |
| 31 | PROM: |
| 32 | 82S123 32x8 |
| 33 | Used for system control |
| 34 | (d0 - connected to ROM5 /CS , d1 - ROM4 /CS, d2 - RAM /CS , d3 - to some logic(gfx control), and Z80 WAIT ) |
| 26 | 35 | |
| 27 | | Memory Map : |
| 36 | Memory Map : |
| 28 | 37 | 0x0000 - 0xbfff - ROM |
| 29 | 38 | 0xc000 - 0xcfff - RAM |
| 30 | 39 | 0xd000 - 0xdfff - VRAM mirrored write, |
| r31428 | r31429 | |
| 33 | 42 | 0xe000 - 0xefff - VRAM mirror |
| 34 | 43 | 0xf000 - 0xffff - (unconnected) |
| 35 | 44 | |
| 36 | | Video : |
| 37 | | No scrolling , no sprites. |
| 38 | | 32x32 Tilemap stored in VRAM (10 bits/tile (tile numebr 0-1023)) |
| 45 | Video : |
| 46 | No scrolling , no sprites. |
| 47 | 32x32 Tilemap stored in VRAM (10 bits/tile (tile numebr 0-1023)) |
| 39 | 48 | |
| 40 | | 3 gfx ROMS |
| 41 | | ROM1 - R component (ROM ->(parallel in) shift register 74166 (serial out) -> jamma output |
| 42 | | ROM2 - G component |
| 43 | | ROM3 - B component |
| 49 | 3 gfx ROMS |
| 50 | ROM1 - R component (ROM ->(parallel in) shift register 74166 (serial out) -> jamma output |
| 51 | ROM2 - G component |
| 52 | ROM3 - B component |
| 44 | 53 | |
| 45 | | Sound : |
| 46 | | AY 3 8910 |
| 54 | Sound : |
| 55 | AY 3 8910 |
| 47 | 56 | |
| 48 | | sound_control : |
| 57 | sound_control : |
| 49 | 58 | |
| 50 | 59 | bit 0 - BC1 |
| 51 | 60 | bit 1 - BC2 |
| r31428 | r31429 | |
| 57 | 66 | |
| 58 | 67 | Unknown Pac-Man gambling game. |
| 59 | 68 | |
| 60 | | How to play... |
| 69 | It's a basic Pac-Man front game, that has a gambling game hidden inside. |
| 70 | The purpose of this "stealth" game, is just to be a "camouflage" for the |
| 71 | real gambling game, for locations where the gambling games are forbidden. |
| 61 | 72 | |
| 73 | |
| 74 | How to play the Pac-Man front game: |
| 75 | |
| 76 | Just Coin using Coin A or B, Start the game with START button, and use |
| 77 | the arrow keys to control the Pac-Man. |
| 78 | |
| 79 | |
| 80 | How to play the Pac-Man gambling game: |
| 81 | |
| 62 | 82 | Just coin up using Gambling Coin In (key 7). All ghosts will be placed |
| 63 | | around the center. (each ghost represent a number/card). |
| 83 | around the center. (each ghost represent a number). |
| 64 | 84 | |
| 65 | | Bet using START, and once done, press UP, to allow the pacman eat all ghosts, |
| 66 | | revealing the five numbers (like italian poker games without cards). |
| 85 | Bet using START, and once done, press UP (deal), to allow the pacman eat all |
| 86 | ghosts, revealing the five numbers (like italian poker games without cards). |
| 67 | 87 | |
| 68 | 88 | Now you have an arrow as cursor. Place it under the each number you want to |
| 69 | 89 | discard and press START to eliminate the number and place the representative |
| 70 | | ghost again around. |
| 90 | ghost again in the original place outside the center. |
| 71 | 91 | |
| 72 | | Once done, just press UP again, and pacman will re-eat the new placed |
| 92 | Once done, just press UP (deal) again, and pacman will re-eat the new placed |
| 73 | 93 | ghosts, revealing the new numbers (as a new deal). |
| 74 | 94 | |
| 75 | | If you have a winning hand, you can press DOWN to get a Double-Up. |
| 76 | | Choose left or right for Big and Small. If you win, you'll double the bet |
| 77 | | amount. If you lose, your pacman will die. |
| 95 | If you have a winning hand, you can press DOWN (double-up) to get a Double-Up, |
| 96 | or UP (deal/take) to collect the winnings. |
| 78 | 97 | |
| 98 | If you're playing the Double-Up, choose left or right for Big and Small. |
| 99 | If you win, you'll get the bet amount x2. If you lose, your pacman will die. |
| 100 | |
| 79 | 101 | Coin with A or B to exit the gambling game and play the ultra-adictive |
| 80 | 102 | pacman front game again!... |
| 81 | 103 | |
| 104 | *************************************************************************** |
| 82 | 105 | |
| 106 | Unknown Pac-Man gambling game technical notes... |
| 107 | |
| 108 | The program checks the port 01h, bit7, for the sound hardware type. |
| 109 | |
| 110 | - Type 1: AY-3-8910 mapped at 17h, 27h, 37h. |
| 111 | - Type 2: Unknown device mapped at 20h, 30h. |
| 112 | |
| 113 | I strongly think is selectable through a switch, so I hooked one till we |
| 114 | have evidence of the contrary. |
| 115 | |
| 116 | |
| 83 | 117 | ***************************************************************************/ |
| 84 | 118 | |
| 85 | 119 | #include "emu.h" |
| r31428 | r31429 | |
| 90 | 124 | #define MAIN_CLOCK XTAL_8MHz |
| 91 | 125 | |
| 92 | 126 | |
| 127 | /*********************************** |
| 128 | * Custom Handlers * |
| 129 | ***********************************/ |
| 130 | |
| 93 | 131 | WRITE8_MEMBER(_4enraya_state::sound_data_w) |
| 94 | 132 | { |
| 95 | 133 | m_soundlatch = data; |
| r31428 | r31429 | |
| 172 | 210 | } |
| 173 | 211 | } |
| 174 | 212 | |
| 213 | |
| 214 | /*********************************** |
| 215 | * Memory Map Information * |
| 216 | ***********************************/ |
| 217 | |
| 175 | 218 | static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _4enraya_state ) |
| 176 | 219 | AM_RANGE(0x0000, 0xffff) AM_READWRITE(fenraya_custom_map_r, fenraya_custom_map_w) |
| 177 | 220 | ADDRESS_MAP_END |
| r31428 | r31429 | |
| 185 | 228 | AM_RANGE(0x33, 0x33) AM_WRITE(sound_control_w) |
| 186 | 229 | ADDRESS_MAP_END |
| 187 | 230 | |
| 231 | |
| 188 | 232 | static ADDRESS_MAP_START( unkpacg_main_map, AS_PROGRAM, 8, _4enraya_state ) |
| 189 | 233 | AM_RANGE(0x0000, 0x1fff) AM_ROM |
| 190 | 234 | AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram") |
| r31428 | r31429 | |
| 197 | 241 | AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") |
| 198 | 242 | AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") |
| 199 | 243 | AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") |
| 200 | | AM_RANGE(0x20, 0x20) AM_WRITE(sound_data_w) |
| 201 | | AM_RANGE(0x30, 0x30) AM_WRITE(sound_control_w) |
| 244 | // AM_RANGE(0x03, 0x03) AM_WRITE("out_w") // to investigate... |
| 245 | AM_RANGE(0x17, 0x17) AM_DEVWRITE("aysnd", ay8910_device, data_w) |
| 246 | AM_RANGE(0x27, 0x27) AM_DEVREAD("aysnd", ay8910_device, data_r) |
| 247 | AM_RANGE(0x37, 0x37) AM_DEVWRITE("aysnd", ay8910_device, address_w) |
| 202 | 248 | ADDRESS_MAP_END |
| 203 | 249 | |
| 204 | 250 | |
| 205 | | /*************************************************************************** |
| 251 | /*********************************** |
| 252 | * Input Ports * |
| 253 | ***********************************/ |
| 206 | 254 | |
| 207 | | Inputs |
| 208 | | |
| 209 | | ***************************************************************************/ |
| 210 | | |
| 211 | 255 | static INPUT_PORTS_START( 4enraya ) |
| 212 | 256 | PORT_START("DSW") |
| 213 | 257 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:1") |
| r31428 | r31429 | |
| 255 | 299 | INPUT_PORTS_END |
| 256 | 300 | |
| 257 | 301 | static INPUT_PORTS_START( unkpacg ) |
| 302 | PORT_START("IN1") |
| 303 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Front Game Coin A") // 1 credits / initiate minigame |
| 304 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Gambling Game Coin In") // 5 credits / initiate gambling |
| 305 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Front Game Coin B") // 10 credits |
| 306 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 307 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 308 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 309 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 310 | |
| 311 | PORT_DIPNAME( 0x80, 0x00, "Sound Hardware") |
| 312 | PORT_DIPSETTING( 0x00, "Type 1 (AY-3-8910 mapped at 17h, 27h, 37h)" ) |
| 313 | PORT_DIPSETTING( 0x80, "Type 2 (Unknown device mapped at 20h, 30h)" ) |
| 314 | |
| 315 | PORT_START("IN2") |
| 316 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Bet / Discard") |
| 317 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("Up / Deal / Take") |
| 318 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_NAME("Left / Small") |
| 319 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME("Right / Big") |
| 320 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 321 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Down / Double-Up") |
| 322 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 323 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 324 | |
| 258 | 325 | PORT_START("DSW1") |
| 259 | | PORT_DIPNAME( 0x01, 0x00, "0-0") |
| 326 | PORT_DIPNAME( 0x01, 0x00, "DSW1-1") |
| 260 | 327 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 261 | 328 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 262 | | |
| 263 | | PORT_DIPNAME( 0x02, 0x00, "0-1") |
| 329 | PORT_DIPNAME( 0x02, 0x00, "DSW1-2") |
| 264 | 330 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 265 | 331 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 266 | | |
| 267 | | PORT_DIPNAME( 0x04, 0x00, "0-2") |
| 332 | PORT_DIPNAME( 0x04, 0x00, "DSW1-3") |
| 268 | 333 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 269 | 334 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 270 | | |
| 271 | | PORT_DIPNAME( 0x08, 0x00, "0-3") |
| 335 | PORT_DIPNAME( 0x08, 0x00, "DSW1-4") |
| 272 | 336 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 273 | 337 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 274 | | |
| 275 | | PORT_DIPNAME( 0x10, 0x00, "0-4") |
| 338 | PORT_DIPNAME( 0x10, 0x00, "DSW1-5") |
| 276 | 339 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 277 | 340 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 278 | | |
| 279 | | PORT_DIPNAME( 0x20, 0x00, "0-5") |
| 341 | PORT_DIPNAME( 0x20, 0x00, "DSW1-6") |
| 280 | 342 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 281 | 343 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 282 | | |
| 283 | | PORT_DIPNAME( 0x40, 0x00, "0-6") |
| 344 | PORT_DIPNAME( 0x40, 0x00, "DSW1-7") |
| 284 | 345 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 285 | 346 | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 286 | | |
| 287 | | PORT_DIPNAME( 0x80, 0x00, "0-7") |
| 347 | PORT_DIPNAME( 0x80, 0x00, "DSW1-8") |
| 288 | 348 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 289 | 349 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 290 | 350 | |
| 291 | | PORT_START("IN1") |
| 292 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Front Game Coin A") // 1 credits / initiate minigame |
| 293 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Gambling Game Coin In") // 5 credits / initiate gambling |
| 294 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Front Game Coin B") // 10 credits |
| 295 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 296 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 297 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 298 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 299 | | |
| 300 | | PORT_DIPNAME( 0x80, 0x80, "DIP8") |
| 351 | PORT_START("DSW2") |
| 352 | PORT_DIPNAME( 0x01, 0x00, "DSW2-1") |
| 301 | 353 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 354 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 355 | PORT_DIPNAME( 0x02, 0x00, "Gambling Game") |
| 356 | PORT_DIPSETTING( 0x02, DEF_STR( No ) ) |
| 357 | PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) |
| 358 | PORT_DIPNAME( 0x04, 0x00, "DSW2-3") |
| 359 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 360 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 361 | PORT_DIPNAME( 0x08, 0x00, "DSW2-4") |
| 362 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 363 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 364 | PORT_DIPNAME( 0x10, 0x00, "DSW2-5") |
| 365 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 366 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 367 | PORT_DIPNAME( 0x20, 0x00, "DSW2-6") |
| 368 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 369 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 370 | PORT_DIPNAME( 0x40, 0x00, "Gambling Game Credits Value") |
| 371 | PORT_DIPSETTING( 0x40, "1 Credit/Point = 100" ) |
| 372 | PORT_DIPSETTING( 0x00, "1 Credit/Point = 500" ) |
| 373 | PORT_DIPNAME( 0x80, 0x00, "Clear NVRAM (On, reset, Off, reset)") |
| 374 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 302 | 375 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 303 | 376 | |
| 304 | | PORT_START("IN2") |
| 305 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Discard") |
| 306 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_NAME("UP / Deal") |
| 307 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_NAME("Left / Small") |
| 308 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME("Right / Big") |
| 309 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 310 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_NAME("Down / Double-Up") |
| 311 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 312 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 313 | 377 | INPUT_PORTS_END |
| 314 | 378 | |
| 315 | 379 | |
| 380 | /*********************************** |
| 381 | * GFX Layouts & GFX decode * |
| 382 | ***********************************/ |
| 383 | |
| 316 | 384 | static const gfx_layout charlayout = |
| 317 | 385 | { |
| 318 | 386 | 8,8, |
| r31428 | r31429 | |
| 328 | 396 | GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) |
| 329 | 397 | GFXDECODE_END |
| 330 | 398 | |
| 399 | |
| 400 | /*********************************** |
| 401 | * Machine Start & Reset * |
| 402 | ***********************************/ |
| 403 | |
| 331 | 404 | void _4enraya_state::machine_start() |
| 332 | 405 | { |
| 333 | 406 | save_item(NAME(m_videoram)); |
| r31428 | r31429 | |
| 343 | 416 | m_soundlatch = 0; |
| 344 | 417 | } |
| 345 | 418 | |
| 419 | |
| 420 | /*********************************** |
| 421 | * Machine Drivers * |
| 422 | ***********************************/ |
| 423 | |
| 346 | 424 | static MACHINE_CONFIG_START( 4enraya, _4enraya_state ) |
| 347 | 425 | |
| 348 | 426 | /* basic machine hardware */ |
| r31428 | r31429 | |
| 368 | 446 | /* sound hardware */ |
| 369 | 447 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 370 | 448 | MCFG_SOUND_ADD("aysnd", AY8910, MAIN_CLOCK/4) /* guess */ |
| 371 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) |
| 449 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.3) |
| 372 | 450 | MACHINE_CONFIG_END |
| 373 | 451 | |
| 452 | |
| 374 | 453 | static MACHINE_CONFIG_DERIVED( unkpacg, 4enraya ) |
| 375 | 454 | |
| 376 | 455 | /* basic machine hardware */ |
| r31428 | r31429 | |
| 378 | 457 | MCFG_CPU_PROGRAM_MAP(unkpacg_main_map) |
| 379 | 458 | MCFG_CPU_IO_MAP(unkpacg_main_portmap) |
| 380 | 459 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 460 | |
| 461 | /* sound hardware */ |
| 462 | // MCFG_SPEAKER_STANDARD_MONO("mono") |
| 463 | MCFG_SOUND_REPLACE("aysnd", AY8910, MAIN_CLOCK/4) /* guess */ |
| 464 | MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW2")) |
| 465 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 381 | 466 | MACHINE_CONFIG_END |
| 382 | 467 | |
| 383 | 468 | |
| 384 | | /*************************************************************************** |
| 469 | /*********************************** |
| 470 | * Rom Load * |
| 471 | ***********************************/ |
| 385 | 472 | |
| 386 | | Game driver(s) |
| 387 | | |
| 388 | | ***************************************************************************/ |
| 389 | | |
| 390 | 473 | ROM_START( 4enraya ) |
| 391 | 474 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 392 | 475 | ROM_LOAD( "5.bin", 0x0000, 0x8000, CRC(cf1cd151) SHA1(3920b0a6ed5798859158871b578b01ec742b0d13) ) |
| r31428 | r31429 | |
| 428 | 511 | ROM_END |
| 429 | 512 | |
| 430 | 513 | |
| 514 | /*********************************** |
| 515 | * Driver Init * |
| 516 | ***********************************/ |
| 517 | |
| 431 | 518 | DRIVER_INIT_MEMBER(_4enraya_state, unkpacg) |
| 432 | 519 | { |
| 433 | 520 | // descramble rom |
| r31428 | r31429 | |
| 437 | 524 | } |
| 438 | 525 | |
| 439 | 526 | |
| 440 | | GAME( 1990, 4enraya, 0, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya (set 1)", GAME_SUPPORTS_SAVE ) |
| 441 | | GAME( 1990, 4enrayaa, 4enraya, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya (set 2)", GAME_SUPPORTS_SAVE ) |
| 442 | | GAME( 199?, unkpacg, 0, unkpacg, unkpacg, _4enraya_state, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_IMPERFECT_SOUND ) |
| 527 | /*********************************** |
| 528 | * Game Drivers * |
| 529 | ***********************************/ |
| 530 | |
| 531 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ |
| 532 | GAME( 1990, 4enraya, 0, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya (set 1)", GAME_SUPPORTS_SAVE ) |
| 533 | GAME( 1990, 4enrayaa, 4enraya, 4enraya, 4enraya, driver_device, 0, ROT0, "IDSA", "4 En Raya (set 2)", GAME_SUPPORTS_SAVE ) |
| 534 | GAME( 199?, unkpacg, 0, unkpacg, unkpacg, _4enraya_state, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_SUPPORTS_SAVE ) |