A problem faced increasingly by retrocomputer enthusiasts everywhere is the supply of chips. Once a piece of silicon goes out of production its demand can be supplied for a time by old stock and second hand parts, but as they become rare so the cost of what can be dubious parts accelerates out of reach. Happily for CPUs at least, there’s a ray of hope in the form of FPGA-based cores which can replace the real thing, and for early PC owners there’s a new one from [Ted Fried]. MCL86 is a cycle accurate Intel 8088 FPGA Core that can be used within an FPGA design or as a standalone in-circuit replacement for a real 8088. It even has a full-speed mode that sacrifices cycle accuracy and can accelerate those 8088 instructions by 400%.
Reading the posts on his blog, it’s clear that this is a capable design, and it’s even been extended with a mode that adds cache RAM to mirror the system memory at the processor’s speed. You can find all the code in a GitHub repository should you be curious enough to investigate for yourself. We’ve pondered in the past where the x86 single board computers are, perhaps it could be projects like this that provide some of them.
But didn’t early PC users often replace their 8086/8088 by a NEC V30/V20?
My father was a PC user in the 80s and he told me that he did.
Some people might have but most businesses buying PCs (which was the core target market for the original PC) wouldn’t be doing anything like that and risking warranty or other issues.
Authorizatied PC repair shops could have installed the NECs for them? That would have keept the warranty intact.
I mean, the PC was very bare bone.
It didn’t work without expansion cards.
Like the Hercules Monochrome, which could use MDA monitors and had a parallel printer port. Or a Real-Time Clock on an expansion card. Or an EMS board for Lotus 1-2-3.
I can’t imagine that business people in the mid 80s could live without a Hercules card or a clone.
Both the printer port and the MGA graphics were crucial for business applications.
How to otherwise draw a business chart, run Windows 1.x/GEM or AutoCAD? With IBM’s CGA? 😂
EGA existed, but somewhat was meant to be used with the IBM AT.
It would have been a both expensive and a waste to use it with a PC.
The original PC ran DOS. Windows was much later. The screen was 80×25 monochrome alphanumeric. Adding a card was easy but none of us changed out the CPU chip.
Yep, 1st PC was a Leading edge. Swapped in a v20, added 512k ram, …. And a MODEM!!!!
Some did, yeah. I was one of them.
But it was a PC tuner thing, much like folks ten years later who were using 5×86 chips to soup up a dog of a DX2 board or fifteen years later buying BP6 boards to use with overclocked Celerons. IE, not something for a casual enthusiast or Joe Q. Public.
So, can it run at full speed internally, and throttle back for ISA calls?
It runs at 100Mhz internally and after each opcode it counts the correct number of 4.77Mhz clocks to stay cycle accurate.
> full-speed mode that sacrifices cycle accuracy and can accelerate those 8088 instructions by 400%
sounds like NEC V33 mode (ignoring 8/16bit external data bus difference) :) “instruction decode done by hardwired logic rather than a microprogrammed control store. Throughput is twice as high as a V30”, V33 datasheet claims four times faster than V30.
OK, I read more. There are two projects here.
1 MCL86 – FPGA based, goes back all the way to 2016! On github since 2019. Cant tell how long its been on hackaday.io because hackaday.io doesnt believe in dates. Even lists Lattice XO2-7000 breakout board as “cheap $10 option”, its $90 nowadays :D
2 MCL86+ – 2022 Teensy 4.1 (+ 3x 74LVC573 latches/voltage level translators) software emulator, this is the one with Turbo capabilities
Correct. The MCL86 is being used on the MiSTer PCXT project which is probably the reason for the renewed interest. :)
Also check out the PCXT core for MiSTerFPGA that uses MCL86 as the CPU and the Graphics Gremlin project from Tube Time for video. It works with both as an IBM 5160 and a Tandy 1000.
but, but, but I have been told for nearly a decade from retro-game enthusiast that FPGA recreates the hardware down to the analog level and there’s no possible way it could be anymore perfect to original. Now this isnt the first 8088 core ever so have they been lying to me *gasp!*
This doesn’t recreate the 8086 down to gate-level as it doesn’t implement the microcode that was the beating heart of Intel’s chip. It “emulates” the 8086 and the designer refers to it as such.
That makes me wonder, how is the Japanese FPGA scene doing these days?
Has anyone been able to successfully simulate the NEC V20/V30? With 8080 emulation mode?
Their “IBM PC” was the PC9801 (PC-98 series) and it used a NEC chip. Which also made PC-88 compatibility possible.
Anyway, I was just thinking out loud. It’s hard to get information from Japan, due to the language barrier.
Many Japanese users seem to refuse to speak English for some reason (“Sorry page in Japanese only”).
Which is odd, given how many English-language pages also provide a Japanese translation.
Shame there aren’t any automated translation services.
“Shame there aren’t any automated translation services.”
Sure you can use Google Translator.. I hope you don’t seriously think I’m that backwards. 😔
But the real problem, I tnink, is the lack of collaboration between Western/Japanese developers.
There’s no real interchange in code or team work, it’s all separate somehow.
Ok, sometimes Japanese developers use Western code as a base, which is no surprise due to their cultural relationships with the US. They often use the states as an orientation.
But in reverse, there’s little happen. Most of the Japanese archievements don’t turn up on Western news sites.
Even if you’re looking for certain things, search engines won’t provide you with information or links to Japanese sites.
You rather get results in your own language and/or in English.
Maybe it has to do with Geo IP, not sure.
In order to force results in maybe necessary to use Japanese glyphs (Kanji, Katakana, Hiragana, Kana..)