Welcome, Guest. Please login or register.


Author Topic: CPC (Read 457929 times)

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: CPC
« Reply #480 on: 2010.August.15. 04:46:09 »
Hát ez jó volt, végig is vittem.
Végég volt színvillogtatás, varázslók átváltoztak, és pixeles képernyõtörlés. :)
Sõt a végén kiírta név szerint a varázslókat. :)
Volt pár trükkös rész, ahol egyik ajtón bementem majd visszajöttem és nem oda jutottam ahonnan indultam. Ezért az utólsó varázslót nehezen találtam meg.:)

Ja persze teljes cheat-el csináltam. XD
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #481 on: 2010.August.15. 13:20:23 »
Ez a hiba a Sorcery Plus-ban is benne van! Ha sikerül kijavítani, ott is lehetne eszközölni a javítást.

A Sorcery Plus-ban a játék indítása után a 46D9h címre 42h helyett 41h értéket írva javítható a hiba. Azt azonban nem néztem meg, hogy a hibás byte melyik file-ból, és hogyan kerül oda.

Quote
(Anno ezt említettem is, és meggyőződtünk, hogy nem az átírás hibája ott sem.)

Az viszont talán igen, hogy az átiratban a játék sebessége változik, és néha nagyon felgyorsul (az eredeti CPC-s kóddal a sebesség a video megszakításhoz szinkronizált, és nem gyorsul fel turbós gépen sem) :?:

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: CPC
« Reply #482 on: 2010.August.15. 13:29:26 »
A Sorcery Plus-ban

Ha már így belejöttél.  :) Légyszíves készíts a Plusmak is, ilyen szuper trainert. :)

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: CPC
« Reply #483 on: 2010.August.17. 11:19:07 »
Ezek a ROM hívások voltak a Sorcery Plusban, port olvasásos időzítést nem találtam, esetleg a New Frame Fly (BCD7h)-ban lehet a hiba, azt úgy értelmeztem, hogy azt adja meg, hogy mi történjen képfrissítésnél, csatolom a forrást is.

0b906h   ;l rom enable
0b909h   ;l rom disable
0bb1eh   ;test key
0bb24h   ;get joystick
0bb5ah   ;txt output
0bb75h   ;set cursot pos
0bc0eh   ;scr set mode
0bc11h   ;scr get mode
0bc32h   ;set ink
0bc35h   ;get ink
0bc38h   ;set border
0bc3eh   ;set flashing
0bc77h   ;cas in open
0bc7ah   ;cas in close
0bc83h   ;cas in direct
0bca7h   ;sound reset 4f00
0bcaah   ;sound queue
0bcadh   ;sound check 4f00
0bcb0h   ;sound arm event 4f00
0bcbch   ;sound vol envelope
0bcbfh   ;sound tone envelope
0bcd7h   ;new frame fly                <---
0bcceh   ;find and init a ROM
0bce9h   ;add ticker  4f00
0bcech   ;del ticker  4f00
0bcefh   ;init event  4f00
0bcf5h   ;sync reset  4f00
0bd1ch   ;mc set mode
0bd25h   ;set all inks+border

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #484 on: 2010.August.17. 16:23:15 »
Ezek a ROM hívások voltak a Sorcery Plusban, port olvasásos időzítést nem találtam, esetleg a New Frame Fly (BCD7h)-ban lehet a hiba, azt úgy értelmeztem, hogy azt adja meg, hogy mi történjen képfrissítésnél, csatolom a forrást is.

Az eredeti Sorcery CPC-n nem 50, hanem 300/8 (azaz 37.5) fps sebességgel frissíti a képernyőt; a Plus-t nem néztem részletesebben, de az is hasonló sebességűnek tűnik, és csak az átirat gyors. Az akadozást/egyenetlen sebességet az okozhatja, hogy a játék néha tud futni a megnövelt sebességen, máskor viszont (pl. ha sok sprite van a képernyőn) nem.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #485 on: 2010.August.17. 18:46:51 »
Ez már nagyjából kész verziónak tekinthető, bár a hangok és színek továbbra sem tökéletesek:
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]     (csak CPC 464 konfiguráción fut)
  [ Guests cannot view attachments ]

A palettát módosítottam, hogy a "Bright Green" és "Sea Green" ne konvertálódjon ugyanarra a színre:

CPC palette:
   0: 20 (Black         ): mapped to  0 (0x00), err = 0.0000
   1: 10 (Bright Yellow ): mapped to 11 (0xDB), err = 0.0000
   2: 14 (Orange        ): mapped to  9 (0xD9), err = 0.0579
   3: 12 (Bright Red    ): mapped to  3 (0x49), err = 0.0000
   4: 19 (Bright Cyan   ): mapped to  4 (0xB6), err = 0.0000
   5: 11 (Bright White  ): mapped to  5 (0xFF), err = 0.0000
   6: 31 (Pastel Blue   ): mapped to 12 (0xDC), err = 0.2173
   7: 15 (Pastel Magenta): mapped to 13 (0xDD), err = 0.2088
   8: 18 (Bright Green  ): mapped to 10 (0xDA), err = 0.0730
   9:  6 (Cyan          ): mapped to  7 (0x06), err = 0.1055
  10: 28 (Red           ): mapped to  1 (0x01), err = 0.0562
  11: 22 (Green         ): mapped to  2 (0x02), err = 0.0734
  12:  3 (Pastel Yellow ): mapped to 15 (0xDF), err = 0.1046
  13:  2 (Sea Green     ): mapped to 14 (0xDE), err = 0.1378
  14:  0 (White         ): mapped to  6 (0x07), err = 0.1056
  15: 30 (Yellow        ): mapped to  8 (0xD8), err = 0.0778
Enterprise palette: 0x00, 0x01, 0x02, 0x49, 0xB6, 0xFF, 0x07, 0x06
Enterprise bias:    27 (0 to 31) / 0xD8 (0 to 0xF8)


Így azonban több más szín lett rosszabb minőségű, különösen a "Pastel Blue", amely most sötétebb lett a szürke színnél (amit azonban még esetleg F8h-ra lehetne sötétíteni).

A nagyon mély hangokat (pl. ajtók) ebben a verzióban a 4 bites polinom számláló trükkös használatával oldottam meg; így kb. 12 Hz-ig lehet hangot előállítani, azonban a hullámforma nem négyszögjel, hanem véletlenszerűen 10000, 11000, vagy 101000. Ez a véletlenszerű változás azt eredményezi, hogy az ajtóknak néha "érdekes" hangja van :oops:

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: CPC
« Reply #486 on: 2010.August.17. 22:07:43 »
Szép játék nagyon. Élénkebbek is a színek, mint a régi változatban.
Sajnos Sorcery-ben annyira nem vagyok jó...

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: CPC
« Reply #487 on: 2010.August.17. 23:43:55 »
A nagyon mély hangokat (pl. ajtók) ebben a verzióban a 4 bites polinom számláló trükkös használatával oldottam meg; így kb. 12 Hz-ig lehet hangot elõállítani, azonban a hullámforma nem négyszögjel, hanem véletlenszerûen 10000, 11000, vagy 101000. Ez a véletlenszerû változás azt eredményezi, hogy az ajtóknak néha "érdekes" hangja van :oops:

Szerintem így még talán jobb is. Gyerekkoromban kísérleteztem nyikorgó ajtókkal, ugyanaz az ajtó sem nyikorog mindig egyformán. :D

Esetleg, ha belefér a programba, digi hangokat lehetne betenni a problémás hangok helyére.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: CPC
« Reply #488 on: 2010.August.18. 08:33:00 »
Esetleg, ha belefér a programba, digi hangokat lehetne betenni a problémás hangok helyére.

Kár ennyire belemászni a programba. Akkor inkább újabb átiratok készítésére fordítsa István a számunkra értékes szabadidejét...  :)

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: CPC
« Reply #489 on: 2010.August.18. 09:35:12 »
Az eredeti Sorcery CPC-n nem 50, hanem 300/8 (azaz 37.5) fps sebességgel frissíti a képernyőt; a Plus-t nem néztem részletesebben, de az is hasonló sebességűnek tűnik, és csak az átirat gyors. Az akadozást/egyenetlen sebességet az okozhatja, hogy a játék néha tud futni a megnövelt sebességen, máskor viszont (pl. ha sok sprite van a képernyőn) nem.

50Hz-esnek tűnik, csak 6-ig számol el megszakítás közben, aztán nulláz, a lassabb sebesség feltűnt anno nekem is több sprite esetén, én arra tippeltem, hogy a hangokat az EXOS Sound: eszközére átalakítottam, és az lassabb, mint a CPC-s hanglejátszó.

Code: [Select]
np8d71  di
        ld      a,(np92f0+0bh)
        inc     a
        cp      06h
        jp      c,l8d7c
        xor     a
l8d7c:  ld      (np92f0+0bh),a
        ld      hl,6848h
        dec     (hl)
        pop     af
        pop     bc
        pop     de
        ld      hl,(np9350+4)
        ex      (sp),hl
        ret

Ezeket csinálja a hat fázisban:
8d9dh top of the screen 16 col
8da1h joystick
8dbdh decrease time
8dc0h ret
8dc1h bottom of the screen 4 col mode
8dd7h ret

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #490 on: 2010.August.18. 11:03:25 »
Szerintem így még talán jobb is. Gyerekkoromban kísérleteztem nyikorgó ajtókkal, ugyanaz az ajtó sem nyikorog mindig egyformán. :D

A hangokkal tulajdonképpen valóban nincs nagyobb probléma. A színek azonban lehetnének jobbak is :( Esetleg készíthetek egy másik változatot is, ami az előző palettát használja, és mindenki választhat, hogy melyik néz ki jobban.
 

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #491 on: 2010.August.18. 11:11:13 »
50Hz-esnek tűnik, csak 6-ig számol el megszakítás közben, aztán nulláz, a lassabb sebesség feltűnt anno nekem is több sprite esetén, én arra tippeltem, hogy a hangokat az EXOS Sound: eszközére átalakítottam, és az lassabb, mint a CPC-s hanglejátszó.

Nem tudom, mennyire tér el a Sorcery Plus az eredeti játéktól, de ott mindenesetre az első számláló csak az aktuális 300 Hz-es megszakítás száma (0-5, 3 a VSync). Azonban a második számláló (itt 6848h) a lényeges, mert az időzíti a képfrissítést; 300 Hz-es frekvenciával csökken, és amikor lefut FFh-ra, akkor a játék eredetileg 7-ről indítja újra, így a sebesség 300/8, azaz 37.5 fps. Ha a 7-es értéket átírom 5-re (50 fps), akkor a Sorcery is pontosan ugyanúgy lesz rossz, mint a Plus átirata.

Ha az EXOS megszakítási rendszere működik a játék közben, az valóban nem javítja a sebességet :) Talán a scroll is ezért akadozik annyira ?

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: CPC
« Reply #492 on: 2010.August.18. 14:14:46 »
Nem tudom, mennyire tér el a Sorcery Plus az eredeti játéktól, de ott mindenesetre az első számláló csak az aktuális 300 Hz-es megszakítás száma (0-5, 3 a VSync). Azonban a második számláló (itt 6848h) a lényeges, mert az időzíti a képfrissítést; 300 Hz-es frekvenciával csökken, és amikor lefut FFh-ra, akkor a játék eredetileg 7-ről indítja újra, így a sebesség 300/8, azaz 37.5 fps. Ha a 7-es értéket átírom 5-re (50 fps), akkor a Sorcery is pontosan ugyanúgy lesz rossz, mint a Plus átirata.

Ha az EXOS megszakítási rendszere működik a játék közben, az valóban nem javítja a sebességet :) Talán a scroll is ezért akadozik annyira ?

Igazad van, foglalkoztam is vele, átalakítottam a játékot 50Hz-re, és marha lassúvá vált, akkor találtam rá erre az időzítésre, mivel az 50Hz-et mindenképp meg akartam tartani, ezért ez is 50Hz lett.
Sztem az EXOS megszakítási rendszerét használja a program a SOUND: eszköz miatt, nem hinném ,hogy rátaláltam melyik címet kell meghívni megszakításból, hogy az EXOS zenéljen, és ezért is lehet lassú a scroll, mert a teljes EXOS megszakítás lassabb, mint a CPC eredeti megszakítási rutinja.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14722
  • Country: hu
    • http://enterprise.iko.hu/
Re: CPC
« Reply #493 on: 2010.August.18. 21:14:02 »
Élénkebbek is a színek, mint a régi változatban.
Nekem is tetszenek a színek!

Hangok: jól hallom, hogy most már sztereó lett a zene?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: CPC
« Reply #494 on: 2010.August.19. 12:50:55 »
Nekem is tetszenek a színek!

Összehasonlítás:
  [ Guests cannot view attachments ]
Balról jobbra az első a CPC, a második az első teszt verziók (BIAS = F8h), a harmadik pedig az ep128.hu-ra is felkerült "kész" változat (BIAS = D8h).

Quote
Hangok: jól hallom, hogy most már sztereó lett a zene?

A "sztereó" hangok valójában csak ugyanannak a hangnak a megszólaltatását jelentik a bal és jobb oldalon két külön csatornán; mivel a hanggenerátorok fázisa nincs szinkronban, ez egyszerű sztereó effektust eredményez :)
« Last Edit: 2010.August.19. 17:34:04 by IstvanV »