• Please review our updated Terms and Rules here

CPUs in early IBM PCs

I am familiar with the NEC chip. In fact I had one in in my XT (which is why I still have the original Intel CPU). As I recall I could run Win 3.0 (but not 3.1) on the XT w/ the NEC chip.
 
You know, I've been doing this stuff for about three decades, and something funny occurred to me...

I've never seen an ACTUAL Intel 8088 in the flesh... I was joking the other day about how every time I open a different tandy 1000 model I come across a different CPU maker -- AMD (1000EX) , Seimens (1000HX), NEC (1000 SX), those funky white ceramic fujitsu's (1000A)... and thinking on it, I've never seen anything in a 5150 or 5160 other than AMD's or the occasional MHS.

I literally don't think I've EVER seen a real Intel 8088... in anything. Kind of like the 8080 which I never came across either... but by the time I got into anything bigger than the RCA 1802 in my Elf, the Z80 was pretty well entrenched.
 
I've got one (as well as a 8086), but that doesn't surprise me, given the suppler shuffle everyone did when they found that the old 8088s had problems.

I think it's funny that AMD was selling 8088s at the same time they were selling Z8000 chips as well as 8085s.
 
As an aside, does anyone know if the D6 instruction works on all members of the x86 family? I've never bothered to check it out.

The SALC instruction supposedly works on everything Intel ever made and should work on most if not all of the clones. I say "supposedly" and "should" because I've only read about it and haven't done any testing to verify this.
 
Last edited:
You know, I've been doing this stuff for about three decades, and something funny occurred to me...

I've never seen an ACTUAL Intel 8088 in the flesh... I was joking the other day about how every time I open a different tandy 1000 model I come across a different CPU maker -- AMD (1000EX) , Seimens (1000HX), NEC (1000 SX), those funky white ceramic fujitsu's (1000A)... and thinking on it, I've never seen anything in a 5150 or 5160 other than AMD's or the occasional MHS.

I literally don't think I've EVER seen a real Intel 8088... in anything. Kind of like the 8080 which I never came across either... but by the time I got into anything bigger than the RCA 1802 in my Elf, the Z80 was pretty well entrenched.

just had to check if my IBM 8530-21 actually had a real 8086 and it does even if it's a 8086-2 :p

think the hd is dead on it tho, well it powers up but meh.
 
I am familiar with the NEC chip. In fact I had one in in my XT (which is why I still have the original Intel CPU). As I recall I could run Win 3.0 (but not 3.1) on the XT w/ the NEC chip.

So, you are saying that you couldn’t run Windows 3.0 with an 8088 - only with a V20? The system requirements for Windows 3.0 are an 8088 with 640k of RAM. It is the last version of Windows that will work on the original IBM PC 5150 and IBM XT 5160. You don’t need the NEC V20 to run Windows 3.0, though it may improve performance a bit. It really only speeds up certain math operations, allows emulation of the 8080 instruction set, and gives you the ability to use 286 real mode features. As a 286 is not required for Windows 3.0, I can’t see how an 8088 wouldn’t work but a V20 would.

Perhaps I am misunderstanding? Maybe it just improved performance so that it was tolerable? I recall Windows 3.0 on an 8088 to be very slow.

-Isaac
 
So, you are saying that you couldn’t run Windows 3.0 with an 8088 - only with a V20? The system requirements for Windows 3.0 are an 8088 with 640k of RAM. It is the last version of Windows that will work on the original IBM PC 5150 and IBM XT 5160. You don’t need the NEC V20 to run Windows 3.0, though it may improve performance a bit. It really only speeds up certain math operations, allows emulation of the 8080 instruction set, and gives you the ability to use 286 real mode features. As a 286 is not required for Windows 3.0, I can’t see how an 8088 wouldn’t work but a V20 would.

Perhaps I am misunderstanding? Maybe it just improved performance so that it was tolerable? I recall Windows 3.0 on an 8088 to be very slow.

-Isaac

I don't recall the details anymore as to what the problem was but I remember needing to switch the chip to make it work. Something having to do with the running the Trident video card at a blazing 102x768x16 interlaced resolution (Man Micrografx looked hot at that resolution, even tiny fonts were sorta of readable! ;)). Of course back then to install the damn thing I remember I had to format my 10mb HDD copy all the disks onto the HDD and install from there at which point it used somewhere around ~5MB of space (after I erased the install files). Don't ask me why I did it this way I just remember doing it and then getting rid of it as I didn't have room to do anything on the HDD.
 
The SALC instruction supposedly works on everything Intel ever made and should work on most if not all of the clones. I say "supposedly" and "should" because I've only read about it and haven't done any testing to verify this.

Actually, could someone please comment on this or verify if it's true or not? Knowing if all processors supports SALC could be useful, for example, it would allow for some minor optimizations I'd like to do in the XTIDE Universal BIOS.
 
Actually, could someone please comment on this or verify if it's true or not? Knowing if all processors supports SALC could be useful, for example, it would allow for some minor optimizations I'd like to do in the XTIDE Universal BIOS.

Said to be supported as far back as the Intel 8086/8088, by convention that means it is most likely supported on the non-Intel substitutes for those CPUs...
 
Actually, could someone please comment on this or verify if it's true or not? Knowing if all processors supports SALC could be useful, for example, it would allow for some minor optimizations I'd like to do in the XTIDE Universal BIOS.

Don't do it--stick with SBB AL,AL--SALC is not implemented on the NEC V-series chips. The D6 instruction does something on them (it is a 1-byte instruction), but it's not what SALC does. I haven't had a chance to investigate further, as the fact that it doesn't work on V-series chips is enough to disqualify its use.
 
Last edited:
Don't do it--stick with SBB AL,AL--SALC is not implemented on the NEC V-series chips. The D6 instruction does something on them (it is a 1-byte instruction), but it's not what SALC does. I haven't had a chance to investigate further, as the fact that it doesn't work on V-series chips is enough to disqualify its use.

Yeah, I just found this which is probably where I read about it way back when so I guess I actually remembered right in my first post. Too bad though, being a 1 byte instruction it would have been a neat way to clear AL. Oh well...

SALC executed in 32-bit protected mode with registers set to certain values has the effect of setting CPL=0--I'm sure you've heard about that one a long time ago.

Nope, I didn't know about this!
 
Nope, I didn't know about this!

It may be an urban legend; I've only seen it mentioned in one place, along with a mention that it was used by some virus writers to cause anti-virus emulator engines to choke. Again, I don't know if it's true.

FWIW, Intel has always claimed that D6 is an "undefined" instruction and "illegal" in 64-bit mode. One of these days, I"ll have to figure out exactly what the V-series is doing with the D6 instruction. I'll want to investigate what some of the later x86 clones like the Crusoe and VIA CPUs do...one of these days.
 
...SALC is not implemented on the NEC V-series chips. The D6 instruction does something on them (it is a 1-byte instruction), but it's not what SALC does. I haven't had a chance to investigate further, as the fact that it doesn't work on V-series chips is enough to disqualify its use.

Good to know, although I intended my comment primarily for the Intel-licenced 8086/8088/286/386 level (the environment of XT-IDE)...

But in this world there are always exceptions...

And with the V20/V30 well enough expected to be an upgrade commonly used...
 
I'll want to investigate what some of the later x86 clones like the Crusoe and VIA CPUs do...one of these days.

Since Intel documented the SALC instruction from the Pentium Pro anything newer than that should be compatible I'd think.
 
And with the V20/V30 well enough expected to be an upgrade commonly used...

In particular, there are products whose software is a bit later than the 5160 that make use of certain 80186-and-later instructions. They don't make use of protected mode, but certain tasks simply occupy less space and run a bit faster than if strict 8086 code is used. Often enough, there's no other bar to their use in a 5150/5160 and clones, so a drop-in replacement with a V-series chip is the easiest way around that.

Personally, I find the performance gain barely noticeable.
 
Back
Top