OldComp.cz http://oldcomp.cz/ |
|
Deimos http://oldcomp.cz/viewtopic.php?f=23&t=1142 |
Stránka 1 z 4 |
Autor: | Solaris104 [ 02.03.2014, 10:49 ] |
Předmět příspěvku: | Deimos |
Deimos je moc pěkná hra na Atari. Bohužel se mi nepodařilo ji dohrát, což mě hrozně irituje. Dostanu se až ke kalichu, ale nejde ho sebrat. Fandal z kódu vyčetl, že se musí splnit ještě nějaká podmínka. Bohužel originální přebal hry nic neprozradil. [youtube]https://www.youtube.com/watch?v=PG4I-yJz8LM[/youtube] Mapa hry je zde: http://mapy.atari8.info/deimos.php Různé verze hry Deimos zde: http://www.atarionline.pl/v01/index.php ... mos#Deimos Ve verzi Deimos (v3).xex se lze podívat na závěrečnou gratulaci. |
Autor: | Poison [ 04.03.2014, 09:08 ] |
Předmět příspěvku: | Re: Deimos |
sice ti nepomůžu, ale v devadesátejch jsme s kámošem tuhle hru málem dohrály taky:) Kreslili jsme si i vlastní mapu, ale ten kalich sme nesebrali taky. To jen, že vyjadřuji spoluúčast:) |
Autor: | ctirad [ 04.03.2014, 15:34 ] |
Předmět příspěvku: | Re: Deimos |
Mě tam zaujala hudba. Jsou tam minimálně dva samplovací kanály a to i během hry, což nebývá zvykem. Navíc ty samply zní nadstandardně čistě. To je nějaký standardní formát/editor nebo něco napsaného na míru? |
Autor: | PG [ 19.03.2014, 13:29 ] |
Předmět příspěvku: | Re: Deimos |
ctirad píše: Mě tam zaujala hudba. Jsou tam minimálně dva samplovací kanály a to i během hry, což nebývá zvykem. Navíc ty samply zní nadstandardně čistě. To je nějaký standardní formát/editor nebo něco napsaného na míru? To nejsou samply ani v jednom případě. To jenom POKEY umí některé fakt pěkné bicí Podobně jsou vytvořené i ve hře Rebound, je na ně ale potřeba 2 kanály. |
Autor: | ctirad [ 19.03.2014, 13:55 ] |
Předmět příspěvku: | Re: Deimos |
Fakt? Jinde se zase domnívali, že jde o MPT tracker, který má 2 pokey hlasy a zbylé dva na samply. A kormě toho jestli to zabere dva kanály, tak já tam slyším všechny 4, jsou tam bicí, bas, rozložený akord a hlavní melodie. Schválně si to stáhnu z ASMA a kouknu se jestli jsou tam nějaké samply. |
Autor: | Lukaso [ 27.11.2016, 16:31 ] |
Předmět příspěvku: | Re: Deimos |
solaris104 píše: Deimos je moc pěkná hra na Atari. Bohužel se mi nepodařilo ji dohrát, což mě hrozně irituje. Dostanu se až ke kalichu, ale nejde ho sebrat. Fandal z kódu vyčetl, že se musí splnit ještě nějaká podmínka. Bohužel originální přebal hry nic neprozradil. Hru jsem projel k poháru v několika verzích a nikde nejde sebrat. Mě napadlo, že podmínka pro sebrání poháru by mohla být nějakým způsobem provázaná s počítačem na začátku hry, ten jediný mi tam nesedí - prostředí středověku, hrad, meče, lebky a najednou jediný počítač v jediné lokaci? Divné, viz obrázek s místem kde se nachází: Zkusím bádat dál. |
Autor: | Lukaso [ 29.11.2016, 16:23 ] |
Předmět příspěvku: | Re: Deimos |
Tak jsem hru několikrát prošel a na to co kde případně aktivovat pro sebrání poháru jsem bohužel nepřišel. Povrtal jsem se tedy trošku v kódu hry a zjistil, že skok na obrazovku gratulace se nachází na adrese 82DF, odskokem JMP $BA0F. Tento odskok je vázán na proměnnou $EF, jejíž hodnota se nachází na adrese 00EF. Pokud je tam vyplněna jiná hodnota než 0 tak se obrazovka gratulace spustí. Pro otestování jsem vyměnil proměnnou $EF za proměnnou $EC, která slouží pro životy a po jejich vyčerpání se skutečně dostaneme na obrazovku gratulace. Stejně tak v případě výměny odskoku $BA00 (odskok na obrazovku game over) za $BA0F. Co však je potřeba ve hře udělat pro změnu proměnné $EF jsem nezjistil. S proměnnou by měly hýbat příkazy STA $EF na adresách D8AB a DD44 ale jakým způsobem netuším, tak dobrý programátor nejsem, avšak pro takového Fandala by to mohla být hračka. Zkusím nad tím ještě bádat, z laického pohledu mě napadá, že se někde ve hře asi nachází nějaké značky či symboly, které budou s danou aktivací proměnné asi souviset. Usuzuji z názvu proměnné, která má "přídomek" (nebo jak se tomu nadává) $EF ;ESIGN. Obdobný přídomek má i proměnná $EE ;NSIGN ale její funkci jsem zatím neidentifikoval. Jak říkám, v oblasti programovacích jazyků jsem hodně velký laik. |
Autor: | rEVERz [ 29.11.2016, 18:23 ] |
Předmět příspěvku: | Re: Deimos |
Kdysi jsem to pojal jako výzvu a taky bádal. Toto jsem vyhrabal z mého email arc.: Při detekci kolize z objekty se vybírají vektory z adresy 9773h. Při kolizi s pohárem se skáče na (9773h+52h), cože je adresa 9837h. Tam se kontroluje obsah adresy D1h a pokud je roven 3 skočí se na gratulaci. Bohužel jsem nenašel kdy a proč se na D1h ukládá. Jediné na 9652h kde se "ORuje" 2. Ale proč netuším. |
Autor: | Lukaso [ 29.11.2016, 19:16 ] |
Předmět příspěvku: | Re: Deimos |
Ano, podmínku pro možnost sebrání poháru jsem taky už našel, na adrese 9837 je proměnná #$03, jejíž hodnota je odečítána příkazem CMP $D1. To znamená, že je potřeba udělat či sebrat 3 věci, aby se pohár dal sebrat. Podmínku $D1 jsem zatím nedohledal. Pokud proměnnou #$03 nahradíme proměnnou #$00 tak se pohár dá vzít a je tu gratulace. Divná je však jedna věc. Je možné, že to je chyba v kódu hry od samého počátku a nic se dělat/sbírat nemá. Když totiž proměnnou změním na nulu a hru dokončím, po okamžitém startu nové hry se proměnná nevrátí na hodnotu 3, což by logicky měla (jako "splň 3 věci a můžeš sebrat pohár"), ale zůstane na hodnotě 0. Což svým způsobem znamená - dokončím hru kdy seberu pohár po splnění podmínky 3 věcí, začnu novou hru a už můžu pohár sebrat hned bez plnění podmínky 3 věcí. Logicky by se podmínka měla defaultně anulovat stejně jako například v počtech životů apod. Co se má však sebrat či udělat za 3 věci je mi zatím stále záhadou... |
Autor: | Fandal [ 29.11.2016, 19:19 ] |
Předmět příspěvku: | Re: Deimos |
Tak jsem si právě udělal v rychlosti zdroják od té hry a koukám, že adresa $00D1 se na hodnotu #$03, nutnou k nahození gratulace, dá dostat. Jednou se ORuje #$01 a na jiném místě se ORuje #$02. Ale jako fakt nemám sílu tu hru procházet, to musí jiní, např. Lukaso. Já bych začal takto. Pokud máte pozice ze hry uložené v emulátoru, mrkněte na stav při příchodu k poháru, zda je adresa $00D1 alespoň nenulová. V takovém případě se alespoň jednu ze dvou nutných podmínek podařilo splnit. Během hry bych pak přes breakpointy hlídal, zda se program dostal na adresy $940C (ORA #$01) nebo $9652 (ORA #$02), aby se konečně zjistila alespoň jedna z těch nutných podmínek. Pak nás to třeba někam posune. F. |
Autor: | Lukaso [ 29.11.2016, 19:28 ] |
Předmět příspěvku: | Re: Deimos |
Fandal píše: Tak jsem si právě udělal v rychlosti zdroják od té hry a koukám, že adresa $00D1 se na hodnotu #$03, nutnou k nahození gratulace, dá dostat. Jednou se ORuje #$01 a na jiném místě se ORuje #$02. Ale jako fakt nemám sílu tu hru procházet, to musí jiní, např. Lukaso. Já bych začal takto. Pokud máte pozice ze hry uložené v emulátoru, mrkněte na stav při příchodu k poháru, zda je adresa $00D1 alespoň nenulová. V takovém případě se alespoň jednu ze dvou nutných podmínek podařilo splnit. Během hry bych pak přes breakpointy hlídal, zda se program dostal na adresy $940C (ORA #$01) nebo $9652 (ORA #$02), aby se konečně zjistila alespoň jedna z těch nutných podmínek. Pak nás to třeba někam posune. F. Adresa 00D1 po celou dobu hraní až k poháru byla nulová, zkusím hlídat ty dvě adresy přes breaky, snad najdu tu "správnou" obrazovku kde se na ně skáče. Každopádně díky za tip. |
Autor: | Fandal [ 29.11.2016, 19:45 ] |
Předmět příspěvku: | Re: Deimos |
Lukaso píše: Adresa 00D1 po celou dobu hraní až k poháru byla nulová, zkusím hlídat ty dvě adresy přes breaky, snad najdu tu "správnou" obrazovku kde se na ně skáče. Každopádně díky za tip. V případě, že $00D1 je nulová, tak nemá smysl ty dvě adresy hlídat. Je jasné, že se tam kód nikdy nedostal. Spíš bych hlídal např. $93F4, která předchází ORA #$01. ORA #$02 je zajímavější. Tam je testuje mrak věcí a mě napadá, jestli to nemá co do činění s tím computerem. Můžete sem někdo plácnout stav emulátoru u toho compu? Nejlépe v Atari800Win PLus 4.0, protože Altirru já nerad. F. |
Autor: | Lukaso [ 29.11.2016, 20:02 ] | ||
Předmět příspěvku: | Re: Deimos | ||
Fandal píše: V případě, že $00D1 je nulová, tak nemá smysl ty dvě adresy hlídat. Je jasné, že se tam kód nikdy nedostal. Spíš bych hlídal např. $93F4, která předchází ORA #$01. ORA #$02 je zajímavější. Tam je testuje mrak věcí a mě napadá, jestli to nemá co do činění s tím computerem. Můžete sem někdo plácnout stav emulátoru u toho compu? Nejlépe v Atari800Win PLus 4.0, protože Altirru já nerad. F. Stav kdy jsem se dostal k poháru a pak vrátil ke computeru je zde.
|
Autor: | Fandal [ 29.11.2016, 20:47 ] |
Předmět příspěvku: | Re: Deimos |
Tak bohužel s compem to ORA #$02 nesouvisí. Nyní bych tedy kromě adresy $93F4 testoval též skok na adresu $95FB, což by mělo předcházet tomu ORA #$02. Plus tu mám další hádanku. V kódu jsem našel jakýsi cheat. Z klávesnice je třeba naklapat "gdzie leziesz?", obrazovka krátce zeleně blikne a adresa $8269 se nahodí na #$01. Význam této akce ovšem nechápu. F. |
Autor: | baktra [ 29.11.2016, 21:04 ] |
Předmět příspěvku: | Re: Deimos |
Fandal píše: Tak bohužel s compem to ORA #$02 nesouvisí. Nyní bych tedy kromě adresy $93F4 testoval též skok na adresu $95FB, což by mělo předcházet tomu ORA #$02. Plus tu mám další hádanku. V kódu jsem našel jakýsi cheat. Z klávesnice je třeba naklapat "gdzie leziesz?", obrazovka krátce zeleně blikne a adresa $8269 se nahodí na #$01. Význam této akce ovšem nechápu. F. Po zadání kódu přestanou ubývat životy - je to tedy heslo na nesmrtelnost. |
Stránka 1 z 4 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |