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"><B>Re: IFF2?:</B></td><td align=right valign="middle"></td></tr></table><BR><pre>Posilam jeste casti programu kde je odkaz na uvedeny podprogram (pnF9EC), u
<img src="BODY_IMAGES_WRAP_GIF"> dalsich vyskytu jeste nemam potuchy co se okolo deje, ale asi je to prece s
<img src="BODY_IMAGES_WRAP_GIF">FD.
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
; vypis chyboveho hlaseni a cekani na klavesu
; Vstup: DE=retezec chyby
; Vystup: CY=stav stisknute klavesy
; Nici: co se da
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
pnF06F: LD A, (pnEA46) ; povoleni vypisu chyboveho hlaseni
OR A ; je vypis zakazan?
RET Z ; pokud ano CY=0 a konec
CALL pnF9EC ; ceka na stabilni stav iff2, ulozi stav iff2, zakaze preruseni
CALL pnEE06 ; vymaze kurzor, pokud je zobrazen
LD HL, (pnEA38) ; udaj o rovinach popredi a pozadi a udaj o inverzi znaku
PUSH HL
LD HL, (pnEA3A) ; L=sloupec pozice kurzoru, H=radek pozice kurzoru
PUSH HL
LD A, (pnF18B) ; udaj o moznosti vypsat radek s Fx prikazy
PUSH AF
XOR A ; zakaz
LD (pnF18B), A ; vypsat radek s Fx prikazy
LD HL, $8C
LD (pnEA38), HL ; udaj o rovinach popredi a pozadi a udaj o inverzi znaku
LD HL, $1800 ; L=0, H=$18
LD (pnEA3A), HL ; L=sloupec pozice kurzoru, H=radek pozice kurzoru
LD B, 69 ; pocet znaku
...
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
; priprav registry pro HDD operaci read nebo write
; Vstup: B=pocet sektoru k operaci
; HL'=vyssich 16bitu adresy na disku
; HL=nizsich 16bitu adresy na disku
; Vystup: CY=stav ready
; 1=neni ready 0=je ready
; Nici: co se da
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
pnF6E7: CALL pnF9EC ; ceka na stabilni stav iff2, ulozi stav iff2, zakaze
<img src="BODY_IMAGES_WRAP_GIF">preruseni
PUSH DE ; uloz adresu pameti datove operace
LD C, 10 ; pocitadlo cekani na ready smycky 2
LD DE, 0 ; pocitadlo cekani na ready smycky 1
pnF6F0: IN A, (HDDcmd) ; HDD Status register
BIT 7, A ; je HDD ready ?
JR Z, pnF701 ; pokud ano skoc
DEC DE ; cekaci
LD A, D ; smycka
OR E
JR NZ, pnF6F0
...
A v nasledujicim se v jako jedinem pouzije prectena hodnota IFF2 (az na konci)
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
; cti z HDD
; Vstup: HL'=vyssich 16bitu adresy na disku
; HL=nizsich 16bitu adresy na disku
; DE=adresa pameti kam se cte
; B=pocet sektoru k operaci (8bit IDE - 1sektor=256bajtu, ale B nasobi takze
<img src="BODY_IMAGES_WRAP_GIF">B=1=dva sektory=512bajtu
; Vystup: CY=stav ready
; 1=chyba 0=ok
; Nici: co se da
;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<img src="BODY_IMAGES_WRAP_GIF">¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
pnF740: CALL pnF6E7 ; priprav registry pro HDD operaci read nebo write
RET C ; HDD neni ready
LD A, $20 ; prikaz ReadSector
OUT (HDDcmd), A ; HDD Command register
pnF748: CALL pnF71B ; cekej na signal od HDD ze jsou pripravena data
RET C
pnF74C: INI ; cti B*8 bajtu
INI
INI
INI
INI
INI
INI
INI
DJNZ pnF74C
IN A, (HDDcmd) ; HDD Status register
RRCA ; bylo to s chybou ?
JR C, pnF766 ; pokud ano konec
DEC D ; mame cist dalsi sektor ?
JR NZ, pnF748 ; ano skoc
pnF766: PUSH AF
LD A, (pnF52E) ; v bitu 2 je stav iff2 pro testovani
BIT 2, A
JR Z, pnF76F ; pokud je puvodni stav iff2 v jednicce
EI ; povol preruseni
pnF76F: POP AF
RET
</pre>