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
Celé vlákno · 9 zpráv
Re: BASIC FD filesystem
Radek Suk SHARP MZ-800
Ahoj Michale Podive je na http://www.sharpmz.org/index.html konkretne na -> programming -> disk drives -> disk in detail at nahodou nezjistujes neco co jiz nekdo popsal. Mozna tam neco zajimaveho najdes. Jinak je dobre ze to chces udelat. Zkus udelat nejake web stranky kde popises co zjistis. Radek Dne 16.1.2012 16:40, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (142 řádků)
> > > 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 > > > > --- > >
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 > > > > --- > > >
Re: BASIC FD filesystem
Michal Hučík SHARP MZ-800
Ahoj, mam pocit, ze zrovna informace o FD formatu na tech strankach neni uplne presna - mozna proto, ze v tom FD BASICu, ktery koloval u nas se pry hrabal nekdo v nemecku. Ty unused bajty, ktere jsem si poznacil jsou asi shodne s tim co tam pisou, pripadne je vubec neuvedli. Maximalni pocet polozek adresare musim jeste proverit: BASIC mi pise too many files a na 0. stope jsem napocital 77 zaznamu - skutecny pocet nesmazanych polozek primo v BASICu jsem nekontroloval, takze je mozne, ze mam disketu ve ktere uz se nekdo (zrejme ja pred 20 lety :)) hrabal a je v ni ulozen nejaky sektor navic ... Max. pocet polozek 63 mi prijde jako logictejsi cislo. Ovsem musem rict, ze je to neskutecne pitomy a nesetrny filesystem... Naprosto mi unika smysl prvniho bajtu v 15 alokacnim bloku - nejake oznaceni master a slave disku. A taky prvnich 32 bajtu v 16 bloku na zacatku adresare. Predevsim ty konstanty 0x80 a 0x01 hned na zacatku... A pokud jsem to pochopil spravne, tak tento format nezna zadne atributy. Format cp/m by snad mel byt docela dobre zdokumentovany, jen se trochu obavam jeho variability, coz se bohuzel neobejde bez nutnosti uvadet pro praci i nejake konfiguracni parametry. No a jako lahudka bude asi MRS, protoze kdyz jsem se o nem naposled bavil s Vlastikem, tak si uz ani on sam nepamatuje vlastnosti jeho filesystemu - alespon bude co delat ;) Michal Dne 16.1.2012 18:30, Radek Suk (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (14 řádků)
> > Ahoj Michale > > Podive je na > http://www.sharpmz.org/index.html > > konkretne na -> programming -> disk drives -> disk in detail > > at nahodou nezjistujes neco co jiz nekdo popsal. Mozna tam neco > zajimaveho najdes. Jinak je dobre ze to chces udelat. Zkus udelat > nejake web stranky kde popises co zjistis. > > Radek >
Re: BASIC FD filesystem
Michal Hučík SHARP MZ-800
Ahoj Martine, ten dokument znam - mam ho ze scavu, bohuzel alespon co se tyka Sharp formatu, ktery jsem zkoumal, tak se s nim evidentne neshoduje. Napr. zminovany pocet polozek adresare by byl v mem pripade 128, coz zarucene neni pravda ... Michal Dne 16.1.2012 20:02, Martin Frohlich (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (7 řádků)
> > 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). >
Re: BASIC FD filesystem
Radek Suk SHARP MZ-800
Nedalo mi to a tak jsem v emulatoru smazal jednu Basic disketu a zustaly tam jen 3 soubory. Nasledne jsem udelal program co vytvarel nove a nove soubory a tech vytvoril presne 60. Proto lze ocekavat ze maximum je tech 63 souboru. Mozna Zdenek Adler ma popis, kdyz jeho emulator umi nacist Basic disketu a exportovat z ni data. Take mozna by to slo zjistit z okomentovaneho vypisu Basicu. Michale vystav nekde Basic ktery chces testovat a pripadne prazdnou basic disketu a neni problem to otestovat. Jinak ten testovaci program posilam jako obrazek. Radek Dne 16.1.2012 20:37, Michal Hučík (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (48 řádků)
> > > > Ahoj, mam pocit, ze zrovna informace o FD formatu na tech strankach neni > uplne presna - mozna proto, ze v tom FD BASICu, ktery koloval u nas se > pry hrabal nekdo v nemecku. > Ty unused bajty, ktere jsem si poznacil jsou asi shodne s tim co tam > pisou, pripadne je vubec neuvedli. Maximalni pocet polozek adresare > musim jeste proverit: BASIC mi pise too many files a na 0. stope jsem > napocital 77 zaznamu - skutecny pocet nesmazanych polozek primo v BASICu > jsem nekontroloval, takze je mozne, ze mam disketu ve ktere uz se nekdo > (zrejme ja pred 20 lety :)) hrabal a je v ni ulozen nejaky sektor navic > ... Max. pocet polozek 63 mi prijde jako logictejsi cislo. Ovsem musem > rict, ze je to neskutecne pitomy a nesetrny filesystem... > Naprosto mi unika smysl prvniho bajtu v 15 alokacnim bloku - nejake > oznaceni master a slave disku. A taky prvnich 32 bajtu v 16 bloku na > zacatku adresare. Predevsim ty konstanty 0x80 a 0x01 hned na zacatku... > A pokud jsem to pochopil spravne, tak tento format nezna zadne atributy. > > Format cp/m by snad mel byt docela dobre zdokumentovany, jen se trochu > obavam jeho variability, coz se bohuzel neobejde bez nutnosti uvadet pro > praci i nejake konfiguracni parametry. No a jako lahudka bude asi MRS, > protoze kdyz jsem se o nem naposled bavil s Vlastikem, tak si uz ani on > sam nepamatuje vlastnosti jeho filesystemu - alespon bude co delat ;) > > Michal > > > Dne 16.1.2012 18:30, Radek Suk (sharpemupandora.cz) napsal(a): >> >> Ahoj Michale >> >> Podive je na >> http://www.sharpmz.org/index.html >> >> konkretne na -> programming -> disk drives -> disk in detail >> >> at nahodou nezjistujes neco co jiz nekdo popsal. Mozna tam neco >> zajimaveho najdes. Jinak je dobre ze to chces udelat. Zkus udelat >> nejake web stranky kde popises co zjistis. >> >> Radek >> > > > --- > >
Přílohy
-
3image/jpeg · 17 kB · 423 x 85 px
Re: BASIC FD filesystem
Zdenek Adler SHARP MZ-800
Ahoj, pokud si dobře pamatuju, všechny zmiňované dokumenty jsem tenkrát procházel ale použil jsem nakonec pouze popis Lamačovy CP/M, jinak s Basic a P/CPM disketami jsem víceméně objevoval Ameriku - zapsal jsem soubor a koukal co se změnilo :-) Pokud bys měl Michale zájem, udělám Ti výtah ze zdrojáků emulátoru. Vzhledem k tomu že to nemám psané zrovna moc přehledně nevím, zda by jsi s tím neměl ještě víc práce to rozklíčovat :-) Jinak v Basicu skutečně nebylo moc dobře řešené využití disku po smazaných souborech. Řešila to poměrně slušná utilita IPLDISK, ve které byla krom spousty jiného i volba "komprese", která soubory setřásla tak aby bylo možné využít disketu celou. Jinak mám povědomí i o upraveném Basicu který myslím uměl využít celou 720K disketu - viz. obr. v příloze Z.
Zobrazit citovaný text (77 řádků)
----- Original Message ----- From: "Radek Suk (sharpemupandora.cz)" <suk[doména skryta]> To: "Konference "Počítač SHARP MZ-800 a emulátory"" <sharpemupandora.cz> Sent: Tuesday, January 17, 2012 1:28 AM Subject: Re: BASIC FD filesystem > > Nedalo mi to a tak jsem v emulatoru smazal jednu Basic disketu a zustaly > tam jen 3 soubory. Nasledne jsem udelal program co vytvarel nove a nove > soubory a tech vytvoril presne 60. Proto lze ocekavat ze maximum je tech > 63 souboru. > > Mozna Zdenek Adler ma popis, kdyz jeho emulator umi nacist Basic disketu > a exportovat z ni data. Take mozna by to slo zjistit z okomentovaneho > vypisu Basicu. > > Michale vystav nekde Basic ktery chces testovat a pripadne prazdnou > basic disketu a neni problem to otestovat. Jinak ten testovaci program > posilam jako obrazek. > > > Radek > > > Dne 16.1.2012 20:37, Michal Hučík (sharpemupandora.cz) napsal(a): >> >> >> >> Ahoj, mam pocit, ze zrovna informace o FD formatu na tech strankach neni >> uplne presna - mozna proto, ze v tom FD BASICu, ktery koloval u nas se >> pry hrabal nekdo v nemecku. >> Ty unused bajty, ktere jsem si poznacil jsou asi shodne s tim co tam >> pisou, pripadne je vubec neuvedli. Maximalni pocet polozek adresare >> musim jeste proverit: BASIC mi pise too many files a na 0. stope jsem >> napocital 77 zaznamu - skutecny pocet nesmazanych polozek primo v BASICu >> jsem nekontroloval, takze je mozne, ze mam disketu ve ktere uz se nekdo >> (zrejme ja pred 20 lety :)) hrabal a je v ni ulozen nejaky sektor navic >> ... Max. pocet polozek 63 mi prijde jako logictejsi cislo. Ovsem musem >> rict, ze je to neskutecne pitomy a nesetrny filesystem... >> Naprosto mi unika smysl prvniho bajtu v 15 alokacnim bloku - nejake >> oznaceni master a slave disku. A taky prvnich 32 bajtu v 16 bloku na >> zacatku adresare. Predevsim ty konstanty 0x80 a 0x01 hned na zacatku... >> A pokud jsem to pochopil spravne, tak tento format nezna zadne atributy. >> >> Format cp/m by snad mel byt docela dobre zdokumentovany, jen se trochu >> obavam jeho variability, coz se bohuzel neobejde bez nutnosti uvadet pro >> praci i nejake konfiguracni parametry. No a jako lahudka bude asi MRS, >> protoze kdyz jsem se o nem naposled bavil s Vlastikem, tak si uz ani on >> sam nepamatuje vlastnosti jeho filesystemu - alespon bude co delat ;) >> >> Michal >> >> >> Dne 16.1.2012 18:30, Radek Suk (sharpemupandora.cz) napsal(a): >>> >>> Ahoj Michale >>> >>> Podive je na >>> http://www.sharpmz.org/index.html >>> >>> konkretne na -> programming -> disk drives -> disk in detail >>> >>> at nahodou nezjistujes neco co jiz nekdo popsal. Mozna tam neco >>> zajimaveho najdes. Jinak je dobre ze to chces udelat. Zkus udelat >>> nejake web stranky kde popises co zjistis. >>> >>> Radek >>> >> >> >> --- >> >> > > --- >
Přílohy
-
bas1.pngimage/png · 3 kB · 920 x 574 px -
bas2.pngimage/png · 10 kB · 920 x 574 px -
4image/png · 10 kB · 920 x 574 px
-
3image/png · 3 kB · 920 x 574 px
Re: BASIC FD filesystem
Michal Hučík SHARP MZ-800
Ahoj Radku, mam BASIC disketu, ktera hlasi too many files a nechtelo se mi pocitat polozky adresare. Nacetl jsem si tedy do pameti celou adresarovou stopu a podival jsem se na ktere adrese je posledni polozka. Z nejakeho duvodu, ktery uz dnes asi nezjistime je na te diskete ulozeno nejake adresarove smeti i na 9. a 10. sektoru. Nicmene kdyz si spocitam seznam souboru v BASICu, tak to odpovida tomu, ze adresar ma skutecnou velikost 8 sektoru = 63 filat. Michal Dne 17.1.2012 1:28, Radek Suk (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (16 řádků)
> > Nedalo mi to a tak jsem v emulatoru smazal jednu Basic disketu a > zustaly tam jen 3 soubory. Nasledne jsem udelal program co vytvarel > nove a nove soubory a tech vytvoril presne 60. Proto lze ocekavat ze > maximum je tech 63 souboru. > > Mozna Zdenek Adler ma popis, kdyz jeho emulator umi nacist Basic > disketu a exportovat z ni data. Take mozna by to slo zjistit z > okomentovaneho vypisu Basicu. > > Michale vystav nekde Basic ktery chces testovat a pripadne prazdnou > basic disketu a neni problem to otestovat. Jinak ten testovaci program > posilam jako obrazek. > > > Radek
Re: BASIC FD filesystem
Michal Hučík SHARP MZ-800
Zdenku snad jen kdyby ses mi podival, zda tam nejak reflektujes na obsah prvnich 2 bajtu, ktere jsou pred adresarem - viz obrazek. Myslim si, ze by to mela byt nejaka konfiguracni hodnota, jen mi unika jeji smysl ... Zkusil jsem tu prvni hodnotu prepsat na 0x90, ale v BASICu se nic nezmenilo - porad jen 63 polozek. Ostatni vlastnosti uz jsem z toho snad vystoural, takze jak bude cas, tak se pustim do sepsani nejakych zakladnich funkci. BASIC vypada sikovne. Docela se divim, ze kdyz uz se nekomu chtelo pustit do takove komplexni upravy, ze jej neprekonvertovali na cp/m format ... Byla by tam sice mala komplikace s IPL, ale to by slo vyresit nejakym kratkym loaderem umistenym na nulte stope. Michal Dne 17.1.2012 8:03, Zdenek Adler (sharpemupandora.cz) napsal(a):
Zobrazit citovaný text (19 řádků)
> > Ahoj, > > pokud si dobře pamatuju, všechny zmiňované dokumenty jsem tenkrát > procházel ale použil jsem nakonec pouze popis Lamačovy CP/M, jinak s > Basic a P/CPM disketami jsem víceméně objevoval Ameriku - zapsal jsem > soubor a koukal co se změnilo :-) Pokud bys měl Michale zájem, udělám > Ti výtah ze zdrojáků emulátoru. Vzhledem k tomu že to nemám psané > zrovna moc přehledně nevím, zda by jsi s tím neměl ještě víc práce to > rozklíčovat :-) > Jinak v Basicu skutečně nebylo moc dobře řešené využití disku po > smazaných souborech. Řešila to poměrně slušná utilita IPLDISK, ve > které byla krom spousty jiného i volba "komprese", která soubory > setřásla tak aby bylo možné využít disketu celou. Jinak mám povědomí i > o upraveném Basicu který myslím uměl využít celou 720K disketu - viz. > obr. v příloze > > Z.
Přílohy
-
adresar.bmpimage/bmp · 130 kB · 460 x 287 px -
3image/bmp · 130 kB · 460 x 287 px