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

Roman Bórik 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><span class="replyquote1">&gt; Tak ted mi prosim Romane rekni, proc kdyz je na diskete sektor 1-26,
&gt; tedy celkem 26 sektoru, musi se PMD konfigurovat na 27 sektoru.
&gt; Ted uz to jede. -:)
</span>
Môžem sa mýliť, ale nemôžem sa zbaviť pocitu, že si tým svojim
<img src="BODY_IMAGES_WRAP_GIF"> &quot;šachovaním&quot; 
s číslovaním sektorov a úpravou XLT tabuľky, aby bola od 0, iba robíš
<img src="BODY_IMAGES_WRAP_GIF">viac 
chaosu, ako v tom CP/M je ;-)

Ako som už bol písal, PMD 32-SD vyžaduje číslovanie sektorov od 0 po N-1,kde N je počet logických sektorov na stopu (parameter SECTORS_PER_TRACK v 
images.cfg). A je na BIOSe a ovládači, aby tento rozsah dodržal. Pokiaľ sa
požaduje od PMD 32-SD sektor s číslom, ktoré je mimo tento rozsah, tak to 
samozrejme musí skončiť iba chybou.
Takže si prever prípravu a transformáciu čísla sektora.

Pre úplnosť uvediem ešte drobné detaily.
BDOS interne vždy používa intervaly 0 až N-1, či už sa jedná o sektory,
stopy alebo alokačné bloky.
Keď sa chystá BDOS čítať z nejakého alokačného bloku (konkrétne jeden
logický sektor v rámci alokačného bloku), za pomoci parametrov z tabuľky
<img src="BODY_IMAGES_WRAP_GIF"> DPB 
vypočíta číslo stopy a sektora v rámci fyzického disku, kde sa
<img src="BODY_IMAGES_WRAP_GIF">požadovaný 
sektor nachádza. K vypčítanému čislu stopy pripočíta ešte parameter OFF 
<img src="BODY_IMAGES_WRAP_GIF">z 
DPB a s touto hodnotou zavolá rutinu SETTRK v BIOSe. S vypočítaným číslom sektora zavolá rutinu SECTRAN, ktorá mu vráti transformované číslo sektora
<img src="BODY_IMAGES_WRAP_GIF"> s 
touto hodnotou zavolá rutinu SETSEC.
Rutiny SETTRK a SECTRAN sú volané VŽDY s hodnotami v intervale 0 až N-1. 
Rutina SETSEC je volaná s hodnotou, ktorá je vrátená rutinou SECTRAN a tá
<img src="BODY_IMAGES_WRAP_GIF">je 
už závislá od jej implementácie a tabuľky XLT.
Samozrejme záleží aj od toho, ako sa naloží s hodnotou čísla sektora v 
rutine SETSEC, či sa nerobí nejaká úprava +-.

Roman

</pre>