Szczegóły techniczne
Komputer był sprzedawany jako zestaw do samodzielnego montażu. Pierwsze sprzedane zestawy zawierały: solidną, metalową obudowę o rozmiarach 17"x18"x7" (ok. 43.2x45.7x17.7cm), mogącą pomieścić do 18 kart rozszerzeń, zasilacz 8 amperów, kartę z magistralą systemową (posiadała 4 wolne miejsca na złacza i 2 złącza do wlutowania w płytę), płytę wyświetlacza panelu czołowego (
front panel display board), kartę sterującą panelu czołowego (
front panel control board), kartę z procesorem Intel 8080 (2 MHz, 8 poziomów przerwań), 256 bajtów pamięci RAM (czas dostępu ok. 300ns) instalowanej na karcie z procesorem (na etapie prototypu pamięć znajdowała się na osobnej karcie), elementy elektroniczne oraz kilka kartek z nie najlepszą instrukcją montażu (jej jakość poprawiła się po zatrudnieniu Daniela Bunnell'a jak szefa działu dokumentacji technicznej). Dla osób nie radzących sobie z montażem podano numer telefonu, pod który nie sposób się było jednak dodzwonić, mimo iż MITS zatrudnił dodatkowych pracowników do obsługi infolinii. Taki podstawowy zestaw posiadał kosztował $397 (zmontowany o $101 drożej, jednakże czas oczekiwania na niego był o wiele dłuższy niż na zestaw do montażu).
Późniejsza wersja 8800b posiadała m.in. nowy panel czołowy (zmieniony wygląd, inne przełączniki - długie i płaskie zamiast krótkich i okrągłych; rozmieszczenie diod LED i przełączników pozostało bez zmian), płytę główną z 18 złączami oraz silniejszy zasilacz (18 amperów). W zestawie oprócz karty procesora (z procesorem Intel 8080A) i karty panelu czołowego (display/control board), znajdowała się karta interfejsu (interface board) buforująca sygnały pomiędzy kartą panelu czołowego a magistralą systemową oraz przekazującą za pomocą ośmiu równoległych linii sygnały sterujące z karty panelu czołowego do karty procesora.
Montaż zestawu
Po złożeniu zasilacza i zamocowaniu go w obudowie należało złożyć kartę z magistralą (wlutować 2 dołączone złącza), następnie zmontować panel czołowy i pozostałe karty (powkładać elementy do dziurek na płytkach i ostrożnie polutować; oczywiście nadmiar ciepła z lutownicy mógł uszkodzić delikatne układy scalone lub nawet ścieżki na płytkach, a zbyt mała ilość ciepła prowadzić do tzw. zimnych lutów - przyczyny trudnych do znalezienia usterek). Kolejnym krokiem było włożenie zmontowanych kart do złącz na płycie z magistralą i przetestowanie sprzętu. W pierwszych wersjach panel czołowy podłączany był za pomocą pojedynczych przewodów. W dostarczanym zestawie znajdowały się tylko dwa złącza, więc jakakolwiek dalsza rozbudowa systemu (np. dodatkowa karta pamięci i karta I/O) wymagała dokupienia kolejnych dwóch złączy po $15 za sztukę (i oczywiście wlutowania ich w płytę).
Po wykorzystaniu wszystkich wolnych złączy na magistrali (np. panel czołowy, karta procesora, karta pamięci i złącze szeregowe), należało dodać przynajmniej jedną kartę przedłużającą magistralę (cztery dodatkowe złącza; $16 jako zestaw i $31 zmontowana). W tym celu trzeba było całkowicie zdemontować komputer, wykonać dwa razy po sto punktów lutowniczych aby połączyć obie, tzn. starą i nową kartę z magistralą i ponadto po 100 punktów lutowniczych dla każdego złącza na nowej magistrali, a następnie oczywiście złożyć wszystko ponownie w całość, przetestować etc. Jak widać, trzeba było umieć dobrze posługiwać się lutownicą by móc zajmować się komputerami w latach siedemdziesiątych.
Późniejsze modele: 8800a (początek 1976) i 8800b (marzec 1976) posiadały płytę z magistralą wyposażoną w 18 złączy, silniejszy zasilacz oraz inne udogodnienia. Model 8800a wyglądał praktycznie identycznie jak 8800. Jedyną widoczną z zewnątrz różnicą była płytka z logo firmy. Model 8800b Turnkey (lub 8800bt) był wersją pozbawioną przełączników i diod na panelu czołowym (pozostawiono jedynie dwa przełączniki). Specjalna karta Turnkey Module zawierała BootROM który automatycznie uruchamiał system operacyjny z dysku elastycznego przy włączeniu zasilania. Istniała także możliwość, aby BootROM wykonał skok do określonego adresu w pamięci kontrolera napędu dyskietek. Konkretny adres skoku ustawiało się przy pomocy przełączników DIP na Turnkey Module.
Porównanie modeli Altair 8800
|
|
8800
|
8800a
|
8800b
|
8800bt
|
|
Wprowadzenie
|
01.1975
|
10.1975/03.1976?
|
03.1976/08.1976?
|
10.1977?
|
|
Procesor
|
8080
|
8080
|
8080A
|
8080A
|
|
Zasilacz
|
bez specyfikacji
|
8 amperów
|
18 amperów
|
18 amperów
|
|
Wentylator
|
Opcjonalnie
|
Tak
|
Tak
|
Tak
|
|
Płyta główna
|
4 złącza, możl. rozbudowy
|
pojedyncza, 18 złączy
|
pojedyncza, 18 złączy
|
pojedyncza, 18 złączy
|
|
Przełączniki na panelu czołowym
|
Krótkie okrągłe
|
Długie płaskie
|
Długie płaskie
|
Tylko 2 przełączniki
|
|
Podłączenie panelu czołowego
|
Przewody
|
Przewody
|
Złącze krawędziowe
|
Kabel (taśma)
|
Możliwości rozbudowy systemu
Zestaw podstawowy zawierał jedynie 256 bajtów pamięci (co w zasadzie wystarczało tylko do sprawdzenia, że urządzenia działa). Taka konfiguracja nie pozwalała rozwiązywać przy pomocy tej maszyny żadnych "prawdziwych" zadań, jednakże system był skonstruowany z myślą o jego rozbudowie. Sposób budowy systemu w oparciu o magistralę
S-100 bus stał się standardem na najbliższe 5 lat. MITS oraz inne firmy oferowały karty rozszerzające (
expansion boards), np. pamięć 1kB, 2kB, 4kB lub 16kB, złącze szeregowe, równoległe, napęd dysków elastycznych z kontrolerem itd.
Jednym z najpopularniejszych rozszerzeń dla Altaira był terminal ASR-33 Teletype składający się z drukarki, klawiatury i pamięci masowej (czytnik/dziurkacz taśmy perforowanej) umożliwiającej zapisywanie i odczytywanie danych. Niestety nowy ASR-33 kosztował $2 000 i był sprzedawany wyłącznie na zamówienie złożone z rocznym wyprzedzeniem. Używane urządzenia tego typu można było dostać za ok. $1 200-1 500. Terminale z ekranem w 1975 r. dopiero zaczęły się pokazywać i ich cena, przynajmniej na początku, była poza zasięgiem typowego posiadacza Altaira.
Różne firmy (np. Icom, Tarbell, Micropolis) wytwarzały napędy dyskietek do Altaira. Początkowo MITS opracował kontroler do napędu 8-calowych dyskietek Pertec FD-410, następnie MITS i Icom używały napędów Pertec FD-510 i FD-514 SSDD (wszystkie napędy miały wysokość 2/3).
Jak na owe czasy bardzo solidna konfiguracja Altaira zawierająca 32kB pamięci, jeden napęd dyskietek i terminal kosztowałaby (1976) około $3500 jako zestaw do montażu lub $4750 zmontowana.
(O)programowanie
Na przedniej ściance urządzenia (panelu czołowym) znajdowały się przełączniki służące do wprowadzenia programu (w formie binarnej) oraz diody LED, dzięki którym użytkownik odczytać wynik działania programu. Nie istniało żadne oprogramowanie, użytkownik musiał je sobie po prostu napisać (oczywiście w języku maszynowym).
Praca z Altairem
Panel czołowy Altaira (wersja a, wersja b) zawierał 36 diod LED w dwóch rzędch (czerwone LED T1-3/4) i dwa rzędy przełączników (C&K).
Poszczególne diody LED oznaczają:
- PROTECT (write protect): tryb "tylko do odczytu" dla pamięci
- INTE (interrupt acknowledge): przerwania (interrupts) są dostępne (enable)
- WAIT: praca procesora jest wstrzymana.
- HLDA: procesor potwierdził otrzymanie sygnału HOLD.
- MEMR (memory read): procesor odczytuje dane z pamięci.
- INP (input operation): procesor odczytuje dane z urządzenia zewnętrznego.
- M1 (opcode fetch): procesor "odczytuje" kod instrukcji.
- OUT (output operation): procesor wysyła dane do urządzenia zewnętrznego.
- HLTA (the HLT instruction was encountered): została wykonana instrukcja HLT.
- STACK (a stack operation): magistrala adresowa zawiera adres wskaźnika stosu (stack pointer)
- *WO (memory write): procesor zapisuje dane do pamięci.
- INT (interrupt): procesor potwierdził żądanie przerwania.
- DATA D0-D7: pokazują wartość danego adresu w pamięci, I/O lub akumulatorze.
- MEMORY A0-A15: pokazują adres w pamięci, z którego lub do którego odczytywane/zapisywane są dane.
Funkcje przełączników:
- POWER ON/OFF: włącza/wyłącza zasilanie.
- RUN/STOP: w pozycji RUN procesor wykonuje wprowadzony program; wszystkie funkcje panelu czołowego, z wyjątkiem RESET, są wyłączone; w pozycji STOP wykonywanie programu zostaje wstrzymane; wszystkie funkcje panelu czołowego są dostępne.
- SINGLE STEP/SLOW: pozycja SINGLE STEP oznacza wykonywanie pojedynczych instrukcji wprowadzonego programu lub pojedynczych cykli procesora (w zależności od ustawień) krok po kroku; w pozycji SLOW wykonywane są średnio dwa cykle procesora na sekundę (normalna prędkość pracy to ok. 500 000 cykli/sekundę).
- EXAMINE/EX NEXT: przełącznik ten umożliwia wyświetlenie przy pomocy diod DATA D0-D7 zawartości pamięci pod adresem ustawionym przełącznikami MEMORY A0-A15. EX NEXT zwiększa obecny adres o jeden i wyświetla zawartość kolejnego adresu pamięci.
- DEPOSIT/DEP NEXT: analogicznie do poprzedniej funkcji DEPOSIT pozwala zachować wartość ustawioną w D0-D7 pod adresem pamięci ustawionym w A0-A15; DEP NEXT zapisuję ustawioną wartość pod kolejnym (następnymj) adresem pamięci.
- RESET/EXT CLR: przy pomocy RESET rejestr Program Counter ustawiany jest w pozycji zero a znacznik procesora (CPU flag) "interrupt" w pozycji "enable"; EXT CLR wysyła sygnał na magistralę systemową powodujący wyzerowanie wszystkich wejść/wyjść.
- PROTECT/UNPROTECT: pozwala zabezpieczyć przed zapisem (za pomocą panelu czołowego) blok pamięci (o ile dana karta pamięci posiada taką możliwość).
- ACCUMULATOR DISPLAY/LOAD: umożliwia odczytanie za pomocą D0-D7 zawartości rejestru akumulatora procesora i zapisanie do niego wartości ustawionej pw A0-A7. W wersji 8800b dodane zostały dodatkowe funkcje: OUTPUT ACCUMULATOR umożliwiająca wysłanie wartości akumulatora do urządzenia zewnętrznego o adresie I/O ustawionym przy pomocy A0-A7; analogicznie INPUT ACCUMULATOR wczytywało do akumulatora wartość dostarczoną przez urządzenie na porcie I/O ustawionym w A0-A7.
- ADDRESS SWITCHES A0-A15: służa do wprowadzania wartości adresu pamięci lub danych. Pozycja górna oznacza bit "1", dolna "0".
- SENSE SWITCHES A8-A15: osiem przełączników (A8-A15) posiada dodatkową funkcję: wartość pokazywana przez te przełączniki jest zachowywana w akumulatorze jeżeli wykonywane jest wprowadzenie danych przez kanał 377oct (przez panel czołowy).
Po włączeniu zasilania powinny być zaświecone: MEMR, M1 i WAIT, ewentualnie niekróre D0-D7, pozostałe wskaźniki powinny pozostać zgaszone.
Początkowo program i dane wprowadzane były ręcznie, przy pomocy przełączników na panelu, w formie binarnej (jeden przełącznik = jeden bit) a rezultaty pracy oczytywane za pomocą diod (zapalona lub zgaszona). Zawartość pamięci była tracona w momencie wyłączenia zasilania. Do celów testowych, przy pojemności pamięci 256 bajtów mogło to jeszcze dać się zrobić, ale już przy 4 kB było praktycznie niewykonalne. Bardzo szybko zaczęto stosować czytniki taśmy perforowanej (prędkość ok. 10 bps) i magnetofony kasetowe (prędkość ok. 300 bps) oraz nieco później - pamięć dyskową. Także dla pierwszej wersji BASIC'a jako nośnik początkowo stosowano jeszcze taśmę perforowaną. Jej załadowanie do pamięci wykonywał krótki program ładujący (ok. 20 bajtów), który trzeba było wprowadzić ręcznie poprzez panel czołowy.