mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
New working driver for older InterFlip gambling games. [Grull Osgo, Roberto Fresca]
This commit is contained in:
parent
8ffc355ac5
commit
9af87ebaf3
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2114,6 +2114,7 @@ src/mame/drivers/vertigo.c svneol=native#text/plain
|
||||
src/mame/drivers/vicdual.c svneol=native#text/plain
|
||||
src/mame/drivers/victory.c svneol=native#text/plain
|
||||
src/mame/drivers/videopin.c svneol=native#text/plain
|
||||
src/mame/drivers/videopkr.c svneol=native#text/plain
|
||||
src/mame/drivers/vigilant.c svneol=native#text/plain
|
||||
src/mame/drivers/vindictr.c svneol=native#text/plain
|
||||
src/mame/drivers/viper.c svneol=native#text/plain
|
||||
|
@ -65,6 +65,7 @@ enum
|
||||
XTAL_7MHz = 7000000, /* Jaleco Mega System PCBs */
|
||||
XTAL_7_15909MHz = 7159090, /* Blood Bros */
|
||||
XTAL_7_3728MHz = 7372800,
|
||||
XTAL_7_8643MHz = 7864300, /* Used on InterFlip games as video clock */
|
||||
XTAL_8MHz = 8000000, /* Extremely common, used on 100's of PCBs */
|
||||
XTAL_8_664MHz = 8664000, /* Touchmaster */
|
||||
XTAL_9_987MHz = 9987000, /* Crazy Balloon */
|
||||
|
959
src/mame/drivers/videopkr.c
Normal file
959
src/mame/drivers/videopkr.c
Normal file
@ -0,0 +1,959 @@
|
||||
/*************************************************************************
|
||||
|
||||
VIDEO POKER - INTERFLIP
|
||||
-----------------------
|
||||
|
||||
Original driver by Grull Osgo.
|
||||
Rewrite and additional work by Roberto Fresca.
|
||||
|
||||
|
||||
Games running on this hardware:
|
||||
|
||||
* Video Poker, 1984, InterFlip.
|
||||
* Black Jack, 1984, InterFlip.
|
||||
* Video Dado, 1987, InterFlip.
|
||||
* Video Cordoba, 1987, InterFlip.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
|
||||
|
||||
History:
|
||||
========
|
||||
|
||||
InterFlip (Spain), is a subsidiary of Recreativos Franco.
|
||||
This company was created mainly with the purpose of manufacture
|
||||
and distribute export-class games.
|
||||
|
||||
These machines were build in upright wood style cabinets, and compliment
|
||||
with class "C" (for casinos) spanish gaming regulations.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
|
||||
|
||||
Hardware Info
|
||||
=============
|
||||
|
||||
This is a two board system: Main & Sound board.
|
||||
|
||||
|
||||
* Main board:
|
||||
|
||||
1x Intel 8039 CPU Clocked @ 6/8 MHz.
|
||||
2x 2716 EPROM Program ROM.
|
||||
2x 2716 EPROM Character/graphics ROM.
|
||||
1x 5101 (256 x 4) SRAM Data Memory (Battery Backed RAM).
|
||||
2x 2114 (1024 x 4) SRAM 8-Bit Char. RAM.
|
||||
1x 2114 (1024 x 4) SRAM 4-Bit Color RAM.
|
||||
1x 74s287 (256 x 4) TTL PROM Color PROM.
|
||||
|
||||
1x 6 MHz.(or 8 MHz.) Crystal CPU clock.
|
||||
1x 7.8643 MHz. Crystal Video System.
|
||||
|
||||
1x 3.6 Ni-Cd Battery Data Memory.
|
||||
|
||||
TTL type Raster video Configurable HIGH-LOW resolution through hardware jumper.
|
||||
Configurable 50Hz-60Hz V-Sync through hardware jumper.
|
||||
|
||||
I/O System Buffered, latched & optocoupled.
|
||||
|
||||
|
||||
* Sound board:
|
||||
|
||||
1x Intel 8039 CPU Clocked @ 8 MHz.
|
||||
2x 2716 EPROM Program ROM.
|
||||
1x 1408 DAC
|
||||
1x 8.0000 MHz. Crystal
|
||||
|
||||
|
||||
********************************************************************************
|
||||
|
||||
|
||||
Main CPU Memory Map
|
||||
===================
|
||||
|
||||
0x0000 - 0x0FFF Program ROM.
|
||||
|
||||
Data & Video RAM are mapped through I/O hardware implementations due to
|
||||
I8039 memory addressing restrictions.
|
||||
|
||||
|
||||
Main CPU I/0 Map
|
||||
================
|
||||
|
||||
P1.0 ; Used at bit level, Aux_0 signal.
|
||||
P1.1 ; Used at bit level, Aux_1 signal.
|
||||
P1.2 ; Used at bit level, Aux_2 signal.
|
||||
P1.3 ; Used at bit level, Aux_3 signal.
|
||||
P1.4 ; Used at bit level, Aux_4 signal & Sound Latch bit 3
|
||||
P1.5 ; Used at bit level, Aux_5 signal & Sound Latch bit 0
|
||||
P1.6 ; Expands address bus for video and color RAM access (V.A8)
|
||||
P1.7 ; Expands address bus for video and color RAM access (V.A9)
|
||||
|
||||
P2.0 - P2.3: ; I8039 as address bus expansion (Program memory - High address nibble).
|
||||
|
||||
P2.4: ; Reads 8 bits from data buffer input port (interface for switch encoder).
|
||||
Bit 0: Lamp_1.
|
||||
Bit 1: Lamp_2.
|
||||
Bit 2: Lamp_3.
|
||||
Bit 3: Lamp_4.
|
||||
Bit 4: Coin Acceptor.
|
||||
Bit 5: Hopper 1 & Sound Latch bit 1.
|
||||
Bit 6: Hopper 2 & Sound Latch bit 2.
|
||||
Bit 7: Diverter.
|
||||
|
||||
Writes 8 bits to data latch out port (lamps, relays and coils).
|
||||
Bit 0: SW_encoder_0.
|
||||
Bit 1: SW_encoder_1.
|
||||
Bit 2: SW_encoder_2.
|
||||
Bit 3: SW_encoder_3.
|
||||
Bit 4: Coin Out.
|
||||
Bit 5: Undocumented jumper.
|
||||
Bit 6: N/U (pulled up).
|
||||
Bit 7: N/U (pulled up).
|
||||
|
||||
P2.5: ; Enable access to data RAM.
|
||||
P2.6: ; Enable access to video RAM (write mode) - no read mode.
|
||||
P2.7: ; Enable access to color RAM (write Mode) - no read mode.
|
||||
|
||||
|
||||
********************************************************************************
|
||||
|
||||
|
||||
Game Info
|
||||
=========
|
||||
|
||||
Pay Tables:
|
||||
|
||||
These machines had its pay tables out of screen, in the upper front panel (backlighted).
|
||||
|
||||
|
||||
Video Poker (Spanish text only)
|
||||
----------------------------------------------------------------------------
|
||||
Fichas Jugadas 1 Ficha 2 Fichas 3 Fichas 4 Fichas 5 Fichas
|
||||
----------------------------------------------------------------------------
|
||||
Escalera Maxima 250 500 750 1000 4000
|
||||
de color
|
||||
|
||||
Escalera de Color 100 200 300 400 500
|
||||
|
||||
Poker 50 100 150 200 250
|
||||
|
||||
Full 11 22 33 44 55
|
||||
|
||||
Color 7 14 21 28 35
|
||||
|
||||
Escalera 5 10 15 20 25
|
||||
|
||||
Trio 3 6 9 12 15
|
||||
|
||||
Doble Pareja 2 4 6 8 10
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
Black Jack (Spanish text only)
|
||||
----------------------------------------------------------------------------
|
||||
Fichas Jugadas 1 Ficha 2 Fichas 3 Fichas 4 Fichas 5 Fichas
|
||||
----------------------------------------------------------------------------
|
||||
Empate 1 2 3 4 5
|
||||
|
||||
La Banca se pasa 2 4 6 8 10
|
||||
|
||||
Jugador tiene mas 2 4 6 8 10
|
||||
que la banca
|
||||
|
||||
Jugador tiene menos 2 4 6 8 10
|
||||
de 22 con 6 cartas
|
||||
|
||||
Jugador tiene blackjack 2 5 7 10 12
|
||||
y la Banca no
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
Video Cordoba
|
||||
----------------------------------------------------------------------------
|
||||
Fichas Jugadas 1 Ficha 2 Fichas 3 Fichas 4 Fichas 5 Fichas
|
||||
----------------------------------------------------------------------------
|
||||
TRIPLE BAR 250 250 250 250 2000
|
||||
............................................................................
|
||||
3 x Doble Bar - 100 | Olive-Olive-Any Bar - 18
|
||||
3 x Single Bar - 50 | 3 x Orange - 14
|
||||
3 x Any Bar - 20 | Orange-Orange-Any Bar - 14
|
||||
3 x Bell - 20 | 3 x Cherry - 10
|
||||
Bell-Bell-Any Bar - 20 | 2 x Cherry - 5
|
||||
3 x Olive - 10 | 1 x Cherry - 2
|
||||
............................................................................
|
||||
All combinations are valid only from left to rigth
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
Video Dado
|
||||
---------------------------------------------
|
||||
Twelve (12) 33 x 1
|
||||
Eleven (11) 16 x 1
|
||||
Crap (2,3,12) 8 x 1
|
||||
Seven (7) 5 x 1
|
||||
Field (2,12) 3 x 1
|
||||
8 or More (8,9,10,11,12) 2 x 1
|
||||
6 or Less (2,3,4,5,6) 2 x 1
|
||||
|
||||
Winnings less or equal to 25 can be re-played
|
||||
---------------------------------------------
|
||||
|
||||
|
||||
All payments with less than 400 coins are done through hopper.
|
||||
(you need to press "Coin Out" button once per coin due to the lack of hopper emulation)
|
||||
|
||||
Payments over 400 coins are manual.
|
||||
|
||||
|
||||
**************************************************************************
|
||||
|
||||
|
||||
TO DO
|
||||
=====
|
||||
|
||||
* Fix the bug on bookeeping mode (videodad & videocba).
|
||||
* Figure out the undocumented jumper.
|
||||
* Properly dump the videocba color PROM.
|
||||
* Button-lamps layout.
|
||||
* Hopper simulation.
|
||||
* Decode output ports for electromechanical counters.
|
||||
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
#define CPU_CLOCK (XTAL_6MHz) /* main cpu clock */
|
||||
#define CPU_CLOCK_ALT (XTAL_8MHz) /* alternative main cpu clock for newer games */
|
||||
#define SOUND_CLOCK (XTAL_8MHz) /* sound cpu clock */
|
||||
#define VIDEO_CLOCK (XTAL_7.8643MHz)
|
||||
|
||||
|
||||
#include "driver.h"
|
||||
#include "cpu/mcs48/mcs48.c"
|
||||
#include "sound/dac.h"
|
||||
|
||||
#define DATA_NVRAM_SIZE 0x100
|
||||
|
||||
static UINT8 data_ram[0x100];
|
||||
static UINT8 video_ram[0x0400];
|
||||
static UINT8 color_ram[0x0400];
|
||||
static UINT16 p1, p2;
|
||||
static UINT8 t0_latch;
|
||||
static UINT16 n_offs;
|
||||
static emu_timer *t1_timer;
|
||||
|
||||
static UINT8 vp_sound_p2;
|
||||
static UINT8 p24_data;
|
||||
static UINT8 sound_latch;
|
||||
static UINT8 sound_ant;
|
||||
static UINT8 dc_4020;
|
||||
static UINT8 dc_40103;
|
||||
static UINT8 te_40103;
|
||||
static UINT8 ld_40103;
|
||||
|
||||
UINT8 c_io, hp_1, hp_2, bell, aux3;
|
||||
|
||||
|
||||
/*************************
|
||||
* Video Hardware *
|
||||
*************************/
|
||||
|
||||
static tilemap *bg_tilemap;
|
||||
|
||||
|
||||
PALETTE_INIT( videopkr )
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < machine->config->total_colors; i++)
|
||||
{
|
||||
int r, g, b, j;
|
||||
|
||||
j = 0x30 * ((color_prom[i] >> 3) & 0x01);
|
||||
|
||||
/* red component */
|
||||
r = j + 0xbf - (0xbf * ((color_prom[i] >> 0) & 0x01));
|
||||
|
||||
/* green component */
|
||||
g = j + 0xbf - (0xbf * ((color_prom[i] >> 1) & 0x01));
|
||||
|
||||
/* blue component */
|
||||
b = j + 0xbf - (0xbf * ((color_prom[i] >> 2) & 0x01));
|
||||
|
||||
palette_set_color(machine, i, MAKE_RGB(r, g, b));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
int offs = tile_index;
|
||||
int attr = color_ram[offs];
|
||||
int code = video_ram[offs];
|
||||
int color = attr;
|
||||
|
||||
SET_TILE_INFO(0, code, color, 0);
|
||||
}
|
||||
|
||||
|
||||
VIDEO_START( videopkr )
|
||||
{
|
||||
bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
|
||||
}
|
||||
|
||||
VIDEO_START( vidadcba )
|
||||
{
|
||||
bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, 16, 8, 32, 32);
|
||||
}
|
||||
|
||||
|
||||
VIDEO_UPDATE( videopkr )
|
||||
{
|
||||
tilemap_mark_all_tiles_dirty(bg_tilemap);
|
||||
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/********************
|
||||
* NVRAM Handler *
|
||||
********************/
|
||||
|
||||
static NVRAM_HANDLER( videopkr )
|
||||
{
|
||||
if (read_or_write)
|
||||
{
|
||||
mame_fwrite(file, data_ram, DATA_NVRAM_SIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (file)
|
||||
{
|
||||
mame_fread(file, data_ram, DATA_NVRAM_SIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
memset(data_ram, 0, DATA_NVRAM_SIZE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
* R/W Handlers *
|
||||
*************************/
|
||||
|
||||
static READ8_HANDLER( videopkr_io_r )
|
||||
{
|
||||
UINT8 valor = 0xff;
|
||||
UINT16 kbdin = 0x0000;
|
||||
|
||||
switch (p2)
|
||||
{
|
||||
case 0xef: /* inputs are multiplexed through a diode matrix */
|
||||
{
|
||||
kbdin = (input_port_read(machine, "IN1") << 8) + input_port_read(machine, "IN0");
|
||||
|
||||
switch (kbdin)
|
||||
{
|
||||
case 0x0001: valor = 0x01; break;
|
||||
case 0x0002: valor = 0x04; break;
|
||||
case 0x0004: valor = 0x05; break;
|
||||
case 0x0008: valor = 0x07; break;
|
||||
case 0x0010: valor = 0x08; break;
|
||||
case 0x0020: valor = 0x09; break;
|
||||
case 0x0040: valor = 0x0a; break;
|
||||
case 0x0080: valor = 0x0b; break;
|
||||
case 0x0100: valor = 0x0c; break;
|
||||
case 0x0200: valor = 0x0d; break;
|
||||
case 0x0400: valor = 0x0e; break;
|
||||
case 0x0800: valor = 0x0f; break;
|
||||
case 0x1000: valor = 0x10; break;
|
||||
|
||||
default: valor = 0x00;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 0xdf:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
valor = data_ram[offset];
|
||||
break;
|
||||
}
|
||||
case 0x5f:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
valor = data_ram[offset];
|
||||
break;
|
||||
}
|
||||
case 0x7c:
|
||||
case 0x7d:
|
||||
case 0x7e:
|
||||
case 0x7f:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
valor = color_ram[n_offs] & 0x0f;
|
||||
break;
|
||||
}
|
||||
case 0xbc:
|
||||
case 0xbd:
|
||||
case 0xbe:
|
||||
case 0xbf:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
valor = video_ram[n_offs];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return valor;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( videopkr_io_w )
|
||||
{
|
||||
switch (p2)
|
||||
{
|
||||
case 0x3c:
|
||||
case 0x3d:
|
||||
case 0x3e:
|
||||
case 0x3f:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
color_ram[n_offs] = data & 0x0f;
|
||||
video_ram[n_offs] = data;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, n_offs);
|
||||
break;
|
||||
}
|
||||
case 0xdf:
|
||||
{
|
||||
data_ram[offset] = (data & 0x0f) + 0xf0;
|
||||
break;
|
||||
}
|
||||
case 0x7c:
|
||||
case 0x7d:
|
||||
case 0x7e:
|
||||
case 0x7f:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
color_ram[n_offs] = data & 0x0f;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, n_offs);
|
||||
break;
|
||||
}
|
||||
case 0xbc:
|
||||
case 0xbd:
|
||||
case 0xbe:
|
||||
case 0xbf:
|
||||
{
|
||||
n_offs = ((p1 & 0xc0) << 2 ) + offset;
|
||||
video_ram[n_offs] = data;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, n_offs);
|
||||
break;
|
||||
}
|
||||
case 0xef: /* Port 2.4 */
|
||||
{
|
||||
output_set_lamp_value(0, (data & 1)); /* L_1 */
|
||||
output_set_lamp_value(1, ((data >> 1)& 1)); /* L_2 */
|
||||
output_set_lamp_value(2, ((data >> 2) & 1)); /* L_3 */
|
||||
output_set_lamp_value(3, ((data >> 3) & 1)); /* L_4 */
|
||||
output_set_lamp_value(4, ((data >> 4) & 1)); /* Coin */
|
||||
output_set_lamp_value(5, ((data >> 5) & 1)); /* Hopper_1 */
|
||||
output_set_lamp_value(6, ((data >> 6) & 1)); /* Hopper_2 */
|
||||
output_set_lamp_value(7, ((data >> 7) & 1)); /* Diverter */
|
||||
p24_data = data;
|
||||
|
||||
break;
|
||||
}
|
||||
case 0xff:
|
||||
{
|
||||
t0_latch = t0_latch ^ 0x01; /* fix the bookkeeping mode */
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static READ8_HANDLER( videopkr_p1_data_r )
|
||||
{
|
||||
return p1;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( videopkr_p2_data_r )
|
||||
{
|
||||
return p2;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( videopkr_p1_data_w )
|
||||
{
|
||||
p1 = data;
|
||||
|
||||
output_set_lamp_value(8, (data & 1)); /* Aux_0 - */
|
||||
output_set_lamp_value(9, ((data >> 1) & 1)); /* Aux_1 - */
|
||||
output_set_lamp_value(10, ((data >> 2) & 1)); /* Aux_2 - */
|
||||
output_set_lamp_value(11, ((data >> 3) & 1)); /* Aux_3 - */
|
||||
output_set_lamp_value(12, ((data >> 4) & 1)); /* Aux_4 - Bell */
|
||||
output_set_lamp_value(13, ((data >> 5) & 1)); /* Aux_5 - /CIO */
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( videopkr_p2_data_w )
|
||||
{
|
||||
p2 = data;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( videopkr_t0_latch )
|
||||
{
|
||||
return t0_latch;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(p4_w)
|
||||
{
|
||||
cputag_set_input_line(machine, "main", 0, CLEAR_LINE); /* clear interrupt FF */
|
||||
}
|
||||
|
||||
/*************************
|
||||
* Sound Handlers *
|
||||
*************************/
|
||||
/*
|
||||
|
||||
Sound Data ( Sound Board latch )
|
||||
|
||||
Data Bit Comes from
|
||||
---------------------------------------------
|
||||
bit 0 Coin I/O Port 1.5
|
||||
bit 1 Hopper2 Port 2.4 Data Bit 6
|
||||
bit 2 Hopper1 Port 2.4 Data Bit 5
|
||||
bit 3 Bell Port 1.4
|
||||
bit 4 Aux_3 Port 1.3
|
||||
bit 5 N/U Pulled Up
|
||||
bit 6 N/U Pulled Up
|
||||
bit 7 N/U Pulled Up
|
||||
|
||||
|
||||
Sound Codes
|
||||
|
||||
Hex Bin Sound Game
|
||||
--------------------------------------------------------------------------
|
||||
0xFF 11111111 No Sound (default state) All Games.
|
||||
0xFE 11111110 Coin In sound All Games.
|
||||
0xEF 11101111 Cards draw sound Video Poker & Black Jack.
|
||||
0xF9 11111001 Hopper run Video Poker & Black Jack.
|
||||
0xF8 11111000 Coin Out sound Video Poker & Black Jack.
|
||||
0xF6 11110110 Coin Out sound Video Dado & Video Cordoba.
|
||||
0xFA 11111010 Dice rolling sound Video Dado.
|
||||
0xFA 11111010 Spinning reels sound Video Cordoba.
|
||||
0xFB 11111011 Dice rolling sound Video Dado.
|
||||
0xFB 11111011 Stopping reels sound Video Cordoba.
|
||||
|
||||
*/
|
||||
|
||||
static READ8_HANDLER(sound_io_r)
|
||||
{
|
||||
switch (vp_sound_p2)
|
||||
{
|
||||
case 0xbf:
|
||||
{
|
||||
c_io = (p1 >> 5) & 1;
|
||||
hp_1 = (~p24_data >> 6) & 1;
|
||||
hp_2 = (~p24_data >> 5) & 1;
|
||||
bell = (p1 >> 4) & 1;
|
||||
|
||||
sound_ant = sound_latch;
|
||||
sound_latch = c_io + (hp_1 << 1) + (hp_2 << 2) + (bell << 3) + 0xf0;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return sound_latch;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(sound_io_w)
|
||||
{
|
||||
if (vp_sound_p2 == 0x5f || vp_sound_p2 == 0xdf)
|
||||
{
|
||||
dc_40103 = data;
|
||||
dc_4020 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static READ8_HANDLER(sound_p2_r)
|
||||
{
|
||||
return vp_sound_p2;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(sound_p2_w)
|
||||
{
|
||||
vp_sound_p2 = data;
|
||||
|
||||
switch (data)
|
||||
{
|
||||
case 0x5f:
|
||||
{
|
||||
te_40103 = 0; /* p2.7 LOW */
|
||||
ld_40103 = 0; /* p2.5 LOW */
|
||||
break;
|
||||
}
|
||||
case 0x7f:
|
||||
{
|
||||
te_40103 = 0;
|
||||
ld_40103 = 1;
|
||||
break;
|
||||
}
|
||||
case 0xff:
|
||||
{
|
||||
te_40103 = 1;
|
||||
ld_40103 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static TIMER_CALLBACK(sound_t1_callback)
|
||||
{
|
||||
if (te_40103 == 1)
|
||||
{
|
||||
dc_40103++;
|
||||
|
||||
if (dc_40103 == 0)
|
||||
{
|
||||
cpunum_set_input_line(machine, 1, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*************************
|
||||
* Memory Map Information *
|
||||
*************************/
|
||||
|
||||
static ADDRESS_MAP_START( i8039_readmem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( i8039_io_port, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x00, 0xff ) AM_READWRITE(videopkr_io_r, videopkr_io_w)
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READWRITE(videopkr_p1_data_r, videopkr_p1_data_w)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(videopkr_p2_data_r, videopkr_p2_data_w)
|
||||
AM_RANGE(MCS48_PORT_P4, MCS48_PORT_P4) AM_WRITE(p4_w)
|
||||
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(videopkr_t0_latch)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( i8039_sound_mem, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( i8039_sound_port, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x00, 0xff ) AM_READWRITE(sound_io_r, sound_io_w)
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(dac_0_data_w)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(sound_p2_r, sound_p2_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/************************
|
||||
* Input Ports *
|
||||
************************/
|
||||
|
||||
static INPUT_PORTS_START( videopkr )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Door") PORT_TOGGLE PORT_CODE(KEYCODE_0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Books") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Discard") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Cancel") PORT_CODE(KEYCODE_N)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Hold 1") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Hold 2") PORT_CODE(KEYCODE_X)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Hold 3") PORT_CODE(KEYCODE_C)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Hold 4") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Hold 5") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Hopper") PORT_TOGGLE PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( blckjack )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Door") PORT_TOGGLE PORT_CODE(KEYCODE_0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Books") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Hit") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Stand") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Double") PORT_CODE(KEYCODE_C)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Hopper") PORT_TOGGLE PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( videodad )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Door") PORT_TOGGLE PORT_CODE(KEYCODE_0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Books") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Get Credits") PORT_CODE(KEYCODE_Q)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Crap") PORT_CODE(KEYCODE_A)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("6 or Less") PORT_CODE(KEYCODE_Z)
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Seven") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("8 or More") PORT_CODE(KEYCODE_C)
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Field") PORT_CODE(KEYCODE_S)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("Eleven") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("Twelve") PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Hopper") PORT_TOGGLE PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( videocba )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Door") PORT_TOGGLE PORT_CODE(KEYCODE_0)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Books") PORT_CODE(KEYCODE_9)
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4)
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME("Hopper") PORT_TOGGLE PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/*************************
|
||||
* Graphics Layouts *
|
||||
*************************/
|
||||
|
||||
static const gfx_layout tilelayout_16 =
|
||||
{
|
||||
16, 8,
|
||||
RGN_FRAC(1,4),
|
||||
2,
|
||||
{ 0, RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7,
|
||||
RGN_FRAC(1,4), RGN_FRAC(1,4) + 1, RGN_FRAC(1,4) + 2, RGN_FRAC(1,4) + 3,
|
||||
RGN_FRAC(1,4) + 4, RGN_FRAC(1,4) + 5, RGN_FRAC(1,4) + 6, RGN_FRAC(1,4) + 7
|
||||
},
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
static const gfx_layout tilelayout_8 =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
2,
|
||||
{ 0, RGN_FRAC(1,2) },
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
|
||||
8*8
|
||||
};
|
||||
|
||||
|
||||
/******************************
|
||||
* Graphics Decode Information *
|
||||
******************************/
|
||||
|
||||
static GFXDECODE_START( videopkr )
|
||||
GFXDECODE_ENTRY( "tiles", 0, tilelayout_8, 0, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static GFXDECODE_START( videodad )
|
||||
GFXDECODE_ENTRY( "tiles", 0, tilelayout_16, 0, 64 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
/*******************************
|
||||
* Machine Start / Reset *
|
||||
*******************************/
|
||||
|
||||
static MACHINE_START(videopkr)
|
||||
{
|
||||
vp_sound_p2 = 0xff; /* default P2 latch value */
|
||||
sound_latch = 0xff; /* default sound data latch value */
|
||||
p24_data = 0xff;
|
||||
p1 = 0xff;
|
||||
t1_timer = timer_alloc(sound_t1_callback, NULL);
|
||||
timer_adjust_periodic(t1_timer, attotime_zero, 0, ATTOTIME_IN_HZ(50)); /* yep, 50Hz. */
|
||||
}
|
||||
|
||||
|
||||
/************************
|
||||
* Machine Drivers *
|
||||
************************/
|
||||
|
||||
static MACHINE_DRIVER_START( videopkr )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("main", I8039, CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(i8039_readmem, 0)
|
||||
MDRV_CPU_IO_MAP(i8039_io_port, 0)
|
||||
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD("sound", I8039, SOUND_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(i8039_sound_mem, 0)
|
||||
MDRV_CPU_IO_MAP(i8039_sound_port, 0)
|
||||
|
||||
MDRV_MACHINE_START(videopkr)
|
||||
MDRV_NVRAM_HANDLER(videopkr)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(5*8, 31*8-1, 3*8, 29*8-1)
|
||||
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(2080)
|
||||
MDRV_GFXDECODE(videopkr)
|
||||
MDRV_PALETTE_INIT(videopkr)
|
||||
MDRV_PALETTE_LENGTH(256)
|
||||
MDRV_VIDEO_START(videopkr)
|
||||
MDRV_VIDEO_UPDATE(videopkr)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD("sound", DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( blckjack )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(videopkr)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(4*8, 31*8-1, 2*8, 30*8-1)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( videodad )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(videopkr)
|
||||
MDRV_CPU_REPLACE("main", I8039, CPU_CLOCK_ALT)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_MODIFY("main")
|
||||
MDRV_SCREEN_SIZE(32*16, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(4*16, 31*16-1, 2*8, 30*8-1)
|
||||
|
||||
MDRV_GFXDECODE(videodad)
|
||||
MDRV_VIDEO_START(vidadcba)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
/*************************
|
||||
* Rom Load *
|
||||
*************************/
|
||||
|
||||
ROM_START( videopkr )
|
||||
ROM_REGION( 0x1000, "main", 0 )
|
||||
ROM_LOAD( "vpoker.c5", 0x0000, 0x0800, CRC(200d21e4) SHA1(d991c9f10a36a02491bb0aba32129675fed77a10) )
|
||||
ROM_LOAD( "vpoker.c7", 0x0800, 0x0800, CRC(f72c2a90) SHA1(e9c54d1f895cde0aaca4121a252da40594195a25) )
|
||||
|
||||
ROM_REGION( 0x1000, "sound", 0 ) /* sound cpu program */
|
||||
ROM_LOAD( "vpsona3.pbj", 0x0000, 0x0800, CRC(a4f7bf7f) SHA1(a08287821f3471cb3e1ae0528811da930fd57387) )
|
||||
ROM_LOAD( "vpsona2.pbj", 0x0800, 0x0800, CRC(583a9b95) SHA1(a10e85452e285b2a63f885f4e39b7f76ee8b2407) )
|
||||
|
||||
ROM_REGION( 0x1000, "tiles", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "vpbj_b15.org", 0x0000, 0x0800, CRC(67468e3a) SHA1(761766f0fb92693d32179a914e11da517cc5747d) )
|
||||
ROM_LOAD( "vpbj_b12.org", 0x0800, 0x0800, CRC(4aba166e) SHA1(930cea2216a39b5d72021d1b449db018a121adce) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "vpbjorg.col", 0x0000, 0x0100, CRC(09abf5f1) SHA1(f2d6b4f2f08b47b93728dafb50576d5ca859255f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( blckjack )
|
||||
ROM_REGION( 0x1000, "main", 0 )
|
||||
ROM_LOAD( "bjc5org.old", 0x0000, 0x0800, CRC(e266a28a) SHA1(1f90c85a2a817f1927c9ab2cbf79cfa2dd116dc8) )
|
||||
ROM_LOAD( "bjc7org.old", 0x0800, 0x0800, CRC(c60c565f) SHA1(c9ed232301750288bd000ac4e2dcf2253745ff0a) )
|
||||
|
||||
ROM_REGION( 0x1000, "sound", 0 ) /* sound cpu program */
|
||||
ROM_LOAD( "vpsona3.pbj", 0x0000, 0x0800, CRC(a4f7bf7f) SHA1(a08287821f3471cb3e1ae0528811da930fd57387) )
|
||||
ROM_LOAD( "vpsona2.pbj", 0x0800, 0x0800, CRC(583a9b95) SHA1(a10e85452e285b2a63f885f4e39b7f76ee8b2407) )
|
||||
|
||||
ROM_REGION( 0x1000, "tiles", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "vpbj_b15.org", 0x0000, 0x0800, CRC(67468e3a) SHA1(761766f0fb92693d32179a914e11da517cc5747d) )
|
||||
ROM_LOAD( "vpbj_b12.org", 0x0800, 0x0800, CRC(4aba166e) SHA1(930cea2216a39b5d72021d1b449db018a121adce) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "vpbjorg.col", 0x0000, 0x0100, CRC(09abf5f1) SHA1(f2d6b4f2f08b47b93728dafb50576d5ca859255f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( videodad )
|
||||
ROM_REGION( 0x1000, "main", 0 )
|
||||
ROM_LOAD( "dac5org.old", 0x0000, 0x0800, CRC(b373c8e9) SHA1(7a99d6aa152f8e6adeddbfdfd13278edeaa529bc) )
|
||||
ROM_LOAD( "dac7org.old", 0x0800, 0x0800, CRC(afabae30) SHA1(c4198ba8de6811e3367b0154ff479f6738721bfa) )
|
||||
|
||||
ROM_REGION( 0x1000, "sound", 0 ) /* sound cpu program */
|
||||
ROM_LOAD( "vdsona3.dad", 0x0000, 0x0800, CRC(13f7a462) SHA1(2e2e904637ca7873a2ed67d7ab1524e51b324660) )
|
||||
ROM_LOAD( "vdsona2.dad", 0x0800, 0x0800, CRC(120e4512) SHA1(207748d4f5793180305bb115af877042517d901f) )
|
||||
|
||||
ROM_REGION( 0x2000, "tiles", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "vdadob15.bin", 0x0000, 0x0800, CRC(caa6a4b0) SHA1(af99da30b8ee63d54ac1f1e6737ed707501a5a25) )
|
||||
ROM_LOAD( "vdadob14.bin", 0x0800, 0x0800, CRC(eabfae6b) SHA1(189b38da5e9c99f99c5425cdfefccc6991e3f85e) )
|
||||
ROM_LOAD( "vdadob12.bin", 0x1000, 0x0800, CRC(176f7b31) SHA1(613521ed9caf904db22860686e0424d0c0e0cba6) )
|
||||
ROM_LOAD( "vdadob11.bin", 0x1800, 0x0800, CRC(259492c7) SHA1(003cc40a88f2b9fad0089574963e7e654211bb16) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "vdvcorg.col", 0x0000, 0x0100, CRC(741b1a22) SHA1(50983ea37f0479793ba38a112a0266c2edc4b5ef) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( videocba )
|
||||
ROM_REGION( 0x1000, "main", 0 )
|
||||
ROM_LOAD( "vcc5org.old", 0x0000, 0x0800, CRC(e6a6a4e4) SHA1(ada1e241a2d39e5a9cf400559e825b0b7d88fca5) )
|
||||
ROM_LOAD( "vcc7org.old", 0x0800, 0x0800, CRC(fdec55c1) SHA1(19b740f3b7f2acaa0fc09f4c0a2fe69721ebbcaf) )
|
||||
|
||||
ROM_REGION( 0x1000, "sound", 0 ) /* sound cpu program */
|
||||
ROM_LOAD( "vcsona3.rod", 0x0000, 0x0800, CRC(b0948d6c) SHA1(6c45d350288f69b4b2b5ac16ab2b418f14c6eded) )
|
||||
ROM_LOAD( "vcsona2.rod", 0x0800, 0x0800, CRC(44ff9e85) SHA1(5d7988d2d3bca932b77e014dc61f7a2347b01603) )
|
||||
|
||||
ROM_REGION( 0x2000, "tiles", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "vcbab15.bin", 0x0000, 0x0800, CRC(f31281cb) SHA1(bd4743c328f56334ac015c1f10de01ac25810756) )
|
||||
ROM_LOAD( "vcbab14.bin", 0x0800, 0x0800, CRC(6fd66330) SHA1(0ee3b3329b94ded81f028ebb687e580787c74ded) )
|
||||
ROM_LOAD( "vcbab12.bin", 0x1000, 0x0800, CRC(eace907a) SHA1(c81fb5eb838fea809729edc8ab2f637fffd0b2d1) )
|
||||
ROM_LOAD( "vcbab11.bin", 0x1800, 0x0800, CRC(e2069a6d) SHA1(2d4e71f2838451215e6f9629e2d1a35808510353) )
|
||||
|
||||
ROM_REGION( 0x0100, "proms", 0 )
|
||||
ROM_LOAD( "vdcbaorg.col", 0x0000, 0x0100, BAD_DUMP CRC(5b8e78b1) SHA1(ac5a1d7ab9dac7b4994d2f543801bf57e8573ba6) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*************************
|
||||
* Game Drivers *
|
||||
*************************/
|
||||
|
||||
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
|
||||
GAME( 1984, videopkr, 0, videopkr, videopkr, 0, ROT0, "InterFlip", "Video Poker", 0 )
|
||||
GAME( 1984, blckjack, videopkr, blckjack, blckjack, 0, ROT0, "InterFlip", "Black Jack", 0 )
|
||||
GAME( 1987, videodad, videopkr, videodad, videodad, 0, ROT0, "InterFlip", "Video Dado", 0 )
|
||||
GAME( 1987, videocba, videopkr, videodad, videocba, 0, ROT0, "InterFlip", "Video Cordoba", GAME_IMPERFECT_COLORS )
|
@ -1655,6 +1655,7 @@ $(MAMEOBJ)/misc.a: \
|
||||
$(DRIVERS)/usgames.o $(VIDEO)/usgames.o \
|
||||
$(DRIVERS)/vamphalf.o \
|
||||
$(DRIVERS)/vcombat.o \
|
||||
$(DRIVERS)/videopkr.o \
|
||||
$(DRIVERS)/vroulet.o \
|
||||
$(DRIVERS)/wldarrow.o \
|
||||
$(DRIVERS)/xyonix.o $(VIDEO)/xyonix.o \
|
||||
|
@ -8192,6 +8192,12 @@ Other Sun games
|
||||
DRIVER( lucky74 ) /* (c) 1988 Wing Co., Ltd */
|
||||
DRIVER( lucky74a ) /* (c) 1988 Wing Co., Ltd */
|
||||
|
||||
/* InterFlip */
|
||||
DRIVER( videopkr ) /* (c) 1984 InterFlip */
|
||||
DRIVER( blckjack ) /* (c) 1984 InterFlip */
|
||||
DRIVER( videodad ) /* (c) 1987 InterFlip */
|
||||
DRIVER( videocba ) /* (c) 1987 InterFlip */
|
||||
|
||||
/* H8/3048 italian gambling games */
|
||||
DRIVER( laperla ) /* (c) 2002 Nazionale Elettronica */
|
||||
DRIVER( laperlag ) /* (c) 2001 Nazionale Elettronica */
|
||||
|
Loading…
Reference in New Issue
Block a user