115 lines
3.6 KiB
Plaintext
115 lines
3.6 KiB
Plaintext
{{ ---------------------------------------------------------------------------------------------------------
|
|
|
|
Hive-Computer-Projekt
|
|
|
|
Name : Vectron-Demo 1
|
|
Chip : Regnatix-Code
|
|
Version : 0.1
|
|
Dateien : vecdem1.spin
|
|
|
|
Beschreibung :
|
|
|
|
Eigenschaften :
|
|
|
|
Logbuch :
|
|
|
|
Kommandoliste:
|
|
|
|
--------------------------------------------------------------------------------------------------------- }}
|
|
|
|
OBJ
|
|
ios: "ios"
|
|
|
|
CON
|
|
|
|
_CLKMODE = XTAL1 + PLL16X
|
|
_XINFREQ = 5_000_000
|
|
|
|
OS_TIBLEN = 64 'größe des inputbuffers
|
|
|
|
VAR
|
|
'systemvariablen
|
|
byte tib[OS_TIBLEN] 'tastatur-input-buffer
|
|
byte cmdstr[OS_TIBLEN] 'kommandostring für interpreter
|
|
byte parastr[OS_TIBLEN] 'parameterstring für interpreter
|
|
byte tibpos 'aktuelle position im tib
|
|
|
|
long lcnt 'zeiger für dateiliste
|
|
byte fn[12] 'puffer für dateinamen
|
|
|
|
PUB main | wflag
|
|
|
|
wflag := ios.start 'ios initialisieren
|
|
|
|
'muß auskommentiert werden für bin-datei
|
|
'ios.startram 'testcode für ramupload
|
|
|
|
ios.breset 'bellatrix neu starten
|
|
waitcnt(cnt + 200_000_000) 'warte bis bel fertig ist
|
|
ios.bload(string("vecdem1.bel")) 'grafiktreiber laden
|
|
waitcnt(cnt + 200_000_000) 'warte bis bel fertig ist
|
|
|
|
ios.sdmount 'medium mounten
|
|
repeat
|
|
repsongs
|
|
|
|
|
|
PUB repsongs | fnadr,len,fcnt,i 'alle songs auf der sd-card abspielen
|
|
|
|
ios.sddir 'kommando: verzeichnis öffnen
|
|
startlist 'zum listenanfang
|
|
fcnt := 0 'zähler für dateianzahl
|
|
repeat 'dateiliste einlesen
|
|
fnadr := ios.sdnext
|
|
if fnadr <> 0 'ist eintrag gültig?
|
|
len := strsize(fnadr)
|
|
if strcomp(@ext1,(fnadr+len-4))
|
|
fcnt++
|
|
wrfn(fnadr)
|
|
while fnadr <> 0 'wiederholen solange stradr <> 0
|
|
startlist 'zum listenanfang
|
|
repeat i from 0 to fcnt-1 'dateiliste abspielen
|
|
rdfn(@fn)
|
|
playsong(@fn)
|
|
fadeout
|
|
|
|
PUB fadeout | i 'song langsam ausblenden
|
|
repeat i from 0 to 15
|
|
ios.hss_vol(15 - i)
|
|
waitcnt(cnt + 60_000_000)
|
|
waitcnt(cnt + 30_000_000)
|
|
|
|
CON
|
|
|
|
' long lcnt 'zeiger für dateiliste
|
|
' byte fn[12] 'puffer für dateinamen
|
|
|
|
PUB wrfn(stradr) | len,i 'kopiert dateinamen in eram
|
|
len := strsize(stradr)
|
|
repeat i from 0 to len-1
|
|
ios.ram_write(byte[stradr][i],lcnt++)
|
|
ios.ram_write(0,lcnt++)
|
|
|
|
|
|
PUB rdfn(stradr) | i,n 'liest dateinamen aus eram
|
|
i := 0
|
|
repeat
|
|
n := ios.ram_read(lcnt++)
|
|
byte[stradr][i++] := n
|
|
while n <> 0
|
|
|
|
PUB startlist 'zeiger auf listenanfang (dateinamen)
|
|
lcnt := 0
|
|
|
|
PUB playsong(stradr) | n 'spielt die musikdatei bis zum ende
|
|
|
|
ios.hss_stop
|
|
ios.hss_playfile(stradr)
|
|
repeat
|
|
n := ios.hss_intreg(ios#iRepeat)
|
|
until n == 3
|
|
|
|
|
|
|
|
DAT
|
|
ext1 byte ".HSS",0 |