Rozdział 16 - Pamięć taśmowa

Jak wspomniano w rozdziale 1, a co również doświadczyłeś już zapewne wielokrotnie, wyłączając ZX81 tracisz cały program wraz ze wszystkimi zawartymi w nim zmiennymi. Jedynym sposobem zachowania ich jest nakazanie komputerowi zapisanie ich na taśmę kasetową, a później będziesz mógł je ponownie załadować i komputer zostanie przywrócony do praktycznie takiego samego stanu, jak w czasie wykonywania zapisu na taśmę.

Wraz z ZX81 dostałeś parę przewodów, które łączą ZX81 z magnetofonem kasetowym. Magnetofon musisz sobie zorganizować we własnym zakresie - niektóre pracują lepiej, inne gorzej.

Po pierwsze, jeśli chodzi o wykorzystanie z ZX81, tanie, przenośne magnetofony monofoniczne są co najmniej tak samo dobre jak te drogie, stereofoniczne, a przysparzają także mniej kłopotów. Bardzo przydaje się licznik taśmy.

Po drugie, magnetofon kasetowy musi posiadać gniazdko mikrofonowe oraz gniazdko słuchawkowe (jeśli takiego brak, to wypróbuj gniazdko wyjścia na zewnętrzny głośnik). Powinny to być gniazdka przystosowane do 3,5mm wtyków typu minijack znajdujących się na dołączonych do ZX81 przewodach, ponieważ inne zwykle nie zapewniają odpowiednio mocnego sygnału dla ZX81.

Każda taśma kasetowa powinna działać, lecz preferowane są kasety nisko szumowe.

Gdy wyposażyłeś się w odpowiedni magnetofon kasetowy, podłącz go do komputera: jeden przewód powinien łączyć gniazdko wejścia mikrofonowego w magnetofonie z gniazdkiem oznaczonym "MIC" na boku ZX81, a drugi łączy gniazdko wyjścia słuchawkowego w magnetofonie z gniazdkiem "EAR" w ZX81. Upewnij się, iż przewody nie skrzyżowały się (chociaż nic się nie stanie ZX81 w takim przypadku).

Wpisz jakiś program do komputera, powiedzmy ten z rozdziału 11 wypisujący zestaw znaków. Przy zapisie programowi będzie należało nadać jakąś nazwę, a dobrym pomysłem jest umieszczenie tej nazwy w programie, aby pojawiała się na listingach - najprościej za pomocą polecenia REM. Zatem wpisz:

5 REM "ZNAKI"

 Teraz - a jest to tylko pusta próba, abyś zobaczył co się dzieje - wpisz:

SAVE "ZNAKI"

i obserwuj telewizor. Przez pięć sekund ekran będzie szary, następnie przez około sześć sekund zobaczysz wzór złożony z cienkich czarnych i białych pasków, a na koniec ekran stanie się biały z komunikatem 0/0. Komputer wysyłał sygnał do gniazdka "MIC", lecz również ten sam sygnał wysyłał do telewizora wytwarzając obserwowany przez ciebie obraz. Początkowy szary obraz był cichą rozbiegówką, a czarne i białe pasy były programem.

 

Oczywiście chciałbyś teraz zapisać ten sygnał na taśmie, zatem zróbmy to poprawnie tym razem.

 

Zapisywanie programu

  1. Ustaw taśmę w pustym miejscu lub w tym, które może być nadpisane.
  2. Używając mikrofonu nagraj siebie mówiącego "znaki". Nie jest to istotne, lecz ułatwi później znalezienie programu. Połącz komputer z magnetofonem.
  3. Wpisz:

        SAVE "ZNAKI"       (bez NEWLINE)
  4. Włącz nagrywanie na magnetofonie.
  5. Naciśnij NEWLINE.
  6. Obserwuj telewizor jak poprzednio. Gdy pojawi się komunikat 0/0, zatrzymaj magnetofon.

Aby upewnić się, iż wszystko zadziałało, powinieneś teraz przesłuchać taśmę przez głośnik magnetofonu (pewnie będziesz musiał wyjąć wtyczkę z gniazdka słuchawkowego w magnetofonie kasetowym). Przewiń taśmę na początek, gdzie rozpocząłeś nagrywanie i odtwórz ją.

Najpierw usłyszysz swój własny głos mówiący "znaki".

Później będzie miękki, bzyczący dźwięk. To nie jest część nagrania, lecz końcówka sygnału telewizyjnego (zanim nacisnąłeś NEWLINE), który również został przesłany na magnetofon.

Teraz pojawi się pięciosekundowa cisza, początek właściwego sygnału dla taśmy. Odpowiada to okresowi, gdy ekran telewizora stał się szary.

Następnie pojawi się około sześciu sekund bardzo zniekształconego, wysokotonowego pisku, który przy pełnej głośności powinien być bardzo nieprzyjemny. To jest nagranie programu i odpowiada czarnym i białym paskom na ekranie telewizyjnym.

Na koniec powróci miękkie brzęczenie..

Jeśli nie usłyszysz tych brzęczeń i pisków, to sprawdź, czy połączyłeś prawidłowo komputer z magnetofonem. W niektórych typach magnetofonów zdarza się, iż sygnał nie dochodzi z powodu niedokładnego włożenia wtyczki do gniazdka. Spróbuj docisnąć wtyczki - zwykle wyczuwa się, gdy weszły poprawnie w gniazdko.

 

Teraz załóżmy, iż dla ludzkiego ucha nagranie brzmiało w porządku i chcesz spróbować załadować je z powrotem do komputera.

 

Odczyt programu z nazwą

  1. Przewiń taśmę do miejsca, gdzie rozpoczyna się nagranie.
  2. Upewnij się, iż gniazdko "EAR" w komputerze jest połączone z gniazdkiem słuchawkowym w magnetofonie kasetowym.
  3. Ustaw na magnetofonie potencjometr głośności na około trzy czwarte maksimum; jeśli magnetofon wyposażony jest w regulację barwy dźwięku, to soprany ustaw na maximum, a basy ściągnij na minimum (aby dźwięk był świszczący).
  4. Wpisz:

        LOAD "ZNAKI" (znów bez naciskania NEWLINE)
  5. Uruchom odtwarzanie na magnetofonie.
  6. Naciśnij NEWLINE.

Znów zobaczysz obraz nagrania w telewizorze, lecz tym razem będzie on inny - przez cały czas pojawi się wzór z czarnych i białych pasów.  Obie części nagrania, cisza i program, będą trudniej rozróżnialne, lecz powinieneś zauważyć, iż program posiada szersze, bardziej zdecydowane pasy (wypróbuj kiedyś ćwiczenie 1).

Po piętnastu sekundach program powinien się załadować i zatrzymać z komunikatem 0/0. W przeciwnym razie naciśnij przycisk BREAK (spacja), który wybawi komputer z kłopotu.

Najczęstszą przyczyną niepowodzenia odczytu jest złe ustawienie poziomu głośności: powinien on być:

(i) wystarczająco głośny, aby fragment z programem był rozróżniany przez komputer,
(ii) nie za głośny, aby fragment z programem nie był zniekształcony (to zdarza się raczej rzadko),
(iii) wystarczająco cichy, aby fragment z ciszą był rozpoznawany jako cisza przez komputer.

Najlepiej jest ustawić poziom głośności tak wysoko, aby fragment z ciszą nie był zbytnio szumiący; możesz to zrobić w trakcie odsłuchiwania nagrania przez głośnik. Jeśli cisza jest niepoprawnie zaszumiona, to możesz mieć inne problemy:

Niektóre magnetofony kasetowe tworzą pętlę sprzężenia zwrotnego z ZX81. Może się to zdarzyć tylko gdy przewody EAR i MIC są podłączone w tym samym czasie, zatem lekarstwem jest zapisywanie z wyjętym przewodem EAR.

Niektóre magnetofony kasetowe mogą nagrywać przydźwięk sieciowy. Pozbywasz się go zasilając magnetofon z baterii w trakcie nagrywania.

Niektóre magnetofony - szczególnie te stare i zużyte - szumią same z siebie. Można temu zaradzić stosując taśmy lepszej jakości, chociaż nie powinno to być konieczne.

Spróbuj wyczyścić głowicę w magnetofonie kasetowym w przypadku, gdy jest zabrudzona.

Na koniec mogą występować problemy z wetknięciem wtyczki do gniazdka słuchawkowego, co wspomniano wcześniej przy gniazdu mikrofonowym.

 

Jeśli masz zapisany na taśmie program i nie możesz sobie przypomnieć jego nazwy, wciąż da się go załadować (wypróbuj to z programem "ZNAKI", który używałeś przedtem).

 

Odczyt programu bez nazwy

  1. Ustaw taśmę w miejscu cichej rozbiegówki.
  2. Sprawdź wszystko i ustaw potencjometry jak poprzednio.  Możesz odkryć, iż musisz bardziej uważać na poziom głośności, niż przy odczycie programu z nazwą.
  3. Wpisz:

        LOAD
    "" (bez NEWLINE)
  4. Włącz odtwarzanie na magnetofonie.
  5. Naciśnij NEWLINE.
  6. Reszta jest jak przedtem.

Jeśli jako nazwę podasz pusty łańcuch znaków, to komputer załaduje pierwszy program, na jaki natrafi na taśmie. Zauważ, iż przy zapisie programu nie możesz nadać mu jako nazwy pustego łańcucha znakowego - jeśli mimo to spróbujesz, otrzymasz komunikat błędu F.

Polecenia LOAD i SAVE mogą być również stosowane w programach. Przy SAVE program zapisze się w takim stanie, iż po załadowaniu natychmiast rozpocznie wykonywanie wierszy programu umieszczonych za poleceniem SAVE.

Na przykład wpisz:

    5 REM "BEZUZYTECZNY"
  10 PRINT "TO WSZYSTKO CO ROBI"
  20 STOP
100 SAVE "BEZUZYTECZNY"
110 GOTO 10

Podłącz magnetofon i wpisz:

RUN 100 (bez NEWLINE)

włącz nagrywanie na magnetofonie i naciśnij NEWLINE. Gdy program się sam zapisze, wciąż będzie się wykonywał. Później odkryjesz, że ostatnia literka w BEZUZYTECZNY w wierszu 100 zmieniła się na negatyw, ale nie ma się czym przejmować.

Aby załadować go, przewiń taśmę gdzieś przed początek nagrania, wpisz

LOAD "BEZUZYTECZNY" (bez NEWLINE)

włącz odtwarzanie taśmy do komputera i naciśnij NEWLINE. Po załadowaniu program przejdzie do wiersza 110 i wykona sam siebie bez żadnego działania z twojej strony.

Zauważ, iż umieszczenie polecenia SAVE na końcu programu umożliwia w prosty sposób uruchomienie go bez zapisywania za pomocą rozkazu RUN - nie musisz przeskakiwać przez wiersz z poleceniem SAVE.

Nie zapisuj programu z wnętrza podprogramu - nie będzie to prawidłowo działać.

Nie umieszczaj w nazwie programu znaków w negatywie. Wszystko za znakiem w negatywie zostanie utracone.

Nazwa nie powinna zawierać więcej niż 127 znaków.

Nazwa w poleceniach LOAD lub SAVE nie musi być stałą łańcuchową, może być dowolnym wyrażeniem łańcuchowym w stylu A$ lub CHR$ 100.

 

 

Podsumowanie

Zapisywanie programu na taśmie

Ładowanie programu z nazwą z taśmy

Ładowanie pierwszego dostępnego programu z taśmy

Zapisywanie programu z autostartem

Polecenia: SAVE, LOAD

 

Uwaga:

Nie możesz ładować programów, które zostały zapisane przez jakikolwiek inny komputer lub przez ZX80 za pomocą jego własnego języka BASIC. Twoje zapisane programy nie mogą być ładowane na inny komputer lub na ZX80. Z kolei ZX80 wyposażony w BASIC ZX81 jest kompatybilny z ZX81; zapisane programy przez oba komputery mogą być przez nie odczytywane. Po załadowaniu programu ZX80 komputer ZX81 znajdzie się w trybie FAST.

 

 

Ćwiczenia

  1. Utwórz taśmę z zapisami krótkich programów, włącz odtwarzanie dla komputera i wpisz

LOAD "TO NIE JEST NAZWA PROGRAMU"

Powinieneś z łatwością móc zobaczyć różnicę na telewizorze pomiędzy pustymi przerwami na taśmie (z względnie nieregularnym biało czarnym wzorem) oraz programami (z bardziej określonymi liniami). Oba wzory różnią się od wzorów obserwowanych w trakcie zapisu. Jeśli ściszysz głośność w trakcie przechodzenia programu, to zobaczysz, iż obraz przełącza się na wzór pustego miejsca, ponieważ sygnał wejściowy jest zbyt słaby, aby komputer interpretował go jako program.

 

 

  1. Utwórz taśmę, na której pierwszy program po załadowaniu się wyświetli menu (listę pozostałych na taśmie programów), poprosi o wybór programu i załaduje go.

 

 

  1. Wpisz jeszcze raz program "ZNAKI", a następnie wpisz:

LET X=7

aby - chociaż to się nie pojawia w programie - komputer zawierał teraz zmienną X o wartości 7. Teraz zapisz ten program, wyłącz i włącz komputer (aby mieć pewność, że nie ma tu oszustwa) i załaduj ten program z powrotem. Wpisz:

PRINT X

a dostaniesz wynik 7. Polecenie SAVE zapisało nie tylko program, lecz również wszystkie jego zmienne - łącznie z X.

Jeśli chcesz zachować te zmienne przy uruchamianiu programu, musisz pamiętać, aby używać GOTO zamiast RUN (jak wspomniano w rozdziale 9). Możesz uniknąć pamiętania o tym robiąc program z autostartem (stosując SAVE jako wiersz programu).

 

 

  1. Wpisz bardzo długi program, a następnie  na chwilkę odłącz zasilanie. Takie rzeczy czasem same się zdarzają, to nie jest błąd, lecz usterka. Nic nie możesz zrobić tylko zapłakać. Jeśli zdarza ci się to częściej niż jesteś w stanie znieść, to prawdopodobnie dzieje się coś złego i warto zapisywać na taśmie nawet niekompletne programy w trakcie pracy nad nimi.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.