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

Re: BASIC FD filesystem

Martin Frohlich SHARP MZ-800

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.
 (safra, mít tak čas se tomu pořádně věnovat).

Martin

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

Zobrazit původní podobu

Vlákno · 9 zpráv

Zobrazit celé vlákno na jedné stránce

  1. BASIC FD filesystem Michal Hučík
  2. Re: BASIC FD filesystem Radek Suk
  3. Re: BASIC FD filesystem Martin Frohlich
  4. Re: BASIC FD filesystem Michal Hučík
  5. Re: BASIC FD filesystem Michal Hučík
  6. Re: BASIC FD filesystem Radek Suk Přílohy: 1
  7. Re: BASIC FD filesystem Zdenek Adler Přílohy: 4
  8. Re: BASIC FD filesystem Michal Hučík
  9. Re: BASIC FD filesystem Michal Hučík Přílohy: 2