105 lines
2.7 KiB
Plaintext
105 lines
2.7 KiB
Plaintext
|
Some notes on programing for the Disney Sound Source.
|
||
|
|
||
|
The Sound Source is a simple digital-to-analog sound device for the IBM PC
|
||
|
type computers. It consists of two parts, a dongel that hang off the printer
|
||
|
port and a 9 volt battery amplifier/speaker box.
|
||
|
|
||
|
Since the SS is an output only device, I have to assume that you have a
|
||
|
source of digital sounds to play back. Due to filtering on the SS, it works
|
||
|
best with sounds sampled at less than 8Khz. This limits the sound output to
|
||
|
around 4Khz, about as good as a very good phone connection.
|
||
|
|
||
|
While Disney has been less than forthcoming about information about a
|
||
|
software developers kit, writing sound output routines for the SS is fairly
|
||
|
simple.
|
||
|
|
||
|
You only have to be concerned with 3 routines.
|
||
|
|
||
|
1. SS on.
|
||
|
2. Write data to SS.
|
||
|
3. SS off.
|
||
|
|
||
|
The output rate is controlled by your program, usually by the hardware
|
||
|
timer.
|
||
|
|
||
|
|
||
|
To turn on the SS do the following:
|
||
|
|
||
|
Read PrinterPort + 2 ;ControlPort
|
||
|
Clear Bit 3
|
||
|
Write ControlPort
|
||
|
|
||
|
In ASM:
|
||
|
|
||
|
SS_ON:
|
||
|
MOV DX,37Ah ;Address of LPT1 control port
|
||
|
IN AL,DX
|
||
|
AND AL,11110111b ;Clear bit 3
|
||
|
OUT DX,AL ;Turn on SS
|
||
|
|
||
|
|
||
|
Turning the SS off is almost the same:
|
||
|
|
||
|
Read ControlPort
|
||
|
Set Bit 3
|
||
|
Write ControlPort
|
||
|
|
||
|
|
||
|
SS_OFF:
|
||
|
MOV DX,37Ah
|
||
|
IN AL,DX
|
||
|
OR AL,00001000b ;Set bit 3
|
||
|
OUT DX,AL
|
||
|
|
||
|
|
||
|
Send data like this:
|
||
|
|
||
|
Write data to PrinterPort
|
||
|
Pulse Bit 3 of ControlPort
|
||
|
|
||
|
BYTE_OUT assumes AL has the data byte to be sent to the SS and that
|
||
|
the SS is on. (Bit 3 of ControlPort is off)
|
||
|
|
||
|
BYTE_OUT:
|
||
|
MOV DX,378h ;PrinterPort
|
||
|
OUT DX,AL ;Send data to SS
|
||
|
PULSE:
|
||
|
ADD DX,2 ;Set DX to ControlPort
|
||
|
IN AL,DX
|
||
|
OR AL,00001000b ;Bit 3 on
|
||
|
OUT DX,AL
|
||
|
JMP $+2 ;short delay to settle buss
|
||
|
IN AL,DX
|
||
|
AND AL,11110111b ;Bit 3 off
|
||
|
OUT DX,AL
|
||
|
|
||
|
|
||
|
I know that these routines are fairly simple and the could be improved on.
|
||
|
A close examination of the SS electronics reveals the capacity to generate
|
||
|
interrupts, (set bits 2 and 4 of ControlPort to possibily enable ints)
|
||
|
but I haven't gotten that far yet.
|
||
|
If you have any comments, critiques, ect. I am:
|
||
|
|
||
|
Mark Phillips
|
||
|
Cserve 73167,3216
|
||
|
|
||
|
Shameless Plug Time.
|
||
|
|
||
|
Many thanks to Adrienne Cousins of VersaWare for her help with the above.
|
||
|
Get, register, and enjoy Adrienne's SPUTTER Sound System. It handles
|
||
|
Adlib, SoundBlaster, all Covox sound products, Disney SS, and the PC speaker.
|
||
|
Easy to use and fun, it's the best !!!
|
||
|
|
||
|
Search for SPUT115A, B, and C on your local BBS.
|
||
|
|
||
|
mjp
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|