keskiviikko 9. joulukuuta 2015

IBM 1800 - Ensimmäiset savut


Voin vihdoin ilmoittaa kaikille blogin lukijoille, että Heili on on saanut sähköä sisuksiinsa ja on melkoisen hyvissä sielun ja ruumiin voimissa, ainakin olosuhteet huomioon ottaen. Tietenkään tämä ei tapahtunut ihan päivässä, vasemmalla kädellä huitaisten tai ilman ongelmia ja armotonta skopettamista.


Alkuun virtalähteet

1800:ssa on 18 virtalähdettä, joiden kaikkien tarpeellisuus ei ole selvinnyt blogin kirjoittajallekaan. Samaa jännitettä on useampaa ja koot ovat hurjia: isoimmat 6V/18A ja massaa yli kymmenen kilon. 

Muutama virtalähde koneen takaa.

Virtalähteissä on yksi erikoinen piirre, niiden pitää ola vähintään 25% kuormalla, jotta regulointi toimii oikein. Tämä ongelma on ratkaistu koneen sisällä nipulla tehovastuksia, jotka syövät neljänneksen virtalähteiden tehosta lämmöksi, riippumatta tekeekö tietokone yhtään mitään. 

Testasin ensin jokaisen virtalähteen yksitellen pöydällä suoraan sukotulpasta, apuna skooppi ja nippu autonpolttimoita keinotekoiseksi kuormaksi. 17 virtalähdettä selviytyi hyvin testistä, vain yksi kyykkäsi kuorman alla.

Nykyään konkat eivät kestä TV:ssä edes paria vuotta, näissä näköjään kestäneet sellaisen 40 vuotta.

En alkanut enempää arvailemaan mikä siinä voisi olla vikana, koska lineaariset virtalähteet zener-vertailulla eivät ole sitä minun vahvinta alaa, joten tilasin suoraan uuden MeanWellin hakkurin tilalle. Näitä vanhoja ehtii korjailla sitten myöhemmin.


Sitten käynnistyssekvenssi

Kasaamista ei yhtään helpottanut se fakta, ettei IBM ole merkinnyt mitään voimajohdotusta millään tavalla. Eikä sekään ainakaan haastetta vähentänyt, että osa niistä surkeista johtomerkeistä joita purettessa johtoihin teipattiin, oli irronnut ja kadonnut, mahdollisesti välille Lahti-Outokumpu. Mutta luovuttaminen ei ole ollut koskaan vaihtoehto, mittasin sinnikkäästi jokaisen johdon ja päättelin melko sekaisista kuvista mikä menee minnekin. 

Heili herää kahdessa vaiheessa, ensimmäinen käynnistää logiikkapuolen virtalähteet, seuraava muistin virtalähteet. Sammuttaessa sekvenssi menee toisinpäin, ettei muisti pääse korruptoitumaan. Mikäli jokin ei mene käynnistyskytkennän älyn mukaan oikein, esim. joku jännite puuttuu, se heittää koko keksinnön sähköt alas.

Osa käynnistyssekvenssikytkentää.

Käytännössä tämä "äly", hyvin vähäinen sellainen, on rakennettu perinteiseen amerikkalaiseen tyyliin, hirveällä määrällä vastuksia, releen kelojen yli vedettyjen kondensaattoreita, tyristoreita, ties mitä...

Alkuun ruuvasin jokaisen logiikkalohkon (tai "älyoven") matajännitesyötöt puupalikkaan kiinni siihen järjestykseen missä niiden oletin kuuluvan olla. Virrat päälle, putoaa alas. Muutama arvailu, vika löytyy hätäseis-kytkimestä. Hyppyjohto yli (älä tee tätä kotona ;) ja uudelleenyritys: sama lopputulos, mutta pysyy päällä noin sekunnin pidempään. Syy löytyy yli-innokkaasta alijännitesuojasta, joka paiskaa kaiken alas, koska olettaa verkon kadonneen.

Alijännitesuojan lähtöpiuhan maahan (koska se liipaisee +3V pulssilla tyristorin, joka puolestaan aloittaa sammutussekvenssin) ja taas uudelleenyritys: sähköt pysyvät päällä ja READY-valo syttyy. Taulussa paloi valoja muutenkin kuin joulukuusessa - siis kaikki mitkä olivat ehjiä - joka johtui itse tietokoneen logiikkasähköjen puuttumisesta.

Valoja tunnelin päässä.

Mittailin sitten matalajännitteet, jotka olivat kahta johtoa lukuun ottamatta oikein arvattu. Ikävä kyllä samassa tuli huomattua yhden 3V-virtalähteen antavan melkoista rippeliä, joten sekin korvautui uudella hakkurilla.

Viimeiset piuhat kiinni...


...ja lopuksi virtanappulasta

Tämä taitaa olla niitä harvoja tietokoneita, joissa voi kokea voiman tunnetta painaessaan virtanappulaa. 40A kontaktori vetää ensimmäisen vaiheen päälle, 1.5 sekuntia perään toinen samanlainen seuraavan vaiheen. Pauke, eksoottinen (omenaisen käämin) tuoksu, flektien ja vaihtovirran humina herättää pienessä ihmisessä kunnioitusta moista sähköaivohirviötä kohtaan.

Voimapuolen kamoja.

Pienen renkuttelun jälkeen huomasin että Heilillä on ainakin jotain järkeä olevan vielä jäljellä, I-rekisteriin pystyi siirtämään vipukytkimillä lukuja. Tosin START-nappula ei tehnyt mitään kovin älykästä ja T-kello oli jumissa T7:ssä. RUN-valo syttyi, mutta T-kello ei mennyt eteenpäin, oli kone sitten Run, Single Instruction, Single Storage Cycle tai Single Step -moodissa (kyllä, tällä koneella voi mennä kellojakso kerrallaan eteenpäin!).


Tahditussignaalit oskillaattorista T-kelloon.

T-kellolla on kahdeksan askelta (tarkalleen yhdeksän, siitä alla lisää), T0...T7, jotka synkkaavat tietokoneen loogiset osat. Ilman T-kello ei ole synkkaakaan, elämää, mitään. Kyseinen kello saa voimansa A- ja B-vaiheilta, jotka puolestaan syntyvät 4MHz oskillaattorista (asiasta enemmän kiinnostuneet voivat käydä katsomassa arkkitehtuuria osan 1 ja osan 2).

Jos mennään vähän syvemmälle kellon toimintaan, kello siirtyy seuraavaan askeleeseen A-vaiheesta luodun Clock Advance -signaalin avulla. Siispä skooppi kauniiseen käteen ja katselemaan käyriä.



Hetken aikaa epäilin huonoa A- ja/tai B-vaihetta, mutta kaikki signaalit ovat tässä laitteessa ihan jotain muuta kuin 90-asteen kulmia.

Metsästin ongelman lopulta Clock Advance -signaalin juurille, jokin kolmesta signaalin ehdollistavasta lähdöstä veti sitä koko ajan maahan, joten mitään pulssia ei lähtenyt. Pään hakkaamista seinään ja lopulta keksin irroittaa kortin, jonka NOT-portin läpi tulee tuon kellonesto kahdennetulta T1:ltä. Ja katsos, sehän toimii!

Clock Advance -signaalin puuttuminen aiheuttaa T-kellon jumiutumisen.

Kahdennettu T1-kello johtuu Heilin tapauksessa laajennetusta muistista, mikä ilmeisesti tarvii enemmän aikaa, se kun sijaitsee neljän metrin päässä keskusyksiköstä. Todellisuudessa kellon askelia on siis yhdeksän ja yksi niistä ei tee mitään, ainakaan teoriassa. Eli tämä korjausmetodi ei paljon lohduttaisi, piti keksiä se alkuperäinen syy.

OR DOT tarkoittaa yhdistettyjä johtoja. Ongelman synty oli juurikin tuossa pisteessä, se pysyi maahan vedettynä ja sen veti maahan NOT-portti. Portin tulo kellui, koska kortti jolla T1 DLY  (T1 Delay -kiikku) sijaitsee, oli väärällä paikalla.

Syy löytyikin järkeilemällä. Yksi kortti jossa T1 Delay FF -kiikku sijaitsee, oli väärällä paikalla. Itse sitä en ole siirtänyt (otinkin sen monta kertaa irti ja laitoin sen aina samalle paikalle...), joten epäilykseni kymmenistä uteliasta ihmisistä, jotka ovat ronkkineet tätä vuosien varrella, pitänee varmaan paikkaansa. Pistoa ei tarvi sen sydämessään kokea, joka siirsi B-A1D2 -kortin paikkaan D3, sillä olisin minäkin tätä ronkkinut, mikäli työpaikallani olisi jotain näin hienoa ollut nurkassa pölyttymässä ;)


Eikä tässä vielä kaikki (ongelmat)

Kun T-kello toimi, sain jo muistiin tallennettua tietoa paneelin namiskojen ja nappuloiden avulla. Nyt vain tuli uusi ongelma, kone sytytteli pariteettivirhevaloa randomeista muistipaikoista. Alkuun muistijännitteiden mittailua ilman tulosta...ehti nousta pieni pelko viallisesta muistilohkosta ja diodinvaihto-/muistijännitesäätö-limbosta, mutta seurattuani hetken milloin virhevalo syttyi, tajusin että valo syttyi aina kun pariton määrä bittejä oli B-rekisterissä.

Etsi tästä sitten pinni "B-A1F2 J10"...

Skoopilla sitten mittailemaan pariteettitarkistuspiiristöä, josta löytyi ongelman juuri: B-rekisterin sisältö ei koskaan saavu piiristöön perille, joten tulos on aina "parillinen". B-rekisterin päästä bitit löytyivät ja paloihan valotkin taulussa, eli melko varma syypää löytyisi löysällä olevasta lattakaapelista. Sieltä sekin vika löytyi ja liittimen kiinni tökkäämällä pariteettivirheet katosivat.




Loppuun vielä muutama sana

Aikani loppui tältä päivältä, enkä enempää ehtinyt leikkiä koneella, vaikka kuinka olisi tehnyt mieli; välilevynpullistuma teki sen verran ison loven lompakkoon viimekuussa, ettei näille leluille jää sitäkään vähää aikaa, mikäli kinkun haluaa pöytään ennen tammikuuta.

Yksi ehdoton varuste olisi virtaprobe skooppiin, niin ei tarvisi nyppiä kortteja tai johdotuksia irti tiettyjä vikoja hakiessa, tosin hinnat lähtevät 3000 eurosta mikä on paljon rahaa... Ja vaikka rakas Owon on uskollisesti palvellut, on selvää että minun tarvitsee hankkia 4-kanavainen oskilloskooppi funktiogeneraattorilla ja logiikka-analysaattorilla. Näin monimutkaisen laitteen vianhakuun pari kanavaa ja melkoisen kökkö datanloggaus vaatii aika kestäviä hermoja. Kommenteissa saa ehdottaa merkkejä ja malleja, itselläni on pyörinyt mielessä Rigolin MSO1074Z-S. Jos sellainen jollain on, kertokoon onko hintansa väärti vempele!

Mutta ainakin nyt kone lukee käskyn muistista ja suorittaa sen, jonka voi havaita käskyn I1, I2, jne. käskysekvensseistä. Se on jo jotain koneelta, joka valmistettiin 1971, sammutettiin 1986, purettiin ja koottiin 2015. Ja vielä ihmisen toimesta, joka ei koskaan ole nähnyt moista vempainta. Joko olen helvetin onnekas idiootti tai 40 vuotta myöhässä IBM:n huoltomiehen avoimesta työpaikasta ;)


Ps. Shampanja-pulloa turha vielä korkata, tästä se entisöinti vasta alkaa. Olen 99% varma ettei kone toimi vieläkään täydellisesti (joku käsky ei toimi, keskeytykset sekoilevat, jne), mutta eipä sillä väliä. Tämän harrastuksen pointtihan on korjata näitä, eikä päästä liian helpolla!



PÄIVITYS: Vastoin kaikkia odotuksia, Heili ajaa kuin ajaakin ohjelmia! Lisää aiheesta luvassa seuraavassa postauksessa! 
Laske yksi lisää akkuun, hyppää takaisin. Karkeasti noin 200 000 käskyä sekunnissa, mikä on vuonna 1965 julkaistulle tietokoneelle kelpo saavutus.





22 kommenttia:

  1. Upeaa toimintaa!
    Oletko muuten sukua Ed Thelenille, joka on IBM 1401-hoitoporukassa Piilaakson Computer History Museumilla?

    VastaaPoista
    Vastaukset

    1. Ed on tuttu mies, hänen kanssa on tullut vaihdeltua postia useampi vuosi. Ensimmäisen kerran juttelin varmaan Edin kanssa ehkä joskus vuosikymmen sitten, kun olin löytänyt Bridgeportin CNC-koneesta DEC LSI-11 -tietokoneen ja piti kysyä joltain itseään viisaamalta mikä se on miten sen saa toimimaan. Edin sivustoa http://ed-thelen.org/ on tullut luettua sitäkin kauemmin ja se ollut varmaan yksi isoimpia innoittaja tämän harrastuksen pariin.

      Ihan läheistä sukua emme ole, mutta tiettävästi täysin samaa joka lähti 1800-luvun alusta Saksasta. Melkoinen sattuma näin marginaalisella harrastuksella. Ei kai muuta voi sanoa että maailma on pieni, eikä sukulaisista pääse eroon ;)

      1401:sta (ja Ediä) pitäisi lähteä sinne katsomaan, kunhan aika antaisi vain periksi!

      Ps. Se LSI-11 on vieläkin hyllyssä, enkä ole tehnyt sille mitään. Joku päivä sitten...

      Poista
  2. Hienoa debuggausta! Koska koneen kello on 4MHz niin Owonin kaveriksi Saleae Logic Pro 16 voisi olla erittäin toimiva työkalu, saat 16 kanavaa joista jokainen toimii 100MHz logiikka tai 5MHz skooppi moodissa. Tosin max taajuudet laskee mitä enemmän kanavia on käytössä. Signaalien selailu pc:n ruudulla ja miljardien samplejen muisti (= koneen RAM) on aika herkkua vs skoopin pikkuruudulta katselu tai siirtely usb-tikulla. Oikeaksi skoopiksi siitä ei kyllä missään nimessä ole.

    Itselläni on vanhempi digital-only Saleae 8-kanavaisena ja on kyllä voitokas laite logiikka-analysaattoriksi. Myös Rigolin 1054z löytyy ja on todellakin hintansa väärti kapine ainakin se.

    VastaaPoista
    Vastaukset

    1. Juu, debuggailu on tässä kyseisessä tapauksessa jossain määrin inhimillistä, tätä kun voi ajaa tätä kellojakso kerrallaan eteenpäin ilman kiirettä (...onneksi, muuten olisin menettänyt järkeni Owonin kanssa ;)

      Olen tuota Saleae katsellut useampaan otteeseen (ja sen miljoonaa aasialaista kopiota) ja onhan se muistin koko sekä hinta lyömätön. On vaan jäänyt ostamatta sen logiikan tason takia, se kun taitaa olla vain 0-5V. Tämän ikäisissä tietokoneissa logiikkajännite voi olla ihan mitä vain maan ja taivaan väliltä. Rigolissa on skaala +/-15V, minkä nyt pitäisi riittää lähes mihin vaan, ellei nyt löydä käsiinsä jostain putkitietokonetta (saa muuten sellaisen tänne antaa, jos on ylimääräisiä ;)

      Ps. Rigol tuli tilattuna Batronixilta, huomenna täällä!

      Poista
    2. Hauskoja hetkiä Rigolin kanssa, varmasti palvelee hyvin. Jos vaikka saleae klooni jäisi ostoskoriin niin esim. MC14504 level shifterillä (siitä oli ennen DIP paketti BCP päätteellä mutta nykyään EOL) saanet 18V asti logiikkaleveliä sisään ja 5V ulos (tai toisinpäin). Joku ebay kauppias varmaan sulle myy niitä nipun vanhaa varastoa.

      Poista
    3. Kiitoksia vinkistä. Voisihan tuollaisenkin testiksi tilata, ainakin sitten kun alkaa HP3000:sta kääntämään tulille. Se kun on TTL-pohjainen, joten Saleae sopii suoraan sen analysointiin kuin nenä päähän.

      Rigol ei ole vieläkään saapunut, posti vissiin ruuhkautunut joulukorteista, prkl...

      Poista
  3. Hullun hommaahan tuo on mutta hatunnoston arvoista. Tuosta ei enää enemmän hands on -touhuksi harrastus mene.

    VastaaPoista
    Vastaukset
    1. Moni on sanonut, että ala keraamään vaikka Ford Taunuksen vasemman takapyörän laakereita, kuin noita talon kokoisia koneita, mutta minkäs luonnolleen voit ;)

      Poista
  4. Mahtavaa työtä ja koukuttavan mielenkiintoista vaikka ymmärrykseni ylitse asiat menevätkin.

    VastaaPoista
    Vastaukset
    1. Koukuttavia nimenomaa! Porttiteoria pitänee paikkaansa vanhojen tietokoneiden kohdalla, commodooret ja muut spektrumit ovat todellakin portti kovimpiin "aineisiin". Ainakin allekirjoittaneella on mopo lähtenyt käsistä aikaa sitten ja lopputulos on stten nähtävissä tässä blogissa...

      Poista
    2. Itselläni taitotaso estää onneksi totaalisen hurahtamisen - koska kaikki korjaustoimenpiteet pitäisi teettää jollakin muulla. Mutta aina kyllä yritän pelastaa mitä pelastettavissa on. Viimeksi osuin kreivin aikaan kun olin hakemassa firmaan uutta konetta ja yrittäjällä oli peräkärryllä konkurssipesästä kerätty SER-kasa ja sen mukana olisi mennyt roskiin Siemens s5 pg 675 -ohjelmointiyksikkö. Hieno vanha raahattava tietokone. Emme tunne - mutta olisi hienoa jos joskus pääsisi näkemään laitteen ja muita projekteja. Jos sellainen mahdollisuus joskus avautuu niin minut löytää esim. koivuniemi(a)iki.fi -osoitteen kautta.

      Poista
  5. On tää kyllä hienoa että joku on saanu elvytettyä tämmöisiä henkiin, onhan näitä tosiaan vitriineissä nähty ja monesti vain osittaisina kokoonpanoina joita ei pysty enää henkiin elvyttämään mutta tää on ihan jotain muuta :)

    VastaaPoista
    Vastaukset
    1. Olen samaa mieltä, hienoa tämä on ;)

      Itseasiassa pidin jo siirtoa suunnitellessa mielessä, että kokoonpanon pitää pysyä täydellisenä. Maailmalla on koneita vaikka kuinka, mutta kokoonpanoista on kadonnut osia sinne tänne, ja aika usein ei ole muuta yleensä säilynyt kuin CPU. Nykyään ei tietenkään ole ongelma emuloida puuttuvia mutikoita (ja suotavaakin, elektromekaaniset vimpaimet kun ovat kaikista heikoimat lenkit näissä keksinnöissä), mutta on se alkuperäinen jotain muuta kuin mikrokontrollerilla/FPGA:lla tehty replika.

      Nurkista löytyy projekteja ja entrattuja koneita 60/70-luvulta enemmänkin, ainakin yhden pienen museon verran (...ja näillä näkymin on tulossa yksi todellinen aarre kokoelmiini 50-luvulta). Laittelen juttua niistä blogiin ensivuoden puolella ja voin taata että on varmasti mielenkiintoista lukemista luvassa ;)

      Jouluja!

      Poista
  6. Hienoa! Sait sen pelastettua ja vieläpä tulille.

    VastaaPoista
    Vastaukset
    1. Kiitos, tosin työtä tässä vielä riittää ennenkuin tästä näyttelyesine tulee. Ilman vinkkiäsi tämä projekti ei olisi nähnyt päivänvaloa, joten ISO kiitos ja jouluja Tampereelle!

      Ps. Poikkeahan katsomassa Heiliä jos ajelet ohi.

      Poista
  7. Upeaa työtä! Ja todella hienoa että kone näkyy pyörittävän jo koodiakin ongelmitta! Hyvää joulun aikaa teemaan sopivasti punaiselle koneelle ja omistajalleen!

    VastaaPoista
    Vastaukset
    1. Kiitos! Kunhan saan PC<-->1800 -tiedonsiirron pelaamaan joulupyhinä, alan testaamaan käskykantaa läpi. Mutta jopa tuo GIF-animaatiossa pyörivä yksinkertainen ohjelma (lisää akkuun yksi, hyppää) vaatii hurjan määrän funktionaalisuutta CPU:lta.

      Ensimmäinen käsky hakee ykkösen parin muistipaikan päästä summaamalla I-rekisterin ja arvon 2 ja osoittamalla tuloksen M-rekisteriin. B-rekisteriin tulee arvo yksi kyseisestä muistipaikasta, se siirretään D-rekisteriin ja se summataan akkuun (melko omituisella tavalla, tästä lisää seuraavissa postauksissa). Hyppy puolestaan hakee käskyä seuraavasta muistipaikasta osoitteen johon hypätään, se siirretään I-rekisteriin ja homma alkaa alusta. Mikäli yksinkertainekin asia tuossa prosessissa on pielessä, ei kone toimisi millään asteella.

      Poista
  8. Näin tietotekniikan DI:nä täytyy todeta, että blogisi on äärimmäisen mielenkiintoista luettavaa! Itseänikin kiehtovat tällaiset valtavat jättiläistietokoneet menneiltä vuosikymmeniltä, sillä niissä on jotakin "taikuutta", mitä on nykypäivänä jotenkin vaikeata ymmärtää. Lähinnä se, että tuollaisia laitteita on osattu valmistaa senaikaisista komponenteista vuosikymmeniä sitten.

    Täytyy myös nostaa hattua, että olet saanut tuon IBM:n toimintaan. Uskon, että aikaa ja työtä on mennyt siihen erittäin paljon. Melkoista salapoliisin työtä on tarvittu varmasti, jotta olet tähän pisteeseen päässyt.

    Blogissasi hienoin piirre on juttujen tekninen taso. Pelkän yleisen selostuksen sijaan kerrot todella mielenkiintoisesti myös koneiden sielunelämästä, mikä nostaa blogin ihan uusiin ulottuvuuksiin. Jännää lukea noiden arkkitehtuurista ja toiminnasta seikkaperäisesti ja selkeästi esitettynä.

    Kun kaikki nykyiset jutut on jo kahlattu läpi, niin odottelen innolla jo tulevia postauksia. Paljon menestystä tämän projektin parissa!

    VastaaPoista
    Vastaukset
    1. Tähän juurikin olen pyrkinyt, sopivasti teknistä juttua ilman atomitasolle menemistä! Mallia olen ottanut aika paljon Ken Shriff'n loistavasta blogista (http://www.righto.com/), jota myös suosittelen lukemaan silloin kun Ennen mikrotietokoneita pitää hiljaiseloa ;)

      Poista
  9. Ei mitään paineita, mutta milloin tarina saa jatkoa? ;-)

    VastaaPoista
    Vastaukset
    1. Kyllä sitä on tulossa, mutta kun meinaa tunnit loppua vuorokaudesta töiden takia. Mutta juttupohjia on aika nivaska kevääksi, ainakin lisää IBM:ää (mm. levyt ja niiden ohjain), Teletype ASR-33:n sielunelämää, toinen Honeywell H316 -löytö/entraus/anatomia-juttu, DEC VK100 GIGI, vektorigrafiikan historiaa, "Kuka keksi mikroprosessorin?"... Lähinnä jutut roikkuvat sen takia, kun pitäisi ottaa kuvia, kysyä lupa lainakuville ja varmistaa muutama lähde.

      Ehkä, siis ehkä loppuviikosta on luvassa jotain juttua!

      Poista
  10. Prosessorin kelloon tulee monia keskeytyksiä niiden selvittäminen voi olla haasteellista jos ei ole dokumentteja selityksineen, nämähän eivät ole AT-standardin mukaisia laitteita. Turha etsiä äänipiiriä. Jonkinlainen varhainen 8255 rinnakkaisrekisteri piiri tuosta pitäisi löytyä ulkoiseen tiedonsiirtoon.

    VastaaPoista