• Please review our updated Terms and Rules here

Intel 80C88 and 8088 revisions

sergey

Veteran Member
Joined
Jul 15, 2010
Messages
873
Location
Silicon Forest, Oregon, USA
Hi,

As you might know 8088 and 80C88 are very similar from programmer's point of view. Some time ago I found that 80C88 made by Harris and later by Intersil have one difference from 8088 - they disable interrupts for one instruction following PUSH <sreg> instruction. At the same time I tested 80C88 made by OKI and Intel (copyright string (C) Intel '78), and they didn't have this behavior. Recently I've got a new Intel 80C88 chip (copyright string: (C) Intel '78, '86), and strangely enough it does test like Harris 80C88 - disables interrupt following PUSH <sreg> commands.

Now here are few interesting observations:
- Older Intel 80C88 package looks exactly the same (except the silkscreen) as Oki 80C88. It also mentions Japan, and as far as I know Intel never had manufacturing in Japan... So it looks like Oki made 80C88 for Intel.
- "CMOS version of 8086 features operating current of 10mA/MHz maximum" article from IEEE Micro (October 1983) magazine mentions that Harris Semiconductor had developed the CMOS version of 80C86 (and so I assume 80C88) and that both Harris and Intel will manufacture CMOS 80C86 CPUs using Harris design.

So any ideas what was the history of 80C88 processors? Did both Oki and Harris developed their own CMOS versions of 8088 or was it a centralized effort by Intel?
Also (this question has been asked a few times, but I never found a working solution): How to distinguish between NMOS 8088 and CMOS 80C88 in software? Wrong answers are:
- Using segment override prefix with REP... something like REP ES LODSB with big value in CX. 8088 being interrupted by timer interrupt won't continue REP. So does 80C88 (contrarily to what some sources say).
- Loading CS with instructions like POP CS or MOV CS,REG/MEMORY. Supposedly 80C88 doesn't support these undocumented instructions, while 8088 does support them. In practice 80C88 and even NEC V20 support these instructions (they basically work as far jump).

80C88.jpg

Speaking about the original NMOS 8088, I've seen at least 4 different copyright strings: Intel '78, Intel '78 '81, Intel '78 '83, and Intel 1998.
The first one - Intel '78 had a bug with loading stack address - it was not disabling interrupts after MOV SS,REG/MEMORY and therefore if interrupt happened following that instruction it would use invalid stack address. The bug was fixed in processors with Intel '78 '81 marking and later.
Any ideas what are the differences / changes between other revisions? (It could also be that there are no bug fixes in these versions, just technology changes, etc.).
Finally the last one (Intel 1998) is strange... First of all it is strange that Intel made a change to a 20 years old design. Another thing it looks like my processor was made in 2005 (L540136B date string, 5 is the last digit of year, but since the copyright says 1998, it could only be 2005). I didn't know Intel was still making 8088 (it was making 80C88 till some time in 2000's).

8088-Revisions.JPG

Thanks,
Sergey
 
Sergey, I suspect that Intel never did anything themselves with the 8088 after about 1981, so any of the changes you cite were probably the result of cross-licensing agreements.

On your web page, you mention that the 8237 DMA controller. The relationship with AMD is an interesting one during this period. AMD reverse-engineered the Intel 8080 and brought out its own version, the 9080 along with a range of (probably also reverse-engineered) peripherals, including the 9517 version of the Intel 8257. The 9517 had some interesting additional features over the 8257, but note that operation is basically the same and the pinout is identical. I suspect that the 8237A design was probably a license exchange for the 8088, as Intel needed a second-source if IBM was to use it in their new PC. Or it was part of a lawsuit settlement--AMD and Intel have sued one another many times over the years.
 
Fastback and Fastback Plus were very different products. The only sure way to run Fastback (original) was on a 286 tops. There were just too many CPU-dependent timing loops in it. Fastback Plus is very different (doesn't use its own weird floppy format). The idea was that they could write a floppy in their own format concurrently with doing hard disk I/O. The 80286 and later platforms had support in the BIOS for multithreading, so the funny games of old Fastback didn't matter.

Both AMD and National Semi had strange relationships with other vendors. For example, the NEC765 floppy controller is broken in 128-byte sector MFM mode, as is the Intel 8272xxx and it continues through the 82077AA, which also breaks FM mode completely. National essentially re-engineered the design, so the 8473 has no such deficiencies. Micro Solutions had to hurriedly recall a whole mess of CompatiCard IVs in the early 90s to swap the Intel chips for National 8477s. It seems that Intel has always been more interested in getting stuff out fast, rather than making sure that it worked well.
 
Not quite related to the my original question, but this is helps to understand the history.

Some posts on this matter:
https://groups.google.com/group/com...c0893e8b?q=8237+fastback+amd#04d5d0a6c0893e8b

The solution is to use two AND gates to condition the read and write lines going into the 8237 so that they only go active if CS is also active.

And I always wondered what these AND gates are doing in the early IBM PC schematics, and why they are missing in later one...

Other than that, I've just finished reading Intel Inside book, which is while not being always correct about technological aspects, and frequently looking like a spy fiction, sheds some light on early Intel's years and its relationship with AMD and other companies. (It also indicates that it is unlikely to find any official information regarding 8088 errata... since Intel started publishing it since famous Pentium FDIV bug. By the way ahead of many other companies.)
 
Fastback and Fastback Plus were very different products. The only sure way to run Fastback (original) was on a 286 tops. There were just too many CPU-dependent timing loops in it. Fastback Plus is very different (doesn't use its own weird floppy format). The idea was that they could write a floppy in their own format concurrently with doing hard disk I/O. The 80286 and later platforms had support in the BIOS for multithreading, so the funny games of old Fastback didn't matter.

Original Fastback was truly astonishing on an original PC or XT. Benchmark results and downloads here: http://www.oldskool.org/guides/dosbackupshootout
 
Take a look at the INT 15H calls (90h, 91h, 80h, 82h, 83h, 86h) in the 5170 and above. All intended for multitasking.

On stuff like this, I use the Phoenix BIOS reference as a guide, rather than Ralf Brown's fine list--RB is sort of a universal catchall to the question "who the heck uses this interrupt?"; the Phoenix is more oriented toward system designers. There was a copy available online at one time; I don't know if it still is--my own copy is very well thumbed through.
 
I am reading, but I do not comprehend the text. Most of the functions have notes like (paraphrased) "This function should be hooked by a multitasker; the default BIOS handler merely returns successfully." If they're all dummy interrupts then I'm not sure how they're supposed to help you write a multitasking system...
 
Sometimes I think that idiots wrote the commentary to those routines, probably because they didn't understand them.

Instead, I refer you to the code in the 5170 BIOS. As an example, take a look at the hard disk service routines. Note that the "wait for interrupt" (WAT: routine) calls INT 15H, AX=9000H and the ISR itself (HD_INT: ) calls INT 15H, AX=9100H. Similar sequences occur throughout the AT BIOS. That many third-party driver vendors ignored this convention is a fish of a different flavor.
 
Another thing that I've long wondered about is that a fair number of cards with BIOS ROMs on them, particularly VGA cards, have 32-bit BIOS routines. Is there any commercial software that actually uses the 32-bit code?
 
As I understand the purpose of INT 15h AH=90h function is to notify the multitasking (but obviously real mode) OS that BIOS is about wait for an I/O device, so that the OS can do something useful meanwhile. The purpose of INT 15h AH=91h is to notify the OS that device is became ready.

I am not sure how useful these functions are, as they have some problems. For function 90h OS doesn't really know how long does it take for device to become available. Function 91h could help here (notifying the OS that device is ready) but it works only in cases where device issues an interrupt to signal the operation complete / ready status (for example like floppy disk controllers do). Another approach would be to implement some device status check in the OS itself (e.g. check modem or printer status), perhaps even using BIOS functions (for example INT 14h / AH=03h for modem and INT 17h / AH = 02h for printer).
 
The basic premise of the 90H and 91H functions was that you could multitask using the standard BIOS without having to write your own drivers for the standard I/O devices. So the interface is convenient for primitive multitasking (e.g. you're notified when the floppy driver is waiting for the drive motor to spin up). I've never checked to see if IBM TopView used the feature, however.
 
So any ideas what was the history of 80C88 processors?

Finally the last one (Intel 1998 ) is strange... First of all it is strange that Intel made a change to a 20 years old design. Another thing it looks like my processor was made in 2005 (L540136B date string, 5 is the last digit of year, but since the copyright says 1998, it could only be 2005). I didn't know Intel was still making 8088 (it was making 80C88 till some time in 2000's).
The only non Japanese Intel 80C88/A I have seen are all Engineering Samples (this also applies to 80C86/A)
It wasn't until the 80C88AL (low power) that non Japanese Intel 80C88 processors appeared again.
I suspect there was a issue with Intel's 80C88 & 80C86 die design and they 2nd sourced Oki to manufacture the processors
The only datasheet for 80C88 & 80C86 is a preliminary one in the 1986 Intel Components handbook (they are not present in the 1987 handbook)

As support for 8088s & 80C88s was discontinued prior to 1999, I suspect the 1998 copyright Intel is a remarked processors from another manufacturer
Do you have a picture of the markings on the bottom?
From that I should be able to tell if genuine Intel die or remarks
 
Last edited:
The only non Japanese Intel 80C88/A I have seen are all Engineering Samples (this also applies to 80C86/A)
It wasn't until the 80C88AL (low power) that non Japanese Intel 80C88 processors appeared again.
I suspect there was a issue with Intel's 80C88 & 80C86 die design and they 2nd sourced Oki to manufacture the processors
The only datasheet for 80C88 & 80C86 is a preliminary one in the 1986 Intel Components handbook (they are not present in the 1987 handbook)

That is an interesting opinion. It is not clear why Intel didn't use Harris masks (as the announcement suggests). Or maybe it took them some time (until late 80's when 80C88AL appeared) to use Harris masks. As I wrote earlier there is a slight behavior difference between Oki 80C88 / early Intel 80C88 and Harris 80C88 / later Intel 80C88AL).

I also was not able to find Intel datasheets for 80C88.

As support for 8088s & 80C88s was discontinued prior to 1999, I suspect the 1998 copyright Intel is a remarked processors from another manufacturer
Do you have a picture of the markings on the bottom?
From that I should be able to tell if genuine Intel die or remarks

I'll take some pictures and will post them here. (I actually need to find some time and take a picture of all my 8088 collection).
 
I also was not able to find Intel datasheets for 80C88.
I dont have it in PDF form..but if you want send me your email address and I will try and get it done in the next week

Talking to a friend... he said Intel would of used Harris or AMD masks.. but strange thing the package is definitely Oki
 
I dont have it in PDF form..but if you want send me your email address and I will try and get it done in the next week

Yes please, Thanks!

Talking to a friend... he said Intel would of used Harris or AMD masks.. but strange thing the package is definitely Oki

I don't think AMD ever made 80C88, at least I never saw one.

Here are the pictures of some 8088 and 80C88.
8088-80C88-Front.jpg
8088-80C88-Back.jpg

The first one is the 8088 with strange 1998 copyright marking. It could very well be a remarked chip. I bought it at Jameco not so long ago...

The fourth and the firth ones are 80C88 with Intel and OKI markings. Judging by the package shape and markings on the bottom they definitely were made by the same manufacturer (most likely OKI).

The third one is P80C88AL, apparently made in 1988. It has the same strange behavior of POP <SREG> as Harris/MHS/Intersil 80C88 chips (but not the standard 8088 behavior as OKI, or the Intel in OKI package chips).
 
The first one appears to be Intel by bottom markings... the topside I will need to do a bit more research if they are the original top makings
apart from copyright.. not sure if I have seen any 8088 with a mask (M) symbol

2 & 3 original Intel top and bottom
4 & 5 I agree about
 
Back
Top