Thinkpad 755C/755Cs System Specs 486SL DX2-50 or 486SL DX4-75 Equivalent to a 486DX + power management Different from (newer) SL-enhanced 486DX and 486SX processors 486SL-NM is equivalent to 486SX + power management 4MB parity upgradable to 36MB (can run in non parity?) 32MB -IBM 32MB 70ns 8Mx36 5.0V FRU 92G7282 07H4019 "32MB DRAM" "IC DRAM CARD" 16MB - Kingston KTM-TP750/16 16MB Credit Card lack of cache hampers performance tpvol2.pdf p195 "ThinkPad 355/360/755 Technical Reference" - Thinkpad Technical Reference (User and Hardware Service Manuals) - Thinkpad 755C Technical Description Memory


I have made available a System BIOS and Video BIOS from the 91G1533 BIOS update (corresponding to sytps143.exe). You can't use these files to update your BIOS; they are only here for reference. The System BIOS is mapped at 0xF0000 and the Video BIOS is mapped at 0xE0000 (not 0xC0000 as usual).

Updating the BIOS requires a charged battery and an AC adapter. There is a way to circumvent this requirement documented here but beware that if your AC or battery cuts out during the update, you may be in trouble. Just download sytps143.exe and follow the instructions.

According to the documentation included with the BIOS update, the Thinkpad 750 family supports PnPBIOS specification 1.0, and not the standard 1.0a.


The Thinkpad 755C/Cs uses a WD90C24A video chip. This is similar to the Paradise WD90C24 chip, but with 2D acceleration (hardware bitblt, cursor, line drawing) designed for Windows. It is fully backward compatible with the WD90C24, which has its own acceleration engine but different from the engine introduced in the WD90C24A. The WD90C24A is somewhat compatible with the WD90C31's acceleration engine; enough to use the XFree86 driver intended for the latter in a pinch. (The WD90C30 driver can also be used as a substitute WD90C24 driver, as those two chips are also very similar.)

There is 1MB (1024K) of Video RAM (VRAM) available to the WD90C24A video controller.

Does the WD90C24A have a High Color DAC? WD90C24 does not (limited to 8-bit color).

The available screens are:

When using the LCD only, the highest available video mode is (obviously) 640x480 at 8bpp.

When using the CRT only, the highest available video mode is 1024x768 at 8bpp.

When using the LCD+CRT simultaneously, the behavior depends on whether the LCD is a TFT or DSTN display. On a DSTN display, some video RAM must be used for a frame buffer, because the contents of both the upper half and bottom half of the screen must be output by the graphics controller simultaneously. On the WD90C24 (not A), this frame buffer takes up half of video RAM. It appears to be possible to drive the CRT at 800x600x8pp while driving the LCD at 640x480x8bpp, but this needs to be verified. LCD+CRT mode is where the WD90C24A behaves differently from the WD90C31, so a driver specifically written for the WD90C24A will be required for proper operation.

The video RAM clock speed can be adjusted by software. In the WD90C24A, the clock defaults to 44.297MHz. It can be programmed up to 55.035MHz. The pixel clock can be at most 1.6 times the VRAM clock, so it would be ideal to set the VRAM clock as high as possible to allow for a higher pixel clock, which in turn allows for higher refresh rates.

Obviously the behavior of all of the above is in an ideal situation. The actual behavior is OS and driver dependent.

The video BIOS supplied by IBM has no support for VESA VBE extensions. A separate driver supplied by IBM can be loaded in DOS to provide VESA support, but unfortunately this means that using a vesafb framebuffer console under Linux or the XFree86 'vesa' driver will not be possible.


The sound chip used in the Thinkpad 755C/Cs is a Crystal Semiconductor CS4248. It is a AD1848-compatible Windows Sound System chip, providing a 16-bit stereo 48KHz DAC, ADC, and a software-controlled mixer. It is pin-compatible with the Analog Devices AD1848K codec chip. It supports u-law and A-law PCM compression natively.

This chip is only a codec/mixer, so there is no support for AdLib/OPL FM synthesis, nor a hardware emulation of the Sound Blaster DSP interface. Both of these functions are accomplished via DOS software emulation drivers provided by IBM. SB software emulation is unnecessary in Linux, only used by DOS programs (and therefore implemented by DOSEMU), but it would be nice to have a FM synthesizer around without resorting to emulators... oh well.

There is no MIDI or game port either; a joystick or MIDI adapter which attaches to the serial or parallel ports, or a PCMCIA card, would be required to use external hardware. For MIDI synthesis, a software synthesizer such as Timidity++ could be used, but the synthesis is quite slow. The DX4-75 is fast enough to emulate a NES or C64 soundchip in real time, however (so get out those ripped chiptunes!). It can decode low bitrate MP3/OGG in realtime also. Fortunately these models have a FPU, so the math is done in hardware. To play multiple streams mixed at once, a software stream mixer such as ALSA's dmix must be used. But this mixing is incredibly slow, so it is practically impossible to play more than one simultaneous sound stream on this hardware.

The following resources are used by the sound chip, and are selectable via the Windows configuration applet (FIXME: in Easy Setup?) :

The sound chip seems to have some special registers associated with it. To see the current setting, output 0x1c to port 0x15e8, read port 0x15e9, and check whether bit 2 is set. If so, then the chip is currently enabled, otherwise it is disabled. The status can be changed and then written back to port 0x15e9. When disabled, I think the Thinkpad custom logic is driving the PWRDWN pin to put the chip in a low power state. So, I added this option to the ALSA driver as a power management feature. But to enable the chip in any case, the sound driver needs to know it's running on a Thinkpad, and this is done through a module option.

The appropriate modprobe line for the ALSA driver is as follows:

snd-ad1848 port=0x4e30 irq=10 dma1=0 thinkpad=1
IDE - hdparm -u1 ? Docking Bay Serial/Parallel - Using parallel CDROM/Zip drive/IDE interface - PS2/EPP/ECP features - Serial UART - 16550A? Keyboard/Mouse (including using external) PCMCIA - what to reserve in config.opts - H&A modem - SCSI card? Power Management/APM - 2.4/2.6 Laptop mode - hdparm to set spindown time low - spins up every 10 minutes Battery/Charger/Power Supply - PSU connector repair - Testing charger - Testing battery - Smart vs dumb battery - 486 755 series have smart, pentium 755 series have dumb? smart IBM ThinkPad 370C/750x/755C/755CS (?) - Battery disable switch - embedded microcontroller - Lid and keyboard switches - Standby vs System battery System Management PS2.EXE tpctl SMAPI? Need "Thinkpad 360/750/755 Technical Reference" Fn-keys - work in linux? Low and high speed CPU modes? Doesn't seem to have _SM_ entry point in BIOS. tpb


There aren't very many special notes needed for Linux; the installation is fairly painless. The kernel will need the option "floppy=thinkpad" in order to access the floppy drive. Also, 4MB of RAM is not enough to install a modern distribution of Linux or even boot the kernel. You will need at least 8MB. Do not install a distribution which comes with a KDE or GNOME desktop; the GUI will be unusable. Instead, install Debian, XFree86, and a lightweight window manager, or install a lightweight distribution like DeLi Linux. The installation can be accomplished via a docking station CDROM, a parallel port or serial cable connection, or via a PCMCIA network card.

XFree86 wdvga driver was never ported to XFree86 4.x - can use VESA or vga drivers instead (fbdev?) post XFree86 server log (for startup msgs) post XFree86 config how to adjust vram modelines for LCD TFT, LCD DSTN, CRT, and LCD+CRT

DOSEMU (Console)

- VGAEmu in XFree86 - SBEmu anyway - Timer emulation - slow on slower machines (can't use rdtsc) - post config


Even though a framebuffer console is not supported, it is possible to use some nice high resolution VGA text modes for the system console. FIXME: Compare to PS2.EXE modes....