Ještě jsem v článku nedodal, že hry pro CGA byly zvláštní, dost odlišné od například her pro Atárka a Commodory, kvůli specifičnostem CGA, neexistenci spritů, ale na druhou stranu relativní rychlosti 8088.
Například:
https://www.classicdosgames.com/
https://www.giantbomb.com/cga-graphics/3015-3121/games/
Paradoxně hodně her pro CGA vzniklo až později (199x). V těchto hrách byla CGA nabízena jako fallback, protože mnohé tyto hry běžely i na EGA a VGA. Krásným příkladem je https://www.root.cz/clanky/historie-vyvoje-pocitacovych-her-42-cast-dalsi-hry-pro-konzoli-sega-mega-drive-sega-genesis/#k06
Hry pro CGA v modu 4 paleta 0 byly jako pozvanka k ocnimu. Aby se na ten hnus dalo koukat clovek si poridil cernobily monitor nebo prehodil jumper na karte na BW rezim.
Vazne nepochopim jak v roce 93 nekdo mohl CGA pouzivat. Ten hnus nebyl koukatelny ba primo zdravi skodlivy.
Na CGA jeste byly pekne veci v ascii artu kde se dalo vyuzit 16 barev.
V tech letech jsem mel budto HCGA nebo EGA. Na oboji uz se dalo koukat
Tak tak. Nevím jestli to bylo v roce 93, ale někdy v tom období se už u nás nabízely celkem běžně staré šunty s EGA a Herculesem (prostě co Escom neprodal na západě, šlo k nám) a nastupovala VGA. Někdy okolo 93 jsem kupoval první PC, a to bylo Olivetti s integrovanou VGA (a 1MB RAM, poději za nekřesťanské peníze rozšířené na 3 MB RAM :-).
Moj prvy bol tiez Olivetti 286 - taky celkom maly PC na tu dobu - nieco taketo: https://twitter.com/computermuseum/status/841759164984639488
Jojo to je přesně ten stroj. Tady v Brně to prodával Escom za 20000 (i s monitorem). O pár let později jsem si postavil 486 s 4 MB, taky za 20000 a čistě náhodou o dost let později něco s Celeronem, taky za 20000 (to je vlastně poslední PC, co jsem kdy pořídil, ty další už jsou jen repasované NB).
Jenže ono 20000 někdy v 93 je něco jiného než dneska :-)
"Jenže ono 20000 někdy v 93 je něco jiného než dneska"
Onehda jsem cetl rozhovor s Vsevolodem V. Volkovem, tehdy studentem Kyjevské polytechniky, ktery prepsal Norton Commander do assembleru (cela binarka mela 97kB) a v roce 1992 vydal pod nazvem Volkov Commander. Ten clovek tehdy vubec nemel vlastni pocitac, na cele univerzite jich bylo jen asi 20. Na Ukrajine byla tehdy rocni inflace 10000% (deset tisic procent) a prave vznikly stat po rozpadu SSSR ovladaly gangy, na ulicich Kyjeva se bezne strilelo a vybuchovala auta...
Dovedete si predstavit v jakych podminkach ten clovek musel pracovat?
Volkov Commander je povedený kus SW, ukázal, jak se dá s omezenými prostředky dosáhnout hodně.
Jinak představit si to dovedu aspoň částečně, protože doba, kdy se i zde programovalo na papír a potom se to u kamaráda nebo třeba v klubu výpočetní techniky přepisovalo. Před tím rokem 92 bylo i hodně lidí u nás v podobné situaci. Paradoxně to bylo i trošku horší než před 89, protože skončil Svazarm, ve kterém se semtam dalo k nějaké té počítačové technice přijít.
My měli tehdy doma am386sx s 2MB RAM, nějakou 512kB VGA (v 16-bit ISA slotu), 100MB HDD a 14" barevný monitor (800x600). Když si to tak teď promítnu, tak docela slušné, lepší měli akorát dva spolužáci, jeden 386DX s 4MB RAM a jeden dokonce 486SX s 12MB (!) RAM. Ostatní měli různé 286 nebo dokonce XTčka s 20/40MB diskama, max 1MB RAM. To byly časy :-)
Kolik mohlo v tom roce 93 tak stát to první Pentium (P5)? 150-200 tisíc?
v 94-95 jsem kupoval P5 90 s 8MB pameti za 70 tis (samozrejme, ze pocitac jsem si sestavoval sam). Urcite to bylo pred 95 - jako prvni jsem tam instaloval 3.11, takze jeste nebyly 95ky. Padl na to zisk z kuponove privatizace a firma mi zaplatila dopredu nekolika mesicni praci na projektu. Ten pocitac jsem mel pak jeste cca 10 let.
11. 3. 2021, 15:59 editováno autorem komentáře
Za své první PC-XT s 10MB diskem a Herculem jsem v roce 1991 dal křesťanských 40 tisíc Kč. Ale investice se vyplatila, dost jsem se na něm naučil, i když vývoj za mého života šel kvapem.
Teprve začátkem sedmdesátých let likvidovalo brněnské VUT svůj poslední elektronkový počítač, zásuvné desky s dvojitými triodami byly vyhozeny v bedně na chodbě v Božetěchově studentům na pospas. Tehdy se zrovna v ČSSR rozjížděl 2. televizní program a elektronky E88CC se znamenitě hodily k amatérské výrobě konvertorů pro starší televizory.
Takže už před půl stoletím výpočetní technika pozitivně ovlivnila i televizní diváky.
Díky za připomínkový článek.
Já měl to štěstí/smůlu, že jsem se už koncem roku 1987 dostal k 386ce (mám tušení, že tam snad byla i čerstvě upečená VGA).
Štěstí v tom, že byly jedny z prvních 386tek ve východním bloku a po ZX Spectru, Comodore, IQ 151, Atárku, Didakticích a nějakých šíleností ze Slušovic to byly namáklé stroje s 5 a 1/4 a 3 1/2 disketovými mechanikami a 10 MB diskem (dodnes si pamatuji ty zvuky co dělaly při bootu).
Smůlu v tom, že nebyly moje, ale fabriky a když pak, o několik dlouhých let později, byla mým prvním vlastním PCčkem zabugovaná 286ka s vadnou RAM, tak to byly smutné vzpomínky na 386ku. Na další, tehdy už 486ku jsem vydělával po brigádách 2 roky.
Když vidím co je dnes v segmentu repasů k dispozici za cenu jednoho většího nákupu jídla pro rodinu, tak jsem v úžasu.
PS: Šotek v kapitole 13:
"V podobně tohoto počítače firma IBM"
CGA komentovat nebudu, protože jsem zažil až Hercules i VGA.
Ale vrátím se k 8086. Z hlediska programování v assembleru to byla naprostá katastrofa. Oni sice měli zajímavé nápady ohledně adresování a tak, ale ta instrukční sada byla naprosto neortogonální, takže programovat v assembleru vyžadovalo až zbytečné znalosti. Například že s AL a AX se v mnoha instrukcích pracuje rychleji a tak.
Spousta instrukcí vyžadovala jen určité registry, takže zase ruční optimalizace MOVů, jinde naprosto zbytečná. když jsem dělal v 86 assembleru, měl jsem fakt pocit, že je to spíš umění. po přechodu na 68k a MIPS jsem pochopil že ne, že prostě je to jen chaos.
Docela bych řekl, že právě ta instrukční sada způsobila, že se kvalitní překladače C objevily až hodně pozdě (Watcom C), než jinde.
NTSC jako "Never The Same Color" mě pobavilo :-)
Sice to vystihuje vliv rušení/odrazů na kvalitu obrazu při modulaci podle této normy (zatímco např. PAL bychom mohli označit za Never The Same Shade"), ale vězte, že NTSC znamená "National Television System Committee".
"Never The Same Color" bylo zlomyslné označení této normy, kdy televizní diváci při rušení viděli např. zelenou místo modré, zatímco u PAL by pak byla vidět např. světle modrá místo tmavě modré.
Při připojení kabelem, je to ovšem jedno, protože rušení/odrazy se tam patrně nebudou vyskytovat.
Pekny.
Ale je vhodne doplnit, ze dnesni X86_64 jsou sice HW kompatibilni az kdesi k 8086, ale pokud je budete chtit v tomto modu pouzivat, dostanete neco s vykonem 386DX.
Zkracene, nekde v rohu dole na cipu sedi stary 386, v realu se jede na uplne novych a nekompatibilnich strevech, co s tim puvodnim 40 let starym navrhem nema moc spolecnyho.
"dnesni X86_64 jsou sice HW kompatibilni az kdesi k 8086, ale pokud je budete chtit v tomto modu pouzivat, dostanete neco s vykonem 386DX."
Z ceho vychazite ? Mel jsem za to, moderni procesory umi naprostou vetsinu tech 16bit veci bez jakekoliv penalizace*, jako kdybych pouzil prislusne prefixy pro "ekvivalentni" instrukci v 64bit modu.
"nekde v rohu dole na cipu sedi stary 386" - to same, vzdyt ty 32bit instrukce jedou uplne stejnou cestou jako 64bit, stejne jako kdyz oprefixuju neco v longmode.
nebo ... ?
--
* nepocitam segmentaci realmodu
Ta adresace 1MB je IMHO jediné omezení. Výkonově to může být i lepší než protected režim, protože odpadne kontrola v tabulce deskriptorů. jinak real mode je fakt o adresaci (a defaultní velikosti operandu), protože například je stále možné používat plné 32bitové registry atd.
* adresaci řeší unreal mode
Jasne, takhle to chapu taky, ale pak neplati "nekde v rohu dole na cipu sedi stary 386"
Spis to je ze se realne pouziva treba 1/50 plochy CPU, zbytek logiky je nevyuzit.
Celkem se divim, ze x64 procesory nenavrhli tak, aby tam v budoucnu byla moznost odriznout ty backward compatible veci (a resit je softwarove, treba neco na zpusob SMM, nebo jak ma MIPS handler pro unaligned load/store).
Zkuste si zahrát takový myšlenkový experiment. Máte stroj času a můžete se s ním přenést do minulosti, řekněme mezi roky 1970-1985. Můžete si vybrat libovolný z nich. Úkolem bude založit v USA start-up s tím, že budete mít zajištěnou rozumnou kapitalizaci (ale ne neomezenou). Vašim cílem bude:
* vytvořit takovou počítačovou platformu, která bude
- ve své době úspěšná a pokud možno dominantní
- levná, populární mezi domácími uživateli i v business sféře
- schopná se plynule rozvíjet tak, aby byla schopna přežít a udržet si dominanci do dnešních dnů
- ideálně se dostat do lepšího stavu, než ve kterém jsme dnes
* váš start-up bude bude finančně úspěšný až do dneška a udrží si nad touto platformou dostatečnou kontrolu
Ač budete mít výhodu znalostí člověka z roku 2021 a toho, co fungovalo a co ne, I tak by splnění těchto cílů bylo hodně komplikované. Samozřejmě můžete vycházet pouze z technologií dané doby.
Když si tuhle myšlenkovou hru zahrajete, možná dospějete k závěru, že PC platforma si svoje vítězství nakonec docela zasloužila. Sice nebyla z počátku rozhodně levná a firma, která s ní přišla, z ní nakonec příliš neprofitovala, takže zadání splněno nebylo, ale pro všechny ostatní ten výsledek byl docela příznivý.
To je pravda, ale zase některé věci by v PC nestály nic, kdyby se nad nimi přemýšlelo:
1) barvová paleta v CGA. Ta karta uměla 16 barev, akorát pro grafické režimy vybrali ty nejhorší možné kombinace a navíc zbytečně (stačilo tam nechat LUT z textového režimu a hned by se lépe žilo)
2) nezavádět takovou divnost, jako A20 GATE, která se s námi táhne už těch 40 let (dneska nerelevantní, ale někde v hardware ta emulace pořád je)
3) neudělat botu při výběru dodejce operačního systému (a toto byl skutečně takový typ chyby, která prostě v korporaci dřív či později nastane)
4) toto je spíš na Intel - rozumné přepínání mezi real a protected režimem u 286. jasně, už jsme překonali různé extendery, ale řešení hackem přes reset CPU tedy moc nesvědčí o tom, že při designu domýšleli všechny důsledky
ad 4) tady si dovolím protinázor, tuhle problematiku jsme v té době docela řešili na škole.
Ten princip nebyl špatný, dost připomíná securelevel z *BSD, prvotní myšlenka byla taková, že do protected modu přepínáte proto, aby Vás hlavně chránil a tím pádem naopak byla snaha zabránit se z něj jakkoli dostat.
Trochu problém v tom případe nastal až "díky" DOSu, tak se holt historie vydala jiným směrem a v 386 už Intel přišel jednak s v86 modem na emulaci DOSu (ale, podstatné, se zapnutou pagging unit a na ring3 se všemi veselostmi s iopl a privilegovanými instrukcemi), druhák to už nedám z hlavy, tuším že přes CR0? přímo přepnutí zpátky do reálu.
Původní Windows tomu taky coby nadstavba nad DOSem nepomohly, až tuším W95 pokud měly drivery jako první dokázaly jet bez přepínání zpátky do reálu pod tím, definitivní tečku za tím nesmyslem udělal ale až NT kernel.
Dlužno podotknout že nejen DOS byl veselý, třeba Novell NetWare 2.xx byla taky veselost (byly 2 mody - dedikovaný v protected mode 286, a pak že to běželo vedle DOSu do kterého se to vracelo resetem cpu.
Ostatně i NetWare 3.xx bootoval z DOSu a během inicializace uměl přepnout zpátky do reálu (a silně se doporučovalo hned po inicializaci dát do autoexecu REMOVE DOS, protože samozřejmě ten DOS byl reálný a dokud běžel tak server stál)
jj souhlasím s tím, že teoreticky je to správná cesta (asi jste taky probírali Popek-Goldberg teorém?). Prostě mít real mód jen na boot a potom ihned přepnutí do protected s tím, že vracet se nemá význam. Jenže je tam právě ten DOS a nános starých aplikací, které bylo zapotřebí podporovat a ideálně ostatním nabídnout o něco víc, než 640 kB RAM :-)
Ono se to nakonec díky nalezení toho triku s resetem dalo nějak dohromady, ale prostě praxe s 286 nebyla tak dobrá; z toho čipu by se dalo vytáhnout víc.
Někdo to shrnul tak, že ideálně žádná 286 neměla vzniknout a mělo se přejít přímo na 386, jenže to je ten zpětný pohled, který nefunguje... :-)
Ja som sa nad tym nedavno zamyslal a ta 286tka je v podstate taky proto mikrokontroller s MPU. Niekde na urovni dnesnych Cortex-M, ale trocha roztahanejsia. Az 386tka tomu dala poriadnu MMU. Tam si ale Intel usekol (IMO) botu, ze dovolil beztrestne kombinovat paging so segmentaciou. Ta segmentacia bola celkom vtipne a povedzme, ze na svoju dobu aj genialne riesenie manazmentu pamate, ale tipol by som si, ze so strankovanim to vsetkym zucastnenym dnes len robi vrasky na cele a pridava jeden dalsi level, ktory sa musi tolerovat, aj ked sa v reale prakticky vobec nepouziva.
Vubec nechapu proc se segmentace do x86_64 dostala (fs,gs), kdyz to slo snadno resit jako ve svete ARMu ze thread- a process- infobloky se daji strcit do nejakeho MSR. Prijde mi to ... no nevim jak to nazvat proc si bordelit ISA nejakymi FS:, GS:, GDT, LDT kdyz se to realne k nicemu smysluplnemu dneska uz nepouziva. Nebo ano ?
Intel při přechodu na 32 bity původně využil dvě ze čtyř zbývajících neobsazených pozic ve tříbitovém zakódování čísla segmentového registru. Když se AMD rozhodlo ponechat FS a GS ve své architektuře AMD64 pro účely ukazatele na Thread Information Block a Thread LocalStorage, Intel to pak od nich rychle zkopíroval kvůli kompatibilitě.
Takže oba segmentové registry se i dnes využívají v 64bitových Windows i Linuxu.
Podrobně je to rozebráno na Stack Overflow.
Kdysi jsem cetl nejaky clanek, kde to pekne rozebirali.
Kdyz u Intelu vznikala 8086, bylo jasne, ze krome dvojnasobne datove sbernice se adresova sbernice musi take o nekolik bitu z mnoha duvodu zvetsit oproti 8bitovym CPU (vic pameti kvuli code density, moznosti prepinani mezi "aplikacemi" v RAM, podpora nejakeho budouciho OS, inovace proti 8-bitum,...).
Udelat vsechny registry treba 24bitove (cokoliv jineho nez n*8 bylo ihned zavrhnuto), byl neprekrocitelny rubikon (cena, spotreba, rychlost,...; uz tech 16 bitu bylo na ALU dost ambicioznich - treba MUL/DIV instrukce byly "must have"). Udelat pouze "adresovaci" registry 24bitove (vedelo se, ze Motorola neco takoveho "pece") narazelo na problemy pri presunech 16bit univ. reg.. <-> 24bit "adr." reg., nutnosti jinych instrukci pro MOV reg, imm/mem atd. Smysl samozrejme davalo rozdelit adr. registry na dve casti, Hi & Lo, kde Lo bude mit sirku univ. registru (16 bitu) a Hi taktez, nebo klidne mene (32bit. adresaci stejne nepotrebujeme). Proste klasicke neprekryvajici se strankovani.
A pak prisel ten genialni napad - nechat Hi registr prece jen 16bitovy, ale pri vypoctu adresy ho zarovnat vlevo, tj. hornich n bitu Lo se bude prekryvat s dolnimi n bity Hi, a Lo a Hi se budou scitat (ALU uz tam prece mame, ze). V ten moment se granularita pocatku stranek smrskla (z 64 kB na 16 bajtu pro nakonec zvolenou sirku adr. sbernice 20 bitu) a kod se bez nutnosti prepoctu Lo (napr. JUMPy) dal alokovat po 16bajtovych krocich. Kusy ruznych kodu tak bylo mozne skladat pekne za sebou bez nutnosti rekompilace nebo alespon korekce adresovych ofsetu, a to rozhodlo. Jaka to byla chyba bylo nejpozdeji zrejme pri vyvoji 80286...
Ano bylo to tak. Popravdě kdyby ten posun udělali ne o čtyři bity ale o osm bitů, tak by granularita pořád ještě byla dobrá (256 bajtů - to máme my od 6502 rádi :-) a problém by se posunul někam k 16 MB, což už by bylo hratelné delší dobu a možná by odpadla DOSovská omezení (16 MB bylo totiž hodně ještě v dobách 486).
Btw k té ALU: oni ji tam právě museli přidat, konkrétně blok číslo 3 (https://en.wikipedia.org/wiki/Intel_8086#/media/File:Intel_8086_block_scheme.svg). Nebylo to tedy tak, jako kdyby byla stránka (nebo řekněme segment) zcela odsunutá o 16 bitů (a i tam by byly problémy s relativními skoky přes kapacitu stránky/segmentu).
teď už si nevzpomenu - používal vůbec nějaký OS všechny čtyři ringy? Pokud vím (ale už je to dávno), tak se jelo maximálně na dva ringy - jádro a userland. I když mít oddělené drivery ve svém ringu by taky nebylo k zahození v dobách W3.11/W95, kdy různé obskurní zařízení bez problému poslalo celý OS do kytek...
Dost se o tom mluvilo, ale nejsem si vědom že by se v nějakám skutečném ne zcela obskurním OS podobný koncept vyskytl, přitom smysl by to dávalo, a nejen u W3.11/W95 jak píšete, ale i u modernějších OS.
Konkrétní příklad - původní Windows měly drivery sice v nule, ale samotnou grafiku v csrss, tedy sice subsystému, ale standardně na ring3, mám pocit až do 3.51.
NT4 přišly s win32k.dll, což byl možná dobrý krok z pohledu rychlosti vykreslování (graf. operace se přenesly zpátky do ring0), ale stabilitě systému zvlášť s obskurnější grafikou to moc nepřidalo.
A případ tisku na Win2000 terminal serveru by snad patřil do každé učebnice jak se to nemá dělat - to si na pobočce koupili nějakou obskurní tiskárnu s prapodivnými drivery, připojili se na firemní terminál server, dali něco tisknout, milé drivery se hezky pustily v ring0, ale toho terminál serveru a následně volaly desítky naštvaných uživatelů že díky modré smrti přišli o práci.
(jistě, dalo se to nastavit i lépe, pak ale zase hrozily potíže ať už politického (koupili jsme za půl mega Minoltu, jak to že na ní nemůžu tisknout?) nebo technické (300DPI bitmapa přes 128kb linku) rázu. Ale původní poznámka že tiskové drivery v kernel space nemají co dělat IMHO platí)
Ano, OS/2 pouzival vic nez jen ring 0 a 3. Podle Wiki vyuzival i Ring 2 pro privilegovane uzivatelske aplikace: https://en.wikipedia.org/wiki/Protection_ring
Dalsi vyuziti ringu 1 bylo u VMware, jeste v dobach pred hw asistovanou virtualizaci. Spatne se to dohledava, ale ring 0 virtualizovaneho guest OS bezel snad na ringu 1 v hostitelskem OS. (Uvedeno napr. v dokumentaci z r. 2005: https://www.vmware.com/pdf/esx_vin_eval.pdf)
A Apple je z těch firem, které jste jmenoval, také jediná, která dosud existuje. Takže je potřeba hodně tvůrčí myšlení, aby z toho člověk vyvodil, že se "platforma x86 nikde jinde neujala". Spíš bych řekl, že "se neujali" ti, kdo na ni nevsadili. (I Apple u ní skončil a jeho post-x86 éra sotva začala, takže je předčasné ji hodnotit.)
Ale ona se skutečně jinde neujala. Jen v oblasti PC a to je komodita, ne další x86 platforma. Z těch firem, která PC dělaly, přežil jen Dell. Ostatní, včetně IBM, Tulip, Olivetti, Compaq, Escom a desítky dalších už dávno s PC skončili (a většinou skončili úplně, protože je zničilo to, co je dostalo na vrchol - jednoduchý vstup na trh skládaček jménem PC, kde se moc nedá inovovat a kdo nemá celý řetězec jako Dell, prodělá).
Názov článku evokuje ľahké čítanie ku jednej káve, ale značka Tišnovský čitateľa okamžite vyvedie z omylu. Ako je u autora zvykom, jedná sa o svedomite a podrobne spracovaný prehľad na danú tému.
(Vynorila sa mi asociácia na detstvo, keď som čítal Verneho 20 tisíc míľ pod morom ;-).)
Díky za pekný článok.
Kto máte možnosť a baví vás nazrieť do histórie IT, pozrite si seriál Halt and Catch Fire. Prvá séria sa týka vzniku konkurenčného PC (umelecká licencia, ide o hraný seriál, nie dokument).
Já bych chtěl dát odkaz na skvělý článek Running DOS Apps on Windows o tom, jak se implementoval multitasking.
Děkuji za skvělý článek! S PC je spojený kus mého života a při čtení jsem si hezky zavzpomínal. Oceňuji taky "komplexní pohled" (jak to celé začalo) a zasazení událostí do kontextu - obojí je pro články pana Tišnovského typické.
Dovolím si "non-PC" poznámku - mainfamy IBM garantovaly zpětnou kompatibilitu pro aplikace/programy napsané pro OS/360 jěště u OS/390 (z 90. let) a do jisté míry je garantovaná i u z/Series (plně 64-bit systém z roku 2000)
Ja si myslím, že by sa Microsoft, Intel a AMD mali dohodnúť a ukončiť spätnú kompatibilitu a podporu pre 16 a 32 bitové inštrukcie a staré rozšírenia a nechať iba AMD64, AVX2 a novšie, napríkad AVX512. Časť kremíka by tým ušetrili a zároveň by sa zjednodučilo aj jadro operačného systému. Za 3 - 5 rokov by to v pohode zvládli. A procesory so spätnou PC kompatibilitou by mohli predávať, kým by bol o ne záujem. Prakticky by tým ukončili vývoj PC kompatibilných počítačov.
Apple v pohode zrušil podporu 32-bitových aplikácií a darí sa mu.
Prosím, než něco takového napíšete, koukněte na svůj (nebo pokud nehrajete na pár známých) Steam account, ono uříznout 32bitů není tak dobrý nápad.
Mě byste třeba z top3 stráveného času letos odříznul Skyrim a to bych pak šel do kůlny pro vidle a následně začal schánět Vaší adresu a určitě bych tam nebyl sám, a to nechcete. ;-)
O tom, že to šlo u Apple, u kterého se ve známém meme říká že je pro hraní vhodný jako pohodlná podložka pro myš není pochyb, ale je to jiný use case.
11. 3. 2021, 23:23 editováno autorem komentáře
Ten dekodér je vůbec magie, instrukční sada je tak slepená dohromady, že dekodér je spekulativní, hodně práce zahodí a nedá se už více paralelizovat - když vyšel Apple Silicon, vyšlo na Anandtechu pěkné porovnání instrukčních sad AMD64 a ARM64. Intel/AMD už z principu nemůžou ten dekodér udělat lépe, Apple M1 má tak vysoké IPC hlavně díky mnohem snadněji dekódovatelné instrukční sadě (v kombinace s efektivitou díky výrobnímu procesu je pak celkově rychlý a úsporný). Shrnuto a podtrženo, Intel/AMD nemají horší inženýry nebo výrazně horší technologii (AMD ostatně vyrábí z velké části tam, kde Apple), ale táhnou za sebou břímě historie. Apple na zpětnou kompatibilitu zvysoka kašle, proto se pak může chlubit.
To by si příliš nepomohli. Bez ohledu na to, že je dneska už k ničemu, tak ta podpora pro real mode až tak moc nezabírá, pro 32-bit to nejspíš taky nebude takový rozdíl, vzhledem k omezenému počtu registrů i instrukcí a v zásadě poměrně obsáhlé dopředné kompatibilitě k dnešní x86_64. To, že se část instrukcí nepoužívá, část má nejspíš nějaký překryv a část se dá zakódovat kratší variantou s nějakými registry než jinými, nemá asi větší význam, kromě toho, že to mírně komplikuje kompilátor a dekódování v procesoru. 32-bit určitě neběží výrazně pomaleji než 64-bit, tak instrukční sada je v zásadě stejná (respektive jen rozšířená). U 16-bit si nejsem jistý, ale i kdyby se to emulovalo software, tak se asi nic tragického nestane (ostatně, svého času se musely opravovat knihovny pro Turbo Pascal, protože v době vývoje se nečekalo, že by procesor mohl běžet tak rychle).
Nicméně, ukončit by to asi šlo. Jak ukázal Apple a Rosetta 2, s rozumnou architekturou a defakto JIT se dá emulace udělat poměrně dobře udělat softwarově, s nepříliš výraznou ztrátou výkonu (i kdyby byla poloviční, tak to u zastaralých 32-bit aplikací nikoho nebude extra dráždit).
Problém x86 (a x86_64) je ale ta zpětná kompatibilita, která se stále drží na úrovni ISA. Když to navrhli na začátku, tak to nějak dávalo smysl, s omezeními, které byly dány dobou a cenou (i když, jak ukazují jiné příklady, šlo to určitě udělat líp). S osmi registry (spíše s bídou s šesti) a malou cache ten CISC dával v zásadě smysl, bo většina operací vyžadovala práci s pamětí. Měli slušnou code density, nízkou cenu atd. Dokonce bych jim ani nevyčítal ty segmenty - postupem to sice bylo peklo, ale původně asi počítali s tím, že všechny objekty budou v rámci 16-bitového prostoru a segmenty tak umožňovaly jednoduchou adresaci při omezení designu na 16-bitové registry. Jenže, časem se rozšiřovalo a ISA se hackovala, až do 64 bitů, kde velká část instrukcí vyžaduje nějaký prefix či dokonce víc, aby fungovala se správnými operandy. To celkem fungovalo u jednoduchého procesoru před 40-ti lety, ale u dnešních superscalar to už značně komplikuje instruction decoder. Ten sice opět nezabírá velkou část procesoru, ale schopnost číst instrukce paralelně v podstatě plýtvá energií, brzdí zbytek pipeline a dekódovat víc než několik kusů najednou je pro CPU sázka do loterie. Podobně je to s code density - většina původně designovaných instrukcí se defakto nepoužívá, bo CPU už má dost registrů, takže většina instrukcí je defakto v kategorii RISC. Navíc jsou zbytečně delší, protože velkou část ISA prostoru zabírají ty, které už nejsou využívané. Jako obvykle platí, že čím vyšší aplikační vrstva, tím lepší znalost má o tom, čeho chce dosáhnout a jaké jsou následky a vztahy s okolními komponentami, takže jsme zpátky v době, kdy je lepší optimalizaci udělat na softwarové úrovni než dělat šílené hacky a kontroly na úrovni CPU. V tomto směru byla Transmeta zcela slepá ulička .
Takže, x86 či x86_64 už nic nezachrání. Intel a AMD to držely dlouho kvůli know-how a patentům, které nikdo neměl, a samozřejmě obrovským investicím, které si mohli dovolit kvůli množství zákazníků. Ale jak to obvykle bývá, svět se časem srovná s tím, jak se technologie a postupy stanou dostupnější - teď máme ARM a dvě open-source architektury, které vznikly s minimem prostředků na univerzitách. Těžko soudit, možná se ARM a RISC-V dostanou časem do podobné situace, až jim třeba dojde prostor v jejich ISA a budou potřebovat rozšiřovat. V té chvíli možná bude opět dobré celou ISA zahodit a vytvořit zcela novou, na základě aktuálních požadavků (spíš si myslím, že se tak v dohledné době nestane, vzhledem k tomu, že ty požadavky jsou do velké míry dány možnostmi napsat na to software a tam se drasticky neposunujeme, s výjimkou různých masivně paralelních architektur apod). V každém případě jsme dneska už v jiné době a jsme schopni to řešit velice efektivně - ať už formou software emulace (respektive kombinace emulace a kompilace) nebo tím, že většina aplikačního SW běží na nějaké VM a nativní kód je obvykle open-source nebo dobře udržovaný a dostupný closed-source (pokud ne, tak je stále možná ta první varianta emulace, ale větší problém je stejně v nebezpečnosti toho software jako takového).
Paradoxně, odhaduju, že x86 (x86_64) definitivně pohřbí Intel. Ta architektura je za zenitem a na limitu, Intel je v ní v této chvíli pozadu a dostat se v ní zpátky na špičku by stálo extrémní peníze, navíc by to bylo Pyrrhovo vítězství, vzhledem k tomu, že ta špička x86_64 je pořád za současnými ARM CPU. IMHO současné plány Intelu (a nejspíš i AMD) směřují buď k ARM nebo spíš RISC-V (bo licence, ale zároveň je taky modernější), které nemají ty nesmyslné 40 let staré omezení a jsou tak lepší k rozvoji. Teoreticky by mohli navrhnout novou vlastní ISA, ale to by bylo obrovské riziko z hlediska podpory kompilátorů, OS, hardware vendorů atd. Se svým know-how budou schopni dotáhnout tu architekturu dál než aktuální svět a můžou pokračovat ve své nadvládě ve světě CPU. Nemají moc na výběr - buď se přizpůsobí evoluci nebo vymřou jako dinosauři. Navíc můžou zkusit využít nějaké své patenty a architekturu nadále vylepšit a blokovat zbytek světa. Což je špatná zpráva, ale z obchodního hlediska dává smysl...
Tento názor souzní s mým dlouhodobým výhledem. I nejmonstróznější x86 dekodéry zvládají jen 6 instrukcí paralelně a to jen někdy a i od těch jak Intel tak AMD ustoupili a dokáží dekódovat jen 4 instrukce z cache paralelně. Dohání to trace cache, která může injektovat až 6 RISC like instrukcí paralelně, ale její kapacita je maličká (většinou 64 entry) a uplatní se jen v těch nejtěsnějších smyčkách. Zkusit do RISC kódování převést celou L1 se ukázalo na Pentiu IV jako katastrofa, ono rozumně mapovat jesnobytové x86 instrukce, které pracují s pamětí a rozpadnou se ně tři RISC like a pak 14 bytové, které koncí na jedné RISC na sebe bez obrovského plýtvání kapacitou cache po instrukcích nejde a dělat to nějak dynamicky místo n-cestně asociativní cache s přímým indexování adresou asi moc nejde. Je jednodušší udělat nějaký překlad na SW úrovni. Takže sada x86 je na dekódování mrtvá nebo minimálně při požadavku na rozuměnou spotřebu.
Apple M1 dekodér na až osm instrukcí paralelně je proti tomu vlastně jednoduchá hračka. Na druhou stranu si myslím, že ARM udělal chybu s vypuštěním nějaké možnosti využít 16-bit aliasů (Thumb) v 64-bit režimu. Na RISC-V sice zabírá 16-kódování 3/4 codespace, ale dává možnost lepšího využití kapacit cache větší kódovou hustotou nebo alespoň dorovnání handicapu jednodušších adresových režimů proti ARM AArch64. Ty širší režimy indexace na ARMu jsou výhodou, ale odhaduji, že ve výsledku zaplacenou složitějším návrhem jednotek počítajících adresy (AGU na Zen, LAD, SAD na RISC-V). Takže si myslím že rozhodnutí RISC-V redukovat adresní režimy a počty vstupních a výstupních závislostí instrukcí minimílně není chyba. Předpokládám, že AArch64 již v codespace prostor na 16-bit aliasy bez přepínání režimu procesoru nemá, naopak ho pak plýtvá na klasické multimediální operace s pevnou šířkou operací, tedy NEON je vlastně se dvěma šířkami 64 a 128-bitů a tím zabírá ještě více codespace. AArch64 se problém snaží nyní řešit přidáním SVE (Scalable Vector Extension), ale celkově to je opět další redundance a komplexita navíc. RISC-V se svým RISC-V V vector extension si myslím, že je na tom lépe přitom bude dobře škálovat na různě výkonné implementace s různě širokými cestami skrz čip a i nejjednodušší smyčku s proměnným počtem průchodů půjde zakódovat s minimální zátěží na víc, že i pro případ, že bude zavolaná jen na dva průchody vyjde dobře.
Přitom skupinu multiplexorů, které teřeba na začátek dokáží dekódovat 32 byte z RISC-V L1 cache na 4 až 8 konstrukcí podle délky si na rozdíl od x86 dokáži představit a při správném využití kódování kompilátorem to může mít jen malou ztrátu proti M1. Když se podaří dekódovat 64 bytů, do 8 až 16 instrukcí tak ho předběhne.
Takže zatím vidím spíš důvody, proč je dlouhodobě RISC-V lepší volba. Zároveň pokud dostane ARM Nvidia, tak je možné, že zla, kterého se mi ve jménu nepodepsání jejich NDA dostalo napáchají ještě více a spolupráci ještě více lidem otráví.
Jinak letem světem jsem popovídal o přehledu od i4004 přes x86, M1 k RISC-V na letošním InstallFestu. Zatím odkaz do streamu https://youtu.be/Tjej9Vz_A0E?t=1542 . Kdo by chtěl hlubší přehled, tak nabízím prezentace a záznamy z našich Pokročilých architektur počítačů , bylo to původně i pro cizince i když letos, na rozdíl od několika předchozích běhů, nakonec žádný předmět nedokončil, ale zůstal jsem i tak u své CzEnglish, tak se předem omlouvám https://cw.fel.cvut.cz/wiki/courses/b4m35pap/lectures/start . Jinak kdo si potřebuje oživit základy, tak mohu nabídnout náš úvodní předmět https://cw.fel.cvut.cz/wiki/courses/b35apo/lectures/start pro prváky.
S pozdravem,
Pavel Píša
S touto myšlenkou jste tu příliš brzy. Vždyť i dnes je spousta 32bit-only aplikací, hlavně ve Windows světě (a existuje spousta 32bit ARMů pokud nejsme jen u x86).
Na druhou stranu, dovedu si představit, že by moderní x86 procesory měly třeba jedno dedikované 32-bit only jádro pro kompatibilitu a zbylých X jader s 64-bit odlehčenou instrukční sadou. I když teď nad tím při psaní komentáře uvažuji, nevím jak by to technicky fungovalo...
Jsem jenom laik, ale mam za to, ze obecne se vyplati mit strukturou stejna jadra, a naopak treba zpetnou kompatibilitu resit "polosoftwarove" (muze byt treba mikrokodem, nebo nejakym v CPU schovanym "trapem" ala x86 SMM; resp. presne takhle to mel myslim nejaky klon MIPSu aby obesel patenty). Uz zasadni problem je v tom, ze by OS musel vedet na jaka jadra schedulovat jake procesy.
„S touto myšlenkou jste tu příliš brzy. Vždyť i dnes je spousta 32bit-only aplikací, hlavně ve Windows světě [...]“
A některé jsou pro Windows svět malinko zásadní...
Nebo VS Code.
> dovedu si představit, že by moderní x86 procesory měly třeba jedno dedikované 32-bit only jádro pro kompatibilitu a zbylých X jader s 64-bit odlehčenou instrukční sadou
Tohle určitým způsobem existuje v ARM světě. Typický mobil má 4 velká a 4 malá jádra. Ta velká jsou 64bit only a ta malá jsou 32/64bit. OS pak spouští 32bit aplikace jen na těch malých. Výkonově je to ok, protože 32bit ARM aplikace byly dělány pro mobily s 4 takovými jádry, takže jedou na stejném výkonu jako tehdy. (Ta malá jádra jsou šíleně zastaralá a několikanásobně pomalejší než moderní malá jádra v Apple. Firma ARM má peníze jen na vývoj velkých jader - ta jsou taky lépe prezentovatelná. Ve světě mimo Apple se aspoň využije kompatibilita s 32bit aplikacemi.)
Pan Tisnovsky je opravdovy znalec a bezkonkurencne nejlepsi autor na tomto serveru.
A super je, ze ja tohle vsechno zazil. Od zacatku ve skole s Pascalem, pres programovani na 386 v assembleru, shaneni dokumentace pro DMA, volani sluzeb BIOSu, DOS apod. (Internet u nas v te dobe prakticky neexistoval) Provozovani vlastni BBS FrontDoor, volani za 1Kc po neomezenou dobu, modemy 14,4kbit, DOOM multiplayer pres seriovy kabel RS232, prechod na C, bastleni vseho mozneho a tak. Proste krasne detstvi :-) A dnes cloveka zivi SAP a porad ma stejne naskok pred temi, co uz to zelezo a jak to tam vsechno vlastne funguje, neznaji.
Velmi brzy po revoluci zacla fungovat casova tarifikace.
"Brzy" je relativní pojem. Poslední analogová ústředna byla vypnuta 27. června 2002 (a to v Praze). My ji na Spořilově měli IIRC někdy do roku 1999. Tady je zase článek z května 1998, kde se chlubí, že "...je už více než 50 procent všech zákazníků SPT Telecom připojeno k digitální ústředně".
Existovaly P51/52 kde byly klasicke strowger switche. Myslim ze v cestine tomu rikate krokove volice. Tam tarifikace byla jenom dobastlena per spojeni jeste co si ze SOS pamatuju.
PK 201/2 byly taky analogove s krizovymi volici ale uz mohly mit castecne elektronicke rizeni. Mezi 20x radami byl snad rozdil jenom v kapacite. Byla tam funkcni casova tarifikace a posilani tarifikacnich impulzu.
Co se tyce dalkovych spojeni snad uz fungovalo i DTMF na signalizaci. Aspon do te doby nez tam prisly bastly od ascomu. Kazdopadne na mistnich linkach ta kravicka neumela nic jineho nez pulzni volbu.
Proste stredovek. Tahle technologie 60tych let(byt samotne ustredny se zacly vyrabet az od r 70 diky zastaralosti telekomunikaci u nas).
Samozrejme ani na EWDS nam soudruzi jen tak tonovou volbu taky nezapli. Az o par let pozdeji.
V me lokalite tahle ustredna uz byla od te doby co jsme meli linku takze spojeni za 1kc bylo pro mne scifi deti z prazskych sidlist.
My měli v okresním městě na severu starou ústřednu někam po rok 2000 :D
Moje jediná nevýhoda byla, že to byla podvojka a soused pracoval u silnic , takže se mu v noci (vlastně víceméně furt) nedovolali páč jsem stahoval svým 14.4 modemem kde co :D
Jinak mě je přesně 41 let , šel jsem cestou ATARI 800 jako děcko až po to PC .
Jako děcko si pamatuju , že se v hasičárnách pořádaly pro veřejnost seznámení s počítačema, prostě ti co měli tak tam donesli svá zx spectra, atarka a byli za kingy před veřejností :D
PC to už byla jiná liga , dodnes si pamatuju zásadní problém s kámošem, který měl ibm ps/2 s 3,5 flopynou a ja 5,25 a hledali jsme někoho kdo má obě abychom si mohli vyměnit hry :D
Na prázdniny kámoš na dvojkoláku dovezl svůj PC a pařili jsme po seriovém káblu (takový ten co měl krátky i dlouhý konektor) kde co . Myslím , že hlavně duke nukem 3d. Po modemech jsme už potom hráli blood apod. mezi sebou.
Ještě mě potom napadá nástup internetu kdy se platilo i poskytovatelům a my zjistili , že u jedné firmy nechtějí vidět občanku při sjednání smlouvy, takže jsme tam chodili fiktivně uzavřít smlouvu a než to zjistili , že jim nikdo nezaplatil tak jsme 3 měsíce frčeli zdarma :D (snad je to promlčené a omlouvám se PVT :D )
Nebo shánění přesných odporů na DA převodníky abych těm otravným amigistům ukázal, že i PC může mít pěkný zvuk(zvukovky v té době stály 15K)
To máš pravdu , však on taky existoval wave driver pod windows 3.1 (nevím jestli taky 95) pro PC speaker.
Akorát to mělo zásadní nevýhodu v tom , že při přehrávání zvuku to zablokovalo přerušení takže celý PC vytuhl. I když to dělala i disketová mechanika tak byl člověk zvyklý .
Kdo si chce zavzpomínat tak existuje vynikající emulator 86box (jen pro win) nebo PCEMU ten je i pro linux. Umí emulovat vše od 8086 XT až někam po pentium mmx 233 nebo dál . Má to v emulaci všechny možné komponenty té doby VGA,EGA,CGA, soundblastery atd...
Pro nostalgiky masakr .
Já na tom pouštím na pozadí slavný cubic player s modama s amigy apod.
Sranda je že na notebooku s i5-8265u mi ta emulace pentia mmx 166mhz vytíží jedno jádro tak na 60-70% :D Holt doba pokročila .
13. 3. 2021, 06:57 editováno autorem komentáře
Ja si s dovolenim taky troch zavzpominam ;-)
Prvni PC sem potkal u kamose tak roku 1991/92. Byla to 286. Ukazal mi myslim Test Drive 2, nejaky simulator stihacky, praci v norton commanderu a zip :-). Podle me to PC melo VGA kartu, zvukovku ne. Rekl bych, ze PC, ktere melo neco horsiho nez VGA sem vlastne v rukach nemel.
Pak se PC ruzne ukazovala kolem me. U kamaradu jsem programoval v QBasicu, samo nejaky ty hry vseho druhu. Vubec to byla sranda, neb doma jsem jel Atari Basic + trochu ASM, u kamaradus PC QBasic a u kamarada s STckem Omikron Basic a trochu GFA Basic (ten si temer nepamatuju).
Prvni PC nam velecteny otec poridil v roce 93/94 bych rekl. AMD 386, 4 MB ram, 120 GB disk, SVGA Trident 1MB, tiskarna Epson LQ-100 (cele to prislo myslim na 50 000 Kc). Prvni se tusim dokupoval disk a to 420 MB cena cca 10 000 Kc. Pak se vyskemral zvukovku a CD-ROM. Pak uz jsem si PC resil sam, takze nejaka zoufala 486, pak pentia, u tech sem prisel jednak k Asus desce s intel TX chipsetem a svete div se, pocitac zacal byt jaksi zvlastne stabilni a pak sem splasil SB Live, coz byla pecka, neb ono to hw hralo vic zvuku pres sebe a hralo to velmi pekne. Pak sem experimentoval s vice monitory na win 98, prvni pomoci vice karet, vetsionou ATI a pak matrox s dvema hlavama. A pak uz sem se v tom asi nejak ztratil... ;-)
Ty podvojky mel SPT rusit a dostaval za to pokuty kdyz to nedelal. Stejne tak dostaval pokuty i za koncentratory.
Vetsina lidi nevedela jak se branit a tak jim telekomanc kalel na hlavu. CTU to bylo koho pisen jis... Co ma clovek delat kdyz je zde urcita nadeje ze bude delat pro nepritele. Nakonec jsem odjel do US a s praci u SPT byl konec. Tam jsem teprve poznal jaky byl v CR telekomunikacni starovek. Cca 2-3 generace pozadu.
ad PVT: Placeny inet take pamatuji, jeden z provideru mel dial-up pres nejaka obyc Cisca, nepamatuji si uz detaily, ale nejak se dalo dostat do konzole, a v konfiguraci bylo milion radek s uzivateli (ti nebyli nijak tarifikovani, slo jen o to zda ma aktivni smlouvu). V kombinaci s P51 to byla parada...
Kto si pamata knihu o tom ako nahanali Mitnicka? Tam sa spomina v jednej pasazi zariadenie, tusim to bol Livingston Portmaster? do ktoreho boli zapojene modemy a k tymto sa pripajali zakaznici. Tak toto som osobne videl ked som kedysi davno robil pre firmu, ktora sa o to starala(obcas som tam musel zajst ked zostal vysiet modem a bolo ho treba resetnut) pre providera. Bolo to hodne pozadu oproti tomu co uz vtedy existovalo na zapade ale vdaka aj za to. A ked prislo po velkom boji jednotne cislo, mesacny poplatok za dialup klesol z 1500,-Sk na 500,-Sk neobmedzene... Ach jaj, uz som asi stary ci co.
Jak to kdysi bylo s místními hovory a jejich placením (ten obor jsem studoval, ale nikdy nedělal, tak ty znalosti využiju aspoň tady):
(Řekněme) sto účastníků bylo připojeno na ústředně na (řekněme) deset linek. Podle toho jak účastníci chtěli spojit se jim ty linky postupně přidělovaly. Když chtěl spojit jedenáctý, tak mezitím zavěsil třeba čtvrtý a uvolněná linka se přidělila jemu. Bylo to trochu složitější byla v tom matematika a pravděpodobnost, ale v principu takhle to fungovalo dokud nenastoupil přenos dat a modemy.
Protože pak z firmy na jednom konci Prahy zavolali na pobočku na druhém konci Prahy, připojili modemy, jednu linku tím zablokovali na celý den a stálo je to jen jednu korunu. A linek se začalo nedostávat. Tak se s tím muselo něco udělat.
Pamatujete ještě SYSMAN? Můj nekonečný zdroj informací a dokumentace v té době.
My doma internet dlouho neměli, chodil jsem ke kamarádovi co měl modem, ale pamatuju jak někdy kolem roku 1998 jsme s bráchou doma připojovali na internet přes mobil který měl infraport a zbastlený infraport na PC.. už nevím přesně jak to fungovalo, ale strašně rychle to spotřebovalo celý kredit. Je fajn si to občas připomenout.
Článek je fakt parádní.
Já to celkem vše (bohužel ?) též zažil - první pokusy na papírovém počítači z časopisu ABC a půjčené programovatelné kalkulačce TI (už nevím typ), přes sálovku Elliott (myslím, že Elliott 803, Algol, Cobol a Autokód), pak (opět půjčené) ZX81, a ZX Spectrum, už vlastní C64, Atari ST, Acorn Archimedes, Motorola StarMax 4000 (klon Macu), iMac (a pár dalších Maců) až k mým současným novinkám Apple IIc (mám ho týden), Macintosh SE/30 a na programování COlour Maximite 2. A C64 + C128D z nostalgie...
Takže PC kompatibilním jsem se vlastně vyhnul (kromě v zaměstnání), ale rád si přečtu o tom, o kolik jsem duševně zdravější (programovat ve škole v assembleru pro 8086 a pak doma pro 68k nebo ARM250 byl fakt rozdíl, zlatá i 6502 předtím...)
Vraťme se však ke sběrnici S-100, která byla skutečně masivně využívána, a to i v mnoha průmyslových oblastech. Tato sběrnice, která původně vznikla pro počítač Altair 8800, je založena na signálech produkovaných čipy okolo osmibitového mikroprocesoru Intel 8080 (8224, 8228). Kromě řídicích signálů a signálů napájecích byla součástí této sběrnice zejména osmibitová datová část (paralelní přenos dat, rozdělena na část vstupní a výstupní) a šestnáctibitová část adresová
a presne neco podobneho jsem objevil u Atari 800xl pri studiu jeho "Biosu" a pozdeji na tomto zaklade postavil a pripojil paralelne komunikujici FDD.
Chci připomenout počítače SAPI86 (nebude o nich samostatný článek?).
Tehdy jsme do kanclu dostali jeden kousek s displejem z Tesly Orava. Na tom se snad akorát dal hrát Tetris. Zjistil jsem, že deska sériových portů s IO 8250 byla jako volitelné příslušenství a dala se extra dokoupit deska připojení sběrnice ISO.
To se mi hodilo, když jsem z výprodeje jedno sapičko koupil hlavně na hraní pro syny, tak jsem koupil i ty desky, hodilo se mi to pro připojení myši a pak i připojení HDD a jako displej jsem koupil Hercules. To celé snad za 8kKč (kromě HDD s řadičem, to jsem pak kupoval zvlášť, už nevím, za kolik).
Pánové neprovokujte mě, to ještě někde možná po sklepích vyhrabu a vůbec bych se nedivil kdyby pořád fungovalo.
A to jsem tam tehdá musel měnit několi 41256 (možná tam původně byly 4164, už nevím) trafopájkou a strašně nadával jak snadno se měď odlepuje od plošňáku když se na to člověk jen blbě podíval (prokovený to ofc nebylo) a pak se to muselo nahrazovat 0.2mm drátkem a kapkou lepidla.