They were sitting on the fence between the 8-bit and 16-bit architecture, in a time where the latter meant twice as many DRAM/ROM chips and sockets for an entry level machine.
Hence they got stuck with the pain of the segmented 808X architecture.
There's an old* Sicilian saying that he who sits on the fence gets splinters up his ass.
Actually that was only the IBM PC, they used a 5 MHZ part and derived the microprocessor clock from the same crystal that was used to generate NTSC video clocking, thus the weird 4.77. Same way with the 640k vs 1M, a PC-ism. Of course, 8088 and 8086 boxes that weren't really IBM compatible didn't fare too well in the marketplace, so ...
An 8088 is perfectly useless in an app that calls for an 8086. The core is the same, but the 8086 has an actual 16-bit data bus, where the 8088 has only an 8 bit bus, and doubles up on memory/peripheral access. I've read somewhere that the reason they did this is because existing peripheral devices were all 8 bits, and a 16-bit wide RAM costs twice as much as
8-bit.
I wonder why the OP wants a "vintage" model. Something to do with rev. level?
Could anyone help us find an old very early 8086 uP for our University's SEM? It is a very old unit be our Scanning Electron uScope will not operate untill we find one. I think the speed is either 1 or 4MHz. It is imprtant we get one of the earliest version.
You need an NMOS 8086 in its standard 40-pin DIP package. It's maximum speed capability should not be important; any of them can be run more slowly, so an 8086-2 should work.
Alternate brands to Intel, such as Kryten's Fujitsu parts, should also work well, they were meant to be replacements.
Yo'all should have easily gotten one by now, is your party at the University still looking for one? Shall we bring out one of s.e.d.'s big guns for you? {smile}
Or, is it possible the failure has been mis-diagnosed, and it's not the microprocessor? A common problem in very old instruments is that the PROMs fail, so the program crashes. Many types of old PROMs only had 10-year lifetime ratings.
A maintenance safety procedure for an old valuable machine is to read and store away copies of all the working PROMs, before they fail. :-)
A smart thing to add to a micro's code is a CRCC check of the entire code very early in the bootup, so a "program started, and ROM code OK" LED can be turned on. This can save a lot grief in maintenance debugging, when the machine is otherwise just sitting there, apparently doing nothing after applying power.
We have tried the 8086-2 and it works but the monitor rolls. When we tried an 8086-1 (or there abouts) from another University it works fine. So we are sure we need an 8086-1. One of the people from this group sent me a 8086-2 but it did not work. So if your offer is open to send a 8086 then we would greatly appreciate it.
I wonder if there's a difference in the execution time of some of the instructions, and your instrument has critical software timing associated with generating the display. Software timing is simple and was popular for a time in the early days before programmers realized what a mistake it was. The IBM PC had from the beginning Timer0, running at 1.19MHz, which could be checked anytime, adding hardware certainty to software timing tasks, despite changes in CPU clock rates or instruction-execution time.
I don't have one to send, but I may be able to help you get one.
OK, here's what I've found out so far. First, I looked at our old ICs, and sorry, no 8086s.
I have in front of me my old Intel databooks. First, a huge book called The 8086 Family User's Manual, dated October 1979. This book covers the 8086 in great detail, but doesn't mention a -1 version. Second, the Intel Component Data Catalog, dated 1981. Aha, here they cover the 8086, 8086-1 and 8086-2 on the same datasheet. What this reveals is that they're the same IC but with different speed grading during inspection. They all have the same minimum clock speed, 2MHz. The 8086 has a 5MHz maximum, the 8086-2 has an 8MHz max, and the 8086-1 is tested for up to 10MHz maximum. That's right, the -1 version was later than the -2 version.
My third book is the Intel iAPX 86/88 User's Manual, dated 1985. This book shows the 8086, 8086-2 and 8086-1, but nothing faster. Since by 1985 Intel was starting to make other more powerful ICs, it seems they didn't go fooling with instruction execution times or anything else for their basic 8086 processor.
So that's all there is to it, and it appears any 8086 processor IC version that doesn't crash should work fine in your machine. I'd guess that the 8080-1 parts should work fine as well, even at 10MHz. I'd also say that newest 8086 ICs you find should have the best chance of working at higher clock rates. Second- source 8086 chips should be even better.
Further to the story. I have now read the datasheets of three second-source 8086-1 ICs, by AMD, Siemens and Fujitsu. I've also read datasheets dated through 1995 for all four manufacturers. The parts offered by the four are just the three original Intel versions listed above, despite the years of fab development and the likely obvious improvements in performance of the real parts. I'd venture to say that any of the three versions, from any of the four manufacturers, if made after say 1985 or so, should in fact run just fine at 10MHz, or above.
I'd also include the CMOS versions, the 80C86, made by Intersil, (also called Harris), OKI and Intel. These became quite popular and there's extensive inventory available in the aftermarket. OKI explicitly rated their msm80C86A-10 version at 10MHz.
As for finding exact ancient 8086-1 marked parts, I have located some and asked for quotes. We'll see what they say. But in the meantime, I'd continue to try in your machine whatever 8086 ICs you get your hands on, whatever the label.
I understand that most everyone is enamored to high clockosis, but OP made it clear that is had to operate at original equipment clock speed. Just the same it is nice to see that it is still available.
The concern over clock spped stems from the fact that most 8086 parts out there are the -2 or 8MHz version. My point is that newer ICs can probably can be "overclocked" 25% to 10MHz, to handle the O.P.'s need for an 8086-1 10MHz version, despite their -2 label.
Funnier yet is that he seems to think faster RAM will 'compensate' for the slower processor. Not on any slow bug I'VE ever used. I think he may think there are wait states thrown in for 'slow' RAM that can now be avoided. Good luck on that one. GG
thanks for your effort. But I have tested it on an 8086 and it works fine. We tried an 8086-2 and it did not. e.g. uP worked but monitor started to do some screwy things. If I can get an 8086 I know it will work, why .... I realy don't know!
Would be interesting to know more about the rolling. Horizontal or vertical? How fast? Can you put a scope on the synch signals and see if they are off frequency, and if so by how much?
Any idea what the monitor driver architecture is?
Can a hold control be adjusted to get the monitor to lock, even at the wrong frequency?
Cheers, indeed, Wayne! Can you describe the display trouble in more detail? Rolls, screwy, not too informative. For example, could it be trouble with the data written to the display's ram?
Here's what one of the 8086's write timing diagrams looks like.
Note the short time (about 30ns), called TWHDX, during which the RAM had better finish grabbing data, and thereafter ignore changes in the data bus. If this timing is marginal in your instrument's memory design, then the exact time of the end of WR* with respect to changes in DATA OUT will be critical. My advice in this case is to first go ahead and try lots of 8086 chips, ignoring whatever "speed" or manufacturer's name they have stamped on the package.
As a more serious step, I'd want to go in and look at the bus timing with an oscilloscope.
You should know there are many ICs that are responsible for good timing, such as the address decoder, the enable gates, and the display ram itself. Also, the uP's clock generator may not have the right amount of "clock low" time.* So your concentration on the 8086 processor may just be a giant red herring. :-)
The critical bus data hold time, TWHDX, is defined as TCLCH-25ns for the 8086-1, where the TCLCH is the clock generator's low time, which is specified to be at least 53ns, or more than 50% of a 10MHz clock cycle. If it's less, some memory ICs are headed for trouble. Intel sold a special clock generator for the 8086 family, the 8284. The 8284 used a crystal running at 3x the clock frequency, in order to maximum the CLK low time. This was an expensive chip, and some designers used other, ahem, "solutions" - for whatever reasons. In fact, the issue of a special clock generator became such a pain that all later microprocessor ICs included this function onboard, and few dared to go down that path again as Intel had done.
Yep, good point. Another tip is that EPROMs often have a slow turn-off speed, so one of my colleagues always read his 8088 based system ROMs though a fast TTL buffer like a 74LS245. That allowed us a wider choice of EPROM sources.
What is your system's display controller Wayne? A 6845?
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.