Bingo pinballs
Date Created Unknown
Is this “Eeprom Code” or some odd “Game Code” for Bally Continental
From GitHub
You can clone with HTTPS
or Subversion.
Users who have contributed to this file
file 399 lines (345 sloc) 12.205 kb
/* CPU: Signetics 2650 (32K Addressable CPU Space) */
static INTERRUPT_GEN(vblank) {
/*-------------------------------
/ copy local data to interface
/--------------------------------*/
memcpy(coreGlobals.lampMatrix,
coreGlobals.tmpLampMatrix, sizeof(coreGlobals.tmpLampMatrix));
memcpy(coreGlobals.segments, locals.segments,
sizeof(coreGlobals.segments));
coreGlobals.solenoids = locals.solenoids;
coreGlobals.solenoids2 = locals.sols2;
logerror("%04x:
IRQ\n",activecpu_get_previouspc());
cpu_set_irq_line(0, 0, ASSERT_LINE);
static int irq_callback(int int_level) {
cpu_set_irq_line(0, 0, CLEAR_LINE);
memset(&locals, 0, sizeof(locals));
cpu_set_irq_callback(0, irq_callback);
static READ_HANDLER(ctrl_port_r)
logerror("%04x: Ctrl Port
Read\n",activecpu_get_previouspc());
static READ_HANDLER(data_port_r)
logerror("%04x: Data Port
Read\n",activecpu_get_previouspc());
static READ_HANDLER(sense_port_r)
logerror("%04x: Sense Port
Read\n",activecpu_get_previouspc());
static WRITE_HANDLER(ctrl_port_w)
logerror("%04x: Ctrl Port
Write=%02x\n",activecpu_get_previouspc(),data);
static WRITE_HANDLER(data_port_w)
logerror("%04x: Data Port Write=%02x\n",activecpu_get_previouspc(),data);
static WRITE_HANDLER(flag_port_w)
coreGlobals.diagnosticLed = data;
//logerror("%04x: Flag Port
Write=%02x\n",activecpu_get_previouspc(),data);
struct DACinterface bingo_dacInt =
static WRITE_HANDLER(c_port_w)
//logerror("%04x: C Port
Write=%02x\n",activecpu_get_previouspc(),data);
static MEMORY_READ_START(readmem)
static MEMORY_WRITE_START(writemem)
static PORT_WRITE_START( writeport )
{ S2650_CTRL_PORT, S2650_CTRL_PORT, ctrl_port_w },
{ S2650_DATA_PORT, S2650_DATA_PORT, data_port_w },
{ S2650_SENSE_PORT, S2650_SENSE_PORT,
flag_port_w },
static PORT_READ_START( readport )
{ S2650_CTRL_PORT, S2650_CTRL_PORT, ctrl_port_r },
{ S2650_DATA_PORT, S2650_DATA_PORT, data_port_r },
{ S2650_SENSE_PORT, S2650_SENSE_PORT,
sense_port_r },
static core_tLCDLayout dispBingo[] = {
static core_tGameData bingoGameData = {GEN_ZAC1,dispBingo};
static void init_bingo(void) {
core_gameData = &bingoGameData;
MDRV_CORE_INIT_RESET_STOP(bingo,NULL,NULL)
MDRV_CPU_ADD_TAG("mcpu", S2650,
1000000)
MDRV_CPU_MEMORY(readmem, writemem)
MDRV_CPU_PORTS(readport, writeport)
//MDRV_CPU_PERIODIC_INT(irq, 3906)
MDRV_CPU_VBLANK_INT(vblank, 1)
MDRV_SOUND_ADD(DAC, bingo_dacInt)
COREPORT_DIPNAME( 0x0001, 0x0000,
"S1") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0001,
"1" ) \
COREPORT_DIPNAME( 0x0002, 0x0000,
"S2") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0002,
"1" ) \
COREPORT_DIPNAME( 0x0004, 0x0000,
"S3") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0004,
"1" ) \
COREPORT_DIPNAME( 0x0008, 0x0000,
"S4") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0008,
"1" ) \
COREPORT_DIPNAME( 0x0010, 0x0000,
"S5") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0010,
"1" ) \
COREPORT_DIPNAME( 0x0020, 0x0000,
"S6") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0020,
"1" ) \
COREPORT_DIPNAME( 0x0040, 0x0000,
"S7") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0040,
"1" ) \
COREPORT_DIPNAME( 0x0080, 0x0000,
"S8") \
COREPORT_DIPSET(0x0000,
"0" ) \
NORMALREGION(0x8000, REGION_CPU1) \
ROM_LOAD("bingo.u48",
0x0000, 0x0800, CRC(81bbcb19) SHA1(17c3d900d1cbe3cb5332d830288ef2c578afe8f8))
#define input_ports_cntinntl input_ports_bingo
#define init_cntinntl init_bingo
CORE_GAMEDEFNV(cntinntl, "Continental (Bingo)",
1980, "Bally", bingo, GAME_NOT_WORKING)
memset(&locals, 0, sizeof(locals));
if (keyboard_pressed_memory_repeat(KEYCODE_0,
0)) {
cpu_set_nmi_line(0, HOLD_LINE);
cpu_set_nmi_line(0, CLEAR_LINE);
CORE_SETKEYSW(inports[CORE_COREINPORT],
0xff, 0);
return coreGlobals.swMatrix[1+offset];
static MEMORY_READ_START(readmem16)
{ 0x00000, 0x0bfff, MRA_RAM },
{ 0x0d900, 0x0d9ff, MRA_RAM },
{ 0xe0000, 0xfffff, MRA_ROM },
static MEMORY_WRITE_START(writemem16)
{ 0x00000, 0x0bfff, MWA_RAM },
{ 0x0d900, 0x0d9ff, MWA_RAM },
{ 0xe0000, 0xfffff, MWA_ROM },
static PORT_WRITE_START(writeport16)
// { 0x0400,
0x0401, pic8259_0_w },
static PORT_READ_START(readport16)
// { 0x0400,
0x0401, pic8259_0_r },
static core_tLCDLayout dispSplin[] = {
static core_tGameData splinGameData =
{GEN_ZAC1,dispSplin};
static void init_splin(void) {
core_gameData = &splinGameData;
MDRV_CORE_INIT_RESET_STOP(splin,NULL,NULL)
MDRV_CPU_ADD_TAG("mcpu", I186,
8000000)
MDRV_CPU_MEMORY(readmem16, writemem16)
MDRV_CPU_PORTS(readport16, writeport16)
MDRV_CPU_VBLANK_INT(vblank, 1)
COREPORT_DIPNAME( 0x0001, 0x0000,
"S1") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0001,
"1" ) \
COREPORT_DIPNAME( 0x0002, 0x0000,
"S2") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0002,
"1" ) \
COREPORT_DIPNAME( 0x0004, 0x0000,
"S3") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0004,
"1" ) \
COREPORT_DIPNAME( 0x0008, 0x0000,
"S4") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0008,
"1" ) \
COREPORT_DIPNAME( 0x0010, 0x0000,
"S5") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0010,
"1" ) \
COREPORT_DIPNAME( 0x0020, 0x0000,
"S6") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0020,
"1" ) \
COREPORT_DIPNAME( 0x0040, 0x0000,
"S7") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0040,
"1" ) \
COREPORT_DIPNAME( 0x0080, 0x0000,
"S8") \
COREPORT_DIPSET(0x0000,
"0" ) \
NORMALREGION(0x100000, REGION_CPU1) \
ROM_RELOAD(0xe0000,
0x10000) \
ROM_RELOAD(0xe0001,
0x10000) \
#define input_ports_goldgame input_ports_splin
#define init_goldgame init_splin
NORMALREGION(0x100000, REGION_CPU1) \
ROM_RELOAD(0xe0000,
0x10000) \
ROM_RELOAD(0xe0001,
0x10000) \
#define input_ports_goldgam2 input_ports_splin
#define init_goldgam2 init_splin
CORE_GAMEDEFNV (goldgame, "Golden Game
(Bingo)", 19??,
"Splin (Belgium)", splin, GAME_NOT_WORKING)
memset(&locals, 0, sizeof(locals));
static SWITCH_UPDATE(seeben) {
if (keyboard_pressed_memory_repeat(KEYCODE_0,
0)) {
cpu_set_nmi_line(0, HOLD_LINE);
cpu_set_nmi_line(0, CLEAR_LINE);
CORE_SETKEYSW(inports[CORE_COREINPORT],
0xff, 0);
static MEMORY_READ_START(readmems)
static MEMORY_WRITE_START(writemems)
static core_tLCDLayout dispSeeben[] = {
static core_tGameData seebenGameData =
{GEN_ZAC1,dispSeeben};
static void init_seeben(void) {
core_gameData = &seebenGameData;
MDRV_CORE_INIT_RESET_STOP(seeben,NULL,NULL)
MDRV_CPU_ADD_TAG("mcpu", 8085A,
1000000)
MDRV_CPU_MEMORY(readmems, writemems)
MDRV_CPU_VBLANK_INT(vblank, 1)
COREPORT_DIPNAME( 0x0001, 0x0000,
"S1") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0001,
"1" ) \
COREPORT_DIPNAME( 0x0002, 0x0000,
"S2") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0002,
"1" ) \
COREPORT_DIPNAME( 0x0004, 0x0000,
"S3") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0004,
"1" ) \
COREPORT_DIPNAME( 0x0008, 0x0000,
"S4") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0008,
"1" ) \
COREPORT_DIPNAME( 0x0010, 0x0000,
"S5") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0010,
"1" ) \
COREPORT_DIPNAME( 0x0020, 0x0000,
"S6") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0020,
"1" ) \
COREPORT_DIPNAME( 0x0040, 0x0000,
"S7") \
COREPORT_DIPSET(0x0000,
"0" ) \
COREPORT_DIPSET(0x0040,
"1" ) \
COREPORT_DIPNAME( 0x0080, 0x0000,
"S8") \
COREPORT_DIPSET(0x0000,
"0" ) \
NORMALREGION(0x10000, REGION_CPU1) \
#define input_ports_penalty input_ports_seeben
#define init_penalty init_seeben
NORMALREGION(0x10000, REGION_CPU1) \
#define input_ports_brooklyn input_ports_seeben
#define init_brooklyn init_seeben
NORMALREGION(0x10000, REGION_CPU1) \
#define input_ports_newdixie input_ports_seeben
#define init_newdixie init_seeben
CORE_GAMEDEFNV (penalty,
"Penalty (Bingo)",
19??, "Seeben (Belgium)", seeben, GAME_NOT_WORKING)
CORE_GAMEDEFNV (brooklyn, "Brooklyn (Bingo)",
19??, "Seeben (Belgium)", seeben, GAME_NOT_WORKING)
Check those references to Seeben and Splin
??
~