Has anyone tested the FMail config program with a recent Wine? I only remember that it didn't work properly, but since then many newer
versions of Wine have been released. Maybe compatibility is now good enough to run it (I guess it still doesn't work, but maybe it does).
Hi Oli,
On 2023-02-17 10:17:11, you wrote to All:
Has anyone tested the FMail config program with a recent Wine? I
only remember that it didn't work properly, but since then many
newer versions of Wine have been released. Maybe compatibility is
now good enough to run it (I guess it still doesn't work, but maybe
it does).
I haven't, but maybe it's time for another test...
On 2023-02-17 10:17:11, you wrote to All:
Has anyone tested the FMail config program with a recent Wine? I
only remember that it didn't work properly, but since then many
newer versions of Wine have been released. Maybe compatibility is
now good enough to run it (I guess it still doesn't work, but maybe
it does).
I haven't, but maybe it's time for another test...
It doesn't work with Wine 7.0, which is not the newest version, but the most recent Debian 11 (bullseye / stable) offers.
Has anyone tested the FMail config program with a recent Wine?
It doesn't work with Wine 7.0, which is not the newest version, but
the most recent Debian 11 (bullseye / stable) offers.
Ok, good to know...
There is an experimental package Wine 8.2 available for my opensuse 15.4 machine. I might try that later...
I first tried it with
$ wine FConfigW32.exe
which didn't work at all. But
$ wineconsole
does kind of work. Only problem is with Node and Area Manager: F-keys and Del/Ins don't do anything. Does FConfig support navigation with the arrow keys?
It seems to have to do with how the getch() function is implemented in the MingW compiler. The version in the old Borland Compiler seems to work in reactos, or so some tests I did seems to indicate.
A few years back I made a little test program that showed this when compiled with different compilers: http://fmail.vlzn.nl/files/getchtest.zip
I've compiled it with conio.h from https://github.com/casualsnek/linuxconio
on Linux and this is what I get when pressing
UP
DOWN
F1
F2
INS
DEL
$ ./getchtest-linuxconio
27 - 0000001B - '
91 - 0000005B - '['
65 - 00000041 - 'A'
27 - 0000001B - '
91 - 0000005B - '['
66 - 00000042 - 'B'
27 - 0000001B - '
79 - 0000004F - 'O'
80 - 00000050 - 'P'
27 - 0000001B - '
79 - 0000004F - 'O'
81 - 00000051 - 'Q'
27 - 0000001B - '
91 - 0000005B - '['
50 - 00000032 - '2'
126 - 0000007E - '~'
27 - 0000001B - '
91 - 0000005B - '['
51 - 00000033 - '3'
126 - 0000007E - '~'
and with wine:
$ wine getchtest-borland.exe
0 - 00000000 - ''
72 - 00000048 - 'H'
0 - 00000000 - ''
80 - 00000050 - 'P'
0 - 00000000 - ''
59 - 0000003B - ';'
0 - 00000000 - ''
60 - 0000003C - '<'
0 - 00000000 - ''
82 - 00000052 - 'R'
0 - 00000000 - ''
83 - 00000053 - 'S'
$ wine getchtest-mingw32.exe
224 - 000000E0 - 'à'
72 - 00000048 - 'H'
224 - 000000E0 - 'à'
80 - 00000050 - 'P'
[F1 nothing]
[F2 nothing]
224 - 000000E0 - 'à'
82 - 00000052 - 'R'
224 - 000000E0 - 'à'
83 - 00000053 - 'S'
Hi Oli,
On 2023-02-23 11:33:38, you wrote to me:
I've compiled it with conio.h from
https://github.com/casualsnek/linuxconio
on Linux and this is what I get when pressing
UP
DOWN
F1
F2
INS
DEL
$ ./getchtest-linuxconio
27 - 0000001B - '
91 - 0000005B - '['
65 - 00000041 - 'A'
27 - 0000001B - '
91 - 0000005B - '['
66 - 00000042 - 'B'
27 - 0000001B - '
79 - 0000004F - 'O'
80 - 00000050 - 'P'
27 - 0000001B - '
79 - 0000004F - 'O'
81 - 00000051 - 'Q'
27 - 0000001B - '
91 - 0000005B - '['
50 - 00000032 - '2'
126 - 0000007E - '~'
27 - 0000001B - '
91 - 0000005B - '['
51 - 00000033 - '3'
126 - 0000007E - '~'
That's a strange result, but something for later, when I'm converting fconfig to linux. ;-)
I've compiled it with conio.h from
https://github.com/casualsnek/linuxconio
on Linux and this is what I get when pressing
UP
DOWN
F1
F2
INS
DEL
$ ./getchtest-linuxconio
27 - 0000001B - '
91 - 0000005B - '['
65 - 00000041 - 'A'
27 - 0000001B - '
91 - 0000005B - '['
66 - 00000042 - 'B'
27 - 0000001B - '
79 - 0000004F - 'O'
80 - 00000050 - 'P'
27 - 0000001B - '
79 - 0000004F - 'O'
81 - 00000051 - 'Q'
27 - 0000001B - '
91 - 0000005B - '['
50 - 00000032 - '2'
126 - 0000007E - '~'
27 - 0000001B - '
91 - 0000005B - '['
51 - 00000033 - '3'
126 - 0000007E - '~'
That's a strange result, but something for later, when I'm converting
fconfig to linux. ;-)
ANSI escape codes?
ANSI escape codes?
I could get the same above sequences with a windows program with some wincon.h functions and this mode:
https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
But this works in Windows 10, not in Windows XP... :-(
But this works in Windows 10, not in Windows XP... :-(
Are there any XP users of FMail?
Maybe port to ncurses or pdcurses?
https://sourceforge.net/p/mingw-w64/wiki2/NCurses/
https://pdcurses.org/
Might be the sledgehammer for a nut ;)
I found another way that gives consistent codes on XP and W10x64:
http://www.vlzn.nl/fmail/files/getchtest_win2.zip
Can you test it in wine?
For:
UP
DOWN
F1
F2
INSERT
DELETE
a
b
I get:
0 - 00 - ' ' + 26
0 - 00 - ' ' + 28
0 - 00 - ' ' + 70
0 - 00 - ' ' + 71
0 - 00 - ' ' + 2D
0 - 00 - ' ' + 2E
97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
I found another way that gives consistent codes on XP and W10x64:
http://www.vlzn.nl/fmail/files/getchtest_win2.zip
Can you test it in wine?
For:
UP
DOWN
F1
F2
INSERT
DELETE
a
b
I get:
0 - 00 - ' ' + 26
0 - 00 - ' ' + 28
0 - 00 - ' ' + 70
0 - 00 - ' ' + 71
0 - 00 - ' ' + 2D
0 - 00 - ' ' + 2E
97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
$ wine getchtest_win2-mingw32.exe
0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0
- 00 - ' 97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
(line breaks after 'a' and 'b' only)
I found another way that gives consistent codes on XP and W10x64:
http://www.vlzn.nl/fmail/files/getchtest_win2.zip
Can you test it in wine?
For:
UP
DOWN
F1
F2
INSERT
DELETE
a
b
I get:
0 - 00 - ' ' + 26
0 - 00 - ' ' + 28
0 - 00 - ' ' + 70
0 - 00 - ' ' + 71
0 - 00 - ' ' + 2D
0 - 00 - ' ' + 2E
97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
$ wine getchtest_win2-mingw32.exe
0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00 - '
0 - 00 - ' 97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
(line breaks after 'a' and 'b' only)
Ok strange how the wine console reponds differently when a 0x00 character is printed. But I changed that to printing a space char now, so please try
again (it's in the same .zip)...
$ wine getchtest_win2-mingw32.exe
0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00 - ' 0 - 00
- ' 0 - 00 - ' 97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
(line breaks after 'a' and 'b' only)
Ok strange how the wine console reponds differently when a 0x00
character is printed. But I changed that to printing a space char
now, so please try again (it's in the same .zip)...
In reactos I get the same output as on my windows machines, so this looks promissing!
In reactos I get the same output as on my windows machines, so this
looks promissing!
Looks good.
UP
DOWN
F1
F2
INSERT
DELETE
a
b
I get:
0 - 00 - ' ' + 26
0 - 00 - ' ' + 28
0 - 00 - ' ' + 70
0 - 00 - ' ' + 71
0 - 00 - ' ' + 2D
0 - 00 - ' ' + 2E
97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
You mean, you get this result:
UP
DOWN
F1
F2
INSERT
DELETE
a
b
I get:
0 - 00 - ' ' + 26
0 - 00 - ' ' + 28
0 - 00 - ' ' + 70
0 - 00 - ' ' + 71
0 - 00 - ' ' + 2D
0 - 00 - ' ' + 2E
97 - 61 - 'a' + 41
98 - 62 - 'b' + 42
In wine now too?
That will be an option for the future, because linux fconfig will probably use ncurses.
That will be an option for the future, because linux fconfig will
probably use ncurses.
I like the sound of that. It will be nice to have another option.
Any chance FMail can or will support Jam netmail bases?
I like the sound of that. It will be nice to have another option.
I'm now working on FConfigW32.exe that can run in a linux terminal using wine. Don't know yet if I will succeed, but it is looking good so far...
Any chance FMail can or will support Jam netmail bases?
It's at the bottom of my to do list, so don't hold your breath. ;-)
I like the sound of that. It will be nice to have another option.
I'm now working on FConfigW32.exe that can run in a linux terminal using
wine. Don't know yet if I will succeed, but it is looking good so far...
I'll keep my fingers crossed. My BBS machine has no desktop or xorg at all.
I don't think wine is an option there.
Hi Alan,
On 2023-02-23 15:57:28, you wrote to me:
I like the sound of that. It will be nice to have another option.
I'm now working on FConfigW32.exe that can run in a linux terminal
using wine. Don't know yet if I will succeed, but it is looking good
so far...
I'll keep my fingers crossed. My BBS machine has no desktop or xorg
at all. I don't think wine is an option there.
I could run a little test program today, in a Konsole terminal, where it was started from, using:
# wineconsole --backend=curses test.exe
I could run a little test program today, in a Konsole terminal,
where
it was started from, using:
# wineconsole --backend=curses test.exe
wineconsole --backend=curses returns an error on Wine 7.0. But I think with
"wine test.exe" you get the same behavior.
On 2023-02-24 11:13:06, you wrote to me:
I could run a little test program today, in a Konsole terminal,
where
it was started from, using:
# wineconsole --backend=curses test.exe
wineconsole --backend=curses returns an error on Wine 7.0. But I
think with "wine test.exe" you get the same behavior.
Mine is:
# wine --version
wine-1.8.6
I could run a little test program today, in a Konsole terminal,
where
it was started from, using:
# wineconsole --backend=curses test.exe
wineconsole --backend=curses returns an error on Wine 7.0. But I
think with "wine test.exe" you get the same behavior.
Mine is:
# wine --version
wine-1.8.6
Found this:
"Modern Wine versions (>6.0) don't have the curses backend."
https://wiki.winehq.org/Wine_User%27s_Guide#Text_mode_programs_.28CUI: _Console_User_Interface.29
Found this:
"Modern Wine versions (>6.0) don't have the curses backend."
That's a pitty.
https://wiki.winehq.org/Wine_User%27s_Guide#Text_mode_programs_.28CUI:
_Console_User_Interface.29
It says the 'wine' method that uses bare streams doesn't have: "Good support for full screen CUI applications (including but not limited to color support, mouse support...)". That doesn't sound good for running FConfig in this way...
"Modern Wine versions (>6.0) don't have the curses backend."
That's a pitty.
https://wiki.winehq.org/Wine_User%27s_Guide#Text_mode_programs_.28CUI
: _Console_User_Interface.29
It says the 'wine' method that uses bare streams doesn't have: "Good
support for full screen CUI applications (including but not limited
to color support, mouse support...)". That doesn't sound good for
running FConfig in this way...
The text and colors looks fine with "wine FConfigW32". I'm slightly optimistic that it will work.
The text and colors looks fine with "wine FConfigW32". I'm slightly
optimistic that it will work.
Ok, we'll see. I have done the coding last night to switch to the Windows Console API way of getting the keyboard input in FConfig. Which seems to work fine, but I want to do a bit more testing, in windows (xp), before trying it in wine, and making it available for public testing. ;-)
Sysop: | digital man |
---|---|
Location: | Riverside County, California |
Users: | 1,036 |
Nodes: | 15 (1 / 14) |
Uptime: | 03:23:54 |
Calls: | 663 |
Calls today: | 11 |
Files: | 95,162 |
D/L today: |
1,702 files (224M bytes) |
Messages: | 299,195 |
Posted today: | 7 |