summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ps2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ps2.cpp')
-rw-r--r--src/mame/drivers/ps2.cpp288
1 files changed, 0 insertions, 288 deletions
diff --git a/src/mame/drivers/ps2.cpp b/src/mame/drivers/ps2.cpp
deleted file mode 100644
index 6edc7acc0f1..00000000000
--- a/src/mame/drivers/ps2.cpp
+++ /dev/null
@@ -1,288 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, Miodrag Milanovic, Carl
-
-#include "emu.h"
-#include "cpu/i86/i286.h"
-#include "cpu/i386/i386.h"
-#include "machine/at.h"
-#include "machine/ram.h"
-#include "bus/isa/isa_cards.h"
-#include "bus/pc_kbd/keyboards.h"
-#include "softlist_dev.h"
-
-class ps2_state : public driver_device
-{
-public:
- ps2_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_mb(*this, "mb"),
- m_ram(*this, RAM_TAG)
- { }
- required_device<cpu_device> m_maincpu;
- required_device<at_mb_device> m_mb;
- required_device<ram_device> m_ram;
-
- void ps2m30286(machine_config &config);
- void ps2386(machine_config &config);
- void ps2386sx(machine_config &config);
- void at_softlists(machine_config &config);
- void ps2_16_io(address_map &map);
- void ps2_16_map(address_map &map);
- void ps2_32_io(address_map &map);
- void ps2_32_map(address_map &map);
-protected:
- void machine_start() override;
-};
-
-void ps2_state::at_softlists(machine_config &config)
-{
- /* software lists */
- SOFTWARE_LIST(config, "pc_disk_list").set_original("ibm5150");
- SOFTWARE_LIST(config, "at_disk_list").set_original("ibm5170");
- SOFTWARE_LIST(config, "at_cdrom_list").set_original("ibm5170_cdrom");
- SOFTWARE_LIST(config, "midi_disk_list").set_compatible("midi_flop");
-}
-
-void ps2_state::ps2_16_map(address_map &map)
-{
- map.unmap_value_high();
- map(0x000000, 0x09ffff).bankrw("bank10");
- map(0x0e0000, 0x0fffff).rom().region("bios", 0);
- map(0xfe0000, 0xffffff).rom().region("bios", 0);
-}
-
-void ps2_state::ps2_32_map(address_map &map)
-{
- map.unmap_value_high();
- map(0x00000000, 0x0009ffff).bankrw("bank10");
- map(0x000e0000, 0x000fffff).rom().region("bios", 0);
- map(0xfffe0000, 0xffffffff).rom().region("bios", 0);
-}
-
-void ps2_state::ps2_16_io(address_map &map)
-{
- map.unmap_value_high();
- map(0x0000, 0x00ff).m(m_mb, FUNC(at_mb_device::map));
-}
-
-void ps2_state::ps2_32_io(address_map &map)
-{
- map.unmap_value_high();
- map(0x0000, 0x00ff).m(m_mb, FUNC(at_mb_device::map));
-}
-
-void ps2_state::machine_start()
-{
- address_space& space = m_maincpu->space(AS_PROGRAM);
-
- /* MESS managed RAM */
- membank("bank10")->set_base(m_ram->pointer());
-
- if (m_ram->size() > 0xa0000)
- {
- offs_t ram_limit = 0x100000 + m_ram->size() - 0xa0000;
- space.install_read_bank(0x100000, ram_limit - 1, "bank1");
- space.install_write_bank(0x100000, ram_limit - 1, "bank1");
- membank("bank1")->set_base(m_ram->pointer() + 0xa0000);
- }
-}
-
-void ps2_state::ps2m30286(machine_config &config)
-{
- /* basic machine hardware */
- i80286_cpu_device &maincpu(I80286(config, m_maincpu, 10000000));
- maincpu.set_addrmap(AS_PROGRAM, &ps2_state::ps2_16_map);
- maincpu.set_addrmap(AS_IO, &ps2_state::ps2_16_io);
- maincpu.set_irq_acknowledge_callback("mb:pic8259_master", FUNC(pic8259_device::inta_cb));
- maincpu.shutdown_callback().set("mb", FUNC(at_mb_device::shutdown));
-
- AT_MB(config, m_mb, 0);
-
- config.set_maximum_quantum(attotime::from_hz(60));
-
- at_softlists(config);
-
- // FIXME: determine ISA bus clock
- ISA16_SLOT(config, "isa1", 0, "mb:isabus", pc_isa16_cards, "vga", true);
- ISA16_SLOT(config, "isa2", 0, "mb:isabus", pc_isa16_cards, "fdc", false);
- ISA16_SLOT(config, "isa3", 0, "mb:isabus", pc_isa16_cards, "ide", false);
- ISA16_SLOT(config, "isa4", 0, "mb:isabus", pc_isa16_cards, "comat", false);
- PC_KBDC_SLOT(config, "kbd", pc_at_keyboards, STR_KBD_IBM_PC_AT_84).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
-
- /* internal ram */
- RAM(config, RAM_TAG).set_default_size("1664K").set_extra_options("2M,4M,8M,15M");
-}
-
-void ps2_state::ps2386(machine_config &config)
-{
- I386(config, m_maincpu, 12000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &ps2_state::ps2_32_map);
- m_maincpu->set_addrmap(AS_IO, &ps2_state::ps2_32_io);
- m_maincpu->set_irq_acknowledge_callback("mb:pic8259_master", FUNC(pic8259_device::inta_cb));
-
- AT_MB(config, m_mb, 0);
-
- config.set_maximum_quantum(attotime::from_hz(60));
- at_softlists(config);
-
- // on board devices
- ISA16_SLOT(config, "board1", 0, "mb:isabus", pc_isa16_cards, "fdcsmc", true); // FIXME: determine ISA bus clock
- ISA16_SLOT(config, "board2", 0, "mb:isabus", pc_isa16_cards, "comat", true);
- ISA16_SLOT(config, "board3", 0, "mb:isabus", pc_isa16_cards, "ide", true);
- ISA16_SLOT(config, "board4", 0, "mb:isabus", pc_isa16_cards, "lpt", true);
- // ISA cards
- ISA16_SLOT(config, "isa1", 0, "mb:isabus", pc_isa16_cards, "svga_et4k", false);
- ISA16_SLOT(config, "isa2", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
- ISA16_SLOT(config, "isa3", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
- ISA16_SLOT(config, "isa4", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
- ISA16_SLOT(config, "isa5", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
- PC_KBDC_SLOT(config, "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
-
- /* internal ram */
- RAM(config, RAM_TAG).set_default_size("1664K").set_extra_options("2M,4M,8M,15M,16M,32M,64M,128M,256M");
-}
-
-void ps2_state::ps2386sx(machine_config &config)
-{
- ps2386(config);
- I386SX(config.replace(), m_maincpu, 12000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &ps2_state::ps2_16_map);
- m_maincpu->set_addrmap(AS_IO, &ps2_state::ps2_16_io);
- m_maincpu->set_irq_acknowledge_callback("mb:pic8259_master", FUNC(pic8259_device::inta_cb));
-}
-
-ROM_START( i8530286 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- // saved from running machine
- ROM_LOAD16_BYTE("ps2m30.0", 0x00000, 0x10000, CRC(9965a634) SHA1(c237b1760f8a4561ec47dc70fe2e9df664e56596))
- ROM_LOAD16_BYTE("ps2m30.1", 0x00001, 0x10000, CRC(1448d3cb) SHA1(13fa26d895ce084278cd5ab1208fc16c80115ebe))
-ROM_END
-
-/*
-
-8530-H31 (Model 30/286)
-======================
- P/N Date
-33F5381A EC C01446 1990
-
-*/
-ROM_START( i8530h31 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- ROM_LOAD( "33f5381a.bin", 0x00000, 0x20000, CRC(ff57057d) SHA1(d7f1777077a8df43c3c14d175b9709bd3969c4b1))
-ROM_END
-
-/*
-8535-043 (Model 35SX)
-===================
- P/N Checksum Date
-04G2021 C26C 1991 ODD
-04G2022 9B94 1991 EVEN
-*/
-ROM_START( i8535043 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- ROM_LOAD16_BYTE( "04g2021.bin", 0x00001, 0x10000, CRC(4069b2eb) SHA1(9855c84c81d1f07e1da66b1ca45c1c10c0717a90))
- ROM_LOAD16_BYTE( "04g2022.bin", 0x00000, 0x10000, CRC(35c1af65) SHA1(7d2445cc463969c808fdd78e0a27a03db5dfc698))
-ROM_END
-
-/*
-8550-021 (Model 50)
-===================
- Code Date Internal
-90X7420 4/12/87 --> 90X6815
-90X7423 8/12/87 --> 90X6816
-90X7426 8/12/87 --> 90X6817
-90X7429 18/12/87 --> 90X6818
-
-Same ROMs used by : (According to http://www.ibmmuseum.com/ohlandl/8565/8560.html)
-
-IBM Personal System/2 Model 60 (8560-041 and 8560-071)
-IBM Personal System/2 Model 65 SX (8565-061 and 8565-121)
-
-*/
-ROM_START( i8550021 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- ROM_LOAD16_BYTE( "90x7423.zm14", 0x00000, 0x8000, CRC(2c1633e0) SHA1(1af7faa526585a7cfb69e71d90a75e1f1c541586))
- ROM_LOAD16_BYTE( "90x7426.zm16", 0x00001, 0x8000, CRC(e7c762ce) SHA1(228f67dc915d84519da7fc1a59b7f9254278f3a0))
- ROM_LOAD16_BYTE( "90x7420.zm13", 0x10000, 0x8000, CRC(19a57cc1) SHA1(5b31ba66cd3690e651a450619a32b7210769945d))
- ROM_LOAD16_BYTE( "90x7429.zm18", 0x10001, 0x8000, CRC(6f0120f6) SHA1(e112c291ac3d9f6507c93ac49ad26f9fd2245fd2))
-
- ROM_REGION( 0x800, "keyboard", 0 )
- ROM_LOAD( "72x8455.zm82", 0x000, 0x800, CRC(7da223d3) SHA1(54c52ff6c6a2310f79b2c7e6d1259be9de868f0e) )
-ROM_END
-
-/*
-8550-061 (Model 50Z)
-===================
- P/N Date
-AMI 8935MKN 15F8365 S63512 1988
-AMI 8948MML 15F8366 S63512 1988
-
-http://ps-2.kev009.com:8081/ohlandl/8550/8550z_Planar.html
-
-
-*/
-ROM_START( i8550061 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- ROM_LOAD16_BYTE( "15f8365.zm5", 0x00001, 0x10000, CRC(35aa3ecf) SHA1(a122531092a9cb08600b276da9c9c3ce385aab7b))
- ROM_LOAD16_BYTE( "15f8366.zm6", 0x00000, 0x10000, CRC(11bf564d) SHA1(0dda6a7ca9294cfaab5bdf4c05973be13b2766fc))
-ROM_END
-
-/*
-8555-X61 (Model 55SX)
-===================
- Code Date Internal
-ODD 33F8145 13/03/90 --> 33F8153
-EVEN 33F8146 31/01/90 --> 33F8152
-
-8555-081 (Model 55SX)
-===================
- Code Date Internal
-ODD AMI 9205MEN 92F0627 EC32680 88 --> 33F8153
-EVEN AMI 9203MGS 92F0626 EC32680 88 --> 33F8152
-
-*/
-ROM_START( i8555081 )
- ROM_REGION16_LE(0x20000, "bios", 0)
- ROM_LOAD16_BYTE("33f8145.zm40", 0x00001, 0x10000, CRC(0895894c) SHA1(7cee77828867ad1bdbe0ac223bc25d23c65b28a0))
- ROM_LOAD16_BYTE("33f8146.zm41", 0x00000, 0x10000, CRC(c6020680) SHA1(b25a64e4b2dca07c567648401100e04e89bbcddb))
-ROM_END
-
-/*
-8580-071 (Model 80)
-===================
- Code Date Internal
-AMI 8924MBW 90X8548 1987 --> 72X7551
-AMI 8924MBL 90X8549 1987 --> 72X7554
-AMI 8924MBG 90X8550 1987 --> 72X7557
-AMI 8921MBK 90X8551 1987 --> 72X7560
-*/
-ROM_START( i8580071 )
- ROM_REGION32_LE(0x20000, "bios", 0)
- ROM_LOAD32_BYTE( "90x8548.bin", 0x00000, 0x8000, CRC(1f13eea5) SHA1(0bf53ad86f47db3825a713ea2e4ef23715cc4f79))
- ROM_LOAD32_BYTE( "90x8549.bin", 0x00001, 0x8000, CRC(9e0f4a99) SHA1(b8600f04159ed281a57416274390ba9302be541b))
- ROM_LOAD32_BYTE( "90x8550.bin", 0x00002, 0x8000, CRC(cb21df96) SHA1(0c2765f6becfa3f9171c4f13f7b74d19c4c9acc2))
- ROM_LOAD32_BYTE( "90x8551.bin", 0x00003, 0x8000, CRC(3d7e9868) SHA1(2928fe0e48a573cc2c0c41bd7f7188a54a908229))
-ROM_END
-
-/*
-8580-111 (Model 80)
-===================
- Code Date Internal
-AMI 8934MDL 15F6637 1987 --> 15F6597
-AMI 8944MDI 15F6639 1987 --> 15F6600
-*/
-ROM_START( i8580111 )
- ROM_REGION32_LE(0x20000, "bios", 0)
- ROM_LOAD16_BYTE( "15f6637.bin", 0x00000, 0x10000, CRC(76c36d1a) SHA1(c68d52a2e5fbd303225ebb006f91869b29ef700a))
- ROM_LOAD16_BYTE( "15f6639.bin", 0x00001, 0x10000, CRC(82cf0f7d) SHA1(13bb39225757b89749af70e881af0228673dbe0c))
-ROM_END
-
-COMP( 1990, i8530h31, 0, ibm5170, ps2m30286, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8530-H31 (Model 30/286)", MACHINE_NOT_WORKING )
-COMP( 1988, i8530286, i8530h31, 0, ps2m30286, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 Model 30-286", MACHINE_NOT_WORKING )
-COMP( 198?, i8535043, 0, ibm5170, ps2386sx, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8535-043 (Model 35SX)", MACHINE_NOT_WORKING )
-COMP( 198?, i8550021, i8550061, 0, ps2m30286, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8550-021 (Model 50)", MACHINE_NOT_WORKING )
-COMP( 198?, i8550061, 0, ibm5170, ps2m30286, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8550-061 (Model 50Z)", MACHINE_NOT_WORKING )
-COMP( 1989, i8555081, 0, ibm5170, ps2386sx, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8555-081 (Model 55SX)", MACHINE_NOT_WORKING )
-COMP( 198?, i8580071, 0, ibm5170, ps2386, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8580-071 (Model 80)", MACHINE_NOT_WORKING )
-COMP( 198?, i8580111, 0, ibm5170, ps2386, 0, ps2_state, empty_init, "International Business Machines", "IBM PS/2 8580-111 (Model 80)", MACHINE_NOT_WORKING )