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 ... 85
181
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.

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

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

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

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

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

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

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

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

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

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





192
Utilities / Re: DUMPFS setup
« on: March 06, 2023, 03:08:27 pm »
Yes, that makes sense. If NVMe controllers no longer offer legacy BIOS support, then they will also not hook into the real mode BIOS hard disk interrupt (int 13h) to offer their service to read and write disk sectors (on the disks that they support).

But the initial boot process is entirely done by that legacy BIOS support until eventually the OS will tell the ADD drivers (be it DANIS506.ADD or OS2AHCI.ADD or OS2NVME.ADD) that they can take over and reprogram the HW to their liking.

And as you say: CSM is equivalent to saying "legacy BIOS".

193
Utilities / Re: DUMPFS setup
« on: March 06, 2023, 07:56:45 am »
... and on third thought, maybe most or all NVMe manufacturers finally decided to drop legacy BIOS support for their controllers (maybe that is what AN means when they are saying: dumping to NVMe managed disk only works sometimes). In that case, there is nothing that can be done or to write an OS2DUMP module that uses UEFI functionality to perform this job.

194
Utilities / Re: DUMPFS setup
« on: March 06, 2023, 07:46:17 am »
OK, thanks Dave and Lars... I was afraid it might be the NVMe drive. If ArcaOS 5.1 is ever actually released I was planning on running exclusively on NVMe, so guess I should try to set up with a RAM drive.

  Do either of you know if this is something that could be added to the NVMe driver, or is it a kernel limitation? I could raise an issue at the Arca bug tracker...

Regards,

On second thought, I think that the OS2DUMP that comes with DUMPFS is a real mode executable that uses the good old BIOS calls to write to the disk (it effectively copies contiguous memory pages to contiguous disk sectors, 8 disk sectors per memory page). I cannot see how a disk driver would be involved in this. I don't know if the OS2DUMP that comes with ArcaOS is any smarter and does a better job in finding the partition to write to.

195
Utilities / Re: DUMPFS setup
« on: March 05, 2023, 03:52:58 pm »
As an additional check just in case something went wrong: the OS2DUMP module in the root dir should have size 10525 bytes. That's the specialized OS2DUMP that it needs for DUMPFS.IFS to work.

I also checked the ability of my system to create a dump  (Os4Krnl, OS4Dump)

Dumping is ok  but  I cannot delete dump file  -  fc/2 said:
Code: [Select]
╔════════════════════════════════════╗
║ Disk write protected, cannot write ║
║          Q:\DUMPDATA.001           ║
║  [ Retry ]  [ Skip ]  [ Cancel ]   ║
╚════════════════════════════════════╝

but it seems to me that the deletion worked on earlier versions of dumpfs.ifs

I doubt that it worked before. In any case, deletion does not work but of course, copying does (from but even to the dump partition!)
Deletion does not really make sense as a subsequent dump will just completely overwrite the existing dump (without the need to reformat the partition).

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