2009. január 8.

Általános grafikus driver a HP iPAQ 316-hoz: GAPI for HPC's

A Windows CE készülékek egyik rákfenéje, hogy sok alkalmazás a más jellegű grafikai képességek miatt nem futtatható. Azonban egy ügyes srác évekkel ezelőtt nekiállt a GAPI for HPC's szoftver fejlesztésnek. Ezzel szinte minden futtatható főleg a régebbi Windows CE 4.2 alapú masinákon.

A HP iPAQ 310 család 800x480 nagy felbontása miatt bizonyos alkalmazások nem, vagy nehezen futtathatóak. Sőt, a GAPI for HPC's sem támogatta a működését. Írtam Franknek, aki 10 EUR-ért cserébe elkészítette a szükséges GX.DLL fájlt, és elküldte. Elvileg a következő GAPI for HPC's változatban benne lesz, addig is a 4.03 változathoz megosztom a kapott verziót.

A GAPI elsődleges célja, hogy más felbontásokhoz szokott, más képernyő drivert igénylő, például Pocket PC alkalmazások, játékok is el tudjanak indulni az adott Windows CE felületen. Előre bocsátom, nem feltétlenül tudok abban segíteni, hogy konkrétan "ez és ez" a program miért nem fut a HP iPAQ 316 féle Windows CE 5.0 Core felületen. Az angol nyelvet ismerők az alábbi oldalon tudhatnak meg többet a GAPI for HPC's-ről:
GAPI for HPC's telepítése HP iPAQ 316-ra
  • Töltsd le a HP iPAQ 31x kompatibilis GX.DLL fájlt innen (legális, az elkészítését kifizettem, használata ingyenes):

    http://sancho.hu/files/blog/download/HP_iPAQ_316/GAPI_GX.zip
  • Töltsd le az aktuális GAPI for HPC's v4.03 telepítőt innen:

    http://www.wincesoft.de/GAPI_for_HPCs_v403_with_Apps.CAB
  • Telepítsd a CabInstl segítségével a .CAB fájlt a PNA-ra az alábbi mappába:
    "\ResidendtFlash\Program Files\GAPI for HPCs"
  • Másold be és írd felül a PNA-n a "\Windows" mappában a GX.DLL fájlt a fentire.
  • Indítsd el a "GAPISetup.exe" programot, és az utolsó fülön lévő teszt alkalmazásokat futtasd le. Ha sikeres volt a telepítés, akkor szinte mindegyik jól lefut. Az utolsó kettő esetén lehetnek kisebb működési gondok, néha a HP iPAQ 316 a nagy felbontása miatt nem engedi jól meghívni a GX.DLL-t.
  • Az elforgatós menük nem működnek, mert maga a vas nem engedi meg ezt. Így az Orientation és a Rotation menük módosítása nem változtat semmit, csak lehetetlenné teszi a GAPI-t igénylő alkalmazások futtatását. Csak az alap fektetett módban fut a gép, a GAPI-ban ezt nem kell beállítani.
  • Ne nyomj soft resetet, mert elvesznek az alábbi fájlok, melyek manuális visszamásolása szükséges, ha újból, telepítés nélkül akarod futtatni a GAPI-t:
    "\Windows\GX.DLL"
    "\Windows\WinCESoft GAPI for HPCs.unload"
    "\Windows\AppMgr\WinCESoft GAPI for HPCs.DAT"
    "\Windows\GX_HPC.ini" (Bár ennek helye a GAPI első menüjében átállítható a \ResidentFlash meghajtóra)
Telepítés állandósítása
  • Mivel soft reset után elveszne a GAPI telepítés, ezért az alábbiak szükségesek az állandósításhoz.. Amennyiben ezt még nem végezted el, ezt hajtsd végre:

    hp-ipaq-316-s-programtelepts-alapjai.html
  • Ha mindez megvan, akkor Notepad segítségével készíts egy "GAPI.mscr" szövegfájlt, és másold bele ezt a script sort:
    xcopy("\ResidendtFlash\Program Files\GAPI for HPCs\sys\*.*","\",true,true )
  • A fájlt másold be a "..\GAPI for HPCs" könyvtárba a GAPI szoftver mellé.
  • Készíts egy "sys" könyvtárat a "..\GAPI for HPCs" könyvtárba így:
    "\ResidendtFlash\Program Files\GAPI for HPCs\sys"
  • Másold be a fent felsorolt négy fájlt így:

    "\ResidendtFlash\Program Files\GAPI for HPCs\sys\Windows\GX.DLL"
    "\ResidendtFlash\Program Files\GAPI for HPCs\sys\Windows\GX_HPC.ini"
    "\ResidendtFlash\Program Files\GAPI for HPCs\sys\Windows\WinCESoft GAPI for HPCs.unload"
    "\ResidendtFlash\Program Files\GAPI for HPCs\sys\Windows\AppMgr\WinCESoft GAPI for HPCs.DAT
    "
  • Készíts egy parancsikont a "GAPI.mscr" fájlról a "StartUp" könyvtáradba. Így minden soft reset után lefut a script, és bemásolja a hiányzó négy fájlt a reset során mindig törlésre kerülő rendszer mappákba. Amennyiben az általam közölt eljárás szerint módosítottad az alap Windows indító könyvtárat, akkor ide kell betenned a parancsikont:
    "\ResidentFlash\IPAQ\OS\WINDOWS\StartUp"
Ezután ha soft resetet nyomsz, és WinCE módban indítod a HP iPAQ 316-t, akkor boot során megjelenik egy zöld GAPI logó. Ez azt jelenti, hogy sikeres volt a telepítés. Minden alkalommal, mikor egy alkalmazás GAPI-t használna, az automatikusan betöltődik, amit a szokásos zöld logó jelez.


Amivel néztem már a GAPI-t
  • TCPMP: Megjelenik a video driverek között a GAPI is. A GDI-hez hasonló képességeket biztosít, 1-2%-kal rosszabb a benchmark sebességmérés eredménye. Felesleges használni vele, de tudj róla, hogy ott van. A szoftver benne van a Mexx csomagban.
  • MilkyTracker: A legendás zeneszerkesztő, tracker szoftver. A szoftver saját beállításaiban beállítható a dupla pixel nagyság, így teljes képernyős változatban ügyesen fut a cucc a GAPI-val.
  • Atomic Cannon: A PC-n futtatható PPC-s telepítőből kimásoltam a "C:\Program Files\Microsoft ActiveSync\Atimoc Cannon\" mappából a .cab fájlt, és azt telepítettem a PNA-ra. Teljes képernyős módban elindult, de nem nagyon játszottam vele.
Még új a történet, így nem nagyon tudok beszámolni hirtelen más szoftverekről, de várom a vállalkozó kedvű teszterek tapasztalatait!

Extra: DeviceInfo2

Azok, akik ROM-t fejlesztenek, örömüket lelhetik ebben a bekezdésben. Frank, a GAPI fejlesztője első körben elküldött egy speciális DeviceInfo szoftvert, ami az alábbi logot adta ki. Akinek kell a "DeviceInfo2_ATLAS.exe", innen letöltheti:

DeviceInfo2, v2.4, Nov 28 2008, 21:08:18
Platform: [Centrality Titan]
Version: 5.0, Build 0
OEM: [HP iPAQ 316 Travel Companion]
Devicetype: 0000h
Other Info: []
PlatformName: [Microsoft Windows CE Hardware Reference Platform]
Manufacturer: []
ProductID: 00000000
Platform ID: 00005048 19bf5000
CPU: a11h, Lev.4h, Rev.2h
CPUId: 4117b362h
Display: 800x480x16
Orientation: 0
FB v:3fef0000, p:00000000, size: 3072000
GX v:b4ff0000, p:3fef0000, res: 800x480, BPP: 16, Format: 160, Stride: 1600
Mem: 00000000
Memory: RAM:28476/67492, OS:6186/45496


Display Settings ###############


[Drivers\Display\AT_LCD1]
"PanelType"=dword:00000000
"RefreshRate"=dword:00000000
"regOSDPalMix3"=dword:00000004
"regOSDPalMix2"=dword:00000004
"regOSDPalMix1"=dword:00000004
"regOSDPalMix0"=dword:00000004
"regOSDPalRGB3"=dword:00ffffff
"regOSDPalRGB2"=dword:00000000
"regOSDPalRGB1"=dword:00ffffff
"regOSDPalRGB0"=dword:00000000
"regOSD3_FIFO"=dword:00204060
"regOSD2_CLRKEYS"=dword:00008008
"regOSD2_CLRKEYB"=dword:00008008
"regOSD2_SKIP"=dword:00000010
"regOSD2_FIFO_SUPPRESS"=dword:00000000
"regOSD2_FIFO"=dword:00204060
"regOSD2_VEND"=dword:00000028
"regOSD2_HEND"=dword:0000003b
"regOSD2_VSTART"=dword:00000008
"regOSD2_HSTART"=dword:0000001c
"regOSD_CLRKEYS"=dword:00008008
"regOSD_CLRKEYB"=dword:00008008
"regOSD_SKIP"=dword:00000010
"regOSD_FIFO_SUPPRESS"=dword:00000000
"regOSD_FIFO"=dword:00204060
"regOSD_VEND"=dword:00000000
"regOSD_HEND"=dword:00000000
"regOSD_VSTART"=dword:00000008
"regOSD_HSTART"=dword:0000001c
"regSCN_SKIP"=dword:00000010
"regSCN_FIFO_SUPPRESS"=dword:00000000
"regSCN_FIFO"=dword:00204060
"cpm_switch"=dword:00000003
"colorDepth"=dword:00000010
"bitMaskRed"=dword:0000f800
"bitMaskGreen"=dword:000007e0
"bitMaskBlue"=dword:0000001f
"CxScreen"=dword:00000320
"CyScreen"=dword:000001e0
"regHPSYNC"=dword:0000041f
"regHWSYNC"=dword:00000000
"regVPSYNC"=dword:0000020c
"regVWSYNC"=dword:00000800
"regTIMCTRL"=dword:000000f6
"regDispMode"=dword:00000068
"regSCN_HSTART"=dword:000000cf
"regSCN_VSTART"=dword:00000023
"regSCN_HEND"=dword:000003ee
"regSCN_VEND"=dword:00000202
"sizeVideoMemory"=dword:00600000
"VGA"=dword:00000000
"NTSC"=dword:00000000
"LCD"=dword:00000001
"HW2DSize"=dword:00000000
"CursorOn"=dword:00000000
"2DPower"=dword:00000001
"2DPowerCheckTime"=dword:000003e8
"IClass"="{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}"
"FillPath"=dword:00000001
"HW2D"=dword:00000001




GWE Settings ###################


[System\GDI\Rotation]


[System\GDI\SYSFNT]
"Ht"=dword:fffffff4
"Nm"="Tahoma"
"It"=dword:00000000
"Wt"=dword:00000190
"CS"=dword:00000000


[System\GDI\Drivers]
"MainDisplay"="DDI.DLL"
"DisplayPowerClass"="{EB91C7C9-8BF6-4a2d-9AB8-69724EED97D1}"


[System\GDI\Gamma]
"Gamma Value"=dword:000005dc
Kapcsolódó anyagom: