Zde je...
Vstupy:
;HL = target address
;B = number of sectors
;E = sector (or LBA[7-0])
;D = cyl-low (or LBA[15-8])
;C = cyl-high (or LBA[23-16])
;A = head etc. (or LBA[28-24])
;bit A.7=A.5=1
;bit A.4=device (0=master, 1=slave)
;bit A.6=CHS/LBA (0=CHS, 1=LBA)
;CY=operation (1=write, 0=read)
Jen na objasněnou (to co mi nebylo hned jasné):
- bit 7 a 5 reg. 'a' musí být nastaveny na 1
- carry flagem se určuje read/write
- reg. 'b' určuje počet cektorů, které chceme najednou načíst
readsec: out ($bb),a
r1: in a,($bf)
bit 6,a
jr z,r1
ld a,b
out ($ab),a
ld a,e
out ($af),a
ld a,d
out ($b3),a
ld a,c
out ($b7),a
ld a,$20
jr nc,r2
ld a,$30
r2: out ($bf),a
push af
r3: in a,($bf)
and $c8
cp $48
jr nz,r3
pop af
push bc
ld bc,$a3
jr nc,r4
otir
otir
jr r5
r4: inir
inir
r5: pop bc
djnz r3
r6: in a,($bf)
rla
jr c,r6
ret
Tak a teď k aktuálnímu stavu prográmku TrueWare.
Jelikož jsem celý program skoro celý přepsal jsem téměř na začátku.
Funguje:
- načte se MBR sektor
- zjistí se info o první partition
- načte se první sektor FAT tabulky
- zjistí se první datový sektor
Chybí:
- hledání volného clusteru ve FAT tabulce (rozpracováno, chybí táááákhle malinko :) )
- samotný zápis těla souboru
- zápis hlavičky soubru
- uložení FAT tabulky
Zítra snad budu mít první předvedení - schopnou verzi :)
Teď už snad vše půjde rychleji...
9 komentářů:
A co nějaký výběr adresáře? To bude kde/kdy? Když už FAT16, tak komplet.
Ja ti to reknu takhle:
Ja jsem si stanovil cil ulozit soubor na Fat16 (a pak ho zpatky precist). Udelat k tomu nejakou nadstavbu taky zvladnu...
Ale adresare nepotrebuji, nechci a nebudu podporovat.
Odpovim tvymi slovy, kterymi odpovidas casto Wixetovi: Na netu jsou (budou) zdrojaky, dodelej si to :)
jen takovy maly dotaz - funguje ta rutina? psal jsem to z hlavy rovnou do pandory, spectrum to nevidelo :>
Ja se k tomu jeste nedostal :)
Jen jsem procistoval stavajici code a prizpusoboval jsem to k te tvoji rutince...
Takze zitra dam vedet.
Tak holt to po tobe dodelam, no.
Sweet128: tomu rikam nadseni ;)
Ale iniciative se meze nekladou :)
Zeptej se Logouta, od zacatku jsme rikali, ze na adresare serem ;)
Tak mi 3 dny blbne PeC a ne a ne se nastartovat (ted pisu z prace), tak nemuzu pokracovat.
Vcera vecer (kolem pulnoci) je problem s ovladaci gr. karty nvidia a novym Xorg... takze po vikendu budu pokracovat (jelikoz o viekndu se jedu rekreaovat :) )
vsem se omlouvam ze to tak dlouho trva, ale PC svet je proti me... :)
Mirdo, kua, tesim se na Trueware jak svina, dej pak vedet, jak s tim valcis....
jinac ta rutina je prepsana blbe, skakat se ma djnzem pred ten push, of coz, jinak se vypopuje stck - ale to hadam kazdy ponjal
Okomentovat