To ja sie wtrace na chwile. Moja wiedza o stacji i loaderach jest zerowa nie wiem jak je napisac ale mam pojecie jak one dzialaja i prosze przeczytac calosc tekstu.
Uproszczenie, ktore moze pozwoli zrozumiec mechanizm od czego zalezy \"szybkosc\" loadera.
Najpierw o loaderach ktore czytaja pliki z przeplotem z jakim zostaly zapisane na dyskietce. Czyli loader szuka kolejnych sektorow pliku.
Zakladam, ze po stronie c-64 caly rastertime jest przeznaczony dla loadera. Przy transmisji dwubitowej przeslanie 256 bajtow powinno miescic sie w ramke.
Predkosc dzialania loadera po stronie stacji, to szybkosc dzialania kodu odczytu sektora w GCR i konwersji danych GCR->C-64 i przeslanie danych do C-64.
Najwazniejszy jednak jest ten czas uplywajacy po wczytaniu sektora do pamieci stacji dyskow !!!.
Dyskietka caly czas sie obraca, a czas uplywa i tu pojawia sie sedno.
Ten czas mozna sobie przeliczyc na to ile sektorow ucieknie pod glowica, ktora nie odczytuje danych !!!. No i dla mnie przy tych zalozeniach jest
to logiczne, ze szybszy jest loader ktoremu uciekna 4 sektory od tego
ktoremu ucieknie 8 czy 10 sektorow !.
Jezeli zapisze plik na dyskietce z przeplotem 4 i loader wyrabia sie z predkoscia przeplotu 4 to plik zostanie wczytany 2xszybciej niz dla loadera wyrabiajacego sie z przeplotem 8 dla pliku zapisanego z przeplotem 8.
Teraz, zeby nie bylo tak cacy to wiadomo, ze po stronie C-64 nie mamy wolnego calego rastertime\'u. Wplynie to na predkosc transmisji danych ze stacji do C-64 a co za tym idzie pod glowica bedzie uciekac wieksza ilosc sektorow !!! Takze super-szybki loader nie bedzie juz taki szybki jak nam sie wydaje jezeli pliki na dysku nie zostana zapisane z odpowiednim przeplotem !!!. Moze byc tak, ze dla loader\'a ktory wyrabia sie z wczytywaniem z przeplotem 4 nalezy pliki zapisywac z przeplotem 6, 8, 10 itp. trzeba dobrac przeplot pliuk recznie zeby otrzymac 100% efektywnosc dzialania loadera.
Lopatologicznie, jak zapisze plik z przeplotem 4 i mam obciazony rastertime i glowicy ucieknie 6 sektorow to loader i tak sie posra bo bedzie czekal jeden obrot na to zeby zlapac sektor danych.
I tu Skull cos dla Ciebie czego ja dluuuuuugo nie rozumialem.
Loader jest szybki, plik jest zapisany z takim przeplotem, ze loader zapierdala i nie traci czasu na pelne obroty, ale mimo to stacja czeka! na kolejny sektor danych.
I tu ktos wpadl na pomysl, zeby w to oczekiwanie po stronie C-64
wrzucic dekranczowanie danych !!! Tu trzeba tez pamietac ze dane
w c-64 sa umieszczane liniowo bajt za bajtem i dlatego mozliwy jest dekrancz.
Nawet niech wszystkie pliki zostana zapisane z przeplotem 4 dla loadera 4 to jezeli w trakcie wczytywania loader traci ten jeden obrot 0,2 s to jest to 10 ramek dla c-64 do dekranczowania (dokladniej 10 obciazonych ramek).
Dekranczowane sa wczytane dane w C-64, jak stacja zlapie sektor to wczytuje dane/konwertuje, C-64 nadal moze dekranczowac dane.
Stacja daje sygnal, ze ma przeslac dane, C-64 przerywa dekrancz i odbiera dane ze stacji. To juz nie jest taka prosta petla odbior danych.
Trzeba sobie uswiadomic, ze taka prosta petla co tylko odbiera dane
ze stacji jest bezczynna jezeli stacja czeka na synchronizacje/zlapanie
sektora z danymi ktory jej uciekl pod glowica.
Inna sprawa jest loader, ktory potrafi wczytywac pliki bez wzgledu na przeplot z jakim zostaly zapisane. Tu potrzebny jest szybki sam w sobie loader, ale potrzebny jest skaner sektorow nalezacych do pliku.
W wypadku gdy rastertime jest obciazony i dla loadera o predkosci wczytywania 4 pod glowica ucieknie 6 sektorow, to loader sprawdza
czy ten sektor pod glowica nalezy do wczytywanego pliku. Skoro
nalezy do pliku to stacja go wczytuje i musi obliczyc przeslac blok danych pod okreslony adres w pamieci w C-64.
Takze w takim wypadku w C-64 dane nie sa umieszczane liniowo tylko blokami i w przestrzeni pamieci gdzie ma byc wczytany plik sa dziury.
Tutaj nie wiem czy jest jakis loader ktory od razu potrafi takie dane
dekranczowac.
Taki loader jest \"najlepszym\" rozwiazaniem, mozna go jeszcze oszukiwac
i zapisywac pliki tak aby na jednej sciezce byly zapisane dane tylko jednego pliku.
Jezeli wczytujemy plik zkranczowane to po wczytaniu trzeba je jeszcze zdekranczowac.
Dlatego wychodzi na to, ze loader z dekranczerem moze byc najszybszy.
Tylko trzeba wiedziec z czego sie korzysta i jak przygotowac dane.
Tylko, ze sa efekty ktore maja zmienne uzycie rastertimeu, przydalby sie
file kopier ktory potrafilby nagrywac pliki z przeplotem zmiennym w czasie. np.
1 sektor danych
2 sektor danych, +4 w stosunku do 1
3 sektor danych, +6 w stosunku do 2
itp.
Jezeli opisalem oczywiste rzeczy i kazdy to wie i rozumie to sorry.