Monthly Archives: October 2021

NEMA remontas kuris draudžiamas

Kažkur minėjau, kad turiu fotolitografinį (UV kietėjančios dervos) printerį. Bet niekur neminėjau, kad kai tik nusipirkau tą printerį, giminės ir artimieji nusprendė pernešti tą printerį be mano žinios į kitą vietą nes jis jiems labai smirdėjo. O printeris buvo su derva… Ko pasekoje įvyko pilnas piz%@^# ir derva išsiliejo visur ir į printerio vidurius. Po pusės valandos riksmo ir gal kokių trijų valandų valymo naudojant popierių, spiritą ir kažkokią užsienietišką “какой то матери”, printerį pavyko išplauti. Bent jau aš kiek mačiau. Į optiką derva nenutekėjo, korpusas nusivalė, elektronika gavo papildomą izoliacinį sluoksnį. Printeris toliau spausdino kaip ir teisingai, tik jo išvaizda jau nebe tokia kaip turėjo būti. Šiandien įjungiau printerį po gal kokių 5 mėnesių pertraukos ir supratau, kad šakės. Z-motoras visiškai užstrigo. Matyt derva pateko į motoro vidurius ir pagaliau sukietėjo. Taip sukietėjo, kad sukant su replėm iš pradžių skutosi metalinis sraigtas, o tik po to kiek pajudėjo pats motoras.

NEMA motor repair
Čia pats motoras be dangtelių, nes galvojau, kad derva užklijavo guolius. Deja ne. Matosi sraigto darbinė zona, todėl su replėm čiupom už nedarbinės ir ten viską subraižėm.
Continue reading →

Optinė pelė vintažiniams kompiuteriams Amiga (ir gal Atari)

Ištraukiam savo seną kompiuterį Amiga ir kažkaip neberadau pelės. Amiga naudoja specifinio modelio pelę- ten nėra jokio kontrolerio, o visi signalai apie padėtį ir mygtukus siunčiama tiesiogiai į kompiuterį. Tuo pačiu principu veikia ir Atari ST pelė, tik debilai inžinieriai sukeitė vietomis signalus. Todėl Atari pelė neveikia su Amiga ir atvirkščiai.

Pradžiai norėjau kur nors surasti rutulinę pelę ir pajungti tiesiogiai laidus prie fototranzistorių. Bet pasirodo, rutulinės pelės taip jau ir nesimėto. Beja originali Atari ir Amiga pelė tai rutulinė pelė. Tada pradėjau laužyti optines peles, nes senoviškos optinės pelės turi du čipus- vienas interfeiso, kitas- optinis modulis.

Tačiau USB pelė buvo kiek per nauja…
Amiga optical mouse
Continue reading →

VB.NET ir bitai, bei tekstai

Kaip apsukti bitų seką iš LSB į MSB? Galima padaryti ciklą ir kiekvieną bituką perkopijuoti į kitą baitą. Atrodo paprasta užduotis ir šiuolaikiniam 32/64 bitų kompui paprastas reikalas. Taip ir atrodė, kol nepabandėm prasukti megabaitus… Chmm, atrodo lėtokai. Galima daryti su 256 variantų look-up lentele. Keista atrodo, bet irgi ne taip greita kaip atrodo… x86 ar 64 tikrai turi kokias nors komandas tokioms operacijom… bet VB.NET nusprendė, kad to nereikia…

O ką siūlo internetiniai maniakai…? Wow:

a = ((buferis(i) * &H202020202UL And &H10884422010UL) Mod 1023UL) ' no way! 3 operacijos

Kas per? Bet veikia! Ir gana greitai veikia… geras. Buvo dar keli variantai kurie veikia su C ar C# ar C++, bet perrašius į VB jau neveikia. Spėju dėl “overflow”, nes VB neleidžia daryti perpildymo tokiose operacijose.

O kas dėl teksto? Ogi vėl lėtai veikia. Visose VB.NET pavyzdukuose naudojama:

tekstas="Tekstas"+kazkas.ToString+"dar kazkas"+vbCrLf
arba
sampleStr = "Hello" & " World"

Viskas kaip ir veikia. O bet tačiau! Jei pabandytumėm tokias operacijas padaryti su keliais milijonais teksto gabaliukų, pastebėtume, kad kompas intensyviai dirba. Tačiau lėtai. Kame reikalas? Ogi MS programuotojai nusprendė, kad nafig optimizuoti tą kodą (matyt dėl suderinamumo- tai dėl atminties rezervavimo subtilybių) ir kiekviena operacija tai naujo “string” sukurimas ir kopijavimas į jį. Techniškai du stringai nesusijungia, o sukuriamas trečias stringas i kurį kopijuojama pirmų stringų turinys. Darant milijonus operacijų, tai labai pasijunta.
Kaip tai sprendžiasi? Juk stringų klijavimas yra viena iš pamatinių demokr….ptfu programavimo principų. Yra net specialios stringų programavimo kalbos (perlas?) ir panašiai.

MS sukūrė dar vieną kintamųjų tipą: System.Text.StringBuilder(). Va į šitą galima klijuoti kiek nori visokiausių teksto stringų. Ir tai darosi tikrai greitai. Milijonus teksto gabaliukų suklijuoja akimirksniu palyginus su senu metodu (dešimtys sekundžių).

Kas moka programuoti, tai tokie reikalai visiškai nestebina. O man tai tikrai atradimai. O jei dar pašnekėti apie Multi Thread… 🙂

Antikvarinis ROM pragramatorius

Už maždaug 50€ gavau antikvarinį (~1980) ROM, EPROM ir visokių PAL programatorių. Lygtai veikia, bet visos instrukcijos vokiečių kalba. Vadinasi “PROM-Programmiereinschub uni-prom 3250”, o gal “Promicron 4000”. Gamintojas- Celectronic GmbH Berlin.
Promicron 4000
Dar yra dėžutė adapterių, nes čia vos ne kiekviena didesnė grupė čipų turi savo adapterį. Kitas navarotas- turi TTY jungtį. Rimtai, ne tik RS232, bet tikrą TTY su srovės kilpą ir 50 bodų perdavimo greičiu. Netgi su galvaniniu atrišimu. Teoriškai galėčiau pajungti savo teletaipą!

Kam man jo reikia? Nereikia man jo, bet pasirodė įdomus. O dabar vienintelis panaudojimas- jei kam nors gyvenime prireiks atstatinėti kokį ypač senovinį aparatą ir staiga reikės nuskaityti ar net užprogramuoti visišką egzotiką, tai žinot kam reikia rašyti.

keisti cipai
Čia kelis lapai iš dokumentacijos. Tikrai negirdėti ir keisti čipai. Nors pagal logiką, jei yra 2764, 2732 ir 2716, tai kodėl neturi būti kokie nors 2708 ar 2704? Ar net 27S15 ar 27S20!

Pats aparatas tai Z80 pagrindu padarytas multi PCB kompiuteris. Kaip atminties buferį naudoja SRAM čipus, tai tikriausiai buvo labai labai brangus prietaisas.