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

Pages: 1 ... 11 12 [13] 14 15 ... 86
181
Programming / Re: Compiling a PM sample with GCC (2023)
« on: May 08, 2023, 01:56:05 pm »
Use %u instead of %p. Or, if you want hex output, use %x.

GCC suggests %lu or %lx to fix the warning, and they do. Both work fine, personally I prefer the hex output as well, the original also had hex output.
Edit: Actually I like the capitals that %lX gives.
Hard to find what the l does, from the Linux man page on sprintf()
Code: [Select]
(ell) A following integer conversion corresponds to a long int or unsigned long int argument, or a
 following n conversion corresponds to a pointer to a long int argument, or a following c conversion
corresponds to a wint_t argument, or a following s conversion corresponds to a pointer to wchar_t
argument.

"l" stands explicitely for "long" as "h" explicitely stands for "short". For a 32-bit compiler you do not need to state "l" because that's the default. Likewise, for a 16-bit compiler, you do not need to state "h" as that's the default.

182
Programming / Re: Compiling a PM sample with GCC (2023)
« on: May 07, 2023, 10:16:48 pm »
Use %u instead of %p. Or, if you want hex output, use %x.

183
Applications / Re: ANPM - libc upgrade error...?
« on: May 06, 2023, 11:15:41 pm »
Just spotted that libc has been updated, so I figured I'd give this a go.

Firing up ANPM went just fine, but attempting to update that RPM consistently results in the following error (see attachment).

...so perhaps there is some sort of a scaling logic issue here? I do recall this is one of the changes that Alex rolled out in the last ANPM release.

BTW: nothing in POPUPLOG.OS2 and no TRP files.

Here is the full call stack until point of error:
Code: [Select]
Line 5 of RescaleObject in yumie.VRM:
+++                                                           x = VRGet(object, 'Left');
*** Error 40 Incorrect call to routine
Line 47 of SW_CONFLICT_Init in yumie.VRM:
+++                                                         Call RescaleObject 'DT_CONFLICT_IGNORE', factor;
Line 3 of SW_CONFLICT_Create in yumie.VRM:
+++                                                       Call SW_CONFLICT_Init;
Line 80 of Main in yumie.VRM:
+++                                                     Call SW_CONFLICT_Create;
Line 80 of Main in yumie.VRM:
+++                                                   Interpret __vrlsEvent;
Line 4 of ConflictPopup in yumie.VRM:
+++                                               Call VRLoadSecondary 'SW_CONFLICT', 'W';
Line 29 of DLLCheck in yumie.VRM:
+++                                             action = ConflictPopup('dll');
Line 102 of SW_DOWNLOAD_Init in yumie.VRM:
+++                                       c_action = DLLCheck();
Line 3 of SW_DOWNLOAD_Create in yumie.VRM:
+++                                     Call SW_DOWNLOAD_Init;
Line 80 of Main in yumie.VRM:
+++                                   Call SW_DOWNLOAD_Create;
Line 80 of Main in yumie.VRM:
+++                                 Interpret __vrlsEvent;
Line 547 of PyDone in yumie.VRM:
+++                             Call VRLoadSecondary 'SW_DOWNLOAD', 'W';
Line 51 of Main in yumie.VRM:
+++       Call PyDone;
Line 51 of Main in yumie.VRM:
+++     Interpret _VREEvent;

Maybe this has something to do with python (at least "yumie" is a python class), but I don't know. Let's hope that Alex will chime in.

184
Networking / Re: NAT Network & Host-Only Network
« on: May 05, 2023, 07:42:08 pm »
Shouldn't it be enough to have all guests in the same NAT network (I understood that Warp 4, Win NT and Win 2000 are all guests under some host, Linux/Win10/Win11 whatever) ?

I understood that "Host only" is for direct communication between a guest and the host but not between guests.

185
Programming / Re: Compiling a PM sample with GCC (2023)
« on: May 01, 2023, 09:55:37 am »
The correct answer would likely be: almost every 16-bit application can be converted into a 32-bit application (or at least into a hybrid 32-bit/16-bit application that contains a bare minimum of 16-bit code where there is no 32-bit equivalent) but it takes time, effort and a bit of engineering judgement to do so. As you have already realized.
So, yes, if you convert it to 32-bit, it still can be helpful to achieve its initial, intended purpose.

186
Programming / Re: Compiling a PM sample with GCC (2023)
« on: May 01, 2023, 01:59:34 am »
Maybe "you think" I know OS/2 programming, but I don't. It would be awesome if someone explain me and document how to indentify quick and easly the 16bit software. Feel free to write articles and blog post about it, I can post it on the EDM/2.

You are asking, here is the answer: an application is very likely a 16-bit application if:
1) the documentation mentions that it is for OS/2 1.3
2) the DEF file uses the HEAPSIZE keyword. That is completely ignored by any 32-bit linker
3) the makefile is calling "link.exe". That is a 16-bit linker from Microsoft. A 16-bit linker cannot create 32-bit executables
4) the suspiciously frequent use of USHORT/SHORT/unsigned short/signed short variables. A 32-bit application typically uses 32-bit variables which show as ULONG/LONG/unsigned long/signed long/int (where "int" is ambiguous: it`s 16-bit for a 16-bit compiler and 32-bit for a 32-bit compiler ...)
5) a window function with a signature of (HWND hwnd,USHORT msg,MPARAM mp1,MPARAM mp2): a 32-bit window function uses (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
6) the use of the _loadds keyword in code: the _loadds keyword explicitely loads the data selector of the application's data segment into the DS register. That is completely superfluous for a 32-bit application as the program loader loads the flat selector into DS before it starts the application and the application will never ever change that selector, it is completely opaque to the application.
As you can see, gcc.exe even gets confused about this keyword which it does not even know, it thinks it's a syntax error ...

In fact, the only code that still requires 16-bit are drivers, where "drivers" include physical/storage device drivers (.SYS, .ADD, .FLT, .DMD, .OS2) and file system drivers (.IFS). That's because the main entry points into these drivers are still all 16-bit. If someone talks about a 32-bit device driver then in reality, it's a hybrid of 16-bit and 32-bit code where you need "thunking" (the process of jumping from a 16-bit code segment to a 32-bit code segment or the other way around) to call 32-bit code from 16-bit code.

187
Programming / Re: Building a Dooble RPM
« on: April 26, 2023, 12:26:03 pm »
Interesting, it installed fine here using ANPM.

I tried an install on my second machine using ANPM today. This time it runs almost fine. It installed the executable, it created the folder with the objects.
However it stated also the following error message at the end:

ERROR: wps-object: Could not create an object with ID <BWW_dooble_README_OS2> and specification "WPShadow|README_OS2|<BWW_dooble_FOLDER>|SHADOWID=D:\usr\share\doc\dooble-2023.04.20\README-os2.txt".

ERROR: wps-object: Could not create an object with ID <BWW_dooble_CHANGES_OS2> and specification "WPShadow|CHANGES_OS2|<BWW_dooble_FOLDER>|SHADOWID=D:\usr\share\doc\dooble-2023.04.20\CHANGES-os2.txt".

Rpmdb checksum is invalid: dCDPT(pkg checksums): dooble.pentium4 0:2023.04.20-1.oc00 - u

Greetings,
Mike

The error message likely wants to say that no folder with object id = <BWW_dooble_FOLDER> exists at the point in time where the shadow objects are to be created (in that folder).

Did/Does there exist a folder with object id = <BWW_dooble_FOLDER> when the Dooble RPM is installed ? If that folder is created by the Dooble RPM, is that folder created BEFORE these shadow objects are created ?

My personal experience is that it is a better choice to always newly create an object (even if it already exists) instead of updating it.

188
Programming / Re: Compiling a PM sample with GCC (2023)
« on: April 22, 2023, 09:28:38 am »
Hi

Now, I'm trying to compile VectFont
https://github.com/OS2World/DEV-SAMPLES-PM-VectFont

But checking the cnluded makefile (VECTFONT) against the makefile I did, I'm not sure if missing some source code here.

I'm attaching my build attempt and the errors on make.out. I don't care about the warnings yet, just the errors to try to compile the sample as it is includes first and later go after the warnings.

Regards

Martin, I seem to remember that the Petzold book builds one example upon the other. As Dave said, you will need to find the missing source files on the floppy disk (?) and add them to the GitHub repo.

189
Hardware / Re: AHCI and Virtualbox
« on: March 28, 2023, 07:10:42 pm »
ok, I am using Windows host. It also looked OK at the beginning. Until it blew my ArcaOS installation. Watch out.

190
Hardware / Re: AHCI and Virtualbox
« on: March 28, 2023, 07:38:32 am »
Have you updated the config.sys of the image to load OS2AHCI.ADD instead of (or in addition to) the DANIS506.ADD ?
Obviously, you will need to start Virtualbox having the OS/2 guest use IDE, update config.sys and then switch over VirtualBox to AHCI.

Yes - definitely os2ahci.add is in config.sys (in addition to danis506.add). I've even tried solely using os2ahci.add.

I might have to do a fresh install, but it would be nice not to have to try work out which rpm packages to reinstall....

EDIT: Stick to Virtualbox 6.1.40. Do NOT use anything that is newer.

191
Hardware / Re: AHCI and Virtualbox
« on: March 27, 2023, 12:28:48 pm »
Have you updated the config.sys of the image to load OS2AHCI.ADD instead of (or in addition to) the DANIS506.ADD ?
Obviously, you will need to start Virtualbox having the OS/2 guest use IDE, update config.sys and then switch over VirtualBox to AHCI.

192
Maybe, AN is now putting the emphasis on business customers, then they do not have the need for a working browser.
As a "business user" I can confirm that we definitely need a working browser.

That's good news. Then business and private customers are in the same boat.

193
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.

Maybe, AN is now putting the emphasis on business customers, then they do not have the need for a working browser.
For a business customer it is likely much more important to have their existing, custom OS/2 application run on native up-to-date HW.

194
Applications / Re: Java applications
« on: March 19, 2023, 04:33:34 pm »
https://www.onworks.net/de/software/windows/app-jlibris-ebook-reader

Hit the "App Download" button and you will be able to download the .ZIP file.

195
You always have to be careful about interpreting error codes as OS/2 can be ambigious about what exactly an error code means.
The help text displayed by help sysXXXX can consequently also be ambigious.

Error 39 = ERROR_HANDLE_DISK_FULL : "disk is full"
Error 21 = ERROR_NOT_READY: "drive not ready"

I don't know why "help sys39" returns such a misleading error explanation. There must be some OS component that, for one reason or the other, returns error ERROR_HANDLE_DISK_FULL.





Pages: 1 ... 11 12 [13] 14 15 ... 86