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 - Rich Walsh

Pages: [1] 2 3 ... 11
1
Multimedia / Re: How do I change this default behaviour?
« on: November 30, 2021, 06:58:09 am »
Here's something I vaguely remember from a FixPack readme that supposedly works for the IBM MM classes but *not* for CWMM.

You can create a dummy object of a given class and use a setup string that will set the default 'OpenAs' for the entire class. I unpacked 'mmparts.dll' and confirmed that the string is in there. Here's how to do it using 'oo' - you could use REXX instead:
Code: [Select]
oo /n MMMPG mmtest.mpg "<WP_DESKTOP>" "CLASSDEFAULTVIEW=4096;"
After the file is created on the Desktop, you can delete it.

The default view value of '4096' means "the first associated program". I have no way to test this since I have CWMM installed, so I'd be interested to know if it actually works.

2
Games / Re: DOS VDM - USB and Game port Gamepad support
« on: November 27, 2021, 09:22:43 am »
As to controller,hub,device info: I assume you are quoting what the testlog from AN returns.
For debugging purposes, David added an interface to USBD.SYS to completely query all USB devices, including hubs. Since USBD.SYS of course knows about all USB devices, including USB hubs. But USBCALLS (and USBRESMG) does not have access to that interface.

For years now, the AN version of USBRESMG/USBCALLS has offered this API:

Code: [Select]
  APIRET APIENTRY UsbQueryDeviceInfo( ULONG ulDevNumber, ULONG *pulBufLen, UCHAR *pucData);
which returns this struct:

Code: [Select]
typedef struct {
  UCHAR              ctrlID;              // (00) controller ID
  UCHAR              deviceAddress;       // (01) USB device address
  UCHAR              bConfigurationValue; // (02) USB device configuration value
  UCHAR              bInterfaceNumber;    // (03) 0 based index in interface array for this item
  UCHAR              SpeedDevice;         // (04) 0 for full speed device, 1 - low speed device  2 - high speed device
  UCHAR              portNum;             // (05) port number to which device is attached
  USHORT             parentHubIndex;      // (06) index in hub table to parent hub, -1 for root hub device
  ULONG              rmDevHandle;         // (08) Resource Manager device handle
} GETDEVINFODATA;

I thought you and David had synchronized your distros.

3
Applications / Re: Where does the program "name" come from?
« on: November 14, 2021, 07:44:00 pm »
If you want to hack the binary, do not forget to unpack it first (with lxlite), then apply your changes and finally pack it again (with lxlite).

If your only goal is to change the module name, this is totally unnecessary.

Open the file in a hex editor. At the top is the 'MZ' header (usually), followed by the 'LX' header. The very first recognizable word/string after the letters LX is the module name. In this case, the word "hello" will be immediately apparent. Change that to "vs" followed by 3 nulls, then save the file. (Note: I've seen cases where the preceeding wasn't true and the modulename was near the end of the file. That may have been done by lxlite.)

4
Applications / Re: XWP v1.0.14
« on: November 03, 2021, 11:31:37 pm »
I'm curious: any plans to enable the Xview to show DRIVE object SHADOWs in the left-hand-side TREE view pane? (I'm guessing this may be called the ICON view?)

I'm asking b/c no no such objects have every shown up in any of my Xview folders, although they do show up as an actual OBJECT in the Details pane, which is a bit counter-intuitive, since the whole point of having a drive shadow is to treat it as a traverseable hierarchy, therefore ideally suited for the left-hand-side view pane.

Short answer: No.  Long-winded answer:

First, all folder windows are 'container' windows which contain 'records' (think database record). Every WPS object has a record describing it that can be inserted into a container window so as to display it, manipulate it, etc. The window is versatile and can give you 3 different ways of looking at the data (icon/tree/details). You can insert the same record into multiple containers, but you can only insert it into any particular container once.

Next, the code that runs Tree view asks each folder it's displaying whether it has any subfolders. If so, it inserts the first subfolder's record into the container as a child - this triggers the 'plus' sign. Now, a shadow of a folder is still a shadow. It could get inserted into the tree since it's a proxy for a folder, but it doesn't have subfolders so it doesn't get a plus. The code has to be written to say "this is a shadow, so lets look at the original". If so, it might find a subfolder there, insert that and get the plus. Later, if you expanded the folder shadow, all the other subfolders would get added to the container as well. Works great, or so it seems.

The problem arises when you use that same window to navigate to the original folder whose shadow you expanded earlier. If you recall, an object can only be inserted once. Consequently, when you expand the original folder, it will have no subfolders because their records were used above as children of the shadow. Here's a demonstration: open your boot drive in tree view, then expand these folders: Desktop->Computer->Drives. Notice that your boot drive is missing from Drives - that's because it's record was already inserted at the top as the root record for this tree.

It's a zero-sum game at best, and hopelessly confusing if you don't understand the mechanics of why stuff "disappears" in tree view. I'd rather not go there. Instead, I'll see if there are any non-kludgy alternatives.

5
Applications / Re: XWP v1.0.14
« on: November 03, 2021, 10:11:38 pm »
I've installed this build on my Arca OS 5.0.2

Just after having it installed and at first reboot, the mouse moved but could not select any folder, objects
[...] At shutdown dialog, the mouse is mowing slowly

Of all the items you mention, this is the one whose relation to XWP I have to question. If you're using AMouse, I'd look at its settings in System Setup (all 27 pages of them). You might also remove its XCenter widget dll if that's installed (close XCenter to unlock the dll).

Quote
The plugin/eject button seems issuing a first wrong message at usb key plugin (no recognized followed my mounted)

If a USB MSD isn't mounted after 20 seconds, RemMedia (the USB widget) gives up. If it then got mounted, something else did so and RemM reported it. Do you also have IBM's USB monitor installed? If so, you should probably remove it from your Startup folder.

Quote
The cpu % widget  shows  -  when CPU utilisation is 0% ! (before it shows 0% hich was a good indicator the the cpu is recognized

Yes, that's exactly how it should be: it means the CPU is offline. A numeric value (0 - 100) only appears when the core is in use. You might also notice that the numbers no longer shift around every time they change. There's also a new bar-graph option. I find it tells me much more about what my 4- and 8-core machines are _really_ doing than any line graph ever could.

Quote
Often some cpus have a faulty cpu utilisation at 100% (starting firefox makes them return to normal indication) < this already existed before the update

This happens when I restart the Desktop and I don't know why. It is near the top of my to-do list because some days I restart the WPS 20+ times. My "cure" is to open IBM's CPU monitor, then under "Status" I set all cores online. Pressing OK causes ACPI to turn them off (not on) and corrects the display issue.

6
Applications / XWP v1.0.14
« on: November 01, 2021, 05:34:51 pm »
A new version of XWorkplace is now available in 7 languages in both Full and Lite editions. This is a maintenance release with updates and bug-fixes that have accumulated over the last year.

Due to an upload error, only the Lite versions are currently on hobbes. Once this is fixed, all versions will be found there. Until then, All versions can now be downloaded from hobbes or from the URLs below:

XWP Full de   en   es   it   ja   nl   ru

XWP Lite de   en   es   it   ja   nl   ru

Updates
  • XShutdown
    • Power-off options have been simplified. The ACPI/APM shutdown option has been removed since the system always uses ACPI if it is available.
    • The shutdown sound which failed to play in Lite versions has now been restored.
    • The XShutdown dialog has been updated to suppress the list of BIOS-bootable partitions when booted in UEFI mode. It should also do a better job of handling situations where the data it collects from AirBoot is corrupt.
       
  • Folder Refresh
    This feature has been completely rewritten to ensure that every filesystem update is reflected in the display within 1.5 seconds. The rewrite also fixes a bug where the code might try to delete a file that had been deleted then recreated.

  • Russian NLS
    Initial Russian language support has been provided by Yurii Zamotailo.

  • XPager
    You can now enable Windows keys to switch Desktops without having to enable arrow keys as well.

  • Menus
    Separators between menu items might be missing or doubled at times. Many of these inconsistencies have been fixed.


7
Applications / Seamonkey Data Leakage
« on: October 15, 2021, 08:03:12 pm »
It appears that Seamonkey (and possibly FF too) is leaking form data. I don't know if this has any real-world effect but it doesn't seem safe.

In SM I selected Tools->Data Manager. This displays a page that lists domains down the left side and data for that domain on the right. The domain '*' (global data) was selected, as was the tab for form data.

The data window had hundreds of entries, including my name, address, phone numbers, and login IDs. Worse, it had two of my passwords in plain text. There was also a great deal of unknown stuff from unknown domains - along with the numbers of the last 20 bugs I looked up in AN's Mantis Bugtracker.

I signed up online for several things this week and wondered why a page I'd never seen before was pre-filling my address. Now I know. I have no problem with storing this info on a domain-by-domain basis but I don't want it stored as global data available to any page. Deleting the entry has fixed the problem for now.

8
Programming / Re: redirect stdout, stderr and stdin
« on: August 10, 2021, 06:18:14 am »
it's when I want to add redirection of stdin that things stop working.

* Is your app writing to the write handle of the stdIn pipe (what I labelled 'writeIn')?

 * If the app you're talking to is line-oriented, are you ending your commands with a CR/LF?

* Is your app writing to stdIn/Out/Err (i.e. handles 0/1/2)? It shouldn't - it should use the dup'd handles in savIn/Out/Err which are all still connected to the console.

9
Programming / Re: redirect stdout, stderr and stdin
« on: July 29, 2021, 09:24:16 pm »
I've attached a sample function that should redirect stdIn/Out/Err to 3 pipes. I haven't tested it.

Note that its style is extremely simple. Until something you're unfamiliar with is actually working, optimization and excess cleverness just get in the way.

10
Programming / Re: Writing on console with WINDOWAPI
« on: July 08, 2021, 03:56:00 pm »
"featherpad 2>&1 | tee"  (using GNU tee)
or
"featherpad!s" (using Run!)

11
Applications / Re: patched PmMerge
« on: June 13, 2021, 03:08:25 pm »
I was wondering if you have heard or used NEWCALLS for OS/2 by Carsten Arnold and your opinion of this idea.  I have used it in the past with no adverse effects that I could see.

And no benefits either. This was written 20 years ago when the author was probably running a P233 with 64mb and an IDE drive. What are you running today? Likely, something that's 20+ times faster. If say, WinOS/2, used to take 7 seconds to open and nowadays it opens instantly, what are the chances that a write to 'os2.ini' still has any meaningful impact on performance?

12
Applications / Re: Replacing "Save as..." dialog (Experiment)
« on: June 02, 2021, 07:27:10 pm »
I kind of prefer the "Save as..." dialog from Qt, instead of the FOC that comes in ArcaOS.
[...]
Will it be a way to create an experimental "hack" to replace the call of the "Save as..." dialog to call the one from Qt?

Martin, do you realize that this would require large parts of Qt to be loaded into every PM process? That's probably not a good idea.

13
it seems that with the help of GPT.FLT (that can modify the IORBs passed between OS2DASD.DMD and the ADD drivers), you can also address sectors beyond the ABSOLUTE 2TB limit and that OS2AHCI.ADD has some sort of extension to use 48 bits of LBA address. Potentially what I proposed earlier on.

I didn't see your proposal so I wrote my own  :)

There are two new CommandCodes: IOCC_GEOMETRY64 (0x13) and IOCC_EXECUTE_IO64 (0x14). They signal the use of new extended IORBs, GEOMETRY64 and IORB_EXECUTEIO64. The only difference from the 32-bit IORBs is that a 64-bit field has been added at the end of the structures to hold ullTotalSectors and ullRBA, respectively. The .ADD code is unchanged except that it now looks at the CmdCode to decide whether to take the LBA from the 32-bit or 64-bit field.

Current versions of AN's 'os2ahci.add' and 'nvme.add' support this interface. It's use comes at a small cost: for requests above 2TB, GPT.FLT has to create a 64-bit version of each request before it sends it to the .ADD. Each request is less than 100 bytes, so the overhead is minimal.

BTW... IOCC_GEOMETRY64 returns the actual number of sectors on a disk - it isn't rounded down to a cylinder boundary. The call can also be used as a safe way to determine if 48/64-bit support is available.

Quote
What is the reason why OS2DASD.DMD cannot be modified? License issues?

Virtually everything above the .ADD/.FLT level is tied to 32-bit LBAs. There's just too much to change.

14
As I understand it, the GPT filter driver will split a 6 TB drive into 3 units of 2 TB each, allowing you to access a 6 TB drive as, for example, E:, F: and G:. This is different from a single drive letter with 6 TB, which is currently only possible on a network drive.
Ok, that pretty much explains it. The drive letter "logically" extends the 32 bit LBA address, providing additional upper bits for the 48 or 64 bits sent to the device to address a sector. At least, that is a good trick but it uses up valuable drive letters.

Sorry but none of this is correct.

GPT.FLT (which isn't really a filter, per se) creates a set of emulated MBR disks, one for each partition you want to mount. It then makes each GPT partition look like it is the only primary on that MBR disk. Because access to the underlying disk (which OS/2 knows nothing about) is through this MBR emulation, MBR limits of 2TB apply.

Also, because this is an emulation, LVM disk spanning (which requires additional on-disk LVM data) is impossible.

15
I don't have to worry about future hardware support or getting the right hardware.

Oh ye of little faith...

Friday afternoon I went out and bought a mass-market "Windows PC" - the kind of low-end machine OS/2 users have always avoided.  In this case, a Lenovo IdeaCentre i5 with Intel i7 (8 cores), 16gb mem, and a 512gb NVMe drive formatted GPT with Win 10 Pro ($800US incl tax). The system is pure UEFI with no BIOS or CSM support.

After setup, I changed the drive order to boot USB first, then used Windows Disk Manager to shrink the Win partition. When done, I inserted my flash drive with the latest ArcaOS beta, crossed my fingers and rebooted. The installer came right up and the installation proceeded without issue. No "drama" whatsoever. I now have a fully functioning OS/2 UEFI/GPT system running on hardware that was 100% incompatible 6 months ago. No flawed emulation needed.

Now, does the integrated WiFi/Bluetooth work? Of course not - but the ethernet does and that's all I need. Does the audio work? Not with my older Uniaud build [it does work] - but I use USB audio instead because it always works. Etc, etc... Ignoring the bits and pieces that have always been a problem, I'd say AN has delivered (or is about to deliver) on its promise of OS/2 on modern hardware.

BTW... check out WSE in a few weeks - there will be a demo of installing AOS on a Windows Linux PC.

[Full disclosure: I work for AN and am actively involved in UEFI/GPT development.]

Pages: [1] 2 3 ... 11