1

Temat: HDD i programowanie

Pajero mnie prosil abym zapytal o przyklady w asm obslugi HDD bez uzycia jakiegokolwiek DOS'a, czyli jak stwierdzic obecnosc KMK, SIO2IDE i jak odczytac sektor HDD przy ich pomocy.

Pewnie tak samo obsluguje sie jak stacje dyskow, przez SIO ($e453), na poczatku pewnie wyslac do kazdej stacji po kolei zadanie podania STATUSu i na tej podstawie odnalezc napedy miekkie i twarde. Juz kiedys pytalem sie jak rozpoaznac KMK i SIO2IDE wiec pewnie to znajde.

Pajero mi nie wierzy, wiec napiszcie czy mam racje :) czy sie myle z tym rozpoznawaniem i odczytem HDD.

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

2

Odp: HDD i programowanie

Tebe, na Jesli chodzi o S2I to wszystko znajdziesz tutaj

Poza tym juz Pecus o tym pisal ;)

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

3

Odp: HDD i programowanie

tebe: co kcesz wiedziec o KMK??? Służę informacjami. Jeśli grubsza sprawa, to wal na maila lub priva

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

4

Odp: HDD i programowanie

lepszy będzie blok PERCOM - po jego odczytaniu w bajtach 9-11 masz cią ATASCII "IDE", a w bajcie nr 1 jest wersja BIOS'u - np. v1.2 - $12, v1.4 - $14, v2.0 - $20, itd. w bajcie 0 jest z reguły 1 (dla biosu v1.0 - v1.4) w BIOS'ie v2.0 (obsługa LBA) są tu najstarsze bajty rozmiaru partycji. Najlepiej próbój wykonać komendę $EC (w $0302) z dowolnym numerem stacji (1-16) w $0301, $31 w $0300 i adresem bufora 512 bajtów pod $0304, $0305 jeśli po powrocie niebędzie błędu, to w podanym obszasze będziesz miał 512-bajtowy blok zczytany fizycznie z napędu na którym leży partycja (master/slave). komenda $EC to IDENTIFY DRIVE. Komendą tą możesz identyfikować wyłącznie urządzenia IDE/AT/ATA urządzenia ATAPI (ATA with Pocket Interface - urządzenia ATA z interfejsem pakietowym - czyli jak nazwa wskazuje urządzenia takie komendy odbierają w pakietach po 12 (głównie ATA) lub 16 bajtów (głównie SCSI))  - np. CD-ROM - urzywają innych komend i IDE BIOS ich niewspiera, więc samemu trzeba się o to zatroszczyć. Ale to już grubsza sprawa - samą obsługę twardziela masz w podanym niżej linku - dokumentacja KMK (Draco) i pana Jacka Żuka. Opisana tu obsługa jest via SIO $e459 lub DSKINI $E453. Kontroler niezwraca uwagi na długość rekordu zawartą w DBYT ($0308, $0309) -zawsze przesyła 256 lub 512 bajtów - nawet w sektorach odczytu wstępnego 1 -3 !!! Ale co ja się tu będe produkował - jak coś niejasne to wal.  8)

http://atrey.karlin.mff.cuni.cz/~machek … e8bit.html

miłej lektury - english only - coż nie ja to pisałem...  :rolleyes:

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!

5

Odp: HDD i programowanie

to sobie poczytam, thx

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

6

Odp: HDD i programowanie

Pewnie tak samo obsluguje sie jak stacje dyskow, przez SIO ($e453), na poczatku pewnie wyslac do kazdej stacji po kolei zadanie podania STATUSu i na tej podstawie odnalezc napedy miekkie i twarde. Juz kiedys pytalem sie jak rozpoaznac KMK i SIO2IDE wiec pewnie to znajde.

Zczytujesz PERCOM-y wszystkich napędów i patrzysz na miejsca, które wymienił Caspar ("IDE" w 3 ostatnich bajtach, flagi gęstości itd.). Potem dla wszystkich znalezionych partycji dajesz komendę $EC żeby dowiedzieć się szczegółów.

"Wszystkie napędy" to wartości od 1 do 16 w DUNIT. Niestety, SpartaDOS 3.x (czyli Sparta dyskowa) zawiesza się, kiedy się próbuje gadać z napędami o numerach powyżej 8, oczywiście dotyczy to tylko używania SIO Sparty a nie systemowego. No ale warto to wiedzieć na wszelki wypadek :-)

KMK
? HEX$(6670358)

7

Odp: HDD i programowanie

nio... bo "IDE" w 3 ostatnich bajtach wstawia też SIO2IDE, więc komenda $EC dla dysków ze znalezionym "IDE" jest wręcz zalecana :-D - jeśli sterownik odpowie, to jest to partycja na dysku z kontrolerem IDE KMK/JZ

FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D

JIL 4EVER!