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 ... 12
Programming / Re: Qt6
« on: November 15, 2022, 05:01:46 pm »
G:/qt6-os2/src/plugins/platforms/os2/main.cpp:49:1: error: Parse error at "IID"

The code in question is:
Code: [Select]
Q_OBJECT Q_PLUGIN_METADATA(IID QPlatformIntegrationFactoryInterface_iid FILE "os2.json")

'IID' identifies the datatype of "QPlatformIntegrationFactoryInterface_iid" but the compiler has no idea of what that may be because 'IID' hasn't been defined (or typedef'd).

From the context, I'd guess that 'IID' is a very fundamental type that should have been defined in a header #included by some ancestor of this class - you shouldn't have to #include it yourself. Since other platforms use this same function, maybe the definition of 'IID' was conditionally-compiled out for the OS/2 platform. Just a WAG...

Programming / Re: UEFI and GPT not developed by ArcaNoae - by whom else?
« on: November 08, 2022, 02:39:05 pm »
If I understand you correct: if it is possible to boot eCs on UEFI only it should be possible to boot an with AN Drivers updated MCP 4.52 (what is my main system) as well, shouldn't it?

If - and only if - you own a license for AOS 5.1 because you need AN's proprietary UEFI bootloader files installed in your EFI System Partition (ESP). Don't expect to use QSINIT - as I said, I believe that UEFI is AN-only.

Would you share these two lines wich have to be changed in config.sys? My guess is that one may be able to use an updated QSINIT and need the filter driver.

I described 2 very different scenarios. The one that you want to emulate requires NO changes to eCS _at all_. The other one that required config.sys changes involved a licensed 5.1 beta BIOS/MBR install that I converted to UEFI/GPT using files already part of that system (i.e. no license violations).

I wonder why these informations have not been included in the Presentation.

Either they don't want to have to deal with it (possible) or they simply don't know about it (probable).

FYI... I worked for AN for 5 years before quitting last February.

Programming / Re: UEFI and GPT not developed by ArcaNoae - by whom else?
« on: November 08, 2022, 01:05:23 pm »
I have no clue who is doing the work.

The primary developer for UEFI and GPT is Dmitry Zavalskov (Dixie), the author of QSINIT and one of the best low-level coders OS/2 has ever seen. Roderick Klein tested countless DOS games to help Dixie get the video right, while I worked with him on designing GPT and some of the boot-up "plumbing"; others at AN rearranged the deck chairs and the like. AFAIK, all of the work is proprietary to AN.

While the implementation of UEFI and GPT is really phenomonal on a functional level (I'm posting this from a UEFI-only machine with a GPT-formatted NVME disk running an AOS 5.1 beta and it all "just works"), a little perspective is needed to avoid getting too, too impressed with this accomplishment.

I'd estimate it took the equivalent of one full-time employee 2 years to implement almost everything needed. In the grand scheme of IT projects, that's small potatoes. And, out of all the subsystems that comprise OS/2, only two were changed: loader and video. Stuff like networking, DASD/LVM, PM, etc. are all unchanged.

Strangely enough, it's the fact that these changes are so limited that allows AOS to do things that I don't think are possible with any other OS. Before my old BIOS/UEFI machine died last week, I was able to boot eCS v2.2rc2 under UEFI with absolutely NO changes to the eCS installation. After it died, I xcopied my primary BIOS-based installation from the old machine to this UEFI-only machine, changed 2 lines in my config.sys, and then booted up the fully UEFI-compliant installation that I'm using now.

I missed Lewis' AOS 5.1 upgrade presentation at last weekend's Warpstock. Did he mention these as upgrade options?

Hardware / Re: Turn off Laptop Display
« on: October 21, 2022, 05:38:14 pm »
So how about any INT10h calls that do not change the resolution but actually want to write something to the screen like int 10h / AH = 0Ah or int 10h / AH = 13h ? Will these work ? Or is AN int10h support limited to only the calls that control/query the resolution ?

I did not participate in the development of the driver, so I can only comment on implementation details at the level of "informed observer". My understanding is that any call that is required to boot was implemented. So, if the kernel needs to output a string while still in real mode, the specific subfunction it uses is operational. Anything else is a no-op.

Among those no-ops is the one to change video mode. PM still issues it as always, thinks it succeeded, then adjusts other settings accordingly. The fact that it doesn't actually do anything is of no consequence because the loader has already set the mode using the exact same parameters that PM will use. True emulation: the code thinks it's doing one thing, the underlying system does something completely different, but the end result is the same so everyone is happy :)

FYI... OEMHLP has been greatly extended for UEFI to provide boot and video info that may not be available elsewhere. Refer to 'oemhelpex.h' for details.

Hardware / Re: Turn off Laptop Display
« on: October 20, 2022, 09:38:05 am »
It does raise the question of how resolutions are changed in UEFI mode. Does it depend on the hardware or does the mini driver take care of it?

When using Panorama in UEFI mode, AOS 5.1 is incapable of changing any video setting itself because it doesn't contain a bona-fide video driver - i.e. code that knows how to manipulate a video card's registers.. This "mini-driver" is a really thin BIOS emulation that returns data cached by os2ldr at boot time and (I believe) allows you to issue video commands that will be ignored. Instead, AOS uses a workaround that capitalizes on the fact that OS/2 has never been able to change resolutions on-the-fly.

When 'aosldr' starts up, it uses the UEFI firmware's boot-time services to read 'os2.ini' and determine the desired resolution / refresh rate / color depth. It then uses the firmware to set the video accordingly. Later, when it loads the OS/2 kernel, it loses access to those boot-time video services, but the video settings remain in place, unchanged and unchangable for the rest of the session.

Consequently, if turning off the display requires any sort of direct manipulation of the video card, you are S-O-L.

Applications / Re: Installing programs
« on: September 11, 2022, 06:25:36 pm »
Would you like my eCS 1.1 registration key? I no longer use any version of eCS, so the license should be transferrable.

Applications / Re: Boicot Discussion
« on: May 27, 2022, 01:38:04 am »
I took these words as your opinion and FUD against the OS4 development.

This is OUTRAGEOUS!  For anyone to make such an accusation with no basis in fact would be out of line. For you to do so - especially against someone who has done more to promote OS/2 development (e.g. Dooble) than nearly anyone - calls into question whether you are really suitable to be an os2world moderator. You should apologize immediately.

Hardware / Re: ArcaOS 5.1 UEFI support - GOP?
« on: May 24, 2022, 06:56:09 pm »
I'm curious why UEFI GOP would be of any interest unless you plan to write or run a UEFI Boot Services app. Once you enter the runtime environment (i.e. the OS/2 kernel takes over), all that remains is the GOP-created framebuffer. And that is something you can't (or at least, shouldn't) touch because it's the basis of 5.1's VESA-emulation "video driver". Lacking any code to manipulate the video hardware itself, the driver relies on the bootloader to set the video resolution and mode while in Boot Services, then uses the pre-configured framebuffer for its operations.

Programming / Re: getting a single keypress?
« on: May 21, 2022, 06:44:21 pm »
Dave, I saw your post a few days ago but was unable to respond until now. I'm glad you recognized that using select() to get a keystroke on OS/2 is just a crazy-bad idea. And, since this will never be ported back to *nix, the use of KbdCharIn() may be the simplest possible to way avoid using 'stdin' (a method I would never have thought of!).

The good news is that it allows you discard just about every other line of code in your test program. There's no need to open anything - notice that it doesn't require a file descriptor. Unless termio is required elsewhere in the app, it's totally unnecessary as well. The only question I have is whether keyboard input occurs on the same thread as 'mpg123's decode/play code. If they're on separate threads, there's no need for a pointless polling loop - just let it block until a keystroke comes in, no DosSleep() needed. The final version of 'test.exe' should require no more than 8-10 lines of actual code, mostly just to display the keystroke on the console.

Applications / Re: XWP v1.0.15
« on: February 25, 2022, 11:10:30 am »
Startup and Shutdown
    XShutdown: add "XWP_ACPIDELAY=xxx" environment variable to change the default shutdown delay of 250ms

Have you read my comment on the ticket? Have you taken my code from the branch or developed your own solution for the same problem?

Yes, this is in direct response to your ticket. If you say you need it, there's no reason you should have to compile a new version to get it. OTOH, extremely few people need anything more than the default 250ms (if that), so the option is not exposed in the GUI.

BTW... all code for v1.0.15 has been committed to the repo at Netlabs. This feature was added in revision 1452. Use "svn diff -c 1452" to get the diff.

Applications / XWP v1.0.15
« on: February 24, 2022, 11:40:25 pm »
I'm pleased to announce XWP v1.0.15ga. This is a bug-fix release for both the 'Full' and 'Lite' versions with each available in 7 NLS editions (de en es it ja nl ru).

Updates and Bugfixes:
  • Properties notebooks
    • XFolder: prevent doubled entries in the Background page's File dropdown
    • WPPgm/WPPgmFile: prevent Esc from dismissing the Language tab dialog
    • OS/2 Kernel: fix spurious error parsing ibm1s506.add commandline
  • XCenter widgets
    • Pulse widget: fix spurious 100% CPU usage after a WPS restart
    • WinList widget: refactor/simplify button positioning and drawing
  • Menus
    • XTrash: ensure the OpenAs default is correct
    • Xview: display correct whitespace menus for root folders
  • Startup and Shutdown
    • XStartup: restart automatically after fixing the order of class-replacements
    • XShutdown: add "XWP_ACPIDELAY=xxx" environment variable to change the default shutdown delay of 250ms
  • NLS: NLS-enable strings in Font Folder, the OS/2 Kernel object, and in a folder's Details dialog
Until the files have been cataloged, they should all be available from /pub/incoming. Thereafter, use these links to access all NLS editions:
N.B. The ArcaOS version of this release is anxwp-20220224-??.wpi. Contact Arca Noae for availability.

Networking / Re: USB Modem
« on: January 22, 2022, 03:39:35 am »
Does anyone have any idea if this would work?

I think the key is this line from the product datasheet:

This controller-based modem integrates powerful communications processing functions into the modem itself, for assured performance without sapping your computer’s processing power.

IOW, it sounds like it's a real modem that does the work itself instead of foisting it off on Windows.

Applications / Re: SeaMonkey downloads and Unix permissions
« on: January 11, 2022, 06:05:04 pm »
wonder if something is changing the permissions after being set where I patched? Have to experiment a bit more unless having it universally read-only is good enough.

0666 is octal - are you sure you're not entering 0x666? The compiler will recognize octal if there's a leading zero (whence '0666'). FWIW... 0666 == 0x1B6.

Louis figures 0777 is overkill.

At the point where you are assigning permissions, doesn't the code know whether this is an executable or not?

Another question is email attachments.

There are no "other questions". This is OS/2: there are no users or groups, there is no security, none of the Unix considerations apply. I can look at and modify any file on my system, regardless of what someone's alien software says., These bogus Unix permissions should reflect that.

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.

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

I thought you and David had synchronized your distros.

Pages: [1] 2 3 ... 12