Nykstanti amatininkų patirtis

Šiandien buvo pokalbis kur ir sugeneravo post’o temą. Man reikėjo 50Hz transformatoriaus, būtent old-skūlinio metalinio trafo, o ne maitblokio. Ir dėl to, kuičiausi trafų maiše. Ten buvo visas kalnas vienodų transformatoriukų su nenuplėštais laidais, nuo senų kasos aparatų. Kiek stebino, kad kasos aparatas lygtai turėjo du transformatorius. Ir žmogus paklausė, o kaip tu pajungsi transformatorių, kur daug laidų ir niekas neparašyta? Sakau- atsiskambisiu, pamatuosiu varžas ir susifazuosiu. Ir matyt paskutinis žodis buvo pernelyg paslaptingas. Bandžiau paaiškinti, bet žmogui greitai atšoko smalsumas….

Taigi paimam transformatorių ir išmatuojam visas varžas tarp išvadų. Taip randam nepriklausomas apvijas ir atvadus nuo apvijų. Kur didžiausia varža, ten bus ir didžiausia įtampa. Tačiau kartais būna, kad transformatorius turi dvi pirmines apvijas, kad ir 110V + 110V. Jas sujungus nuosekliai gaunasi 220V, o tokias įtampas galima rasti rozetėje. Tačiau kaip nuosekliai jungti? Ommetras neparodys. O sujungus neteisingai, priešpriešos apvijos anuliuoja savo induktyvumus ir gausi didelį pokšt- “trumpą” jungimą.

Nuotraukoje viršuje- nežinomas trafas (kaip visada, jo aprašymas kasos aparato schemoje neatitiko tikrovės. Netgi išvadų skaičiumi).

Juodas – geltonas – mėlynas turi didžiausią varžą, todėl nusprendžiau, kad čia bus 220V. Tačiau kiek neramino pilka-raudona apvija. Jos schemoje nebuvo. Pagalvojau, kad koks papildinys 230V variantui, nes apvijos varža mažoka. Išėjimas violetinis ir rudas, pagal schema buvo ~9V ir ~17V (+5 ir +12V po stabilizacijos).

Ir nors matosi fiziškai, kad pirma eina pilkas, o raudonas yra galas, nutariau pasitikrinti “fazuotę”. Tam tikslu, iš kito mažiuko transformatoriaus per geltonus laidus paduodu apie ~9V AC.

Su apkrova gavosi 8.44V

Ir matuojam kitus laidus:

Pilkas- raudonas: 8.44V
Geltonas- mėlynas: 14.04V
Juodas- geltonas: 65.3V
Juodas- mėlynas: 78.7V (14.04+65.3=79.34V, panašu, kad tikrai sumuojasi) čia kaip per mažai.
Išėjimas (violetinis, rudas): 13.3 ir 7.6V. O čia jau per daug

Kažkaip per mažai voltų pirminėje ir kartu per daug voltų antrinėje. Voltai turi būti proporcingi. Tada pabandžiau pamatuoti juodas-raudonas (kai sujungta mėlynas su pilku) ir juodas-pilkas (kai sujungtas melynas su raudonu). Gaunasi, kad įtampa pirmam variante didesnė- apvijos sufazuotos nuosekliai. Antram variante raudona-pilka apvija dirba prieš kitas apvijas ir jos įtampa minusuojasi.

Jau pagal proporcijas gaunasi, kad trafas neteisingas. Tačiau ko nepabandžius- paduodam į pirminę (juodą mėlyną) ir su papildoma apvija (juodą-mėlyną+pilką-raudoną) gerus 230V ir pakeliui pamatuojam srovę. Gavosi kiek virš 2A ir kiek mažiau, kaip tokio dydžio transformatoriui kaip per daug (nors čia prisideda reaktyvinė srovė). O dar ir burzgė. Ir greitai šilo. Antrinėse, vietoje tikėtinu 17 ir 9 buvo gal du su biškiu karto daugiau.

Gali kilti klausimas- o kodėl nebuvo trumpo? O todėl, kad tokio reiškinio kaip trumpas elektrotechnikoje nėra. Yra tik per didelė srovė, per ploni laidai ir per karšta izoliacija. Transformatorius gali veikti pajungtas bet kaip, tik kai kurie variantai gausis tokie, kad laidai tikrai bus per ploni esamoms srovėm. Tačiau jei transformatoriukas kelias sekundes paveiks 200% ar 300% perkrova, nieko neatsitiks. Tik bus kiek per daug šilumos ir srovės. Teoriškai galima įsotinti šerdį, bet tada irgi bus per ploni laidai 🙂

Spėju, kad šitas transformatorius buvo Japoniškas (kasos aparatas Casio CE-300, EX-247), todėl jo apvijos yra: 0-100V-110V1, papildoma apvija- 17V, kad gautusi 127V.

Čia kaip spėjimo bazė panaudotas 100V maitinimas

Gali iškilti klausimas, kodėl gaunasi 121V+13V > 127V? Todėl, kad aš spėju tas įtampas. O dar todėl, kad yra energijos nuostoliai prie skirtingų srovių, apkrovos ar paprasčiausios aktyvinės (ominės) apvijos varžos. Čia gi matuota be apkrovos. Pvz. skaičiuojant transformatorių, empiriškai primetam apie 10% nuostolius tarp pirminės ir antrinės apvijos. Manau, kad tikrus profesionalius transformatorius ne tik skaičiuodavo su tikrom apkrovom, bet ir eksperimentiniu būdu parinkdavo reikiamus apvijų skaičius.
O šiaip, trafas netinka- kaip minėjau, kasos aparate buvo du trafai. Tai tas pirmas, didesnis trafas buvo ir 1/2 autotransformatorius, kuris iš 220 (230V) darė 110V šiam transformatoriui.

Tikiuosi nesupratot nieko čia. 🙂

P.S. Šiandien buvo šeštokų mokinukų ekskursija į mano darbą. Ir ten stovi lempinė radija. Vienas mokinukas nusistebėjo, kad ši radija “moka groti šiuolaikišką muziką!”. Tikrai nemanau, kad jis mane trolino. Pernelyg buvo nustebusios akys, kai radija, pagal jų prašyma, buvo nureguliuota “ant M1”.


Atnaujinimas 2026.03.26

Pasirodo, mano turimas pirmas transformatorius buvo defektuotas. Tarp pilko ir mėlyno turi būti apvija. Kažkaip pavyko paimti transformatorių su defektuota apvija.

Naujas transformatorius jau lygtai veikia 230V režimu pajungus į kraštines apvijas. Tikiuosi bus gerai ir su apkrova. Vadinasi transformatorius ultra universalus: 0-100-120-220-230 arba 0-110-127-220-240. Kažkas tokio. Vidinė ~100V apvija pirmajam transformatoriuje sudegusi/nutraukta.

  1. Japonijoje labai keisti elektros standartai. ↩︎

Nepatinka

Man biški nepatinka vandentiekio remonto darbai. Prieš kokius 9 metus jau remontavau savo fazendos vandens pompą, o šį rudenį ji pradėjau taip staugti, kad baisu. Tačiau tai buvo ne motoro, o jau pačios pompos problema. Pakeliui išardžiau ir motorą, nes kažkaip sunkiai sukosi. O pompas matyt reikia remontuoti kas 50 metų 🙂

Poto prasidėjo mano kova su guoliais. Variklio guoliai nusiėmė be problemų, o su pompa teko stipriai pažaisti.

Didesnis pompos guolis buvo beveik be problemų, o mažesnis jau stipriai striginėjo. Tačiau tai nepaaiškino baisaus triukšmo nuo pompos veikimo. Vėliau, besurenkant atgal, kogero supratau- matyt pompa įsiurbė kokį akmenuką ir biški patarkavo gana tiksliai surinktas detales. Jei metalas būtų koks nors špižius ar plienas, tai ta vieta paprasčiausiai išsitarkuotu ir viskas veiktu. Tačiau visa pompa (išskyrus guolių dangtelį) padaryta iš nerūdijančio plieno (316). O šis plienas labai mėgsta “susivelti” ir prilipti. Todėl teko kiek pagadinti geometriją.

Dar vienas blogis dėl 316 plieno- ašis labai minkšta, ir nuimdamas ir uždėdamas guolius aš ją sulenkiau! Todėl beveik visą dieną smaukiausi bandydamas išlyginti- pažymi su flomasteriu, kiši- pasuki, ištrauki, pysteli su plaktuku ir vėl kartoji. Oi kaip ji man atsibodo.

Kadangi teko pompą nuimti nuo spižinio pagrindo, visas su-spyruokliavo. O dabar niekaip negaliu atgal prisukti pompos korpuso- vandentiekio vamzdžiai apsimeta spyruoklėm ir neduoda prisukti varžtelių. O kalbant apie varžtelius- visus keturis teko nupjauti. Visiškai suaugo su pagrindu. Poto išgręžiau 3 varžtelių likučius. O vienas kaip ir liko viduje- norint jį išgręžti reikėtu išmontuoti vamzdžius.

Rytoj bus pratęsimas ir bandymai. A, dar pakeliui pakeičiau motoro laidą- nepakenčiu tarybinių storų guminių kabelių, kur varinės gyslos pajuoduoja tikriausiai nuo gumos ir vario reakcijos. Dabar stovi modernus PVC kabelis, su tikrom “kilputėm” (buvo apsuktas laidas apie gnybtą)


2026.03.22 atnaujinimas

Šiaip-ne-taip pritvirtinau pompą prie pagrindo.

Sukasi. Seniau šioje pusėje buvo elektros pajungimo dėžė. Labai trukdė pakišti kibirą po kraneliu.
Bendras vaizdas iš viršaus. Smalsučiams – vandens slėgis nuo 1 iki 1.5 Bar. Tokio minimumo užtenka skalbimo mašinai.

Vienas iš mano tiuninimo variantų pridarė bėdų. Aš norėjau, kad variklio elektros pajungimo gūzas eitu į sienos pusę. Dabar galima pastatyti kibirą prie pat motoro ir be problemų pumpuoti vandenį. Tačiau pasirodo, kad elektros motoro statorius nėra simetriškas- maždaug per 10…15 mm poslinkis (statorių apsukau, o rotorių įdėjau taip kaip reikia). Naujai sukonfiguruotas motoras “nesėdo” į tvirtinimo skylutes. Teko kiek padidinti variklio tvirtinimo skyles ir per maždaug 7 mm patrumpinau pompos muftą. Kaip tik darbas mano staklytėm– pagriaužti pilkąjį spižių.

Viskas sukasi ir pumpuojasi. Garsas tikrai sumažėjo. Net kai įsijungė, o aš buvau kieme, net sunerimau- kažkoks tylus murmesys ėjo iš garažo. O tik vėliau dašuto- toks buvo pripratimas prie to užesio.

Pumpuojant vanduo nebėga. Tačiau yra įtarimas, kad kai nesisuka, biški “ašaroja” kažkur centre. Gal kažkiek nesandarus centrinis riebokšlis- kai pompa veikia, ten minusinis slėgis, o kai išsijungia- minimalus slėgis, tiek kiek prasisunkia per atbulinį vožtuvą. Gal prisišlifuos dar? Nes ardyti dar kartą labai nėra noro. Tikiuosi, kad sekančius 50 metų veiks be remonto. 🙂

National Instruments GPIB-USB adapteris

Kadangi mano HP loginis analizatorius neturi “pastovios” atminties, kiek užknisa kiekvieną kartą perkonfiguruoti visus nustatymus. Vienintelis būdas automatizuoti konfiguravimą- naudoti GPIB jungtį ir viską pumpuoti per ją. Pradžiai galvojau pasidaryti tą adapterį savo rankelėmis, bet ten reikia dviejų specialių mikroschemų, kurios kažkaip nepopuliarios. Konstruoti kažką diskretiško patingėjau. Nors ir pradėjau teorinį projektą ir susiradau visą softą jam (STM32F mikrokontroleriui). Ir dar softą perrašiau iš “arduino” į generic C. Tačiau galu gale nusprendžiau nusipirkti pramoninį variantą- National Instruments adapterį.

Atvykęs iš kinijos adapteris pareikalavo registracijos NI puslapiuose. Tačiau, kaip ne keista, NI pripažino jį originaliu ir visas softas pasileido. Tačiau softas visiškai netinkamas HP 1630A analizatoriui. Seniau, kai dar nebuvo visokių windows, ir net nebuvo DOS operacinės sistemos, tokie prietaisai valdydavosi iš BASIC programos. Todėl nutariau kiek pažaisti programuotojais. NI duoda draiverius ir biblioteką prietaiso valdymui (jis nepasimato kaip koks nors “generic” USB prietaisas). Todėl čia bus trumpa instrukcija man, kol neužmiršau kaip pradėti dirbti su National Instruments GPIB-USB-HS adapteriu.

Pirmiausia reikia prijungti bibliotekas prie projekto- references:

Ar reikia abiejų “reference” aš nežinau. Bet sudėjus abi, tikrai veikia.

Toliau reikia kogero “importuoti”:

Imports NationalInstruments.NI4882

Įrenginį “atidaryti”:

Private Sub OpenGPIB()
        Dim board As Integer
        Dim primary As Byte
        Dim secondary As Byte
        board = My.Settings.Board
        primary = My.Settings.pAdr
        secondary = My.Settings.sAdr
        Try
            dev = New Device(board, primary, secondary, My.Settings.TimeOut)
            dev.DefaultBufferSize = 14000
            dev.Reset()
            status("GPIB Open")
        Catch ex As Exception
            status(ex.Message)
        End Try
End Sub

Čia iš komentarų – buferis pagal nutylėjimą yra vienas kilobaitas. Jei prietaisas išspjauna daugiau informacijos nei telpą į buferį gali kilti problemos ir vargai. Dabar kai turim daug atminties, rekomenduoju buferį padaryti didesnį nei maksimalus galimas atsakymas iš prietaiso ir nereikės sukti kiaušų. Todėl buferį darom gal 10K ar daugiau. O štai timeout rašomas ne mikrosekundėmis, o kvailu kodavimu:

disabled
10 µs
30 µs
100 µs
300 µs
1 ms
3 ms
10 ms
30 ms
100 ms
300 ms
1 s
3 s
10 s
30 s
100 s
300 s
1000 s

čia tipo enum ar panašiai- 0 tai disabled, o 13 tai dešimt sekundžių.

Skaitymas ir rašymas:

    Public Function QueryHP1630A(command As String) As String
        Dim response As String
        If dev Is Nothing Then
            OpenGPIB()
        End If
        Try
            dev.Write(command)
            ' Read response (this will block until termination or driver-defined timeout)
            response = dev.ReadString()
            status("OK")
        Catch ex As Exception
            response = ""
            status(ex.Message)
        End Try
        Return response
    End Function
    Private Sub nuskaityti()
        Dim a(3000) As Byte
        If dev Is Nothing Then
            OpenGPIB()
        End If
        Try
            gpibstatus = dev.LastStatus
            dev.Write(txtResource.Text + vbCr) 'komanda
            a = dev.ReadByteArray 'baitų masyvo nuskaitymas
            status("OK")
        Catch ex As Exception
            gpibstatus = dev.LastStatus
        End Try
    End Sub

Seniau kompiuteriai neskirdavo baitų nuo teksto. O dabar tai jau kiek kita kalba. Todėl, paprastas tekstines eilutes nuskaitom su “readstring”, o jei tame tekste paklius koks nors “netekstinis” baitas, tai skaitymas nutraukiamas. Todėl gal geriau skaityti kaip “readbytearray”. Ir tik vėliau konvertuoti baitus į raides.

Per porą vakarų gavosi tokie griaučiai:

O toliau bėda- HP1630A nepasako, kurioje vietoje stovi kursorius. Todėl valdymas per nuotolį netenka prasmės. Dar blogiau- kai žiūrim į nuskaitytus duomenis, kur gražūs grafikėliai- niekas nepersikelia į tekstinį buferį- waveform paišomos grafiniu režimu. Todėl reikia parašyti pačių duomenų perkėlimą ir analizę. O čia jau prasideda nesąmonės- kažkaip instrukcijos pradeda kiek nesutapti su realia geležimi. Gal galima paeksperimentuoti su “grafinio printerio” emuliacija? Tokia opcija numatyta. Kaip ir kasetinio magnetofono ir diskasukio pajungimas. Pasirodo galima įkelti disasemblerį į šitą loginį analizatorių.

Todėl pasilikau dvi užduotis- konfiguracijos saugojimas ir duomenų eksportas. Gal gausis, o gal ir ne. Viskas priklauso nuo pavasario greičio. Šiandien mačiau kaip špokai (varnėnai) vaikščiojo po kiemą. Iš kitos pusės aš turiu HP ploterį su šiuo interfeisu, kurio galimybės didesnės nei Rotringo. Žymiau įdomiau paišyti kringelius su ploteriu nei gilintis į loginio analizatoriaus vidurius.

Rusiškos PDP detalės

Nors esu nusistatęs prieš tarybines detales, teko kiek nuleisti savo kartelę, nes netikėtai radau gerybių. Kažkas prie n metų pasislėpė Электроника-60 kompiuterio vidurius, buvo suvyniota į chemiškai suirusį poroloną . Gal buvo kokie atsarginiai ar brokuoti ar šiaip jau buvo sukeistas ir sudėto blogi. Buvo 4 plokštės- dvi didelės: procesorius su kažkiek RAM ir kogero koks nors I/O (ar flopikų kontroleris). Aš jas atidaviau sunaikinti, nes pirmiausia rusiškos ir pilnos aukso ir žaliukų, o antriausia- plačios konfiguracijos (4 slotai). Tokio backplane aš neturiu. (visos plokštės buvo ne mano).

Užtat liko absoliuti egzotika. Kogero dvi video plokštės. Grafinės!

Kaip matosi iš nuotraukų, visi žaliukai, geltoniukai ir auksiukai vietoje. Žalia PCB netrumpina buso, bet mėlynam lizde jokios dinamikos. Plokštė neasiliepia skanuojant bussą. O štai geltona (MS4702) generavo video vaizdą lizde, bet kol aš susiradau monitorių (televizorių) jį kažką užtrumpino ir maitblokis nukeliavo į apsaugą. Gal ji dar ir sveikia, gal sriobia labai daug elektros. Ar matosi busse nespėjau praskanuoti. Reikės pradžiai patikrinti maitblokį, nes jis toks senas ir iš šiukšlyno. Dar gali būti, kad tikrai nėra galios, nes ta veikianti PDP dalis kaista kaip koks pečiukas.

Žalia plokštė tikriausiai tai 400×268 juodai baltų pixelių grafika ir dokumentacijoje kažkodėl vadinama ПБА4.135.998 nors instrukcijos gale kodas perbrauktas ir paršyta ПБА7.102.624. Ji kaip ir neveikia (ir dar kryžiukas viniuku nubrėžtas). Bet kažkur išskaičiau, kad reikia paduoti sinchro impulsus paduoti iš kitos plokštės.

Ruda plokštė: Электроника МС4702, grafinė spalvota korta 256×256 ir 8 spalvos.

Dabar nežinau, ar jas kapstyti. Artėja pavasaris ir aš visas šitas nesąmones su PDP padėsiu į archyvą.

Rotring NC-scriber CS 50

Tai straipsniukas apie sėkmingą Rotring NC-scriber CS 50 (mini ploterio) gavimą ir remontą.

Viskas prasidėjo nuo Youtubės, kur vienas dėdė remontavo tokį prietaisą. Ir man užsinorėjo tokio pat. Tačiau kainų pasiskleidimas ebay labai nustebino nuo 80€ už “neveikiantį” iki “tūkstančių” už “kvalitat zer gut”. Todėl užsistačiau automatinę paiešką ir kiek primiršau. Ir staiga pasirodė- neveikiantis, bet pigiai.

Ir kažkaip pasisekė nupirkti už pradinę kainą. Kai atvažiavo- tikrai neveikiantis. Bet neveikė, nes kiek klibėjo power kištukas. Palitavus kiek, atsirado vaizas ir rankenėlė nuvažiavo į parkavimo zoną. Net spaudžiojant raides kažką darė. Kol sugalvojau kaip pritaikyti rašiklį, prietaisiukas numiro. Dar kartais suveikdavo keli patrukčiojimai, bet vis blogyn ir blogyn. Nu tada ardom ir ieškom kondensatorių. Va šitų:

Tokių neturėjau, bet pamatavau įtampą- 5V! Todėl greitai įsmeigiau 200µF @16V, o vėliau radau 1500µF @10V. Manau mikrofaradų užteks ilgesniam laikui.

Interfeisas kaip visada tragiškas, ir manau reikėtu priprasti prie pačios prietaisiuko paišymo logikos. Pvz- nori nupaišyti apskritimą. Logiškai nuvažiuoji į apskritimo centrą, spaudi paišyti apskritimus. O tas tik pyst, ir nuvažiuoja kažkiek į šoną. Gal visa esmė tame, kad šis ploteriukas turi būti prisuktas prie braižymo lentos šlifos liniuotės1 ir važinėti ant kulmano2 patiesto vatmano3. 🙂

Manau, jei kas nors parodytų tarybiniam braižytojui šitą prietaisiuką tai jis apsisysiotų iš pavydo.

  1. Paralelinė liniuotė. Ji troselių ir svarmenų pagalba galėjo judėti po visą lentą ir jei pati liniuotė nepasukama, linijos gaudavosi paralelinės. ↩︎
  2. kulmanas – bendrinis žodis kilęs iš Kuhlmann firmos pavadinimo. Jie gamino geras braižymo lentas ir matyt sovietai buvo jų pripirkę. (nes matyt patys nesugebėjo pagaminti). ↩︎
  3. vatmanas – bendrinis žodis kilęs iš Whatman firmos. Ji ir dabar gamina visokius popierius ir laboratorinius filtriukus. Čia vėl sovietai nesugebėjo pagaminti, tai svarbius brėžinius paišė “ant importo”. ↩︎

Darbe irgi visi džiaugėsi prietaisiuku:

HP 1630A loginis analizatorius

Čia kažkas mane trolino dėl cypress loginio analizatoriaus. Nutariau pasižvalgyti po ebay šiukšlynus. Nupirkau pradžiai Tektronix, bet pastarasis nelabai. Todėl sekantis buvo Hewlett Packard 1630A. Kiek jis kanalų turi aš nelabai suprantu, kogero 32, nors rodo ir daugiau. Tiesa pasakius, nelabai rodo, nes yra ribojimas ant ekrano.

Viso pirkinys “atsistojo” arti 100€ su visais pristatymai iki mano darbo. Tačiau pilnas komplektas, ir net kažkas nepatingėjo sudėti visus laidelius ir instrukcijas. Ir dar gerai, kad tie “podai” nenusiima- nes daugelis loginių analizatorių būna su prarastais galais. O ten ne paprasti galai, o su analoginiais stiprintuvais- palaiko platesnį įtampos diapazoną ir neapkrauna tiriamo signalo.

Matyt nuo transportavimo pasislinko Yoke, todėl vaizdas kreivas.
Visi “podai”. Yra skirtumas tarp “timing” ir “state” variantų.

“User interface” visiškai nešiuolaikiškas ir gana painus. Intuityviai niekas nesigavo iš pirmo karto. Dar neaišku, ar šiame prietaise yra kokia RTC baterija- laikas nusimuša po kiekvieno išjungimo. Ir kogero visi nustatymai. Nors service manuale ir forumuose apie tai nesako.

Jei netyčia kils noras pirkti senovinę techniką, pirkite HP. Nes jie, iki kažkurių metų visus service manualus, schemas dėjo prie kiekvieno aparato. Atspėkit, kodėl daugybė “unikalių” tarybinių matavimo prietaisų taip panašūs į HP? Ne tik dizainu, bet ir viduriais. 🙂 Smagu matyt buvo visokiems НИИ “išradinėti” prietaisus liaudies ūkiui.

Čia mano PDP11 J11 CPU pasileidimas

Dabar galvoju, ar verta man išardyti tą HP dėl Yokės ir batarijos paieškos. Ar pradėti nuo instrukcijos skaitymo…

Generic C grožis arba kaip buvo geriau prie…

Tęsiant temą. Vėl tas pats PDP11, mano amžininkas ir kartu stipriai senesnis už mane. Viskas kažkaip kitaip ir panašiai. Ir toliau bežaidžiant užkniso tie visokie oktaliniai skaičiai, keistos programos (PDPGUI) parašytos Paskalyje ir su kriptiniais vokiškais klaidų pranešimais. Todėl nutariau padaryti dalį darbų old style metodu. Tiksliau- ancient style metodu. Kaip buvo prieš 50 metų ar daugiau…

T.y. renkames gryną “C” kalbą (čia bus kažkuri gcc windowsams) ir iš seno source kodo gabaliukų (archyve.org ir randominiai linkai) ir vajėzaumarija, AI generatorium generuojam naujas C programas.

Ko man reikia:

  • Parašom programą asembleryje ir sukompiliuojam. Gaunam bin failą ir lst. Tačiau čia lst kiek keistas, nes jis labai daug ką ignoruoja, rašo visokius simbolius ir t.t. O man reikia, kad išsistatytu tikras, kanoninis asembleris. Šita funkcija neprivaloma (optional), nes kai kurios programos jau bin.
  • Radau senovinį disasemblerį [disas11, 1991?] kurį pavyko sukompiliuoti. Bet jam reikia COREDUMP failų.
  • Su AI rašom bin -> COREDUMP konverterį. Beja, coredump formatą AI pats atstatė iš dalies disas11 source kodo.
  • Disasembleris duoda keistoką output failą dis, nes teoriškai galimas savaime modifikuojantis kodas. Jis rodo alternatyvini disasemblerio kodą jei prieš tai buvusi komandą pasikeistu. Gerai, kad alternatyvinis kodas pasislinkęs per tarpiukus. Su AI rašom programinę utelę kurį išfiltruoja ir palieka tik pagrindinį kodą.
  • Pagaliau išvalytas kodas visiškai oktalinis. Tam tikslui AI rašo C kalboje kitą utelę kuri konvertuoja visus octalus į hexus.

Ir tik dabar, aš galiu palyginti šešioliktainį disasemblerį su hidros parodymais ir pagaliau suprasti, kad dar reikia apšikti kažkiek žolės, kad gautusi rezultatas.

Apie ką męs čia? Ogi kad męs ne prieš AI. Tai geras įrankis ir teisingai naudojamas veikia. Paprašai parašyti utelę (beja, čia pačio AI pasiūlymas, nes jis pabijojo konvertuoti galbūt užkopyraitintą failą) ir jis parašo. O poto sakai- o tu padaryk, kad skaičiukai būtų su leading zero, išėjimas į failą, o ne stdout ir kad kai kurios specifinės eilutės eitu kitaip. Ir tas AI vergas sugeneruoja. Programos paprastos, bet pačiam rašyti nuo nulio gautųsi gal per daug laiko. Čia atsakymai atėjo per sekundes.

A, ir dar, reikėjo binarinį failą konvertuoti į oktalinį, tinkamą pumpuoti tiesiai į CPU per ODT. Toks bin to ODT text stream konverteris.

o dabar viską sukišim į makefile ir viskas man veiks automatiškai, vieno mygtuko paspaudimu.

Microslop mikrotranzakcijos

Šiuolaikinio pasaulio realijos. Seniau arba negroja arba instaliuoji kodeką. Dabar MS tiesiog prašo pinigų. Ir tas kitiems “juokingas 1$” surenka ypač daug pinigų, nes žmonės priprato prie mikrotranzakcijų.

Kapitalizmui pavyko pakeisti žmonių mąstymą- nuomoti, o ne turėti. Gauti produktą be komponentų ir prisipirkti vėliau. Sutikti, kad produktas “suseno” ir nebeveikia, todėl reikia pirktis/nuomotis naują.

Ghidra ir PDP11

Biški užsiciklinau su savo PDP kompiuteriu. Ir nutariau vieną programą kiek kitaip paleisti. O tam reikalui reikia daryti disasemblerį. Tačiau chaotiškam listinge (LST) labai sunku susigaudyti. Tačiau pasaulis išrado gana patogias priemones, kaip Ghidra. Tačiau viena bėda- nėra modulio PDP kompiuteriams. Kažkur githube guli kažkoks tvarinys kuris tipo palaiko PDP11, bet ten pati Hidra sulaužyta dalimis (ir nesikompiliuoja) ir kiek žiūrėjau, pačio PDP modulio (language) nėra. Vėl apgavystė. Todėl biški užpykau ir nutariau pasidaryti savo, “su šliundromis ir pokeriu“. O ten tokia “rogių kalba” (SLEIGH)…

Kol kas darau tik disasseblerį, nes iki kitoko nepriaugau. Ir dar kalnas klaidų nes:

  • Aš nesuprantu rogių kalbos
  • Aš nesuprantu PDP J11 procesoriaus kalbos
  • Aš nesuprantu PDP asemblerio
  • Aš neapkenčiu aštuntainės skaičiavimo sistemos
  • Aš nesuprantu ten kažkokio p-code, kur rašosi { } skliaustukuose

Šiaip procesorius makro CISC ir kogero pilnai Ortogonalus. T.y. visos komandos turi visus adresacijos būdus. Netgi nelogiškus, su visais galimais registrais- pvz operacijos su PC veikia kaip ir su bet kuriuo registru. Tačiau operacijos su PC turi savo sintaksę suprantama žmonėm. Palyginam:

A:	MOV (PC)+,R1
	.word 5
	HALT
B:	MOV #5,R1
	HALT

Atrodo kaip skirtingos programos (A) ir (B). Tačiau listingas rodo:

11 000024 012701                  	MOV (PC)+,R1
12 000026 000005                  	.word 5
13 000030 000000                  	HALT
14 000032 012701  000005          	MOV #5,R1
15 000036 000000                  	HALT

Binarinis kodas visiškai vienodas. Paprasčiausiai iškreiptas parašymas (PC+) programoje (A) sako, kad imk reikšmę sekančia už PC ir naudok, o poto PC padidink. O programoje (B) sako, imk tiesiog skaičių ir naudok. Bet tas skaičius kaip tik ir stovi prie komandos…

O dabar įsivaizduojam, kad komanda MOV turi du parametrus. Tie parametrai gali buti su 7 skirtingom adresacijom su 7 skirtingais registrais ar tiesioginiais skaičiais. Komanda MOV gali užimti ir vieną žodį (1Word=2bytes), ir du žodžius, ir tris žodžius (6 baitus!)…

Bet kad žinotumėt koks kaifas, kaip pradeda biški viskas veikti- smegenių mankšta. Čia jums ne shortus skrolinti youtubėje.

Ai, dar nepabaigtas produktas GitHube: Ghidra PDP11 processor language file/module (slaspec).

P.S. žinokit, ta hidra moka atkompiliuoti gcc programas. Bent jau mano kurybą su STM32 gana gerai atkompiliuoja.

Su Naujais, 2026 metais!

Šiaip ne taip datempėm iki 26-tų šio šimtmečio ir tūkstantmečio metų. Baisu pagalvoti, bet ketvirtis dvidešimt pirmo amžio praėjo. 2025 metai buvo nelabai kokie bent jau dėl blogos ir šaltos vasaros. Jau nekalbant apie visus kitus niekus. Todėl va jums linkėjimas:

…gili potekstė….

Čia, galima sakyti, amžina lempa. Tai bekontaktė gyvsidabrio lempa (EDL electrodeless discharge mercury lamp arba Induction-lighting). Jos amžius priklauso tik nuo liuminiforo patvarumo ir ar nebus sudaužyta.

O toliau galerija randominių nuotraukų ir palinkėjimai prie jų: