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] 2 3 ... 98
1
Programming / Re: native mainframe mini-clone
« on: September 22, 2025, 05:32:21 pm »
Correction: it is sysenter/sysexit that is used and not syscall/sysret.

For exactly this reason: only sysenter/sysexit are available in x32 for both, Intel and AMD. The interfacing DLL/the Syscall device driver makes no attempt whatsoever to switch from x32 to x64. Everything remains in x32 mode.

For syscall/sysret it is more complicated. I think for Intel it only works for x64 (long mode) (or was it AMD ? I cannot remember ...)

Hi Lars.

I'm not sure if you've used the wrong terminology or I'm just confused.

x32 is a target of gcc. I'm not very familiar with it, but I believe it uses x64 instructions, but 32-bit addresses. And it does the latter (as I just found out) by using 0x67 override (which isn't appropriate if you were really running in x86 mode).

So this is very different from x86, and that's why the different target exists. ie it isn't i386.

What you described above sounds like you are describing x86 (aka i386 aka 80386).

Correct. The system stays in "protected 32-bit" mode, aka x86. It does not change to long mode.

2
Programming / Re: native mainframe mini-clone
« on: September 15, 2025, 09:43:01 am »
Correction: it is sysenter/sysexit that is used and not syscall/sysret.

For exactly this reason: only sysenter/sysexit are available in x32 for both, Intel and AMD. The interfacing DLL/the Syscall device driver makes no attempt whatsoever to switch from x32 to x64. Everything remains in x32 mode.

For syscall/sysret it is more complicated. I think for Intel it only works for x64 (long mode) (or was it AMD ? I cannot remember ...)

3
Programming / Re: native mainframe mini-clone
« on: September 14, 2025, 11:25:10 am »
You might want to have a look at:

https://hobbesarchive.com/Home/Download?path=/Hobbes/pub/os2/system/drivers/misc/SysCall_3-0.wpi

That is a package that I have written to run code in Ring 0.
It comes with full source code. Which would allow you to adapt/extend it to your needs.

The idea was to have an interfacing DLL to be used by an application. That DLL will return to the caller an entry point that will allow the caller to execute user functions in Ring 0.

It uses the syscall/sysret instructions as the fastest way to enter Ring 0.

4
Setup & Installation / Re: Extremely slow Warp 4.52 installation.
« on: September 05, 2025, 01:58:01 pm »
Have you checked that (memory) caching is enabled in BIOS?
I seem to remember for old PCs that this could be turned off and on.

In general I would have a look at what the BIOS offers. There also sometimes existed something like a switch "OS Select For DRAM > 64MB" which you might need to turn OFF (weird, ain't it?).

If you have something like "cache BIOS" or "BIOS shadowing" then turn that OFF.  OS/2 does not make much use of the BIOS. Your system memory (and also memory cache) is better used for other things.

5
Hardware / Re: Soundblaster Live 1024 drivers
« on: August 22, 2025, 12:12:45 pm »
forgot: USB isochronous data transfer (that is: audio and video data streaming) might not properly work with USB 3.0.
That is at least the latest status that I know of.

6
Hardware / Re: Soundblaster Live 1024 drivers
« on: August 22, 2025, 11:06:51 am »
What I can say is that the USB audio drivers naturally support a very broad range of devices and support many more sample rates than the devices actually support in HW because they do under/oversampling in SW (right in the driver). The later was necessary to support DART as far as possible. On the other hand they obviously occupy a USB port for the device.

7
Storage / Re: USB Floppy Drive Setup.
« on: August 15, 2025, 11:23:02 am »
This of course is all ancient DOS stuff
You can either specify DOS=HIGH, UMB in config.sys in which case you can use LOADHIGH in autoexec.bat to load drivers into memory in the 640 kB to 1 MB range. Or you have to use ordinary LOAD in autoexec.bat.
Of course you have lots more of memory than 1 MB but we are talking about address space available to DOS. And its segmented nature (including a limitation to only 20 physical address lines) sets a limit of 1 MB.

8
Storage / Re: USB Floppy Drive Setup.
« on: August 15, 2025, 08:13:41 am »
in your config.sys you have DOS= LOW,NOUMB.

I doubt that you can do a LOADHIGH in autoexec.bat.

9
Applications / Re: Calculator options.
« on: August 10, 2025, 07:33:21 am »
If you use commandline, you might as well just use "rexxtry".
Or use Vrexx to present an entryfield that you read and process via REXX.

10
Utilities / Re: Executables are not assigned the proper WPS class
« on: August 08, 2025, 12:13:10 pm »
Under the WPS, for many but not all executables (that is: .EXE and .DLL files, possibly others like .ADD, .DMD etc ?), these are not assigned the proper WPS class (X)WPProgramFile. Instead, they are assigned class (X)WPDataFile.

<short answer>
This may be the result of a long-time bug in XWP that I fixed in 1.0.17.  The quick fix is to delete these files' .CLASSINFO EA then restart the Desktop.

<long answer>
WPS classes can specify which file extensions they're associated with - but WPProgramFile does not specify anything. This lets some internal WPS logic decide what class these files should be. XWPProgramFile broke this by specifying "*.COM,*.EXE", causing some binaries to be mis-classified. Manipulating the file in the WPS - for example, by opening its notebook - locked the error in place by forcing a .CLASSINFO EA to be written for that file.

AFAICT, the internal logic for binaries applies to .EXE .COM .and .DLL only. Other binaries are taken to be WPDataFiles unless they have a .TYPE EA of "Executable" (most likely put there by the linker).

So... for any binary with the wrong class (easily identified by its icon), delete its .CLASSINFO EA. For binaries that would otherwise be identified as WPDataFile, add an "Executable" .TYPE EA. For best results, keep the WPS folder containing these files closed, and work from the commandline or a GUI app to make changes, then restart the WPS.

Hi Rich,

thanks for the explanation. That also explains why this issue popped up with installing XWP 1.0.17.

I'll go and delete the .CLASSINFO EAs. I just now need to find David's specialized EA deletion tool so that I do not delete all EAs ...
Or better: I use your updated version of oo (which I already have).

One question remains: under XWP 1.0.17, I recently unzipped a file containing an executable (with a .EXE file extension). The unzipped executable still was not classfied correctly. How can that happen ? Will Unzip also unzip EAs ?

I also had a look at your change regarding XWPProgramFile::wpclsQueryInstanceFilter.

Ulrich mentions a problem when "Turbo Folders" is enabled. Maybe the code in xwppgmf.c can work around it this way:

Code: [Select]
SOM_Scope PSZ  SOMLINK xpgfM_wpclsQueryInstanceFilter(M_XWPProgramFile *somSelf)
{
    /* M_XWPProgramFileData *somThis = M_XWPProgramFileGetData(somSelf); */
    M_XWPProgramFileMethodDebug("M_XWPProgramFile","xpgfM_wpclsQueryInstanceFilter");

    if (0 == strcmpi(_somGetName(somSelf),"XWPProgramFile") /* compare the actual class name against the desired class to avoid changes on replacement class objects */
    {
#ifndef __NOICONREPLACEMENTS__
        if (cmnQuerySetting(sfIconReplacements))
            return (PSZ)G_pcszPgmFileFilter;
#endif

        return "*.COM,*.EXE";
        // the below code doesn't work: there is no wpclsQueryInstanceFilter
        // method in WPProgramFile. Apparently the WPS uses some internal hack
        // to explicitly make COM and EXE files program files, but this won't
        // work if turbo folders are enabled, so set this explicitly.
        // V0.9.16 (2001-11-25) [umoeller]
    }
    return M_XWPProgramFile_parent_M_WPProgramFile_wpclsQueryInstanceFilter(somSelf);
}

11
Utilities / Executables are not assigned the proper WPS class
« on: August 07, 2025, 08:04:34 am »
I have XWorkplace 1.0.17 installed.

Under the WPS, for many but not all executables (that is: .EXE and .DLL files, possibly others like .ADD, .DMD etc ?), these are not assigned the proper WPS class (X)WPProgramFile. Instead, they are assigned class (X)WPDataFile.

The effect is that I cannot start an executable by double clicking on it. Additionally, I cannot see the "Module" page that gives info about the executable module (XWP extension for XWPProgramFile objects).

This is true, even if these files are marked with file type "Executable" in which case I am still not able to select the (X)WPProgramFile class from the "Become" page in the settings notebook.

1) How can I fix this problem in general ? The "Workplace shell" object allows to assign applications to file types but for this case this does not help.

2) How can I manually fix this for the already existing objects that should be of WPS class "XWPProgramFile" but they are not ?


12
Applications / Re: General Software Testing
« on: August 06, 2025, 08:22:26 am »
Hello

Any idea what this software is supposed to do?

Quote
/****************************************************************************/
/* Sends messages to Desktop - OS/2 2.x                                     */
/* Instructions:  Find the modifiable section to add desktop popup          */
/* menu items and follow the comments.                                      */
/* Author:  Brian McManamon CIS - 73243,166                                 */
/* To compile this program using IBM CSET/2 - icc /B"/pmtype:pm" desktop.c  */
/* Warning:  This program is provided as is.  It has hung my desktop in     */
/* some cases becauses some messages have been lost.  This is a temporary   */
/* solution for a specific problem until the WPS development team publishes */
/* a supported solution.                                                    */
/**** Make sure all program names are present and can be found in the    ****/
/**** path before running this program or your desktop will hang.        ****/
/****************************************************************************/

In ArcaOS it starts, shows like the desktop settings and closes very fast. (Includes source code)

Regards

This program will not work on a non-english version of OS/2. It expects the desktop title to be "Desktop" but on my system it is "Arbeitsoberfläche". The proper solution would be to search for the object via the Object ID <WP_DESKTOP> (and then to open the settings view of the object) instead of trying to find the window by its window title. That makes this program rather useless.
What this program is trying to achieve (adding menu items to the context menu) is better done via WPS.

13
Applications / Re: General Software Testing
« on: August 05, 2025, 08:56:39 am »
Hello

I have no idea what is this, just says "TransIt protocol driver for OS/2" (1991-06-27)
Any idea of what is this for is welcome.

Regards

Looks like it is a utility to transfer data via serial COM1 port. It's not really a driver, it's an executable that likely makes use of the normal file API and devioctl calls.

The help is really thin:
Code: [Select]
[Z:\TRANSIT_1991-06-27]transit
transit <r[o][g]|s[t][g] {<path-name>}>
I guess "r" stands for "receive" and "s" for "send" ...
That would make it likely that you run this app on both sides of the serial connection in order to transmit a file



14
Hi Remy,

I don't know if this intentional or not but on your system "WPPngCache" class is not registered.
But it is easy enough to register via XWP by specifying "WPPngCache" as the class name and "C:\SYS\DLL\PNGDESK.DLL" as the SOM DLL containing the class.

Or had you backlevelled to 2.5.2.2 while you where dumping the class list ?

15
I suppose, the trash can is derived from WPFolder. I would hope that its settings notebook has two pages for closed and opened object. Maybe you   can reselect the icons.

Pages: [1] 2 3 ... 98