ENTERPRISE KLUB
2021. október 2., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Belépés kizárólag klubtagok részére! (Klubkártyával vagy előfizetéssel!)
Welcome, Guest. Please login or register.


Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - geco

Pages: 1 ... 352 353 354 355 356 357 358 [359] 360 361 362 363 364 365 366 ... 404
5371
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 20:09:34 »
Nekem nem zúg :eek: Igaz, csak a javított, és az eredeti Coorsore-féle átiratot tudtam tesztelni, mert az első Geco átirat már nincs meg. De az eredeti átirat szintén tartalmazta az A8h portra megszakításból történő 00h írást.

Az már nekem sincs :D, viszont csak annyi volt az eltérés hogy a JP 600Dh előtt a következő két utasítás szerepelt:
Code: [Select]
                ld      a,08h
                out     (0a7h),a

5372
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 17:57:00 »
Itt megtalálható,a Highway forráskódja, nem tudom, mennyire aktuális.
Van ettől újabb verzió, amiben átmásolja magát a betöltő az FF szegmensre, ha EP64-en fut, lehet nem is letöltöttem, hanem disassembláltam, és a highway forráskódjával összedolgozva nyertem ki :?:

5373
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 14:46:59 »
A 006Fh címen mi van ? Az tulajdonképpen nem feltétlenül probléma az RST 28H-nál, ha a 0000h-001Fh felülíródik, csak akkor nem működik az eredeti -lz formátumhoz készült betöltő, hanem -lz2 formátumot (lassabb, de valamivel hatékonyabb tömörítés) vagy "kompatibilitási" -lz betöltőt (valamivel lassabb) kell használni.
Most jöttem rá, hogy tulajdonképpen semmit :D, az eredeti betöltőben benne volt, azt gondoltam, hogy valahol használja, ki is vettem
A Zozosoft féle Spectrum átirat betöltő aktuális forráskódja hol található ?
Nem tudom, lehet a Spectrum programok átírása topicban tette közzé, mostmár beletettem a betöltő forrását a ZIP fájlba, és csatolom azt a forrást, amit találtam, és a legkevesebb módosítással rendelkezik.
-lz/-m3 betöltéshez talán hasznos lehet ez a file olvasással egybeépített rutin (híváskor az A regiszterben kell megadni a csatornaszámot, a DE-ben pedig a kezdőcímet - a méretet a file-ból olvassa; visszatéréskor az AF az EXOS hívásokhoz hasonlóan állítódik (azaz Z=0: hiba)):
Köszönöm szépen a forrást, be is illesztettem a betöltőbe.
Közben rájöttem, hogy Nyuzgának miért nem ment a töltés, az én hibám  :oops:, csak örökéletes módban nem megy, és akkor se mindig, az volt a baj, hogy a World of Spectrumon közölt cheat-et használtam, és láttam is, hogy az lézer, és az ököl végtelenítésénél egy ld (xxxxh),a utasítás volt, aminek csak a HI byte-ját nullázzák, így Spectrumon 0033h-ra, és 0034h-ra írják ki az A regiszter értékét, ami ugye ROM, jól át is gondoltam, én nem használom azt a címet, nem fogom mindkettőt lenullázni, én nem is, de az EXOS igen  :ds_icon_cheesygrin:.
Kijavítottam ezt a hibát is, ja és a Spectrum karakterkészlet is be lett csomva, mostmár a "dtf -xr -lz"-vel kicsomagolhatók a file-ok.
Hammerfist újralőve (sokadszor :D )

5374
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 13:16:44 »
A karakterkészlet mérete is csökkenne, 768-ról 444 byte-ra :) Ezen kívül, ha a karakterkészlet tömörített, akkor a HAMEFIST.PRG létrehozható illetve kicsomagolható egyszerű "dtf -cr -lz" és "dtf -xr -lz" parancsokkal. A betöltéshez lehetne használni RST 28H-t is (akkor még a START is tömörített, és kevesebb/egyszerűbb kódot kell írni), de a START felülírná a betöltő egy részét a 0. lap elején (nem tudom, hogy a felülírt területet (RST rutinokat) a játék valóban használja-e, vagy ez csak a Spectrum átirat betöltő nem használt része).

Jogos felvetés, ez nem jutott eszembe, meg se néztem, hogy a karakterkészlet mennyire megy össze  :oops: , 3 RST-t használok, ha jól emlékszem a 08h, 10h, 18h-t 2-t a billentyűzetre, 1-et meg a joystickra, Zozo féle betöltőt használtam alapul, az eredeti majdnem teljesen ment a kukába, a Loadert vettem onnan, de abból is csak pár bájt maradt. IM 2 átalakítva IM 1-é, valahogy azt jobban szeretem. :)

5375
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 13:02:56 »
Úgy látszik, a CPC-s verzióban sincs hang, bár valószínűleg az is Spectrum átirat.

Megnéztem azt is, igaz csak távolról, abban bíztam, hogy foglalkoztak a csinosítással, de nem :(

5376
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 12:58:20 »
Igazi gépen zúg a hangszóró attól, ha ugyanaz az érték íródik ciklusban az A8h portra ? :shock:

nem tudom, csak arra tudok tippelni, A0-AF regiszterek értéke 0, kivéve A7, az megkapta még a program indulása előtt a 8-as értéket, és játék közben már csak az A8-as port íródik, az is megszaktás közben, és 00-val.
Sajnos az EP-t lusta vagyok összeszerelni mostanában csak azért, hogy teszteljek, az emulátor minden igényem kielégti  :oops: No meg a bill fóliám is rakoncátlankodik, és már elég sokat vágtam le a végéből ahhoz, hogy megkíséreljek egy újabb nyisszantást.

5377
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 09:33:00 »
Megnéztem a program eredetijét is disassemblálva, csak memórialapozás van, és a Speedlock 7-es loader, meg az elején a border feketére váltása, ami portírás :(
A zúgást meg az okozhatta, hogy a bal oldali hangszóró D/A-ra volt állítva, és a megszakításban a program 00h-t írt A8h-ra.
Elméletileg javítva, így is zúg?

5378
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.18. 08:47:02 »
Valódi gépen folyamatosan zúg a hangszóró :-(

Amúgy ebben a játékban tényleg nincs hang? Kipróbáltam a Spectrumos verziót is... bár az elsõ képernyõrõl még nem sikerült kijönni  :oops:
meglesem, mi lehet a baj, a Corsoore féle hangbizergáláshoz nem nyúltam, mert az spectrum verzióban sem hallottam semmilyen hangot, még értékeléseket is néztem, azok között volt, ami a zenéjét, és az effektjeit méltatta. Nekem is csak a NYC bal shift L kombóval :D
Hammerfist review

5379
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.17. 23:55:29 »
Elkészült a Hammerfist javított változata :D
EXOS kompatibilis, fut EP 64-en is, betöltés után cheat (örök energia, lézer, és nemtom milyen ököl   :oops: ) választható insert gombbal.
A program fájlok tömörítve lettek, a 0300h hosszú spectrum karakterkészlet kivételével, EPCOMPRESS -m3-mal.
Hammerfist

5380
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.15. 08:53:35 »
Nekem is tetszenek az ilyen rövid és gyors megoldások, SCR konvertálásához én olyasmi rutint írtam, mint ami ebben a programban szerepel megszakításban. Holtig tanul az ember ;)

5381
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.14. 22:06:47 »
Megvan a betöltés utáni lefagyás oka is, az EP-s HAMEFIST.LV1 019bh-01a8h között 8 byte-ban eltért a spectrumostól, miután ez le lett cserélve, teljesen jól bejött a 2. szint, sőt végig is lehetett skippelni a játékot :D
Ami a gratuláló üzenet után az utolsó szint elejére ugrik :(, a spectrum változat is ezt teszi.

5382
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.14. 15:53:54 »
Valóban :) Ezt:

Code: ZiLOG Z80 Assembler
  1.         ld    b, 20h
  2. .l1:    push  hl                        ; 12
  3.         ld    a, (hl)                   ; 8 + V
  4.         ld    h, 30h                    ; 8
  5.         ld    l, a                      ; 5
  6.         ld    a, (hl)                   ; 8
  7.         ld    (de), a                   ; 8 + V
  8.         pop   hl                        ; 11
  9.         inc   hl                        ; 7
  10.         inc   de                        ; 7
  11.         djnz  .l1                       ; 14
  12.                                         ; = 88 + 2 * V

Így is lehetne írni, ami kb. 2x gyorsulás:

Code: ZiLOG Z80 Assembler
  1.         ld    (.l2 + 1), sp
  2.         ld    sp, hl
  3.         ld    bc, 20h
  4. .l1:    pop   hl                        ; 11 + 2 * V
  5.         ld    a, h                      ; 5
  6.         ld    h, 30h                    ; 8
  7.         ldi                             ; 18 + V
  8.         ld    l, a                      ; 5
  9.         ld    h, 30h                    ; 8
  10.         ldi                             ; 18 + V
  11.         jp    pe, .l1                   ; 11
  12. .l2:    ld    sp, 0                     ; = (84 + 4 * V) / 2

A második "ld h, 30h" még törölhető lenne, csak akkor kétszer kell tárolni az attribútum konvertáló táblázatot (3000h-30FFh helyett 3000h-31FFh, de ebben az esetben el is férne). Azonban egy megszakításban csak két sor konvertálódik, tehát a módosításnak akkor lenne igazán előnye, ha az egyszerre konvertált sorok száma is nagyobb lenne.

Na, a rutinod működését 5 percig néztem, mire felfogtam :D
Nagyon fasza :)

5383
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.14. 11:43:37 »
Ez erõsen programfüggõ. Amelyik aktívan használja a Spectrumos "csatornakezelést" meg egyéb extrákat, ott gyakorlatilag az egész ROM kell. Ezeknél a ROM végi üres helyet, a magnó rutinokat, és esetleg a BASIC kulcsszavak táblázatát lehet kockázat nélkül felhasználni. Meg ha saját karakterkészletet használ, akkor még a karakterkészlet helye használható.
Bocs, félreérthető voltam, a Spectrum ROM egy részletét tölti be csak, az a karakterkészlet 3D00h-4000h-ig, ROM rutinokat nem használ, arra gondoltam, hogy azért teszi a loadert 2000h-ra, mert ott nincs semmi lényeges a Spectrum ROM-ban, oda nem vár ugrást, így ki tudja szűrni a kis Spectrum ROM hívás ellenőrző rutinjával, hogy milyen ROM hívások vannak a programban úgy, hogy 0000-4000h területen a loader által nem használt területre RST 00h-t tesz, és 0000h-ra pedig egy JP utasítást, ami meghívja azt a rutint, ami kiírja, hogy ZX ROM CALL és, hogy hol,és mit, gondolom ez segített neki a ROM hívások fellelésében.

5384
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.14. 08:37:46 »
Ezen - a rendes átírás lehetőségétől eltekintve - talán lehetne javítani valamennyit, ha jól emlékszem, egy ilyen megszakításban konvertáló programban a konvertálást sikerült majdnem kétszer gyorsabbra megírni.
Hát ez elég gyorsnak tűnik, de nincs kizárva, hogy gyorsítható még :) , ha belefogok, akkor a teljes attribútum konverzió mellett teszem le a voksom, megszakításból ilyet ne csináljon :D
Ezek a betöltőben maradt debug kódrészletek ? :)
Szerintem igen :D, de mintha az összes Coorsore átiratban benne lenne, mert rémlik olyan program, ami ki is írta, hogy ZX ROM called xxxx helyen. :D

5385
Programozás / Re: Tegyük rendbe az EP programokat!
« on: 2010.April.13. 22:53:35 »
Sikerült betölteni a következő szintet, de miután kiírta újra a programozókat, és megnyomtam a tűzgombot, lefagyott :( , majd holnap folytatom.

A gond az volt, hogy készült EP-s betöltő a 3000h-s címre csak azt a program indítása előtt faszán felülírja a program az attribútum konverzióhoz szükséges adatokkal, ugyanis a drágaszág megszakítás közben konvertálja őket :D, azt hittem a zene is lemaradt, végülis jól hittem, de azt a spectrum verzióban is lespórolták :D , viszont találtam olyan megoldást is, ami tetszett, a 0000-4000h terület nem használt részét feltölt RST 00h-val a 0000h-s címen egy rutint hív meg, ami kiírja, hogy melyik cím lett meghívva Spectrum ROM-ból, meg a másik, ha elszáll a betöltés, az EXOS segítségével kiírja, hogy mi volt a bibi, a folytatás már felejtős, a végtelen ciklusban keretvillogtatás.
A 69 byte-os betöltő csak azt a célt szolgálja, hogy betölti a normál betöltőt 2000h-ra :D, csak tippelem, hogy ezt azért teszi, mert 2000h-tól olyan Spectrum Rom rutinok vannak, amiket nem szoktak a programok hívni, vagy az is lehet, hogy ott már rutinok sincsenek. :D A Spectrum ROM visszafejtést nem néztem meg.

Pages: 1 ... 352 353 354 355 356 357 358 [359] 360 361 362 363 364 365 366 ... 404