Live data from Hacker News

S80186: 16-bit 80186 compatible IP core

jamieiles.com

11–20 of 64 posts

Re: S80186: 16-bit 80186 compatible IP core

#11
post #5

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. :)

The 80286's I grew up using were between 4 and 12 MHz, depending on which model I was on and whether "Turbo" was enabled.

50 MHz is mid to low end 486 territory clock rate, which if it handles instructions as well (a big if) puts it squarely in the area of a lot of games.

Re: S80186: 16-bit 80186 compatible IP core

#12
post #6

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

I'm holding one in my hand right now; the HP200. There were others: https://en.m.wikipedia.org/wiki/Intel_80186#In_personal_comp...

From your link:

The 80186 would have been a natural successor to the 8086 in personal computers. However, because its integrated hardware was incompatible with the hardware used in the original IBM PC, the 80286 was used as the successor instead in the IBM PC/AT.

In other words, the few "PCs" which did use a 186 weren't fully PC-compatible.

Re: S80186: 16-bit 80186 compatible IP core

#13
post #7

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

The RM Nimbus was 186-based ( 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.

Bloody horrible computers, those.

Re: S80186: 16-bit 80186 compatible IP core

#14
post #7

Earlier quoted context omitted.

The RM Nimbus was 186-based ( 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.

Bloody horrible computers, those.

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

Re: S80186: 16-bit 80186 compatible IP core

#15
post #5

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. :)

The 80186 won't be able to play many games that you remember... it wasn't really PC compatible.

Re: S80186: 16-bit 80186 compatible IP core

#16
post #5

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. :)

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.

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.

Re: S80186: 16-bit 80186 compatible IP core

#17
post #5

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. :)

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.

Generally speaking, what determines the "clock speed" for FPGAs is a combination of the design of the FPGA device plus the complexity of the design being implemented on it.

Let's imagine you design a CPU on an FPGA. One way to measure the speed of that design is to look at the speed of the slowest operation of that CPU. The clock needs to be set at the speed at which the slowest (most complex) operation can reliably run at.

Re: S80186: 16-bit 80186 compatible IP core

#18
post #5

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. :)

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.

Most modern FPGAs have a PLL (or DLL) implementation [0] which can multiply the external clock by some rational number. e.g. 50MHz external crystal clock is multiplied by 5/2 to obtain a 125MHz internal clock.

0. https://www.xilinx.com/support/documentation/user_guides/ug3...

Re: S80186: 16-bit 80186 compatible IP core

#19

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

The Tandy 2000 used an 80186; I still have mine in the attic. It ran MSDOS 2.11, but it was not BIOS-compatible with the IBM PC (which explains why it was a market failure, even though it was technically superior in many ways). For example, you could mod it to have 896KB of base RAM (compared to the usual 640KB) - I had this done to mine. You could do this because video memory was mapped to a different location than with IBM PC's (but consequently, programs that wrote directly to video memory for speed wouldn't run unaltered on the 2000). I got tired of dealing with the incompatibilities and got a 286 from CompuAdd a couple of years later.

Re: S80186: 16-bit 80186 compatible IP core

#20
post #6

Earlier quoted context omitted.

I'm holding one in my hand right now; the HP200. There were others: https://en.m.wikipedia.org/wiki/Intel_80186#In_personal_comp...

From your link: The 80186 would have been a natural successor to the 8086 in personal computers. However, because its integrated hardware was incompatible with the hardware used in the original IBM PC, the 80286 was used as the successor instead in the IBM PC/AT. In other words, the few "PCs" which did use a 186 weren't fully PC-compatible.

It was possible: "Being IBM PC/XT compatible and running MS-DOS 5.0 from ROM, the HP 200LX can run virtually any program that would run on a full-size PC compatible computer as long as the code is written for the Intel 8086, 8088 or 80186 CPU and can run using CGA graphics. It can also run programs written for the 80286 CPU, provided they do not require the use of protected mode.":

https://en.m.wikipedia.org/wiki/HP_200LX

Post reply on HN