Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - davidrg

Pages: [1] 2
1
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 06, 2023, 12:22:43 am »
I've no idea what version was used previously I'm afraid. Based on the makefile, it was some version of VisualAge that probably installed by default into C:\IBMCXX0. The last OS/2 release of Kermit 95 was 2.1.2 on 25 November 2002 so it won't be anything newer than that. I think after 2.1.2, OS/2 support was dropped entirely.

The dialer source code comes from the Kermit 95 2.1.3 build tree so binaries from this code were never officially released for OS/2. Kermit 95 2.1.3 was released on 21 January 2003 (changelog) though so unlikely anything much would have broken in that time and it probably would have still worked. The only changes I've made to the dialer code since getting permission to release it were ripping out all the registration code, rebranding it, fixing build issues with OpenWatcom and other versions of Visual C++, plus updating the SSH options to match what the new SSH subsystem is actually capable of. So I expect it should be very nearly buildable with ICC.

I've left all the ICC stuff in the makefile so you would just have to change line 18 of k95dial.mak (CMP = OWCL386) to some other value (what value shouldn't matter as long as its not OWCL386) to prevent it from taking the OpenWatcom path in a few if/else statements. To build C-Kermit with icc, you'd need to modify the makefile in a similar way. This time to line 105 of ckoker.mak and build the ibmc target rather than the wcos2 target.

C-Kermit itself is in a bit more of a tricky state than the dialer. C-Kermit for Windows and OS/2 is based on what was going to be Kermit 95 v2.2 which was never released and was never going to support OS/2. As OS/2 was no longer supported there had been some windows-specific changes in modules shared by both Windows and OS/2 that weren't guarded with #ifdef NT or didn't have alternative OS/2 code paths. Additionally, the modules shared with other platforms (unix/linux/vms) have received an additional 20 years of development work without ever being compiled for or tested on OS/2 until last year. All the stuff that causes compile errors for Watcom when targeting OS/2 has been fixed but I wouldn't be too surprised if ICC ran into a few issues. And its possible that even when built with ICC some bugs will remain.

C-Kermit for Windows originally had similar issues (missing code, last built with an ancient non-free compiler, bugs when built with anything else, shared bits not built for windows in over a decade). The difference there is I know windows very well, I'm vaguely familiar with programming for Windows in C/C++, and I've got a big collection of Visual C++ versions and MSDN library CDs that I can use to diagnose problems and look up information on API and compiler changes.

2
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 05, 2023, 09:55:35 pm »
Yeah, that's the same error I get.

I assume its an issue with OpenWatcom+OS2 given the same code builds and runs fine on Windows with both Visual C++ and OpenWatcom. There are still a few problems like this affecting C-Kermit itself - optimized builds crash on startup, as do builds with NetBIOS enabled. Quite possibly these are all genuine bugs in the code that just didn't affect the IBM compiler for whatever reason and are only showing up now when using Watcom.

3
The browser problem is the one thing, I fear, that has the real "stones" to hurt us badly. Superb efforts are ongoing to extend our viability, but I still struggle with why this hasn't become a prioritized deliverable for our platform - and by that I mean the apparent lack of official backing by the only commercial player in our space, that being AN.

I think the lack of 64-bit will prove to be a bit of a problem sooner or later there; web browsers are pretty memory hungry these days.

4
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 04, 2023, 05:03:31 am »
Yeah, for the Windows version you've got install the Visual C++ runtime - for Vista and newer the correct one should be this: https://aka.ms/vs/17/release/vc_redist.x86.exe - I'll have to check Frank has put links to the runtime downloads in the ckwin download section. I've still got building a proper install program on my to-do list but it will probably be a while before I get around to it - too many other things that need fixing.

On OS/2 I don't bother to try and detect the compiler - the makefiles just assume OpenWatcom 1.9, though the makefiles should still support icc as well.

Building the dialer on Warp 4 Fixpak 15 with OpenWatcom 1.9 installed to C:\watcom and the kermit located in C:\src and the OpenZinc 1.0 located in C:\src\zinc should be:

Code: [Select]
C:\watcom\owsetenv.cmd
set include=%include%;C:\src\kermit\k95
set include=%include%;C:\src\zinc\include
set lib=C:\src\zinc\lib\ow19;%lib%
cd C:\src\kermit\dialer
wmake -h -ms -f k95dial.mak PLATFORM=OS2 MAKE="wmake -h -ms" os2

5
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 03, 2023, 01:00:52 pm »
Found a different Warp 4 VM that had Fixpak 15 applied and the SNAP graphics driver so actually had usable graphics performance and a usable resolution! Spent I don't know how long trying to get the arca package manager to work so I could maybe install git but I think it wants some tcpip update that isn't included in Fixpak 15. If that update was ever free I don't think its a rabbit hole worth going down based on past experience with OS/2 updates.

So I zipped up all the source and FTPd it into the VM with IBM WebExplorer (ugh), adjusted the k95dial.mak to do a debug build, and if I'm understanding the OpenWatcom Debugger correctly its falling over at zinc\include\ui_win.hpp:1751 though I have no idea why or whats even calling that (some zinc code?). Tried rebuilding Zinc with OpenWatcom 1.9 (which required fixing zinc\source\o_print.cpp) but that didn't help. Tried rebuilding it with the /bm (multithreaded runtime) compiler option but no change.

Not really sure where to go from here as far as the dialer is concerned. As far as I know it was last successfully built for OS/2 in November 2002 for Kermit 95 v2.1.2 using an IBM compiler and a modified version of Zinc 4.2. OS/2 support was dropped after 2.1.2 so its possible some change in Kermit 95 2.1.3 broke something. Or maybe the switch to OpenWatcom has broken something on OS/2. Or maybe some change in OpenZinc 1.0 (which is based on Zinc 4.2) has broken something on OS/2. The Zinc designer can't open dialer.dat (which contains all the GUI designs) but maybe the designer is just broken on OS/2 in some way, or there is some extra setup thats required.

Edit: Ended up merging the makefile changes over into the master branch so that if nothing else Github Actions can check that windows-related changes to the dialer don't break OS/2 any further. The issue of the OS/2 Dialer crashing on startup is now tracked by ticket #152

6
General Discussion / Re: ArcaOS on Youtube @MichaelMJD
« on: February 03, 2023, 08:37:37 am »
In that case he should have tried it on OS/2 v 2.1 and a 486 based computer.

Sorry but I can't understand those living in the past and thinking OS/2 is the past.  With that attitude it will never go forward and IBM should open it up so that others can take it forward even if they dropped it because of pressure from MS.

Correct me if I'm wrong, but isn't one of the major selling points of ArcaOS that it its a supported OS that runs your existing OS/2 apps without modification on modern hardware?

To me that's what sets it apart from "hobby" operating systems like Haiku or SerenityOS, its value proposition for companies. Protects their existing investment in OS/2 apps they wrote back in the 90s. Apps they potentially don't have source code for or would cost far too much to port to or rewrite for another platform.

7
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 03, 2023, 05:15:02 am »
For both windows and OS/2 I've just used the included libs with OpenWatcom. No DOS support should be required - it should be sufficient to just download the Engine and either the "Windows NT files" or "OS/2 files" depending on the target (windows/os2).

So i think to build the dialer *on* OS/2 with OpenWatcom 1.9, it should be sufficient to run:
Code: [Select]
set root=C:\src (where ever the full source code lives)
cd %root%
setenv.cmd
cd ..\dialer
mkos2.cmd

And assuming zinc is in %root%\zinc the include and lib path should get setup correctly. I've not tried this actually on OS/2 yet though - still need to figure out a reasonable way of getting the source into the VM. The process on Windows is pretty much identical - just .bat instead of .cmd

8
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 03, 2023, 04:25:29 am »
I've never attempted to install OpenZinc - for windows at least it was sufficient to just grab the full package (http://openzinc.com/Downloads/OZ1.zip - includes source and binaries for all platforms and compilers) and extract it into a folder named 'zinc' alongside the 'kermit' folder in the source tree (this is how the Kermit 95 2.1.3 build tree was organised), such that you have:

Code: [Select]
\kermit\k95\ckoker.mak
\kermit\dialer\k95dial.mak
\zinc\copymak.bat
\setenv.cmd

For building with OpenWatcom 1.9 for Windows that's all I've had to do. For Visual C++ I had to customise all the makefiles for each version of Visual C++ to link against the multithreaded runtime and rebuild which was annoying but seemingly nothing new - looking at the Zinc code in the Kermit 95 build tree the same was done for the commercial releases.

9
General Discussion / Re: ArcaOS on Youtube @MichaelMJD
« on: February 02, 2023, 11:07:09 pm »
As I usually don't follow links to videos I've no clue what was the video all about. Can someone who saw the video sum up what was shown there?

Seems the situation has been resolved and the video is back online if you want to watch it: https://www.youtube.com/watch?v=9vXKvku6y5A - according to twitter he will detail what happened soon

10
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 02, 2023, 11:16:47 am »
Spent a bunch of time tonight getting the Dialer to build for OS/2 with OpenWatcom 1.9 (cross-compiled from Windows). It needed a bunch of makefile changes as the makefile only knew how to build the OS/2 target with the IBM compiler. And of course there were various build errors in the OS/2 bits of the dialer which had never seen the Watcom compiler before. And there are new bat/cmd files for setting an OS/2 build of the dialer going either on windows or OS/2 (the OS/2 hosted .cmd files are at the moment untested though - my NetWare server is currently down making getting stuff on/off OS/2 a bit challenging).

So it now builds fine, warnings aside, but it doesn't run at all. I just get SYS3175 "A program generated an access violation at 00000000". I've spent a few hours looking at it and I've no idea why. I'm not very familiar with OpenWatcoms wpp386 and wlink (for windows I just use its Visual C++-compatible frontend and linker) so it may well be the problem lies there. Or some issue with runtime libraries or the OS/2 version of OpenZinc.

At any rate, the buildable (but not yet runnable) code is on this branch: https://github.com/davidrg/ckwin/tree/dialer-for-os2 (edit: changes are now on the master branch)

11
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 02, 2023, 07:03:28 am »
Yeah, Kermit 5A(191) for OS/2 is what both this and the windows version were based on originally. Its the last free version for OS/2 before it was turned into a commercial product and ported to Windows as Kermit 95. So the OS/2 and Windows versions are very closely related - a pretty big chunk of the code that was originally specific to OS/2 is also used on Windows too with #ifdef OS2ONLY or #ifdef NT differentiating between the platforms where there are API differences (#ifdef OS2 means OS/2 or Windows)

12
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 02, 2023, 02:05:53 am »
Hi David,
There isn't really a GCC cross-compiler, at least that runs on NT, it is possible to use the RSX library to run the EMX GCC 2.8.1 on Win9x but it probably wouldn't be worthwhile as it'll have the same problems.
Briefly tried compiling the dialer, my nmake wasn't happy with the makeflle and for some reason nmake32 is broken here.
There is a copy of the toolkit (sdk) here, https://github.com/bitwiseworks/os2tk45, I'd assume the headers and libs would work for cross-compiling with OW, they work fine natively. It supports both the old and new TCPIP stack.
Stack updates are described here, http://web.archive.org/web/20060926010237/http://www.warpupdates.mynetcologne.de/english/net_mpts.html, the site has lots of other info on updating, many links are broken but it gives file names to Google and IBM still has most of its updates on one of its ftp sites.

If I get time tonight I might have a look at the dialer and see if I can get it building - it already builds with OpenWatcom 1.9 for all x86 Windows newer than NT 3.10, and it previously built for OS/2 with the IBM compiler, so I can't imagine there is too much standing in the way of OpenWatcom+OS/2.

This ticket is currently tracking the state of the C-Kermit for OS/2 (Kermit/2): https://github.com/davidrg/ckwin/issues/8 - I think this pretty much covers all the regressions from the final commercial release of Kermit 95 (v2.1.2) for OS/2 that I've noticed so far in my fairly limited testing. As far as I can tell (I'll have to dig out my K95 CD sometime to check) the OS/2 version didn't have OpenSSL (#156) or SSH (#157) support back then - probably due to compiler issues. Kerberos I'm just ignoring for now - most likely C-Kermit itself (on all platforms) needs to gain Heimdal Kerberos support but I doubt there is enough demand for Kerberos-secured telnet, ftp and http at this point to make the work worthwhile.

There being no GCC that can cross-compile for OS/2 is a bit of a pain as it makes automated builds from Github that include OpenSSL and SSH for OS/2 impossible. But that's a problem for another day - fixing the remaining build issues and getting an optimised build with TCP/IP and NetBIOS that doesn't crash on startup ought to be dealt with first.

13
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 01, 2023, 09:07:07 am »
I'm impressed you got it building so quickly! Yes, that's the code for the latest beta. Github repository is here: https://github.com/davidrg/ckwin/.

Kermit 95 only had a GUI version on Windows and it was a fairly late addition at that - looking back through the old changelogs it appears to have first appeared in April 2002 with the final release of Kermit 95 less than a year later in January 2003. There is a graphical connection manager though, the dialer, which was available on OS/2 as well as Windows. That does build with OpenWatcom but I've not attempted to build it for OS/2 yet (The dialer was open-sourced after I was last working on getting the OS/2 code going again).

As far as I can tell the TCP/IP side of C-Kermit for OS/2 lives in a DLL with DLLs originally supplied for IBM TCP/IP 2.0 and 1.2, PC/TCP 1.3 and Novell LAN Workplace 3.0. This appears to be the same arrangement C-Kermit used with the last free release for OS/2, 5A(191) of mid-1995, though of course I don't have licenses for any OS/2 SDKs besides what comes with OpenWatcom which doesn't appear to be enough.

I guess next I need to look for a GCC that can cross-compile for OS/2 from Windows or Linux! And yes, I guess all this Kermit stuff probably belongs in its own thread somewhere.

14
Applications / Re: Kermit 95 / C-Kermit for Windows and OS/2
« on: February 01, 2023, 03:08:01 am »
Third option, the OpenWatcom build use the GCC compiled libssh.
Need the right compile flags on OW for the calling convention (can't use the OW specific one) and the right declarations in the libssh headers for the calling convention. Forget the specifics but it is possible.

I hadn't considered that! Don't know why though - seems a reasonable enough thing to do and I'm not statically linking either library. libssh and openssl are just written in C so no particular reason why they have to be built with the same compiler. I'll have to look into that some time!

15
Applications / Kermit 95 / C-Kermit for Windows and OS/2
« on: January 31, 2023, 11:42:35 pm »
- Kermit 95. Doesn't work, but it's now open source and modular. It could actually be interesting to (re-)port as it once supported OS/2.

I'm the maintainer of Kermit 95 - now called C-Kermit for Windows (and OS/2 I guess). Pull requests welcome :D

My main focus so far has been getting it working properly on Windows again but I have been careful not to break OS/2 support along the way so no need to re-port it. In fact, github produces OS/2 binaries cross-compiled from Windows with OpenWatcom on mostly every commit! All that's needed to get it back to where it was 20 years ago is some bug fixing (bugs probably caused by switching from some IBM compiler to OpenWatcom). Problem is I know almost nothing about OS/2 development (but I do have boxed copies of OS/2 1.3 through to Warp 4 to test on). And also Kermit 95 didn't support SSH on OS/2 AFAIK - but thats a solvable problem now that its open-source.

As far as SSH goes, libssh supposedly supports OS/2 but not OpenWatcom - possibly because OpenSSL doesn't support OpenWatcom either. So either libssh+openssl need to be ported to OpenWatcom or C-Kermit for OS/2 needs to be ported to GCC. Not sure which is easier (or even possible). If the libssh+openssl situation can be sorted out, the libssh support code in C-Kermit for Windows and OS/2 uses Win32 threading APIs so there will be a little bit of porting work there too but I expect that would be pretty easy.

Screenshot of it running on OS/2 here: https://kermitproject.org/ckwscreenshots/os2.html

Pages: [1] 2