Diktafon pres USB

Wek wek@evona.sk
Pondělí Červen 7 12:52:01 CEST 2004


>At nadrzly, nebo ne, proste trochu mimo :-))))
Oooo, vazne?
>To co popisujete neni opet nic jineho, nez onen zatracovany FAT :-)))
Zo strany PC pochopitelne ano. Ale na strane diktafonu, resp. udelatora, ktory
snima data a uklada ich "niekam" - vobec nie.
Napr.:
- ukladam sekvencne sluckou "5 prikazov" od zaciatku media (kto povedal, ze to
musi byt CF? povodny dotaz znel "flash", to pokojne moze znamenat aj
29Cxxx...)
- zaznacim si dlzku zaznamu, napr. do vnutornej EEPROM jednocipu (vytvorim si
tam pole takychto zaznamov); alebo na poslednych n byte media
- pre ucely simulacie FAT si "zarovnam" velkosti suborov na 64kB, t.j.
vytvorim dalsiu tabulku: ak najspodnejsi word dlzky je nenulovy, inkrementuj
vyssie wordy
- ak sa ma USB spyta na boot, mam ho predpripraveny v pamati jednocipu alebo v
mediu; je tam nastavene FAT32, 1xFAT, 1 sec/clus, FAT zacina na n2. Drzo
prehlasim disk za napr. 64GB (diktafon tolkoto hadam v skutocnosti nebude
nikdy mat), to je 128M sektorov, to vyjde 1M sektorov na FAT (n3-n2>1M). FAT v
skutocnosti nastavim troska mensi (o 1 sektor = boot), aby datova oblast vysla
pekne na rozhranie 1M; tym sa zjednodusi preratanie setor->FAT na rotacie.
Root je u FAT32 sucast data, zacina typicky v clusteri 2 (tiez nastavene v
bootsektore), ale nastavim ho netypicky na cluster 128 (zjednodusi sa tym jeho
sprava, jeho chain tym zacne na zaciatku 2. sektora FAT). Pre root si myslene
vyhradim nejake nahodne zvolene miesto v nasobkoch 128 sektorov (=64kB) (asi
bude stacit 1x, to je miesto pre 2048 entries!).
- ak sa ma USB spyta na 1. sektor FAT, poslem same FF s vynimkou zaciatku, tam
je nejaky historicky bordel (media descriptor)
- ak sa ma USB spyta na sektory FAT vyhradene pre root (t.j. 2. sektor),
spocitam pocet suborov a vratim prislusny pekne linearny chain (do 1 sektora
rootu vojde 16 entries), zvysok je FF.
- ak sa ma USB spyta na sektor FATu pripadajuci na "subory", t.j. 3. az
3+(suma zarovnanych velkosti)/64k, zistim, ktoremu suboru to patri a ktora
cast chainu to je, naplnim linearne az do skutocnej dlzky a doplnim na koniec
FF
- ine sektory FAT vracaju same FF
- ak sa ma USB spyta na sektory directories, tak podla konkretneho cisla
sektoru vyrobim entries, nazvy suborov napr. "0001.dat" az "XXXX.dat", dlzky
skutocne, pociatocny cluster sa lahko vyrata, inak vyplnim nulami
- sektory dat - to uz je hadam jasne

- pri zapise, ak je to do directories, ak je prvy byte entry E5, tak prislusny
subor oznacim za vymazany; ostatne jednoducho ignorujem...

Teda, mozno mi na tu velkorysost zarve nejaky horsie napisany filesystem
(napr. ak sa pokusi nacachovat FAT), ale dufam, ze to maju vsetci (M$ aj lin)
napisane pekne korektne...


V kazdom pripade, odporucana literatura na temu FAT:
http://www.win.tue.nl/~aeb/linux/lk/lk-7.html


> Co vlastne simulujete, kdyz ty informace stejne nekde musite fyzicky mit a
musite je tam mit stale,
> ne ze je jen algoritmicky vytvorite a odeslete do PC :-))))

Ano, ale ako pisem, tie info mozem mat ulozene jednak vo formate, ktory mi (na
rozdiel od FAT) vyhovuje viac; a tiez ich budem mat PODSTATNE menej (stacia mi
len dlzky zaznamov, prip. znacky, ze su niektore zaznamy uz zmazane), samotny
chain a directories a kydy okolo toho mi nemusia zaberat ani byte a tudiz
nemusim spekulovat, ako ich vytvarat tak, aby zaberali co najmenej miesta a
este ich aj ukladat; nemusim riesit FAT12/16/32, roznu velkost clusterov
atd.atd.atd...

> Znate to o jmenech, ruzi a vuni od jisteho anglickeho klasika :-)))))))

Asi som fakt barbar - nie...




Zelam krasny den!

wek


>PS: nejaka i, y, me, mne, a pod me nijak zvlast nevzrusuji a klidne na ne
kaslu,
>Ale mezi nami devcaty, fakt me nezivi cestina, ale neco ponekud jineho.

Aaaaalealeale, ja som to nemyslel ako provokaciu, ale ako normalnu otazku,
fakt som chcel vediet, ako sa to pise...





Další informace o konferenci Hw-list