VOGONS


First post, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie

Hi,

I have a Pentium 166 which should be configured at 66MHz with a 2.5 multiplier -- which it was, and everything was running perfectly until I tried Quake, which throws an error: "Bad surface extents". I tried a different video card, different RAM, BIOS settings... and finally it worked with a different CPU.

So I experimented with the P166 with different clock rates and multipliers. If I underclock it to 150 or overclock to 180 (60MHz with a 2.5 or 3 multiplier), then no error. As soon as I use the correct 66MHz clock, even if running it underclocked at 100 or 133MHz, Quake gives the same error.

To check that it's not the motherboard, I tried other CPUs with the 66MHz clock (a P200 and a 6x86). No problem.

So I'm going to replace the P166 CPU anyway, but I'm wondering if anyone knows of a good utility to test it first and maybe find out more about the problem. Anyone else had this sort of problem before with a CPU?

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 2 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie

I can't configure any memory timings so just tried different modules (several)... but swapping the CPU out fixes it immediately...

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 3 of 16, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Have you tried running Memtest86? It's probably not a bad stick of RAM but the problem might show up as such. I believe Memtest86 will also test the L1 and L2 caches on the CPU which could also be where the problem arises.

Might just be unfortunate that the CPU got a minor static electricity shock at some point in its life from someone who handled it improperly and now a couple of L2 cache cells are bad as a result.

EDIT: L1 cache, thanks dionb. Spending too much time around PII chips 😀

Last edited by Malvineous on 2018-03-13, 12:49. Edited 1 time in total.

Reply 5 of 16, by derSammler

User metadata
Rank l33t
Rank
l33t
InbetweenDays wrote:

and finally it worked with a different CPU.

The CPU could be just faulty, or it can no longer comply with its timings due to age (switching time of semiconductors increase with power-on hours).

I had a similar case not long ago. Had built a perfectly working P1, no problems whatsoever. Well, apart from one: copying files from USB would always corrupt data. Tried everything incl. a different USB card. What fixed it in the end? Replacing the CPU...

Last edited by derSammler on 2018-03-17, 11:01. Edited 1 time in total.

Reply 6 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
derSammler wrote:

The CPU could be just faulty, or it can no longer comply with its timings due to age (switching time of semiconductors increase with power-on hours).

Interesting, thanks.

derSammler wrote:

I had a similar case not long ago. Had built a perfectly working P1, no problems whatsoever. Well, apart from one: copying files from USB would always corrupt data. Tried everything inkl. a different USB card. What fixed it in the end? Replacing the CPU...

That's troubleshooting for you... 🙁

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 7 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
Malvineous wrote:

Have you tried running Memtest86? It's probably not a bad stick of RAM but the problem might show up as such. I believe Memtest86 will also test the L1 and L2 caches on the CPU which could also be where the problem arises.

Thanks, I didn't think of doing that. Is that Memtest86 or Memtest86+ (or both)?

I tried Memtest86+ 5.01 and... well, see attached. I stopped the test after taking this pic because I decided that over 166000 errors was probably enough to prove a point. 😀

The errors all started in test #7, and only with that CPU with a 66MHz clock rate. When I bumped it down to the 60MHz clock there were no errors. I tried the 6x86 again but Memtest wouldn't work with it, and since I couldn't be bothered taking my P200 machine apart again, I just put in a P75 overclocked (66MHz x 1.5)... no errors in test #7 (didn't test further).

Memtest errors.jpg
Filename
Memtest errors.jpg
File size
266.39 KiB
Views
816 views
File license
Fair use/fair dealing exception

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 8 of 16, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

Interesting. Can you configure the tests so that only the L1 cache tests are run? Would be interesting to know whether it's really the cache at fault or whether Memtest thinks the cache is good.

In your screenshot the errors are at the 30MB mark, do they start earlier than this? Just thinking that as a curiosity exercise, if the errors are all above the 16MB mark, then if you run it with only 16MB total it would be interesting to see whether you still get any errors.

Reply 9 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
Malvineous wrote:

Interesting. Can you configure the tests so that only the L1 cache tests are run?

No idea. It doesn't say anything specifically about the L1 cache.

Malvineous wrote:

In your screenshot the errors are at the 30MB mark, do they start earlier than this?

Yes, the errors start immediately (too many lines scroll past but I could see they started at 0.something)

I've just done a heap more testing, and the end result is this: With one stick of RAM there's no problem, but as soon as I put two sticks in, I start getting Memtest errors with test #7 -- regardless of the total amount of memory. (I tried 16MB, 8MB and 4MB modules).
But ONLY with the P166 CPU running with the 66MHz clock rate. I tested it with the P200 and Memtest completed with no errors (well, I just did one pass -- I've left it running now).

Interestingly, Quake was working fine today, with nothing having changed except the ambient temperature (so I tried letting the CPU get hot but that didn't make a difference).

If it's the CPU then I'd expect the problem to follow it to another machine... but it didn't. It's only that CPU in that machine with a 66MHz clock rate and more than 1 stick of RAM.

Weird.

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 10 of 16, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

I take it you pressed "c" and looked through the menus? It's been a while so I can't recall if there are specific cache testing options.

Apparently some Athlons used to fail on only a couple of the tests (5 and 7 I think) and cause was default memory timings that were too aggressive. Perhaps if you can adjust memory timing in the BIOS to be a bit more conservative that could be a possible workaround? It looks like it's just some part of the system that's reached its operating limits just at the edge of the spec. What else is different between the P166 and P200? Core voltage, cache size, etc. Perhaps that might give a hint as to what could be at fault, if everything else in the system is otherwise the same between success and failure.

Reply 11 of 16, by amadeus777999

User metadata
Rank Oldbie
Rank
Oldbie

It could be a board/chip combo issue.... unlikely but an option.
I had this with 486 and 586 hardware. Some cpus do not like to be driven by too high a fsb on the "wrong board" - this can even be the case regarding frequencies where it is taken as granted they work with.

Does the CPU work at 75 x 2?

Reply 12 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
Malvineous wrote:

I take it you pressed "c" and looked through the menus? It's been a while so I can't recall if there are specific cache testing options.

Yep... I didn't see any cache options.

Malvineous wrote:

Perhaps if you can adjust memory timing in the BIOS to be a bit more conservative that could be a possible workaround?

There's nothing I can change in the BIOS unfortunately... no settings for memory timing, only parity/ECC.

Malvineous wrote:

What else is different between the P166 and P200? Core voltage, cache size, etc.

Very little IIRC, but I'd have to check the actual codes on them and look it up.

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 13 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
amadeus777999 wrote:

Does the CPU work at 75 x 2?

It works at 50x3, 60x2.5 and 60x3. Problems start with the 66MHz clock rate, but that's as high as the board supports. (50/60/66 only).

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 15 of 16, by InbetweenDays

User metadata
Rank Newbie
Rank
Newbie
derSammler wrote:

What's so hard to accept that the CPU is just done and can't work at 66 MHz FSB any longer? Replace it or let it run at 60x3 until it dies completely.

Haha... nothing... except that it works fine in 2 other computers I tried.
If it had shown the same problem in another machine I'd be more satisfied... 😀

It don't mean a thing if it ain't got 5-pin DIN.
Roland addict and founding member of the Association Of Molex Haters

Reply 16 of 16, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

I would have called it solved when you didnt experience any problems at 180mhz. 😀

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!