|
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 |
©2026 mgr Jerzy Wałaszek
|

Zamieszczone w tym dodatku omówienie magnetofonu kasetowego ATARI 410™ Program Recorder zawiera następujące tematy:
System operacyjny ATARI zapisuje pliki w blokach o ustalonej długości z szybkością 600 bodów (fizycznych bitów na sekundę). Przy odczytywaniu i zapisywaniu danych pomiędzy komputerami ATARI 400/800 a magnetofonem ATARI Program Recorde używana jest transmisja asynchroniczna. Układ POKEY rozpoznaje każdy bajt danych w tej kolejności: 1 bit startowy (spacja), 8 bitów danych (0 = spacja, 1 = znak), następnie jeden bit stopu (znak). Bajt jest wysyłany/odbierany z bitem najmniej znaczącym jako pierwszym.
Dla znaku używana jest częstotliwość 5327 Hz. Dla spacji częstotliwość wynosi 3995 Hz. Format bajtu danych jest następujący:
Rekordy mają długość 132 bajtów. Rekord rozkłada się następująco: 2 znaczniki do pomiaru prędkości, bajt kontrolny, 128 bajtów danych i bajt sumy kontrolnej. Format rekordu pokazany jest poniżej:
Każdy znacznik ma wartość $55 (szesnastkowo). Łącznie z bitami startu i stopu znaczniki te mają 10 bitów długości. W przypadku idealnym nie powinno być pustej taśmy pomiędzy tymi znacznikami a następującymi za nimi danymi.
Przeznaczeniem tych dwóch znaczników jest ustawienie prędkości transmisji bitów.
Wejściowa szybkość transmisji jest wstępnie ustawiana na nominalne 600 bodów. Jednakże jest ona regulowana przez procedurę SIO w celu zniwelowania odchyłek w prędkości silnika napędowego magnetofonu, rozciągniętej taśmy, itp. Po obliczeniu rzeczywistej szybkości przesyłu bitów zostają odpowiednio ustawione układy odbiorcze. Za pomocą tej metody teoretycznie można obsłużyć prędkości odczytu od 318 do 1407 bodów.
System operacyjny sprawdza szybkość taśmy w następujący sposób: Oprogramowanie ciągle sprawdza stan bitu wejścia szeregowego układu POKEY. Poszukiwany jest bit startu (bit 0), który oznacza początek rekordu. Gdy zostanie znaleziony, system operacyjny zapamiętuje bieżący stan licznika ramek obrazu telewizyjnego w rejestrze VCOUNT układu ANTIC. Ciągle sprawdzając stan bitu wejścia szeregowego, system operacyjny zlicza 20 bitów (koniec znacznika drugiego), a następnie używa zawartość VCOUNT i zapamiętany stan licznika ramek do określenia czasu, który upłynął. Szybkość transmisji do użycia wyprowadzana jest z tego wyniku. Jest to robione dla każdego rekordu.
Bajt kontrolny zawiera jedną z trzech wartości:
Suma kontrolna jest tworzona i sprawdzana przez procedurę SIO, lecz nie umieszcza się jej w buforze we/wy sterownika magnetofonu kasetowego CASBUF [03FD].
Suma kontrolna jest jednobajtową sumą wszystkich bajtów w bieżącym rekordzie, łącznie z dwoma początkowymi znacznikami. Suma kontrolna jest obliczana z uwzględnieniem przeniesienia. Każdy bajt jest dodawany do tej sumy, bit przeniesienia jest również dodawany.
Jak wspomniano wcześniej, każdy rekord składa się z 132 bajtów zawierających bajt sumy kontrolnej. W celu odróżnienia jednego rekordu od drugiego, sterownik magnetofonu kasetowego dodaje ton przed-rekordowy (ang. Pre-Record Write Tone, PRWT) i odstęp po-rekordowy (ang. Post-Record Gap, PRG). PRWT i PRG są czystymi tonami znacznikowymi. Odstęp między-rekordowy (ang. InterRecord Gap, IRG) pomiędzy dowolnymi dwoma kolejnymi rekordami składa się z PRG pierwszego rekordu, po czym następuje PRWT drugiego rekordu. Układ rekordów i odstępów jest następujący:
| PRWT | ZNACZNIK | DANE | PRG | PRWT | ZNACZNIK | DANE | PRG |
| Rekord nr 1 | Rekord nr 2 | ||||||
Długość PRWT i PRG są zależne od trybu otwarcia do zapisu. Są dwa rodzaje trybów IRG: normalny tryb IRG i krótki tryb IRG.
Gdy jest otwierany plik, najbardziej znaczący bit bajtu AUX2 określa tryb. W kolejnych operacjach wyjścia lub wejścia sterownik magnetofonu kasetowego wykonuje ODCZYT/ZAPIS w jednym z dwóch trybów w oparciu o najstarszy bit bajtu AUX2:
| AUX2 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| C |
c = 1 wskazuje, iż kaseta ma być odczytywana/zapisywana w krótkim trybie
IRG (tryb ciągły).
c = 0 wskazuje normalny tryb IRG.
Ten tryb używa się przy odczycie przeplatanym przetwarzaniem danych: t.j. taśma zawsze zostaje zastopowana po odczytaniu każdego rekordu. Jeśli komputer "ZATRZYMA" taśmę i wykona przetwarzanie danych wystarczająco szybko, to następny ODCZYT może wystąpić tak szybko, iż magnetofon kasetowy otrzyma jedynie krótki impuls ujemny na linii sterującej.
W tym trybie taśma nie jest zatrzymywana pomiędzy rekordami, ani przy zapisywaniu, ani przy odczytywaniu.
Przy odczycie program musi wykonać rozkaz odczytu dla każdego rekordu zanim minie on głowicę odczytującą. Jak dotąd jedynym powszechnym zastosowaniem tego trybu jest zapis programów w języku BASIC w wewnętrznej (stokenizowanej) postaci, przy odczycie których BASIC nie ma nic więcej do roboty jak tylko umieszczać odczytane dane w 2pamięci RAM. Tryb ten określają specjalne rozkazy BASIC'a "CSAVE" i "CLOAD".
Może tu wystąpić potencjalny problem. Oprogramowanie zapisujące taśmę musi wytworzyć na niej wystarczająco długie odstępy, aby początek rekordów nie został przegapiony przy odczycie.
Chronometraż dla każdego z trzech odstępów między-rekordowych jest następujący:
Każdy rekord jest zapisywany z następującym chronometrażem: po uruchomieniu silnika i zapisie PRWT czas trwania tonu zależy od powyższego formatu. Następuje rekord, następnie zapisywany jest PRG. Wtedy silnik zostaje zapisany w trybie normalnym, lecz w trybie krótkim IRQ kontynuowany jest zapis tonu znacznikowego.
Zwróć uwagę, iż w trybie normalnym IRG taśma będzie zawierała fragment nieznanych danych z powodu zatrzymania i ponownego uruchomienia silnika. (Taśma może się jeszcze przesuwać do 1 sekundy w zależności od mechanizmu magnetofonu kasetowego). Te nieznane dane mogą być śmieciowymi danymi pozostawionymi z poprzednich zapisów na taśmie.
Funkcja ta jest użyteczna przy określaniu sukcesu odczytu taśmy, szczególnie z rozkazem CLOAD. Tony znacznikowe i odstępy używają różnych częstotliwości dźwięków i szybko nauczysz się dobrych i złych dźwięków wydawanych przez system operacyjny.
Plik składa się z następujących trzech elementów:
Gdy plik zostaje otwarty (jako wyjście), system operacyjny rozpoczyna od zapisu 20-sekundowej rozbiegówki z tonu znacznikowego, po czym system operacyjny wraca do wywołującego go programu, lecz pozostawia taśmę w ruchu zapisując znaczniki.
Licznik przekroczenia czasu ZAPISU/ODCZYTU ustawiony zostaje na około 35 sekund po powrocie systemu operacyjnego. Jeśli czas ten upłynie przed zapisem pierwszego rekordu, taśma zostanie zatrzymana, pozostawiając przerwę pomiędzy rozbiegówką otwierającą a rozbiegówką pierwszego rekordu.

Na każdej taśmie są dwie strony. Każda strona posiada dwie ścieżki, jedną dźwiękową i drugą do nagrań cyfrowych. W ten sposób taśma może być nagrywana w obu kierunkach. Poniżej jest płaski widok fragmentu taśmy.
Taśmy są zapisywane w formacie stereo przy prędkości 17/8 cala na sekundę (4,76 cm/s). Zauważ, iż komputer ATARI 800 wykorzystuje magnetofon kasetowy, który posiada stereofoniczną konfigurację głowicy (nie typu monofonicznego).
Kasetowy program startowy może zostać z kasety magnetofonowej w czasie startu komputera jako część inicjalizacji systemu. Inicjalizacja wykonuje takie funkcje jak zerowanie wszystkich rejestrów sprzętowych, czyszcząc pamięć RAM, ustawiając znaczniki itd.

Po uruchomieniu wszystkich rezydentnych sterowników, jeśli przycisk [START] jest naciskany, to zostanie ustawiony znacznik żądania startu z kasety (ang. Cassette Boot request flag, CKEY [004A]). Jeśli znacznik ten jest ustawiony, podjęta jest próba operacji załadowania programu startowego z kasety.
Należy spełnić następujące wymagania, aby załadować program startowy z kasety:
Jeśli wszystkie te wymagania zostaną spełnione, to system operacyjny odczyta plik startowy z kasety i następnie przekaże kontrolę nad komputerem do oprogramowania, które zostało wczytane. Bardziej szczegółowo proces ładowania pliku startowego z kasety jest opisany poniżej:
Bajt nr 1 nie jest używany w procesie startu z kasety.
Bajt nr 2 zawiera liczbę 128 bajtowych rekordów na kasecie, które mają zostać wczytane jako część procesu startowego (łącznie z rekordem zawierającym tę informację). Liczba ta może być z zakresu od 1 do 255, a 0 oznacza tutaj 256.
Bajty nr 3 i 4 zawierają adres (dolny/górny bajt), pod który rozpocznie się ładowanie pierwszego bajtu tego pliku.
Bajty nr 5 i 6 zawierają adres (dolny/górny bajt), do którego zostanie przekazana kontrola nad komputerem po zakończeniu procesu ładowania. Naciśnięcie klawisza [S/RESET] również przekaże kontrolę pod ten adres przy założeniu, że proces startu się zakończył.
Gdy krok 2 zostanie ukończony, program startu z kasety będzie miał zakończone następujące operacje:
Naciśnięcie klawisza [S/RESET] po pełnym załadowaniu aplikacji spowoduje powtórzenie kroków 6 i 7.

Większość urządzeń ATARI współpracujących z magistralą szeregową posiada dwa identyczne gniazda: jedno jest wejściem magistrali szeregowej, a drugie jest jej rozszerzeniem. Używając tych gniazd i współpracujących z nimi kabli można połączyć urządzenia peryferyjne w łańcuch, jak na poniższym rysunku:
Jednakże magnetofon kasetowy ATARI 410 odbiega od tego schematu. Musi on być zawsze ostatnim urządzeniem w tym łańcuchu, ponieważ nie posiada gniazda rozszerzenia magistrali szeregowej jak inne urządzenia.

Brak gniazda rozszerzenia gwarantuje, iż do systemu nigdy nie zostanie podłączony więcej niż jeden magnetofon kasetowy. System nie potrafi wykryć braku ani obecności magnetofonu kasetowego, zatem można go podłączać i rozłączać wedle woli.
Gdy zajdzie potrzeba otwarcia pliku na kasecie do odczytu lub do zapisu, stosuj się do następujących instrukcji:
Poniższa metoda zapisuje dane cyfrowe bezpośrednio z komputera poprzez jego port we/wy na magnetofonie kasetowym ATARI 410 Program Recorder.
Ten rozkaz załaduje pamięć zawartością, która została poprzednio zapisana. Zakres wypełnianych komórek pamięci jest taki sam jak ten podany w pierwotnym rozkazie SAVE.
Metoda zapisu nie daje żadnej kontroli programowej nad dźwiękiem. Dźwięk jest odtwarzany tylko w tle w celu umilenia spędzenia czasu przy monotonnym procesie ładowania.
| Krok 1: | Postępuj zgodnie z instrukcjami zapisu danych
cyfrowych opisanych powyżej, jednak teraz zamiast standardowego
magnetofonu ATARI 410 używany jest specjalny magnetofon
laboratoryjny ATARI Recording Lab Machine, który zapisuje na taśmie matce z prędkością 7 1/2 cala na sekundę. Magnetofon ten jest urządzeniem bardziej zaawansowanym
od zwykłego magnetofonu kasetowego ATARI i umożliwia on zapis
wybranej ścieżki. W magnetofonie tym należy włączyć zapis prawej ścieżki dla danych cyfrowych. |
| Krok 2: | Użyj kroku 1 do nagrania dźwięku, lecz najpierw przewiń taśmę do początku programu, po czym przełącz nagrywanie na ścieżkę lewą. |
Nie ma żadnego efektywnego sposobu dla programu wykrywania segmentu dźwiękowego, gdy magnetofon odtwarza nagranie. Aby rozwiązać problem synchronizacji, używany jest znacznik synchro do przenoszenia sygnału informującego program, że został odtworzony segment dźwiękowy (segment ten może albo być albo fragmentem muzyki, albo jakąś instrukcją, zależnie od aplikacji).
Mówiąc bardziej precyzyjnie, ponieważ dane dźwiękowe nie posiadają żadnej struktury rekordowej, znacznik synchro nagrany na ścieżce cyfrowej jest mniej więcej jak coś w rodzaju znacznika końca rekordu dla dźwięku. Na przykład, gdy program wykryje ten znacznik synchro, może wtedy zdecydować, co zrobić dalej, np. czy zatrzymać silnik w magnetofonie kasetowym na długie przetwarzanie danych, czy kontynuować odtwarzanie następnego segmentu dźwiękowego.
Sugerujemy, aby programista zablokował klawisz BREAK. Zapobiegnie to przerwaniu programu kasetowego, gdy użytkownik przypadkowo naciśnie klawisz [BREAK]. System operacyjny nie odtworzy częściowego rekordu, o ile użytkownik nie przewinie taśmy do miejsca, w którym ten rekord został zgubiony. Procedura zablokowania klawisza BREAK wygląda następująco:
Ta procedura blokująca powinna być wywoływana w miejscach zmiany trybu graficznego lub wywołań otwierania ekranu.

Programista tworzy jedną lub więcej TAŚM MATEK zgodnie z metodami nagrywania opisanymi w poprzedzającym podrozdziale. Wszystkie taśmy matki ATARI są nagrywane na taśmie szpulowej 1/4 cala przy prędkości 71/2 cala na sekundę. TAŚMA MATKA jest dostarczana do duplikatora jako MATKA ŹRÓDŁOWA.
Duplikator utworzy ze źródłowej taśmy matki roboczą taśmę matkę do końcowej produkcji masowej kaset. Końcowy produkt będzie trzecią generacją oryginału. Oto przebieg tego procesu:
MATKA POŚREDNIA jest zalecana dla duplikatora, ponieważ MATKA ROBOCZA może się uszkodzić lub zużyć przy intensywnym używaniu. MATKA ŹRÓDŁOWA powinna być zarezerwowana tylko do użytku awaryjnego. MATKA POŚREDNIA jest kopią zapasową dla MATKI ROBOCZEJ.
Obecnie ATARI preferuje metodę pętli nieskończonej przy produkcji masowej. MATKA ROBOCZA jest kopiowana w celu utworzenia PĘTLI GŁÓWNEJ. Taśma tej pętli może posiadać dowolną szerokość. Następnie z tej taśmy tworzona jest PĘTLA CIĄGŁA, na którą składają się nagrany segment i krótka, nienagrana rozbiegówka w miejscu połączenia. Tak utworzona pętla zostaje umieszczona w szybkiej maszynie kopiującej, z którą połączone są maszyny podrzędne z załadowanymi szpulami taśmy magnetycznej. Konfigurację pokazuje rys.C-4.
PĘTLA CIĄGŁA w szybkiej maszynie kopiującej jest odczytywana w kółko. Jeśli duplikator chce utworzyć przykładowo po 100 kaset z programem, to na MASZYNY PODRZĘDNE ładowana jest taśma o długości potrzebnej na program razy 100. Na maszynie kopiującej znajduje się licznik, który zostaje ustawiony na 0.
Gdy PĘTLA GŁÓWNA jest ciągle odczytywana, zapisane na niej dane (wszystkie cztery ścieżki naraz) są kopiowane na taśmy w MASZYNACH PODRZĘDNYCH.
Gdy zostanie wykryta pusta rozbiegówka w PĘTLI GŁÓWNEJ, maszyna kopiująca wytwarza specjalny TON ODCINAJĄCY, który zostaje nagrany na jednej lub więcej ścieżkach taśmy na MASZYNIE PODRZĘDNEJ. Licznik jest wtedy zwiększany o jeden.
Każda gotowa taśma z MASZYNY PODRZĘDNEJ zawiera 100 nagranych programów oraz za nimi 100 nagranych TONÓW ODCINAJĄCYCH. Taśma ta zostaje załadowana do automatycznej maszyny lądującej, która nawija ją do pustych kaset C-ZERO.

Wewnątrz pudełka kasety C-0 znajduje się mała pętla czystej rozbiegówki, która jest przymocowana do obu wewnętrznych rolek taśmy. Ładowarka wyciąga tę rozbiegówkę z obudowy, rozcina ją i zlepia z końcem taśmy otrzymanej z maszyny podrzędnej. Rolka w kasecie jest używana do nawinięcia taśmy do wnętrza kasety do momentu wykrycia tonu odcinającego. Wtedy taśma jest przecinana i łączona z pozostałą rozbiegówką połączoną z drugą rolką w kasecie.
Kaseta jest usuwana ręcznie lub automatycznie z ładowarki, a taśma wewnątrz zostaje w pełni przewinięta na początek. Do ładowarki zostaje wtedy załadowana następna kaseta. Nagrane kasety są oblepiane etykietami i umieszczane w pudełkach, po czym rozprowadzane po punktach sprzedaży.

Gdy zostanie uruchomiona produkcja, muszą być pobierane z niej próbki i weryfikowane, zanim dana partia zostanie zatwierdzona i przekazana do sprzedaży.
Kontrolę jakości zwykle wykonuje się przez zabranie pierwszej i ostatniej kasety w partii. ATARI musi otrzymać co najmniej 10 próbek z każdej produkcji masowej dla każdej taśmy matki.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.