SELF TEST

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 13:04, 6 gru 2013
KMK (Dyskusja | wkład)

← Previous diff
Aktualna wersja
Krótki (Dyskusja | wkład)
(Wersje - Mój błąd, żaden OS dla 1450XLD nie ma roku 1981 w teście klawiatury.)
Linia 1: Linia 1:
{{grafr|Self_test_main.png}} {{grafr|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. Test obejmuje:+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 [[Michael Colburn|Michaela Colburna]], miał "wzbudzać zaufanie użytkownika do własnego komputera oraz wspomagać sprzedaż", przy czym "wygląd jest ważniejszy od tego, czy program dobrze wypełnia swoją funkcję".
-* Memory test - test pamięci ROM i RAM, oraz układu [[Antic]].+== Funkcje ==
-* 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 "[http://www.youtube.com/watch?v=sCbKfqf9TPg Promenada]" Modesta Musorgskiego ("Obrazki z Wystawy", cz. 1).+W skład SELF TEST-u wchodzą 3 testy:
-* Keyboard - test klawiatury obsługiwanej przez układy [[POKEY]] i [[GTIA]], oraz dźwięku generowanego przez ten ostatni (tzn. kliku klawiatury).+
-Dodatkową opcją jest "All tests" - program wykonuje wtedy wszystkie powyższe testy po kolei. Dwa pierwsze testy wykonują się same, natomiast test klawiatury wymaga od użytkownika naciskania klawiszy i obserwowania reakcji komputera.+* 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 "[http://www.youtube.com/watch?v=sCbKfqf9TPg 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 [http://pl.wikipedia.org/wiki/Bliskie_spotkania_trzeciego_stopnia Bliskie spotkania trzeciego stopnia].)
 +* KEYBOARD - test klawiatury obsługiwanej przez układy [[POKEY]] i [[GTIA]], oraz dźwięku generowanego przez POKEY.
-== Uruchomienie ==+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.
-Uruchomienie programu SELF TEST można uzyskać w następujący sposób:+Jako że SELF TEST miał być przede wszystkim dodatkiem wspomagającym sprzedaż komputerów, jego funkcjonalność ucierpiała na rzecz efektowności:
 +* Test pamięci nie uwzględnia pamięci RAM pod ROM-em, ani RAM pod obszarem wbudowanego BASIC-a, gdy ten jest włączony. Nie są też testowane obszary $0000-$03FF, $3000-$33FF (pamięć ekranu SELF TEST-u) i $5000-$57FF (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|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 [[Rejestry PIA#PORTB|PORTB]]. Oprócz tego program można uruchomić w następujące sposoby:
# włączając komputer bez podłączonej stacji dysków, ale przy wciśniętym klawiszu OPTION; lub # włączając komputer bez podłączonej stacji dysków, ale przy wciśniętym klawiszu OPTION; lub
-# włączając komputer jak wyżej, ale bez wciskania czegokolwiek; gdy zgłosi się [[Atari BASIC]], wykonać polecenie "BYE"; lub+# włączając komputer jak powyżej, po zgłoszeniu się BASIC-a wykonać polecenie "DOS"; lub
-# włączając komputer jak powyżej, po zgłoszeniu się BASIC-a wykonać polecenie "DOS".+# W [[Atari BASIC]] (oraz w jego wersjach rozwojowych, jak [[BASIC XL]], [[BASIC XE]], [[Turbo BASIC XL]]), wykonać polecenie "BYE".
-Trzeba pamiętać, że np. [[1200XL]] nie ma wbudowanego BASIC-a, wobec czego wystarczy włączyć komputer bez podłączonej stacji dysków. Pokazuje się wtedy na ekranie logo Atari, żeby przejść do SELF TEST-u, trzeba nacisnąć klawisz HELP.+[[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.
-Z kolei na [[1400XL]] i [[1450XLD]] użycie sposobów nr 1 i 3 spowoduje wyrecytowanie przez komputer krótkiego tekstu przez wbudowany syntezator mowy: na 1400XL będzie to "[[media:Atari1400xl.mp3|Atari 1400 Self Test, press Select, Start or Reset]]", a na 1450XLD "[[media:Atari1450xld.mp3|Atari Self Test, press Select, Start or Reset]]". Dzieje się tak, mimo że program SELF TEST-u jest w tych komputerach identyczny jak w [[800XL]] - to wbudowany sterownik syntezatora mowy (który jest [[nowe urządzenia|nowym urządzeniem]]) przejmuje na chwilę kontrolę ustawiwszy odpowiednio wektory systemowe (konkretnie wektor DOSVEC $0A/$0B).+Tak naprawdę żaden 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", $E471). 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.
-SELF TEST może też ukazać się na ekranie 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ę "Memory test", 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.+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 "[[media:Atari1400xl.mp3|Atari 1400 Self Test, press Select, Start or Reset]]", a na 1450XLD "[[media:Atari1450xld.mp3|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 [[nowe urządzenia|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 == == Wersje ==
-Istnieją co najmniej trzy wersje SELF TEST-u, różniące się szczegółami:+SELF TEST ewoluował wraz z komputerami serii XL/XE:
- +# 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:
-# w 1200XL: jak wspomniano wyżej, po uruchomieniu zamiast menu głównego pokazuje się logo Atari.+## W wersjach AA 0.10, AA 1.11, BB 0.1 ([[1200XL]], wczesne [[600XL]] i [[800XL]]): "Michael Colburn"
-# w pozostałych modelach [[XL]] oraz wczesnych modelach [[XE]]: najbardziej znana wersja.+## W wersji BB 1.2 (późne 600XL i 800XL, wczesne [[65XE]] i [[130XE]]): "Copyright1983Atari"
-# w późniejszych modelach [[XE]]: "Memory test" uwzględnia dodatkową pamięć [[130XE]], w teście klawiatury usunięto z ekranu symbole odpowiadające klawiszom F1-F4.+## W prototypowych BB 2.3 ([[1400XL]], [[1450XLD]]): "Copyright1984Atari"
 +# W prototypowej wersji CC 1.4 (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.
 +# W wersjach BB 1.3, BB 1.4 i BB 1.59 (późne 65XE i 130XE, wszystkie [[XEGS]], [[arabski 65XE]]) dokonano jedynych poważnych zmian w Self Teście:
 +## 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.
 +## 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 CC 1.4. Hasło w trybie ALL TESTS tym razem brzmi "Copyright1985Atari".
== Lokalizacja == == 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 [[Rejestry_PIA#PORTB|PORTB]] zostanie skasowany. 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 [[Rejestry_PIA#PORTB|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 == == Literatura ==
* [http://www.atarimuseum.com/ahs_archives/archives/pdf/computers/8bits/1200XL/sweet-16_OS-supplement-1_Self-Test.pdf Sweet 16 OS Supplement 1 - Self Test] * [http://www.atarimuseum.com/ahs_archives/archives/pdf/computers/8bits/1200XL/sweet-16_OS-supplement-1_Self-Test.pdf Sweet 16 OS Supplement 1 - Self Test]
- 
-{{stub}} 
[[Kategoria:Oprogramowanie Atari 8-bit]] [[Kategoria:Oprogramowanie Atari 8-bit]]

Aktualna wersja

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 "wygląd jest ważniejszy od tego, czy program dobrze wypełnia swoją funkcję".

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 na rzecz efektowności:

  • Test pamięci nie uwzględnia pamięci RAM pod ROM-em, ani RAM pod obszarem wbudowanego BASIC-a, gdy ten jest włączony. Nie są też testowane obszary $0000-$03FF, $3000-$33FF (pamięć ekranu SELF TEST-u) i $5000-$57FF (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ę żaden 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", $E471). 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 AA 0.10, AA 1.11, BB 0.1 (1200XL, wczesne 600XL i 800XL): "Michael Colburn"
    2. W wersji BB 1.2 (późne 600XL i 800XL, wczesne 65XE i 130XE): "Copyright1983Atari"
    3. W prototypowych BB 2.3 (1400XL, 1450XLD): "Copyright1984Atari"
  2. W prototypowej wersji CC 1.4 (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.
  3. W wersjach BB 1.3, BB 1.4 i BB 1.59 (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 CC 1.4. 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