First post, by Bondi
- Rank
- Oldbie
I. There is a sound card built in IBM Thinkpad 755c laptop. It's a card based on Crystal Semiconductor CS4248 chip, it has no SB native support, requires DOS drivers - TPAUDDD.SYS, and works in DOS with it's proprietary audio playback program - PCDEMO.EXE.
It comes also with VDD (Virtual Device Driver) driver SVAUDIO.EXE, that adds some SB/Adlib/GM compatibiliy to it. Wolf3d detects SB/Adlib card if it's loaded. Some other games work as well, but only the real mode games that do not require DMA.
More info about the card in Audio sectoin here http://home.icequake.net/~nemesis/linuxlaptop … m/thinkpad755c/
II. There is the IBM PCMCIA 16-bit audio adapter (NOT the 3d sound card) that has no DOS support except for the audio software that comes with it - same PCDEMO.EXE, it requires only it's PCAUDDD.SYS driver, works without Card and Socket Services.
These two cards appear to be very similar. The PCDEMO.EXE program that comes with both cards looks identical (one is just 16 bytes bigger than the other), and both work fine with both PCMCIA and built in card, play midi as well as wav files.
So my idea was to try if the PCMCIA card can work with SVAUDIO.EXE driver to add compatibility in games.
I took a laptop without any sound built in, installed the PCMCIA card, loaded it's driver and SVAUDIO.EXE driver. It loaded fine. SVAUDIO actually checks if the card's driver is installed. And refuses to load if it's missing. So PCAUDDD.SYS (that comes with PCMCIA) was okay for SVAUDIO.
There is definitely some level of compatibility here. More to that in Wolf3d SB is detected and can be selected. But there is no sound. The game runs fine.
So briefly:
Builtin card - TPAUDDD.SYS+SVAUDIO.EXE=OK (SB detected, sound works in Wolf)
Builtin card - TPAUDDD.SYS+PCDEMO.EXE =OK
PCMCIA card - PCAUDDD.SYS+PCDEMO.EXE = OK
PCMCIA card - PCAUDDD.SYS+SVAUDIO.EXE=FAIL (SB is detected, NO sound in Wolf)
I'm now stuck at this point. There is not much I can change in this setup, only the IRQ (5,10,11,15) for the card - no effect.
I also tried loading CS and SS - nothing changes.
I don't know if it adds something, but found this mention of SVAUDIO.EXE - “emulation” drive for DOS being a full blown 386 protected mode “TSR” which then runs DOS in Virtual 8086 mode. It appears to try to trap certain memory access. It does not appear to try to trap I/O port accesses.
I'm not an expert unfortunately, so I'm not sure that it's about memory or I/O ports addressing, or anything else. Disassembling SVAUDIO.EXE is far beyound my knowledge.
Any Ideas if it's workable at all? And which direction to dig in?