mirror of
https://github.com/holub/mame
synced 2025-04-26 02:07:14 +03:00
(MESS) Rename the bridge challenger 3 model 7014 driver from 'abc' to 'bridgec3', added pcb locations, notes, and better labels. [Lord Nightmare]
This commit is contained in:
parent
f316148191
commit
dd3d8666e6
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -6736,7 +6736,6 @@ src/mess/includes/z80ne.h svneol=native#text/plain
|
||||
src/mess/includes/z88.h svneol=native#text/plain
|
||||
src/mess/includes/zx.h svneol=native#text/plain
|
||||
src/mess/layout/4004clk.lay svneol=native#text/plain
|
||||
src/mess/layout/abc.lay svneol=native#text/plain
|
||||
src/mess/layout/abc1600.lay svneol=native#text/plain
|
||||
src/mess/layout/acrnsys1.lay svneol=native#text/plain
|
||||
src/mess/layout/aim65.lay svneol=native#text/plain
|
||||
@ -6752,6 +6751,7 @@ src/mess/layout/babbage.lay svneol=native#text/plain
|
||||
src/mess/layout/beta.lay svneol=native#text/plain
|
||||
src/mess/layout/bob85.lay svneol=native#text/plain
|
||||
src/mess/layout/borisdpl.lay svneol=native#text/plain
|
||||
src/mess/layout/bridgec3.lay svneol=native#text/plain
|
||||
src/mess/layout/c80.lay svneol=native#text/plain
|
||||
src/mess/layout/chessmst.lay svneol=native#text/plain
|
||||
src/mess/layout/chesstrv.lay svneol=native#text/plain
|
||||
|
@ -8,7 +8,7 @@
|
||||
* TODO:
|
||||
* * Figure out why it says the first speech line twice; it shouldn't. (It sometimes does this on the sensory chess challenger real hardware)
|
||||
* * Get rom locations from pcb (done for UVC, VCC is probably similar)
|
||||
* * correctly hook up VBC/ABC speech so that the z80 is halted while words are being spoken
|
||||
* * correctly hook up VBC and 7014/bridgec3 speech so that the z80 is halted while words are being spoken
|
||||
*
|
||||
***********************************************************************
|
||||
|
||||
@ -151,13 +151,16 @@ PC.7 - button column D (W)
|
||||
|
||||
******************************************************************************
|
||||
Voice Bridge Challenger (VBC)
|
||||
and Advanced Bridge Challenger (ABC)
|
||||
and Bridge Challenger 3 (7014)
|
||||
--------------------------------
|
||||
|
||||
This unit is similar in construction kinda to the chess challengers, however it
|
||||
has an 8041 which does ALL of the system I/O. The Z80 has NO IO AT ALL other than
|
||||
what is performed through the 8041!
|
||||
|
||||
Note: The Bridge Challenger 3 does not actually have the 8 LEDs nor the
|
||||
latches which operate them populated, but they do work if manually added.
|
||||
|
||||
The main CPU is a Z80 running at 2.5MHz
|
||||
|
||||
INT connects to VCC (not used)
|
||||
@ -585,7 +588,7 @@ expect that the software reads these once on startup only.
|
||||
#include "includes/fidelz80.h"
|
||||
#include "fidelz80.lh"
|
||||
#include "vsc.lh"
|
||||
#include "abc.lh"
|
||||
#include "bridgec3.lh"
|
||||
|
||||
//#include "debugger.h"
|
||||
|
||||
@ -841,7 +844,7 @@ static Z80PIO_INTERFACE( vsc_z80pio_intf )
|
||||
};
|
||||
|
||||
/******************************************************************************
|
||||
I8041 MCU, for VBC and ABC
|
||||
I8041 MCU, for VBC and bridgec3/7014
|
||||
******************************************************************************/
|
||||
|
||||
WRITE8_MEMBER(fidelz80_state::kp_matrix_w)
|
||||
@ -989,7 +992,7 @@ READ8_MEMBER(fidelz80_state::mcu_status_r)
|
||||
return upi41_master_r(m_i8041, 1);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( fidelz80_state::abc_speech_w )
|
||||
WRITE8_MEMBER( fidelz80_state::bridgec_speech_w )
|
||||
{
|
||||
// todo: HALT THE z80 here, and set up a callback to poll the s14001a DONE line to resume z80
|
||||
s14001a_set_volume(m_speech, 15); // hack, s14001a core should assume a volume of 15 unless otherwise stated...
|
||||
@ -1037,13 +1040,13 @@ static ADDRESS_MAP_START(vsc_mem, AS_PROGRAM, 8, fidelz80_state)
|
||||
AM_RANGE(0x6000, 0x7fff) AM_RAM AM_MIRROR(0x1c00) // 1k ram (2114*2) mirrored 8 times
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START(abc_z80_mem, AS_PROGRAM, 8, fidelz80_state)
|
||||
static ADDRESS_MAP_START(bridgec_z80_mem, AS_PROGRAM, 8, fidelz80_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM // 8k rom
|
||||
AM_RANGE(0x2000, 0x3fff) AM_ROM // 8k rom
|
||||
AM_RANGE(0x4000, 0x5fff) AM_ROM // 8k rom
|
||||
AM_RANGE(0x6000, 0x63ff) AM_RAM AM_MIRROR(0x1c00) // 1k ram (2114*2) mirrored 8 times
|
||||
AM_RANGE(0xE000, 0xE000) AM_WRITE(abc_speech_w) AM_MIRROR(0x1FFF) // write to speech chip, halts cpu
|
||||
AM_RANGE(0xE000, 0xE000) AM_WRITE(bridgec_speech_w) AM_MIRROR(0x1FFF) // write to speech chip, halts cpu
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START(fidel_z80_io, AS_IO, 8, fidelz80_state)
|
||||
@ -1059,14 +1062,14 @@ static ADDRESS_MAP_START(vsc_io, AS_IO, 8, fidelz80_state)
|
||||
AM_RANGE(0x08, 0x0b) AM_MIRROR(0xf0) AM_DEVREADWRITE("ppi8255", i8255_device, read, write)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START(abc_z80_io, AS_IO, 8, fidelz80_state)
|
||||
static ADDRESS_MAP_START(bridgec_z80_io, AS_IO, 8, fidelz80_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READWRITE(mcu_data_r, mcu_data_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READWRITE(mcu_status_r, mcu_command_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START(abc_mcu_io, AS_IO, 8, fidelz80_state)
|
||||
static ADDRESS_MAP_START(bridgec_mcu_io, AS_IO, 8, fidelz80_state)
|
||||
ADDRESS_MAP_UNMAP_LOW
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(kp_matrix_w)
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_READWRITE(exp_i8243_p2_r, exp_i8243_p2_w)
|
||||
@ -1086,7 +1089,7 @@ INPUT_CHANGED_MEMBER(fidelz80_state::fidelz80_trigger_reset)
|
||||
m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
|
||||
}
|
||||
|
||||
INPUT_CHANGED_MEMBER(fidelz80_state::abc_trigger_reset)
|
||||
INPUT_CHANGED_MEMBER(fidelz80_state::bridgec_trigger_reset)
|
||||
{
|
||||
m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
|
||||
m_i8041->set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
|
||||
@ -1219,7 +1222,7 @@ static INPUT_PORTS_START( vsc )
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ST") PORT_CODE(KEYCODE_S)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( abc )
|
||||
static INPUT_PORTS_START( bridgec )
|
||||
PORT_START("LINE1")
|
||||
PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED) PORT_UNUSED
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("A") PORT_CODE(KEYCODE_A)
|
||||
@ -1271,7 +1274,7 @@ static INPUT_PORTS_START( abc )
|
||||
|
||||
PORT_START("LINE8")
|
||||
PORT_BIT(0x0f, IP_ACTIVE_LOW, IPT_UNUSED) PORT_UNUSED
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, fidelz80_state, abc_trigger_reset, 0)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, fidelz80_state, bridgec_trigger_reset, 0)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("BR") PORT_CODE(KEYCODE_T)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("DL") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clubs") PORT_CODE(KEYCODE_4_PAD)
|
||||
@ -1340,19 +1343,19 @@ static MACHINE_CONFIG_START( vsc, fidelz80_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( abc, fidelz80_state )
|
||||
static MACHINE_CONFIG_START( bridgec, fidelz80_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", Z80, XTAL_5MHz/2) // 2.5MHz
|
||||
MCFG_CPU_PROGRAM_MAP(abc_z80_mem)
|
||||
MCFG_CPU_IO_MAP(abc_z80_io)
|
||||
MCFG_CPU_PROGRAM_MAP(bridgec_z80_mem)
|
||||
MCFG_CPU_IO_MAP(bridgec_z80_io)
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(60))
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEFAULT_LAYOUT(layout_abc)
|
||||
MCFG_DEFAULT_LAYOUT(layout_bridgec3)
|
||||
|
||||
/* other hardware */
|
||||
MCFG_CPU_ADD("mcu", I8041, XTAL_5MHz) // 5MHz
|
||||
MCFG_CPU_IO_MAP(abc_mcu_io)
|
||||
MCFG_CPU_IO_MAP(bridgec_mcu_io)
|
||||
|
||||
MCFG_I8243_ADD("i8243", NOOP, WRITE8(fidelz80_state,digit_w))
|
||||
|
||||
@ -1403,28 +1406,29 @@ ROM_END
|
||||
|
||||
ROM_START(vbc)
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD("101-64108.bin", 0x0000, 0x2000, CRC(08472223) SHA1(859865B13C908DBB474333263DC60F6A32461141))
|
||||
ROM_LOAD("101-64109.bin", 0x2000, 0x2000, CRC(320AFA0F) SHA1(90EDFE0AC19B108D232CDA376B03A3A24BEFAD4C))
|
||||
ROM_LOAD("101-64110.bin", 0x4000, 0x2000, CRC(3040D0BD) SHA1(CAA55FC8D9196E408FB41E7171A68E5099519813))
|
||||
ROM_LOAD("101-64108.g3", 0x0000, 0x2000, CRC(08472223) SHA1(859865B13C908DBB474333263DC60F6A32461141))
|
||||
ROM_LOAD("101-64109.f3", 0x2000, 0x2000, CRC(320AFA0F) SHA1(90EDFE0AC19B108D232CDA376B03A3A24BEFAD4C))
|
||||
ROM_LOAD("101-64110.e3", 0x4000, 0x2000, CRC(3040D0BD) SHA1(CAA55FC8D9196E408FB41E7171A68E5099519813))
|
||||
|
||||
ROM_REGION(0x1000, "mcu", 0)
|
||||
ROM_LOAD("100-1009.bin", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a))
|
||||
ROM_LOAD("100-1009.a3", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a))
|
||||
|
||||
ROM_REGION(0x2000, "speech", 0)
|
||||
ROM_LOAD("101-32118.bin", 0x0000, 0x1000, CRC(A0B8BB8F) SHA1(F56852108928D5C6CACCFC8166FA347D6760A740))
|
||||
ROM_LOAD("101-32118.i2", 0x0000, 0x1000, CRC(A0B8BB8F) SHA1(F56852108928D5C6CACCFC8166FA347D6760A740))
|
||||
ROM_END
|
||||
|
||||
ROM_START(abc)
|
||||
ROM_START(bridgec3) // 510-1016 Rev.1 PCB has neither locations nor ic labels, so I declare the big heatsink is at C1, numbers count on the shorter length of pcb
|
||||
ROM_REGION(0x10000, "maincpu", 0)
|
||||
ROM_LOAD("bridge_w.bin", 0x0000, 0x2000, CRC(eb1620ef) SHA1(987a9abc8c685f1a68678ea4ee65ec4a99419179))
|
||||
ROM_LOAD("bridge_r.bin", 0x2000, 0x2000, CRC(74af0019) SHA1(8dc05950c254ca050b95b93e5d0cf48f913a6d49))
|
||||
ROM_LOAD("bridge_b.bin", 0x4000, 0x2000, CRC(341d9ca6) SHA1(370876573bb9408e75f4fc797304b6c64af0590a))
|
||||
// these 3 roms are TMM2764AD-20 chips with tiny hole-punch sized colored stickers (mostly) covering the quartz windows.
|
||||
ROM_LOAD("7014_white.g3", 0x0000, 0x2000, CRC(eb1620ef) SHA1(987a9abc8c685f1a68678ea4ee65ec4a99419179)) // white sticker
|
||||
ROM_LOAD("7014_red.f3", 0x2000, 0x2000, CRC(74af0019) SHA1(8dc05950c254ca050b95b93e5d0cf48f913a6d49)) // red sticker
|
||||
ROM_LOAD("7014_blue.e3", 0x4000, 0x2000, CRC(341d9ca6) SHA1(370876573bb9408e75f4fc797304b6c64af0590a)) // blue sticker
|
||||
|
||||
ROM_REGION(0x1000, "mcu", 0)
|
||||
ROM_LOAD("100-1009.bin", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a))
|
||||
ROM_LOAD("100-1009.a3", 0x0000, 0x0400, CRC(60eb343f) SHA1(8a63e95ebd62e123bdecc330c0484a47c354bd1a)) // "NEC P07021-027 || D8041C 563 100-1009"
|
||||
|
||||
ROM_REGION(0x2000, "speech", 0)
|
||||
ROM_LOAD("101-32118.bin", 0x0000, 0x1000, CRC(A0B8BB8F) SHA1(F56852108928D5C6CACCFC8166FA347D6760A740))
|
||||
ROM_LOAD("101-32118.i2", 0x0000, 0x1000, CRC(A0B8BB8F) SHA1(F56852108928D5C6CACCFC8166FA347D6760A740)) // "ea 101-32118 || (C) 1980 || EA 8332A247-4 || 8034"
|
||||
ROM_END
|
||||
|
||||
/******************************************************************************
|
||||
@ -1434,7 +1438,7 @@ ROM_END
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
|
||||
COMP( 1978, cc10, 0, 0, cc10, fidelz80, driver_device, 0, "Fidelity Electronics", "Chess Challenger 10 (Model CC10/BCC)", GAME_NOT_WORKING )
|
||||
COMP( 1979, vcc, 0, 0, vcc, fidelz80, driver_device, 0, "Fidelity Electronics", "Talking Chess Challenger (model VCC)", GAME_NOT_WORKING )
|
||||
COMP( 1979, vbc, 0, 0, abc, abc, driver_device, 0, "Fidelity Electronics", "Bridge Challenger (model VBC)", GAME_NOT_WORKING )
|
||||
COMP( 1979, vbc, 0, 0, bridgec, bridgec, driver_device, 0, "Fidelity Electronics", "Bridge Challenger (model VBC)", GAME_NOT_WORKING )
|
||||
COMP( 1980, uvc, vcc, 0, vcc, fidelz80, driver_device, 0, "Fidelity Electronics", "Advanced Talking Chess Challenger (model UVC)", GAME_NOT_WORKING )
|
||||
COMP( 1980, abc, vbc, 0, abc, abc, driver_device, 0, "Fidelity Electronics", "Advanced Bridge Challenger (model ABC)", GAME_NOT_WORKING )
|
||||
COMP( 1980, bridgec3, vbc, 0, bridgec, bridgec, driver_device, 0, "Fidelity Electronics", "Bridge Challenger 3 (model 7014)", GAME_NOT_WORKING )
|
||||
COMP( 1980, vsc, 0, 0, vsc, vsc, driver_device, 0, "Fidelity Electronics", "Sensory Chess Challenger (model VSC)", GAME_NOT_WORKING | GAME_CLICKABLE_ARTWORK )
|
||||
|
@ -47,8 +47,8 @@ public:
|
||||
DECLARE_READ8_MEMBER( vcc_portb_r );
|
||||
DECLARE_WRITE8_MEMBER( vcc_porta_w );
|
||||
|
||||
//model ABC/VBC
|
||||
DECLARE_WRITE8_MEMBER( abc_speech_w );
|
||||
//model 7014 and VBC
|
||||
DECLARE_WRITE8_MEMBER(bridgec_speech_w );
|
||||
DECLARE_WRITE8_MEMBER(kp_matrix_w);
|
||||
DECLARE_READ8_MEMBER(unknown_r);
|
||||
DECLARE_READ8_MEMBER(exp_i8243_p2_r);
|
||||
@ -58,6 +58,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(mcu_command_w);
|
||||
DECLARE_READ8_MEMBER(mcu_data_r);
|
||||
DECLARE_READ8_MEMBER(mcu_status_r);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(bridgec_trigger_reset);
|
||||
|
||||
//model VSC
|
||||
DECLARE_WRITE8_MEMBER(vsc_porta_w);
|
||||
@ -67,7 +68,6 @@ public:
|
||||
DECLARE_READ8_MEMBER(vsc_pio_portb_r);
|
||||
DECLARE_WRITE8_MEMBER(vsc_pio_portb_w);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(fidelz80_trigger_reset);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(abc_trigger_reset);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(nmi_timer);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(digit_w);
|
||||
|
@ -2054,7 +2054,7 @@ codata
|
||||
rvoicepc
|
||||
vcc
|
||||
uvc
|
||||
abc
|
||||
bridgec3
|
||||
vbc
|
||||
vsc
|
||||
victor9k
|
||||
|
@ -2504,7 +2504,7 @@ $(MESS_MACHINE)/esqvfd.o: $(MESS_LAYOUT)/esq2by40.lh \
|
||||
$(MESS_DRIVERS)/et3400.o: $(MESS_LAYOUT)/et3400.lh
|
||||
$(MESS_DRIVERS)/ex800.o: $(MESS_LAYOUT)/ex800.lh
|
||||
$(MESS_DRIVERS)/fidelz80.o: $(MESS_LAYOUT)/fidelz80.lh \
|
||||
$(MESS_LAYOUT)/abc.lh \
|
||||
$(MESS_LAYOUT)/bridgec3.lh \
|
||||
$(MESS_LAYOUT)/vsc.lh
|
||||
$(MESS_DRIVERS)/glasgow.o: $(MESS_LAYOUT)/glasgow.lh
|
||||
$(MESS_DRIVERS)/h8.o: $(MESS_LAYOUT)/h8.lh
|
||||
|
Loading…
Reference in New Issue
Block a user