> ASM-filer blir ca 27 gånger större än BTC-filer.
Ja *filen* ja, men den innehåller (sannolikt) lika mycket ljud-data...
Dssutom, exakt *vad* har storleken på filen för betydelse !?
Vad är problemet med att visa 5-10 rader från ASM filen ??
(Soolo är antagligen på rätt spår, men det vet jag inte innan
jag har sett lite av filen. Och nej, jag tänker inte installerade
programvaran själv... )
"Dssutom, exakt *vad* har storleken på filen för betydelse !?"
Jag vet inte om du känner till något magiskt knep, men jag kan inte få in en asm-fil på 500kB i en PIC.
En wav-fil på 22kHz som "renderas" till 1bit BTc6-finess (förklaring nedan) blir 512kB asm-kod.
En wav-fil på 15kHz blir 363kB med samma renderingsval som ovan.
*Finess: The "fineness" factor determines the basic RC filter time constant. Lower values have faster transient response, allow playback of higher frequencies, and have more noise. High values of BTc fineness tend to give reduced transient response, lower frequency response and less overall noise.
"Vad är problemet med att visa 5-10 rader från ASM filen ?? "
;=====================================================
; Bitstream data is in PIC .asm table format,
; in blocks of 256 bytes.
;
; Bits are played from left to right, from ms_bit to
; ls_bit.
;=====================================================
;---------------------------------------------------
org (1 *256) ; block = 1
;---------------------------------------------------
;------------------------- 0
retlw b'00011000' ; 18
retlw b'01000110' ; 46
retlw b'01101010' ; 6a
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
;------------------------- 8
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
retlw b'10101010' ; aa
;------------------------- 16
"nej, jag tänker inte installerade programvaran själv..."
Om du skulle bli nyfken: Man behöver inte installera programmet. Det är bara att packa upp zip-filen och köra direkt.
OK, som jag gissade. Inte det mest optimala, så så bra man kan på en PIC16.
Bara att kopiera in.
Jag antar att Roman även har kodexempel för att "läsa" detta.
På en PIC18 kan man packa det bättre och köra med TBL-instruktionerna
för att läsa det. Men då måste man antingen själv skriva något som
konverterar binär filen, eller justera programvaran för att generera
"data" direktiv till MPASMisitäller för RETLW (minns inte på rak arm om det är
DA, DB eller något annat...).
> men jag kan inte få in en asm-fil på 500kB i en PIC.
Hur vet du det ?
Jag kan enkelt skapa en ASM fil på flera MB som inte innehåller någon kod alls.
Alltså, storleken på *ASM* filen har inget med hur mycket plats det tar i processorn !
Jag har försökt, men nu kan jag inte hålla mig längre...
Hur kul ser detta ut egentligen:
Nja, du har alltså lyckats få ut en ASM fil !!??
_ _ _
Dssutom, exakt *vad* har storleken på filen för betydelse !?
_ _ _
Vad är problemet med att visa 5-10 rader från ASM filen ??
_ _ _
Hur vet du det ?
Jag kan enkelt skapa en ASM fil på flera MB som inte innehåller någon kod alls.
Alltså, storleken på *ASM* filen har inget med hur mycket plats det tar i processorn !
För att citera en annan tråd så skrev du (sodjan) : "Lite mer "rak" och "kort" är jag vid gratis support och speciellt när
frågeställaren inte har gjort sin "hemläxa"."
I denna tråd finns det ingen "hemläxa" att göra, så det finns ingen anledning att vara "rak och kort" mot mig.
Lite trist att man inte kan utnytja programminne till bara data ut på en PIC16.. , endast 75%. För att programbredden är ju som dom flesta vet 14 bitar var av 6 bitar är operanden och resten 8 bitar är ju data .
Det är nog lättare med PIC18.. som sodjan föreslår eller att köpa en speciell ljudkrets som som sodjan också har nämnt.
Med då försvinner ju poängen med alltihop som vanligt att kunna lösa det med det man har
Man ska inte vara rädd för att använda en lägre frekvens och tid konstant för det ska låta bättre i PICEN än förhandsljudet i BTc programmet.
Senare har jag planer spela upp toner. vilket jag tror blir lättare.
Litet tips om man använder låg ljudkvalité / hård komprimering / och liknande:
Ljud som låter bäst är de ljud som i "orginal" är så lite verklighetsbaserade som möjligt. Dvs ett synthljud blir bättre än ett pianoljud. Om orginalljudet har mest ljud i det låga och/eller höga frekvensområdet så kommer det låta lite sämre än om det mesta ljudet finns i mellanregistret.
Att bara 8 av 14 bitar används till "data" gäller när man använder RETLW
som i det aktuella fallet. De PIC16 som kan skriva och läsa till eget Flash-minne
kan lagra 14 användbara bitar per program-ord. Om dessa ska representera
"bytes" så blir det lite pyssel för att pussla ihop varje byte efteråt, men i
just detta fall är det ju en 1-bits ström där det inte finns något begrepp
"byte". Så på dessa PIC16 kan man packa in 14 databitar/program-ord och
modifiera läsrutinen lite.
Å andra sidan fungrar RETLW på *alla* PIC16...
Sen är ju lösningen inte tänkt för att lagra röster eller fraser, snarare
pling och plong ljud...
Behöver man mer minne får det nog bli ett externt eeprom eller fram.
Jag tror inte jag kan läsa och skriva data till programminne på en PIC16F877 ?
Känns lite jobbigt att lära sig för mig ny PIC18 krets. Jag får kolla om det går att lösa i C med microC och låta kompilatorn gör jobbet