Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Asus EN7900GT/2DHT 256 MB DDR3 PCI-E

      17.7.2008 Po koupi novho procesoru intel E8400 jsem se rozhodl taky trochu pozvednout grafick vkon PC. 3D akcelertory se vyvj tak rychle, e bych mohl kupovat novou kartu pomalu kad plrok. Osobn si ale radji pokm na pd cen starch a osvdench model. Pod je taky u m priorita energetick nenronost a nzk hladina produkovanho hluku. Od znmho jsem vhodn sehnal grafiku Asus EN7900GT/2DHT PCI-E osazenou 256 MB rychl GDDR3 pamti Samsung K4J553230-BC14 (1,4 ns) na 256-bitov sbrnici a dvma DVI-I konektory + S-Video. Defaultn takt je 450 MHz pro GPU a 660 MHz (1320 MHz DDR) pro pamti. Grafick jdro G71 obsahuje 24 pixel pipelines a 8 vertex shader 3.0, pln akceleruje DirectX 9.0c a OpenGL 2.0. Dky 90nm vrobn technologii se spoteba dr na pijatelnch 22 / 48 W (idle / peak 3D load), co je skoro polovina oproti 110nm pedchdci 7800GT. Nicmn pro jistotu je karta vybavena pdavnm 6-pinovm 12V napjecm konektorem. Chlazen je eeno malm mdnm chladiem s velmi hlunm ventiltorem bez regulace orek. BGA pamov ipy ani VRM nemaj dn chladi.
      Jeliko jsem byl u pedchoz karty GF7600GS zvykl na tich pasivn chlazen, hned jsem se pustil do hledn odpovdajc nhrady originlnho fuku. Druh den jsem koupil pasivn chladi Arctic Cooling Accelero S1 rev. 2. Ten se skld z tlust mdn zkladny, z n vychzej 4 heatpipes, na kterch je navleeno 32 hlinkovch eber. Akort je koda, e vrobce neohnul heatpipe na druhou stranu karty, aby pi monti v tower case mohl hork vzduch voln stoupat vzhru. Na nkterch MB by ale hrozila kolize s chladiem northbridge. Je tak teba potat s obsazenm sousednho slotu pod VGA (toho PCI-E x1 dn koda). Akoliv je chladi docela rozmrn (podln i na ku kartu peuhuje) je lehk a nehroz utren PCI-E slotu :) Chladi je konstruovn jako univerzln pro karty nVidia i ATI a jist si porad i se ravjmi GPU. Akort je teba dt pozor na rozte montnch dr na PCB (existuje i verze Accelero S2 pro jin roztee). V balen najdete krom velkho chladie i mal pasivky na pamti (samolepic) a VRM. V mojem ppad to na VRM nelo pout, ale nen to ani nutn.

7900GT original heatsink 7900GT stripped nvidia G71 GPU
7900GT with Accelero S1-top 7900GT with Accelero S1-bottom 7900GT in PC

      Mont je velmi jednoduch. Sta odroubovat originln chladi, nalepit pasivy na pamti, navlknout a piroubovat Accelero. rouby to chce dotahovat rovnomrn a s citem, aby zkladna dobe sedla na jdru GPU, ale aby se karta neprohbala. Nakonec se to jet pojist nkolika plastovmi packami. Po namontovn karty do PC jsem zjistil, e nemu podn zavt bonici. Mm toti middle tower case irok jen 18 cm. Natst lo jen o milimetry a pomohlo tak sundan hornho plastovho vlisku, kter je tam beztak jen na pardu. Pak u bonice la zavt v pohod a jet nkolik mm zbv. S originlnm chladiem jsem ml teploty GPU kolem 65°C ve 2D a 75 - 80°C ve 3D. S Accelerem to kleslo na 50°C ve 2D a 65°C ve 3D, co je docela solidn na to, e jde jen o pasiv. Urit by to po pidn pomalobnho vtrku lo jet o 10 - 15°C dol, ale to u je pro m zbyten.
      pravou VGA BIOSu NiBiTorem jsem potom kartu mrn petaktoval na 480 / 680 MHz (GPU / RAM), ale je to jen pr FPS navc. Crysis se na tom d v 1024 x 768 hrt taky, pokud nejsou vechny grafick blbiny na max. (zejmna kvalita stnovn a stn). Pro porovnn jsem udlal pr test s MSI GeForce 6600GT, Gainward GeForce 7300GT a Asus GeForce 7600GS v Unrel Tournamentu 2003 (botmatch-anubis.bat, 1280 x 1024 / 32) a GL Quake (demo1.dem, 1280 x 1024 / 16). Nastaven ForceWare 94.24 v ovldacch panelech: AA = 2x Q, AF = 4x, vysok kvalita, vsync = off, mipmapy = trilinear, tripple buffering = off.

VGA  UT 2003   GL Quake 
6600GT @500/500 MHz 132 FPS 192 FPS
7300GT @350/350 MHz 110 FPS 178 FPS
7300GT @400/400 MHz 123 FPS 208 FPS
7600GS @400/400 MHz 137 FPS 202 FPS
7600GS @500/470 MHz 143 FPS 244 FPS
7900GT @450/660 MHz 291 FPS 518 FPS
7900GT @480/680 MHz 293 FPS 539 FPS
Core 2 Duo E6400 @2,4 GHz; E8400 @3,5 GHz (7900GT)

      Co se te ovlada, tak ve Windows XP pouvm stle ForceWare 94.24, jen jako posledn oficiln obsahuj star layout ovldacch panel, na kter jsem si tak njak zvykl. V ppad problm s tuhnutm starch DOSovch program v NTVDM pi pepnut z okna na fullscreen je eenm patch VIDEOPRT.ZIP [13 kB] od Martina ulka (mm ho nainstalovan u od dob pouvn GF7600GS). Pod Windows 98SE pouvm neoficiln ForceWare 82.69 drivery od ZakMcKracken84 z MSFN fra, problm s vypnnm Windows petrvv. Pro Windows NT 3.x a 4.0 lze pout akort univerzln VESA driver VBEMP (u existuje i beta pro Windows 9x) od BearWindowse. Ten samozejm neum HW akceleraci 2D nato 3D funkc, ale funguje. Na bnou prci s okny to sta. Bohuel dky zmrven implementaci VBE 3.0 neumouje nastavit obnovovac frekvenci. V Linuxu pouvm posledn verzi ForceWare 173.14.12 s Xorg 7.2 bez problm. 3D akcelerace funguje tak vborn, zkouel jsem linuxov verze Quake II, Quake III a Doom 3. Obnovovac frekvenci lze nastavit v ovldacch panelech podobnch tm windowsm. Pro taktovn a tweakovn existuje program NVClock. Pro zjemce jsem udlal i DOSov port tto utility. Petaktovn pod DOSem moc nem smysl, ale naopak lze kartu podtaktovat nebo snit otky vtrku na minimum.

      18.6.2009 Tak se mi znenadn zaala na VGA kazit videopam. Nejprve jsem si viml drobnho artefaktu ve 2D grafice, kdy v prohlei obas pi scrollovn text v jednom mst zstval za psmeny nesouvisl etzek pixel (vechny pixely v jednom sloupci). Nejprve jsem to povaoval za softwarov problm Mozilly/Windoze, ale pak jsem si viml dalho artefaktu v textovm reimu 80x25, kde jeden znak v horn ad ml jin atribut ne ostatn. To se projevovalo jen pi urit kombinaci barvy poped a pozad. Program Ndiags (soust Norton Utilities 8.0 pro DOS) pi testu zkladn VGA videopamti skonil chybou. Program Video Memory stress Test, kter testuje celou videopam, odhalil stovky vadnch bunk. Naped jsem zkusil snit takt GPU a pamt a na minimum, avak bez rozdlu. Take to vypadalo nejsp na njak studek u pamt (zasran bezolovnat pjky, pry s EuroEkoTerorismem!) Jako posledn monost jsem zkusil pofoukat BGA ipy pamt horkovzduchem. Pitom jsem asi njak BGA pouzdro nedopatenm pli pimknul, e se slily koule pod nm a vznikl zkrat. Kdy jsem pak nic netuc kartu zastril zpt do PC a zapnul, okamit z jednoho malho integre v oblasti VRM vylehl plamen a PC zdroj se vypnul. Trvalo to jen zlomek vteiny. Operace se zdaila, pacient je mrtev, RIP... Mu bt jet rd, e mi neodela zkladn deska. Jako nhradu jsem do PC namontoval zpt 7600GS, kterou jsem natst neprodal. Rd bych ale co nejdve podil opt 7900 nebo 7950.
      Nedvno jsem se na netu doetl, e nkte "experti" se sna problmy se studeky na PCB eit zapknm cel karty v troub, typicky pi 200 - 250°C po dobu 7 minut. Takov mal domc reflow. Pi tto pedstav se asi SMT technologm je vechny chlupy na tle :) Nkter soustky vydr petaven pouze 1 pi vrob a dalm petavenm bu znan zdegraduj nebo se rovnou zni. To plat zejmna o elektrolytickch kondenztorech, kter se uva a vyfouknou. Pitom by nebyl problm je ped peenm sundat. Dle je diskutabiln i vliv na kvalitu pjench spoj. U studek sice dojde k proht a vtinou i spojen, ale dal spoje zas oxidujou a hroz jejich poruen. Pi reflow se pouv pesn dan teplotn profil, kter asi tko doma nkdo v troub dodr. Vsledkem tedy me bt opt funkn karta, otzkou vak je, na jak dlouho. Po pr mscch se to zas me odporouet do kopru. Pokud s tm dotyn pot jako s doasnm nouzovm eenm, tak to jist za pokus stoj, ne tu kartu hned hodit do koe. Ale aspo ty elyty bych ped tm odpjel...

      7.7.2009 se mi podailo koupit jako nhradu VGA kartu Leadtek WinFast PX7900GT TDH, 256MB DDR3, PCI-Express. Pedchozmu ASUSu se velmi podob, stejn referenn PCB layout a chladi, stejn takt jdra a pamt. Take jsem do karty vesele nahrl svj hacknut VGA BIOS a vymnil chladi za Accelero S1 a karta je k nepoznn od t pedchoz. Snad mi vydr dle ne rok...


VESA BIOS hack na Asus EN7900GT

      16.12.2009 Kdy jsem si podil nov LCD monitor NEC 2190UXp, kter jsem pochopiteln propojil s grafickou kartou pes digitln DVI-D, dokal jsem se nemilho pekvapen, nebo mi z vpisu grafickch VESA md zmizely vechny rozlien vy ne 1280 x 1024. Pitom pokud jsem monitor propojil klasickm analogovm kabelem, VESA BIOS nabzel mdy a do 2048 x 1536 / 32 bpp. NVidioti se zejm snaili do VESA BIOSu implementovat dal ochranu tupho uivatele (podobn jako vyputn kdu pro nastaven refresh rate dle spec. VBE 3.0), aby nelo nastavit vy ne nativn rozlien LCD, ale njak se jim pomotaly porovnvac opertory. Asi lo o nemyslnou programtorskou chybu (postihujc nejsp vechny nVidia karty ady 6xxx a 7xxx), protoe jak jsem pozdji zjistil, tak na novj 8800GT u tento problm nen. To m ponkud iritovalo, protoe jsem teba ve Windows NT 4.0 nebo nkterch DOSovch programech nemohl nastavit nativn rozlien LCD a tak jsem nahavil svj oblben IDA disassembler...
      Veker dal popis se vztahuje k video BIOSu verze 5.71.22.38.00 pro Asus EN7900GT/2DHT 256 MB DDR3 PCI-E, PCB rev. p455h0s. Vtina vrobc grafickch karet ale pouv jen minimln upraven referenn nVidia BIOS, take by nemlo bt tk se v nm zorientovat. Stejn binrn etzce mou bt na trochu jinch offsetech. Celkem bez problm funguje zmna video BIOS na grafickch kartch rznch vrobc pro jeden typ GPU. Je akort poteba dt pozor na defaultn frekvence a volte GPU a pamt, kter jsou zapsny v inicializanch tabulkch BIOSu. Pokud by se dal teba BIOS s nastavenm vysokm taktem pamt do karty, kter je osazena pomalejmi pamovmi ipy, tak by u karta nemusela nabhnout. Avak takty a napt lze pohodln upravit NiBiTorem. Pouvm svj upraven Asus BIOS na Leadteku a nenarazil jsem na dn problm. Takty GPU a pamt jsem jen mrn zvil z 450/660 MHz na 480/680 MHz.
      Nejprve jsem se pustil do hledn subrutiny blokujc zmnn VESA mdy, zde je jej zatek:


C000:4BDA ; =============== S U B R O U T I N E =======================================
C000:4BDA ; OEMIsModeAvailable - Determine if mode is available with current hardware
C000:4BDA ; disable higher than native modes on LCD via DVI
C000:4BDA ; some bug here caused that also native LCD modes was disabled
C000:4BDA ; Entry:  AL = OEM mode number
C000:4BDA ; Exit:   Carry flag set as follows: NC = Mode is available, CF = Mode is not available
C000:4BDA ; All registers are preserved.
C000:4BDA
C000:4BDA OEMIsModeAvailable proc near            ; CODE XREF: SetMode+68.p
C000:4BDA                                         ; FillModes+21.p ...
C000:4BDA                 pushad                  ; PATCH: replace pushad by RETN, NOP to disable this routine
C000:4BDC                 push    es
C000:4BDD                 call    GetModeDescPtr  ; GetModeDescPtr - Get pointer to the mode description table
C000:4BDD                                         ; Entry:  AL = VGA Mode number
C000:4BDD                                         ; Exit:   ES:BX = Pointer to table (If error, BX = 0)
C000:4BDD                                         ;         Carry flag set as follows:
C000:4BDD                                         ;         NC = Pointer is valid
C000:4BDD                                         ;         CF = Error (pointer invalid)
C000:4BDD                                         ; All other registers preserved.
C000:4BE0                 jb      OEMIsModeAvailable_exit
C000:4BE4                 mov     dl, al
C000:4BE6                 mov     al, cs:[bx+2]
C000:4BEA                 mov     cl, 9
C000:4BEC                 mul     cl
C000:4BEE                 mov     si, 2D41h
C000:4BF1                 add     si, ax
C000:4BF3                 call    sub_C1151
C000:4BF6                 jb      OEMIsModeAvailable_exit
C000:4BFA                 call    isTV            ; Returns Carry flag if on TV
C000:4BFD                 jb      short loc_C4C04
C000:4BFF                 call    sub_CBA57
C000:4C02                 jnb     short loc_C4C26
C000:4C04
C000:4C04 loc_C4C04:                              ; CODE XREF: OEMIsModeAvailable+23.j
C000:4C04                 mov     al, es:[bx+3]
C000:4C08                 cmp     al, 0FFh
C000:4C0A                 jnz     short loc_C4C12
C000:4C0C                 stc
C000:4C0D                 jmp     OEMIsModeAvailable_exit
C000:4C10 ; ---------------------------------------------------------------------------
C000:4C10                 jmp     short loc_C4C26
C000:4C12 ; ---------------------------------------------------------------------------
...

Tato subrutina je volan ze subrutiny FillModes na adrese C000:8FECh, kter vytv VESA mode list na zklad poadavk voln sluby VESA BIOSu 4F00h (rutina VBE_ReturnControllerInfo na adrese C000:903Ch). Nejjednodu bylo celou rutinu vyadit z innosti pepsnm 2-Bytovho operanho kdu instrukce PUSHAD dvma 1-Bytovmi operanmi kdy instrukc RETN a NOP. Po tto prav a updejtu kontrolnho soutu ROM image jsem BIOS flashnul a skuten ve vpisu VESA md se objevily vechny jako pi pipojen pes analog. Pomoc svho progrmku VESATEST jsem otestoval oba videomdy 1600 x 1200 / 8 bpp a 1600 x 1200 / 16 bpp a fungovaly korektn, konen nativn rozlin :)
      K dokonalosti u chybl jen VESA md 1600 x 1200 / 32 bpp, holt truecolor je truecolor... Musel jsem tedy najt a upravit tabulku videomd. Ta se u vtiny nVidia BIOS nachz na adrese C000:3000h:


C000:3000 ; VideoModes description table: 0-OEMMode,6-VESAVMode,8-ModeType,9-pages,A-bpp,B-RowOffset
C000:3000 tblModeDescriptions
C000:3000 ; Byte:     0   1   2   3   4  5  6,7 8 9 A B,C D,E  F
C000:3000  MODEDESC <80h,0Ch,05h,02h,00h,1,001h,0,8,4,20,2048,17h> ; 320x350/4,mode 01-80 (text)
C000:3010  MODEDESC <81h,0Ch,0Ch,06h,01h,3,003h,0,8,4,40,4096,17h> ; 640x350/4,mode 03-81 (text)
C000:3020  MODEDESC <82h,0Fh,03h,00h,00h,2,001h,0,8,4,20,2048,17h> ; 320x200/4,mode 01-82 (text)
C000:3030  MODEDESC <83h,0Fh,0Ah,05h,01h,4,003h,0,8,4,40,4096,17h> ; 640x200/4,mode 03-83 (text)
C000:3040  MODEDESC <84h,13h,07h,04h,00h,2,001h,0,8,4,20,2048,17h> ; 360x400/4,mode 01-84 (text)
C000:3050  MODEDESC <85h,13h,11h,0Bh,01h,4,003h,0,8,4,40,4096,17h> ; 720x400/4,mode 03-85 (text)
C000:3060  MODEDESC <04h,03h,02h,00h,02h,2,004h,2,1,2,20,16384,17h> ; 320x200/2,mode 04-04 (gfx)
C000:3070  MODEDESC <05h,03h,02h,00h,02h,2,005h,2,1,2,20,16384,17h> ; 320x200/2,mode 05-05 (gfx)
C000:3080  MODEDESC <06h,04h,09h,05h,03h,4,006h,2,1,1,40,16384,17h> ; 640x200/1,mode 06-06 (gfx)
C000:3090  MODEDESC <87h,0Dh,10h,0Ah,01h,3,007h,1,8,0,40,4096,17h> ; 720x350/1,mode 07-87 (text)
C000:30A0  MODEDESC <88h,14h,11h,0Bh,01h,4,007h,1,8,0,40,4096,17h> ; 720x400/1,mode 07-88 (text)
C000:30B0  MODEDESC <0Dh,08h,02h,00h,02h,2,00Dh,5,8,4,20,8192,17h> ; 320x200/4,mode 0D-0D (gfx)
C000:30C0  MODEDESC <0Eh,08h,09h,05h,03h,4,00Eh,5,4,4,40,16384,17h> ; 640x200/4,mode 0E-0E (gfx)
C000:30D0  MODEDESC <0Fh,06h,0Bh,06h,03h,3,00Fh,3,2,1,40,32768,17h> ; 640x350/1,mode 0F-0F (gfx)
C000:30E0  MODEDESC <10h,0Ah,0Bh,06h,03h,3,010h,5,2,4,40,32768,17h> ; 640x350/4,mode 10-10 (gfx)
C000:30F0  MODEDESC <11h,07h,0Fh,09h,04h,5,011h,4,1,1,40,40960,17h> ; 640x480/1,mode 11-11 (gfx)
C000:3100  MODEDESC <12h,09h,0Fh,09h,04h,5,012h,5,1,4,40,40960,17h> ; 640x480/4,mode 12-12 (gfx)
C000:3110  MODEDESC <13h,05h,01h,08h,03h,4,013h,6,1,8,40,64000,17h> ; 320x200/8,mode 13-13 (gfx)
C000:3120  MODEDESC <6Ah,0Bh,13h,0Ch,07h,6,102h,5,1,4,50,65535,17h> ; 800x600/4,mode 102-6A (gfx)
C000:3130  MODEDESC <58h,0Bh,13h,0Ch,07h,6,102h,5,1,4,50,65535,17h> ; 800x600/4,mode 102-58 (gfx)
C000:3140  MODEDESC <30h,02h,00h,00h,08h,2,130h,6,1,8,40,16384,20h> ; 320x200/8,mode 130-30 (gfx)
C000:3150  MODEDESC <31h,02h,06h,03h,08h,2,131h,6,1,8,40,32768,20h> ; 320x400/8,mode 131-31 (gfx)
C000:3160  MODEDESC <32h,00h,06h,03h,08h,2,132h,7,1,16,80,65535,20h> ; 320x400/16,mode 132-32 (gfx)
C000:3170  MODEDESC <34h,02h,04h,01h,0Ah,0,134h,6,1,8,40,20480,20h> ; 320x240/8,mode 134-34 (gfx)
C000:3180  MODEDESC <35h,00h,04h,01h,0Ah,0,135h,7,1,16,80,40960,20h> ; 320x240/16,mode 135-35 (gfx)
C000:3190  MODEDESC <5Bh,02h,0Dh,07h,05h,4,100h,6,1,8,80,65535,20h> ; 640x400/8,mode 100-5B (gfx)
C000:31A0  MODEDESC <3Dh,00h,0Dh,07h,05h,4,13Dh,7,1,16,160,65535,20h> ; 640x400/16,mode 13D-3D (gfx)
C000:31B0  MODEDESC <44h,00h,16h,FFh,FFh,8,11Ah,7,1,16,320,65535,20h> ; 1280x1024/16,mode 11A-44 (gfx)
C000:31C0  MODEDESC <5Ah,0Bh,17h,FFh,FFh,8,106h,5,1,4,80,65535,17h> ; 1280x1024/4,mode 106-5A (gfx)
C000:31D0  MODEDESC <5Ch,02h,12h,0Ch,07h,6,103h,6,1,8,100,65535,20h> ; 800x600/8,mode 103-5C (gfx)
C000:31E0  MODEDESC <5Dh,0Bh,15h,0Dh,0Bh,7,104h,5,1,4,64,65535,17h> ; 1024x768/4,mode 104-5D (gfx)
C000:31F0  MODEDESC <5Eh,02h,14h,0Dh,0Bh,7,105h,6,1,8,128,65535,20h> ; 1024x768/8,mode 105-5E (gfx)
C000:3200  MODEDESC <5Fh,02h,0Eh,09h,06h,5,101h,6,1,8,80,65535,20h> ; 640x480/8,mode 101-5F (gfx)
C000:3210  MODEDESC <6Bh,02h,16h,FFh,FFh,8,107h,6,1,8,160,65535,20h> ; 1280x1024/8,mode 107-6B (gfx)
C000:3220  MODEDESC <6Eh,00h,0Eh,09h,06h,5,111h,7,1,16,160,65535,20h> ; 640x480/16,mode 111-6E (gfx)
C000:3230  MODEDESC <6Fh,00h,12h,0Ch,09h,6,114h,7,1,16,200,65535,20h> ; 800x600/16,mode 114-6F (gfx)
C000:3240  MODEDESC <72h,00h,14h,0Dh,0Bh,7,117h,7,1,16,256,65535,20h> ; 1024x768/16,mode 117-72 (gfx)
C000:3250  MODEDESC <78h,00h,00h,00h,08h,2,10Eh,7,1,16,80,65535,20h> ; 320x200/16,mode 10E-78 (gfx)
C000:3260  MODEDESC <45h,02h,1Bh,FFh,FFh,0Ch,145h,6,1,8,200,65535,20h> ; 1600x1200/8,mode 145-45 (gfx)
C000:3270  MODEDESC <46h,00h,1Bh,FFh,FFh,0Ch,146h,7,1,16,400,65535,20h> ; 1600x1200/16,mode 146-46 (gfx)
C000:3280  MODEDESC <47h,02h,19h,FFh,FFh,0Ah,147h,6,1,8,175,65535,20h> ; 1400x1050/8,mode 146-46 (gfx)
C000:3290  MODEDESC <48h,00h,19h,FFh,FFh,0Ah,148h,7,1,16,350,65535,20h> ; 1400x1050/16,mode 147-47 (gfx)
C000:32A0  MODEDESC <7Ah,01h,1Eh,FFh,FFh,FFh,152h,8,1,32,1024,65535,20h> ; 2048x1536/32,mode 152-7A (gfx)
C000:32A0 ; PATCH: replace it by modeline for 1600x1200/32 (4A 01 1B FF FF 0C 4A 01 08 01 20 20 03 FF FF 1C)
C000:32B0  MODEDESC <20h,01h,00h,00h,08h,2,10Fh,8,1,32,160,65535,20h> ; 320x200/32,mode 10F-20 (gfx)
C000:32C0  MODEDESC <21h,01h,0Eh,09h,06h,5,112h,8,1,32,320,65535,20h> ; 640x480/32,mode 112-21 (gfx)
C000:32D0  MODEDESC <22h,01h,12h,0Ch,09h,6,115h,8,1,32,400,65535,20h> ; 800x600/32,mode 115-22 (gfx)
C000:32E0  MODEDESC <33h,01h,06h,03h,08h,2,133h,8,1,32,160,65535,20h> ; 320x400/32,mode 133-33 (gfx)
C000:32F0  MODEDESC <36h,01h,04h,01h,0Ah,0,136h,8,1,32,160,65535,20h> ; 320x240/32,mode 136-36 (gfx)
C000:3300  MODEDESC <3Eh,01h,0Dh,07h,05h,4,13Eh,8,1,32,320,65535,20h> ; 640x400/32,mode 13E-3E (gfx)
C000:3310  MODEDESC <3Fh,01h,14h,0Dh,0Bh,7,118h,8,1,32,512,65535,20h> ; 1024x768/32,mode 118-3F (gfx)
C000:3320  MODEDESC <79h,01h,16h,FFh,FFh,8,11Bh,8,1,32,640,65535,20h> ; 1280x1024/32,mode 11B-79 (gfx)
C000:3330  MODEDESC <FFh,01h,FFh,C4h,03h,0,300h,255,194,3,0,65281,0D4h> ; end of table

Kad dek tabulky o 16 Bytech mapuje jedno slo VESA mdu (Byte 6 a 7) na jedno slo nVidia OEM mdu (byte 0). Tabulku nelze jednoduchou editac zvtit (pidat dal VESA mdy), zbv tedy jen monost njak dky pepsat. V celku s klidnm svdomm mohu vypustit ob VESA md 2048 x 1536 / 32 bpp a nahradit jej potebnjm 1600 x 1200 / 32 bpp. Konkrtn hodnoty do tabulky jsem zskal na fru VOGONS od uivatele dvwjr z jeho modifikovanho BIOSu pro BFG 7950GT, kter t ctyhodnch 51 VESA md. Poskytl mi tak kompletn tabulku svch videomd:


 Order   Nvidia  Video VGA/   Visible     Visible    Bits per        Notes
         Video   Mode  VESA  Horizontal   Vertical    Pixel
         Mode#                 Pixels      Pixels    (color)
*************************************************************************************************
VGA:
   1       80      01   00       320         350        4       Text -       EGA: 40 column
   2       81      03   00       640         350        4       Text -       EGA: 80 column
   3       82      01   00       320         200        4       Text -       CGA: 40 column
   4       83      03   00       640         200        4       Text -       CGA: 80 column
   5       84      01   00       360         400        4       Text -       VGA: 40 column
   6       85      03   00       720         400        4       Text -       VGA: 80 column
   7       04      04   00       320         200        2       Graphic
   8       05      05   00       320         200        2       Graphic CGA, EGA, MCGA, VGA
   9       06      06   00       640         200        1       Graphic CGA, EGA, MCGA, VGA
   10      87      07   00       720         350        1       Text -  MDA, EGA: 80 column=mono
   11      88      07   00       720         400        1       Text -       VGA: 80 column=mono
   12      0D      0D   00       320         200        4       Graphic EGA, VGA: color
   13      0E      0E   00       640         200        4       Graphic EGA, VGA: color
   14      0F      0F   00       640         350        1       Graphic EGA, VGA: mono
   15      10      10   00       640         350        4       Graphic EGA, VGA: color
   16      11      11   00       640         480        1       Graphic MCGA,VGA: color
   17      12      12   00       640         480        4       Graphic      VGA: color
   18      13      13   00       320         200        8       Graphic      VGA: color

VESA Text:
   19   deprecated 08   01        80          60        4       Text -  old VESA: Text mode
   20   deprecated 09   01       132          25        4       Text -  old VESA: Text mode
   21   deprecated 0A   01       132          43        4       Text -  old VESA: Text mode
   22   deprecated 0B   01       132          50        4       Text -  old VESA: Text mode
   23   deprecated 0C   01       132          60        4       Text -  old VESA: Text mode

VESA Graphics:
   24      20      0F   01       320         200       32
   25      21      12   01       640         480       32
   26      22      15   01       800         600       32
   27      30      30   01       320         200        8
   28      31      31   01       320         400        8
   29      32      32   01       320         400       16
   30      33      33   01       320         400       32
   31      34      34   01       320         240        8
   32      35      35   01       320         240       16
   33      36      36   01       320         240       32
   34      3D      3D   01       640         400       16
   35      3E      3E   01       640         400       32
   36      3F      18   01      1024         768       32
   37      44      1A   01      1280        1024       16
   38      45      45   01      1600        1200        8
   39      46      46   01      1600        1200       16
   40      47      47   01      1400        1050        8
   41      48      48   01      1400        1050       16
   42      49      49   01      1400        1050       32
   43      4A      4A   01      1600        1200       32
   44      53      53   01      1280         960        8
   45      54      54   01      1280         960       32
   46      55      55   01      2048        1556       32       @ 59.94 Hz - my special mode
   47      56      56   01      2048        1556       32       @ 72 Hz    - my special mode
   48      57      57   01      2048        1556       32       @ 85 Hz    - my special mode
   49      58      02   01       800         600        4
   50      5A      06   01      1280        1024        4
   51      5B      00   01       640         400        8
   52      5C      03   01       800         600        8
   53      5D      04   01      1024         768        4
   54      5E      05   01      1024         768        8
   55      5F      01   01       640         480        8
   56      6A      02   01       800         600        4
   57      6B      07   01      1280        1024        8
   58      6E      11   01       640         480       16
   59      6F      14   01       800         600       16
   60      72      17   01      1024         768       16
   61      78      0E   01       320         200       16
   62      79      1B   01      1280        1024       32
   63      7A      52   01      2048        1536       32
   64      60      60   01      1280         800        8
   65      61      61   01      1280         800       32
   66      62      62   01       768         480        8
   67      64      64   01      1440         900        8
   68      65      65   01      1440         900       32
   69      68      68   01      1680        1050        8
   70      69      69   01      1680        1050       32
   71      7B      7B   01      1280         720       32
   72      7C      7C   01      1920        1200        8
   73      7D      7D   01      1920        1200       32

Po editaci tabulky, opravy kontrolnho soutu a dalm flashnut ROM image se objevil ken VESA md ve vpisu a normln fungoval, take jsem mohl vesele pepnout nkter programy a OSy do nativnho mdu. Akort u mojeho oblbenho modelovacho programu 3D Studio R4 nejde nastavit vy rozlien ne 1280 x 1024, protoe m tabulku videomd nkde zahardkdovanou ve svm ovladai (msto aby si je detekoval dynamicky volnm sluby VESA BIOSu 4F00h. To si vyd jet dal disassemblovn... Kadopdn bych chtl podkovat dvwjrovi a bear windowsovi za pomoc, bez kter bych se asi tak daleko nedostal.
      Zde je ke staen finln podoba mho upravenho video BIOSu: my7900gt.zip [45 kB]. Flashovn jen na vlastn nebezpe. Ped flashnutm BIOSu si jej mete vyzkouet na neisto pomoc utility vgabios.exe -f!MY7900G.ROM (je soust balku). Pro flashnut BIOS image pouijte utilitu nvflash. Pokud budete flashovat na kartu 7900GT jinho vrobce s jinm board ID, bude poteba pout donucovac parametry: nvflash -4 -5 -6 !MY7900G.ROM.

      14.1.2012 Stejnm zpsobem jsem tak upravil video BIOS m pedchoz karty Asus EN7600GS.


Vyblit ern na AGP VGA kartch S3

      30.10.2018 Na fru VOGONS jsem se doetl o zajmavm problmu, kter trp nkter uivatele AGP grafickch karet s ipy S3 Virge, Trio 3D, Savage 3D a PCI karet s ipy S3 Trio64V+ a to sice, e zmnn karty po zapnut a v DOSu zobrazuj patnou rove ern barvy pozad, kter nen ern ale ed. Ve Windows s nainstalovanm ovladaem tento problm nen, ppadn se dl poladit pomoc S3 Color Utility. J jsem se u svch VGA karet zatm s tmto problmem nesetkal, ale teba se tyto informace budou nkomu hodit. Nejprve nebylo jasn, jestli je problm v HW nebo FW, ale pak se ukzalo, e peprogramovnm video BIOSu na problmov kart sprvnou verz, lze problm eliminovat (sprvnm nastavenm napov rovn ern a zatemnn v generovanm videosignlu). Analzou video BIOSu se zjistilo, e za toto chovn je zodpovdn nastaven extended registr sekvencru (specifick pro ipy S3), kter se programuje pes standardn VGA I/O porty 3C4h a 3C5h. Uivatel wbc pak napsal jednoduch testovac progrmek, kterm lze otestovat ob (svtl a normln) nastaven. Je t autorem komplexnj utility S3VBEFIX, kter e i dal neduhy S3 karet. Za zmnku jet stoj, e s pchodem VESA VBE 2.0 bylo poteba ve video BIOSu uvolnit trochu msta pro nov kd a tak byl vyputn font 8 x 14. Nkter DOSov programy a hry ho vak pouvaj a pak dojde k rozsypn obrazu - to e utilita FIX8X14.



Zpt

Aktualizovno 11.12.2018 v 2:18