TRLog
[Top] [All Lists]

DVPTSR questions

Subject: DVPTSR questions
From: w9cf@ptolemy.la.asu.edu (Kevin E. Schmidt)
Date: Sat, 28 Dec 96 19:40:54 -0700
My shack computer is a 386 with 4 megabytes of memory (i.e. 3 MB of
extended memory). It has a cheap clone sound card that emulates a
Soundblaster Pro.  Since TR supports the K1EA DVP card through the
DVPTSR code included with TR, I thought that I would use the sound card
as a crude DVK by writing an interface that partially emulates DVPTSR.

I have spent a couple of evenings on this. Here's what I have, and what
I need.

I grabbed some public domain/freeware C source code and modified it to
to record 8-bit samples with input from the microphone on the sound
card. It writes files onto the hard disk. I can make recorded
message(s) in file(s) with the TR default names (CQF1.DVP, EXF2.DVP
etc.) I find that sampling at 12048 Hz gives a good compromise between
sound quality and file size.

Next I patched together a code which reads in CQF1.DVP etc. from the
disk, copies the data to extended memory, and installs itself as a
terminate and stay resident (TSR) code more or less like dvptsr.exe.
I found a corrupted file with incomplete documentation describing the
K1EA card interface on their web page.  I used that to get started.

DVPTSR takes over interrupt hex 60, and has a shared memory area for
commands. I don't know how big the shared memory area is so I just made
it 1Kbyte and hoped that was overkill.  On start up, TR gives the TSR a
bunch of commands. I assume these are to set up K1EA card.  What I see
is mostly byte hex 42 (byte 0 being the beginning of the area)
changing.  The filenames appear as starting at byte 0. There doesn't
appear to be anything placed beyond byte hex 53.  When an interrupt hex
60 occurs, the TSR looks at the data area, and when the first byte is
nonzero, it interprets it as a file name.  I then look through the
names I have stored and, if it matches one, I output the audio to the
soundcard.

It's not pretty, but it works at a "proof of concept" level. That is I
can fire up TR, with the DVP enabled, and when I hit the function keys
I hear my recorded audio.  Several things need to be done to make this
really useable. At a minimum I need to make it stop the audio when TR
tells it to. I don't know what DVPTSR command is to stop the audio.
Right now once started it plays the file to the end.  The TSR takes
about 20K of conventional memory; that could be made smaller if
necessary. It requires 12K of extended memory per second of audio at
the 12000 Hz sampling rate.

I have the following questions:
1. Can someone tell me the structure of the shared memory area of DVPTSR, and
   the commands, or tell me where to look? I could ask the company
   that makes the K1EA board, but since I have no plans to buy one, I would
   rather not waste their time if someone else can help.
2. Has someone else already done this? I don't want to reinvent the wheel.

73, Kevin, w9cf
=-------------------------------------------------------------
Kevin Schmidt w9cf@ptolemy.la.asu.edu
Department of Physics and Astronomy
Arizona State University, Tempe, AZ 85287-1504
(602) 965-8240
(602) 965-7954 (FAX)


<Prev in Thread] Current Thread [Next in Thread>
  • DVPTSR questions, Kevin E. Schmidt <=