2
2
// copyright-holders: Angelo Salese
3
3
/* *************************************************************************************************
4
4
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
6
7
7
8
TODO:
8
9
- Intel e28f004b5t80 flash ROM;
9
- - RTC (what's the CMOS here? );
10
+ - RTC (DS17485S-5 );
10
11
- keyboard (thru H8/3437);
11
12
12
13
===================================================================================================
13
14
14
15
The IBM ThinkPad 600 series was a series of notebook computers introduced in 1998 by IBM as an lighter and
15
16
slimmer alternative to the 770 series. Three models were produced, the 600, 600E, and 600X.
16
17
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
+
17
35
Hardware for the 600E model.
18
36
Main PCB:
19
37
-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.
21
39
-Texas Instruments PCIbus SN104698GFN.
22
- -Intel PCIset FW82371EB (PCI-TO-ISA / IDE XCELERATOR PIIX4)
40
+ -Intel PCIset FW82371EB (PCI-TO-ISA / IDE XCELERATOR PIIX4).
23
41
-NeoMagic MagicMedia 256AV NM2200C-A.
24
42
-Crystal CS4610C-CQ (CrystalClear SoundFusion PCI Audio Accelerator).
25
43
-Crystal CS4239-KQ (CrystalClear Portable ISA Audio System).
26
44
-National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
27
45
-Hitachi HD64F3437TF.
28
46
-Atmel 24C01A (SEEPROM).
47
+ -Dallas DS17485S-5 (real-time clock/calendar).
29
48
-Other chips: IMI-SG577DYB, TI SN75LVDS84, 4 x IBM 0364164PT3B (64 MB of RAM on the motherboard),
30
49
IBM 20H2987, IBM 10L3953, Motorola MC145583V, Maxim MAX1632EAI, etc.
31
50
Modem PCB:
@@ -46,6 +65,7 @@ Hardware for the 600 model.
46
65
-National Semiconductor PC97338VJG (ACPI 1.0 and PC98/99 Compliant SuperI/O).
47
66
-Hitachi HD64F3437TF.
48
67
-Atmel 24C01A (SEEPROM).
68
+ -Dallas DS17485S-5 (real-time clock/calendar).
49
69
-Other chips: IMI-SG571BYB, TI SN75LVDS84, 4 x Mitsubishi M5M4V64S40ATP (64 MB of RAM on the motherboard),
50
70
IBM 20H2987, IBM 10L3932, Maxim MAX1631EAI, etc.
51
71
Modem PCB (same as 600E model):
@@ -55,6 +75,86 @@ Hardware for the 600 model.
55
75
-TI TCM320AC36C (Voice-Band Audio Processor [VBAPE]).
56
76
-Large BGA chip silkscreened "IPI I8L7360 F27904A".
57
77
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
+
58
158
**************************************************************************************************/
59
159
60
160
#include " emu.h"
@@ -67,6 +167,7 @@ Hardware for the 600 model.
67
167
#include " bus/rs232/terminal.h"
68
168
#include " cpu/h8/h83337.h"
69
169
#include " cpu/i386/i386.h"
170
+ #include " machine/ds17x85.h"
70
171
#include " machine/pci.h"
71
172
#include " machine/pci-ide.h"
72
173
#include " machine/i82443bx_host.h"
@@ -153,9 +254,11 @@ static void isa_internal_devices(device_slot_interface &device)
153
254
void thinkpad600_state::thinkpad600_base (machine_config &config)
154
255
{
155
256
// 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
157
258
mcu.set_addrmap (AS_PROGRAM, &thinkpad600_state::mcu_map);
158
259
// mcu.set_disable();
260
+
261
+ DS17485 (config, " rtc" , 16'000'000 ); // Dallas DS17485S-5, unknown clock
159
262
}
160
263
161
264
void thinkpad600_state::thinkpad600e (machine_config &config)
@@ -207,7 +310,7 @@ void thinkpad600_state::thinkpad600e(machine_config &config)
207
310
208
311
void thinkpad600_state::thinkpad600 (machine_config &config)
209
312
{
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
211
314
m_maincpu->set_disable ();
212
315
213
316
// TODO: fill me, uses earlier PIIX4 AB
@@ -217,6 +320,31 @@ void thinkpad600_state::thinkpad600(machine_config &config)
217
320
}
218
321
219
322
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
+
220
348
ROM_START (thinkpad600e)
221
349
ROM_REGION ( 0x80000 , " bios" , 0 )
222
350
ROM_LOAD ( " e28f004b5t80-10l1056_rev15_h0399m.u60" , 0x00000 , 0x80000 , CRC(fba7567b) SHA1(a84e7d4e5740150e78e5002714c9125705f3356a) )
@@ -233,7 +361,7 @@ ROM_START(thinkpad600e)
233
361
ROM_LOAD ( " hd64f3437tf-10l1057_rev04_h0499m.u39" , 0x00000 , 0x0f780 , CRC(c21c928b) SHA1(33e3e6966f003655ffc2f3ac07772d2d3245740d) )
234
362
235
363
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
237
365
238
366
ROM_REGION (0x00420 , " seeprom2" , 0 )
239
367
ROM_LOAD ( " at24rf08bt.u99" , 0x00000 , 0x00420 , CRC(c7ce9600) SHA1(4e6ed66250fed838614c3f1f6044fd9a19a2d0de) )
@@ -242,22 +370,39 @@ ROM_START(thinkpad600e)
242
370
ROM_LOAD ( " atf1500al-modemboard.u12" , 0x00000 , 0x00c39 , CRC(7ecd4b79) SHA1(b69ef5fe227b466f331f863ba20efd7e23056809) ) // On modem PCB
243
371
ROM_END
244
372
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 ) )
248
376
249
377
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) )
251
390
252
391
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) )
254
396
255
397
ROM_REGION (0x00c39 , " plds" , 0 )
256
398
ROM_LOAD ( " atf1500al-modemboard.u12" , 0x00000 , 0x00c39 , CRC(7ecd4b79) SHA1(b69ef5fe227b466f331f863ba20efd7e23056809) ) // On modem PCB
257
399
ROM_END
258
400
259
401
} // anonymous namespace
260
402
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