Ĺadny brzuch
Część forumowicze!
Czy znacie jakieś metody,funkcje,itp. przydatne przy odczytywaniu/zapisywaniu dyskietki na poziomie jak najbliszym jej fizycznej struktury?
Najważniejsze w tym wszystkim jest to aby "obejść" system plików na dyskietce, która może być bardzo niestandardowa, zarówno pod względem systemu plików jak i pojemności.
Np. tak:procedure TForm1.Button1Click(Sender: TObject); var f, r:cardinal; b:array[0..1023]of byte; begin f:=CreateFile('\\.\A:',GENERIC_READ,0,nil,OPEN_EXISTING,0,0); ReadFile(f,b,1024,r,nil); CloseHandle(f); end;
Użytkownik Cyrkiel edytował ten post 13 sierpień 2005, 13:32
Próbowałem ale niestety Windows się tu wtrynia :mad:
Jak system plików na dyskietce będzie nieodczytywalny przez ten system to on "poprawi" to formatując dyskietkę !!!
:pomocy:
Pod winda dyskietka to urzadzenie, ktore jest obslugiwane prze SO. Od W2k SO zabezpiecza wlasnie taki dostep do urzadzen, jaki ty chcesz otrzymac :P
Aczkolwiek jest to mozliwe, ale trzeba sie nameczyc, i na pewno nie polecam do tego DElphi. Ma zbyt zintegriowany z SO dostem do systemu plikow. Sprobuj za pomoca strumienie w C. Ale raczej beda p[otrzebne jakies wstawki w asm(mowie raczej :P).
(...) Ale raczej beda potrzebne jakies wstawki w asm Chodzi Ci o int13h? To przerwanie, jak wiemy, również jest blokowane :(
felix.leg: rawrite-em utworzyłem dyskietkę z pliku tekstowego. Odpalam program i wszystko ładnie się zczytuje, winda się pluje o formatowanie tylko kiedy wchodzę explorer-em a:\ :unsure:
Użytkownik Cyrkiel edytował ten post 14 sierpień 2005, 09:55
RawWrite też odpada.
Czytać to jeszcze potrafi, ale z zapisem to sobie nie poradzi.
Wszystko przez to, że ustawia on nagłówek dyskietki na 0Fxh, czyli RAW.
Do moich zastosowań porzebna jest ingerencja w ten nagłówek, abym mógł go ustawić na dowolny z możliwych (m.in. 02h i 03h)
Jeżeli nie da się w Delphi, to w jakim języku (jestem gotów na wszelkie propozycję)?
Użytkownik felix.leg edytował ten post 15 sierpień 2005, 10:47
Poczytaj zrodla rawwrite'a (z tego co wiem rawwrite jest free (skoro stosowany jest w instalatorach linuksow do robienia dyskietek startowych pod windowsem), a jak nie to poczytaj dd).
Poczytaj zrodla rawwrite'a (..)
Pierwsza pozycja na googlach: http://uranus.it.swi...win-0.7.src.zip <- zrodla pod winde. Moze byc? :P
Coś ten twój link nie działa.Wyświetla, że strona nie istnieje....
Coś ten twój link nie działa.Wyświetla, że strona nie istnieje....
Nie piernicz, mi bardzo dobrze dziala.
Nie działa bo podałeś skrócony link: raw...win-0.7.src.zip
Podaj cały.
Nie działa bo podałeś skrócony link: raw...win-0.7.src.zip
Podaj cały. Przeciez to forum tylko pokazuje skrócony link - skopiuj adres odnośnika ^_^
Niestety powysze odpowiedzi niedały oczekiwanego efektu więc wyłożę "kawę na ławę" i powiem wam o co mi tak naprawdę chodzi...
Planuję napisać program, który mógłby zapisać całą zawartość Amigowej dyskietki do pliku .adf , odczytując ją z napędu dyskietek w PC.
Dodtychczas aby to zrobić trzebabyło połączyć oba sprzęty przez NullModem, a to nie zawsze jest wykonalne.
Chciałem trochę ulżyć kolegom amigowcom, ale jak widać ten problem trzeba drążyć inaczej...
Stąd, w miarę możliwości, proszę o jakieś strony lub opisy z funkcjami dającymi taki dostęp do dyskietki jaki mają sterowniki dla napędu.Język nieważny.
Potrzebny jest jak widać bardzo powierzchowny dostęp do dyskietki, niemal bit po bicie.
PS.
Jeżeli jest na forum, ktoś kto zna się na sposobie alokacji danych na Amigowej dyskietce, oraz wszystkich możliwych typach dyskietek doń przeznaczonych, to proszę o szybki kontakt na e-mail.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Czy znacie jakieś metody,funkcje,itp. przydatne przy odczytywaniu/zapisywaniu dyskietki na poziomie jak najbliszym jej fizycznej struktury?
Najważniejsze w tym wszystkim jest to aby "obejść" system plików na dyskietce, która może być bardzo niestandardowa, zarówno pod względem systemu plików jak i pojemności.
Np. tak:procedure TForm1.Button1Click(Sender: TObject); var f, r:cardinal; b:array[0..1023]of byte; begin f:=CreateFile('\\.\A:',GENERIC_READ,0,nil,OPEN_EXISTING,0,0); ReadFile(f,b,1024,r,nil); CloseHandle(f); end;
Użytkownik Cyrkiel edytował ten post 13 sierpień 2005, 13:32
Próbowałem ale niestety Windows się tu wtrynia :mad:
Jak system plików na dyskietce będzie nieodczytywalny przez ten system to on "poprawi" to formatując dyskietkę !!!
:pomocy:
Pod winda dyskietka to urzadzenie, ktore jest obslugiwane prze SO. Od W2k SO zabezpiecza wlasnie taki dostep do urzadzen, jaki ty chcesz otrzymac :P
Aczkolwiek jest to mozliwe, ale trzeba sie nameczyc, i na pewno nie polecam do tego DElphi. Ma zbyt zintegriowany z SO dostem do systemu plikow. Sprobuj za pomoca strumienie w C. Ale raczej beda p[otrzebne jakies wstawki w asm(mowie raczej :P).
(...) Ale raczej beda potrzebne jakies wstawki w asm Chodzi Ci o int13h? To przerwanie, jak wiemy, również jest blokowane :(
felix.leg: rawrite-em utworzyłem dyskietkę z pliku tekstowego. Odpalam program i wszystko ładnie się zczytuje, winda się pluje o formatowanie tylko kiedy wchodzę explorer-em a:\ :unsure:
Użytkownik Cyrkiel edytował ten post 14 sierpień 2005, 09:55
RawWrite też odpada.
Czytać to jeszcze potrafi, ale z zapisem to sobie nie poradzi.
Wszystko przez to, że ustawia on nagłówek dyskietki na 0Fxh, czyli RAW.
Do moich zastosowań porzebna jest ingerencja w ten nagłówek, abym mógł go ustawić na dowolny z możliwych (m.in. 02h i 03h)
Jeżeli nie da się w Delphi, to w jakim języku (jestem gotów na wszelkie propozycję)?
Użytkownik felix.leg edytował ten post 15 sierpień 2005, 10:47
Poczytaj zrodla rawwrite'a (z tego co wiem rawwrite jest free (skoro stosowany jest w instalatorach linuksow do robienia dyskietek startowych pod windowsem), a jak nie to poczytaj dd).
Poczytaj zrodla rawwrite'a (..)

Pierwsza pozycja na googlach: http://uranus.it.swi...win-0.7.src.zip <- zrodla pod winde. Moze byc? :P
Coś ten twój link nie działa.Wyświetla, że strona nie istnieje....
Coś ten twój link nie działa.Wyświetla, że strona nie istnieje....

Nie piernicz, mi bardzo dobrze dziala.

Nie działa bo podałeś skrócony link: raw...win-0.7.src.zip
Podaj cały.

Nie działa bo podałeś skrócony link: raw...win-0.7.src.zip
Podaj cały. Przeciez to forum tylko pokazuje skrócony link - skopiuj adres odnośnika ^_^
Niestety powysze odpowiedzi niedały oczekiwanego efektu więc wyłożę "kawę na ławę" i powiem wam o co mi tak naprawdę chodzi...
Planuję napisać program, który mógłby zapisać całą zawartość Amigowej dyskietki do pliku .adf , odczytując ją z napędu dyskietek w PC.
Dodtychczas aby to zrobić trzebabyło połączyć oba sprzęty przez NullModem, a to nie zawsze jest wykonalne.
Chciałem trochę ulżyć kolegom amigowcom, ale jak widać ten problem trzeba drążyć inaczej...
Stąd, w miarę możliwości, proszę o jakieś strony lub opisy z funkcjami dającymi taki dostęp do dyskietki jaki mają sterowniki dla napędu.Język nieważny.
Potrzebny jest jak widać bardzo powierzchowny dostęp do dyskietki, niemal bit po bicie.
PS.
Jeżeli jest na forum, ktoś kto zna się na sposobie alokacji danych na Amigowej dyskietce, oraz wszystkich możliwych typach dyskietek doń przeznaczonych, to proszę o szybki kontakt na e-mail.