mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
New machines marked NOT_WORKING
------------------------------ Intel INTELLEC 4/MOD 40 [Vas Crabb]
This commit is contained in:
parent
e52b17c78b
commit
fa4293fc03
@ -2117,6 +2117,7 @@ createMESSProjects(_target, _subtarget, "intel")
|
||||
files {
|
||||
MAME_DIR .. "src/mame/drivers/basic52.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/imds.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/intellec4.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/ipc.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/ipds.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/isbc.cpp",
|
||||
|
94
src/mame/drivers/intellec4.cpp
Normal file
94
src/mame/drivers/intellec4.cpp
Normal file
@ -0,0 +1,94 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Vas Crabb
|
||||
/*
|
||||
Intel INTELLEC® 4/MOD 40
|
||||
|
||||
Set the terminal for 110 1/8/N/2 to talk to the monitor.
|
||||
It only likes to see uppercase letters, and gets annoyed at lowercase.
|
||||
*/
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/rs232/rs232.h"
|
||||
#include "cpu/mcs40/mcs40.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class intellec4_40_state : public driver_device
|
||||
{
|
||||
public:
|
||||
intellec4_40_state(machine_config const &mconfig, device_type type, char const *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_tty(*this, "tty")
|
||||
{
|
||||
}
|
||||
|
||||
DECLARE_READ8_MEMBER(tty_r);
|
||||
DECLARE_WRITE8_MEMBER(tty_w);
|
||||
|
||||
private:
|
||||
required_device<rs232_port_device> m_tty;
|
||||
};
|
||||
|
||||
|
||||
READ8_MEMBER(intellec4_40_state::tty_r)
|
||||
{
|
||||
return m_tty->rxd_r() ? 0x0 : 0x1;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(intellec4_40_state::tty_w)
|
||||
{
|
||||
m_tty->write_txd(BIT(data, 0));
|
||||
}
|
||||
|
||||
|
||||
ADDRESS_MAP_START(mod40_program, AS_PROGRAM, 8, intellec4_40_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x03ff) AM_ROM AM_REGION("monitor", 0x0000) // 4289 + 4 * 1702A
|
||||
ADDRESS_MAP_END
|
||||
|
||||
ADDRESS_MAP_START(mod40_data, AS_DATA, 8, intellec4_40_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x00ff) AM_RAM // 4 * 4002
|
||||
ADDRESS_MAP_END
|
||||
|
||||
ADDRESS_MAP_START(mod40_io, AS_IO, 8, intellec4_40_state)
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x000f) AM_MIRROR(0x0700) AM_READ(tty_r) // RDR when RC=00
|
||||
AM_RANGE(0x1000, 0x103f) AM_MIRROR(0x0800) AM_WRITE(tty_w) // WMP when RC=00
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(intlc440)
|
||||
MCFG_CPU_ADD("maincpu", I4040, 5185000./7)
|
||||
MCFG_CPU_PROGRAM_MAP(mod40_program)
|
||||
MCFG_CPU_DATA_MAP(mod40_data)
|
||||
MCFG_CPU_IO_MAP(mod40_io)
|
||||
|
||||
MCFG_RS232_PORT_ADD("tty", default_rs232_devices, "terminal")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
INPUT_PORTS_START(intlc440)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
ROM_START(intlc440)
|
||||
ROM_REGION(0x0400, "monitor", 0)
|
||||
ROM_DEFAULT_BIOS("v2.1")
|
||||
ROM_SYSTEM_BIOS(0, "v2.1", "MON 4 V2.1")
|
||||
ROMX_LOAD("mon_4-000-v_2.1.a1", 0x0000, 0x0100, CRC(0a08d83d) SHA1(e7044f3b54a16d925aaffc85b0c6001f740ea4c5), ROM_BIOS(1))
|
||||
ROMX_LOAD("mon_4-100-v_2.1.a2", 0x0100, 0x0100, CRC(66562a4f) SHA1(040749c45e95dfc39b3397d0c31c8b4c11f0a5fc), ROM_BIOS(1))
|
||||
ROMX_LOAD("mon_4-200-v_2.1.a3", 0x0200, 0x0100, CRC(fe039c68) SHA1(1801cfcc7514412865c0fdc7d1800fcf583a2d2a), ROM_BIOS(1))
|
||||
ROMX_LOAD("mon_4-300-v_2.1.a4", 0x0300, 0x0100, CRC(3724d5af) SHA1(b764b3bb3541fbda875f7a7655f46aa54b332631), ROM_BIOS(1))
|
||||
ROM_SYSTEM_BIOS(1, "v2.1_1200", "MON 4 V2.1 1200 Baud hack")
|
||||
ROMX_LOAD("mon_4-000-v_2.1.a1", 0x0000, 0x0100, CRC(0a08d83d) SHA1(e7044f3b54a16d925aaffc85b0c6001f740ea4c5), ROM_BIOS(2))
|
||||
ROMX_LOAD("i40_mon-1.a2", 0x0100, 0x0100, CRC(cd9fecd6) SHA1(9c4fb85118c881687fd4b324e5089df05d1e63d1), ROM_BIOS(2))
|
||||
ROMX_LOAD("i40_mon-2.a3", 0x0200, 0x0100, CRC(037de128) SHA1(3694636e1f4e23688b36ea9ee755a0c5888f4328), ROM_BIOS(2))
|
||||
ROMX_LOAD("1200_baud-i40_mon-f3.a4", 0x0300, 0x0100, CRC(f3198d79) SHA1(b7903073b69f487b6f78842c08694f12225d85f0), ROM_BIOS(2))
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 1974?, intlc440, 0, 0, intlc440, intlc440, intellec4_40_state, 0, "Intel", "INTELLEC 4/MOD40", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW | MACHINE_SUPPORTS_SAVE )
|
@ -15058,6 +15058,9 @@ instantm //
|
||||
@source:instruct.cpp
|
||||
instruct //
|
||||
|
||||
@source:intellec4.cpp
|
||||
intlc440 //
|
||||
|
||||
@source:interact.cpp
|
||||
hector1 //
|
||||
interact //
|
||||
|
@ -276,6 +276,7 @@ indiana.cpp
|
||||
indigo.cpp
|
||||
indy_indigo2.cpp
|
||||
instruct.cpp
|
||||
intellec4.cpp
|
||||
interact.cpp
|
||||
interpro.cpp
|
||||
intv.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user