OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: Martin Iturbide on September 13, 2021, 06:29:48 pm

Title: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 13, 2021, 06:29:48 pm
Hi

Since I'm reorganizing hobbes I'm also enjoying myself by trying to run some old OS/2 software.
I want to request for some help and I want to use this thread for some old OS/2 software that does not run on today's ArcaOS.

My first one is:

1) Present!  (1992-04-09) (https://hobbes.nmsu.edu/download/pub/os2/apps/graphics/animate/present.zip). A presentation software, maybe like some basic PowerPoint or Freelance. (source code available)

It loads and stops. It gives this error on the log.
Code: [Select]
09-13-2021  11:24:27  SYS3171  PID 00b3  TID 0001  Slot 009f
C:\HOME\DOWNLOADS\PRESENT\PRESENT.EXE
c0000005
1fc5b24d
P1=00000002  P2=0005ffa4  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=1a2a7cfc  EBX=1f040001  ECX=00060378  EDX=00000001
ESI=0100001d  EDI=00405037 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:1fc5b24d  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0005ffa8  SSACC=d0f3  SSLIM=5fffffff
EBP=000604e0  FLG=00010202

PMMERGE.DLL 0004:0012b24d


Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Neil Waldhauer on September 14, 2021, 03:30:19 pm
I think any software from 1992 is 16-bit. Now it ought to run, but two things happened to Presentation Manager since 1992. First, the PMMERGE. I don't remember what the two libraries were that merged, but likely the software is linked against the old libraries. Running in the debugger might help.

The second change was between Warp 3 and Warp 4. I think changes made you initialize a PM program differently. It's a minor change, but without, there might well be a crash in PMMERGE. That's still a change that might be monitored in the debugger.
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 15, 2021, 12:39:22 am
I had a quick look at the package. The readme does say,
Quote
The current version is a simple port from my OS/2 1.3 version that I wrote
two years ago.

So I assume the author ported it to 32 bit OS/2 v2.  Possibly a simple recompile would fix it or show where the error is.
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 15, 2021, 07:07:45 am
Trying to compile with VACPP v3.08, I see it wants an unknown library, OPENDLG.LIB, which I nor Google have never heard off. Removing it results in this error,
Code: [Select]
LINK386 :  fatal error L1104: G:\IBMCPP\LIB\cppos30.lib : not valid library
Which I don't understand as cppos30.lib seems to be a valid import library. Seems that is the runtime and there should be a way to statically link it instead of depending on a runtime DLL. Anyone know the recipe?
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 15, 2021, 03:10:02 pm
1) I suspect that OPENDLG.LIB was a library that was necessary to build a OS/2 version 1.3 PM application. Of course, the question is, why is it still listed in the makefile ? Maybe that was an omission to remove it.

2) I suspect that problem with CPPOS30.LIB is that it follows a newer OMF library format than what LINK386 understands. The easiest thing is to replace "link386" with "ilink /NOFREE". /NOFREE will force ilink to follow the same command line syntax as LINK386 but it will be able to link to CPPOS30.LIB.
In any case, it is not wrong to link to the RTL dynamically (but it might be a better idea to link against CPPOM30.LIB, that is, specify /GM+ as compiler switch: link multi-threaded).

David, can you post the makefile as you have corrected it ?
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 15, 2021, 03:13:27 pm
I see it wants an unknown library, OPENDLG.LIB,
Hi

I found some other OSS projects that makes reference to OPENDLG.LIB on github
- https://github.com/search?q=org%3AOS2World+opendlg.lib&type=code (https://github.com/search?q=org%3AOS2World+opendlg.lib&type=code)

I also found that FileDLG (https://www.os2world.com/wiki/index.php/FileDLG) also makes a reference that it used to be called OPENDLG, but not sure if it is the same thing.

But I still can not find the missing OPENDLG.LIB

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 15, 2021, 04:52:49 pm
1) I suspect that OPENDLG.LIB was a library that was necessary to build a OS/2 version 1.3 PM application. Of course, the question is, why is it still listed in the makefile ? Maybe that was an omission to remove it.

2) I suspect that problem with CPPOS30.LIB is that it follows a newer OMF library format than what LINK386 understands. The easiest thing is to replace "link386" with "ilink /NOFREE". /NOFREE will force ilink to follow the same command line syntax as LINK386 but it will be able to link to CPPOS30.LIB.
In any case, it is not wrong to link to the RTL dynamically (but it might be a better idea to link against CPPOM30.LIB, that is, specify /GM+ as compiler switch: link multi-threaded).

David, can you post the makefile as you have corrected it ?

OK, the "ilink /NOFREE" fixed the linking and produced a working present.exe. Thanks
Code: [Select]
# IBM Developer's Workframe/2 Make File Creation run at 12:29:23 on 04/08/92

# Make File Creation run in directory:
#   E:\C\SHEET;

.SUFFIXES:

.SUFFIXES: .c .rc

ALL: PRESENT.EXE \
     PRESENT.RES

PRESENT.EXE:  \
  PRESENT.OBJ \
  PRESENT.RES \
  PRESFONT.OBJ \
  MAKEFILE
   @REM @<<PRESENT.@0
     PRESENT.OBJ +
     PRESFONT.OBJ
     PRESENT.EXE
     
<<
   ILINK.EXE /NOFREE /PMTYPE:PM @PRESENT.@0
   RC PRESENT.RES PRESENT.EXE

{.}.rc.res:
   RC -r .\$*.RC

{.}.c.obj:
   ICC.EXE /c /I. /Ss .\$*.c

!include MAKEFILE.DEP

Here's the working exe.
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 15, 2021, 07:03:16 pm
Thanks Dave. It is working.

I'm packaging the exe and makefile on the zip file and I will upload it to hobbes.
I'm moving it to "/pub/os2/apps/graphics/presentation" since it seems it not for making animations :)

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 16, 2021, 01:22:46 am
Might want to see if Lars has any suggestions about the CFLAGS such as using the multi-thread library.
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 16, 2021, 12:15:38 pm
What I normally use is this:
/Ge+ (when building an Exe)
/Gm+ (using the multi threaded libs, see following explanation)
/Gd+ (linking the RTL dynamically and therefore cut down on Exe size)

If you use these switches, the final step that you can do is to replace the name of the multi threaded RTL with one that comes as part of every OS/2 installation.
On the created Exe, run this:
Code: [Select]
dllrname.exe present.exe CPPOM30=OS2OM30
Of course, you could add this to the makefile.

That will replace all references to CPPOM30.DLL with OS2OM30.DLL which is always present in OS2/DLL directory.

I am talking about VAC 3.0 and not VAC 3.65 or VAC 4.0.
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 16, 2021, 04:51:12 pm
OK, that made the compiler dislike C++ type comments :) After fixing and adding a missing include, seems to work.
I'll package it after work and post the fixed package.
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 16, 2021, 05:28:11 pm
Packaged version with updated makefile and minor changes (comments and an added include) to make the compiler happy.
Title: Re: Running old OS/2 Software - Issues
Post by: Mike La Martina on September 17, 2021, 12:13:23 am
I have attached opendlg.lib from th V1.3 toolkit.
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 17, 2021, 01:25:50 am
OK, that made the compiler dislike C++ type comments :) After fixing and adding a missing include, seems to work.
I'll package it after work and post the fixed package.
The /Ss switch did the trick. That allows C++ comments in C code. I did not say to remove that 😂
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 17, 2021, 01:26:58 am
I have attached opendlg.lib from th V1.3 toolkit.
That is no longer needed for 32- bit code.
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 17, 2021, 04:37:47 pm
I have attached opendlg.lib from th V1.3 toolkit.

Hi Mike.
Even that it seems that not be needed right now, thanks for letting me know that it is from the 1.3 Toolkit. I think  I would need to list what it is included on the 1.3 toolkit (Libs, tools, etc) on the EDM/2 someday, so at least it will be searchable on the internet for someone else having problems with this old Libs on old source code.

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 17, 2021, 06:46:40 pm
Hi

I found this other software that does not run.
tafeld08.zip (https://hobbes.nmsu.edu/download/pub/os2/apps/misc/tafeld08.zip). (1996-04-03)
No source code, just binaries. It seems all DLLs are available (I checked the EXE and DLL with PMDLL).

I get this error:
Code: [Select]
09-17-2021  11:39:24  SYS3175  PID 01db  TID 0001  Slot 008f
C:\HOME\DOWNLOADS\TAFELD08\TAFELED.EXE
c0000005
00064c2d
P1=00000001  P2=00000000  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=00000000  EBX=000c031c  ECX=000c031c  EDX=00001000
ESI=000c03f0  EDI=00001000 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:00064c2d  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:000c0238  SSACC=d0f3  SSLIM=5fffffff
EBP=000c03c0  FLG=00010202

TAFELED.EXE 0001:00054c2d

Since we don't have source code of it, I don't know if something can be done to make it run.

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: TeLLie on September 17, 2021, 07:48:25 pm
Hi Martin,
I unzip it and run it, its starting up without a error..
I use Arcanoae
Title: Re: Running old OS/2 Software - Issues
Post by: Dave Yeo on September 17, 2021, 10:51:19 pm
Hi Martin,
I unzip it and run it, its starting up without a error..
I use Arcanoae

Same result here, runs fine after unzipping. Did you run the install script?
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 18, 2021, 02:12:08 pm
Thanks guys. I will check it out on a different machine, or I will refresh the VM I'm using just to be sure about it.
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 26, 2021, 07:14:55 pm
Hi
I have an issue with the Lotus FreeLance demo (Freelan1, 2, 3, 4, 5 (https://hobbes.nmsu.edu/?search=freelan&stype=any&sort=type_name&dir=%2F)).

I tried to unzip all 5 files in a single director and run install. The install procedure works, until it is left blank and it locks there. (check picture).

Does anybody has a suggestion on how to fix that? Or is that an issue that had happened before with the installer?

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 26, 2021, 08:13:21 pm
Drive C: needs to be accessible to create temporary files.
If not you will need to specify EPF INSTALLDIR ( or was it EPFTEMPDIR ?) to specify a dedicated directory.
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 27, 2021, 12:41:41 am
Hi Lars

On the VM I'm trying it, OS/2 is installed on the C: drive, and I'm running it from a directory on the desktop called Freelan1. So, I guess it have access to create temp files on the C: drive.

I had never specified a "EPF INSTALLDIR", is that something you have to set where?

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Lars on September 27, 2021, 04:41:25 am
Then, there is another problem.
You set it as an environment variable before you start the installation.
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on September 27, 2021, 06:02:22 pm
Then, there is another problem.
You set it as an environment variable before you start the installation.

Hi Lars.
I didn't set it on the command line, I didn't have anything related to "EPF INSTALLDIR" on the config.sys. The only option related to the environment variable is that it may be changed by the Lotus installer when I run it, but I don't see any prof of that.

Regards
Title: Re: Running old OS/2 Software - Issues
Post by: Wendy Krieger on October 08, 2021, 01:54:20 pm
The lotus installer is a bit picky about what file system etc it installs from.

I installed SmartSuite and Amipro from a local directory (c:\setup\ss173 and c:\setup\amipro), and from a cdrom image I made with mkisofs under Vista 6.1, it did not complain about either.  The next test is to poke the suit.ri file into the directory before installing it. (This is the registration information data, made by install if not present).
Title: Re: Running old OS/2 Software - Issues
Post by: Martin Iturbide on October 08, 2021, 05:10:39 pm
Hi

I also have these two programs that I was now able to run:
- 1) EthosPeripheralEvolution_1995-08-31.zip (https://hobbes.nmsu.edu/download/pub/os2/apps/mmedia/misc/EthosPeripheralEvolution_1995-08-31.zip)
No error message are provided.

- 2) FRACTINT_17-2.zip (https://hobbes.nmsu.edu/download/pub/os2/apps/graphics/fractal/FRACTINT_17-2.zip)
POPUPLOG
Code: [Select]
10-08-2021  10:07:25  SYS3175  PID 0046  TID 0001  Slot 00aa
X:\HOME\DOWNLOADS\FRACTINT_17-2\PMFRACT.EXE
c0000005
000121d8
P1=00000002  P2=0008f000  P3=XXXXXXXX  P4=XXXXXXXX 
EAX=0008f000  EBX=0056d928  ECX=00007646  EDX=0073cb31
ESI=00000000  EDI=1b318518 
DS=0053  DSACC=d0f3  DSLIM=5fffffff 
ES=0053  ESACC=d0f3  ESLIM=5fffffff 
FS=150b  FSACC=00f3  FSLIM=00000030
GS=0000  GSACC=****  GSLIM=********
CS:EIP=005b:000121d8  CSACC=d0df  CSLIM=5fffffff
SS:ESP=0053:0008dd58  SSACC=d0f3  SSLIM=5fffffff
EBP=0008dd9c  FLG=00010283

PMFRACT.EXE 0001:000021d8


Regards