Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Martin Frohlich Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Ahoj Michale a ostatní,

Nepomůže ti tenhle dokument?
Sehnal jsem ho někde když jsem sháněl podklady pro svůj MZ disk editor.
<img src="BODY_IMAGES_WRAP_GIF"> (safra, mít tak čas se tomu pořádně věnovat).

Martin

<span class="replyquote1">&gt; ------------ Původní zpráva ------------
&gt; Od: Michal Hučík (sharpemu@pandora.cz) &lt;ordoz@[doména skryta]&gt;
&gt; Předmět: BASIC FD filesystem
&gt; Datum: 16.1.2012 16:41:26
&gt; ----------------------------------------
&gt; 
&gt; 
&gt; Ahoj,
&gt; 
&gt; kdyz uz jsem se pohrabal v tech FDC, tak jsem se rozhodl, ze bych mohl 
&gt; dale pokracovat nejakou knihovnou pro praci se
&gt; vsemi soucasnymi souborovymi systemy, ktere jsou pouzivany na Sharpu. 
&gt; Cilem by mely byt funkce, ktere by umoznily vypis
&gt; adresare, cteni, zapis, smazani souboru a podle moznosti FS take 
&gt; nastaveni jeho atributu, ci prejmenovani. Jde mi
&gt; samozrejme predevsim o moznost bezproblemoveho prenosu souboru 
&gt; odkudkoliv kamkoliv. Jakmile budou knihovny hotove, tak
&gt; by samozrejme nemel byt problem vymenit driver treba za takovy, ktery 
&gt; bude obsluhovat primo DSK, nebo ramdisk, ci jeho
&gt; obraz z emulatoru.
&gt; 
&gt; Jako prvni jsem se pustil do sberu informaci o tom jak funguje zakladni 
&gt; format BASIC disket. Tohle jsem posbiral v
&gt; pameti a take odsledoval pruzkumem obsahu disket. Potreboval bych 
&gt; poradit predevsim u radku, na kterych jsou otazniky:
&gt; 
&gt; Predpoklad: BASIC zrejme nepodporuje HD diskety. Je navic limitovany 
&gt; velikosti bitove mapy (250 bajtu) a proto lze na disketu v tomto
&gt; formatu pouzit pro data pouze  512 kB - 12 KB pro ucely systemu a 
&gt; adresar = 500 kB max.
&gt; 
&gt; Soubory jsou ulozeny v sektorech kontinualne. To znamena, ze se po 
&gt; smazani nekolika souboru muze stat, ze i kdyz je na
&gt; disku dostatek mista v kB, tak jiz neni mozne ukladat vetsi soubory, 
&gt; protoze pro ne neni na diskete k dispozici
&gt; dostatecne velky souvisly blok volnych sektoru.
&gt; 
&gt; Format ma obracenou logiku zaznamu a proto se pro vypocet skutecne 
&gt; logicke stopy musi udelat prevod pri kterem se u
&gt; (mz) logicke_stopy invertuje 0. bit (obracena strana diskety)
&gt; 
&gt; Format pouziva alokacni bloky, coz je 16 bitove cislo = (mz) 
&gt; logicka_stopa * 16) + sector - 1
&gt; 
&gt; 
&gt; Zavadec:
&gt; =======
&gt; 
&gt; logicka stopa 1 (v mz 0), sector 1
&gt; 
&gt; 
&gt; offset        size            description
&gt; -------------------------------------------
&gt; 0                1                0x03 - typ souboru zavadece (musi byt 
&gt; 0x03)
&gt; 1                6                IPLPRO
&gt; 7               12 &lt;filename&gt;
&gt; 19               1                0x0d
&gt; 20               2 &lt;SIZE&gt;
&gt; 22               2 &lt;START&gt;
&gt; 24               2 &lt;EXEC&gt;
&gt; 26               4                ???? (nevyuzito?)
&gt; 30               2                alokacni blok zacatku programu (pokud 
&gt; je = 1, tak je zacatek ve 2 sektoru teto stopy a
&gt;                                        program zavadece pak ovsem nesmi 
&gt; byt vetsi jak 14 sektoru = 3584 bajtu = 0x0e00, jinak musi byt umisten v 
&gt; souborove
&gt;                                        casti disku)
&gt; 32                224            ???? (nevyuzito? u nejake diskety jsem 
&gt; od pozice 128 videl nejaky description v ASCII)
&gt; 
&gt; 
&gt; 
&gt; MZ disk info:
&gt; ===========
&gt; 
&gt; logicka stopa 1 (v mz 0), sector 16
&gt; 
&gt; 
&gt; offset        size            description
&gt; -------------------------------------------
&gt; 0                1                ???? (nejaka konstanta? nevyuzito?)
&gt; 1                1                prvni alokacni blok, ktery je k 
&gt; dispozici pro ulozeni filat
&gt;                                      zpravidla 0x30 = 2. (v mz 3.) 
&gt; stopa, 1. sektor
&gt; 
&gt; 2                2                pocet obsazenych alokacnich bloku
&gt;                                      (naformatovana disketa tady ma 0x30 
&gt; = 3 cele stopy)
&gt; 
&gt; 4                2                velikost disku v alokacnich blocich - 
&gt; 1 (u 720 kB diskety = 0x07ff )
&gt; 
&gt; 6              250              bitova mapa disku, kazdy bit zastupuje 
&gt; jeden konkretni alokacni blok, pokud je
&gt;                                       nastaven, tak to znamena, ze misto 
&gt; je obsazeno
&gt;                                       Tady dochazi k limitu 250 * 8 = 
&gt; maximalni pocet alokacnich bloku.
&gt; 
&gt; 
&gt; 
&gt; 
&gt; 
&gt; MZ adresar:
&gt; ==========
&gt; 
&gt; 
&gt; logicka stopa 0 (v mz 1), sector 1 - 10
&gt; 
&gt; ???? nasledujicich 6 sektoru ve stope je nevyuzito?
&gt; 
&gt; max pocet polozek adresare = 77 ????
&gt; V poslednim sektoru je 64 bajtu nevyuzito ????
&gt; 
&gt; 
&gt; offset        size            description
&gt; -------------------------------------------
&gt; 0                1                0x80 ????
&gt; 1                1                0x01 ????
&gt; 2               30                ???? (nepouzito?)
&gt; 
&gt; 32              xx                polozky adresare
&gt; 
&gt; 
&gt; 
&gt; offset        size            description
&gt; -------------------------------------------
&gt; 0                1                file typ - 0x00 = smazana polozka
&gt; 1               16 &lt;filename&gt;
&gt; 17               1                0x0d
&gt; 18               2                ???? (nejaky atribut?)
&gt; 20               2 &lt;SIZE&gt;
&gt; 22               2 &lt;START&gt;
&gt; 24               2 &lt;EXEC&gt;
&gt; 26               4                ???? (nevyuzito?)
&gt; 30               2                alokacni blok
&gt; 
&gt; 
&gt; Cela 3. (v mz 2.) stopa je nevyuzita ???? a od 2. (v mz 3.) stopy 
&gt; zacinaji data prvniho souboru.
&gt; 
&gt; 
&gt; Potreboval bych poradit jak je to s atributy, pripadne souborovymi typy. 
&gt; K cemu slouzi konstanty umistene v sectoru pred direktorarem a zda se 
&gt; neco zajimaveho neskryva v bajtech, ktere jsem oznacil jako nepouzite.
&gt; 
&gt; Michal
&gt; 
&gt; 
&gt; 
&gt; ---
&gt; 
&gt; 
&gt; </pre>