Groups | Search | Server Info | Login | Register


Groups > comp.os.os2.programmer.misc > #1712

Re: win32 via odin

Newsgroups comp.os.os2.programmer.misc
Date 2023-07-14 22:02 -0700
References <a29691a7-9701-4935-a5b2-986c5f5c2bddn@googlegroups.com> <Aj3sM.255151$edN3.186930@fx14.iad>
Message-ID <83234834-db2d-42ac-8bc6-0fcf631f53b9n@googlegroups.com> (permalink)
Subject Re: win32 via odin
From Paul Edwards <mutazilah@gmail.com>

Show all headers | View raw


On Friday, July 14, 2023 at 11:30:42 AM UTC+8, Dave Yeo wrote:

Hi Dave. Thanks for your reply.

> Hi Paul, note I'm not the most knowledgeable user, not many of us 
> monitoring usenet now though hopefully others can chime in. There are a 
> couple of mailing lists and the OS2world forum as well where you might 
> get help.

I prefer newsgroups which are basically public domain,
publicly available, and uncensored as far as I know.

But yeah - I signed up to os2world as well, but I think I
was supposed to get a verification email that never arrived.

I'll chase it up if/when required.

> > I can't find any evidence that Odin is still being developed, 
> > although it hasn't been that long (6 years) since the last 
> > release.

> As far as I know, it is not being developed anymore. It can be forked 
> and development continued. The last development was by Bitwise, things 
> like building OpenJDK, a Flash wrapper and running Flash and earlier by 
> Innotek, running Adobe Acrobat. 
> Note that it is quite possible to use Odin to build native OS/2 Win32 
> applications such as was done with OpenJDK, x:\Programs\OpenJDK on your 
> ArcaOS install or for source, https://trac.netlabs.org/java. 
> Development is usually done with GCC but OpenWatcom should work as well 
> with the right calling conventions.

Ok. I have had success in getting my old development
environment up and running. I can once again produce
native OS/2 executables using Open Watcom and my
own C library.

And I had instead an idea to replace Odin, with the
limited scope I have in mind. Because I already have
much of the infrastructure in place (e.g. code to load
a win32 executable), as part of PDOS/386. I largely
just need to replace the not-very-big kernel32.c with
one that does OS/2 calls instead of PDOS calls. There
are a few other things.

> > However, programs of mine that use ANSI escape codes 
> > do not work properly - the ESC appears to be ignored/ 
> > swallowed.

> Not sure about that one, perhaps someone else has some insight.

I have confirmed that when I build my own OS/2 native
executables, the escape sequences take effect.

So if I go the route of writing a public domain, somewhat
minimal, win32 environment for OS/2, I know that the
escapes will get through.

However, I still have a problem with keyboard input. I
need to get ANSI escapes - or at least - something -
when I press the different cursor keys. Otherwise my
version of microemacs 3.6 (also public domain - that
older version) won't work.

So I wrote a test program, and if I build it as a win32
executable (using pdpclib) and run it under "pec", all
the cursor keys generate a x'e0'.

If I instead build an OS/2 native executable (also with
pdpclib), I don't get any input at all.

The "keys off" command doesn't change either of
the above.

PDPCLIB is using this code:

C:\devel\pdos\pdpclib>git diff stdio.c
diff --git a/pdpclib/stdio.c b/pdpclib/stdio.c
index 685e3e4c..f6b837e6 100644
--- a/pdpclib/stdio.c
+++ b/pdpclib/stdio.c
@@ -1921,6 +1921,7 @@ static void iread(FILE *stream, void *ptr, size_t toread, size_t *actualRead)


 #ifdef __OS2__
+printf("about to do dosread of %d\n", (int)stream->hfile);
     rc = DosRead(stream->hfile, ptr, toread, &tempRead);
     if (rc != 0)
     {

C:\devel\pdos\pdpclib>


ie doing a DosRead from handle 0.

I thought there might be a DosDevIOCtl that governs this
behavior, so I went looking for the documentation.

I was surprised that this was all I could find online:

http://www.edm2.com/index.php/DosDevIOCtl

which is insufficient. I actually need three things for
a fullscreen editor like microemacs:

1. Cursor keys to come through with unique codes.
2. Echo switched off.
3. Line buffering switched off.

On MSDOS I can use INT 21H AH=44H to change those
last two things. But without documentation I don't know
if the equivalent exists in OS/2. I know what is required
in Windows too.

> > In addition, the doco says that the driver is no longer 
> > working, so I need to run everything via pec. Which 
> > probably means I need to provide my own shell. 
> > Which I can probably do, as I have 3 flavors of my 
> > shell already (for 3 different flavors of PDOS).

> Wonder if it is possible to run PDOS in a DOS session?

PDOS/86 is an 8086 OS, so it would be a replacement
for OS/2's DOS, and not be useful regardless.

But PDOS/386 has the infrastructure to do 32-bit for
Windows, so as above - I can potentially do what I want
in an OS/2 window.

Although - I just realized while typing this that I could
possibly install HX into a DOS window to run everything.

I come close to being able to do that in Freedos+HX
already.

> > But that won't really work without ANSI escapes. 
> > Well - I believe it will work to some extent. 
> > 
> > Another thing I haven't figured out yet is how to get 
> > LFN working on my FAT partition. There is supposedly 
> > a "longname" extended attribute to allow this.

> The longname extended attribute is only used by the WPS and there can be 
> problems with file systems that are not FAT, namely when the longname 
> and actual filename get out of sync. 
> Generally the FAT support is in the kernel but there are IFS's that 
> support vfat such as the FAT32.IFS, https://trac.netlabs.org/fat32 this 
> is related to the FAT32.IFS that ships with ArcaOS but Arca Noae didn't 
> like the chances of patent problems with the exfat support so forked it.

It took me a while to realize that fat32.ifs already came
installed in ArcaOS and all I needed to do was

format /fs:fat32

instead of the fat that you see with "format /?".

And now long filenames work perfectly fine on the FAT32-formatted disk!

> > Any thoughts on how to create a win32 console 
> > environment?

> There has been various shells written/ported to OS/2, there are the 
> limits of a VIO window if you go that route. The only source of one I 
> can think of is https://github.com/komh/kshell which might give some ideas. 
> Also could use a regular Presentation Manager window to display your shell 

I think the VIO thing is what is swallowing the ESC character.
And what I need to do is switch to standard streams.

Any thoughts welcome!

Thanks. Paul.

Back to comp.os.os2.programmer.misc | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-13 13:46 -0700
  Re: win32 via odin Dave Yeo <dave.r.yeo@gmail.com> - 2023-07-13 20:30 -0700
    Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-14 22:02 -0700
      Re: win32 via odin xhajt03 <xhajt03@gmail.com> - 2023-07-15 15:34 -0700
        Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-15 16:05 -0700
          Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-15 17:56 -0700
            Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-15 18:29 -0700
            Re: win32 via odin xhajt03 <xhajt03@gmail.com> - 2023-07-15 20:43 -0700
              Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-15 23:17 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-15 23:47 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-16 02:20 -0700
                Re: win32 via odin xhajt03 <xhajt03@gmail.com> - 2023-07-16 03:58 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-16 09:03 -0700
                Re: win32 via odin xhajt03 <xhajt03@gmail.com> - 2023-07-16 14:51 -0700
              Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-12-20 10:35 +0800
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-12-20 14:16 +0800
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-12-20 16:24 +0800
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-12-20 20:10 +0800
            Re: win32 via odin Dave Yeo <dave.r.yeo@gmail.com> - 2023-07-16 20:30 -0700
          Re: win32 via odin Dave Yeo <dave.r.yeo@gmail.com> - 2023-07-16 20:44 -0700
            Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-16 21:11 -0700
              Re: win32 via odin Dave Yeo <dave.r.yeo@gmail.com> - 2023-07-16 23:04 -0700
                Re: win32 via odin Dave Yeo <dave.r.yeo@gmail.com> - 2023-07-16 23:11 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-17 07:07 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-17 07:13 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-17 07:48 -0700
                Re: win32 via odin Paul Edwards <mutazilah@gmail.com> - 2023-07-17 16:50 -0700

csiph-web