Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek |
Stacja robocza Sinclair ZX-81 - rok 1983.
Są to kopie 1 do 1 prawdziwych plików kasetowych, które tworzy ZX-81. W plikach tych zawarta jest kopia obszaru pamięci od $4009 do E_LINE. Nazwa pliku (która jest częścią oryginalnych plików ZX-81) nie jest dołączana do treści tych plików.
W zasadzie są one identyczne z plikami .81. Różnią się tym, iż na końcu każdego pliku mogą być dołączone śmieci. Starsze wersje emulatora Xtender dołączały 1 bajt śmieci. Obecna wersja Xtendera chyba porzuciła ten zwyczaj i zapisuje poprawną długość. Pliki dostępne na ftp.nvg zawierają od 28-38 bajtów śmieci, powstałych prawdopodobnie w programie kopiującym pliki z kaset na dysk. Wydaje się również, iż część plików przeszła przez system plikowy CP/M, który zaokrągla długość plików do wielokrotności 128 bajtów.
Programy, które współpracują z tymi plikami powinny określić poprawną długość z nagłówka pliku (tak robi ZX-81, gdy wczytuje dane z kasety) i odrzucić zbędny nadmiar bajtów.
To w zasadzie nie są prawdziwe pliki ZX-81, programy zawarte na takich plikach nie działałyby na rzeczywistym ZX-81. Emulator Xtender zawiera kilka własnych funkcji, które pozwalają użytkownikowi tworzyć i usuwać katalogi na dysku twardym, prawdopodobnie również go formatować i zapisywać tego rodzaju pliki.
Obszar danych jest ładowany do pamięci ZX-81 pod adres $4009. Zawiera on obszar systemowy (bez pierwszych 9 bajtów), program w języku BASIC, pamięć wideo oraz obszar zmiennych języka BASIC.
Obszar systemowy powinien zawierać poprawne dane. Pewne adresy posiadają bardzo istotne znaczenie:
$4014 definiuje adres końcowy (używane do wyliczenia
długości pliku)
$4029 wskazuje na wiersz programu, który ma
zostać wykonany po załadowaniu (autostart)
$403B
informuje, czy program ma pracować w trybie SLOW lub FAST (bit
6)
Pamięć od adresu 403Ch może być wykorzystywana w dowolnym celu. Wymagany jest obszar wideo, w którym powinno się znaleźć 25 instrukcji HALT, jeśli plik został zapisany w trybie SLOW.
Pliki zwykle nie powinny przekraczać 16 KB. Procedura rozpoznawania pamięci w ZX-81 zatrzymuje się po 16 KB (na adresie $8000) i inicjuje stos pod tym adresem, nawet jeśli jest dostępna większa pamięć. Zatem załadowanie pliku o rozmiarze 16 KB lub więcej spowodowałoby zniszczenie stosu (chyba że osobny program ładujący przesunąłby wcześniej stos w inne miejsce).
Jednakże większość komputerów ZX-81 nie posiadała więcej niż 16 KB RAM, zatem większe pliki i tak by na nich nie działały.
x sekund | - twój głos wypowiadający nazwę pliku (opcjonalnie) |
x sekund | - szum wideo |
5 sekund | - cisza |
1-127 bajtów | - nazwa pliku (w ostatnim znaku ustawiony bit 7) |
bajty danych | - dane, ładowane pod adres $4009, długość ($4014) - $4009 |
1 puls | - sygnał powrotu wideo (jeśli ekran został włączony) |
x sekund | - cisza / szum wideo |
Dane zawierają obszar zmiennych systemowych, program w języku BASIC, pamięć obrazu i obszar zmiennych.
Koniec pliku jest obliczany jak pokazano powyżej. Ostatnim bajtem (czystego) pliku powinien być bajt o wartości $80 (tj. ostatni bajt obszaru zmiennych VARS), po którym może wystąpić tylko szum wideo.
Każdy bajt składa się z 8 bitów (najstarszy najpierw) beż żadnych bitów startu i stopu, jak jest to przyjęte w transmisji szeregowej. Po jednym bajcie bezpośrednio następuje kolejny bajt. Bit 0 składa się z czterech impulsów, bit 1 składa się z dziewięciu impulsów, po których w obu przypadkach następuje okres ciszy:
Każdy impuls trwa w stanie wysokim przez 150µs i w stanie niskim również przez 150µs. Po serii impulsów następuje okres ciszy trwający 1300µs. Dla bitów 0 szybkość transmisji wynosi 400 bodów (bitów na sekundę), dla bitów 1 szybkość transmisji spada do 250 bodów. Średnia prędkość transmisji wynosi 307 bodów (38 bajtów na sekundę) dla plików, które posiadają tyle samo bitów równych 0 co 1.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.