SELF TEST

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 22:28, 15 gru 2013
Krótki (Dyskusja | wkład)
(Funkcje - w specyfikacji nuty układają się w inny utwór)
← Previous diff
Wersja z dnia 22:31, 15 gru 2013
Krótki (Dyskusja | wkład)
(Funkcje - +brak sprawdzania Break)
Next diff →
Linia 13: Linia 13:
Jako że SELF TEST miał być przede wszystkim dodatkiem wspomagającym sprzedaż komputerów, jego funkcjonalność ucierpiała kosztem efektowności: Jako że SELF TEST miał być przede wszystkim dodatkiem wspomagającym sprzedaż komputerów, jego funkcjonalność ucierpiała kosztem efektowności:
* Test pamięci nie uwzględnia pamięci RAM pod ROM-em, ani RAM pod obszarem kartridża, gdy ten jest włożony (lub gdy włączony jest wbudowany BASIC). Nie są też testowane obszary $0000-$03FF, $3000-$33FF (pamięć ekranu SELF TEST-u) i $5000-$53FF (RAM pod ROM-em SELF TEST-u) - program udaje, że testuje te obszary, wywołując pętlę opóźniającą. * Test pamięci nie uwzględnia pamięci RAM pod ROM-em, ani RAM pod obszarem kartridża, gdy ten jest włożony (lub gdy włączony jest wbudowany BASIC). Nie są też testowane obszary $0000-$03FF, $3000-$33FF (pamięć ekranu SELF TEST-u) i $5000-$53FF (RAM pod ROM-em SELF TEST-u) - program udaje, że testuje te obszary, wywołując pętlę opóźniającą.
-* Test klawiatury w trybie ALL TESTS jest bezużyteczny - klawiaturę można przetestować tylko fizycznie naciskając klawisze. W tym trybie zaś naciskanie klawiszy jest udawane programowo. Co ciekawe, naciskane klawisze układają się w hasło, którego treść jest zależna od wersji systemu (zob. [[#Wersje|Wersje]]).+* Test klawiatury nie sprawdza klawisza Break. Ponadto w trybie ALL TESTS jest bezużyteczny - klawiaturę można przetestować tylko fizycznie naciskając klawisze. W tym trybie zaś naciskanie klawiszy jest udawane programowo. Co ciekawe, naciskane klawisze układają się w hasło, którego treść jest zależna od wersji systemu (zob. [[#Wersje|Wersje]]).
== Uruchomienie == == Uruchomienie ==

Wersja z dnia 22:31, 15 gru 2013

Grafika:Self_test_main.png

Wbudowany w komputery Atari serii XL oraz XE program, pozwalający zarówno nabywcy jak i serwisantowi przetestować sprawność podstawowych elementów komputera. Zaprojektowany na potrzeby komputera 1200XL i zaprogramowany przez Michaela Colburna, miał "wzbudzać zaufanie użytkownika do własnego komputera, oraz wspomagać sprzedaż", przy czym "forma jest ważniejsza od funkcjonalności".

Spis treści

Funkcje

W skład SELF TEST-u wchodzą 3 testy:

  • MEMORY - test pamięci ROM i RAM, układu Antic. Testowane są też diody L1 i L2 komputera 1200XL - mrugają one na zmianę podczas testu kolejnych kilobajtów RAM.
  • AUDIO-VISUAL - test dźwięku generowanego przez układ POKEY, oraz obrazu generowanego przez układy Antic i GTIA. Charakterystyczny motyw wygrywany na czterech kolejnych kanałach dźwiękowych to sześć pierwszych nut utworu "Promenada" Modesta Musorgskiego ("Obrazki z Wystawy", cz. 1). (W specyfikacji, powstałej jeszcze zanim podjęto ostateczną decyzję co to melodii, nuty na szkicu ekranu AUDIO-VISUAL przedstawiają pięciotonowy motyw z filmu Bliskie spotkania trzeciego stopnia.)
  • KEYBOARD - test klawiatury obsługiwanej przez układy POKEY i GTIA, oraz dźwięku generowanego przez POKEY.

Dodatkową opcją jest ALL TESTS - program wykonuje wtedy wszystkie powyższe testy po kolei. Dwa pierwsze testy wykonują się same, natomiast test klawiatury "udaje" naciśnięcie kilkunastu klawiszy przez użytkownika.

Jako że SELF TEST miał być przede wszystkim dodatkiem wspomagającym sprzedaż komputerów, jego funkcjonalność ucierpiała kosztem efektowności:

  • Test pamięci nie uwzględnia pamięci RAM pod ROM-em, ani RAM pod obszarem kartridża, gdy ten jest włożony (lub gdy włączony jest wbudowany BASIC). Nie są też testowane obszary $0000-$03FF, $3000-$33FF (pamięć ekranu SELF TEST-u) i $5000-$53FF (RAM pod ROM-em SELF TEST-u) - program udaje, że testuje te obszary, wywołując pętlę opóźniającą.
  • Test klawiatury nie sprawdza klawisza Break. Ponadto w trybie ALL TESTS jest bezużyteczny - klawiaturę można przetestować tylko fizycznie naciskając klawisze. W tym trybie zaś naciskanie klawiszy jest udawane programowo. Co ciekawe, naciskane klawisze układają się w hasło, którego treść jest zależna od wersji systemu (zob. Wersje).

Uruchomienie

W XL OS do tablicy wektorów dodano wektor uruchamiający SELF TEST o nazwie SLFTSV ($E483); przed skokiem do niego należy włączyć ROM SELF TEST-u, zerując bit 7 rejestru PORTB. Oprócz tego program można uruchomić w następujące sposoby:

  1. włączając komputer bez podłączonej stacji dysków, ale przy wciśniętym klawiszu OPTION; lub
  2. włączając komputer jak powyżej, po zgłoszeniu się BASIC-a wykonać polecenie "DOS"; lub
  3. W Atari BASIC (oraz w jego wersjach rozwojowych, jak BASIC XL, BASIC XE, Turbo BASIC XL), wykonać polecenie "BYE".

1200XL nie ma wbudowanego BASIC-a, wobec czego wystarczy włączyć komputer bez podłączonej stacji dysków. Pokazuje się wtedy na ekranie podkolorowany tęczowo napis "ATARI"; żeby przejść do SELF TEST-u, trzeba nacisnąć klawisz HELP.

Tak naprawdę każdy z tych sposobów nie uruchamia SELF-TEST-u bezpośrednio. Sposoby 1 i 2 powodują skok przez DOSVEC ($0A-$0B), który w przypadku braku DOS-u jest inicjowany przez system na adres (nowego w 1200XL) wektora PUPDIV ("Power-Up Display", $E480). Wektor ten uruchamia ekran z tęczowym napisem "ATARI". Natomiast wpisanie BYE z BASIC-a (sposób 3) powoduje skok do wektora BLKBDV ("Blackboard mode", $E481). Wektor ten w komputerach 400/800 wskazywał na Memo Pad, którego w komputerach XL/XE nie ma. W 1200XL wektor ten został przekierowany i również wskazuje na Power-Up Display. Z kolei w pozostałych komputerach XL/XE oba wektory zostały przekierowane na procedurę uruchamiającą SELF-TEST, zatem skok przez oba wektory BLKBDV, PUPDIV powoduje uruchomienie SELF TEST-u.

Na 1400XL i 1450XLD użycie sposobów nr 1 i 2 spowoduje wyrecytowanie przez komputer krótkiego tekstu przez wbudowany syntezator mowy: na 1400XL będzie to "Atari 1400 Self Test, press Select, Start or Reset", a na 1450XLD "Atari Self Test, press Select, Start or Reset". Dzieje się tak, mimo że program SELF TEST-u jest w tych komputerach taki sam jak w 800XL - to wbudowany sterownik syntezatora mowy (który jest nowym urządzeniem) przejmuje na chwilę kontrolę ustawiwszy odpowiednio wektor DOSVEC.

SELF TEST (lub w 1200XL ekran Power-Up Display) może też zgłosić się nieproszony: jeśli po włączeniu komputera na ekranie ukazuje się menu główne SELF TEST-u, świadczy to o kłopotach z odczytem wstępnym (bootem) ze stacji dysków lub magnetofonu. Natomiast jeśli od razu otwiera się opcja MEMORY, nie jest to dobry objaw, gdyż oznacza, że systemowi nie wyszedł przeprowadzony po włączeniu zasilania test pamięci: komputer w tej sytuacji jest przypuszczalnie do naprawy.

Wersje

SELF TEST ewoluował wraz z komputerami serii XL/XE:

  1. Pierwsza wersja wchodziła w skład XL OS-u we wszystkich komputerach XL i wczesnych XE. W tej wersji klawisze naciskane w teście klawiatury w trybie ALL TESTS układają się w hasło zależne od wersji systemu:
    1. W wersjach AA0r10, AA1r11, BB0r1 (1200XL, wczesne 600XL i 800XL): "Michael Colburn"
    2. W wersji BB1r2 (późne 600XL i 800XL, wczesne 65XE i 130XE): "Copyright1983Atari"
    3. W prototypowych BB2r3 (1400XL, 1450XLD): "Copyright1981Atari"
  2. W prototypowej wersji CC1r4 (dla 800 XL i 900XLF) poprawiono test klawiatury - zmieniono układ klawiatury i usunięto z niego nieobecne w nowych modelach komputerów klawisze F1-F4. Hasło w teście klawiatury po raz kolejny uległo zmianie, na "Copyright1984Atari".
  3. W wersjach BB1r3, BB1r4 i BB1r59 (późne 65XE i 130XE, wszystkie XEGS, arabski 65XE) dokonano jedynych poważnych zmian w Self Teście:
    1. Test pamięci działa szybciej oraz, zamiast mrugać nieistniejącymi diodami, testuje dodatkową pamięć 130XE, aczkolwiek zaimplementowano to błędnie - testowane są tylko 2 z 4 dodatkowych banków, każdy dwukrotnie. Aby uzyskać miejsce na powyższą nową funkcję, przepisano nieco test AUDIO-VISUAL.
    2. W teście klawiatury dostosowano układ klawiszy do modeli XE i usunięto klawisze F1-F4, aczkolwiek w nieco inny sposób niż w wersji CC1r4. Hasło w trybie ALL TESTS tym razem brzmi "Copyright1985Atari".

Lokalizacja

Fizycznie SELF TEST stanowi część ROM-u z XL OS-em. Zajmuje w nim nieco ponad 2k. W większości normalnie niewidoczny, gdyż ta część OS-u "przykryta" jest rejestrami sprzętowymi, ujawnia się 32k niżej (adresy $5000-$57FF), gdy bit 7 rejestru PORTB zostanie skasowany.

W części alternatywnych systemów dla XL/XE (QMEG OS, DracOS) SELF TEST-u nie ma. Natomiast w 400/800 wykonanie czynności, które w XL OS-ie wywołują SELF TEST, powoduje przejście OS-u w tryb MEMO PAD.

Literatura

Personal tools