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 [4] 5 6 ... 85
46
Programming / Re: Where to find Toolkit2.0 - SOM compiler .sc files....
« on: December 24, 2023, 02:18:51 pm »
I've toolkit 2.1 and probably all newer ones. Even Watcom10.6 includes some .sc files. But the project I'm working on seems to need Toolkit v2.0.

I've no clue about SOM and classes and.... but there is one .csc file in my project which constantly bothers me. There should be a way to convert this .sc file to the newer .idl form. ctoi.cmd which is included in os2tk45. But it complains about a file in toolkit21
Code: [Select]
{0}[e:\_work\pmprintf\trunk] ctoi WPSTEST.CSC
WPSTEST.CSC:
"wpobject.sc", line 440: error: Override method "somInitClass" not in base class.
"wpobject.sc", line 444: error: Override method "somNew" not in base class.
"wpobject.sc", line 448: error: Override method "somRenew" not in base class.
Number of errors: 3
error in converting WPSTEST.CSC

So I think I need toolkit20. Where can I find it? Any other ideas? Maybe I try to disable all these SOM things in pmprintf cause I guess nobody will ever use pmprintf with som classes anymore anyhow.

Why would you bother? The SOM compiler of the os2tk45 is able to generate source/header files from the old style CSC files. There is a command line switch for it.

47
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 17, 2023, 09:48:32 am »
That would mean that there is no HW that would offer the legacy VGA register set.
Can you provide PCI.EXE output for that system?
The driver checks for a VGA device on the PCI bus and should fail to load if it does not find any.

48
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 16, 2023, 08:26:01 pm »
Here it is.

49
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 15, 2023, 08:08:29 am »
I have now created a release on github.com/lerdmann/vsync/releases.

50
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 12, 2023, 11:23:10 pm »
Yes, of course. I have built it, I just need to upload to GitHub...

51
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 12, 2023, 06:09:31 pm »
I had written a device driver to sync on the VGA sync signal:
https://github.com/lerdmann/vsync

And here, it has already been discussed:
https://github.com/bitwiseworks/mozilla-os2/issues/220

It reads the VSYNC sync bit from some VGA register and blocks on it to toggle (waits for the beam to return from bottom right to top left, so to say). It is somewhat system friendly in that it will yield the CPU if the yielding flag indicates that there is some other thread waiting to be continued.

1) I have no clue if every graphics card still contains the original VGA register set
2) I have no clue how and where to integrate this into Firefox

If someone could either point me to the place in Firefox where to add this or if someone could build Firefox (of which I also have no clue) then maybe it would be worth giving it a try.

Lars

Hi Lars, finally got Firefox building again, moved computers and had to restore environment and fix the tree.
Pushed the latest to https://github.com/dryeo/mozilla-aos branch esr45.9.
The vsync stuff is scattered around thebes, such as https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/VsyncSource.cpp. The Windows implementation might be a good start, https://github.com/dryeo/mozilla-aos/blob/esr45.9/gfx/thebes/gfxWindowsPlatform.cpp#L2733

Whether using the VGA registers will work is a good question. I doubt it on a UEFI install, I haven't had any luck accessing the registers there, and it is loaded at a weird address. Might be possible to get info from Arca Noae how to access it in their VGA BIOS.
Might work on a legacy install.  The screensaver has a fall back of directly manipulating the VGA registers to put the monitor to sleep (set VSYNC/HSYNC to zero), which doesn't seem to work on recent hardware.

The driver does not use the VGA BIOS in any way. It directly accesses the legacy VGA registers.
In PCI config space, it looks for a VGA compatible device when it loads and if it cannot find one, it outputs an error message and aborts. Maybe that is the way to test ...

52
Comments, Suggestions & Questions / Re: os2world website script problem?
« on: December 08, 2023, 08:05:52 am »
I had written a device driver to sync on the VGA sync signal:
https://github.com/lerdmann/vsync

And here, it has already been discussed:
https://github.com/bitwiseworks/mozilla-os2/issues/220

It reads the VSYNC sync bit from some VGA register and blocks on it to toggle (waits for the beam to return from bottom right to top left, so to say). It is somewhat system friendly in that it will yield the CPU if the yielding flag indicates that there is some other thread waiting to be continued.

1) I have no clue if every graphics card still contains the original VGA register set
2) I have no clue how and where to integrate this into Firefox

If someone could either point me to the place in Firefox where to add this or if someone could build Firefox (of which I also have no clue) then maybe it would be worth giving it a try.

Lars

53
Utilities / Re: touch?
« on: November 26, 2023, 11:44:30 pm »
echo. >newfile.txt

54
Setup & Installation / Re: ArcaOS Sluggishness
« on: November 05, 2023, 08:20:14 am »
Why do you call this an 'issue'?
Fact is, OS/2 as a 32-bit OS can only deal with 32-bit physical addresses. What this BIOS option ensures (if disabled) is that only address ranges in the lower 4GB physical address region are assigned to any PCI card that needs a memory address range for its operation (even for those cards that themselves can deal with 64-bit physical addresses, the upper 32-bit are then assumed to be 0).
And then, OS/2 can work together with this PCI card.

55
Hardware / Re: Connexant cx31993 and USB3 stack
« on: November 04, 2023, 10:31:32 am »
Hi David,

so, then we are already two people that experience this problem with FAT32 formatted drives. By the way, it does not hang indefinitely, you just need to wait around 30 seconds or so.
I know AN does not want to hear it but it's a problem with the FAT32 IFS that they are delivering. I do not have this problem with the latest FAT32 from Netlabs.

56
Hardware / Re: Connexant cx31993 and USB3 stack
« on: November 03, 2023, 10:37:05 pm »
Hallo Mikhail,

I was referring to David's post and that related to a general problem regarding any sound driver because there is a general problem with streaming audio data when the WPS comes into play. In your case, the USBXHCD.SYS driver is causing the problem or its interaction with the audio client drivers (USBAUDIO.SYS and/or USBAUD2.SYS).

57
Hardware / Re: Connexant cx31993 and USB3 stack
« on: November 02, 2023, 08:34:09 am »
As far as I remember the SIQ problem was fixed years ago, so that should not be the problem. But there are enough deficiencies in the WPS that lead to the effect you describe. And I have the suspicion that it relates to the introduction of SMP. What you can do as a test is to reduce to one core by using the /MAXCPU=1 switch of ACPI.PSD and see if that improves things. If it improves things, then my suspicion would prove to be correct.

58
Hardware / Re: Connexant cx31993 and USB3 stack
« on: November 01, 2023, 10:56:37 am »
1) I have now installed PM123_1-43.exe. Don`t know where I got it from and if it is the latest version (looks like I got it from Hobbes)
2) I plugged in a USB audio class 1.0 device (I DO NOT mean a USB 1.x device), I switched the default audio device to the USB audio class 1.0 driver
3) I played an audio cd: that worked right away, no oddities, volume control works
4) I then loaded an .MP3 file: plays just fine, no hiccups, no hops backwards, whatever, volume control works, either with the global volume control or with the enabled PM123 equalizer pre-amp volume control
5) selected an ADPCM encoded .WAV file: plays just fine (but only if you have USBWAV installed because that transforms from ADPCM to PCM via the MMOS2 supplied filter functionality), global volume control works, PM123 equalizer pre-amp control also works
6) I then selected a PCM encoded .WAV file: plays just fine, volume control works either way

When I play a sound, no matter what sound material, things get problematic if you use the WPS to open a USB drive or if you use NDFS to access an FTP folder via the WPS while the replay takes place. As I mentioned already, the WPS is such a lousy piece of SW (at least in conjunction with SMP, I remember that the problems with the WPS were only minor for as long as we all possessed single-core CPUs) that it will massively block various threads in the system, seemingly also the threads that DART and/or the MMOS2 streaming manager create to manage the sound replay (feed audio data to the device driver, issue user callbacks to receive events to feed more data to the MMOS2 subsystem).
So, if you want to listen to music on an OS/2 system, do not touch and use the system while listening.

I you could provide me with a sound file that leads to what you are describing, feel free to attach them here and I will give it a try.

Under OS/2, I do not use USB 3.x (that is, I do have USB 3.x hardware but I have no USB driver loaded to support it). All USB audio devices, regardless if class 1 (USBAUDIO.SYS) or class 2 (USBAUD2.SYS) only use USB 1.x or USB 2.x. I think the ONLY USB HW that profits from USB 3.x is Flash memory sticks/HDDs and maybe USB network devices (the latter not being supported by OS/2 anyway, except for a few).
Therefore, as a test, I suggest that you comment out USBXHCD.SYS in your config.sys UNLESS you have USB 3.x only ports. In the latter case you are out of luck and would need to buy a USB 2.x plug-in PCI card and plug your USB audio device into that.

59
Utilities / Re: How to change several files "Class Type" in one shot
« on: October 29, 2023, 12:45:13 pm »
Per coincidence I found the following: if you use EAUTIL.EXE to strip a file of all of its EAs, then, the object will automatically revert back to the most specialized class there exists when the object is again displayed in a folder.

To strip EAs of all .ICO files, do something like this: for %F in (*.ico) do @eautil.exe %F NUL /S

There is a drawback to this: because ALL EAs of a file are stripped in this way, so is the .LONGNAME EA which is the EA holding an objects long name/title.

So, the easiest thing would be to write a tool that strips a file of all its EAs except for the .LONGNAME EA (or equivalently, one that saves the .LONGNAME EA, strips off all EAs and restores the .LONGNAME EA).

60
Programming / Re: shared memory value - Odin win32k or DosQuerySysInfo???
« on: October 27, 2023, 05:00:01 pm »
running your monitor and comparing it's output to the likes of 'Free Shared Mem' util, or Alex's 'mem', I am not quite seeing the same numbers.

First off, my apologies. A dumb arithmetic error gave you 512mb more high memory than you actually have. The attached 'memry07.zip' fixes the error.

Quote
This is pretty neat stuff. I have been dreaming of building a GUI "browser" that basically visually maps the current memory utilization, goal being: make it human digestable!!!

That's been my goal as well which is why I've spent the last few days working on my "memap" XCenter widget. Below are some screenshots: the widget at its default size (nice and small), the widget expanded for greater visibility, and the widget showing its details window. Since you may want to monitor the details as you open and close stuff, I've made the details window movable so you move it elsewhere to keep it from getting covered. Note that this is a work-in-progress and subject to change (in particular, the details window).

BTW... the scaling for high and low memory differs. For low memory (bottom line) each box represents 64k. For high mem (top line) each box is total_high_mem / 8. Because I have 2gb of high mem, each box is 256mb; if you have 1gb, each box would be 128k.

Edit: added a screenshot of an alternate layout for the Details window. Which one is better?

From a graphical point of view I would think this would be more obvious:

Code: [Select]
Private:                  Low             High
   Used:                 xxx Bytes     xxx Bytes
   Unused:               xxx Bytes     xxx Bytes
Shared:
   Unused:               xxx Bytes     xxx Bytes
   Used:                 xxx Bytes     xxx Bytes

because that is effectively how the memory layout looks like.

Pages: 1 2 3 [4] 5 6 ... 85