Sklonowaliśmy ANG-3001!

Mniej więcej 50h pracy nad mapowaniem, rysowaniem, podświetlaniem, sprawdzaniem i poprawianiem dało rezultat – mamy pełnosprawnego, działającego klona terminala ANG-3001, będącego oryginalnie częścią zestawu komputera Bosman 8.

W poprzednim wątku opisaliśmy pokrótce historię do momentu zamówienia płytek. W oczekiwaniu na dostawę, zostało jeszcze zgranie zawartości dwóch kostek PROM. Są to takie pamięci ROM (tylko do odczytu, od Read Only Memory) które po wyjściu z fabryki mogą być jednokrotnie zaprogramowane (stąd litera P – Programmable) przez użytkownika. W tym przypadku odbywa się to tak, że pamięć jest de facto zbiorem mikroskopijnych bezpieczników, które przepala się podając na odpowiednie komórki wyższe – 10.5V – napięcie programowania. Raz przepalona ścieżka nie da się już “odprzepalić”, stąd pamięć możemy zaprogramować tylko raz.

My jednakże musimy zczytać ich zawartość. Jedyna kość, która na płycie ANG jest w podstawce, to EPROM, jego mamy już zgranego, poza tym, parę osób również miało okazję go już zgrać, więc nie jest to dobro rzadkie. PROMy jednakże są zalutowane, więc pierwsze zadanie – wylutować je, warunki dodatkowe: nie zniszczyć kości i nie zniszczyć płyty. Strategia – przetopić z nową cyną, odessać, podgrzać od góry, odessać to co spłynęło, podgrzać od góry i stronami podciągać do góry przyniosła zadowalające rezultaty.

Po wydłubaniu trzeba je jakoś bezpiecznie zczytać. Mój czytnik domyślnie nie umie, być może jakiś custom adapter by go do tego przekonał, ale w sumie nie wiadomo, co on tam puści za napięcia i gdzie, więc uznałem, że bezpieczniej będzie skleić coś samemu. Tak powstał więc shield do Arduino Mega 2560 przecudnej urody:

Jak to mówią, jeżeli coś jest brzydkie i działa, to dalej jest brzydkie, ale za to działa…

Tydzień od zamówienia przyszła gotowa płytka:

Pozostało więc oblutować ją wstępnie podstawkami i drobnicą, obsadzić koścmi i podłączyć conajmniej zasilanie. No i uruchamiać. Na pierwszy rzut podłączyliśmy gotowe wiązki z oryginalnej obudowy, w gotowości druga klawiatura (z wątku wcześniejszego), ale jeszcze nie podłączona. Pierwszy prąd, i… działa-trochę?

Na ekranie pojawił się powitalny pasek statusu, ale pływający ze względu na zerwaną synchronizację i nieco rozciągnięty w pionie. Efekt udało się szybko zredukować wymieniając kondensator C44 na właściwy 56pF – wkradł się drobny błąd montażowy. Teraz wszystko wydaje się być ok, pasek wygląda w porządku i nawet ryknął czterema tonami udanego selftestu.

A co z klawiaturą? Czy działa? Działa. Ale z drobnym mankamentem – powtarza naciśnięty klawisz zupełnie bez opóźnienia. Do ANG-3001 co prawda schematu nie ma, ale na podstawie AN-2001 udało się zidentyfikować brakujące dwie krótkie ścieżki, łączące dwie pary nóg na wejściu bramki. Klawiatura w ANG jest równoległa, nie szeregowa jak w PC, transmitowane jest jednocześnie 8 bitów znaku w kodzie ASCII, tak jak to bywało w komputerach IMSAI 8080 na przykład), stąd potrzebny jest sygnał STROBE albo jego odpowiednik, informujący, że znak jest gotowy do odczytu.

Jeszcze jedną atrakcją okazał się dźwięk. Na początku ryknął przecież znajomymi tonami, więc chyba działa. Ale kolejne zimne resety i nie ryczy ponownie, dźwięku klawiatury też nie ma. Znaczy, jakieś takie trzeszczenie, ale to nie do końca to. Tu przyczyna leżała jak się okazuje w niedociągnięciu ścieżki do pola – wizualnie wyglądało to dobrze i nie zauważyłem ani przy rysowaniu ani przy weryfikacji. A skoro na rysunku była przerwa, to i z produkcji wyszła przerwa i brakujące połączenie trzeba było sobie wydrapać i dolutować.

Skoro terminal działa poprawnie i nawet gada do sklonowanego Bosmana 8, to można podpinać stację i coś wczytywać. Tu obyło się bez żadnych problemów, chociaż klona ze stacją jeszcze nie testowaliśmy.

Jedynym zgrzytem był fakt, że BLOCK, czyli polski Tetris, napisany w Gdańsku w 1988 roku przez K. Ziajkę gra startową melodię bardzo-bardzo-bardzo wolno. W zasadzie wyje wolnozmiennie. Początkowy cień podejrzenia padł znów na terminal, ale okazało się, że z oryginalnym Bosmanem klon ANG-3001 odgrywa to co trzeba i w takim tempie jak trzeba, a artefakty na ekranie znikły. Czyli kolejna rzecz do sprawdzenia przy Bosmanie.

Na koniec, PROMy (które początkowo przełożone były z oryginału) zastąpiliśmy GALami, jako że są dostępne wszędzie i bardzo tanio.

Podsumowując – zbudowane od zera ANG-3001 wydaje się być pełnosprawne. Przetestowaliśmy je na gierkach z elementami graficznymi, muzycznymi, wszystko chodzi ok.

Jedyny znany problem dotyczy gry SOKOBAN tak samo jak oryginału – czyli po narysowaniu planszy terminal zaczyna odbierać od komputera kody, których nie jest w stanie zinterpretować. Nie ma tej przypadłości terminal z wersją firmwaru z roku 1990, natomiast eksplorowanie różnic i próby podnoszenia wersji zostawiamy sobie na chwilę później.


Posted

in

, , ,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *