Premium

Získejte všechny články
jen za 89 Kč/měsíc

Jak zjistit typ procesoru a jiná nastavení

Jak zjistit typ procesoru, počítače, verzi paměti ROM a další systémové vlastnosti?

Každý programátor aplikací pro PalmOS se někdy při své práci dostane do situace, kdy potřebuje ve své aplikaci zjistit něco o počítači, na kterém je aplikace spuštěna. Důvodem mohou být odlišné vlastnosti jednotlivých verzí operačního systému nebo snaha komunikovat s uživatelem v jazyce, který je nastaven jako standardní v paměti ROM. Jak tyto vlastnosti počítače zjistit?

Systémové vlastnosti

Operační systém PalmOS spravuje tabulku systémových vlastností. Z této tabulky můžeme zjistit všechny charakteristiky počítače, na kterém je aplikace spuštěna - od typu procesoru a verze operačního systému až po výrobce počítače a displeje. Součást operačního systému PalmOS, která tabulku systémových vlastností spravuje, se jmenuje manažer vlastností.

Vlastnost je 32-bitové číslo, které popisuje nějakou součást vašeho počítače nebo operačního systému, která je důležitá pro jiné programy. Vlastnost je charakterizována jednoznačnou identifikací tvůrce (anglicky Creator ID, 32-bitová konstanta vyjadřovaná často jako 4 písmena) a svým 16-bitovým číslem.

Libovolná aplikace může vlastnost publikovat (přidat do tabulky vlastností) a tak sdělit ostatním aplikacím, že mohou využívat zvláštní služby této aplikace. Některé vlastnosti však publikuje sám operační systém (jejich jednoznačná identifikace tvůrce má hodnotu sysFtrCreator) a tyto vlastnosti jsou nejzajímavější.

Vlastnost zjišťujeme voláním funkce FtrGet(), která je definována v souboru Features.h takto:

Err FtrGet(UInt32 creator, UInt16 featureNum, UInt32 *valueP)

Funkce FtrGet() vrací hodnotu 0, pokud byla vlastnost úspěšně vyzvednuta, nebo hodnotu ftrErrNoSuchFeature v případě neúspěchu.

Zjišťujeme-li systémové vlastnosti, předáme jako parametr creator hodnotu sysFtrCreator a na místě parametru featureNum hodnotu z následující tabulky (tabulka bude pokračovat v dalším článku):

Číslo systémové vlastnostiPopis
sysFtrNumROMVersion
(od verze 1.0)

Verze operačního systému

32bitové číslo popisující verzi operačního systému v paměti ROM ve tvaru 0xMMmmfsbbb, kde

  • MM je hlavní číslo verze (číslo před tečkou 1 až 4)
  • mm je vedlejší číslo verze (číslo za tečkou)
  • f odlišuje verze, ve kterých byly opraveny známé chyby
  • s označuje typ operačního systému (0 = vývojový, 1 = alfa, 2 = beta, 3 = distribuovaná verze)
  • bbb označuje číslo překladu této verze (má význam pouze pro vývojáře PalmOS)

Pro práci s touto hodnotou je v hlavičkovém souboru SystemMgr.h definováno několik maker, která usnadňují využívání této hodnoty. Všechna tato makra přebírají parametr, kterým je hodnota této systémové vlastnosti.

MakroVýznam
sysGetROMVerMajor(dwROMVer)
Vrací hlavní verzi operačního sytému.
sysGetROMVerMinor(dwROMVer)
Vrací vedlejší verzi operačního sytému.
sysGetROMVerFix(dwROMVer)
Vrací pořadové číslo opravy chyb operačního systému.
sysGetROMVerStage(dwROMVer)
Vrací typ operačního sytému:
  • sysROMStageDevelopment
  • sysROMStageAlpha
  • sysROMStageBeta
  • sysROMStageRelease
sysGetROMVerBuild(dwROMVer)
Vrací pořadové číslo překladu této verze operačního systému.

Podobně můžeme využít i makro sysMakeROMVersion(), kterému předáme požadované hodnoty hlavní a vedlejší verze operačního systému. Makro vrátí 32-bitovou hodnotu, popisující požadovanou verzi. Definice makra je:

sysMakeROMVersion(major, minor, fix, stage, buildNum)

Testovat, zda operační systém, ve kterém uživatel spouští naši aplikaci, můžeme takto:

UInt32 verze;
FtrGet(sysFtrCreator, sysFtrNumROMVersion, &verze);
if(verze < sysMakeROMVersion(2, 0, 0, 0, 0))
{
    ErrFatalDisplay("Aplikace potřebuje verzi PalmOS >= 2.0); 
}

nebo takto:

UInt32 verze;
FtrGet(sysFtrCreator, sysFtrNumROMVersion, &verze);
if(sysGetROMVerMajor(verze) < 2 )
{
    ErrFatalDisplay("Aplikace potřebuje verzi PalmOS >= 2.0); 
}
sysFtrNumProcessorID
(od verze 2.0)

Typ procesoru

Prvním procesorem, který byl montován do počítačů Palm Pilot, byl typ MOTOROLA MC68328: člen úspěšné rodiny procesorů MC68000, která oživuje počítače Apple Macintosh (a historicky Atari ST, Commodore Amiga a další). Později byly počítače Palm Pilot osazovány novějším procesorem MOTOROLA MC68EZ328. Dnes již vývojáři společnosti 3Com, Inc. vážně uvažují o tom, že by v počítačích Palm Pilot byl pro zvýšení výkonu instalován některý z procesorů typu RISC, který by pro starší aplikace emuloval chování původních procesorů od Motoroly.

Mezi oběma typy procesorů, které jsou instalovány v počítačích Palm Pilot a kompatibilních, jsou drobné odlišnosti, které se týkají zejména vnitřní architektury a některých hardwarových registrů. Pokud tedy píšete program, který využívá registry procesoru (technika nedoporučovaná vývojáři PalmOS, ale nezbytná například ke grafice ve stupních šedi, přehrávání WAV souborů nebo ovládání jednoduchého hardwaru), potřebujete znát, který procesor je v počítači instalován.

Tato vlastnost zjišťuje typ procesoru, který je přítomen v počítači Palm Pilot nebo kompatibilním. Vrácená hodnota je 32-bitové číslo ve tvaru 0xMMMMrrrr, kde:

  • MMMM je číslo, odpovídající modelu procesoru, uvedené v následující tabulce.
  • rrrr je číslo revize
KonstantaModel procesoru
sysFtrNumProcessor328Motorola 68328 (Dragonball)
sysFtrNumProcessorEZMotorola 68EZ328 (Dragonball EZ)

Pro zjištění typu procesoru se používá konstanta sysFtrNumProcessorMask, která slouží k oddělení bitů popisujících typ procesoru. Použití je následující:

Boolean ProcesorJeMC68EZ328()
{
    UInt32 typ;
    Err chyba;
	
    chyba = FtrGet(sysFtrCreator, sysFtrNumProcessorID, &typ);
	
    if(chyba)
    {
        return false;
    }
    else
    {
        return (typ & sysFtrNumProcessorMask) == sysFtrNumProcessorEZ;   
    }
}

Ve starších verzích PalmOS (1.0) nebyla tato systémová vlastnost definována. To nám ale nevadí, protože všechny počítače Palm Pilot, na kterých běží operační systém PalmOS 1.0, používají starší typ procesorů MC68328.

sysFtrNumBacklight
(od verze 1.0)

Podsvícení

32bitová hodnota, která je vrácena po dotazu na tuto vlastnost, nás informuje ve svém nejnižším bitu o tom, zda je v tomto modelu Palm Pilota nebo kompatibilního počítače možné používat podsvícení displeje.

 

V příštím díle budeme pokračovat v tabulce s popisem vlastností systému a s příklady jejich použití. Zatím si uvedeme krátký program, včetně zdrojových textů, který po spuštění dotekem na ikoně zjistí typ procesoru instalovaného ve vašem počítači. Program je ke stažení zde.

Autor:
  • Nejčtenější

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Pošlete sportovní fotku a vyhrajte smartphone nebo dres Patrika Schicka

8. dubna 2024,  aktualizováno  18.4 13:04

Zachyťte na fotografii sportovní moment a vyhrajte úplnou novinku, smartphone vivo V40 SE s bohatou...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

Toto mohl být nevídaný smartphone. Myšlenku však nakonec poslali k vodě

25. dubna 2024

S takovým smartphonem bychom už nikdy nemuseli řešit, že se zpomaluje, nemá dostatek paměti či je...

Samsung má povedenou stylovku. Zkusí to s ní na trhu, kde se mu nedaří

24. dubna 2024

Samsung po velmi dlouhé době oprášil modelovou řadu Galaxy C a představil stylový smartphone se...

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Samoživitelka skončila v nemocnici a čtvrt roku nemohla pracovat
Samoživitelka skončila v nemocnici a čtvrt roku nemohla pracovat

Téměř deset miliard korun – tolik jen za loňský rok poslaly pojišťovny lidem za úrazy, závažná onemocnění či úmrtí. Životní pojištění pomohlo za...

Manželé Babišovi se rozcházejí, přejí si zachovat rodinnou harmonii

Podnikatel, předseda ANO a bývalý premiér Andrej Babiš (69) s manželkou Monikou (49) v pátek oznámili, že se...

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...