Analogový monitor jen kreslí RGB signál, co má na vstupu. Žádná vazba na pixely neexistuje. Na HSync se posune na další řádek, na VSync začne nový frame. Pokud je frekvence HSync a VSync v akceptovatelném rozsahu, tak to funguje. Analogové displeje měly nastavení výšky a šírky obrazu, aby to rozumně vyplnilo obrazovku, tím se dorovnaly rozdíly v časování.
Multisync měl jen paměť, kde se dalo uložit různé nastavení pro různé rozlišení, aby se s tím nemuselo ladit při každé změně.
no jasně, ale ten monitor musí vědět kolik řádků kreslit a taky jak dlouhej je řádek (časově). Určitě analogové displeje nemusely být konfigurovány při přepnutí, to vím, protože VGA od IBM nebyly multisync a zvládaly přepínání (dokonce hned, na rozdíl od multisync, kterým to trvá).
Resp. nemusí vědět, kolik řádků kreslit, ale musí vědět, o kolik se posunout na další řádek, aby se mu tam pěkně vlezlo 350, 400, 480 řádků.
To se asi detekovalo.
Jeden čas jsem si hral s registry, měl jsem program, kde jsem si mohl nastavit dle libovůle jakýkoliv registr a nastavení třeba uložit. Dalo se tam nastavit hodně. Například šířku borderu - jisté době jsem psal emulátor ZX Spectrum a právě nastavení VGA aby šlo zobrazit věrně 256x192 s borderem, kdy se border choval stejně jako na ULA, tedy změnou jednoho registru na VGA se změnila barva borderu
Monitory typicky detekovali horizontální frekvenci a pokud nastavení registru znamenala změnu frekvence, tak obraz poskočil, jak si monitor přepočítal vlastní frekvenci aby se chytil. A když se to dostalo mimo rozsah, tak se rozpadla synchronizace úplně, někdy za přítomnosti artefaktů, jindy monitor prostě zhasl a přešel do sleepu. Zlý jazykové tvrdily, že se dá nastavením monitor i zničit, ale asi jak kus od kusu, a zřejmě se to týkalo starších monitorů
Stejně tak se detekovala vertikální frekvence a nezřídka některá nastavení způsobila, že monitor maloval mimo obrazovku. Většinou monitor kompenzoval nezvyklou frekvenci tak, že obraz centroval v obou osách, takže třeba zvětšení šířky se projevilo vytečením obrazu na obou krajích a stejně tak zvětšení délky zase nahoře a dole.
Nejsem sice televizák, ale HSync je frekvence, tím se vlastně říká kolik řádků chce obsloužit (do dalšího vsync), takže na prasáka by platilo, čím nižší frekvence, tím větší výchylka. Zda to také automaticky měnilo dělo (síla paprsku) aby to zasáhlo určitou oblast, to nevím ale mělo by (jinak by to bylo rastrované). A když to bylo mimo regulační mez (málo = obraz by se nedokreslil, víc = pod rozlišovací mez výchylovaček), tak stačilo dělo prostě vypnout.
můj monitor, ale to už byl multisync, něco hlasitě přepínal. říkal jsem si, že je to relátko, který přepíná obvody s různými sync obvody ale popravě moc netuším.
Jinak staré no-multisync monitory sledovaly polaritu VSyncu a HSyncu:
Vertical Scan Lines 350 400 480 Horiz. Sync Polarity POS NEG NEG Vert. Sync Polarity NEG POS NEG
(šlo by zjistit osciloskopem pro tyto režimy, ale na to budu mít čas až o víkendu, takže nemůžu ověřit)
Časování pixel clocku lze najít tady http://martin.hinner.info/vga/timing.html
ale pixel clock nešel do VGA, je to interní věc grafické karty (VGA měla několik krystalů).
"musí vědět, o kolik se posunout na další řádek, aby se mu tam pěkně vlezlo 350, 400, 480 řádků." - nevim, ale hadam, ze monitor to nemusel vedet dopredu. Stacilo par snimku aby zmeril pocet Hsync ve Vsync, a prenasobil posuv po jednom radku tak, aby 350, 400 i 480 radku vzdy zabralo stejnou fyzickou vysku. Staci kdyz to zmeri na 5 %, takovy rozdil pri zmene zobrazovaciho rezimu clovek skoro ani nepozna. A pokud pri zmene rezimu se upravi fyzicka vyska obrazu po 5 snimcich, tak to taky asi neni moc rusive. Co ja pamatuju tak zmena rezimu na starych monitorech byla provazena probliknutim.
ano, takto to nejak delaji multisync monitory. Ty predchozi mely jen par moznosti a IMHO az do dob VGA se divaly na polaritu syncu, ze kterych se ty obvody prepinaly. Nekdy se takovej monitor "zblaznil" a bud se nesyncnul vubec nebo jsem videl i to, ze scrolloval obraz (jako na starych TV Salermo, ale to uz asi nikdo nepamatuje ;)
4246U Salermo si nepamatuju, ale měl jsem 4252U Limbu a 4261A Bajkal (což je jen další "fejslift"). S takovouhle televizí naběhalo moje Atari 800XE asi nejvíc času.Na zvuk jsem pak používal rádio Tesla 440A "Galaxia" připojené speciálním pětikolíkovým (možná tříkolíkovým) kabelem.
Na barevnou televizi 416 COLOR jsem se do obýváku dostl jen vyjímečně.
Salermo melo problemy s V-syncem kdyz odesla elektronka PMD-85 (to si pamatuju - nesla sehnat, nakonec jsme to nahradili nejakym bastlem s tranzistory). Dokonce to vzadu melo potenciometr na doladeni, asi tedy k....o od vyroby.
My jsme s brachou meli za odmenu "obyvakovou" Teslu Oravan (verze se zapadni obrazovkou, jak jsem se pozdeji dozvedel), ale to tak o vikendu nebo pozde vecer :) [taky Atarko]. Jinak jsem to provozoval prave na elektronkovem Salermu, coz byla zajimava kombinace technologii - pocitac postaveny na HMOS a elektronky.
My měli televizi, ve které odcházela elektronka PL-504. Dělo se to tak často a pravidelně, že jsme je kupovali do zásoby, kdykoliv v elektroobchodě byly skladem.
Tu televizi už nemáme dobrých 30 let, ale poslední tři elektronky jsem likvidoval předloni. (Plně ekologicky, odevzdáním sběrateli, který tím opravuje své výstavní televizory.)
Potenciometrem zezadu se nastavovala volnoběžná frekvence triodového oscilátoru na 43-47Hz. Musela být pod snímkovou frekvenci, VSync puls periodu zkracoval. Pentodová část z PCL85 byl vertikální zesilovač, z pulsů oscilátoru vyráběl "pilu" a přes transformátor řídil vychylovací cívky.
Frekvence courala s teplotou a s měnícími se parametry elektronky vlivem stárnutí. Po zapnutí se to muselo nastavit a po zahřátí ještě jednou.
Novější TV už měly vertikální oscilátor+zesilovač stabilní - integrovaný (TDA1044).
To byl RC oscilátor, ladil se změnou odporu. Výstupem byla nelineární pila (kompenzovala nelinearitu vychylování), s úzkým vysokým impulsem na začátku každé periody - vracel rychle paprsek po aktivním běhu zpět na start dalšího snímku (na to bylo 25 nevyužitých řádků).
Celý vertikální zesilovač měl 3 nastavovací potenciometry:
Základní frekvence oscilátoru
Amplituda = výška obrazu
Linearita - měnil tvar zubu pily, aby řádky byly rovnoměrně.
Jo, tyhle TV pamětnické zážitky - já jsem v době osmibitů a "dojiždění" černobílých televizí vs. v obýváku rodičovská barevná vylepšoval již slabé a nekontrastní zobrazení stařenky Cavallo apod. posílením žhavení černobílé obrazovky paralelním napojením tuším 6.3V střídavých ze zvonkového trafa podle tehdejšího návodu z kutilského časopisu Udělej si sám ... podle mne to bylo prostě paralelně naletované na žhavící piny patice obrazovky a zapínalo se to po naběhnutí televize ručně dalším spínačem u trafa ...
Na oživování vyčerpané katody existoval regenerátor, kterým se mezi nažhavenou katodu a první mřížku připojilo 900V a po dobu několika sekund procházel proud. Nebylo to moc úspěšné, většinou to skončilo zábleskem a trvalým zkratem mezi mřížkou a katodu, obrazovka byla na výhoz.
Přižhavování externím zdrojem bylo častější, ale vedlo k ještě rychlejšímu vyčerpání katody.
My meli Atarko pripojene k nejake hrozne stare cernobile Tesle, ktera mela vsechna ta kolecka na stelovani synchronizaci a cert vi ceho a samozrejme nemela zapadacky zvuk. Tu telku sme meli jeste z kraje 90. let jako beznou rodinnou televizi.
Jednou ovsem bratr sledoval nejaky porad, kde byly zabery z technickeho muzea a v tom muzeu byla presne ta stejne televize, na kterou on se prave dival.
Nastesti se pan otec uz nechal presvedcit ke koupi nove TV, kterou byla Tesla Color 428, ktera byla rekl bych pomerne perfektni a nesmrtelna.
Atarko sem po vetsinu casu pestoval klasicky s Merkurem.
14. 8. 2024, 14:22 editováno autorem komentáře
Tohle resily synchronizacni obvody (H/V). Puvodne se detekovala polarita H/V pulsu a podle toho se nastavil fixni kmitocet vertikalniho a horizontalniho vychylovani. Jakmile tech rezimu bylo vic, resilo se to specializovanymi rozkladovymi IC, ktere byly schopny detekovat H/V rozkladove frekvence v sirokem rozsahu (v podstate na pricipu fazoveho zavesu, zprvu i s asistenci externi logiky) a podle toho upravit/doladit periodu vychylovacich signalu a sirku zatemnovaciho intervalu. Max. intenzita a fokusace elektronových svazku R, G, B a anodove napeti se rovnez odvozovaly od detekovane periody H/V pulsu, aby vykreslovane radky na stinitku vzdy "vertikalne navazovaly" a jas zustaval napric rezimy zhruba stejny. Nekterym IC/monitorům se toto darilo dobre a pri prepnuti nebylo treba sahnout na manualni adjustaci, nektere na tom byly hure a pri vyuziti plne plochy odkryteho stinitka bylo videt, ze se obrazu o par mm zmenil rozmer. Trochu potiz byla s horizontalnim rozkladem, protoze tam je kmitoctovy rozsah pomerne velky (> 1:2) a s indukcnosti hor. vychylovaci civky + linearizacni civky nejde hybat. Resilo se to prepinanim kondenzatovu v horizontalni sekci, a jelikoz jde o docela vysoke napeti, tak pouzitii relatka je nasnade. To je to cvaknuti pri prepinani nezi nekterymi rezimy.
Pokud mel monitor blby dizajn a pri nestandardni frekvenci H/V syncu se nechaly vychylovaci obvody zvlcet a utect s frekvenci nekam hodne daleko, pak mohlo dojit k napetovemu/proudovemu/vykonovemu pretizeni vysokonapetovych prvku vcetne nasobice HV pro anodu obrazovky (ten z prirozenych duvodu musi bezet na hor. rozkladovem kmitoctu), a bylo vymalovano.
Na CRT monitorech bylo nutno vždycky upravit vykreslování tak aby byl obraz roztažený po celém stínítku (velikost X,Y a posun X,Y). U starších analogových na to byly potenciometry, u modernějších s digitálním ovládáním tlačítka a menu, případně i nějaká automatika.
U LCD předpokládám že řídící mikroprocesor to nastaví, když musí pomocí A/D analyzovat VGA signál a vytvořit bity peo ovládání jednotlivých pixelů.
Uvedu příklad co jsem ted viděl. Mám ve třídě už asi rok zobrazovací dotykový panel s úlopříčkou ke 2m (od nejmenované holandské firmy). Zařízení má v sobě android a může pracovat samostatně, ale i s počítačem. Pokud byl připojen pomocí HDMI a snímání doteku do počítače jde po USB projevuje se obrovská prodleva. Když vezmu tužku a chci psát tak se mi to zobrazuje se zpožděním asi jednoho písmenka. Proto jsem zkusil VGA a je to bez zpoždění (sice je horší rozlišení - jen FullHD - ale to je pro dané účely naprosto dostečné). Všechno bylo vpořádku, až do okamžiku kdy jsem měl puštěnou prezentaci 4:3 a měla po krajích černé pruhy. Najednou jsem potřeboval přepnout na jiný zdroj signálu, aplikace interního androidu, a pak jsem přepnul zpět. Automatika vyhodnotila černý pruh vedle prezentace jako "že už tam není obraz", a celý se to roztáhlo tak, aby barevný snímek končil přesně na okraji panelu. Průšvih je, že je tam nějaká SW chyba a i když jsem pak přepnul na jiný obraz (plocha počítače) už obraz zůstal roztažený. Pomohl až restart do továrního nastavení.
Přesně takový prohlížeč jsem kdysi taky vyráběl. ;oD
Největší fór byl v tom, že ty obrázky měly rozlišení 320×240 čtvercových bodů, 256 barev, a já je přepočítával na VGA 640×480/16 (původní nebo modifikovaná paleta barev), 320×200/256 (vynechat každý šestý řádek) či 320×400/256 (vzít tři řádky jako 1., 3. a 5., dopočítat 2. a 4. jako průměr barev z těch sousedních - a najít v paletě tu nejbližší, s ditheringem).
Proto jsem ten režim 320×400 neměl rád. ;o)
V roce 1995 jsem si jako student koupil své první skutečné PC (PP06 před tím nepočítám), které mělo grafiku Trident TGUI9440 na VESA LOCAL BUS s 1 MB paměti. Tato grafika uměla True colour v 640x480 nebo 16 bit barvy v 800x600 případně driver pod windows uměl i virtuální plochu kdy se využil celý ten 1 MB RAM a plocha windows byla o pár desítek pixelů větší na zvolenou stranu. Takže v roce 1995 šlo zcela běžně zobrazit více než 320x400. Ten můj počítač nebyl žádné dělo. Byla to 486DX2 v době když už šlo koupit Pentium až na 133 MHz (za násobek ceny).
Ten programu musel být trochu starší.
O rok dřív jsem si koupil AMD 486 DX4 100MHz, taky s TGUI9440 :) Zpočátku jsem tu kartu proklínal, protože ve vydání Slackware, které jsem si pracně stahal na diskety na fakultě, na ní nebyl ovladač a tak jsem pár měsíců měl v Linuxu jenom standardní VGA.
Jo a taky si vzpomínám, že v tomhle PC byla na VLB nejen grafika ale zároveň i karta IDE. Kupodivu to fungovalo celkem bez problémů.
Taky jsem měl na VESA i IDE řadič (a i COM/LPT porty ?). Já jsem o něco později "proklínal" ty VESA sloty, protože cca půl roku po koupi mého PC už se prodávali za stejnou cenu 486ky s PCI sběrnicí. A zatímco do PCI šlo koupit třeba 3dfx voodoo, tak s VESA sloty jsem měl smůlu a musel jsem si počkat na upgrade všeho na K6-2.
Mimochodem tu IDE VESA kartu jsem později zkusil zapojit do ISA slotu a fungovalo to ačkoliv byla zapojena jen polovina karty :-). Stabilní to nebylo, ale překvapilo mě že to vůbec jelo.
ISA + PCI nebo ISA + VESA byl standard hodně dlouho, jen se měnil poměr počtu slotů. Všechny zvukové karty byly do ISA, PCI verze byly až výrazně později. Do ISA byl třeba řadič pro scanner (= low cost SCSI) a obdobné jednoduché karty. Takže "doplňkové karty" nebyl problém přehodit do nového PC, ale VGA zmizela z ISA jak jen to šlo a ta byla nutná nová při přechodu z VESA na PCI. Já jsem nakonec rovnou přešel z VESA na AGP, ale pár let mě to trvalo.
14. 8. 2024, 12:24 editováno autorem komentáře
Já měl dokonce 486-ku na desce, kde byly všechny v té době používané sběrnice: ISA-8, ISA-16 + VL-BUS, AGP a PCI.
Začínal jsem tam s VL-BUSovou grafikou (+ SB16 + TV karta), ale brzy jsem kupoval nějaké AGP Voodoo. Těsně před upgradem na Pentium jsem přešel na PCI ATI, ale ta si v téhle desce pobyla jen krátce.
Leč s odstupem musím konstatovat, že ta universálnost se na reálné použitelnosti té desky poněkud podepsala: konfigurovat to bylo peklo a Windows měly neustále tendenci zabloudit v periferiích.
486ka s AGP slotem ? To je těžké uvěřit. To by ten AGP slot byl rychlejší než FSB a RAM.
AGP v nejpomalejší variantě má 32 bitů při 66 MHz, tj. 266 MB/s
486ky mají externí sběrnici taky jen 32 bitů. Tedy při běžných 33 MHz (např. nejrychlejší Am5x86-P75 -4x33MMHz) dá RAM i FSB 133 MB/s. I při 40 MHz je to jen 160 MB/s. To prostě nedává smysl.
Kombinace ISA+VL-BUS+PCI dostupná byla, i když to moc smysl nedávalo.
486ka s AGP slotem ? To je těžké uvěřit
Je to divný, ale je to tak.
Jak píšu: použitelnost byla problematická. Dost možná to byl taky důvod, proč jsem tu AGP grafiku nakonec měnil - a když to nevedlo k lepším výsledkům, přešel na Pentium.
(S tím jsem neměl šťastnou ruku, protože mi zlobilo cosi mezi CPU a RAM, takže jsem zkusil 6x86, která se ale přehřívala natolik, že to nešlo uchladit. Nakonec jsem - po dvou reklamacích - skončil u Pentium-II, které se ukázalo jako stabilní a bezproblémové.)
Můžete zkusit najít co to bylo za desku ? Google kombinaci 486 + AGP nezná a to jsem našel i poměrně rozsáhlý přehled desek pro 486 ať už je s ISA, s VL-BUS, PCI nebo libovolná kombinace.
https://www.elhvb.com/webhq/table486.htm
To že některé karty neuměly některé rozšíření AGP (např. textury v hlavní RAM, zdravíme např. Woodoo karty od 3dfx), tedy chovali se jako trochu rychlejší PCI verze neznamená že jeli na 33MHz. To prostě AGP neumí. Nejpomalejší verze je prostě 1x 66 MHz s propustností 266 MB/s.
https://en.wikipedia.org/wiki/Accelerated_Graphics_Port
Mimochodem reálná propustnost RAM na 486 je cca 40 MB/s, viz např. https://www.youtube.com/watch?v=ysMmAVNKrFY (screenshoty v popisu videa).
Ty grafické čipy se používaly jak v AGP, tak PCI verzi. Tedy uměly i 33 MHz. A AGP slot umí režim komunikace PCI, protože vidíte obraz v BIOSu ještě předtím, než se zavedou ovladače čipsetu v OS.
Níže diskuze z roku 2003, kde GeForce 4 MX jela v režimu PCI, dokud nenainstaloval ovladače Intel chipsetu:
https://forums.anandtech.com/threads/agp-running-in-pci-mode.1065877/
Jeden z komentářů výše - zajímavý poznatek, že AGP a první PCI slot byly těsně u sebe. Vodiče asi byly jen rozdvojené.
EDIT: To je podobné, jakože USB klávesnice a myši jdou mechanickou redukcí zapojit do PS/2.
14. 8. 2024, 22:02 editováno autorem komentáře
To asi nedohledám :o(
Ta deska byla už tenkrát nějakej no-name a já to prostě neřešil Sice vím, kdo ji ode mne dostal, ale tenhle kamarád musel po svatbě trochu přehodnotit své staromládenecké priority a většinu těch krámů dávno vyházel.
O šmejdovitosti té desky svědčí i fakt, že se časem začala rozlepovat a fungovala jen v náklonu, případně na správných místech zatížená.
Pokud to náhodou někdo potkal,tak si určitě vzpomene, ale obávám se, že pouze jako na raritu, které se rád zbavil.
Procesor v tom byl 486DX4/100 - možná by se podle toho daly alespoň odhadnout parametry. Nicméně mám takový pocit, že CPU běželo na 3×33 MHz a alespoň část periferií na 2×33 MHz, takže teoreticky by tam těch 66 MHz pro AGP asi být mohlo. Jenže - já nejsem (a nikdy jsem nebyl) hardvérář
a po těch letech si pamatuji jen ten boj, který jsem s tím sváděl.
ISA se dlouho používala pro různé průmyslové karty, takže se držela strašně dlouho - a v průmyslových PC bylo spousta volných slotů (třeba 6).
Asi to mělo význam, protože programovat to šlo jednoduše, bez driveru. Navíc se ty karty nemusely nikde registrovat (hmm když o tom tak přemýšlím, naše PCI nebyly nikde registrovaný, to asi nebylo úplně košer).
Mimochodem: obrázek v režimu 320×400/256 barev, ve formátu BMP, se vyskytoval ve Windows 95 - jako úvodní logo.
Pokud ležel pod jménem LOGO.SYS v rootu bootovacího média, tak se při startu zobrazil. Kromě toho ještě byly LOGOW.SYS (Za chvíli bude možné počítač vypnout
) a LOGOS.SYS (Nyní můžete počítač bez obav vypnout
).
(Ještě ho mám schovanej - na obrazu bootovací diskety. ;oD )