New machines marked as NOT_WORKING:

- DECstation 5000/133 [R. Belmont, Al Kossow]
This commit is contained in:
arbee 2018-07-14 17:31:27 -04:00
parent 70b2f500f4
commit 13c73b2c5b
5 changed files with 242 additions and 0 deletions

View File

@ -1885,6 +1885,9 @@ files {
createMESSProjects(_target, _subtarget, "dec") createMESSProjects(_target, _subtarget, "dec")
files { files {
MAME_DIR .. "src/mame/drivers/dct11em.cpp", MAME_DIR .. "src/mame/drivers/dct11em.cpp",
MAME_DIR .. "src/mame/drivers/decstation.cpp",
MAME_DIR .. "src/mame/machine/decioga.cpp",
MAME_DIR .. "src/mame/machine/decioga.h",
MAME_DIR .. "src/mame/drivers/dectalk.cpp", MAME_DIR .. "src/mame/drivers/dectalk.cpp",
MAME_DIR .. "src/mame/drivers/decwritr.cpp", MAME_DIR .. "src/mame/drivers/decwritr.cpp",
MAME_DIR .. "src/mame/drivers/pdp11.cpp", MAME_DIR .. "src/mame/drivers/pdp11.cpp",

View File

@ -0,0 +1,145 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
/****************************************************************************
decstation.cpp: MIPS-based DECstation family
WANTED: all boot ROM dumps except 5000/133, all TURBOchannel card ROM dumps
Machine types:
DECstation 3100 (PMAX/KN01):
16.67 MHz R2000 with FPU and MMU
24 MiB max RAM
Serial: DEC "DZ" quad-UART (DC7085 gate array)
SCSI: DEC "SII" SCSI interface (DC7061 gate array)
Ethernet: AMD7990 "LANCE" controller
Monochrome or color video on-board
PMIN/KN01:
Cheaper PMAX, 12.5 MHz R2000, same as PMAX
Personal DECstation 5000/xx (MAXine/KN02BA):
20, 25, or 33 MHz R3000 or 100 MHz R4000
40 MiB max RAM
Serial: DEC "DZ" quad-UART for keyboard/mouse, SCC8530 for modem/printer
SCSI: NCR53C94
Ethernet: AMD7990 "LANCE" controller
Audio: AMD AM79C30
Color 1024x768 8bpp video on-board
2 TURBOchannel slots
DECstation 5000/1xx: (3MIN/KN02DA):
20, 25, or 33 MHz R3000 or 100 MHz R4000
128 MiB max RAM
Serial: 2x SCC8530
SCSI: NCR53C94
Ethernet: AMD7990 "LANCE" controller
No on-board video
3 TURBOchannel slots
DECstation 5000/200: (3MAX/KN02):
25 MHz R3000
480 MiB max RAM
Serial: DEC "DZ" quad-UART
SCSI: NCR53C94
Ethernet: AMD7990 "LANCE" controllor
DECstation 5000/240, 5000/261 (3MAX+/KN03)
40 MHz R3400, or 120 MHz R4400.
480 MiB max RAM
Serial: 2x SCC8530
SCSI: NCR53C94
Ethernet: AMD7990 "LANCE" controller
****************************************************************************/
#include "emu.h"
#include "cpu/mips/r3000.h"
#include "machine/decioga.h"
class decstation_state : public driver_device
{
public:
decstation_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) ,
m_maincpu(*this, "maincpu"),
m_ioga(*this, "ioga")
{ }
void kn02da(machine_config &config);
void init_decstation();
private:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
required_device<cpu_device> m_maincpu;
required_device<dec_ioga_device> m_ioga;
void decstation_map(address_map &map);
};
/***************************************************************************
VIDEO HARDWARE
***************************************************************************/
void decstation_state::video_start()
{
}
/***************************************************************************
MACHINE FUNCTIONS
***************************************************************************/
void decstation_state::machine_start()
{
}
void decstation_state::machine_reset()
{
}
/***************************************************************************
ADDRESS MAPS
***************************************************************************/
void decstation_state::decstation_map(address_map &map)
{
map(0x00000000, 0x07ffffff).ram(); // full 128 MB
map(0x1c000000, 0x1dffffff).m(m_ioga, FUNC(dec_ioga_device::map));
map(0x1fc00000, 0x1fc3ffff).rom().region("user1", 0);
}
/***************************************************************************
MACHINE DRIVERS
***************************************************************************/
MACHINE_CONFIG_START(decstation_state::kn02da)
MCFG_DEVICE_ADD( "maincpu", R3041, 33000000 ) // FIXME: Should be R2000
MCFG_R3000_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_DEVICE_PROGRAM_MAP( decstation_map )
MCFG_DEVICE_ADD("ioga", DECSTATION_IOGA, XTAL(12'500'000))
MACHINE_CONFIG_END
static INPUT_PORTS_START( decstation )
PORT_START("UNUSED") // unused IN0
PORT_BIT(0xffff, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
void decstation_state::init_decstation()
{
}
/***************************************************************************
ROM definition(s)
***************************************************************************/
ROM_START( ds5k133 )
ROM_REGION32_LE( 0x40000, "user1", 0 )
ROM_LOAD( "ds5000-133_005eb.bin", 0x000000, 0x040000, CRC(76a91d29) SHA1(140fcdb4fd2327daf764a35006d05fabfbee8da6) )
ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1992, ds5k133, 0, 0, kn02da, decstation, decstation_state, init_decstation, "Digital Equipment Corporation", "DECstation 5000/133", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )

View File

@ -0,0 +1,49 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
/******************************************************************************
*
* MIPS DECstation I/O Gate Array emulation
*
*
*/
#include "decioga.h"
DEFINE_DEVICE_TYPE(DECSTATION_IOGA, dec_ioga_device, "decioga", "DECstation I/O Gate Array")
void dec_ioga_device::map(address_map &map)
{
map(0x040100, 0x040103).rw(FUNC(dec_ioga_device::csr_r), FUNC(dec_ioga_device::csr_w));
}
dec_ioga_device::dec_ioga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, DECSTATION_IOGA, tag, owner, clock)
{
}
void dec_ioga_device::device_start()
{
save_item(NAME(m_csr));
}
void dec_ioga_device::device_reset()
{
}
READ32_MEMBER(dec_ioga_device::csr_r)
{
return m_csr;
}
WRITE32_MEMBER(dec_ioga_device::csr_w)
{
COMBINE_DATA(&m_csr);
#if 0
printf("%08x to CSR: diag LEDs [", m_csr);
for (int i = 7; i >= 0; i--)
{
printf("%c", (m_csr & (1<<i)) ? 'O' : '.');
}
printf("]\n");
#endif
}

View File

@ -0,0 +1,42 @@
// license:BSD-3-Clause
// copyright-holders:R. Belmont
/******************************************************************************
*
* MIPS DECstation I/O Gate Array emulation
*
*
*/
#ifndef MAME_MACHINE_DECIOGA_H
#define MAME_MACHINE_DECIOGA_H
#pragma once
#include "emu.h"
class dec_ioga_device : public device_t
{
public:
dec_ioga_device(const machine_config &mconfig, const char *tag, device_t *owner)
: dec_ioga_device(mconfig, tag, owner, (uint32_t)0)
{
}
dec_ioga_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void map(address_map &map);
protected:
virtual void device_start() override;
virtual void device_reset() override;
DECLARE_READ32_MEMBER(csr_r);
DECLARE_WRITE32_MEMBER(csr_w);
private:
uint32_t m_csr;
};
DECLARE_DEVICE_TYPE(DECSTATION_IOGA, dec_ioga_device)
#endif // MAME_MACHINE_DECIOGA_H

View File

@ -11362,6 +11362,9 @@ czeroize // 37 1983.10 Zeroize
decocass // decocass //
decomult // decomult //
@source:decstation.cpp
ds5k133 // 1993 Digital Equipment Corporation (DECstation 5000/133)
@source:dectalk.cpp @source:dectalk.cpp
dectalk // 1983 Digital Equipment Corporation dectalk // 1983 Digital Equipment Corporation