
S80186: 16-bit 80186 compatible IP core - jamieiles
https://www.jamieiles.com/80186/
======
ChuckMcM
Wow, trip down memory lane. My "starter" project when I joined Intel out of
college was to be the Systems Validation engineer for the 80186. Unlike the
8086 it was this new fangled thing called a "system on chip" (SoC) which of
course is what nearly everything is these days. And because Intel chose the
peripherals to put "on chip" as it were they picked the ones they liked, and
Microsoft obligingly wrote a version of MS-DOS that could use those
peripherals. Critically though, they were _not_ exactly like the set of
peripherals the IBM PC used so while it was "cheaper" to put all the interface
chips together with the CPU (saving power, board real estate, and time) it
meant using the chip would never be "FlightSimulator" compatible (where MS
Flight Sim was considered the acid test of whether or not a clone was a
clone.). So much commercial software bypassed the BIOS and wrote directly to
the peripherals that the 80186 never became very popular in the commercial
sector. It did however have a pretty strong military presence and a lot of the
customers who sent in bug reports would decline to describe their systems :-)

~~~
drmpeg
_It did however have a pretty strong military presence..._

The ground communications network for the Air Force DSP satellite program
(boost phase missile warning) was built with 80186 processors. The hub routers
were multi-processor systems with six 80186's or five 80186's and a 80386.

These systems were used to provide early warning of SCUD missile attacks
during the first Gulf War. They were installed in 1988 and decommissioned in
2005.

~~~
exikyut
Less amazing, but: some recent-model (non-current) ATMs used 80386s to control
the hydraulics and motors for the cash dispenser. My guess is these ATMs were
manufactured sometime starting around 2004 at the earliest.

(ATMs use a complex system of pressurized tubes to extract and move notes out
of the bins. I think the idea is that the extra complexity fails more easily
as a kind of canary, but I'm not sure.)

------
gbraad
Have a look at:
[http://zet.aluzina.org/index.php/Zet_processor](http://zet.aluzina.org/index.php/Zet_processor)
which can actually run Dune 2:
[http://zet.aluzina.org/images/b/bd/Vga-4.jpg](http://zet.aluzina.org/images/b/bd/Vga-4.jpg)
and more
[http://zet.aluzina.org/index.php/Pictures](http://zet.aluzina.org/index.php/Pictures)
like MS Windows 3.0, MS DOS 6.22 etc. This runs on an older Altera DE1
(Cyclone III-based) board

~~~
Posibyte
The draw that this one gives me over the Zet processor (which btw is great and
I've used it here and there in the past), is that Zet is not really maintained
anymore. It's not a moving target, that's completely true, but S80x86 has the
potential to hopefully do some neat things with 286's and 386's as well.

But for anybody looking for a quick-n-dirty deploy to a board solution, the
Zet is fantastic and solid.

~~~
katastic
It should be noted that 186's aren't even remotely compatible with 286's and
386's. And implementing a 286/386/486 is actually much harder and more complex
than say, an 8086. That's why most people stop their hobby project at 8086 or
286. Because it becomes much more work to accomplish and the fun/novelty dries
up.

~~~
JdeBP
Probably the same applies to why there are several home brewed Z80s and 6502s
around, but few to no home brewed 68020s. (-:

------
0xcde4c3db
This is pretty cool. A PC with an 80186 CPU is a little weird, though; I don't
think many of those actually existed. It seems like virtually everybody went
straight from 8086 to 80286

~~~
pm215
The RM Nimbus was 186-based ([https://www.thenimbus.co.uk/range-of-nimbus-
computers/PC-186](https://www.thenimbus.co.uk/range-of-nimbus-
computers/PC-186)) -- UK people might remember it as it was pretty popular in
schools in the late 80s/early 90s. It wasn't fully PC compatible though.

~~~
bencollier49
Bloody horrible computers, those.

~~~
TickleSteve
Absolutely... the slight incompatibilities meant they had to have RM specific
versions of software IIRC.

------
vardump
Pretty cool as a design like this should be able to better preserve old system
behavior than what DOSBox etc. can achieve.

Although it seems a bit slow side at 50 MHz, I guess it's not a pipelined
design?

Not that original 80186 was pipelined either. :)

~~~
mbrumlow
I don't know much. Just getting into FPGAs my self. But from my understanding
you could swap out the crystal for a faster one. Most of the FPGA boards I am
looking at only come with a 50mhz clock.

There is some complications around changing the clock. It seems to have to do
with the complexity of the hdl you load into the FPGA. Many of the boards
shipping with 50mhz crystal can easily do over 100mhz.

~~~
buildbot
You wouldn’t swap out the crystal, you’d use the internal PLLs to generate
whatever clock you want. Much easier!

And you are essentially correct, there is a maximum clock speed for any
design, and it has to do with how complex your design is. Essentially, what’s
the longest path in your design? Your clock must be slow enough to allow a
change to propagate through that path. Pipelining shortens this path by
creating registers along it, which are clocked by your clock. When a register
is clocked, it stores the value in its input side, and outputs that value on
the output side.

------
Posibyte
So neat. I was working on this exact thing at this exact time too. The massive
draw for me was working with some companies that have a reliance on PC and
PC/XT workstations with tight hardware resources and needing a simple way to
swap out machines. Things like KM4821U memory (and several compatibles) are
becoming harder to come by.

I'd love to merge some of my work in if I can find some spots. I truly believe
that simply getting a new piece of compatible hardware is just as good as the
option of upgrading your software and hardware. Just because we're all on
64-bit platforms doesn't mean that the shop down the street using needs to use
it for their POS' either.

Also of tangential relation to this, but my old IBM PC with a 80186 a few
years ago finally lost its 6V Lithium battery. I called IBM at that time,
referenced 8286121 as the IBM replacement number on the front, and for a bit
of money, they sent me a new-old-stock one. I was really blown away.

------
Posibyte
I just had a play going through the source and adding support for a board of
my own, and if OP is reading this, I want to share my appreciation for how
well this project is laid out. A lot of hardware projects are sort of
spaghetti dishes, but this one is very well laid out, tested very well, and
feels very clean to work with. Because this helps me with something I'm
working on, I wanted to express my gratitude for that.

Thanks :)

------
monocasa
> Intel Cyclone V

That's still weird to see; it's kind of like AMD Radeon was for a few years.

------
drudru11
Next186 is a similar older project. It even has OPL sound

[https://opencores.org/project,next186_soc_pc](https://opencores.org/project,next186_soc_pc)

------
payne92
Very very cool.

Boys and girls, _this_ is how you do a resume. :)

