Welcome, Guest. Please login or register.


Author Topic: NICK (Read 109683 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3535
  • Country: hu
  • æðsta yfirmaður
    • View Profile
    • http://lgb.hu/
Re: NICK
« Reply #15 on: 2005.December.23. 10:37:16 »
Amugy a Nick eddig "legszebb" tulajdonsaga hogy egy egyszeru digitalis halozat (ULA/PLA ilyesmi lehet talan?), tehat pl analog jel ha jol tudom nem is igazan jon ki rajta, hanem pl 8 "vezetek" jon ki, amibol ellenallasletra segitsegevel all elo valami analog jel mint egyszeru D/A konverter (mar amennyire tudom, szoljatok ha nem igy van). Ez azert is erdekes, mert volt olyan project otletem meg regebben hogy Ep-t kossunk VGA monitorra, elvezheto frissitesi frekvenciaval. Arra gondoltam, hogy digitalizalni kene a videojelet, elrakni egy szeeep nagy puffer RAM-ba, ahonnan viszont egy masik videojel megjelenito aramkor olvasni ki nagyobb sebeseggel, akar tobbszor is, amig egyszer feltolti a Nick-bol erkezett adatokkal. Ekkor persze 'tulfut' a Nick-en, pl 100Hz-es TV-k mukodnek hasonloan az ket puffert hasznal, igy egy frame kesessel lehet latni, az egyik puffer tartalmat latja az ember a kepernyon, a masik meg tellik a video jelbol erkezo adatokkal, aztan utana csere van. Ep eseten neheziti hogy nincs fix frekvencia a kepvaltasra, ugye a vertical retreace is az LPT resze, marmint azt nekunk kell adni, es elvileg lehet igy nyujtani vagy kicsinyiteni azt az idot ami egy frame felepitesre kell (az mas kerdes hogy mit szol hozza egy TV). Masik erdekesseg, hogyha Nick-bol jovo jeleket arra hasznalja az ember hogy indexeljen vele egy 256 elemu SRAM "tombot" benne RGB ertekekkel, akkor gyakorlatilag programozhatova valna a 256 EP szin is :)

Offline lgb

  • EP addict
  • *
  • Posts: 3535
  • Country: hu
  • æðsta yfirmaður
    • View Profile
    • http://lgb.hu/
Re: NICK
« Reply #16 on: 2005.December.23. 10:42:08 »
Quote from: "lgb"
Arra gondoltam, hogy digitalizalni kene a videojelet, elrakni egy szeeep nagy puffer RAM-ba, ahonnan viszont egy masik videojel megjelenito aramkor olvasni ki nagyobb sebeseggel, akar tobbszor is, amig egyszer feltolti a Nick-bol erkezett adatokkal. Ekkor persze 'tulfut' a Nick-en, pl 100Hz-es TV-k mukodnek hasonloan az ket puffert hasznal, igy egy frame kesessel lehet latni, az egyik puffer tartalmat latja az ember a kepernyon, a masik meg tellik a video jelbol erkezo adatokkal, aztan utana csere van.


Pont a lenyeg maradt le: EP eseten digitalizalni sem kell mert ugyis digitalis adat jon ki, pl Jerri amikor elkezdte a Commodore One projectet akkor csak egy hasonlo cuccnak indult C64-hez [marmint VGA monitorra C64-et], de ott ugye a VIC-II jelet digitalizalni kellett volna elobb :) Bar lehet kar kuzdeni ezzel, hiszen aze' a Nick annyira nem lehet bonyi, egyszerubb egy ujat szintetizalni pl egy FPGA belsejeben vagy whatever. Ha eleg gyors a RAM (mert ugye egy un Nick slotban a Nick max 2 byte -ot tud olvasni) akkor lehetne emelni a Nick byte fetch / slot maximumat, es akkor lehetne beallitani olyan modot ahol tobbszorese a vizszintes felbontas emiatt. Alapvetoen ha jol latom az egesz problema ott vagy hogy ez azert (is) limitalt, mert ugye a memoria sebessege adott, kozben neha a CPU is hozzanyul esetleg, tehat egyszeruen a meglevo EP hw-ban ezt nehez lenne emelni, sot neha a Nick igy is kenytelen megallitani a CPU-t egy kis "cikluslopasert" (ill ha jol tudom ezt a Dave csinalja, marmint a jelet o adja ki).

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #17 on: 2005.December.23. 10:52:03 »
Quote from: "lgb"
Amugy a Nick eddig "legszebb" tulajdonsaga hogy egy egyszeru digitalis halozat (ULA/PLA ilyesmi lehet talan?), tehat pl analog jel ha jol tudom nem is igazan jon ki rajta, hanem pl 8 "vezetek" jon ki

Nagyjából pont így van :)
http://enterprise.8bit.hu/PCB/EP64-3.jpg
Quote
marmint azt nekunk kell adni, es elvileg lehet igy nyujtani vagy kicsinyiteni azt az idot ami egy frame felepitesre kell (az mas kerdes hogy mit szol hozza egy TV).

Nekünk az egyik Junoszty tévénk iszonyatosan érzékeny volt, kb 3 sor eltérésnél már elkezdett futni a kép. Innen tudjuk, hogy rengeteg EP-s proginak nem teljesen korrekt az LPT, ha betöltöttünk egy programot, állandóan tekergetni kellett a potit, hogy megálljon a kép. Egy átlag TV-n 10-20 sor eltéréssel is stabil marad még a kép.
Szóval arra nem szabad alapozni, hogy pont annyi sor jön ki az EP-bõl amennyi kéne... ehelyett a VSYNC,HSYNC jeleket is figyelni kéne.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #18 on: 2005.December.23. 10:57:46 »
Quote from: "lgb"
Ha eleg gyors a RAM (mert ugye egy un Nick slotban a Nick max 2 byte -ot tud olvasni) akkor lehetne emelni a Nick byte fetch / slot maximumat, es akkor lehetne beallitani olyan modot ahol tobbszorese a vizszintes felbontas emiatt.

Ilyesmin én is gondolkodom :) Szerencsére van egy nem használt videómód bitkombinációnk, így simán meglehetne csinálni kompatibilisre!
Quote
Alapvetoen ha jol latom az egesz problema ott vagy hogy ez azert (is) limitalt, mert ugye a memoria sebessege adott

Na igen ráadásul a korai EP-kben (mint pl az én 2944-esemben), még igen lassú 300 nanos RAM-ok vannak video memóriának! Újabbakban már lehet kétszer gyorsabb is. Ha meg új alaplapot csinálnák, lehetne berakni akár 15 nanos SRAM-ot is :)

Quote
neha a Nick igy is kenytelen megallitani a CPU-t egy kis "cikluslopasert" (ill ha jol tudom ezt a Dave csinalja, marmint a jelet o adja ki).

Egész pontosan azt csinálja a DAVE, hogy a CPU órajelébõl kihagy pár ciklust ilyenkor.

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: NICK
« Reply #19 on: 2005.December.23. 12:36:26 »
Quote from: "Zozosoft"
Tetszik!
A 625 sorból mennyi a hasznos képsor? Valami ötszáz akármennyi?

A szabvány csak annyit ír elõ, hogy kb. 25H (H:horizontal, egy sort jelöl) a függ. kioltás ideje. Elvileg tehát kb. 600 sor marad képre. De az elsõ kb. 12 sort sem lehet használni, ott van pl a Teletext infója. Marad tehát kb. 588 sor.
A gyakorlatban még ennél is kevesebb, mert a TV-k a kép széleit (függ. és vízszintes irányban is) "levágják", magyarán kisebb ablakot mutatnak csak belõle. Ez minden TV-nél más és más, beállítás kérdése, de úgy nagy átlagban olyan 560 körüli lehet.
Quote from: "Zozosoft"
És mivel a NICK a két félképnek ugyanazt adja, ezért marad kétszáz akárhány soros felbontása?
:smt045
Quote from: "Zozosoft"
... a PC monitorok is használták ezt az interlace technikát, amikor egyre nagyobb felbontást kezdtek kitalálni

Ez nem teljesen igaz, minden monitort mindig rá lehet vennei az interlace módra. Az interlace arra való, hogy ugyanazt a felbontást feleakkora sorfrekivel, és feleakkora sávszélességgel adhass. A korai monitorokban nem elsõsorban a felbontás volt korlátozott, hanem a sorfreki. Az persze igaz, hogy a gyártók --jó szokásukhoz híven-- mindig a nagyobb számokat mondják, még ha nem is igaz.
Az interlace egyébként a monitoroknál gyakorlatilag használhatatlan, függ. irányban "remeg" a kép.
Ezért nem is használják karakterkijezésnél (a TV is remeg egy picit, pláne az olcsóbbaknál, de a képnél nem annyira zavaró).
Quote from: "Zozosoft"
Úgy 5-6 éve tünhetett el végleg az Interlace a PC technikából.

A reklámokból igen. Attól még létezik ma is. Csak nincs értelme (bár én így vettem rá a monitoromat az 2000 körüli felbontásra, próbából :-) )
re' mi' do' do sol

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #20 on: 2005.December.23. 12:45:17 »
Quote from: "tigrian"
Ez minden TV-nél más és más, beállítás kérdése, de úgy nagy átlagban olyan 560 körüli lehet.

Junosztyon baromi könnyen be lehet állítani max méretre :)
De igaz, hogy egyes tévéknél még az EXOS-on keresztül elérhetõ 27x42 karakteres képernyõ (+status sor) is kilóg itt-ott, anno a színes tévénk megvétele után másnap hívtuk a szerelöt, beraktunk egy EPDOS-t, hogy ezt akarjuk látni :) és utána a filmekbõl is többet láttunk mint mások :) :)

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: NICK
« Reply #21 on: 2005.December.23. 12:49:33 »
lgb és Zozo, jaj, nagyon elõreszaladtatok a RAM olvasásával, ez a következõ rész témája lett (volna). Gondoltam, haladunk tematikusan, de ha már mindenki úgyis tudja...
re' mi' do' do sol

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #22 on: 2005.December.23. 12:51:40 »
Quote from: "tigrian"
lgb és Zozo, jaj, nagyon elõreszaladtatok a RAM olvasásával, ez a következõ rész témája lett (volna). Gondoltam, haladunk tematikusan, de ha már mindenki úgyis tudja...

:) Tanár úr kérem! Azért gondoljon a többi elsõs diákra is :)
Szóval jöhet a következõ rész!

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: NICK
« Reply #23 on: 2005.December.23. 13:02:17 »
Quote from: "Zozosoft"
:) Tanár úr kérem! Azért gondoljon a többi elsõs diákra is :)
Szóval jöhet a következõ rész!


 :smt045
Enterprise Forever

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: NICK
« Reply #24 on: 2005.December.23. 20:25:23 »
Az elõzõ részben arról volt szó, hogy mi is az a kompozit videojel, milyen kritériumai vannak. Ebbõl számunkra csak annyi a fontos, hogy egy sor (scanline) nemcsak a képtartalomból áll, vannak egyéb követelmények is.
No, azt már tudjuk, milyen jelet kell elõállítai, nézzük meg, ez hogyan is történik.

"pixel" (egy pont) elõállítása a képernyõn
Az alapelv ugye az, hogy a memória egy meghatározott részét elkezdjük olvasni, és az ott található adatok alapján elõállítjuk a videojelet reprezentáló jeleket (az, hogy ez 1 bit vagy 8V vagy 13 bakfitty, az most egyelõre nem érdekes).
Ez a léptetés egy meghatározott frekvenciával történik, ezt hívják RAMDAC-nak. Az értéke bizonyos határok között teszõleges, a tervezõ dönti el. Minél nagyobb a frekvencia, annál jobb lesz a felbontás, ez ugye nyilvánvaló. Van azonban egy felsõ limit, legalábbis a kompozit videojelnél. A színes jel esetében a világosságjel sávszélessége csak kb. 3,5 MHz. Ez korlátozza a RAMDAC praktikus maximumát kb. 7 MHz-re.

Hogyan is van ez? Mitõl lesz fele, meg kétszerese?

Az órajel felfutó éle olvassa be és teszi ki az adatot.
A videójel alacsony frekvencián szintén négyszögjel lesz, magasabb frekin egyre inkább már csak színusz.

Ez tehát azt jelenti, hogy a vízszintes felbontás nem lehet több kb. 720-nál (ismerõs szám?)
A színinformáció esetén a helyzet még rosszabb, a sávszélesség még kisebb. Emiatt két egymás melletti pixel színe mindig egyforma (ezt a tömörítõprogramok ki is használják). Tehát ha belegebedsz, akkor sem tudsz kb. 360 pontnál jobb színes felbontást produkálni. Ez nem jelenti azt, hogy minden második pixel egyforma, a fényességük lehet más. A színük nem. Egy sötétkéket pl. követhet világoskék. Piros viszont kizárt. Ez persze csak a kompozit jelre vonatkozik. RGB-ben (legyünk szabatosak: component jel esetén) bármit lehet.

No, tudjuk tehát, mik a lehetõségek. Az EP-ben ki is választották a maximumot, 7.125 MHz a RAMDAC (elvileg).

Quote
A RAMDAC választása ugyan tetszõleges, a sor hossza viszont szigorúan kötött, a színsegévivõ órajelével szinkronban kell lennie. Elrettentésül: (284-0,25) * 15625 Hz = 4433618,75 Hz, ez a színsegédvivõ.
Gyakorlati okokból a NICK órajele a RAMDAC kétszerese. Mivel a NICK ugyanazt a jelet használja a RAMDAC-nak is és a sorképzésre is, ezért további kötöttségek vannak. Az órajelnek a sorfreki (15625 Hz) többszörösének kell lennie. Feltéve, hogy még 16-tal is osztható az arányuk, így csak bizonyos értékek jöhetnek szóba. A doku szerint 57*16 = 64 usec. Ez alapján a NICK órajele 14.25 MHz. Ha nem annyi, akkor egyéb trükkök is vannak. De nem hinném.


Quote
Szerintem el is túlozták kissé, alig akad monitor, ami az ennek megfelelõ felbontást produkálni tudja. TV meg aztán pláne nem. Feltételezem, produkálniuk "kellett" a minél nagyobb felbontást. No meg azért a 8 pixel széles, 80 karakteres képernyõ feltételezi a legalább 12.75 MHz-et. És akkor még nincsen BORDER sem. Szóval alacsonyabb frekivel, 6*8-as karakter olvashatóbb lenne, de az jókora bonyodalmakkal járna...


Lassan elérkezünk végre egy sor képzéséhez.
A sor (scanline) a legkisebb elemi (és atomi) egység a NICK-ben. A sor idõzítése fontos, úgyhogy csak minimálisan tudjuk szabályozni. A NICK 57 "egységre" (slot) bontja a sort (logikailag), ebbõl az elsõ 8 alatt olvassa be a memóriából a sor megjelenítéséhez szükséges mód-adatokat (közben pedig generálja a szinkronjelet). A következõ 46 alatt van a tényleges videótartalom generálása. Az utolsó 3 alatt frissíti a videomemóriát.

Quote
Vegyük elõ ismét a videojelet!

Egy slot 16 RAMDAC órajelet (így 16 pixelt, ill. 32 NICK órajelet) jelent, 1,1228 usec-et. Az elsõ 8 tehát kb. 9 usec.
Az ábra szerint viszont 4.7 + 0.6 + 2.5 + 1.6, összesen 9.4 usec ideig nem lehet képtartalom (a sor a szinkronjel elejétõl kezdõdik, ezért nem számoltam a rajzon szereplõ kezdõ 1.5 usec-et).
Miért érdekes ez?
A NICK a 8-ik slot után, vagyis a 9-ik usec-tõl már kiteszi a videojelbe a BORDER-nek megfelelõ színt. Egy kicsit tehát belelóg abba a tartományba, ahol még fekete szintet kéne produkálnia. Az eltérés nagyon kicsi, általában nem okozhat problémát. Lehetnek azonban TV-k, monitorok, amik meghülyülnek tõle, ha a BORDER nem fekete (ill. alacsony világosságjel-tartalmú).


A 9-ik slot idején tehát már BORDER lesz. Hogy meddig, az programozható. Aztán következik a tényleges képtartalom, adott ideig, aztán ismét BORDER.
Quote
A soridõ végén is vannak betartandó követelmények, adott ideig ott sem szabad mást, csak fekete szintet kiadni. De ez nekünk már nem fontos, a lényeg, hogy az utolsó 3 slotban már nem lehet aktív képtartalom.


Van tehát összesen 46 slot a képtartalomra (ez éppen 51.65 usec), ezalatt 736 pixelnyi adatot generál.
Nézzük akkor, mit is állíthatunk egy soron belül a képtartalmat illetõen (idõben)? Azt, hogy hol kezdõdjön (de ez minimum 9 ), és hogy meddig tartson (max. 55). Azt azért jó tudni, hogy a TV-k a kép széleit nem jelenítik meg, ezért gyakorlati okokból kb. 42 slot használható. Ez nagyjából be is határolja, hogy 10 és 52 a nyerõ szám.
Ezzel el is érkeztünk az analóg rész végéhez. Ígérem, legközelebb már ismerõsebb terep lesz. :-)
re' mi' do' do sol

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #25 on: 2005.December.23. 20:36:51 »
Quote from: "tigrian"
Ez alapján a NICK órajele 14.25 MHz. Ha nem annyi, akkor egyéb trükkök is vannak. De nem hinném.

Ez igen jól egybevág azzal, hogyha a Nick órajelét kötjük be rendszerórajelnek, akkor 7.12 Mhz-es Z80-at kapunk! Valószínüleg ha több tizedesnyire mérnénk az órajelet, akkor meg lenne a 7.125...

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #26 on: 2005.December.23. 20:52:18 »
Végig olvastam, jó kis leírás! Nekem eddig ezek az analóg dolgok igen homályos területnek számítottak :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13718
  • Country: hu
    • View Profile
    • http://enterprise.iko.hu/
Re: NICK
« Reply #27 on: 2005.December.23. 20:57:35 »
Quote from: "tigrian"
Tehát ha belegebedsz, akkor sem tudsz kb. 360 pontnál jobb színes felbontást produkálni. Ez nem jelenti azt, hogy minden második pixel egyforma, a fényességük lehet más. A színük nem. Egy sötétkéket pl. követhet világoskék. Piros viszont kizárt. Ez persze csak a kompozit jelre vonatkozik. RGB-ben (legyünk szabatosak: compound jel esetén) bármit lehet.

Gondolom ez az oka annak, hogy gyárilag csak monochrom kompozit jel van kivezetve.
Szövegszerkesztéshez, stb ez a jó, mivel ez az ami szép éles. Ha megcsináljuk a színes kompozitot, az igazából csak játékra jó, 80 karakteres módban már elég elmosodott. Mi ezért is csináltuk átkapcsolhatóra.
A tökéletes megoldás pedig az RGB használata, valami jó kis Scart-os tv-n, monitoron :)

Offline tigrian

  • EP user
  • *
  • Posts: 401
  • Country: hu
    • View Profile
Re: NICK
« Reply #28 on: 2005.December.23. 21:04:57 »
Quote from: "Zozosoft"
Quote from: "tigrian"
Tehát ha belegebedsz, akkor sem tudsz kb. 360 pontnál jobb színes felbontást produkálni.

Gondolom ez az oka annak, hogy gyárilag csak monochrom kompozit jel van kivezetve.

Nyilván. Bár egyértelmûen ott a helye a csatin a színesnek is. Lenne még egy megoldás a problémára, kisebb felbontással, 64 karakter széles képernyõ remekül mûködik. A HP200-am is így csinálja, õk is tudnak valamit. Magyarán a 640 pixel is sok már, 6 MHz-es RAMDAC-kal 64 karakter tökéletes lehetne. De hát lehetnek egyéb szempontok is...
re' mi' do' do sol

Offline gafz

  • EP lover
  • *
  • Posts: 703
  • Country: hu
    • View Profile
    • http://gafz.atw.hu
Re: NICK
« Reply #29 on: 2005.December.23. 21:15:12 »
És hogy is van az az Y-C? Akkor már lehet 2 szomszédos pixel más színû?
Színes meg monocrom composite jelet be lehet vezetni egy TV-be svhs csatlakozón át jó eredménnyel?
Enterprise Forever