My Libretto and Margi DVD-to-Go page

 

This page contains some information about the Libretto 100/110CT, assembled by avi dot cohenstuart at infor dot com.

In a near future it will be (greatly) expanded with more detailed information about the internals of the Libretto (including a disassembled BIOS)

Currently I own 3 Librettos and I’m still having a lot of fun with them.

 

IT CAN BE DONE: LIBRETTO 110CT with 96MB!!!

 

Libretto with Linux and Margi DVD-to-Go

Setting up Margi DVD-to-Go on Linux 2.6.28.7 .

Libretto photo’s

Libretto Motherboard 100CT: Part number P000249540 FLISY2

motherboard-top.jpg and motherboard-bottom.jpg

Same motherboard of the 100CT but heavily mutilated. Note: not for the weak minded: bottom and top

 

Libretto Motherboard 110CT.  Part number P000264810 FLISY3

top and bottom. And yes there are differences.For example the CPU on the FLISY2 has the marking a TT166 while in the FLISY3 it is a TT233,

probably related to the max clocking frequency of the CPU.

Some of the chips that I removed with high resolution scan: some-chips-from-100CT.jpg

The two ‘silver ones’ with numbers TC203G70TB IC2: System controller GA (Cello-SSP)

and the TC203E7450TB IC7: I/O & PC card controller GA (Petunia3) contain most of the

magic of the Libretto inside: these chips hide most of the internal details of the Libretto.

Any information about these 2 chips are most welcome.

Another one which hides a lot of mysteries is the NM2160 Neomagic MagicGraph 128XD. See below

on the quest of the Neomagic registers related to the Zoomed Video.

 

Libretto technical Manual: L100mm.pdf. Very important document. This contains a lot of internal information

which helps me to unlock the BIOS secrets.

 

Neomagic Zoomed Video/Overlay Analysis when using it with Margi DVD-to-Go NM2160 Register GUESS.html (NEW)

There is virtually no detailed technical information about any NeoMagic chips besides the drivers. Which made it a real

challenge to figure out how the Zoomed Video and Overlays work on the NeoMagic. Since the DirectX driver interface is

very detailed described in the MSDN I was able to Reverse Engineer the neomagic.dll that implements the DirectX for the Neomagic,

used in the Margi DVD-to-Go product. In combination with windbg to check what is actually happening when running the code I was

able to update the X Windows Driver for the NeoMagic.

I couldn’t have done this without IDA Pro and Hex-Rays

 

Windows drivers for Libretto 100CT/110CT

Not hard to find but here for easy reference. These can be used for XP as well..

You need to reboot after every setup. (Yeah… great…)

 

1. tosacp2k.exe Toshiba VALD driver for W2K/XP

2. w2kmobx1.exe Toshiba Mobile extensions

3. w2kpwrx1.exe Toshiba Power Utilities. This one gives an extra tab called “Power Save”

            This allows you to adapt the CPU Speed and LCD brightness depending on the Power Schema

4. z426utl2.exe  Toshiba Utilities

5. s18274acpx.exe  HW Setup Tool that runs on W2K/XP that allows to change the BIOS Settings

 

Margi DVD-to-Go

The Margi DVD-to-Go really deserves a separate chapter as it has been the center of my libretto research in order to try

to figure out why both Windows 2000 and Windows XP crash with a BSOD in stream.sys. Here is a part of the analysis of the memory dump

generated during DVD Playback. It is still far from complete and it is very hard without the sources. Again, IDA Pro and Hex-Rays are a tremendous help

in analyzing this problem.

 

Margi Drivers:

mci2180991.exe (MCI driver)

wdm1051063.exe (WDM Driver)

 

Margi WDM driver compiled with slight modification:

mdvdwdm.sys Driver only, first install the WDM driver!

 

Margi DVD-to-GO mug shots J

margi-top.jpg

margi-bottom.jpg

NeoMagic Shell Extension.

The Windows NT 4.0 driver for the NeoMagic  is basically outdated but it has the shell extension that allows select between

The LCD and external Screen, not found any more in the newer drivers.

The steps that needs to be done is to copy

neomagic.dll  crt.bmp lcd.bmp dual.bmp to the %SystemRoot%/system32 directory

and mess a bit with the registry.

These lines are relevant from the Neomagic.inf file. I didn’t have time to adapt the file to strip it.

All the files can be found here: p7kvidnt

 

HKLM,%KEY1%,,%REG_SZ%,"{6643a3a0-7c15-11c5-913c-0020afe4e9d7}"

HKLM,%KEY2%,{6643a3a0-7c15-11c5-913c-0020afe4e9d7},%REG_SZ%,"NeoMagic CPL Extension"

HKLM,%KEY3%,{6643a3a0-7c15-11c5-913c-0020afe4e9d7},%REG_SZ%,"NeoMagic CPL Extension"

HKLM,%KEY4%,,%REG_SZ%,"neomagic.dll"

HKLM,%KEY4%,ThreadingModel,%REG_SZ%,"Apartment"

                                                                

KEY1 = Software\Microsoft\Windows\CurrentVersion\Controls Folder\Display\shellex\PropertySheetHandlers\NeoMagic CPL Extension

KEY2 = Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved

KEY3 = Software\Classes\CLSID

KEY4 = Software\Classes\CLSID\{6643a3a0-7c15-11c5-913c-0020afe4e9d7}\InProcServer32