OS/2, eCS & ArcaOS - Technical > Applications

Running old OS/2 Software - Issues

(1/9) > >>

Martin Iturbide:
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). 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: ---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
--- End code ---


Regards

Neil Waldhauer:
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.

Dave Yeo:
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.

--- End quote ---

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.

Dave Yeo:
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: ---LINK386 :  fatal error L1104: G:\IBMCPP\LIB\cppos30.lib : not valid library

--- End code ---
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?

Lars:
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 ?

Navigation

[0] Message Index

[#] Next page

Go to full version