Description:
Soundcard modem driver and utilities.
These drivers and utilities make it possible to use a standard PC soundcard
as a packet radio modem. Software implemented extensive diagnosis tools
do not need additional hardware. However, since the whole signal processing
is done on the PC processor, at least a 486 is required. The load on the
CPU is between 2% and 10% on a Pentium 75 CPU, depending on the modem.
This archive contains three classes of modules:
-
the soundcard drivers: SMSBC.EXE, SMWSS.EXE and SMWSSFDX.EXE.
-
the modem modules, currently SMAFSK12.EXE and SMFSK96.EXE.
-
the support utilities: SMMIXER.EXE und SMDIAG.EXE.
The Soundcard drivers
The soundcard drivers are implemented as FlexNet channel drivers and
need therefore be loaded before the FlexNet kernel gets activated with
FLEX.
SMSBC.EXE drives SoundBlaster and compatible soundcards. Very
old cards (SB DSP Version 1.x) are not supported, and older cards may not
support all modems. Many soundcards advertised as Soundblaster compatible
also support WSS mode, which should be preferred. A good indicator is the
presence of a chip from either Analog Devices (AD18xx) or Crystal Semiconductors
(CS42xx). The driver only supports half duplex. The hardware resources
are taken from the BLASTER environment variable and need not normally be
set via the command line.
SMSBCFDX.EXE drives SoundBlaster cards with 'DSP' version 4
(or newer) in fullduplex mode. As far as I know only the Creative cards
S16, SB32 and SB64, and mainboards with the Vibra16 chip have the required
'DSP' revision.
SMWSS.EXE drives WSS (Windows Sound System) or MSS (Microsoft
Sound System) compatible cards. This is a hardware standard and has nothing
to do with the presence of Windows drivers.
SMWSSFDX.EXE drivers WSS cards in fullduplex mode. This does
not work with all WSS cards, some cards only support one DMA channel. The
driver was tested with soundcards containig Crystal CS423x chips. It does
matter
which DMA channel is specified with which command line parameter. If the
driver does not work, please try switching the DMA channels.
Command line parameters:
smxx [-b=<iobase>] [-i=<irq>] [-d=<dma>]
-h, -? |
description of the parameters |
-b |
base address of the soundcard (WSS: default 0x530) |
-i |
the IRQ number (WSS: default 9) |
-d |
the DMA channel (WSS: default 1) |
-e |
second DMA channel (WSS: default 3)
SMWSSFDX.EXE and SMSBCFDX.EXE only |
-tc |
serial port number, on which PTT and DCD should be output (1..4). This
excludes -ts. |
-ts |
serial port address, on which PTT and DCD should be output. This excludes
-tc. |
-tl |
LPT port address, on which PTT, DCD, CON and STA should be output. |
-tp |
invert PTT output (on RTS and TxD) |
-td |
invert DCD output (on DTR) |
-m |
address of the MPU401 compatible MIDI UART. If set, it is used to output
PTT. |
PTT connection
EMM386
VDS (Virtual DMA Services) support is implemented. The driver should
be loadable into UMB memory. However they do not work under Windows. The
drivers recognize the soundcard (emulation), but the not particularly complete
DMA controller emulation prevents operation of the driver. (DMA emulation
does not support autoinit which is vital for these drivers). The drivers
do not like EMM386 and its counterparts from other manufacturers that much,
because their presence increases the interrupt latency. If you encounter
problems, please try without EMM.
The Modem Modules
Command line parameters:
The modem modules do not need any command line parameter.
The Diagnosis and Support utilities
SMMIXER
This utility may set input and output levels of the soundcard. The
set of supported parameters and ranges depends a lot on the soundcard.
Common command line parameters:
none |
if no command line parameters are given, the utility displays the settings
of each soundcard driver. |
-d |
if more than one soundcard driver is loaded, -d specifies
which one to manipulate |
WSS command line parameters:
-sl |
left input source (Line,Aux1,Mic,Dac) |
-sr |
right input source (Line,Aux1,Mic,Dac) |
-s |
input source of both channels (Line,Aux1,Mic,Dac) |
-il |
left channel input gain (0..23dB,0..46dB fuer Mic) |
-ir |
right channel input gain (0..23dB,0..46dB fuer Mic) |
-i |
input gain of both channels (0..23dB,0..46dB fuer Mic) |
-ol |
left channel output gain (-95..0dB) |
-or |
right channel output gain (-95..0dB) |
-o |
output gain of both channels (-95..0dB) |
CT1335 (SoundBlaster V2.x) command line parameters:
-o |
output gain (-46..0dB) |
CT1345 (SoundBlaster Pro) command line parameters:
-ol |
left channel output gain (-46..0dB) |
-or |
right channel output gain (-46..0dB) |
-o |
output gain of both channels (-46..0dB) |
-s |
input source (Mic,Line,CD) |
CT1745 (SoundBlaster 16, 32AWE, 64) command line parameters:
-il |
left channel input gain (-62..18dB) |
-ir |
right channel input gain (-62..18dB) |
-i |
input gain of both channels (-62..18dB) |
-ol |
left channel output gain (-62..18dB) |
-or |
right channel output gain (-62..18dB) |
-o |
output gain of both channels (-62..18dB) |
-s |
input source (Mic,Line,CD,Midi); may be specified more than once |
SMDIAG
It proved to be a rather difficult task to correctly set the audio
parameters of the SoundBlaster and WSS drivers. This utility should remedy
the situation.
This utility must be started after FlexNet with a sound card driver
is in memory and started. The sound card driver must be running, i.e. do
not forget to run FSET MODE ....
An oscilloscope like diagram of the input signal at the sound card's
input should help to adjust the audio level. The height of the trace should
be about 75% of the diagram's height. The audio parameters of the soundcard
may be set either with the utilities that were included with your sound
card or the utility SMMIXER.
An eye diagram (demodulator output) may be used to verify the filter
settings as well as to check the quality of the combination sound card/transceiver.
This utility runs only on computers with an EGA/VGA- or Hercules-compatible
graphics card.
Example load order of the drivers
FLEXNET |
loads the FlexNet Kernel module |
IF ERRORLEVEL 1 GOTO :exit |
|
SMSBC /tc:1 |
loads the SoundBlaster driver, PTT output: COM1 |
IF ERRORLEVEL 1 GOTO :exit |
|
FLEX |
activates the FlexNet Kernel |
IF ERRORLEVEL 1 GOTO :exit |
|
SMAFSK12 |
loads the 1200 Baud AFSK modem |
IF ERRORLEVEL 1 GOTO :exit |
|
FSET MODE 0 1200 |
sets the SBC driver to AFSK 1200 Baud |
SMMIXER /s:line /o:0 |
sets the output level to maximum and input to line |
GOTO :end |
|
:exit |
|
FLEX /u |
unloads FlexNet in case anything went wrong |
:end |
|
|