Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss
Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

rules

17 views
Skip to first unread message

Paul Edwards

unread,
Feb 18, 2024, 11:37:38 PM2/18/24
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 PM2/19/24
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