mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
New machines marked as NOT_WORKING:
- DECstation 5000/133 [R. Belmont, Al Kossow]
This commit is contained in:
parent
70b2f500f4
commit
13c73b2c5b
@ -1885,6 +1885,9 @@ files {
|
||||
createMESSProjects(_target, _subtarget, "dec")
|
||||
files {
|
||||
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/decwritr.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/pdp11.cpp",
|
||||
|
145
src/mame/drivers/decstation.cpp
Normal file
145
src/mame/drivers/decstation.cpp
Normal 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 )
|
49
src/mame/machine/decioga.cpp
Normal file
49
src/mame/machine/decioga.cpp
Normal 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
|
||||
}
|
42
src/mame/machine/decioga.h
Normal file
42
src/mame/machine/decioga.h
Normal 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
|
@ -11362,6 +11362,9 @@ czeroize // 37 1983.10 Zeroize
|
||||
decocass //
|
||||
decomult //
|
||||
|
||||
@source:decstation.cpp
|
||||
ds5k133 // 1993 Digital Equipment Corporation (DECstation 5000/133)
|
||||
|
||||
@source:dectalk.cpp
|
||||
dectalk // 1983 Digital Equipment Corporation
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user