Copy Link
Add to Bookmark
Report

Atari Falcons xbios-rutiner fôr DSP:N

atari's profile picture
Published in 
atari
 · 29 Nov 2020

 ************************************************************************* 
* *
* F A L C O N S X B I O S - R U T I N E R F ô R D S P : N *
* *
* A V *
* *
* JENS KALVIK *
* *
* VERSION 0.2 *
* *
**************************************************************************


XBIOS $80 locksnd()

Denna rutin lÜser ljudet fîr andra programm. AnvÑnd bara denna rutin under
kort stund.

IN parametrar: inga
UT parametrar: 1=LÜst (Bra !) -128=Redan lÜst


4BIOS $81 unlocksnd()

Denna rutin Ñr samma som fîregÜende men lÜser istÑllet upp

IN parametrar: inga
UT parametrar: 0=Inga fel (Bra !) -129=Ljudet var inte lÜst


XBIOS $82 soundcmd(w:mode,w:data)

Denna rutin kan anvÑndas fîr att stÑlla vÑnster och hîger volym samt bas/
diskant.

IN parametrar mode:

0=LTATTEN ;till fîr att stÑlla vÑnster volym i -1.5 db-steg
1=RTATTEN ;till fîr att stÑlla hîger volym i -1.5 db-steg
2=LTGAIN ;till fîr att stÑlla vÑnster volym 1.5 db (sampl)
3=RTGAIN ;till fîr att stÑlla hîger volym 1.5 db (sampl)
4=ADDRIN ;till fîr att addera ADC och/eller Multiplexer
5=ADCINPUT ;till fîr att stÑlla in om data ska tas frÜn
;mickrofon eller ljudchipet fîr V/H kanal
6=SETPRESCALE ;till fîr att stÑlla in STE kompatibelt ljud

IN parametrar data:

0 = sÑtt data xxxx xxxx LLLL xxxx ;LLLL=volym (0-15)
1 = sÑtt data xxxx xxxx RRRR xxxx ;RRRR=volym (0-15)
2 = sÑtt data xxxx xxxx LLLL xxxx ;LLLL=volym (0-15)
3 = sÑtt data xxxx xxxx RRRR xxxx ;RRRR=volym (0-15)
4 = xxxx xxxx xxxx xxMA ;A=ADC, M=Multiplexer
5 = xxxx xxxx xxxx xxLR ;L=VÑnster kanal ("1"=ljudchipet, "2"=Mic)
;R=Hîger kanal ("1"=ljudchipet, "2"=Mic)
6 = 1=dela frekvensen med 640, 2=dela frekvensen med 320, 3=dela -
frekvensen med 160, 0=INTE BRA !!

UT parametrar: samma som data IN parametrar


XBIOS $83 setbuffer(w:reg,l:begaddr,l:endaddr)

SÑtter om buffert ska anvÑndas fîr inspelning eller uppspelning samt start-
adress och slutadress fîr samplingen.

IN parametrar

reg=0 ;SÑtt buffert fîr uppspelning
reg=1 ;SÑtt buffert fîr inspelning

beggaddr= startadress fîr sampling
endaddr= slutadress fîr sampling

UT parametrar

0= Inget fel


XBIOS $84 setsndmode(w:mode)

SÑtter vilka parametrar som ska gÑlla fîr samplingen.

IN parametrar

mode=0 ;8-bitars stereo
mode=1 ;16-bitars stereo
mode=2 ;8-bitars mono

UT parametrar:

0=Inga fel


XBIOS $85 settrack(w:playtracks,w:rectracks)

Denna funktion sÑtter hur mÜnga spÜr som skall anvÑndas vid in- och
uppspelning. Dessa spÜr Ñr i stereo. Igentligen har man alltsÜ 8 mono-spÜr.

IN parametrar:

playtracks= 0-3
rectracks= 0-3

UT parametrar:

0=Inga fel


XBIOS $86 setmontrack(w:montrack)

SÑtter vilket spÜr som skall hîras genom hîrlurarna eller den inbyggda-
hîgtalaren.

IN parametrar:

montrack=0-3

UT parametrar:

0=Inga fel


XBIOS $87 setinterrupt(w:src_inter,w:cause)

BestÑmmer vilken interrupt som skall anvÑndas vid upp- eller inspelning.

IN paramtrar:

src_inter=0 ;=Timer-A interrupt anvÑnds.
scr_inter=1 ;=MFP interrupt anvÑnds.

cause=0 ;=Ingen interrupt tillÜten.
cause=1 ;=Interrupt sker under uppspelning
cause=2 ;=Interrupt sker under inspelning
cause=3 ;=Interrupt sker vid bÜde upp- och inspelning

UT parametrar:

0=Inga fel


XBIOS $88 buffoper(w:mode)

SÑtter vilket lÑge som skall anvÑndas vid in och uppspelning. T ex spela
upp i en loop eller sampla i en loop.

IN parametrar:

mode=x x x x x x x x x x x x RR RE PR PE

RR=1 ;DMA-inspelning i loop pÜ
RE=1 ;DMA-inspelning pÜ
PR=1 ;DMA-uppspelning i loop pÜ
PE=1 ;DMA-uppspelning pÜ

mode=-1 ;Ger instÑllda vÑrden som svar

UT parametrar

0=inget fel



XBIOS $89 dsptristate(w:dspxmit,w:dsprec)

Till fîr att koppla SSI-porten till DSP:n via multiplexern vid in- eller
uppspelning. Dspxmit Ñr till fîr att skicka data via porten och dsprec Ñr
till fîr att ta emot data via porten.


IN parametrar:

dspxmit=0 ;SlÜ pÜ Tristate.
dspxmit=1 ;Fîrbindning med multiplexern.
dsprec=0 ;SlÜ pÜ Tristate.
dsprec=1 ;Fîrbindning med multiplexern.

UT parametrar:

0=Inget fel


XBIOS $8A gpio(w:mode,w:data)

Vet inte vad denna funktion anvÑnds till ??


XBIOS $8B devconnnect(w:src,w:dst,w:srcclk,w:prescale,w:protocol)

Denna funktion Ñr till fîr diverse olika instÑllningar sÜ som: vilken enhet
som skall spela eller ta emot ljudet, samplingshastighet, protokoll som ska
anvÑndas osv.

IN parametrar:

src=0 ;DMAPLAY (DMA-utdata)
src=1 ;DSPXMIT (DSP-utdata)
src=2 ;EXTINP (extern indata-kanal)
src=3 ;ADC (mic/stereo ingÜngen)

dst=0 ;DMAREC (DMA-indata)
dst=1 ;DSPREC (DSP-indata)
dst=2 ;EXTOUT (extern utdata-kanal)
dst=3 ;DAC (Hîrlur/stereo utgÜngen)

srcclk=0 ;Interna klockan pÜ 25.175 MHz (anvÑndbar fîr ADC/DAC)
srcclk=1 ;Extern klocka, anvÑndbar fîr ADC/DAC
srcclk=2 ;Interna klockan pÜ 32 MHz (inte anvÑndbar fîr ADC/DAC)

prescale=0 ;STE kompatibelt lÑge
prescale=1 ;CLK50K 49170 Hz
prescale=2 ;CLK33K 33880 Hz
prescale=3 ;CLK25K 24585 Hz
prescale=4 ;CLK20K 20770 Hz
prescale=5 ;CLK16K 16490 Hz
prescale=6 ;inte anvÑnd
prescale=7 ;CLK12K 12292 Hz
prescale=8 ;inte anvÑnd
prescale=9 ;CLK10K 9834 Hz
prescale=10 ;inte anvÑnd
prescale=11 ;CLK8K 8195 Hz
prescale=12 ;inte anvÑnd
prescale=13 ;inte anvÑnd
prescale=14 ;inte anvÑnd
prescale=15 ;inte anvÑnd

protocol=0 ;SDMA med handskakning
protocol=1 ;SDMA utan handskakning

UT parametrar:

0=inget fel


XBIOS $8C sndstatus(w:reset)

IN parametrar

reset=1 ;utfîr en reset pÜ CODEC-kretsen samt nollar L och R.

UT parametrar

reset=xxxx xxxx xxxxxLR SSSS

SSSS=0 ;inget fel har uppstÜt
SSSS=1 ;Ogiltligt kontrollfÑlt
SSSS=2 ;Ogiltligt sync-format
SSSS=3 ;Ogiltlig takt
L=1 ;Signalen i vÑnster ingÜng har varit fîr hîg
R=1 ;Signalen i hîger ingÜng har varit fîr lÜg


XBIOS $8D buffptr(l:pointer)

Till fîr att sÑtta pekaren fîr ljudbufferten (varifrÜn den skall bîrja spela
eller sampla).

IN parametrar:

pointer= ;adress till en lista fîr in- och uppspelnings adresserna

Listan ska se ut som fîljer:

LONG playbufptr ;pekaren fîr uppspelningsbufferten skall ligga hÑr
LONG recbufptr ;pekaren fîr inspelningsbufferten skall ligga hÑr

UT parametrar:

0=inget fel

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT