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 ... 92
16
Hi Lars. Dosbox is an emulator, uses SDL or SDL2 for video, sound etc to emulate a DOS environment, so nothing to do with a DOS VDM.

That is really odd. I helped Jochen to implement correct default device selection and also recording capability in SDL2. And I used the SDL2 test programs and they worked ok. Maybe that did not make it into the SDL2 provided by BWW?

From SDL2 I know that it uses DART. But that should work just fine with the USB audio drivers. At least it does here.

17
Pete, can you tell me if my proposition helped?
If not, I would have another idea but that would mean to update the drivers and I would need a "guinea pig" to test...

18
Hi Pete, as far as I know, no sound in DOS now a days, hasn't been since basically ISA days.
Does DosBox give you any other sound driver choices? If so, try them.
At least sound is now working for you, shame only on USB2, which is getting rare in computers. I know I only have USB3 on this box.
You could consider opening an issue with Arca Noae, sounds like their USB sound could be updated and who knows, perhaps USB3 could be fixed.

AN did fixes to USB isochronous audio with 12.16 (I am talking about USBXHCD.SYS). However, it seems that there is enough of a difference between for example Intel chipsets (and their USB 3.x support) and other chipsets (and their USB 3.x support) that sometimes isochronous audio (at least replay) works decently well for Intel but still won't work for those others.

Look here: https://trac.netlabs.org/usb/ticket/96

I don't think that this can be solved in USBAUDIO.SYS / USBAUD2.SYS. This is something that needs to be fixed in the USBXHCD.SYS as seemingly USB 2.x works ok (with the very same USB audio drivers). But I think USB audio has no priority for AN (an industry customer won't care for sure).

DOS box sound support: I have no clue of how audio gets passed over from DOS to the native OS/2 sound driver. It is possible that DOS will only ever use the very first sound device listed in MMPM2.INI (I am just guessing).
In that case, what you could do is change the sequence of devices in this section of MMPM2.INI:

[Drivers]
 Digitalvideo=IBMDIGVIDPLAYER01,IBMMPEGPLAYER01
 Speaker=SPEAKER
 Headphone=HEADPHONE
 Microphone=MICROPHONE
 Filter=IBMFILTER01,IBMFILTER02,IBMFILTER03
 Waveaudio=UNIAUDWAVE01,WMBWAVEUSB01,WMBWAVE2USB01
 Ampmix=UNIAUDAMPMIX01,WMBAMPMIXUSB01,WMBAMPMIX2USB01
 CDaudio=IBMCDAUDIO01,IBMCDAUDIO02
 Sequencer=

What you could try is to change that to:
[Drivers]
 Digitalvideo=IBMDIGVIDPLAYER01,IBMMPEGPLAYER01
 Speaker=SPEAKER
 Headphone=HEADPHONE
 Microphone=MICROPHONE
 Filter=IBMFILTER01,IBMFILTER02,IBMFILTER03
 Waveaudio=WMBWAVEUSB01,UNIAUDWAVE01,WMBWAVE2USB01
 Ampmix=WMBAMPMIXUSB01,UNIAUDAMPMIX01,WMBAMPMIX2USB01
 CDaudio=IBMCDAUDIO01,IBMCDAUDIO02
 Sequencer=

but as I said this is just guessing.




19
Utilities / Re: YUM Issue - Error: database disk image is malformed
« on: October 08, 2024, 07:23:06 am »
Netlabs experimental is also fixed.

20
I rebooted with the soundbar plugged into a usb2 port. Startup sound does not complete, System Setup -> Sound plays the selected sound but Volume is stuck on 100% ie lowering the volume does not lower volume of sound.

Pete

I remember that there was this sound fix that needed to be added to config.sys so that startup sounds will play. Do you have that in config.sys ?

RUN=C:\MMOS2\mmfix.exe

21
I'll prepare a new USBDRVxxx.zip. Then you can pull the audio stuff from it and replace with that.
I do not know exactly what version AN delivered.

For the time being, pull the audio stuff from this package:
https://trac.netlabs.org/usb/raw-attachment/ticket/96/usbdrv251_2024_08_04.zip

22
That setting is mostly irrelevant. AMPMXMCD.DLL (or was it USBAUDIF.DLL ?) reads it but effectively never uses it (it just uses these settings as a first/inital check if that sample rate/number of channels/data format/replay capability is supported but won't fail for good if not).

23
The audio control interface header says bcdADC = 1 so it's a class 1 device. You will need USBAUDIO.SYS.
If you post the complete MMPM2.INI I would be able to say if the install is complete. As I mentioned, not only the drivers need to be installed.
And as Rich said, you should use the "enhanced" package.
If you can hear sound at all, you should check if setting the volume works (it should). If the sound stops playing prematurely, try with a USB 2.x only port (a port connector not colored in blue) if you can find that on this PC or another. If that works without a problem, then I suspect that USB isochronous transfers do not work properly with USB 3.0 (USBXHCD.SYS).
The iso endpoint is of type "adaptive". I don't know if that's what my USB audio device uses. Ill need to check. Maybe that type needs special treatment not yet implemented.
By the way, UNIAUD and the on-board sound support have nothing to do with/no impact when using that soundbar. The audio HW is all contained in that soundbar. The audio HW itself only supports a sample rate of 48 kHz but USBAUDIO.SYS contains rate conversion to/from quite a few other standard sample rates.

24
plus, if you want, post your MMPM2.INI file.
By the way, did you regularly install the sound drivers (not just copying the driver file)? The package that I provided also installs a replacement for AUDIOIF.DLL (called USBAUDIF.DLL) and an SPI update that is matched to USBAUDIF.DLL.
Your MMPM2.INI will tell.

25
If you have lsusb.exe installed, have it dump the descriptor info (with the audio device inserted of course). That will allow to check if it is a class 1 or class 2 device.

26
Hi Rich

Hmmmm.... What "USB Adapter Wave" page? - I suspect that page only appears if a USB Audio Device is installed.


Regards

Pete

No, it appears if the USB Audio Driver is properly installed (including the necessary updates to MMPM2.INI). The MMOS2 subsystem has no way of knowing if a USB audio device is inserted or not.
But you need to activate a certain sound driver (UNIAUD or USBAUD) in order to support streaming of data to/from the devices that are attached to that driver.

27
Programming / Re: [GCC] Unable to define getMemorySize()
« on: September 30, 2024, 01:57:45 pm »
Last update: yes, getrusage is available in our libc. Compiling it - will test this binary asap and - if it works as I expect - it's going to HobbesArchive.
Mentore

Seems like our getrusage does not return any memory size information, only use of time ("ru_utime", "ru_stime").
I suspect this is not what you are looking for.
As to memory: Rich Walsh has elaborated somewhere in this forum about what the various memory sizes mean and how they play together:

https://www.os2world.com/forum/index.php/topic,3445.msg41758.html#msg41758

It would be nice if we could get that added to "getrusage".

28
Programming / Re: [GCC] Unable to define getMemorySize()
« on: September 27, 2024, 09:44:10 am »
Looks like you will have to write an OS/2 get_avail_mem_size.

Oh, that may be actual fun :) guess I'll give it a go asap.
Mentore
libc has that implemented since long. see https://github.com/bitwiseworks/libc/commit/1ee2ad15bb9db8f0a327ec6a3cf6c216d2004b8c

The libc implementation returns size in pages whereas in this case it is supposed to be returned in bytes. But of course that is easy enough to take into account.

29
Programming / Re: [GCC] Unable to define getMemorySize()
« on: September 26, 2024, 04:01:19 pm »
#if defined(_WIN32)
#undef BOOLEAN
#include <windows.h>

#elif defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__))
#include <unistd.h>
#include <sys/types.h>
#include <sys/param.h>
#if defined(BSD) && defined(HAVE_SYS_SYSCTL_H)
#include <sys/sysctl.h>
#endif
#if defined(__APPLE__) && defined(__MACH__)
#import <mach/mach.h>
#import <mach/mach_host.h>
#endif
#elif defined(__OS2__)
#define INCL_BASE
#include <os2.h>
#else
#error "Unable to define getMemorySize( ) for an unknown OS."
#endif

...
unsigned long long getAvailableMemorySize(void)
{
...
#elif defined(__OS2__)
unsigned long mem_got;
if (NO_ERROR == DosQuerySysInfo(QSV_TOTAVAILMEM,QSV_TOTAVAILMEM,&mem_got,sizeof(mem_got)))
{
    return (unsigned long long)mem_got;
}
return 0L;
...

30
If you want it or not does not matter: there will never be a 64-bit version of OS/2. Period.

Pages: 1 [2] 3 4 ... 92