VOGONS


First post, by 8bitbubsy

User metadata
Rank Member
Rank
Member

I have an old Toshiba Satellite Pro 420CDT laptop with an onboard ESS688 sound card. It has Sound Blaster Pro 2.0 support.
My problem is that when I use programs that play audio at full rates (either 22.05kHz stereo or 44.1kHz mono), the actual audio rate is not correct. F.ex. when playing music in Fasttracker II or Scream Tracker 3, the BPM and audio rate is slightly lowered, and it's very noticable. If I slightly decrease the audio output rate in the programs, it's like it should be. It's also not related to the CPU being too weak for software mixing, it's something else.
Is this a known issue with the SB Pro emulation in ESS688 cards? It almost sounds like lack of bandwidth or a bug in the SB Pro emulation in the audio chip, but I sure hope it's not...

EDIT:

I recorded it:
44100Hz (too slow): https://16-bits.org/etc/ESS688/44100Hz.flac
43400Hz (correct): https://16-bits.org/etc/ESS688/43400Hz.flac

If you go higher than exactly 43478Hz (or 21739Hz in stereo), it starts to sound slow like the 44100Hz version. This is really strange!
Also heh, I just googled 43478Hz, and sure enough, this is a known limitation. Seems like this is an SB Pro limitation in general?!

386:
- CPU: 386DX-40 (128kB external L1 cache)
- RAM: 8MB (0 waitstates at 40MHz)
- VGA: Diamond SpeedSTAR VGA (ET4000AX 1MB ISA)
- Audio: SB Pro 2.0 + GUS 1MB
- ISA PS/2 mouse card + ISA USB card
- MS-DOS 6.22 + Win 3.1
- MR BIOS

Reply 1 of 2, by jxalex

User metadata
Rank Member
Rank
Member

yepp.
The samplerate exact entering was made from DSP versions 4.0 only.
Below that DSP version it is just aproximate, not exactly 44100, (see the SB software development kit how they calculate that delay).

Current project: DOS ISA soundcard with 24bit/96Khz digital I/O, SB16 compatible switchable.
newly made SB-clone ...with 24bit and AES/EBU... join in development!

Reply 2 of 2, by 8bitbubsy

User metadata
Rank Member
Rank
Member

Yep I found out in the end that it was because of approximations (I found the formula in the hardware programming manual like you said).

386:
- CPU: 386DX-40 (128kB external L1 cache)
- RAM: 8MB (0 waitstates at 40MHz)
- VGA: Diamond SpeedSTAR VGA (ET4000AX 1MB ISA)
- Audio: SB Pro 2.0 + GUS 1MB
- ISA PS/2 mouse card + ISA USB card
- MS-DOS 6.22 + Win 3.1
- MR BIOS