Co je to Elfpack?
Elfpack je soubor patchů přidávajících mobilu funkce, na které potom odkazují zkompilované binární soubory.
Laicky řečeno: Elfpack přidá vašemu telefonu operační systém
Co obsahuje ElfPack?
Správně má elfpack obsahovat ElfLoader, Big Function Library (Velké funkční knihovny) a SWI Library (běžně u EL) + složka ZBin (bývá přílohou každého EP).
Běžně se ještě doplňuje patchi API, Master Patch, Pictures Add-on, Function Library, Cutheap, APDCM a AudioHook.
Teorie složek v Elfpacku
- základní složka je 0:\ZBin
- konfigurační soubory se ukládají v ZBin\etc a mají příponu *.bcfg
- elfy spustitelné přímo po startu jsou ve složce Zbin\Daemons
- Elfpack dokáže nahrazovat obrázky stejně jako grafické patche - obrázek ve formátu PNG s názvem DEC číslo + přípona se nahraje do ZBin\img (123.png)
Jaké výhody přináší Elfpack uživateli?
- možnost spouštět části vlastního kódu
- změnit grafiku celého telefonu
- přidat telefonu nové funkce
- změnit vzhled mainscreenu (hlavní obrazovka s indikátory, hodinami apod.)
- asociovat soubory, které telefon s originálním FW nerozeznává
a jaké nevýhody...?
- občas se zasekne jako každý jiný OS
- v případě, že v BFL (velká knohovna funkcí) chybí funkce, tak způsobí zamrznutí
Co znamená elf?
Executable linking file (format)
= spustitelný odkazující soubor (formát)
Asociace souborů
- v souboru ZBin\etc\extension.cfg
- k správné funkčnosti (=zobrazení ikonek) je potřeba elf ExtD
- jsou dva typy formátů
- pro Elfpack 1.8++ a nižší:
ext:0:\ZBin\ nejaky_elf.elf
a je tu limit počtu asociací na max. 16* **
a čísla se zadávají v DEC
* existuje i verze extd podporující až 32 asociací, ale způsobí problémy s javou**
**na NewSGOLDu ani ELKA takovéto problémy nebyly - byly jen na SGOLDu
později přibyla možnost přiřadit i ikonky:
ext/malá/velkáIkonka:0:\cesta\k\elfu.elf
mp3/501/502:0:\Zbin\mp3\mp3.elf
- pro Elfpack 2.0 a vyšší:
[ext]
RUN=0:\ZBin\cesta\ k\elfu.elf
SMALL=0:\ZBin\img\ ext_small.png
BIG=0:\ZBin\img\ ext_big.png
ALRUN=0:\ZBin\cesta\ k\alternativnimu\elfu.elf*
* musí tuto možnost obsahovat i Váš Elfpack - u SGOLDu jsem to za celou dobu patchování měl jen 1x obsaženo v EP
- Váš elf ExtD musí podporovat ten či ten formát! jinak to nebude fungovat.
PNG obrázky
Od verze 2.0 podporuje EP obrázky formátu PNG. Ne každý elfpack zvládá PNG obrázky ve vyšším bitové hloubce než 8 bitů. Nyní podporuje 8 a 16 bitů.
U novějších (2.3) se dá nastavit defaultní bitová hloubka v ZBin\etc\ElfPack.bcfg. NewSGOLD a ELKA údajně zvládá i polotransparentní PNG (obrázek je průhledný jako celek, ne jen ořezání).
ElfPack vs. Elfloader
Jak jsem napsal již dříve, tak je mezi nimi rozdíl v tom, že Elfloader je pouze jednou ze součástí Elfpacku
Jaká je jeho aktuální verze?
Aktuální verze je 2.3
Jaké jsou její vylepšení oproti předchozí?
- asi největším vylepšením je podpora transparentnosti - barvy jsou zadávány v RGBA jako v Master Midletu
- a dalším výrazným vylepšením je u elfpacku v podání truhlika -
možnost přepínání mezi dvěma typy kódování - českého a ruského (vyžaduje však restart).
- dalším tentokrát již staronovým vylepšením je v případě SGOLDu a nepočeštěného
elfpacku možnost asociovat na alternativní elf pomocí ALTRUNu (u trulikova EP tato možnost chybí stejně jako je tomu u některých jiných EP).
Kódy kláves
Pro nastavování tlačítek pro chování elfů se většinou používají kódy kláves. Můžou být v HEX nebo DEC, to záleží na konkrétním elfu. Následující tabulka snad někomu pomůže (čísla jsou v HEX!):
0=0x30
1=0x31
2=0x32
3=0x33
4=0x34
5=0x35
6=0x36
7=0x37
8=0x38
9=0x39
*=0x2a
#=0x23
leftsk=1
rightsk=4
redkey=0xC
greenkey=0xB
joyup=0x3B
joydn=0x3C
joyleft=0x3D
joyright=0x3E
joyclick=0x1A
provkey=0x11
sideup=0xD
sidedn=0xE
dicta=6
Čísla se zadávají bez
0x! A jsou-li potřeba v DEC, tak je potřeba je dopočítat.
Nastavení barev v elfech
Pro některé starší elfy je potřeba nastavit barvu pomocí čísla (Textinfo...). U novějších elfu to už obstarává RGB rozhraní včetně alfakanálu.
0x0 = bílá
0x1 = černá
0x2 = červená
0x3 = modrá
0x4 = zelená
0x5 = fialová
0x6 = tyrkysová
0x7 = žlutá
0x8 = růžová
0x9 = světle modrá
0xc = tyrkysová
0xf = tmavě modrá
Nejznámější elfy
X-Task
- Správce úloh jako ten ve Windows
TED & EDIT
MP3 player
- MP3 přehrávač pro mobily bez podpory mp3ek
Svátky
- Zobrazení aktuálního svátku na mainscreenu
Emulátory
- emulace her pro GameBoy, GameBoy Color, GameBoy Advance, ZX Spectrum, GameGear, SEGA, Nintendo...
Proč mi mobil PXuje, když spustím elf XYZ?
Může to být jedním z těchto důvodů:
- nemáte dost volné RAM
- nemáte některou z požadovaných funkcí v BFL
- není určen pro Váš Elfpack/platformu
- špatné nastavení v bcfg souboru (např. adresa funkce, cesta k souboru/adresáři...)
- elf Vám odkazuje na neexistující disk (částý PX u CX70 bez paměťové karty)