Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

rules

13 views
Skip to first unread message

Paul Edwards

unread,
Feb 18, 2024, 11:37:38 PMFeb 18
to
Assuming I had followed these rules:

https://en.wikipedia.org/wiki/Protected_mode

This was not without its limitations. If an application utilized or
relied on any of the techniques below, it would not run:

Segment arithmetic
Privileged instructions
Direct hardware access
Writing to a code segment
Executing data
Overlapping segments
Use of BIOS functions, due to the BIOS interrupts being reserved by
Intel[31]
In reality, almost all DOS application programs violated these rules



... what could I actually do, assuming I had
an 80286 computer?


"binary compatibility with real-mode code" - sounds good.

"the ability to access up to 16 MB of physical memory, and 1 GB of
virtual memory" - sounds good.

But ... WHERE?

Is this something I could do on OS/2 1.x?

With an MZ executable? A .com?

What are they advertising?

NE executables didn't exist except on MSDOS 4.0,
which may or may not buy something. Is that what
they are advertising?

I didn't use OS/2 1.x, but it may have had an
MSDOS window and an MSDOS fullscreen.

Did something work on either of those if you
followed "the rules"?

As opposed to a program that DIDN'T follow
the rules, e.g. it wouldn't run in the window.

Thanks. Paul.

JJ

unread,
Feb 19, 2024, 2:59:45 PMFeb 19
to
On Mon, 19 Feb 2024 12:37:33 +0800, Paul Edwards wrote:
> Assuming I had followed these rules:
>
> https://en.wikipedia.org/wiki/Protected_mode
>
> This was not without its limitations. If an application utilized or
> relied on any of the techniques below, it would not run:
>
> Segment arithmetic
> Privileged instructions
> Direct hardware access
> Writing to a code segment
> Executing data
> Overlapping segments
> Use of BIOS functions, due to the BIOS interrupts being reserved by
> Intel[31]
> In reality, almost all DOS application programs violated these rules
>
> .... what could I actually do, assuming I had
> an 80286 computer?
>
> "binary compatibility with real-mode code" - sounds good.
>
> "the ability to access up to 16 MB of physical memory, and 1 GB of
> virtual memory" - sounds good.
>
> But ... WHERE?
>
> Is this something I could do on OS/2 1.x?
>
> With an MZ executable? A .com?
>
> What are they advertising?
>
> NE executables didn't exist except on MSDOS 4.0,
> which may or may not buy something. Is that what
> they are advertising?
>
> I didn't use OS/2 1.x, but it may have had an
> MSDOS window and an MSDOS fullscreen.
>
> Did something work on either of those if you
> followed "the rules"?
>
> As opposed to a program that DIDN'T follow
> the rules, e.g. it wouldn't run in the window.
>
> Thanks. Paul.

A compatibility layer program would be needed to make programs usable in
non-compatible environment - to work like a subsystem. In PM OS, it may need
to be run at a priviledge level which is high enough to perform its task -
depending on whether a task require higher privilege level or not.

e.g. adding support for non OS native executable binary format will require
system service/function hooking if the OS doesn't support custom executable
binary format loader. OS native executable binary loader usually run at
higher privilege level.
0 new messages