summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author ClawGrip <clawgrip@hotmail.com>2024-09-21 20:16:39 +0200
committer GitHub <noreply@github.com>2024-09-22 04:16:39 +1000
commit212c02e9736d5202a0bca2b6882ec7c2b0750535 (patch)
tree9262070901e9f09d09ffcfc37e07018a1ab71100 /src
parent1fd95023056fc733e1ed042549f604a52ca415a5 (diff)
ibm/thinkpad8xx.cpp: Added a skeleton for IBM ThinkPad 850 and its operating systems. (#12704)
New systems marked not working ------------------------------ IBM ThinkPad 850 [Arcade Hacker] New software list items marked not working (thinkpad8xx.xml) ------------------------------------------ AIX 4.1.5 [Arcade Hacker, ClawGrip] OS/2 Warp PowerPC Edition [Arcade Hacker, ClawGrip] Solaris 2.5.1 Limited Availability PowerPC Platform Edition [Arcade Hacker, ClawGrip] Windows NT Workstation 3.5 PowerPC Edition [Arcade Hacker, ClawGrip]
Diffstat (limited to 'src')
-rw-r--r--src/mame/ibm/thinkpad8xx.cpp103
-rw-r--r--src/mame/mame.lst3
2 files changed, 106 insertions, 0 deletions
diff --git a/src/mame/ibm/thinkpad8xx.cpp b/src/mame/ibm/thinkpad8xx.cpp
new file mode 100644
index 00000000000..f3a77a581e5
--- /dev/null
+++ b/src/mame/ibm/thinkpad8xx.cpp
@@ -0,0 +1,103 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/***********************************************************************************************************
+Skeleton driver for IBM ThinkPad Power Series.
+The IBM ThinkPad Power Series (800/820/821/822/823/850/851/860) is a laptop series from the ThinkPad line
+that was manufactured by IBM. It is based on the PowerPC architecture.
+All of the PowerPC ThinkPads could run Windows NT 3.51 and 4.0, AIX 4.1.x, and Solaris Desktop 2.5.1
+PowerPC Edition. It is also possible to run certain PowerPC versions of Linux on the 800 Series.
+830 and 850 models can also run OS/2 Warp PowerPC Edition.
+
+This has no chance of running until MAME's PowerPC CPU core supports little Endian mode and motherboards
+wired for little Endian operating systems.
+
+Hardware for the 850 model:
+-SCSI hard disk and SCSI CD-ROM drive (with a NCR 53C810 PCI-SCSI I/O Processor).
+-Two PC Card expansion slots (with a Ricoh RF53C366L PC Card interface controller and a
+ MAX780 Dual-Slot PCMCIA Analog Power Controller).
+-Video:
+ -IBM 85G7815 (by Seiko/Epson).
+ -Western Digital WD90C24A SVGA LCD controller.
+ -Two Hitachi HM51S4260 262144 x 16bit DRAM (1MB of video display memory).
+ -10.4" 640×480 or 800×600 screen.
+-Video capture:
+ -Brooktree Bt812 NTSC/PAL to RGB/YCrCb Decoder.
+ -Two Hitachi HM530281 high speed 331776 x 8bit Frame buffer DRAM.
+ -ASCII V7310AS (アスキー, Asukii) Video Capture Device.
+-Crystal CS4231 16bit stereo codec for audio.
+-Two DRAM DIMMs slots.
+-Hitachi H8/338 (HD6473388) for main board supervision.
+-CPU:
+ -IBM PowerPC 603e @ 100MHz (PPCI603eFC100BPQ).
+ -Two 32k x 36bits IBM043614 burst SRAM (256k L2 cache total).
+ -IDT71216 240K (16K x 15bit) cache-tag RAM.
+ -33.333 MHz xtal (tripled for 100MHz system clock).
+-Dallas DS1585S RTC.
+-Intel S82378ZB PCIset.
+-National Semiconductor DP87322VF (SuperI/O III, Floppy Disk Controller with Dual UARTs,
+ Enhanced Parallel Port, and IDE Interface).
+-Motorola XPC105ARX66CD (PowerPC PCI Bridge/Memory Controller).
+-Other ICs: S-MOS 85G7814, S-MOS 85G2680
+
+More info: http://oldcomputer.info/portables/tp850/ibm_ppc_thinkpad_redbook.pdf
+
+***********************************************************************************************************/
+
+#include "emu.h"
+#include "cpu/h8/h8325.h"
+#include "cpu/powerpc/ppc.h"
+#include "softlist_dev.h"
+#include "speaker.h"
+
+
+namespace {
+
+class thinkpad8xx_state : public driver_device
+{
+public:
+ thinkpad8xx_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ { }
+
+
+ void thinkpad850(machine_config &config);
+
+private:
+ required_device<cpu_device> m_maincpu;
+};
+
+
+static INPUT_PORTS_START(thinkpad8xx)
+INPUT_PORTS_END
+
+void thinkpad8xx_state::thinkpad850(machine_config &config)
+{
+ PPC603(config, m_maincpu, 33.333_MHz_XTAL * 3); // IBM PPCI603eFC100BPQ
+
+ // All BIOS ROM chip lines are routed through the S-MOS 85G7814
+
+ H8325(config, "mcu", XTAL(10'000'000)); // Actually an H8/338 (HD6473388: 48k-byte ROM; 2k-byte RAM), unknown clock
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ SOFTWARE_LIST(config, "thinkpad8xx").set_original("thinkpad8xx");
+}
+
+
+ROM_START(thinkpad850)
+ ROM_REGION( 0x80000, "maincpu", 0 )
+ ROM_SYSTEM_BIOS( 0, "91g1671", "v1.01 (91G1671, 09-10-1996)" )
+ ROMX_LOAD( "91g1671_ibm_dakota_v101_mbm29f040a.u21", 0x00000, 0x80000, CRC(5210dbd6) SHA1(8e0bbbe130e6fdb06ef307bb5addbcb993a8a41f), ROM_BIOS(0) ) // Needed for installing Windows NT
+ ROM_SYSTEM_BIOS( 1, "91g0610", "v1.00 (91G0610, 07-03-1995)" )
+ ROMX_LOAD( "91g0610_ibm_dakota_v100_mbm29f040a.u21", 0x00000, 0x80000, CRC(169a79c4) SHA1(da74a2f346b732add62d08ca5f34f192cae5d033), ROM_BIOS(1) )
+
+ ROM_REGION(0xe000, "mcu", 0)
+ ROM_LOAD( "hd6473388.u15", 0x0000, 0xe000, NO_DUMP )
+ROM_END
+
+} // anonymous namespace
+
+// YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS
+COMP( 1996, thinkpad850, 0, 0, thinkpad850, thinkpad8xx, thinkpad8xx_state, empty_init, "IBM", "ThinkPad 850", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index d4602ca5826..b150b87513e 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -19973,6 +19973,9 @@ rtpc020 // IBM RT PC Model 020
rtpc025 // IBM RT PC Model 025
rtpca25 // IBM RT PC Model A25
+@source:ibm/thinkpad8xx.cpp
+thinkpad850 // IBM Thinkpad 850
+
@source:ice/chexx.cpp
chexx83 // 1983 ICE
faceoffh // 1983 SoftLogic / Entertainment Enterprises