mirror of
https://github.com/holub/mame
synced 2025-07-04 01:18:59 +03:00
Dumped and created a skeleton driver for a semaphore controller from Etra (#11116)
* Dumped and created a skeleton driver for a semaphore controller from Etra New NOT_WORKING machines ---------------------------------- Crosswalk traffic light controller (unknown model) [ClawGrip] * Typo * Typo * Typo * nitpicking, srcclean --------- Co-authored-by: Ivan Vangelista <mesgnet@yahoo.it>
This commit is contained in:
parent
35bab9ea65
commit
1def94b69e
@ -41316,6 +41316,9 @@ sagitta180 // 1979?
|
|||||||
@source:skeleton/seattlecmp.cpp
|
@source:skeleton/seattlecmp.cpp
|
||||||
scp300f // Seattle SCP-300F
|
scp300f // Seattle SCP-300F
|
||||||
|
|
||||||
|
@source:skeleton/semcrossw.cpp
|
||||||
|
semcrossw // Semaphore controller from Etra
|
||||||
|
|
||||||
@source:skeleton/sh4robot.cpp
|
@source:skeleton/sh4robot.cpp
|
||||||
sh4robot //
|
sh4robot //
|
||||||
|
|
||||||
|
158
src/mame/skeleton/semcrossw.cpp
Normal file
158
src/mame/skeleton/semcrossw.cpp
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
|
||||||
|
ETRA (https://www.grupoetra.com/) semaphore controller for a crosswalk
|
||||||
|
(unknown model, unknown year).
|
||||||
|
|
||||||
|
Main PCB
|
||||||
|
__________________________________________________
|
||||||
|
| _______ _______ _______ |
|
||||||
|
| | | | | | | |
|
||||||
|
| |______| |______| |______| |
|
||||||
|
| _________ _________ |
|
||||||
|
| |_74LS03_| DM74LS122N |
|
||||||
|
| _________ |
|
||||||
|
| |_UM6114_| _________ _________ |
|
||||||
|
| |T74LS04B1 |_74LS90_| |__
|
||||||
|
| __|
|
||||||
|
| _________ _________ __|
|
||||||
|
| |_UM6114_| DM74LS155N _________ __|
|
||||||
|
| ________________ DM74LS155N __|
|
||||||
|
\ | X2816CP-12 | Xtal __|
|
||||||
|
_\ |_______________| 4.000 MHz __|
|
||||||
|
|__ ________________ ________________ __|
|
||||||
|
|__ | AT2716 EPROM | | MC6802P | __|
|
||||||
|
|__ |_______________| |_______________| __|
|
||||||
|
|__ __|
|
||||||
|
|__ _________ ________________ __|
|
||||||
|
|__ |_74LS156| | MC6821P | |
|
||||||
|
|__ |_______________| |
|
||||||
|
|__ |
|
||||||
|
|__ _________ _________ _________ |
|
||||||
|
|__ |________| |_74LS132| |_74LS90_| |
|
||||||
|
| |
|
||||||
|
|________________________________________________|
|
||||||
|
|
||||||
|
Relays PCB
|
||||||
|
_________________________________________
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| _________ |
|
||||||
|
| |74LS122N| |
|
||||||
|
| ________________ |
|
||||||
|
/ | MC6821P | |
|
||||||
|
/ |_______________| |
|
||||||
|
/ |__
|
||||||
|
____/ _______ _______ __|
|
||||||
|
| _______ MOC3020 MOC3020 __|
|
||||||
|
| TXAL2215B _______ _______ _______ __|
|
||||||
|
| _______ MOC3020 MOC3020 |_7404N| __|
|
||||||
|
\ TXAL2215B _______ _______ _______ __|
|
||||||
|
\ _______ MOC3020 MOC3020 |_7404N| __|
|
||||||
|
| TXAL2215B _______ _______ _______ __|
|
||||||
|
| _______ MOC3020 MOC3020 |_7404N| __|
|
||||||
|
| TXAL2215B _______ _______ __|
|
||||||
|
| _______ MOC3020 MOC3020 __|
|
||||||
|
| TXAL2215B _______ _______ __|
|
||||||
|
| _______ MOC3020 MOC3020 |
|
||||||
|
| TXAL2215B |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
|________________________________________________|
|
||||||
|
|
||||||
|
Programmer PCB (keyboard)
|
||||||
|
_______________________________________________________
|
||||||
|
| ______ ______ ______ ______ ______ ______ |
|
||||||
|
| | ___ || ___ || ___ || ___ || ___ || ___ | |
|
||||||
|
| ||__| |||__| |||__| |||__| |||__| |||__| | ___ |
|
||||||
|
| ||__| |||__| |||__| |||__| |||__| |||__| | | | |
|
||||||
|
| |_____||_____||_____||_____||_____||_____| | |<-7407N
|
||||||
|
| |__| |
|
||||||
|
| __________________________________ |
|
||||||
|
| | ____ ____ ____ ____ _ | |
|
||||||
|
| || R | | M | | N | | K | (_) | |
|
||||||
|
| ||___| |___| |___| |___| | |
|
||||||
|
| ___ | ____ ____ ____ ____ | SWITCH |
|
||||||
|
|| | || 0 | | 1 | | 2 | | 3 | __ | |
|
||||||
|
|| | ||___| |___| |___| |___| (||) | |
|
||||||
|
||__| | ____ ____ ____ ____ | |
|
||||||
|
74LS155N || 4 | | 5 | | 6 | | 7 | __ | |
|
||||||
|
| ||___| |___| |___| |___| (||) | |
|
||||||
|
| ___ | ____ ____ ____ ____ | ___ |
|
||||||
|
|| | || 8 | | 9 | | A | | B | __ | | | |
|
||||||
|
|| | ||___| |___| |___| |___| (||) | | |<-SN74LS03N
|
||||||
|
||__| | ____ ____ ____ ____ | |__| |
|
||||||
|
SCL4052BE || C | | D | | E | | F | | ___ ___ |
|
||||||
|
| ||___| |___| |___| |___| | | |<-TC4093BP
|
||||||
|
| ___ |_________________________________| | | | | |
|
||||||
|
|| | |__| |__|<-7407N
|
||||||
|
|| |<-CD4093BE |
|
||||||
|
||__| ____ ____ ____ ____ ____ ____ ____ ____ |
|
||||||
|
| 4N32 B250 4N32 B250 4N32 B250 4N32 B250 |
|
||||||
|
| C1000 C1000 C1000 C1000 |
|
||||||
|
| __________ |
|
||||||
|
| | CONN | |
|
||||||
|
|______________________________________________________|
|
||||||
|
|
||||||
|
Notes from one operator that used to work with this controller model:
|
||||||
|
For programming the semaphore controller, you just put the memory values with the keyboard.
|
||||||
|
From 100 to 200 you'll find the first program, from 200 to 300 the second, and so on up to
|
||||||
|
seven programs, with 100 for green, 101 for yellow, 102 for clear, and then repeat it again.
|
||||||
|
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
|
||||||
|
#include "cpu/m6800/m6800.h"
|
||||||
|
#include "machine/6821pia.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
class semcrossw_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
semcrossw_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
|
: driver_device(mconfig, type, tag)
|
||||||
|
, m_maincpu(*this, "maincpu")
|
||||||
|
, m_pia(*this, "pia%u", 1U)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void semcrossw(machine_config &config);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// devices/pointers
|
||||||
|
required_device<m6802_cpu_device> m_maincpu;
|
||||||
|
required_device_array<pia6821_device, 2> m_pia;
|
||||||
|
};
|
||||||
|
|
||||||
|
static INPUT_PORTS_START(semcrossw)
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
void semcrossw_state::semcrossw(machine_config &config)
|
||||||
|
{
|
||||||
|
M6802(config, m_maincpu, XTAL(4'000'000));
|
||||||
|
|
||||||
|
PIA6821(config, m_pia[0], 0);
|
||||||
|
|
||||||
|
PIA6821(config, m_pia[1], 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
ROM_START(semcrossw)
|
||||||
|
ROM_REGION(0x800, "maincpu", 0)
|
||||||
|
ROM_LOAD("at27c16.bin", 0x000, 0x800, CRC(2e7b10b1) SHA1(fba6465db1baa38ab79ed24a85de460f8be488b9))
|
||||||
|
|
||||||
|
ROM_REGION(0x800, "eeprom", 0)
|
||||||
|
ROM_LOAD("x2816cp-12.bin", 0x000, 0x800, BAD_DUMP CRC(c2ef2e80) SHA1(6c3c4215169c2941a37053888174fe0499301bac)) // BAD_DUMP because dumped from an already configured machine
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
} // anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
|
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||||
|
SYST(19??, semcrossw, 0, 0, semcrossw, semcrossw, semcrossw_state, empty_init, "Etra", "Crosswalk traffic light controller (unknown model)", MACHINE_IS_SKELETON)
|
Loading…
Reference in New Issue
Block a user