Snad jsem zaslechl, že přes to někdo dokázal vysílat FM rádio.
Asi před rokem jsem se pokusil, dostat se tímto směrem na kobylku CRTC v Linuxu v konzoli přes libdrm, ale nějak mě převálcovala důležitější práce a šlo to do outu... matně si vybavuju, že user-space libdrm je vlastně hybrid aspoň dvou knihovnoidních projektů, z nichž každý dělal něco trochu jiného, ale ani jeden neměl hotové přesně to, co bych já potřeboval :-) a pak tam bylo stádečko všelijakých testovacích utilit, které byly taky "každej pes jiná ves". Prostě na tak malém písečku docela nenulový dependency hell. Já chtěl jenom vnutit na konkrétní výstupní port svoji vlastní modeline :-) a poněkud jsem se v těch examplech ztrácel.
Jinak na tom analogovém VGA výstupu je tuším ještě nějaký "svůj" rozsah napěťových úrovní unipolárně od nuly do +0.7V při jmenovité terminaci (75 Ohm), a taky by se možná narazilo na "gamma korekci" (výstup z DACu bude na analog převedený nějak lehce exponenciálně nebo co) ale to by se taky dalo teoreticky konfigurovat v hardwaru VGA, případně digitálně před-korigovat nebo analogově post-korigovat.
no kdysi jsem si takto chtěl připojit vektorovou obrazovku. Dvě barvy by generovaly x a y, třetí barva pak intenzitu (a vypnutí paprsku). Ale nějak nezbyl čas a dneska to s mladým zkoušíme přes zvukovku, která to krásně ustíhá (akorát je to tedy řešeno jako ve Vectrexu, přes vlastně integrační články).
Měl jsem teď jednu maturitní práci na téma Vlastní grafická karta. Jádrem je paměť (EEPROM, FLASH) a okolo součástky z řady 74xx (čtyřbitové čítače, hradla...). Obrázek byl uložený ve formátu jeden pixel - jeden bajt, využívalo se jen 6 bitů, dva na každou barvu. Karta dokázala pro VGA monitor generovat obrázek 160x100, ale protože v paměti byl uložený i "obraz" kousek za viditelnou oblast vyšel jeden snímek na asi 18KB. V 512KB Flash paměti pak byla uložena "GIF" animace 8x32KB. Celý to sestavil jen na nepájivem poli a ono to fungovalo.
Pekna prace!
Jinak kdyby nejake studenty zajimalo spise mikroprocesorove reseni, tak pekny je Uzebox https://uzebox.org/hardware.htm, kde proste posilaji RGB na DAC klidne udelany jen z odporu. Ten konec s prevodem na NTSC samozrejme neni nutny, VSync a HSync stejne generuje primo ten MCU. Nekdo RGB tlacil i z nejakeho (rychleho) klonu 8051 stejnym zpusobem, ale to nemuzu dohledat.
Děkuji za odkaz - o uzeboxu jsme se bavili už asi před rokem při kurzu ZX Spectrum
https://www.root.cz/clanky/kopie-datovych-bloku-na-zx-spectru-prenaseni-bajt-po-bajtu/nazory/#newIndex1
Koukám na to schéma a obraz je tam generován jen 8 bity 3-3-2. Synchronizace tam není žádná, předpokládám že to musí být správně načasované podobně jako kompozitní signál. Četl jsem knihu od Martina Malého kde vysvětluje jak kompozitní signál vypadá, a počítal jsem že ATMega by dokázala generovat obraz asi 160x160 (možná 200x200).
Na arduino existuje knihovna TVOUT, která dokáže 128x96. Upravená knihovna je použita tady http://www.nostalcomp.cz/ay8500_arduino.php. http://searle.x10host.com/AVRPong/index.html
ono kdyby se to melo pripojit k VGA monitory, tak jsou potreba jak VSync, tak i HSync. Casovani +- jedno, dnesni multisync monitory toho zvladnou hodne, ale ty signaly je potreba vyvest. Proto i ten Uzebox potrebuje malou upravu - namisto pixel clocku (to VGA nema) vyvest jak VSync tak i HSync. A bude to chtit nechat nejaky cas na front porch a back porch - kdyz tam ten cas neni, tak to monitor typicky neustiha a rozjede se.
Ale zase pokud Vam to udelal student jako projekt, tak to musel resit taky (a vsechna cest, ja bych to asi na urovni rady 74xx uz dneska nedal, vsechny hazardy apod.)
Problém je že úspěšně odmaturoval :-)
Na kolik to bylo ošetřené úplně nedokážu odhadnout
Obrázek, který to generuje je jen 100x75. K tomu je potřeba 16KB (velká část je nevyužitá).
Blokové schéma s pamětí EEPROM 32KB https://ibb.co/yVXnC6B
Upravené schéma s Flash 256KB + čítač přepínající nejvyšší 4 bity adresy = 16 obrázků (animace GIF) https://ibb.co/Jjzbmd5
Schéma Hsync https://ibb.co/YLYSnqG
Schéma Vsync https://ibb.co/6rVM0Th
Foto https://ibb.co/nnpnwzd
> dnesni multisync monitory toho zvladnou hodne
Maličko si rejpnu: dnešní placaté monitory toho na VGA neskousnou už zdaleka tolik, jako kdysi multisync CRT. Naopak dnešní LCD často vezmou jenom poměrně úzký rozsah různých časovacích parametrů okolo "obvyklých" DMT/CVT geometrií. Různé modely různých výrobců se ve svých tolerancích jistě liší, což není nikde dokumentováno. Pokud potřebujete trochu kouzlit s geometrií, musíte naslepo experimentovat, pomůže leda půlení intervalu.
10. 8. 2024, 15:48 editováno autorem komentáře
Když si dnes koupíte ten nejlevnější IPS FullHD 21,5", tak tak ten už neumí nic jiného než nativní rozlišení (upscale menších musí dělat GPU). Ale dřív toho umělý hodně. Pamatuju tehdy 17-19" 5:4 1280x1024, kde šlo na na VGA vstupu dát 1600x900, abych otestoval vícesloupcový layout v jedné aplikaci.
V dobách kdy placky nastupovaly a ještě jsem občas pustil nějakou starou DOSovou pecku, bylo nativní rozlišení 1280x1024 moje oblíbené, jednak protože to bylo srovnatelné se schopnostmi 17" CRT pro normální smrtelníky, druhak protože když jsem na takový displej poslal 640x480, tak se to škálovalo celočíselným poměrem (na 1280x960) = nebylo to mázlé.
Jo, existuje projekt osmo-fl2k a s převodníkem USB3-VGA vybaveným konkrétním chipsetem od Fresco Logic se dá spáchat takové SDR TX pro chudé.
Povedlo se mi s tím "vysílat" (do kousku drátu zapíchlého v červeném výstupu VGA konektoru) FM rádio a DAB, ale když jsem k tomu čuchnul skrze RTL-SDR, harmoniky byly tak vysoko, že bych s tím byl raději opatrný.
V příkladech je i baseband dump GPS, GSM sítě atd., ale tam jsem narazil asi na nepřesnost hodin, protože třeba u GSM je vyžadovaná preciznost frekvence opravdu vysoká (stovky Hz), ale to by bylo na delší vyprávění (doporučená literatura: OpenBTS, clock slip atd.)
Tempest for Elisa
http://www.erikyyy.de/tempest/
Pak jeste nekdo zkousel ofdm dvb-t modulaci https://bellard.org/dvbt/