[colorforth] PCI Soundcard
- Subject: [colorforth] PCI Soundcard
- From: "Alice Maroudas" <alice@xxxxxxxxxxxxxxxxxxxxx>
- Date: Sun, 14 Jul 2002 12:38:25 +0200
Trying to collect info for programming the
PCI bus to run SoundBlaster PCI soundcards
Hope this short list helps to interpret Chuck's North.blk.
Part1: ColorForth PCI registers for SoundBlaster
--------------------------------------------------------------------
The PCI registers are on Chuck's Block 46
'North ok' <> \ shows regs
'u' & 'd' <> \ scan regs Up or Down
\ to find that BIOS has configured my SB at 5800.
\ Chuck's SB was 3800. So shift the pointer
: sb 5800h dev ! ;
'sb ok' <> \ now shows my SB PCI regs
\ which are all 0000 except at:
5800 1274 = vendor ID ensoniq
5802 1371 = device ID
5804 0005 = 1+4 io+busmaster
5806 0410 = 400+10 select slow dev+list capabilities
5808 0006 = device revision no.
580a 0401 = device class - multimedia audio
580c 00 = cache size
580d 20 = latency time
580e 0000 = header type - normal
5810 a801 = PCI base address for io
582c 1274 = subsystem vendor id
582e 1371 = subsys dev id
5834 00dc = offset to first entry in capability list
583c 010a = IRP a + pin 01
5844 0000 = ?? Legacy io base - ought to be 220 ??
58dc 0001 = capability 1 - power manage ( see 5834)
58e0 0003 = ??
Part 2: Bernd Beuster's wave program for SB16
--------------------------------------------------------------------
Bernd describes this "For Soundblaster16 PnP configured by BIOS
with IO Base address=220h" ie, for a pre-PCI legacy device:
http://www.creativechips.com/pub/colorforth/
My problems are:
----------------
1. I once wrote a program like Bernd's, in a DOS
based "portable" Forth, but the DSP hung up unless SB's DOS
initializer (SBINIT) was run first. Now Bernd's program hangs
up on me likewise - but I hate to resort to a DOS package in
ColorForth. Can someone suggest an alternative?
2. Why should one have to write for a virtual Legacy
device (io base 220) when the soundcard is a real PCI
device (io base a801)? I asked the company for help, but the
answer was "lowlevel information about our PCI devices is
regarded as proprietary".
Before I change to an open-source DAC, can anyone suggest a
non-proprietary way to play Bernd's tada.wav explicitly thru the
SB PCI registers?
Nick
------------------------
To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems - List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site - http://www.colorforth.com
Wiki page http://kristopherjohnson.net/wiki/ColorForth
ColorForth index http://www.users.qwest.net/~loveall/c4index.htm