OSDev.org

The Place to Start for Operating System Developers
It is currently Sat Apr 27, 2024 7:23 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1 ... 6, 7, 8, 9, 10
Author Message
 Post subject: Re: running 32-bit code in LM64
PostPosted: Fri Dec 22, 2023 6:48 am 
Offline
Member
Member

Joined: Wed Oct 01, 2008 1:55 pm
Posts: 3195
My OS once supported MSDOS, as well as many DOS-extenders, but I'm sure most of that is broken know as I've dropped support for it. Still, one day when I have a lot of time, I might get into it again. :-)

Still, my goal back then was to turn DOS into a multitasking environment, and I had thread support in DOS extender apps, as well as in native MS-DOS apps. I did not run DOS in real mode, rather used V86 mode and also virtualized the first 4k page to be able to emulate DOS & BIOS variables.

I once also had Win32 emulation DLLs, actually advanced enough to run Borlands debugger on my OS. However, I've moved away from that and now have a native API, and no support for Win32 or MS-DOS (although it can be added again, if ever desired). I could also execute 16-bit NE executables.


Top
 Profile  
 
 Post subject: Re: running 32-bit code in LM64
PostPosted: Fri Dec 22, 2023 8:44 pm 
Offline
Member
Member

Joined: Fri Nov 17, 2006 5:26 am
Posts: 248
kerravon wrote:
kerravon wrote:
In fact, PDOS-generic is what I eventually came up with as "right", but then I suddenly noticed I could twist it for expedience to support win64 executables that were dependent on msvcrt.dll. And today I am hoping that I can support win32 executables dependent on msvcrt.dll the same way under OS/2 2.0+.

This worked btw - the result can be found by searching for win32os2 at http://pdos.org

Same deal with win32lin which I uploaded a short time ago (for Linux obviously).

This one has an issue I don't know how to get around.

My applications (ie micro-emacs) rely on two ESC coming through when the user presses ESC (as allowed by ANSI X3.64), rather than relying on a non-standard random delay (I don't like random delays ever since someone from Alpha Centauri told me 4 years ago that it was causing an issue).

But the "MATE" terminal I use on Kylin Linux only sends one ESC with no ability to configure that.

I don't know which component is responsible for fixing this.

So that means currently I have to press ESC twice.

I have the same issue on Windows 10.

I don't have the issue on OS/2 or PDOS/386 because I am required to interpret the keyboard myself. I don't have that option at all on Linux. On Windows I could likely go through some hoops.


Top
 Profile  
 
 Post subject: Re: running 32-bit code in LM64
PostPosted: Mon Jan 15, 2024 11:22 am 
Online
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 817
Location: Hyperspace
kerravon wrote:
This one has an issue I don't know how to get around.

My applications (ie micro-emacs) rely on two ESC coming through when the user presses ESC (as allowed by ANSI X3.64), rather than relying on a non-standard random delay (I don't like random delays ever since someone from Alpha Centauri told me 4 years ago that it was causing an issue).

But the "MATE" terminal I use on Kylin Linux only sends one ESC with no ability to configure that.

I don't know which component is responsible for fixing this.

So that means currently I have to press ESC twice.

I have the same issue on Windows 10.

I don't have the issue on OS/2 or PDOS/386 because I am required to interpret the keyboard myself. I don't have that option at all on Linux. On Windows I could likely go through some hoops.

I'm having the same issue in different Forth interpreters. Gforth on Windows handles it right, presumably with a Windows call to get the actual key, but Pforth is reliant on terminals and I had gave up and made the user press ESC twice. After considerable thought, I concluded a delay is the only way to do it better, given the constraint of sticking with the terminals I have. I had no idea there was a double-ESC option, especially as VIM and other VI editors don't expect it.

This was just the tail end of a 25-year saga of dissatisfaction with terminals, and I want to be free of them in the future. (I'm disappointed in myself that I still need them now.) Plan 9 and VNC have, between them, shown me that remote windowing can be practical and relatively lightweight. Plan 9 showed me that even if you're just drawing text, a remote window system can be a better design than ANSI standard terminals. Though having said that, I'm sure there are much better-designed terminals than the ANSI standard or anything else of the VT-xxx range. In-band signalling is stupid.

I just looked up the VT100 keyboard expecting, from the protocol design, that it would have a CAN (cancel) key and no ESC key. I couldn't believe it when I saw it had an ESC key in a prominent position. To borrow your phrasing, @kerravon, I consider this a _deficient_ design! ;) What we have is not what was good, but what was available.

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1 ... 6, 7, 8, 9, 10

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 11 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group