summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2024-10-04 11:20:54 +0200
committer angelosa <lordkale4@gmail.com>2024-10-04 11:20:54 +0200
commit3a7d7252ef8aefbcff23717f88416335fd15050c (patch)
tree93576ab4e8afad1027162b2792c09d770aa247a6 /src
parent115ac9382f1db4d264fa388da784a6a9831fc3b0 (diff)
ibm/thinkpad600.cpp: swap boot banks, make it go standard x86 POST
Diffstat (limited to 'src')
-rw-r--r--src/devices/video/s3virge.h6
-rw-r--r--src/mame/ibm/thinkpad600.cpp34
2 files changed, 25 insertions, 15 deletions
diff --git a/src/devices/video/s3virge.h b/src/devices/video/s3virge.h
index c0183879e80..aafc74a11b8 100644
--- a/src/devices/video/s3virge.h
+++ b/src/devices/video/s3virge.h
@@ -7,8 +7,8 @@
*
*/
-#ifndef MAME_BUS_ISA_S3VIRGE_H
-#define MAME_BUS_ISA_S3VIRGE_H
+#ifndef MAME_VIDEO_S3VIRGE_H
+#define MAME_VIDEO_S3VIRGE_H
#pragma once
@@ -230,4 +230,4 @@ DECLARE_DEVICE_TYPE(S3VIRGE, s3virge_vga_device)
DECLARE_DEVICE_TYPE(S3VIRGEDX, s3virgedx_vga_device)
DECLARE_DEVICE_TYPE(S3VIRGEDX1, s3virgedx_rev1_vga_device)
-#endif // MAME_BUS_ISA_S3VIRGE_H
+#endif // MAME_VIDEO_S3VIRGE_H
diff --git a/src/mame/ibm/thinkpad600.cpp b/src/mame/ibm/thinkpad600.cpp
index 2f4f8977b36..271a6ae1e49 100644
--- a/src/mame/ibm/thinkpad600.cpp
+++ b/src/mame/ibm/thinkpad600.cpp
@@ -5,7 +5,9 @@
IBM ThinkPad 600 series
TODO:
-- Punts to Flash ROM BIOS Programmer thru serial port terminal;
+- Intel e28f004b5t80 flash ROM;
+- RTC (what's the CMOS here?);
+- keyboard (thru H8/3437);
===================================================================================================
@@ -115,14 +117,6 @@ void thinkpad600_state::mcu_map(address_map &map)
static INPUT_PORTS_START(thinkpad600)
INPUT_PORTS_END
-void thinkpad600_state::thinkpad600_base(machine_config &config)
-{
- // TODO: move away, maps on MB resource, bump to H83437
- h83337_device &mcu(H83337(config, "mcu", XTAL(16'000'000))); // Actually an Hitachi HD64F3437TF, unknown clock
- mcu.set_addrmap(AS_PROGRAM, &thinkpad600_state::mcu_map);
-// mcu.set_disable();
-}
-
void thinkpad600_state::superio_config(device_t *device)
{
pc97338_device &fdc = *downcast<pc97338_device *>(device);
@@ -156,6 +150,14 @@ static void isa_internal_devices(device_slot_interface &device)
device.option_add("pc97338", PC97338);
}
+void thinkpad600_state::thinkpad600_base(machine_config &config)
+{
+ // TODO: move away, maps on MB resource, bump to H83437
+ h83337_device &mcu(H83337(config, "mcu", XTAL(16'000'000))); // Actually an Hitachi HD64F3437TF, unknown clock
+ mcu.set_addrmap(AS_PROGRAM, &thinkpad600_state::mcu_map);
+// mcu.set_disable();
+}
+
void thinkpad600_state::thinkpad600e(machine_config &config)
{
PENTIUM2(config, m_maincpu, 366'000'000); // Intel Pentium II 366 Mobile MMC-2 (PMG36602002AA)
@@ -216,8 +218,16 @@ void thinkpad600_state::thinkpad600(machine_config &config)
ROM_START(thinkpad600e)
- ROM_REGION( 0x80000, "pci:07.0", 0 )
- ROM_LOAD( "e28f004b5t80-10l1056_rev15_h0399m.u60", 0x00000, 0x80000, CRC(fba7567b) SHA1(a84e7d4e5740150e78e5002714c9125705f3356a) ) // BIOS
+ ROM_REGION( 0x80000, "bios", 0 )
+ ROM_LOAD( "e28f004b5t80-10l1056_rev15_h0399m.u60", 0x00000, 0x80000, CRC(fba7567b) SHA1(a84e7d4e5740150e78e5002714c9125705f3356a) )
+
+ ROM_REGION( 0x80000, "pci:07.0", ROMREGION_ERASEFF )
+ // TODO: in linear mapping it will boot to a terminal only Flash ROM BIOS programmer
+ // 0x40000-0x5ffff contains standard x86 startup, this hookup needs confirmation later on.
+ ROM_COPY( "bios", 0x40000, 0x60000, 0x20000 )
+ ROM_COPY( "bios", 0x60000, 0x40000, 0x20000 )
+ ROM_COPY( "bios", 0x00000, 0x20000, 0x20000 )
+ ROM_COPY( "bios", 0x20000, 0x00000, 0x20000 )
ROM_REGION(0x0f780, "mcu", 0)
ROM_LOAD( "hd64f3437tf-10l1057_rev04_h0499m.u39", 0x00000, 0x0f780, CRC(c21c928b) SHA1(33e3e6966f003655ffc2f3ac07772d2d3245740d) )
@@ -234,7 +244,7 @@ ROM_END
ROM_START(thinkpad600)
ROM_REGION( 0x80000, "pci:07.0", 0 )
- ROM_LOAD( "tms28f004b_18l9949_rev16-i2298m.u76", 0x00000, 0x80000, CRC(00a52b32) SHA1(08db425b8edb3a036f22beb588caa6f050fc8eb2) ) // BIOS
+ ROM_LOAD( "tms28f004b_18l9949_rev16-i2298m.u76", 0x00000, 0x80000, CRC(00a52b32) SHA1(08db425b8edb3a036f22beb588caa6f050fc8eb2) )
ROM_REGION(0x0f780, "mcu", 0)
ROM_LOAD( "hd64f3437tf_10l9950_rev08_i2798m.u32", 0x00000, 0x0f780, CRC(546ec51c) SHA1(5d9b4be590307c4059ff11c434d0901819427649) )