VOGONS


My DIY ISA Audio Interface

Topic actions

Reply 20 of 22, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
ALEKS wrote on 2025-03-26, 08:29:
The soldering appears to be of very good quality, thus you're right, it's not from there. […]
Show full quote

The soldering appears to be of very good quality, thus you're right, it's not from there.

But I have noticed that you have JP3 closed. It should be open (i.e.: no jumper set) so that the software could take control of the card. Otherwise, the card would attempt to read the EEPROM, which is empty.
That might be the issue.

Also, JP4 should probably be set, even though your BIOS might not be PnP-compatible.
Give it a try, either set or unset but JP3 must be open.

PS: The picture that I attached with the software version and revision is from the GitHub presentation page. It is indeed depicting an older version. But at home, I use the latest VER. 3.1 REV. B. The changes between revisions mostly fix minor bugs, but not the codec chip detection code.

Let me know if it works.

Cheers,
A.

I thought I'd tried doing exactly that before with no luck, but it's been a bit, so I decided to try again, this time with JP3 open and JP4 set.

Here's a screenshot of the setup I was applying to the card:

The attachment Screenshot 2025-03-27 015628.png is no longer available

I hit F10 to save, and then tried running aif -init again:

The attachment Screenshot 2025-03-27 020312.png is no longer available

It will display the first four lines of the initialization sequence, and then it sits there for over two minutes straight before it finally prints the last line to the screen. I've tried it with two separate CS4231A chips and both respond this way, so I suppose that it's possible the OPTi 82C924 is bad, but the initialization routine seems to pick that part of it up without a problem.

Purely as an experiment, I dug out a CS4248 codec chip from my parts drawers and decided to try it. I switched the options over in the setup program and re-ran the initialization routine --- and the exact same thing happened. The setup program was changed (and after exiting, I re-entered it to ensure that the configuration change persisted) and curiously, the initialization program still fails to successfully start the card.

I only noticed one other thing: At power up, LED2 will flash briefly, regardless of which chip is installed. However, it flashes much brighter with the 4248 installed, and is barely visible with the 4231. I don't necessarily think that's tied to the issue, but it's something to note in the event it becomes relevant later.

I also tried moving the CLK jumper from "internal" to "ISA" to see if it was a problem the card was having syncing to the ISA bus clock, but that didn't seem to do it either.

And curiously, regardless of what I set the configuration to, the initialization routine seems to stubbornly ignore any attempts to set it otherwise.

Reply 21 of 22, by ALEKS

User metadata
Rank Member
Rank
Member

Hi,

It's quite interesting and intriguing why your card doesn't work. I have build three of them since I first started the project, and put them in various retro PCs, but the one I use the most has a Pentium MMX CPU running at 233 MHz. I mostly use that for retro-programming and listening to MP3s (and sometimes even FLAC files) via WinAMP 2.72 (with a FLAC decoder plugin).

Maybe you could give it a try in Windows? You don't need the AIF.EXE driver for that. You can just use the VXD driver called SND924P.VXD. If you don't find them, I will make a .ZIP file from my machine and attach it on Vogons.

In the meantime, I spent some time to take a look at the 4-year -old AIF codebase, and added some improvements. I recently commited them to GitHub and produced a new executable file that you can find here:
* https://github.com/agroza/aif/blob/master/output/AIF.EXE

However, it is unlikely that the old version of AIF.EXE was faulty, but anything is possible.

Regarding the LED2 flashing, I think that is a normal behavior of the internal hardware reset circuitry of the codec chip. But the varying intensity between CSxxxx chips could suggest that either there are different initialization times (or added delays) or something else, of an electrical nature. But then again, given the LED is controlled by its own transistor, there is no point assuming one chip sources more or less current than the other one. The same for voltages, it doesn't really matter if there are slight variations to the + 5V rail.

In general, the CLK signal is best to be set to the on-card reference (for lower jitter), and not use the ISA clock source. But as an experiment, it's acceptable.
I suspect that since AIF doesn't have a chance to finalize the initialization sequence, then LED2 always stays turned off, right? And the relay never clicks.

Could there be one (or more) pins of the OPTi chip not properly soldered? I know it happened to me in the past, although I generally solder them under a heavy magnifying glass, and sometimes under the electronic microscope, and that drove me crazy. I cannot tell from the picture, but I'd re-check at least the pins circled in red.

The attachment OPTi-chip-pins.jpg is no longer available

By the way, could you set SB Sampling Rate to 22,050 Hz and SB Bit Depth to 8-bit in the Setup section?

I'd really like to get this thing sorted out so that you could use your card.

Cheers,
A.

TX486DLC / 40 MHz | 32 Mb RAM | 16-bit ISA Backplane | EXCELGRAPH ET4000/W32i 2 Mb | I/O Interface | Audio Interface | PC Speaker Driver | Signal View Interface
3.5" & 5.25" FDD | 4 x 512 Mb CF | HP 82341D Interface | Intel EtherExpress 16

Reply 22 of 22, by mbalmer

User metadata
Rank Newbie
Rank
Newbie
ALEKS wrote on 2025-04-10, 12:21:

Could there be one (or more) pins of the OPTi chip not properly soldered? I know it happened to me in the past, although I generally solder them under a heavy magnifying glass, and sometimes under the electronic microscope, and that drove me crazy. I cannot tell from the picture, but I'd re-check at least the pins circled in red.

I went back, before attempting the steps below, with a little hot plate, a mess of flux, and my soldering iron. Some of the pins that you had circled audibly snapped loose once the solder holding them down melted, so I retouched everything and then verified that all of the pins outlined in red were connected to their associated vias with a multimeter. Everything seemed good, so I moved on.

ALEKS wrote on 2025-04-10, 12:21:

Maybe you could give it a try in Windows? You don't need the AIF.EXE driver for that. You can just use the VXD driver called SND924P.VXD. If you don't find them, I will make a .ZIP file from my machine and attach it on Vogons.

While I didn't try it in Windows, I did give it a try with a generic 82C924 DOS driver and it failed to detect anything that way, so I have a sinking feeling that the 82C924 might actually be at fault here, despite your initialization program saying otherwise.

ALEKS wrote on 2025-04-10, 12:21:

In the meantime, I spent some time to take a look at the 4-year -old AIF codebase, and added some improvements. I recently commited them to GitHub and produced a new executable file that you can find here: [link]

By the way, could you set SB Sampling Rate to 22,050 Hz and SB Bit Depth to 8-bit in the Setup section?

I tried rev. C of the audio interface program and it made no difference -- it did the exact same thing, hung at the "initializing codec" step and died there. I set the sampling rate and bit depth as you specified.

The attachment Screenshot 2025-04-16 215934.png is no longer available
ALEKS wrote on 2025-04-10, 12:21:

I suspect that since AIF doesn't have a chance to finalize the initialization sequence, then LED2 always stays turned off, right? And the relay never clicks.

Correct; LED2 remains off, and the relay never clicks. I do have a few more 82C924s, so I could relatively easily pull the one on there off and replace it, but considering I got all of them from the same source (Utsource) and all of them have the same production code I'm fearful that they may all be defective in the same fashion.