I have a question about Permedia 2 support. SIV reports memory clock 100 MHz for mine and core clock 90 Mhz. PowerStrip 3.90 reports 80 MHz memory clock and 53.33 MHz core clock. Reviews on the Internet mention typically 83 MHz, but there were apparently boards with 90 MHz core clock. @red-ray - can you confirm, that clocks shown by SIV for the Permedia 2 are true?
Not really, as I recall around 27-Aug-2019 I found the attached and did my best to get SIV to report it.
Do I understand it correct: the parameters are in ROM and there's no ROM Base Address, so you can't find them? FWIW, HWiNFO 6.2.2 for DOS also reports ROM Base Address as not available.
I'm not a PCI expert, but I see in the docs CFGIndirectAddress and CFGIndirectDatain the PCI Registers, and they sound like something that would allow access to Region 0 that contains the parameters, no?
I gave the Permedia 2 another try. It looks like all of these M/N/P parameters are write-only. I poked around, and their offsets never return anything. But I've seen in previous posts you already know that.
I've searched a bit and found some Permedia 2 drivers source code. The Windows driver from the DDK has the detection routine Permedia2GetClockSpeeds. It either does take the value from the registry or from the ROM. I found images of the ELSA Synergy BIOS, and they all have 50 MHz (it looks like they use BCD to encode the MHz value). I don't really know what they do there, it looks like a convoluted way to access the Permedia's ROM, not sure if SIV can do something like that.
One usable bit SIV could return is the SClk Sel from ChipConfig (070h). It basically says how Permedia's, its memory and PCI bus clock relate. In my case SClk = MClk / 2, which means the card has 100 MHz memory.
I poked around, and their offsets never return anything. But I've seen in previous posts you already know that.
And forgotten I knew! I had a quick look at the code and noted:
The Registry does not specify an override so read the chip clock speed (in MHz) from the Video ROM BIOS (offset 0xA in the BIOS)
NB. this involves changing the aperture 2 register so aperture better be completely idle or we could be in trouble; fortunately we only call this function during a mode change and expect aperture 2 (the FrameBuffer) to be idle
Given the NB I feel SIV can't safely access offset 0xA in the BIOS as it has no way to know it's idle, what do you think?
Is there a clock value in your registry?
I have lots of versions of the code on this system and it looks like they all have exactly the same HW_DEVICE_EXTENSION which contains ULONG ChipClockSpeed; + ULONG RefClockSpeed; Given this SIV could read both from the device object extension on Windows 2000 through to Windows 2003, I have no idea if this is possible on Windows 98/Me.
I just spotted as below so I suspect SIV could just read the speed from the registry, is the value there?
1 // 2 // record the final chip clock in the registry 3 // 4 5 SystemClock *= 100; 6 VideoPortSetRegistryParameters(HwDeviceExtension, 7 L"HardwareInformation.CurrentChipClockSpeed", 8 &SystemClock, 9 sizeof(ULONG));
Unfortunately, there's no value in the registry for the 98. I've forgotten, 9x uses a totally different driver than 2000 🙁
Another question. Does SIV report anywhere maximum sample rate for playback and capture of sound cards in Windows 9x? I was hoping MS System Info, DxDiag or DxCapsViewer would show me it, but no, there's no information. EDIT: Never mind, found what I was looking for in Devices/Audio Devices.
Can you check, whether the sample rates are correctly reported? SIV reports for the YMF718/YMF719 only: 11250 Hz, 22500 Hz and 44100 Hz. These cards also support 8, 16, 32 and 48 kHz. I'm attaching a screenshot from Cool Edit Pro with all the reported "modes".
It looks exactly like what Cool Edit Pro reported, and it's what I've expected. I've tested it with WAVE files with each of these sample rates and all of them worked.
I was hoping, Yamaha driver is smart enough to not report the 8/16/32/48 kHz sample rates if the card doesn't have the second oscillator (I have several YMF71x based cards with small differences in implementation), but no, instead of refusing playback it will just play the files back with wrong pitch.
No, I don't know, what function would enumerate this. But I assume you've found the right one (or at least the same that Cool Edit Pro uses). I haven't found other programs reporting this, Sandra 99 only reports the maximum frequency and in this case it's 44.1, which would match the maximum frequency SIV reports in "Audio Devices".