22// copyright-holders: Angelo Salese
33/* *************************************************************************************************
44
5- IBM ThinkPad 600 series
5+ IBM ThinkPad 6xx and 7xx series.
6+ More info from IBM: https://psref.lenovo.com/syspool/Sys/PDF/withdrawnbook/twbook.pdf
67
78TODO:
89- Intel e28f004b5t80 flash ROM;
9- - RTC (what's the CMOS here? );
10+ - RTC (DS17485S-5 );
1011- keyboard (thru H8/3437);
1112
1213===================================================================================================
1314
1415The IBM ThinkPad 600 series was a series of notebook computers introduced in 1998 by IBM as an lighter and
1516slimmer alternative to the 770 series. Three models were produced, the 600, 600E, and 600X.
1617
18+ Hardware for the 600X model.
19+ Main PCB:
20+ -Intel Pentium III 650 Mobile MMC-2 (PMM65002101AB).
21+ There were options for Pentium III at either 450 MHz, 500 MHz, or 650 MHz.
22+ -Intel PCIset FW82371MB (PCI-TO-ISA / IDE XCELERATOR PIIX4).
23+ -NeoMagic MagicMedia 256ZX NM2360A-A.
24+ -Crystal CS4624-CQ (CrystalClear SoundFusion PCI Audio Accelerator).
25+ -Crystal CS4297A-JQZ (CrystalClear SoundFusion Audio Codec).
26+ -National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
27+ -Hitachi HD64F3437TF.
28+ -Texas Instruments TI PCI1450GJG (PC Card Controller).
29+ -Atmel 24RF08CT (SEEPROM).
30+ -Other chips: IMI-SG577DYB, TI SN75LVDS84, 4 x IBM 0364164PT3B (64 MB of RAM on the motherboard),
31+ IBM 20H2987, IBM 10L3953, Motorola MC145583V, Maxim MAX1632EAI, etc.
32+ Enhanced video PCB:
33+ -Chrontel CH7004C-T (Digital PC to TV Encoder with Macrovision).
34+
1735Hardware for the 600E model.
1836 Main PCB:
1937 -Intel Pentium II 366 Mobile MMC-2 (PMG36602002AA).
20- There were options for Pentium II at either 300 MHz, 366 MHz, or 400 MHz
38+ There were options for Pentium II at either 300 MHz, 366 MHz, or 400 MHz.
2139 -Texas Instruments PCIbus SN104698GFN.
22- -Intel PCIset FW82371EB (PCI-TO-ISA / IDE XCELERATOR PIIX4)
40+ -Intel PCIset FW82371EB (PCI-TO-ISA / IDE XCELERATOR PIIX4).
2341 -NeoMagic MagicMedia 256AV NM2200C-A.
2442 -Crystal CS4610C-CQ (CrystalClear SoundFusion PCI Audio Accelerator).
2543 -Crystal CS4239-KQ (CrystalClear Portable ISA Audio System).
2644 -National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
2745 -Hitachi HD64F3437TF.
2846 -Atmel 24C01A (SEEPROM).
47+ -Dallas DS17485S-5 (real-time clock/calendar).
2948 -Other chips: IMI-SG577DYB, TI SN75LVDS84, 4 x IBM 0364164PT3B (64 MB of RAM on the motherboard),
3049 IBM 20H2987, IBM 10L3953, Motorola MC145583V, Maxim MAX1632EAI, etc.
3150 Modem PCB:
@@ -46,6 +65,7 @@ Hardware for the 600 model.
4665 -National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
4766 -Hitachi HD64F3437TF.
4867 -Atmel 24C01A (SEEPROM).
68+ -Dallas DS17485S-5 (real-time clock/calendar).
4969 -Other chips: IMI-SG571BYB, TI SN75LVDS84, 4 x Mitsubishi M5M4V64S40ATP (64 MB of RAM on the motherboard),
5070 IBM 20H2987, IBM 10L3932, Maxim MAX1631EAI, etc.
5171 Modem PCB (same as 600E model):
@@ -55,6 +75,86 @@ Hardware for the 600 model.
5575 -TI TCM320AC36C (Voice-Band Audio Processor [VBAPE]).
5676 -Large BGA chip silkscreened "IPI I8L7360 F27904A".
5777
78+ IBM ThinkPad 760 was a notebook computer introduced in 1995 by IBM as part of the ThinkPad 700-series.
79+ Eleven models were produced: 760C, 760CD, 760L, 760LD, 760E, 760ED, 760EL, 760ELD, 760XL, 760XD, and 760D/L.
80+
81+ Hardware for the 760XD model.
82+ CPU PCB:
83+ -Intel Mobile Pentium MMX 166 (TT80503166).
84+ -Two Samsung KM732V589T-15 (Cache SRAM, 32KX32).
85+ -One IDT 71V256 (Lower Power 3.3V CMOS Fast SRAM 256K [32K x 8-Bit]).
86+ RAM PCB:
87+ -Four on-board Toshiba TC51V18165CFTS-60 (1M X 16 EDO DRAM).
88+ -Two DIMM slots.
89+ Main PCB:
90+ -Intel PCIset SB82437MX.
91+ -Intel PCIset SB82371FB.
92+ -Two Intel PCIset FA82438MX.
93+ -W48C60-402G.
94+ -Four M5M4V18165CTTP (1M x 16 EDO DRAM).
95+ -Dallas DS17485S-5 (real-time clock/calendar).
96+ -NEC 53G9037.
97+ -NEC 53G9038.
98+ -IBM 89G7219.
99+ -IBM 20H2888.
100+ -IBM 94G0207.
101+ -HD6433436A18F (mask ROM, IBM-branded).
102+ -Maxim MAX3243CAI.
103+ -C46CM6 (SEEPROM, for BIOS settings).
104+ -Texas Instruments PCIbus PCI1130PDV.
105+ -Texas Instruments 90G9510.
106+ -Intel Flash E28F004 (BIOS).
107+ Video PCB:
108+ -NEC 53G9037.
109+ -IBM 20H2929.
110+ -IBM 03H9515.
111+ -Trident Cyber9385T.
112+ -Two National Semiconductor DS90CF561MTD (LVDS 18-Bit Color Flat Panel Display [FPD] Link).
113+ -Six KM416V256DT-L6 (256K x 16Bit CMOS Dynamic RAM with Fast Page Mode).
114+ -AD722JR (RGB to NTSC/PAL Encoder).
115+ -Philips SAA7110A WP.
116+ Sound PCB:
117+ -HM62W4032HFP25.
118+ -Crystal CS4218-KQ.
119+ -Texas Instruments TCM320AC36C (Voice-Band Audio Processor).
120+ Two separate small PCBs with two IR transceivers.
121+
122+
123+ IBM ThinkPad 770 was a laptop designed and manufactured by IBM targeted for the business, enterprise and professional user.
124+ It was the last lineup in the ThinkPad 700-series, succeeding the 760 as the high-end laptop of the ThinkPad lineup.
125+ The line was produced from October 1997 to May 2000, and eventually replaced by the ThinkPad models A20m and A20p.
126+
127+ Hardware for the 770Z model.
128+
129+ Main PCB:
130+ -Intel Mobile Pentium II 366 MMC-2 (PMG36602002AA).
131+ -Texas Instruments PCIbus SN104698GFN.
132+ -Intel PCIset FW82371EB (PCI-TO-ISA / IDE XCELERATOR PIIX4)
133+ -Crystal CS4610C-CQ (CrystalClear SoundFusion PCI Audio Accelerator).
134+ -Crystal CS4239-KQ (CrystalClear Portable ISA Audio System).
135+ -National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
136+ -Hitachi HD64F3437TF (near a 33.868 MHz xtal).
137+ -Atmel 24C01A (SEEPROM).
138+ -Dallas DS17485S-5 (real-time clock/calendar).
139+ -Other chips: NEC-J 1K3153 919LW, National SemiconductorLMC6034IM, IBM 20H2987
140+ IBM 10L3953, IMI SSC660EYB, IMI SG577DYB
141+ Modem PCB:
142+ -IBM 3780i Mwave DSP.
143+ -Epson 11J9289.
144+ -Five AS7C3256-15TC (RAM).
145+ -Atmel ATF1500AL.
146+ -TI TCM320AC36C (Voice-Band Audio Processor [VBAPE]).
147+ Video PCB:
148+ -Trident Cyber9397DVD.
149+ -Two KM4132G512TQ-8.
150+ DVD and enhaced video PCB.
151+ -IBM MPEGCD1MPFC21C (near a 27 MHz xtal).
152+ -Analog Devices ADV7175AKS (integrated digital video encoder).
153+ -M5M4V16S40CTP.
154+ -CS8404A-CS.
155+ -Philips SAA7111A (video input processor).
156+
157+
58158**************************************************************************************************/
59159
60160#include " emu.h"
@@ -67,6 +167,7 @@ Hardware for the 600 model.
67167#include " bus/rs232/terminal.h"
68168#include " cpu/h8/h83337.h"
69169#include " cpu/i386/i386.h"
170+ #include " machine/ds17x85.h"
70171#include " machine/pci.h"
71172#include " machine/pci-ide.h"
72173#include " machine/i82443bx_host.h"
@@ -153,9 +254,11 @@ static void isa_internal_devices(device_slot_interface &device)
153254void thinkpad600_state::thinkpad600_base (machine_config &config)
154255{
155256 // TODO: move away, maps on MB resource, bump to H83437
156- h83337_device &mcu (H83337 (config, " mcu" , XTAL ( 16'000'000 ))) ; // Actually an Hitachi HD64F3437TF, unknown clock
257+ h83337_device &mcu (H83337 (config, " mcu" , 10_MHz_XTAL)) ; // Actually an Hitachi HD64F3437TF
157258 mcu.set_addrmap (AS_PROGRAM, &thinkpad600_state::mcu_map);
158259// mcu.set_disable();
260+
261+ DS17485 (config, " rtc" , 16'000'000 ); // Dallas DS17485S-5, unknown clock
159262}
160263
161264void thinkpad600_state::thinkpad600e (machine_config &config)
@@ -207,7 +310,7 @@ void thinkpad600_state::thinkpad600e(machine_config &config)
207310
208311void thinkpad600_state::thinkpad600 (machine_config &config)
209312{
210- PENTIUM2 (config, m_maincpu, 300'000'000 ); // Intel Pentium II 300 Mobile MMC-1 (PMD30005002AA)
313+ PENTIUM2 (config, m_maincpu, 300'000'000 ); // Intel Pentium II 300 Mobile MMC-1 (PMD30005002AA) on the 600 model
211314 m_maincpu->set_disable ();
212315
213316 // TODO: fill me, uses earlier PIIX4 AB
@@ -217,6 +320,31 @@ void thinkpad600_state::thinkpad600(machine_config &config)
217320}
218321
219322
323+ ROM_START (thinkpad760xd)
324+ ROM_REGION ( 0x80000 , " pci:07.0" , 0 )
325+ ROM_LOAD ( " e28f004_89g8164_rev37_h1897m.u17" , 0x00000 , 0x80000 , CRC(6092594f ) SHA1(25681e4952a432e1170f69ae75f3260245b6b44b) ) // BIOS
326+
327+ ROM_REGION ( 0x0f780 , " mcu" , 0 )
328+ ROM_LOAD ( " ibm_hd6433436a18f_40h8792.u39" , 0x00000 , 0x0f780 , NO_DUMP ) // Mask ROM, undumped
329+
330+ ROM_REGION ( 0x00080 , " seeprom" , 0 )
331+ ROM_LOAD ( " st93c46c.u30" , 0x00000 , 0x00080 , CRC(22cac7b5) SHA1(ee48ecf5d59e243e9afb0ca7e41ed8437eec8097) ) // BIOS settings
332+ ROM_END
333+
334+ ROM_START (thinkpad600)
335+ ROM_REGION ( 0x80000 , " pci:07.0" , 0 )
336+ ROM_LOAD ( " tms28f004b_18l9949_rev16-i2298m.u76" , 0x00000 , 0x80000 , CRC(00a52b32) SHA1(08db425b8edb3a036f22beb588caa6f050fc8eb2) )
337+
338+ ROM_REGION (0x0f780 , " mcu" , 0 )
339+ ROM_LOAD ( " hd64f3437tf_10l9950_rev08_i2798m.u32" , 0x00000 , 0x0f780 , CRC(546ec51c) SHA1(5d9b4be590307c4059ff11c434d0901819427649) )
340+
341+ ROM_REGION (0x00080 , " seeprom" , 0 )
342+ ROM_LOAD ( " atmel_24c01a.u49" , 0x00000 , 0x00080 , CRC(9a2e2a18) SHA1(29e2832c97bc93debb4fb09fcbed582335b57efe) ) // BIOS settings
343+
344+ ROM_REGION (0x00c39 , " plds" , 0 )
345+ ROM_LOAD ( " atf1500al-modemboard.u12" , 0x00000 , 0x00c39 , CRC(7ecd4b79) SHA1(b69ef5fe227b466f331f863ba20efd7e23056809) ) // On modem PCB
346+ ROM_END
347+
220348ROM_START (thinkpad600e)
221349 ROM_REGION ( 0x80000 , " bios" , 0 )
222350 ROM_LOAD ( " e28f004b5t80-10l1056_rev15_h0399m.u60" , 0x00000 , 0x80000 , CRC(fba7567b) SHA1(a84e7d4e5740150e78e5002714c9125705f3356a) )
@@ -233,7 +361,7 @@ ROM_START(thinkpad600e)
233361 ROM_LOAD ( " hd64f3437tf-10l1057_rev04_h0499m.u39" , 0x00000 , 0x0f780 , CRC(c21c928b) SHA1(33e3e6966f003655ffc2f3ac07772d2d3245740d) )
234362
235363 ROM_REGION (0x00080 , " seeprom" , 0 )
236- ROM_LOAD ( " atmel_24c01a.u98" , 0x00000 , 0x00080 , CRC(7ce51001) SHA1(6f25666373a6373ce0014c04df73a066f4da938b) )
364+ ROM_LOAD ( " atmel_24c01a.u98" , 0x00000 , 0x00080 , CRC(7ce51001) SHA1(6f25666373a6373ce0014c04df73a066f4da938b) ) // BIOS settings
237365
238366 ROM_REGION (0x00420 , " seeprom2" , 0 )
239367 ROM_LOAD ( " at24rf08bt.u99" , 0x00000 , 0x00420 , CRC(c7ce9600) SHA1(4e6ed66250fed838614c3f1f6044fd9a19a2d0de) )
@@ -242,22 +370,39 @@ ROM_START(thinkpad600e)
242370 ROM_LOAD ( " atf1500al-modemboard.u12" , 0x00000 , 0x00c39 , CRC(7ecd4b79) SHA1(b69ef5fe227b466f331f863ba20efd7e23056809) ) // On modem PCB
243371ROM_END
244372
245- ROM_START (thinkpad600 )
246- ROM_REGION ( 0x80000 , " pci:07.0" , 0 )
247- ROM_LOAD ( " tms28f004b_18l9949_rev16-i2298m.u76 " , 0x00000 , 0x80000 , CRC(00a52b32 ) SHA1(08db425b8edb3a036f22beb588caa6f050fc8eb2 ) )
373+ ROM_START (thinkpad600x )
374+ ROM_REGION ( 0x80000 , " pci:07.0" , 0 )
375+ ROM_LOAD ( " e28f004b5t80_08k3492_rev25_b0800m.u36 " , 0x00000 , 0x80000 , CRC(5c64ef91 ) SHA1(1aa2d68aff96c1ccc6859c5480fcfc5e73ab250d ) )
248376
249377 ROM_REGION (0x0f780 , " mcu" , 0 )
250- ROM_LOAD ( " hd64f3437tf_10l9950_rev08_i2798m.u32" , 0x00000 , 0x0f780 , CRC(546ec51c) SHA1(5d9b4be590307c4059ff11c434d0901819427649) )
378+ ROM_LOAD ( " hd64f3437tf_08k3493_rev05_b1100m.u75" , 0x00000 , 0xc000 , CRC(99d21cad) SHA1(92a2809e5c7ca3a63489f9cd1c9a7dc57c6a1343) )
379+
380+ ROM_REGION (0x00080 , " seeprom" , 0 )
381+ ROM_LOAD ( " atmel24rf08ct.u79" , 0x00000 , 0x00080 , NO_DUMP ) // BIOS settings
382+ ROM_END
383+
384+ ROM_START (thinkpad770z)
385+ ROM_REGION ( 0x80000 , " pci:07.0" , 0 )
386+ ROM_LOAD ( " e28f004b5t80-10l1055-rev09-d0999m.u59" , 0x00000 , 0x80000 , CRC(f9f255c5) SHA1(ee209802d08c6498a42e52c5c45ce469dc095ad4) )
387+
388+ ROM_REGION (0x0f780 , " mcu" , 0 )
389+ ROM_LOAD ( " hd64f3437tf-10l1049-rev05-e2699m.u10" , 0x00000 , 0x0f780 , CRC(c1bad151) SHA1(73d0d1b15c083a18aff6b80188443b0dc1d976c3) )
251390
252391 ROM_REGION (0x00080 , " seeprom" , 0 )
253- ROM_LOAD ( " atmel_24c01a.u49" , 0x00000 , 0x00080 , CRC(9a2e2a18) SHA1(29e2832c97bc93debb4fb09fcbed582335b57efe) )
392+ ROM_LOAD ( " atmel24c01a.u94" , 0x00000 , 0x00080 , CRC(7ce51001) SHA1(6f25666373a6373ce0014c04df73a066f4da938b) ) // BIOS settings
393+
394+ ROM_REGION (0x00420 , " seeprom2" , 0 )
395+ ROM_LOAD ( " una-at24rf08bt.bin" , 0x00000 , 0x00420 , CRC(9ccddd43) SHA1(262af18b5649b01f70ef1587a14405f8f6cd8fe2) )
254396
255397 ROM_REGION (0x00c39 , " plds" , 0 )
256398 ROM_LOAD ( " atf1500al-modemboard.u12" , 0x00000 , 0x00c39 , CRC(7ecd4b79) SHA1(b69ef5fe227b466f331f863ba20efd7e23056809) ) // On modem PCB
257399ROM_END
258400
259401} // anonymous namespace
260402
261- // YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS
262- COMP ( 1999 , thinkpad600e, 0 , 0 , thinkpad600e, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 600E" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
263- COMP( 1998 , thinkpad600, 0 , 0 , thinkpad600, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 600" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
403+ // YEAR, NAME, PARENT, COMPAT, MACHINE, INPUT, CLASS, INIT, COMPANY, FULLNAME, FLAGS
404+ COMP ( 1995 , thinkpad760xd, 0 , 0 , thinkpad600, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 760XD" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
405+ COMP( 1998 , thinkpad600, 0 , 0 , thinkpad600, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 600" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
406+ COMP( 1999 , thinkpad600e, 0 , 0 , thinkpad600e, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 600E" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
407+ COMP( 1999 , thinkpad600x, 0 , 0 , thinkpad600, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 600X" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
408+ COMP( 1999 , thinkpad770z, 0 , 0 , thinkpad600, thinkpad600, thinkpad600_state, empty_init, " IBM" , " ThinkPad 770Z" , MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
0 commit comments