Welcome, Guest. Please login or register.


Author Topic: Wriggler javítása (Read 60813 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Wriggler javítása
« Reply #105 on: 2011.September.08. 12:07:21 »
Ha tehát szeretnénk egy olyan Wriggler-t, ahol minden kukac versenybe száll, akkor bizony teljesen új kódra van szükség. Ki kell cserélni az összes fázisuk grafikáját a 2 bites-re, amihez viszont egy rakás memóriára volna még szükség, mert a 64K-s gépben nincs elég hely erre.
Szerintem akkor ez majd a Wriggler 2 témája, és akkor eldõlt, hogy 128-as gép.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 10106
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Wriggler javítása
« Reply #106 on: 2011.September.08. 14:46:29 »
Hogy mik derülnek ki!
Szerintem is legyen 128-as a játék. Bár talán lehetne majd egy "lebutított", 64-es változatot is készíteni. Persze, mivel nem én készítem, mivel nem értek hozzá, könnyen beszélek. :D
Biztos érdekes dolgok derülnének ki, ha a többi gyári játékot is visszafejtenénk...
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Pgyuri

  • EP fan
  • *
  • Posts: 156
Re: Wriggler javítása
« Reply #107 on: 2011.September.08. 16:26:35 »
Üdv,

Gondoltam, írok még egy mesét, ha már Zozo szereti :)

****************

Az egész 1984-ben, a Wriggler tervezett kiadási határideje előtt egy héttel kezdődött ...

Ott ül Mr. Devonshire  színes TV-je és 64K-s Enterprise-ja előtt, elégedetten hintázva székében, bal kezében egy dobozos kólát szorongatva és büszkén szemléli hosszú-hosszú munkájának gyümölcsét. Újra és újra elindítja kedvenc kukac játékát, végignézi, amint az indítóbíró-bogár felemeli pisztolyát, elsüti és a dörrenésre megindult a verseny. Nincs itt semmi hiba, minden maga a tökély, az indítóbíró szépen tartja fenn pisztolyát, miközben az egyik kukac kiszalad a képernyőről.

Ekkor beviharzik a szobába Hernyó Jim és alig bírja kidadogni:

"Fi-fi-fi-figyeld cs-cs-cs-cs-csak, m-m-m-m-m-m- mit csináltam !" - és a kukaccal indulás rámászik szépen az indítóbíróra, aki - hát botcsinálta módon - de kitörlődik.

"ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ" - esik hanyatt programozó barátunk  :shock: - "Itt a kiadási határidő és csak most vesszük észre ?!?!?!?!?"

Kutatja a kódot, nézi balra-jobbra, de nincs nagyon hely a memóriában sehol. Mit is tehetne az idő szorításában - hiszen holnap már le kell adni másolásra programot. Éjszakába nyúlóan keresgélve végül talál egy megoldást ... nem a legjobb, de ha oda bóklászik a kukaccal, legalább az indítóbogár ott marad.   :twisted: ... csak hát éppen nem veszi észre, hogy a startlövés után ott marad a pisztoly a levegőben ... amit szipucsu szinte azonnal észrevesz ... és ami 27 évvel később sok gondot okoz  :roll:

Ha valaki nem hiszi, akkor írja csak be   >8FE9  00    és máris láthatja, hogy a történet igaz   (lenne, de persze, hogy kitalált. Már ZX-en is így, hibásan működik).

Pgyuri

ui: A lebegő pisztoly esetét jól kijavítani szintén nem az egyszerű POKE kategória, de megoldások mindig vannak. Számomra sokkal vonzóbb, ha a pisztoly fenn marad, de nem lehet a bíró képébe mászni :)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Wriggler javítása
« Reply #108 on: 2011.September.08. 17:23:03 »
Ha tehát szeretnénk egy olyan Wriggler-t, ahol minden kukac versenybe száll, akkor bizony teljesen új kódra van szükség. Ki kell cserélni az összes fázisuk grafikáját a 2 bites-re, amihez viszont egy rakás memóriára volna még szükség, mert a 64K-s gépben nincs elég hely erre.
Szép feladat.
Ilyet csináltam, mikor a spectrumos Head over Heels -et négyszínûvé varázsoltam.
Ott ráadásul a tükrözött (jobb-bal) kétszínû képelemekbõl (sprájtokból) is csak egyet tároltak, a tükrözést rotálással végezték futásidõben.
A négyszínû esetében meg a sima rotálás nem jó a tükrözéshez, bizony kellett egy kis ötletesség a gyors kódhoz.
Az attributum terület felszabadult, az attributum rutinok területe is, valamint az "agyament" címzésû spectrum pixel képterület helyett legalább a programozástechnikai szempontból egyszerûbb szekvenciális képkirakást lehetett alkalmazni. Én a kényelmesebb 128 kilós gépre írtam, de közel sem biztos, hogy megoldhatatlan belegyömöszölni a wrigglert 64 kilóba, hisz spectrumon mindössze 48 kiló van és mégis belefér kétszínûbe.
Köztudott, hogy valaha csodálatot váltott ki az, hogy mennyi helyiséget és grafikát tudott Bernie belegyömöszölni a 48 kilóba. Félelmetesen nagyszerû volt felfedezni azt a programozói zsenialitást, amivel a grafikák, sprájtok mozaikokban tárolt darabjaiból történõ képkirakást jellemezte.
(Én sem adtam alább  ;-)) Ha megnézitek a négyszínû átiratom sebessége is elfogadható. Kivéve, ha túl sok sprájt mozog egyidõben, de ez a spectrumosnál is ilyen.
A Renta kill Rita meg még kisebb területet használ a 48 kilóból, más és "primitívebb" kódú, ami látszik a nem egyenletes sebességû "egyszemélyes "sprájt mozgásokon, ami a szobák összeállításának problematikája, nem pedig a kép és sprájkirakó rutinoké. Ennek négyszínûsítése valamivel egyszerûbb volt.

Ebbõl adódik az ötlet. :idea:
A spectrumos kukacot is lehetne négyszínûsíteni, ha már a grafikus rutinokhoz úgyis hozzá kell nyúlni. Az biztos könnyebben beleférne majd a 64 kilóba.
« Last Edit: 2011.September.08. 17:27:09 by Attus »

Offline Ep128

  • EP addict
  • *
  • Posts: 1860
  • Country: hu
    • Honlapom
Re: Wriggler javítása
« Reply #109 on: 2011.September.08. 22:25:09 »
Szerintem nyugodtan "ereszd el Magad" és legyen 128 -as!  ;-)
(Utólag még mindig lehet "butítani" adott esetben, hogy fusson a 64 -en is.)

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Wriggler javítása
« Reply #110 on: 2011.September.09. 06:55:25 »
Szerintem nyugodtan "ereszd el Magad" és legyen 128 -as!  ;-)
(Utólag még mindig lehet "butítani" adott esetben, hogy fusson a 64 -en is.)
Szerintem is.

Offline Pgyuri

  • EP fan
  • *
  • Posts: 156
Re: Wriggler javítása
« Reply #111 on: 2011.September.09. 08:52:15 »
Üdv,

Hmmmm, nem is tudom, mit is csinálok :)  Öreg, rutinos, tapasztalt EP varázslók között próbálok valamit összehozni .... egy ZX-es .... juj :)

Még egy nappal később már egyértelműen látom, hogy a Wriggler esetében is az Attus által leírt módszert - valós idejű átalakítás, tükrözés - használták. Az tény, hogy ez jelentős memória-megtakarítással járt, de elképesztően lassú megoldás. Jó érezni, hogy az "öreg" Z80 micsoda teljesítményre képes. Mindenesetre a feladathoz igazított egyedi grafikai rész olyan jelentős gyorsulást eredményezne, ami mellé nemhogy 2 másik kukac beférne, de megszűnne jópár "döcögős" probléma is.

Viszont most le kell zárni az ezzel kapcsolatos töprengést, mert mindig ugyanoda kanyarodik vissza. Elkészítem a javító POKE-ok listáját, amellyekkel a tényleges hibák orvosolhatók, a többi jelzett "csúnyaság" csak a Wriggler 2-ből fog eltűnni.

Pgyuri

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: Wriggler javítása
« Reply #112 on: 2011.September.09. 09:14:05 »
Üdv,

... mivel a Wriggler 4 színű üzemmódban működik (1 pixel 2 bit), így memória-takarékossági okokból a monokróm (nem színes) sprite-okat csak 1 bites (1 pixel=1 bit) formában tárolták le, majd kiírásnál valós időben konvertálták át a megfelelő formára és írták ki. Döbbentes. Hogy miért ?

Ez érdekes :)
Az IK+-ban is gondolom memóriatakaréskosságból ( ne kelljen mind a 3 sprite fázisait eltárolni, csak 4 színben lettek eltárolva a mozgásfázisok egyszer(ráadásul, ha jól emléxem C64 fromátumban), és a kiírásnál alakítja át 16 szín módba a sprite-okat, ráadásul egyszerre 3 meganagyot, igaz két képernyővel dolgozik.)

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: Wriggler javítása
« Reply #113 on: 2011.September.09. 14:35:40 »
Ha már megvan a forrás, nem lenne egyszerűbb újrafordítható forrást előállítani, mint poke-olni? Ez még jól jöhet a Wriggler 2-höz is :)
Segítek szívesen a forrás újrafordíthatóvá alakításában.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Wriggler javítása
« Reply #114 on: 2011.September.09. 15:14:55 »
Ha már megvan a forrás, nem lenne egyszerûbb újrafordítható forrást elõállítani, mint poke-olni? Ez még jól jöhet a Wriggler 2-höz is :)
Segítek szívesen a forrás újrafordíthatóvá alakításában.
Támogatom az ötletet!
Ha EP-n fordíthatóvá tesszük, akkor még a 4 színû grafikát is szépen lehet berakni HEASS-ban.

Offline Attus

  • EP addict
  • *
  • Posts: 1225
  • Country: hu
Re: Wriggler javítása
« Reply #115 on: 2011.September.09. 21:22:28 »
Hmmmm, nem is tudom, mit is csinálok :)  Öreg, rutinos, tapasztalt EP varázslók között próbálok valamit összehozni .... egy ZX-es .... juj :)

Zavarba hozol minket, hisz pont tõletek, ZX varázslóktól is rengeteget tanultunk. Nekem mára csak szurkolásra futja a hajdani fiatalos energiámból, mostanában csak szurkolok és nosztalgiázom.  :oops:
És ugyancsak örülök az aktivitásodnak.  :)
Még egy nappal késõbb már egyértelmûen látom, hogy a Wriggler esetében is az Attus által leírt módszert - valós idejû átalakítás, tükrözés - használták. Az tény, hogy ez jelentõs memória-megtakarítással járt, de elképesztõen lassú megoldás.
Frappáns tilitoli kóddal csodákat lehet mûvelni. Félbájtos a négyszínûnél, célképmemóriát pörgetve, stb.
Oh.. Be gyönyörûek is tudnak lenni ezek a megoldások. :smt048
(Na elkapott a nosztalgia megint.   :smt053 )
Persze a kész letárolás a leggyorsabb.
Viszont most le kell zárni az ezzel kapcsolatos töprengést, mert mindig ugyanoda kanyarodik vissza. Elkészítem a javító POKE-ok listáját, amellyekkel a tényleges hibák orvosolhatók, a többi jelzett "csúnyaság" csak a Wriggler 2-bõl fog eltûnni.
Ha a kukac 1 forrása fordítható állapotban van, akkor a pókolás felesleges, a póklista alapján a forrásba kell nyúlni.
Lefordítani és kész a javított kukac 1.

A kukac 2 is ekkor már könnyen megalkotható a forrásból.

Szerintem ne pókolj, legfeljebb teszt gyanánt.

Offline vizor

  • EP fan
  • *
  • Posts: 238
  • Country: hu
Re: Wriggler javítása
« Reply #116 on: 2011.September.12. 12:06:57 »
Üdv!

Lehet, hülyeséget kérdezek, de ha az új verzióban a tárgyak "lassító" hatása ki lesz küszöbölve, akkor mi lesz a játékmenettel a "segítõ" hatásuk nélkül? Vagy az új verzió egyben könnyítve is lesz?  :oops: Például a túl sûrû vízcsepegés, stb.

Offline Pgyuri

  • EP fan
  • *
  • Posts: 156
Re: Wriggler javítása
« Reply #117 on: 2011.September.12. 13:34:25 »
Üdv,

Elkészült a topic-záró leírásom, köszönet szipucsu-nak, Zozo-nak és mindenki másnak. Összegyűjtöttem a listát a hibákról, amelyek valaha is előkerültek. Bár a forrás újrafordítható állapotban van, de a hibák jórésze alapműködésből fakad, így nem látom értelmét azok teljes átírásával és újrafordításával történő javításának. Maradjon meg a mi kis igazi Wriggler-ünk olyannak, amilyennek készítették.

Ha valaki hibamentesen szeretne játszani, íme:

:) Hibás pókok:

    >A681  80
    >A690  84

:) DIE képernyőbe kerülve gyakran lefagy a gép:

   Javítva, hibás pókok okozták.

:) Néha ott is nyitva vannak a falak, ahol nincs is út, és DIE képernyőbe kerülünk; máskor meg az egyetlen járható utat falak állják el:

   Javítva, hibás pókok okozták.

:) A Skeleton key-t tartalmazó képernyő után valahol az "expander" belemegy a "rúdba" és letöröl belőle:

   >A8C6  12
   >A8CD  10
   >A8F2  28

:) Álló platform hiba:

   >80C5  35

:) Kimaradó CONGRATULATION szöveg:

   >8BC2  16

:) Kimaradó helyezés szöveg:

   >8BA4  72
   >8BEB  09

:) A jobb és a bal hangcsatorna fel van cserélve;

   >ACA6  AC
   >ACAB  A8
   >AD03  AD
   >AD08  A9
   >AD4C  AE
   >AD51  AA
   >AD9C  AB
   >ADA1  AF

:) Az ENERGY felirat E betűjéből időnként eltűnik a bal alsó rész az energiacsíkok miatt:

   >A345  22

:oops: A Skeleton key-t tartalmazó képernyőn néha ott van egy extra life, ami, ha átmegyünk a szomszéd képernyőbe és vissza, eltűnik:

   Nem javítható, de nem hiba. Az az extra élet sírkővé válik, ha meghal a kukac, ezért tűnik el onnan.

:( Ha sírkövünket felvesszük és megint meghalunk, és letesszük a sírkövet, két sírkövünk lesz, viszont az egyik csak látszólag van ott: ha rámegyünk, letörlődik:

   Nem javítható, mivel a saját sírkő csak 1 lehet a játékban.

:( Ha egy "sütőtökös" rúd a plafonhoz nyomra a kukacot, átesik a rúdon, és letörli a vonalat (rudat), ami a tökfejet tartja:

   Nem javítható, a grafikai megoldás nincs felkészítve az egymást átfedő sprite-ok kezelésére.

:( A kastélyban az egyik mozgó űrhajó letörli az alatta lévő "csillagot":

   Nem javítható, az UFO-k mozgása nincs grafikailag felkészítve háttér előtti mozgásra.

:( Ha a Wrigglernek esés közben nekimegy az expander, akkor a Wriggler megakad és a levegőben mászkálhat.

   Nem javítható, mivel a kukac mozgása során csak bizonyos időnként ellenőrzi a talajt maga alatt.

:( Az óriás skorpió és a méhecske vibrál, és amikor tökfejes rúdon "liftezik" a Wriggler, akkor a Wriggler is vibrál. A kastélyban lévő liftnél ugyanez:

   Nem javítható, a lassú grafikai működésből adódik.

:( Ha egy tárgy ott van a képernyőn, lassítja az ellenfeleket, ami persze ki is használható, hogy kevesebb energiát veszítsünk. Különösen a csöpögő vízcseppnél figyelhető meg a lassulás:

   Nem javítható, a tárgyak kezelésében lévő programozási megoldás nem megfelelő.

:( Ha a kastélyban a liftben képernyőváltásnál a lefele gombot nyomjuk, átesünk a liften:

   Nem javítható.

:( "sütőtökös" rúd időzítés hiba:

   Nem javítható.

:( Ott maradó indítópisztoly:

   Nem javítható.

:( A menüben a színek nem állnak helyre, ha a kukac meghal egy olyan teremben, ahol a paletta eltérő színekre váltott.

   Nem javítható.


és köszönet mindenkinek a lelkesítésért, szép és érdekes feladat volt!  Találkozunk a Wriggler 2-ben!

Pgyuri

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: Wriggler javítása
« Reply #118 on: 2011.September.12. 14:22:33 »
és köszönet mindenkinek a lelkesítésért, szép és érdekes feladat volt!
Mi köszönjük az értékes nyomozást!

Quote
  Találkozunk a Wriggler 2-ben!
Elõtte azért még kérnék egy memória térképet az 1-eshez, a betöltés utáni állapotról, hogy csináljak egy normális betöltõt hozzá, mert ami most van eléggé "randa" programozásilag  :oops:
Az érdekelne, hogy mettõl-meddig van valójában használva a memória, ill. vannak-e olyan lukak amiket soha nem használ, vagy olyan terület amit késõbb inicializál, ezért felesleges betölteni.

Offline geco

  • EP addict
  • *
  • Posts: 7232
  • Country: hu
    • Támogató Támogató
Re: Wriggler javítása
« Reply #119 on: 2011.September.12. 15:25:36 »
Köszönjük szépen a javítást, és a fórumon közzétett infókat is :)
A forráskód is mellékelve lesz majd a memória dumphoz?