Welcome, Guest. Please login or register.


Author Topic: Spindizzy (Read 2063 times)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Spindizzy
« on: 2012.December.30. 16:10:32 »
Na ezt már elvileg végig lehet játszani!
Az utolsó gyémánttal nem mi voltunk a bénák, és nem is a korább EP átírat, hanem már a Spectrum eredeti is hibás volt! (Talán nem véletlen, hogy csak C64 végigjátszás van fent a neten..)
Érdeklődés esetén bővebben is kifejthetem :-)

Mindenesetre mivel az eredeti átírat attribútum hiás volt, valamint randa módon benne volt egy egész Spectrum ROM is, ezért lett újra átírás.
-EXOS, EP64 kompatibilis
-van betöltő kép
-Spectrum eredeti hibái javítva
-eredetileg 4 színből sorsol az aktuális pályához, ez választhatóan lehet 15 is, és a paletta összeállításnál se ragaszkodtam a Spectrum színekhez, lássunk más árnyalatokat is :-)
-csalás: színválasztás kérdésnél T-t nyomva örökidő, ami rendes módon van megoldva (a korábbi TRN verzió a játék végére tett RET-et...)
-nyomd meg az EXT-tet várakozások nyomd meg az ESC-re cserélve (sokáig azt hittük anno, hogy lefagy a térkép, míg végül rájöttünk, hogy a két SHIFT-et kellett nyomni ilyenkor :evil: )
-SHIFT+STOP kilépés a menübe (ha örökidő mellett sikerül kelepcébe esni...)
-alap billentyűzet használhatóbbra definiálva. (Lehet joystick-el is játszani, de a 45 fokkal elforgatott irányítás miatt nem érdemes...)

Offline Lacika

  • EP addict
  • *
  • Posts: 2918
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://www.ep128.hu
Re: Spindizzy
« Reply #1 on: 2012.December.30. 19:35:15 »
Quote from: Zozosoft
Érdeklődés esetén bővebben is kifejthetem :-)
Ez itt az érdeklődés helye:
:smt006

Kiegészíteném a leírást.

Offline Lacika

  • EP addict
  • *
  • Posts: 2918
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://www.ep128.hu
Re: Spindizzy
« Reply #2 on: 2012.December.30. 19:37:00 »
Quote from: Zozosoft
lássunk más árnyalatokat is :-)
Ezzel messzemenően egyetértek! Miért mindíg csak ugyanaz a 15 színt lássuk a 256 színből?
« Last Edit: 2012.December.30. 19:47:14 by Lacika »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spindizzy
« Reply #3 on: 2012.December.30. 20:23:19 »
Felszedhetetlen gyémánt esete: mellékelve egy zx128emu snapshot, lehet próbálkozni :-)
Túl gyorsan indul el a lift, képtelenség odaérni, és utána már nem jön le a földszintre.
Megnézve a C64 végigjátszást (33. perc környékén), ott később indul el, simán elérhető. Máshol is később indulnak a liftek, de ez az egyetlen kritikus hely.
C64-es oldalakról sikerült pálya adatszerkezet leírást szerezni, mint kiderült a C64, CPC, Spectrum verziókban bitre megegyeznek a pályaadatok.  
Lift adatoknak az utolsó bájt felső 2 bitje választja ki a várakozási időt, ennél a liftnél 2 másodperc kéne legyen.
Itt számolja ki a lift kezelő program számára, hogy mennyit kell várakozni, a várakozás értéke 1/25 másodpercben értendő, mivel minden második 50Hz-es megszakításban lesz meghívva.
Code: [Select]
 DBC4  7E           LD    A, (HL)
  DBC5  E6 C0        AND   C0
  DBC7  CB 3F        SRL   A
 *DBC9  DD 77 08     LD    (IX+08), A
  DBCC  DD 77 09     LD    (IX+09), A

A 2 másodperces várakozáshoz 20h lesz a kiszámolt érték, azaz 32/25=1.28 másodperc. Na ezért nem lehet elérni a liftet!
Az SRL utasítást likvidálva már elérhető, 2.56 másodperc lesz... hmm, végülis EP-n van helyünk hosszabb rutint berakva pontos értékeket kiszámolni...
Kipróbáltam, nem olyan nagy baj a .5 másodperc plusz, jó lesz az így :-)
« Last Edit: 2012.December.30. 20:46:15 by Zozosoft »

Offline szipucsu

  • EP addict
  • *
  • Posts: 7769
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Spindizzy
« Reply #4 on: 2012.December.30. 20:40:14 »
Quote from: Zozosoft
Felszedhetetlen gyémánt esete: mellékelve egy zx128emu snapshot, lehet próbálkozni :-)
Ez azért is teljesen lehetetlen, mert nálam még a snapshotot sem tölti be. :ds_icon_frown: Pedig nem az EP128Emuba, hanem a zx128emu-ba töltöttem. Kiakad tőle az emu és leáll...
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spindizzy
« Reply #5 on: 2012.December.30. 20:45:13 »
Quote from: szipucsu
Ez azért is teljesen lehetetlen, mert nálam még a snapshotot sem tölti be. :ds_icon_frown: Pedig nem az EP128Emuba, hanem a zx128emu-ba töltöttem. Kiakad tőle az emu és leáll...
Mármint abba a zx128emu-ba ami az ep128emu alatt van a Start menüben?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spindizzy
« Reply #6 on: 2012.December.30. 20:58:54 »
Mint említve lett, a pálya adatok minden gépen ugyanazok, így derült ki, hogy egyes Spectrum verziók hibásak, 4 bájt sérült a programfájlban a fájlban 5E4-5E7 (memóriában 66E4-66E7) címeken 3F 05 55 FE van, a helyes 00 01 57 19.
A képen látható sérülést okozza, a térképen bal oldalt látható vár sarkán, az itt lévő gyémánt is eltűnt.
A hiba nem új keletű (pl TZX készítésnél), a több mint 20 éve EP-re átírt verzióban is benne volt :-(
8442-0

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spindizzy
« Reply #7 on: 2012.December.30. 21:40:04 »
És ezek után ha valakinek sikerült volna mind 386 képernyőt bejárni, és mind a 220 gyémántot összeszedni, akkor csak annyit vesz észre, hogy kilép a program a főmenübe...
A gratuláló felíratnál megkérdezi, hogy akarunk-e még bolyongani, itt várna a Y/N gombokra, csakhogy a billentyű figyelés el van rontva:
Code: ZiLOG Z80 Assembler
  1.   BCA6  21 C5 BC     LD    HL, BCC5
  2.   BCA9  CD D0 B7     CALL  B7D0
  3.   BCAC  CD 19 CA     CALL  CA19
  4.   BCAF  3A 08 5C     LD    A, (5C08)
  5.   BCB2  F6 20        OR    20
  6.   BCB4  FE 79        CP    79
  7.   BCB6  CA 30 B9     JP    Z, B930
  8.   BCB9  FE 6E        CP    6E
  9.   BCBB  C3 42 BF     JP    BF42
B7D0-on írja ki a szöveget, után az lenne értelmes, hogyha a CA19 akkor térne vissza, ha le van nyomva egy gomb, amit aztán kiolvasna a LAST KEY rendszerváltozóból...
Azonban a CA19 akkor tér vissza, ha egy gomb sincs lenyomva, és a rendszerváltozóban se lehet semmi értelmes, mivel nem IM 1-ben fut a program.
Spectrum verzióban egy működő, de teljesen szép javítás, ami befért a helyére:
Code: ZiLOG Z80 Assembler
  1.   BCAC  3E 5F        LD    A, 5F
  2.  *BCAE  DB FE        IN    A, (FE)
  3.   BCB0  CB 67        BIT   4, A
  4.   BCB2  CA 30 B9     JP    Z, B930
  5.   BCB5  CB 5F        BIT   3, A
  6.   BCB7  CA 42 BF     JP    Z, BF42
  7.   BCBA  18 F0        JR    BCAC
  8.   BCBC  00           NOP
  9.   BCBD  00           NOP
  10.  
A nem szép az, hogy egyszerre figyel 2 sor billentyűt, így nem csak a Y/N-re reagálhat, valamint további bolyongást választva ott marad a szöveg attribútuma, amíg nem megyünk másik képernyőre.
EP verzióban, ahol külön rutinnal lehetett megoldani, ott nincs ilyen gond.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7769
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Spindizzy
« Reply #8 on: 2012.December.31. 12:15:26 »
Quote from: Zozosoft
Mármint abba a zx128emu-ba ami az ep128emu alatt van a Start menüben?
Igen... De akkor lehet, hogy újra kéne telepítenem, vagy ilyesmi, ha másnak meg működik.

Amúgy nem piskóta, mennyi hiba volt ebben a programban, és most az összes előkerült és ki is javítottad. :smt041

Miért van még egy PACK mappa is a ZIP fájlon belül?
A CHR fájl valami tömörített formában tartalmazza a karakterkészletet?
« Last Edit: 2012.December.31. 12:27:25 by szipucsu »
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13394
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 17.0 Firefox 17.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Spindizzy
« Reply #9 on: 2012.December.31. 13:19:38 »
Quote from: szipucsu
Miért van még egy PACK mappa is a ZIP fájlon belül?
Az a Epcompressel tömörített verzió.

Quote
A CHR fájl valami tömörített formában tartalmazza a karakterkészletet?
Nem, az Spectrumos karakterkészlet, 96 normál, plusz 16 grafikus karakter.
Ezenkívül használ a program belül több saját UDG karakterkészletet is, jól meg kellett szenvedni a Spectrum ROM kiváltásakor az RST 10h (Print Character) szimulációval, használ csatorna megnyitásokat, vezérlőkaraktereket, karakterkészlet váltogatásokat...