![]() Jan Tleskac Od 26.07.2000 20:39 |
|
|
|
| MAME - Hiscore |
HISCORE.DAT obsahuje informace pro ukládání a nahrávání dat s HiScore (nejlepšími výsledky). Soustředí se na hry, které neměly tuto funkci v originále. Použití je velmi jednouduché. Rozbalte archiv HSDATxx.ZIP do stejného adresáře, jako je MAME.EXE. Poslední verze HISCORE.DAT byla vydána 10. června 2000.
| Název souboru | Velikost v kB | Popis |
| hsdat6.zip | 19 kB | HISCORE.DAT soubor verze 6.0 pro MAME. Podporuje 989 her. Vydán 26. prosince 2000. |
| hsdat5.zip | 18 kB | HISCORE.DAT soubor verze 5.0 pro MAME. Podporuje 910 her. Vydán 25. září 2000. |
| hsdat4.zip | 11 kB | HISCORE.DAT soubor verze 4.0 pro MAME. Podporuje 567 her. Vydán 10. června 2000. |
| hsdat3.zip | 10 kB | HISCORE.DAT soubor verze 3.0 pro MAME. Podporuje 477 her. Vydán 23. dubna 2000. |
| hsdat25.zip | 5 kB | HISCORE.DAT soubor verze 2.5 pro MAME. Podporuje 244 her. Vydán 27. března 2000. |
| hsdat2.zip | 3 kB | HISCORE.DAT soubor verze 2.0 pro MAME. Podporuje 167 her. Vydán 16. března 2000. |
| hsdat1.zip | 2 kB | HISCORE.DAT soubor verze 1.0 pro MAME. Podporuje 102 her. Vydán 28. února 2000. |
Tento vynikající popis byl vytvořen osobou se "jménem" HobbesAtPlay.
První věc. Je-li podpora ukládání hiscore pro danou hru, vytvoří se soubor názevhry.hi v adresáři určeném řádkem hi= ... v MAME.CFG. Například mappy je podporováno. Pro normální nastavení adresáře pro hiscore najdete soubor MAPPY.HI v aresáři HI\.
A nyní k popisu formátu souboru HISCORE.DAT. Na následujících řádcích je detailně popsáno, co v jednom řádku znamenají všechny hodnoty. Formát záznamu je následující :
GameName: CPU:Address:Size:Value1:Value2
GameName : Jméno hry, která používá tento záznam. Jeden záznam může používat více her najednou.
CPU : Ppoisuje, v paměti kterého procesoru se data nacházejí.
Adress : Adresa oblasti paměti, kde se nacházejí data s HiScore. Adres je zadána šestnáctkové soustavě (hexadecimalní). Obvykla je to adresa s tabulkou hiscore, daty pro nejlepší výsledek a adresa do videopaměti, pro aktualizaci zobrazení HiScore.
Size : Velikost oblasti paměti, kde se nacházejí data s HiScore. (hexadecimálně)
Value1 : Hodnota prvního byte/wordu oblasti, na kterou se čeká před uložením nebo nahráním HiScore do paměti. (hexadecimálně)
Value2 : Hodnota posledního byte/word oblasti, na kterou se čeká před uložením nebo nahráním HiScore do paměti. (hexadecimálně)
A nyní příklad. Použijme hru mappy pro jednoduchost záznamu.
mappy: mappyjp: 0:1460:28:00:41 0:1385:3:00:00 0:07ed:7:00:20
První dva řádky jsou názvy her, které tento záznam používají. Obě dvě, mappy a japonská verze mappy, používají stejný záznam.
Třetí řádek je následující
0:1460:28:00:41
Pracuj v paměti procesoru CPU#0, čekej dokud se adresa 1460 nerovná 00 a adresa 1487 (1460+28-1)
se nerovná 41. Tady se nachází tabulka s daty HiScore.
Čtvrtý řádek je následující
0:1385:3:00:00
Pracuj v paměti procesoru CPU#0, čekej dokud adresa se 1385 nerovná 00 a adresa 1387 (1385+3-1)
se nerovná 00. Tady se nachází nejlepší dosažený výsledek.
Pátý řádek je následující
0:07ed:7:00:20
Pracuj v paměti procesoru CPU#0, čekej dokud adresa se 07ed nerovná 00 a adresa 07f3 (07ed+7-1)
se nerovná 20. Jedná se o nejlepší dosažený výsledek kódovaný do obrazovkové paměti. Tento
záznam zajistí správné zobrazení nejlepšího výsledku po nahrání.
K vytvoření souboru dojde pouze tehdy, pokud je splněno všech šest podmínek uvedených výše. Je to nezbytně důležité pro bezpečné nahrání tabulky s HiScore. V případě, že tabulku nahrajete příliš brzy, mohou být data, která nahrajete přepsána například self-testem. Je také důležité vědět, že pokud nemůže nastat splnění všech podmínek, po ukončení MAME se nikdy soubor *.HI nevytvoří.
Obvyklá cesta, jak najít oblasti paměti s těmito daty, je zkompilovat si vlastní verzi s povoleným debuggerem. Povolit v MAME.CFG "debug=yes". Pak spustit emulaci a počkat na stabilní stav. Potom hledat v paměti oblasti s daty pro hiscore.
Další cestou je podívat se do starších zdrojáků od MAME, kde podpora ukládání hiscore byla implementována. Někdy vás to dovede přímo k oblastem paměti s daty.
Nové soubory *.HI se mohou trochu lišit od starších, protože vše co se dříve ukládalo byla pouze tabulka s hiscore. Nejlepší výsledek a obrazová data se zapisovali přes speciální funkce. Nyní například v MAPPY jsou potřeba troje data. Tento stručný popis vám snad pomůže přenést vaše staré HI soubory do nového formátu.
| MAME - Hiscore |