19. 9. 2008

FatWARE pro MB-02+

Dnes ráno se na speccy konferenci objevila nenápadná zpráva od Velesofta, že společně s Hoodem přeportovali FatWARE pro MB-02+.

Stahovat můžete zde.

Dnes FatWARE vyzkouším a pak dám vědět jak moc se mi tento počin líbí. Prozatím jsem nadšený, neboť zase vzniklo něco "nového" pro MB-02+. ;)

1. 9. 2008

TrueWare - aktuální stav

Dnes se Zilog uvolil a poslal na Speccy konferenci na Pandoře rutinku, která provádí Read/Write na IDE zařízení. S jeho svolením jí zde uveřejníme.

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...