# Lietotāju Izstrādājumi >  Termināļa restaurācija - bezjēzīgs vēstures projekts.

## Kodolskiltava

Reiz ar MaiklsBlack sarunājām samainīt vienu sakaru rīku pret vecu ICL ražotu skaitļotāja termināli it kā pilnā komplektā, bet nezināmā, potenciāli bēdīgā stāvoklī. Terminālis pēc demontāžas no kādas universitātes ir stāvējis mitrā šķūnī, ne vienkārši mitrā, bet kā vēlāk izrādījās, tajā iekšā pat ir tecējis ūdens.


ICL ME-29 skaitļotāja sistēma, kurā redzams ICL-3575 terminālis. Bilde ņemta no:  http://flickrhivemind.net/Tags/icl,me29/Interesting

Korpusu nav super ērti izjaukt, bet kad tas dabūts vaļā, pārējais pieejams ērti un pārdomāti. Kamēr korpuss no netīrumiem mazgājās trauku mazgājamajā mašīnā, sāku skatīties korpusa apakšdaļā esošo barošanas bloku. Lai gan tas bija ejošs, tomēr bojāts izrādījās viens uz tās pašas plates esošs seriālā porta draiveris. Iztīrot šasijas apakšu no ūdens atstātiem nosēdumiem un nomainot draiveri, apakšdaļu varēju vērt ciet. Ar augšdaļu jau bija sarežģītāk. Pirmkārt, nācās skatīt kineskopa plati. Uz tās acīmredzami bija tecējis ūdens. Uz plates esošie regulatori visi bija pilnīgi sarūsējuši, tos nācās nomainīt. Profilaksei pārejot pāri aizdomīgiem lodējumiem es jau varēju mēģināt arī kineskopa plati ieslēgt. Un bija vēl viens progress - uz maksimālā gaišuma ekrāns izgaismojās zaļš. Saregulēju ko šādā stāvoklī pēc instrukcijas varēju saregulēt un gāju tālāk.





Tā kā terminālis nodarbojas ar datu apmaiņu ar centrālo skaitļotāju, tad tajā ir arī vadības plate. Uz vadības plates ir izplatīts 8085 procesors ar tam laikam tipisku Intel radītu "čipsetu" - diviem seriālajiem portiem, vienu priekš datu apmaiņas, otru priekš saziņas ar klaviatūru. 8253 taimeris, teksta režīma video kontrolieris 8275, DMA 8257, paralēlais ports 8255, kā arī divas pastāvīgās atmiņas, viena programmai, otra attēlojamo simbolu grafiskajiem datiem. Man bija divas šādas vadības plates, viena neslēdzās iekšā, otrai trūka vairākas mikroshēmas un takts ģenerators. Pārliku no pilnās plates detaļas uz tukšāko un pirmā plate aizgāja. Spaidot pogas uz ekrāna rādījās simboli un terminālis šķita jau visai ejošs. Turpināju ar otras plates remontu. Pasūtīju ebajā vajadzīgās mikroshēmas, saliku pa vietām un pēc plates sīkākas izpētes atklājās, ka šai platei bojāts arī 8255 paralēlais ports. Nomainīju uz krievu К580ВВ55, aizgāja arī otra plate un kad dabuju oriģinālo 8255, saliku visu kā nākas.





Lai gan vēsturiskais aparāts bija palaists pilnīgi ejošs, tomēr likās, ka kaut kas pietrūkst. Ikdienā strādājot ar tīkla iekārtām, tās un ne tikai tās tiek konfigurētas pa seriālo portu.Gribējās lai tas strādātu nevis kā rakstāmmašīna, kura rāda burtus, bet lai to varētu prieka pēc arī izmantot kā īstu Linukša termināli vai kā seriālo termināli pie tīkla iekārtas. Bet neiedziļinoties nekā nesanāca palaist seriālo datu apmaiņu pa RS232 portu. Nu, neko, principā vienīgais, kas var ar to palīdzēt ir ... disassemblēšana un koda modificēšana. Kaut kad tehnikumu beidzot biju kaut kādu pavisam vienkāršu programmu disassemblējis un izpētījis, biju skatījis uz ko sarežģītāku, bet tā arī līdz galam neko neizdarīju. Tomēr nolēmu noriskēt - aparāts šķita pārāk stilīgs. Nopirku oshonsoft.com programmu paku, kurā ir arī 8085 rīki priekš disassemblēšanas, simulēšanas un programmas kompilēšanas. Protams, pēc disassemblēšanas ieguvu vien divus tūkstošus komandu bez jebkādiem paskaidrojumiem.
Tālāk nācās pētīt perifērijas adresāciju. Izgāju cauri visu lielāko mikroshēmu CS izvadiem un tā atradu adre;su dekoderi 74LS138. Pēc tā jau varēju pateikt kādām IO adresēm atbilst kādas mikroshēmas:

0x00 - 0x0F: DMA
0x10 - 0x1F: VIDEO
0x20 - 0x2F: KBD serial
0x30 - 0x3F: jumper
0x40 - 0x4F: DATA serial
0x50 - 0x5F: ???
0x60 - 0x6F: PIO 8255
0x70 - 0x7F: TIMER

Meklējot no procesora INT izvadiem arī atradu kuram pārtraukumam atbilst kāds "notikums".
Ar šo informāciju pietika lai varētu komentēt man vajadzīgās programmas funkcijas. Izpētīju programmas startēšanos līdz nonācu līdz normālas darbības mūžīgajam ciklam, izpētīju pārtraukumu procesus un datu apmaiņu. Nu un tad varēju ķerties pie modificēšanas. Pa datu seriālo adresi saņemtos datus nosūtīju pa taisno uz video atmiņas apgabalu un jau varēju redzēt saņemtos simbolus uz ekrāna. Apstrādāju vienkāršākās vadības komandas (jauna rindiņa, TAB), klaviatūras pogu nospiedienus sūtīju ārā pa seriālo portu un nu jau biju ieguvis ko tuvāku tādam terminālim kā to biju iztēlojies. Lai gan varēju to jau pievienot pie Raspberry-Pi sistēmas konsoles porta, tomēr tas pildīja tikai vienkāršas funkcijas.



 Problēma bija tāda, ka tas dīvainās vietās rādīja neloģiskus burtus.  Tas tā bija tā dēļ, ka Linux (un daudz kas cits) izmanto dažādas "Escape  funkcijas", kuras tiek lietotas kursora pārvietošanai, ekrāna dzēšanai,  skrollēšanai, Unicode simbolu sūtīšanai un citām lietām. Nācās diezgan  daudzus vakarus nosēdēt kamēr asemblerā uzrakstīju visām vajadzīgām  funkcijām to korektu izpildīšanu. Beigās Linuksis strādāja visai  pilnvērtīgi, bet MikroTik rūtera konsole pierādīja, ka tomēr būs  jāpaprogrammē vēl. Simbolu atmiņā nācās pielabot dažus simbolus, kuri neatbilda ASCII tabulai. Bet arī ar to tiku galā un nu man ir īsts,  pilnvērtīgs seriālais terminālis ar zaļo ekrānu, tieši tāds, kā sen esmu  gribējis. Un ja vajadzēs termināli atgriezt oriģinālajā stāvoklī, atliks vien pāršūt divas programmējamās atmiņas.





Savas bakstīšanās laikā izmantoju divus ērtus instrumentus. Lai programmas atmiņu nebūtu jāliek tieši iekšā platē esošā panelītī, tā riskējot tai saliek izvadus, uztaisīju "pagarinātāju" ar ZIF soketu galā, kurā mikroshēmu ielikt un izņemt varu ērti un bez riska to sabojāt. Otra lieta, kad iesprūdu modificējot programmu, vajadzēja saprast kādus datus tad īsti procesor sūta vienai mikroshēmai. Tam palīdzēja platīte ar FT245 mikroshēmu, kuras datu izvadus pieslēdzu pie sistēmas datu šinas un WR izvadu pieslēdzu pie konkrētās mikroshēmas CS izvada. Tad uz kompja pseido-seriālā terminālī varēju skatīt datu apmaiņu.



Es, protams, saprotu, ka šis projekts ir milzīga laika bedre bez kādas īpaši dziļākas jēgas, tomēr nav bezjēdzīgi - gan apguvu 8085 procesoru, gan labāk kā iepriekš izprotu Escape funkcijas, un labāk izprotu 8bit kompīšu arhitektūru. Katrs savu dzīvi pazaudē kā māk.

----------


## sharps

Labs!!! Tiešām labs!!!

----------


## tornislv

O! Projekts AR jēgu, pretēji autora paša domām. Apsveicu!

----------


## M_J

Jā, lai kaut ko tādu dabūtu gatavu, vajag ne tikai laiku un pacietību, bet tiešām pamatīgu sajēgu un plašas zināšanas. Šķiet, ka pie šadiem termināļiem, kas bija pieslēgti pie M6000, tālajos 70/80-tajos cietvielu fizikas institūtā mācījāmies "Beisiku". Bet varbūt kļūdos.

----------


## Kodolskiltava

Ō, hehe, nebiju gaidījis, ka būs tāda atzinīga novērtēšana, paldies!
Es gan šaubos, ka konkrēti šis ir bijis komplektā ar Padomju laika skaitļotājiem, cik zinu tad bijis pat vesels angļu ICL ražots komplekss, pie kura šie termināļi slēgušies. Tā jau būtu ļoti interesanti laika gaitā atrast un iedarbināt minimālu komplektu no kāda jaunākas paaudzes Padomju laika skaitļotāja (CM1420, piemēram), bet ņemot vērā cēlmetālu saturu, īpašas cerības neloloju, ka neskaitot LU skaitļošanas muzeju vēl kas būtu īpaši saglabājies.
Man ir vairākas puscollīgās lentas ar informāciju no CM1420, tās dabuju no cilvēka, kurš uz tādas mašīnas ir vēl 90-tajos strādājis, pamazām mēģinu no tām atgūt datus. Būs kāds normāls parādāms progress, droši vien arī to aprakstīšu.

----------


## korkis

Foršs verķsi, ja man tāds būtu es caur rs232 pieliktu pie rasberry pi

----------


## M_J

Protams, tie termināļi, pie kuriem mēs sēdējām visi bija "сделано в СССР". Bet līdzīgs gan. Galu galā lielākā daļa PSRS skaitļošanas tehnika jau bija vairāk vai mazāk veiksmīgi kloni.

----------


## Jurkins

Ahreņeķ!!! Velnišķīga pacietība. Un es arī domāju, ka jēga ir. Dizasemblēšana galīgi nav zemē nomests laiks.

----------


## Didzis

Jēgu šādai restaurācijai sapratīs tas, kurš ar ko līdzīgu nodarbojas. Es piemēram restaurēju 1957 gada radiouztvērēju Festivāls ar tālvadības pulti. Pults  pieslēgta pa vadu un tehniskie risinājumi  ļoti interesanti. Tai laikā nebija procesoru, bet izrādās, ka bez tiem varēja iztikt. Būtībā gan tādā vecā radiouztvērējā, gan vecā terminālī ielikti mūsdiemu elektronikas pirmsākumi, ar kuriem būtu jāsāk šitās štelles apgūt. Nevis kā tagad, klozeta poda vāku bez procesora nevar vairs pacelt.

----------


## M_J

Es pašlaik nodarbojos ar tieši pretēju procesu - demolēju vienu 1989. gadā ražotas biogāzes elektrostacijas vadības automātiku. Motors labs, bet automātika Holandē demontēta ar vadu apciršanas metodi, šis tas arī tajos skapjos trūkst. Dokumentācija fragmentāra. Atjaunot sākotnējā variantā nereāli, varbūt arī reāli, bet ne reālos termiņos. Spēka daļa, visādi releji, kontaktori, termo aizsardzības paliek, pārējo krauju no lielveikala paņemtās kastēs.

----------


## Didzis

Tur jāizšķir divas lietas- restaurācija maksimāli atstājot visu autentisku, vai vecas iekārtas dabūšanu pie dzīvības. Otrā variantā bieži vien prātīgāk visu pārtaisīt, nevis jāties ar veciem relejiem un devējiem. Savs kaifs ir vecu lūzni piemērot mūsdienu vajadzībām. Man piemēram metināmajam aparāram izejā stāv pretestību magazīns no 1953 gada. Nekādu tiristoru, invertoru, vai citas elektronikas, bet darboja sperfekti.

----------


## malacis

*Kodolskiltava*, nu baigais malacis esi, bez ironijas.
Es gan dodu priekšroku jaunu iekārtu radīšanai, tādejādi ceļot mūsu valsts IKP, bet studentam vai pensionāram šāds hobijs tieši laikā  ::

----------


## Kodolskiltava

Hehe, paldies! Man gan ļoti iekavēti studenta gadi tūlīt būs cauri, bet līdz pensionāram esmu vien pusceļā. Ar jaunu lietu radīšanu pa lielam nodarbojos darbā, bet brīvajā laikā tomēr vēsture vairāk iet pie sirds. Būs kaut kas normāli pabeigts, gan uzrakstīšu par vēl kaut ko.

----------


## GTC

> Otrā variantā bieži vien prātīgāk visu pārtaisīt, nevis jāties ar veciem relejiem un devējiem. Savs kaifs ir vecu lūzni piemērot mūsdienu vajadzībām.


 Piekrītu *Didzim*, jo pārsvarā modificē iekārtas, lai tās pildītu savas funkcijas, vai pat labāk! Es esmu racionālists!  :: 
*Kodolskiltava*, ... liels respekts par paveikto! ... ir patīkami nodarboties ar lietām, kas aizrauj, un pašam patīk!  ::

----------

