VOGONS


Reply 100 of 104, by pan069

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2021-06-05, 17:49:

One of the differences might be,
that the 286 is not limited to a fixed segment size of 64KB anymore.
I don't know for sure, though.

That is only in 286 protected mode. There is very little software that uses this mode on the 286, let alone games. Bill Gates famously referred to protected mode on the 286 as "brain dead" [1]. The main problem is, once the 286 switches into protected mode, it has no way of switching back to real-mode.

[1] https://en.wikipedia.org/wiki/Intel_80286

Reply 101 of 104, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks, I guess. Here's a screenshot of one of the compilers I was thinking of.
It's a C compiler, though. For DOS/Real-Mode. I used it since my childhood.
Supports several memory models and has a /1 and /2 switch for CPUs later than 8086.

Attachments

  • pc.png
    Filename
    pc.png
    File size
    12.84 KiB
    Views
    78 views
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 102 of 104, by pan069

User metadata
Rank Oldbie
Rank
Oldbie

Those switches for 186 and 286 are just for the support of different instruction sets. I.e. a 186 has a more evolved instruction set over an 86, and a 286 has a more evolved instruction over and 286, and a 386 is 32bit instead of the prior 16bit processors.

When a C compiler generates the byte code, then that byte code targets a specific processor instruction set. I.e. byte code for a 286 using instructions specific for a 286 will probably be more efficient than byte generated for a 186 just using the instruction set of a 186. This is why the x86 family of processors are backward compatible. I.e. a 286 can execute everything that a 186 can execute. But not the other way around.

Memory models don't allow to allocate more than 64kb in real mode. It simply allows your compiler to create an abstraction layer for addressing memory. I.e. give you the illusion that you can allocate larger blocks at a performance penalty. Behind the scenes, the compiler has put in place a mechanism that spans multiple 64kb blocks, giving you the illusion it's one big block of data.

More on memory models: https://en.wikipedia.org/wiki/Intel_Memory_Model

Reply 103 of 104, by DigitalMan

User metadata
Rank Newbie
Rank
Newbie
dr.zeissler wrote on 2021-06-04, 17:17:

Could possibly work on plantronics, but require 286+, so not for my EuroPC II with Nec V20.

Most definitely works on my 8088, but I was curious about getting an NEC v20. There is no turbo or way to increase the bus speed on my PC10-II so I'm wondering if that upgraded processor would make any difference. Anyone know?

Reply 104 of 104, by Benedikt

User metadata
Rank Member
Rank
Member
pan069 wrote on 2021-06-06, 04:13:

Those switches for 186 and 286 are just for the support of different instruction sets. I.e. a 186 has a more evolved instruction set over an 86, and a 286 has a more evolved instruction over and 286, and a 386 is 32bit instead of the prior 16bit processors.

They could also be optimization options.
If you tell the compiler to generate "286 real mode code", the result would then be 186 code optimized to run fast on a 286.

DigitalMan wrote on 2021-06-06, 13:21:
dr.zeissler wrote on 2021-06-04, 17:17:

Could possibly work on plantronics, but require 286+, so not for my EuroPC II with Nec V20.

Most definitely works on my 8088, but I was curious about getting an NEC v20. There is no turbo or way to increase the bus speed on my PC10-II so I'm wondering if that upgraded processor would make any difference. Anyone know?

With 8088 code, the speed gains provided by a V20 are not going to be overwhelming, but a processor upgrade could be combined with a hardware mod like the PC-SPRINT that runs the CPU at a higher clock speed than the rest of the system.

There is also still some room for speed optimizations in the Plantronics driver itself.