1

Temat: Jak to jest z sektorami 512b ??

Chodzi mi głównie o to czy w trybie rzeczywistym interfejsu KMK/JŻ IDE można po prostu czytać pierwszy sektor przez SIO zakładając, że ma 128b?

Oczywiście wiem, że ten sektor ma 512b, ale czy przeczyta się (chodzi oczywiście o jego pierwsze 128b) jeśli tego nie sprawdzę wcześniej i zastosuję procedurę taką jak przy innych gęstościach dyskietek?

Robiąc, w zasadzie od podstaw, nową wersję Micro Sparta DOS chciałbym uniknąć rozbudowywania programu o kolejny kawałek kodu, który będzie tylko sprawdzał czy ma do czynienia z HDD a potem sprawdzał dodatkowym rozkazem wielkość sektora.
W poprzedniej wersji wystarczało przeczytanie pierwszego sektora (zawsze tak samo, bo miał 128b) i sprawdzenie ustawionych w nim zmiennych i tak byłoby najprościej ... w zasadzie tak to już napisałem, ale nie mam jak sprawdzić...

Tak to jest jak się pisze program dla 4rech ludzi na świecie :)

Ostatnio edytowany przez Pecus (2010-01-19 22:16:02)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

2

Odp: Jak to jest z sektorami 512b ??

Dla dwóch.

http://www.5oft.pl/

3

Odp: Jak to jest z sektorami 512b ??

w tym jeden z nich go faktycznie uruchomi, ale moze cos sie zmieni ;)

przechodze na tumiwisizm

4

Odp: Jak to jest z sektorami 512b ??

Miej też na względzie zaistniały fakt egzystencji nowego formatu, w którym kontroler pracuje w trybie natywnym i sektor w FS ma 512 bajtów fizycznie, a max rozmiar partycji (na chwilę obecną) to 32MB. Po szczegóły odsyłam do Draco :)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

5

Odp: Jak to jest z sektorami 512b ??

No właśnie do obsługi nowych formatów piszemy tę wersję (i starych też).
A pewnym trikiem najprawdopodobniej da się obniżyć MEMLO jeszcze o stronę :)

A Ty chyba masz teki dyszczek, wiec może po prostu odpaliłbyś komendę SIO czytającą pierwszy sektor tak jakby miał 128b i zobaczył co wychodzi ???

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

6

Odp: Jak to jest z sektorami 512b ??

Pecus napisał/a:

A pewnym trikiem najprawdopodobniej da się obniżyć MEMLO jeszcze o stronę :)

przy dodatkowym buforze na sektor 512B? :)

co do sprawdzania czegokolwiek nadmieniam, że koderem nie jestem. Jeśli więc coś trzeba przetestować podeślij cokolwiek, co mogę uruchomić i sprawdzić co się dzieje :)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

7

Odp: Jak to jest z sektorami 512b ??

O.K. Przygotuję kawałek programu ...

A Memlo przy dodatkowym buforze na 512b sektor, przy tej nowej koncepcji, nie powinno wzrosnąć ponad to, co jest teraz w Micro Sparta DOSie.. czyli będzie w granicach $A00.... mam nadzieję.

Ostatnio edytowany przez Pecus (2010-01-20 14:14:19)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

8

Odp: Jak to jest z sektorami 512b ??

Pecuś :) - pod Sparta DOS X przy konfigu mini mam $0EBA :P

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

9

Odp: Jak to jest z sektorami 512b ??

Tak, ale Micro Sparta DOS jest loaderem, i nie wymaga obecności samej SpartyX, nie zajmuje pamięci pod ROMem, ani rozszerzenia, więc $A00 to naprawdę niezły wynik, tym bardziej, ze tyle powinno się udać osiągnąć przy sektorach 512b.
Przy typowych wielkościach sektorów, MEMLO będzie w granicach $900 :)

Ostatnio edytowany przez Pecus (2010-01-20 15:37:03)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

10

Odp: Jak to jest z sektorami 512b ??

Pecuś - zrób jeszcze jedno. Zerowanie 5,6 strony i od memlo do memtop - tuż przed uruchomieniem programu. Sporadycznie spotykane niektóre dziwnie napisane demka przez to właśnie zaczynają działać :)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

11

Odp: Jak to jest z sektorami 512b ??

Zerowanie on MEMLO do MEMTOP Micro Sparta DOS czyścił zawsze i czyścił będzie.... dodam tylko strony 5 i 6 w takim razie.

Wieczorkiem podrzucę Ci program sprawdzający jak to jest z czytaniem pierwszego sektora, bo skonczenie nowego MSDOSa jeszcze troche potrwa, trzeba wszystko od nowa napisać właściwie.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

12

Odp: Jak to jest z sektorami 512b ??

.. zajebisty by był taki init dla vbxe - można by przynajmniej w pełnej formie z datą i czasem wywalić 2 kolumny dira w trybie txt, jakieś ładne kolorki :) - ..

dobra, szczekam wieczorem na pliczek.

Pecuś - jeśli masz syfGG, to może szybciej będzie poprzez: 3249345

Ostatnio edytowany przez Pin (2010-01-20 18:35:39)

ADRES: pin@atari.pl - konto zlikwidowane. Aktualny adres: pin(at)atari8.info

13

Odp: Jak to jest z sektorami 512b ??

Dzieki za pomoc...
No to już wiemy jak jest - pierwszy sektor w nowym filesystemie czyta się bez błędów jako 512b oraz jako 128b :)
Do sprawdzenia danych o reszcie dysku wystarczy 128, wiec procedura zostaje uniwersalna i będzie działała z innymi gęstościami.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

14

Odp: Jak to jest z sektorami 512b ??

Oidp (ale sprawdzę to w domu) sektory z partycji ustawionej na 512 będą się zawsze odczytywać jako 512-bajtowe niezależnie od wartości DBYT, natomiast takie z partycji ustawionej na 256 bajtów będą się odczytywać jako 128-bajtowe jeśli DBYT ma wartość $xx80 oraz jako 256-bajtowe w przeciwnym wypadku.

KMK
? HEX$(6670358)

15

Odp: Jak to jest z sektorami 512b ??

Właściwie to chodzi mi o to czy jak DBYT ustawię na $80 to odczytam bez błędu pierwszy sektor i zdobędę dane dotyczące reszty dysku bez dodatkowego kombinowanie z jakimiś PERCOMami czy innym dodatkowym sprawdzaniem ;)

I to osiągnąłem (co potwierdził Pin odpalając program testowy).... w sumie ciekawe czy odczytało się wtedy 512b ... nie sprawdziłem czy coś więcej niż pierwsze 128b do bufora weszło... bufor i tak jest przewidziany na więcej danych wiec nie przeszkadza mi to.

W sumie nawet jakby był błąd, a dane się odczytały to bym był zadowolony...

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

16

Odp: Jak to jest z sektorami 512b ??

Od strony osa: po odczycie ilości bajtów określonej w dbyt do bufora czytany jest bajt sumy kontrolnej (suma bajtów z bufora z przeniesieniami) i jeśli ona się zgadza z szyny szeregowej czyta się jeszcze bajt statusu i odczyt jest zakończony (przerwania blokowane itd.). Teoretycznie (nie sprawdzałem) więc powinno wystarczyć takie skonstruowanie 129 pierwszych bajtów sektora 512, żeby 128 to były dane a potem suma i os nie powinien czuć się oszukany.

Edit: Można by nawet nie przejmować się sumą kontrolną i ją olać nie przejmując się błędem. Ale to pewnie masz przećwiczone na sobie.

Ostatnio edytowany przez mono (2010-01-21 14:17:34)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

17

Odp: Jak to jest z sektorami 512b ??

więc powinno wystarczyć takie skonstruowanie 129 pierwszych bajtów sektora 512, żeby 128 to były dane a potem suma

Teoretycznie. Niestety akurat SDX zapisuje w pierwsym sektorze zmienne dane w rodzaju liczby wolnych sektorów, więc trudno byłoby osiągnąć stan, w którym ta pseudosuma kontrolna jest zawsze aktualna. Poza tym BIOS IDEI nie zlicza żadnych sum kontrolnych, bo i po co :)

KMK
? HEX$(6670358)