An Optimizing Windows followup?

Optimizing Windows NT for Games, Graphics and Multimedia or Whatever… I occasionally get a question whether there’ll ever be such a beast. O’Reilly and I discussed it in the past, with little interest. (In fact when we were negotiating Optimizing Windows, I wanted it to be an NT book, and they asked if I knew Win9x well enough to write about that instead.)

There’s the possibility that another publisher who’s strong in Windows NT/Windows 2000, such as Sybex, might be interested. I haven’t talked to anyone there about it yet. But believe me, I’ve thought about the possibility of such a book.

I tried to write Optimizing Windows in such a way that someone who knew Windows 9x and another OS would then be able to apply the principles to both OSes, even though the specifics would only apply to 9x.

In the meantime, the best suggestion I can come up with is to take yesterday’s post , print it, then paste it to an otherwise underutilized page (such as the last page of the preface, which is totally blank). While it doesn’t go into great detail, that message could well form the basis of a chapter in an NT/2000 follow-on. I’d say at least half of chapter 2 in Optimizing Windows (particularly the user interface stuff) applies to NT and 2000 as well.

Laptop troubleshooting. I had a laptop the other day that seemed to launch programs and move the mouse pointer around at will. I’d never seen anything like it before. We were perplexed about it for a couple of hours (it was a deployed user in California, so it wasn’t like I could just tool over to his desk and start trying stuff). On a hunch, he unplugged everything and powered up the bare laptop. It worked fine. He started adding components one at a time, and when he got to the mouse, the problem reappeared.

Constant travel and frequent plugging and unplugging certainly could be hard on the mouse cable, so I can see where this might be a common problem for road warriors (I’d say 90 percent of my support experience is desktop PCs). So, if you’re getting unexplainable behavior from a PC, especially a laptop, try a different mouse — and a different external keyboard too, while you’re at it — and see if that makes the problem go away.

Mac “superiority” and cheap PC hardware sources

Dave flying solo. Sorry about not getting the post up there yesterday. So here’s two days’ worth, divvied up however I want.
Inherent Mac superiority… or something. When Steve Jobs unveiled the new dual G4s, he loaded up Photoshop 5.5 on a 1 GHz P3, a 500 MHz G4, and a dual G4 and applied a filter. The 500 MHz G4 finished faster than the P3, and the dual G4 finished in less than half the time. The dual G4 is faster than a 2 GHz P3, not that you can buy one, Jobs boasted.

OK Steve, let’s try a real-world test here. What’s more common, Photoshop or MS Office? The rest of us use Office more frequently. So let’s rumble. The objective: A 700-record mail merge, using Excel and Word. The contenders: A 350 MHz G3 with 192 MB RAM, a 266 MHz G3 with 256 MB RAM, and a 333 MHz P2 with 64 MB RAM.

On record #596, both Macs abort with out of memory errors, even if I crank up the amount of memory both apps can have beyond 32 MB. (Macs don’t have dynamic memory allocation.) Time elapsed: 5 minutes on the 350, 6 minutes on the 266. (I tried it on the second Mac in case there was something wrong with the first one.)

The PC zips through the job in 30 seconds without errors. (Oh yeah, and I had two Internet Exploiter windows in the background, and an extra Excel spreadsheet loaded, mostly because I was too lazy to close everything extraneous down on the PC in order to make the test fair.)

So I guess by Jobs’ logic, my 333 MHz P2, which isn’t even made anymore, is faster than a dual 2 GHz G4, not that you can buy one…

Not that I’m a Microsoft zealot by any stretch of the imagination, but I just found this amusing. It turned out the fastest and most reliable way for one of my Mac users at work to do a mail merge on her Mac is to save the Excel “database” to an NT share, then go log onto a neighbor’s NT box to do the job.

A place for potential bargains. I found a source for surplus computer gear that pretty consistently has good deals advertised at Caveat emptor: I haven’t ordered anything from them myself yet, and they have a 5.1 rating on but only four evaluations. Given that, I’d say they’re somewhat promising but I’m not going to explicitly recommend either for or against them based on just that.

A sampler: They have an Athlon 550 (Slot A, non-Thunderbird) on a Soyo KT133 mobo for $150. Soyo’s not my motherboard maker of choice but that’s not a bad deal for an inexpensive system with some kick. IDE CD-ROM drives are in the $25 range. WinChip 200 CPUs (outstanding for upgrading Socket 5 systems cheaply–the 1.5X multiplier becomes a 4X multiplier with the WinChip, so a Winnie-200 is a drop-in instant replacement for a P75, and you can get it running at 200 MHz on a 66 MHz system bus if your board supports a 3x multiplier) are $30. Plextor 12X/20X CD-ROM drives are $60. If you want a cheap speed boost for your Win9x box, Fix-It Utilities 99 is $10. Norton Utilities 2000 is $20. Nuts & Bolts Platinum is $15.

Certainly an intriguing vendor. That Athlon bundle has me thinking, and that Winnie would be nice in my P120.

From: Robert Bruce Thompson

Yep. I understand that even a lot of younger hams have never built anything. That’s sad. And probably not good news.


Agreed. But I don’t know what anyone can really do about it.

Fixing Win9x with bootlog.txt

Using bootlog.txt. I resurrected a dead Win95 box yesterday; it wouldn’t boot. Bootlog.txt to the rescue. (You can also use bootlog.prv, the log of the previous boot). Search the file for the string “fail” and note the device driver that isn’t working. Hot tip: frequently it’s a network driver. Boot into safe mode, remove the offending driver(s) from Device Manager and potentially problematic software (Anti-Virus software and RealAudio both come to mind; you can always reinstall those later after you’ve got the system back up and running), then reboot. If you boot successfully, add the drivers back in, then reinstall the software you uninstalled, and you’re back in business. Sure beats a reformat and reinstall.
Spam. And I understand some people want me to fly to a foreign country and open a bank account, deposit a large sum of their own money into the account, and at some later date they’ll come take back 2/3 of it. The remaining 1/3 is mine to keep, presumably for helping them hide their assets. Yeah. And Bill Gates wants to send me to Disney World.

I will give them credit though. This hoax was cleverly enough written that I read it in its entirety. A little entertainment to start my day.

Changing CPU priorities in Windows 95/98/Me

Take charge of your CPU usage under Win9x. I talked about CPU Controller from BinaryWork in Optimizing Windows, which allows you to set a task’s priority (a la WinNT’s Task Manager). There’s a freeware app at that has most of its functionality. Haven’t tested it yet, but I definitely will.

From: “Chuck Buker”

Subject: Dual Duron/Athlon

I love my dual celeron Abit BP-6 machine, but I have been salivating over the prospect of a dual Duron machine for some time now. And with 700 mhz Durons selling below $90, I can hardly stand the wait.

Do you have any idea if or when someone is going to come out with a dual Scoket A (Duron or Athlon) motherboard and whether the Duron’s or Athlon’s support SMP?


According to everything I’ve read, both the Athlon and Duron are SMP-capable. The forthcoming AMD-760 chipset has SMP support (the AMD-750 and VIA KT133 don’t). I don’t remember where I saw this anymore, but I seem to remember reading recently that AMD expects to release that chipset near the end of the year. If I had to guess, I’d say early part of next year you’ll start seeing dual socket A boards.

The big thing standing in the way right now is the lack of an SMP-capable chipset.

Optimizing Windows startup

Mail. More Windows optimization questions.

From: ChiefZeke
Subject: Re: Items to consider
To: Dave Farquhar


Would things be a bit faster if the user opted to start programs via the ‘RUN’ function of the Registry rather than via the Startup folder? I have seen this option mentioned in a couple of magazine articles.


I imagine they would be slightly faster, since the file and path names, etc. would be stored in registry keys all in one place as opposed to individual icons, one per program, scattered all over the place.

You might also use run= strings in win.ini instead–I suspect that technique would be faster still, being a flat text file rather than a convoluted database.

Now, whether doing this would make any noticeable difference on a modern PC is another question. We may be talking shaving fractions of a second off your boot time. I imagine the difference would be more noticeable on marginal machines (though I’m not very eager to re-commission my 486SX/20 to try it). I just saw a 486DX4/75 laptop today that takes 1.5 minutes to boot Windows even without any items in any of the startup places and a fully optimized msdos.sys–a decked-out modern system similarly configured could boot in about 15 seconds. I can’t imagine your system needing much more than 20 seconds to go from POST to desktop (I’m not familiar with modern Western Digital drives like you have but I imagine their performance must be comparable to the Quantums and Maxtors I use).

This trick dates back to the Win3.1 days, and it was a really good idea way back then–the startup group actually consumed system resources, plus valuable entries in the Windows directory, so eliminating startup and placing items in win.ini could seriously improve a system’s performance back then. Today, Win9x has much better resource management, hard drives and CPUs are much faster, so you don’t hear about it as much anymore.

Very little else for today. I found my copy of the Lost Treasures of Infocom (both volumes) this week, including Bureaucracy, a text adventure I was never able to beat. I found a walk-through that got me past the part that had me stuck.

It’s a whole lot faster on my PC than it was on my Commodore 128 (which was the machine I originally bought it for, what, 11 years ago?). Amazing how much fun a 12K executable paired up with a 240K data file can provide… (And I’m running this on a dual-processor machine with 96 MB RAM and an 8.4-gig hard drive, both due to be upgraded? Something’s wrong here…)

Forcing Windows 9x to a certain refresh rate

Manually setting the Win9x refresh rate

Occasionally a monitor will go goofy on you when Windows decides to use a weird refresh rate that the monitor won’t support. Sometimes Windows (especially Windows 95) just flat refuses to work with a really old VGA monitor because it insists on using something other than 60 Hz. Or maybe Win9x just isn’t using the highest rate your monitor supports. In NT, you can manually set the refresh rate. In 95 or 98, you have to go spelunking. Boot in safe mode, which uses boring but safe 640×480, 60 Hz. Set the resolution to something you know works. Then open Regedit and navigate to HKLM\System\CurrentControlSet\Services\Class\Display.

Many installations will have multiple forks at Display, starting at 0000. The highest number is the active video card. Select it and navigate to Default\RefreshRate. It will probably be set either to -1 or 0. Change that value to 60 to get a safe 60 Hz rate.

To improve your display, change it to a rate your monitor supports at your desired resolution. Remember, refresh rate comes at the expense of resolution. Some monitors advertise obscenely high rates, but those will generally only work at 640×480. Most monitors top out at 85 Hz (at best) at usable resolutions. Check your documentation that came with your monitor if you’re not certain.

Be careful–overdriving your monitor or your video card can seriously damage one or the other, and I can’t take any responsibility for that.

I used this trick to get Windows to work with a number of really early VGA monitors. For the software I was wanting to run, they were perfectly adequate.

The Uwe Sieber Utilities

German programmer Uwe Sieber has assembled a great collection of DOS and Windows 9x utilities. I know I’ve mentioned them before, but they warrant another mention. If you need mouse and CD-ROM drivers that occupy as little memory as possible, if you need to wipe a hard disk totally clean and your disk manufacturer doesn’t provide such a utility, or if you need to analyze Windows’ bootlogs, Uwe’s place is the place to go.

Ultra-useful Windows and DOS utilities (plus Linux stuff)

There are loads of links in this mail. Explore them; you won’t be disappointed.

Hello. I maintain the Interesting DOS programs website and I was pleasantly surprised when I got an email telling me my site was mentioned in your book as a download reference site for XMSDSK.

While I only provided a link to the XMSDSK file on Simtel, it was still great to see my site which I never thought will ever get mentioned in any book, especially a Windows one ๐Ÿ™‚

I got your book and I like it (a lot). However, there were some tools I thought should have gotten mentioned (most are mentioned on my site)


On Page 65, you mentioned FIPS as a tool to resize partitions. While I haven’t tried FIPS, there is another freeware utility which I’ve used several times :

Partition Resizer v1.33 It resizes/moves your FAT16/FAT32 partitions safely without losing the data on it. It doesn’t eliminate the need for FDISK. You use Partition Resizer to resize and rearrange the FAT16/FAT32 partitions to create free space on your drive and then run FDISK to create the partition.


The Infozip link at is orphaned and is no longer updated. An updated link is at


On Page 209, you mentioned that internal Zip drives lack DOS drivers, this is not true as I have an internal ZIP drive and I access them from DOS. Perhaps you were trying the older drivers that came with the first Iomega parallel port drive?


FastVid v1.10 Improves video performance on Pentium Pro and Pentium II PCI/AGP systems. I haven’t tested this myself but you may want to check it out.


LFN Tools v1.48 These are DOS commands (as stand alone EXE’s) that can handle long filenames in plain DOS. Supports FAT32

For example there is LCOPY which works like XCOPY under a DOS window (copying the long filenames) but in plain DOS. This is useful for diaster recovery situations when you can’t get into Windows and you need to get files off your Windows drive. Other commands include

LMD – create a long directory name LRD – remove a directory with a long directory name (e.g lrd “Program Files”) LDIR – like the DIR command showing long filenames.

The Tools are released under the GPL so source code is available and it is free.


AVPLite Build 134 Free (yet powerful) command-line antivirus detection and removal program.

The engine is only is only 49K (the antivirus updates are about 1.7MB) but it can scan inside ZIP, TGZ, CAB, mail folders in Netscape and Outlook, DOC files). If there is a virus on a machine, you can have a bootable disk with XMSDSK to create a ramdisk, then have the AVPlite and the antivirus update on separate floppy disks unzipped to the ramdrive and then run AVPlite from the ramdrive.


Some Linux links :

SET’s editor v0.4.41

GREAT text editor with the fimiliar Borland IDE interface with syntax highlighting. This is literally the FIRST app to install after you boot Linux. Editing text files with Joe, Vi and Emacs were ummmmmm….. kinda difficult ;-). Released under GPL.

(SET edit is also available for DOS with a built-in MP3 player ๐Ÿ˜‰ )

The one page linux manual A PDF containing a summary of useful Linux commands You mentioned on your Silicon Underground that you wished there was a command reference for Linux. This one is close

————————————————————————- Since you mentioned Win3.x program manager, thought I’ll mention this

Calmira II v3.02 Freeware Win95 shell/interface for Windows 3.x, including explorer, etc.

Mask for Windows – PRWin98 Gives Win3.x apps the look and feel of Win9x apps


Looking forward to your upcoming Linux book (I agree with your sentiments on Silicon Underground – documentation is the main holdback for Linux)

Dev Teelucksingh
Interesting DOS programs at
Trinidad and Tobago Computer Society at

— This email sent with Arachne, the ultimate Internet client —
— —

Wow. Thanks for all the links. That’ll keep my readers busy for ages and ages to come. I did immediately go download SET edit. Very, very nice.

I’m very glad you like my book and look forward to the Linux book. It’s coming along, faster than the Windows book did, but not as quickly as I’d like. I’m not even willing to hazard a guess when it will be finished at this point.

A year from now, there will probably be twice as many Linux books available as there are now. Maybe more. The quality will vary widely. But we need them. The stuff coming out of the Linux Documentation Project is getting better (or maybe I’m just getting smarter) but the stuff available even six months ago very frequently had gaps that a newcomer wouldn’t be able to climb over: missing steps, poor or inaccurate description of output–all kinds of little things that suggest the author didn’t take the time to step through the process one last time. A plethora of available Linux books will help in more ways than one.

Back to DOS and Windows… Although many people deny it, DOS is still an integral part of Windows, and some things just can’t be accomplished without diving into DOS. Even under NT, I always keep a command line open. I can tell you the last day I didn’t use a command line. It was in June of last year. I know because I was in New Mexico, far away from work and from any of my computers.

So Iomega finally got around to releasing Zip drivers that work with the internal IDE and ATAPI models? About time. We bought a big batch of them at work about two years ago, and I needed to access them from DOS, and nothing. The drivers wouldn’t work. We contacted Iomega, and their line was, “These drives require Windows 95 or newer.” A year later, when I was writing that chapter, drivers still hadn’t appeared. But better late than never.

Thanks again.

Underachieving Win9x Network performance

David Yerka asked what can cause really slow network performance in Windows 95/98. I mailed him, suggesting maybe someone had run MTUSpeed or some similar utility on the machine to optimize dialup performance. LAN performance tends to go into the toilet after doing that. (Voice of experience speaking… My Win95 box was a real dog until that light went off–long after my book was on store shelves, of course.) He responded with some useful information.

From: David M. Yerka
Subject: Re: Slow Win9x network performance
To: Dave Farquhar

Hi Dave:

Thanks for the reply you win the big bucks! That is exactly what is going on. Apparently Win9x only sets the MaxMTU in one place:

HKey_local machine\system\currentcontrolset\services\class\nettrans000

and while additional information makes this key appear to belong only to dialup networking apparently it is the place where Win9x picks up the settings for the network also. You were right also I remembered (actually, before I got your email) that someone had used MTUSpeed on this machine to optimize dialup before I convinced my clients to get a “webramp appliance” to do sharing. Unfortunately, it appears that even if you tell MTUSpeed to “remove all settings” it leaves the MaxMTU setting at say 576 (which is usually the best for dialup ISP’s). You must explicitly change the settings in MTUSpeed to 1500 and reboot BEFORE have MTUSpeed “remove all settings.”

Interestingly, I found that you could sort of hack the registry with a combination of stuff and seemingly get both optimizations: stick a string in the key below of MaxMTU=”1500″

HKey_local machine\system\currentcontrolset\services\class\nettrans\netservice000

Use MTUSpeed to set the MTU to 1500 reboot

edit the first key …\nettrans000 to MaxMTU=”576″ and reboot.

checking with MTUspeed (and don’t under any circumstance change anything) shows the MTU to be 576 while network performance approaches 950K for a 10T UTP network.

Isn’t Window just wonderful and weird.. or something!!

Thanks again David Yerka

WordPress Appliance - Powered by TurnKey Linux