Welcome, Guest. Please login or register.


Author Topic: Tegyük rendbe az EP programokat! (Read 372504 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #225 on: 2009.September.13. 20:54:13 »
Nekem bejön a beep rutinos verzió, bár csak az elhalálozásnál hallottam hangját ;)

Akkor is van hang, amikor fogy az energia, és a tárgyak felvételekor/használatakor. Ez természetesen még mindig nem sok :)

A Spectrum ROM rutin ilyen lett EP-re átalakítva:
Code: ZiLOG Z80 Assembler
  1. zxBeep:
  2.         di
  3.         ld    a, l
  4.         srl   l
  5.         srl   l
  6.         cpl
  7.         and   3
  8.         ld    c, a
  9.         ld    b, 0
  10.         ld    ix, .l1
  11.         add   ix, bc
  12.         add   hl, bc
  13.         xor   a
  14.         sbc   hl, bc
  15.         inc   hl
  16.         dec   hl
  17. .l1:    nop
  18.         nop
  19.         nop
  20.         inc   b
  21.         inc   c
  22. .l2:    dec   c
  23.         jr    nz, .l2
  24.         ld    c, 63
  25.         dec   b
  26.         jp    nz, .l2
  27.         xor   080h
  28.         out   (0a1h), a
  29.         ld    b, h
  30.         ld    c, a
  31.         bit   7, a
  32.         jr    nz, .l3
  33.         ld    a, d
  34.         or    e
  35.         jr    z, .l4
  36.         ld    a, c
  37.         ld    c, l
  38.         dec   de
  39.         jp    (ix)
  40. .l3:    ld    c, l
  41.         inc   c
  42.         jp    (ix)
  43. .l4:    ei
  44.         ret
« Last Edit: 2009.September.13. 20:57:44 by IstvanV »

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tegyük rendbe az EP programokat!
« Reply #226 on: 2009.September.14. 12:03:15 »
        xor   080h
        out   (0a1h), a
Ehhez a módszerhez milyen DAVE inicializáció kell?

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tegyük rendbe az EP programokat!
« Reply #227 on: 2009.September.14. 12:10:24 »
Akkor ha jól értem azt akartad javasolni már a Dan Dare-nál is, hogy legyen a 0 BIAS a sötét, és ehhez válogassunk a palettába fényes színeket?
Ezt végülis az eddigi meg az elkövetkezõ Zozosoft féle átiratokba, ill. a Spectrum emuba könnyen bele lehet tenni :-) A palettának mi lenne az optimális?
István! Lehetne kérni egy paletta javaslatot? :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #228 on: 2009.September.14. 12:40:15 »
Ehhez a módszerhez milyen DAVE inicializáció kell?

Code: ZiLOG Z80 Assembler
  1.         call  daveReset
  2.         ld    a, 1
  3.         out   (0a0h), a
  4.         out   (0a4h), a
  5.         ld    a, 7
  6.         out   (0a7h), a
  7.         ld    a, 3fh
  8.         out   (0a8h), a
  9.         out   (0ach), a

Itt a daveReset a DAVE hanggenerátor regisztereit (A0h-AFh) állítja nullára. A frekvencia beállítása lehet, hogy nem kell - illetve emulátoron biztosan nem, csak azért van, mert igazi gépen a 0 frekvencia nem működik megbízhatóan (de itt a hanggenerátorok le vannak állítva, tehát ennek valószínűleg nincs jelentősége).
A megoldás lényege, hogy a 0. és 2. hanggenerátor kimenete folyamatosan 0 legyen (ezt az A7h port "szinkron" bitjeinek beállítása biztosítja), és mivel a gyűrűmoduláció effektus XNOR műveletet végez, a bekapcsolása 1-re állítja a kimenetet.

A korábbi "pontos frekvencia" verzió:
Code: ZiLOG Z80 Assembler
  1. zxBeep:
  2.         di
  3.         push  bc
  4.         push  hl
  5.         push  de
  6.         ex    de, hl
  7.         ld    bc, 59919                 ; calculate DE * 3200000 / 3500000
  8.         ld    hl, 0
  9.         ld    a, 16
  10. .l1:    add   hl, hl
  11.         rl    c
  12.         rl    b
  13.         jr    nc, .l2
  14.         add   hl, de
  15.         jr    nc, .l2
  16.         inc   bc
  17. .l2:    dec   a
  18.         jp    nz, .l1
  19.         pop   de
  20.         ld    hl, 6
  21.         add   hl, bc
  22.         ld    a, l
  23.         cpl
  24.         and   7
  25.         ld    (.l6 + 1), a
  26.         ld    b, 3
  27. .l3:    srl   h
  28.         rr    l
  29.         djnz  .l3
  30. .l4:    ld    a, e
  31.         or    d
  32.         ld    a, 80h
  33.         jr    nz, .l5
  34.         pop   hl
  35.         pop   bc
  36.         ei
  37.         ret
  38. .l5:    out   (0a1h), a
  39.         ld    c, l
  40.         ld    b, h
  41. .l6:    jr    .l7
  42. .l7:    nop
  43.         nop
  44.         nop
  45.         nop
  46.         nop
  47. .l8:    nop
  48.         nop
  49.         dec   bc
  50.         bit   7, b
  51.         jr    z, .l8
  52.         or    a
  53.         jp    z, .l4
  54.         dec   de
  55.         xor   a
  56.         ret   nz
  57.         jr    .l5
« Last Edit: 2009.September.14. 12:46:30 by IstvanV »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #229 on: 2009.September.14. 12:52:02 »
István! Lehetne kérni egy paletta javaslatot? :-)

Nem tudok olyan palettát, amely minden játékhoz biztosan jó lenne :oops: Éppen ezért írtam a zxconv2.lua-t, hogy átírásnál egyszerűen lehessen tesztelni a lehetséges palettákat még az attribútum konverzió előtt.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tegyük rendbe az EP programokat!
« Reply #230 on: 2009.September.14. 13:02:27 »
A megoldás lényege, hogy a 0. és 2. hanggenerátor kimenete folyamatosan 0 legyen (ezt az A7h port "szinkron" bitjeinek beállítása biztosítja), és mivel a gyûrûmoduláció effektus XNOR mûveletet végez, a bekapcsolása 1-re állítja a kimenetet.
És így akkor meg lehet csinálni, hogy egy OUT-tal csináljon a Spectrum program mindkét oldalra hangot, csak arra kell figyelni, hogy a 7-es bit legyen billegtetve?

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #231 on: 2009.September.14. 13:05:03 »
És így akkor meg lehet csinálni, hogy egy OUT-tal csináljon a Spectrum program mindkét oldalra hangot, csak arra kell figyelni, hogy a 7-es bit legyen billegtetve?

Igen.

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Tegyük rendbe az EP programokat!
« Reply #232 on: 2009.September.14. 13:47:25 »
És így akkor meg lehet csinálni, hogy egy OUT-tal csináljon a Spectrum program mindkét oldalra hangot, csak arra kell figyelni, hogy a 7-es bit legyen billegtetve?
Ha jól emlékszem, ezt a megoldást láttam az Attus féle Wec Le Mans-ban is, elnézést Attus, ha véletlenül tévesen vádoltalak volna meg. :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #233 on: 2009.September.14. 13:51:03 »
ezt a megoldást láttam az Attus féle Wec Le Mans-ban is, elnézést Attus, ha véletlenül tévesen vádoltalak volna meg. :D

Annak, ha jól emlékszem, nincs hangja :?: :???:

Viszont olyan átirat biztosan van több is - pl. sabteur1.dtf, amely az A7h porton a DAC mód ki- és bekapcsolását használja, 00h vagy 18h értéket írva (bár talán a 07h/1Fh még jobb lenne), fix hangerő mellett.
« Last Edit: 2009.September.14. 14:05:27 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Tegyük rendbe az EP programokat!
« Reply #234 on: 2009.September.14. 14:50:52 »
Annak, ha jól emlékszem, nincs hangja :?: :???:

Viszont olyan átirat biztosan van több is - pl. sabteur1.dtf, amely az A7h porton a DAC mód ki- és bekapcsolását használja, 00h vagy 18h értéket írva (bár talán a 07h/1Fh még jobb lenne), fix hangerő mellett.

Akkor lehet, hogy te követted el a javítást :), már a betöltőképes verziót néztem, és úgy rémlik, hogy volt hangja.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #235 on: 2009.September.14. 17:02:55 »
A melegindítás reset gombra nem működött :oops: Javítás:
  [ Guests cannot view attachments ]
  [ Guests cannot view attachments ]

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #236 on: 2009.September.14. 17:09:13 »
Akkor lehet, hogy te követted el a javítást :)

Nem.

Quote
már a betöltőképes verziót néztem, és úgy rémlik, hogy volt hangja.

A menüben valóban van :oops: Én a játék közbeni hangokra gondoltam, amik nincsenek. Mindenesetre a menüben a zene az előbb leírt A7h portra 00h/18h módszerrel  van megoldva, hasonlóan több más Attus átirathoz.

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tegyük rendbe az EP programokat!
« Reply #237 on: 2009.September.15. 23:19:40 »
Nem tudok olyan palettát, amely minden játékhoz biztosan jó lenne :oops:
Azért egy tippet mondhatnál :-)
Mindenesetre próbálkoztam egyet...
Ez alapján úgy tippelem, hogy a sötét színek 80%-osak a fényesekhez képest.
A Basic RGB függvény ezt a számsort dobja .8-as értékekkel: 0,4,130,134,65,69,195,199. 1-es értékkel meg a fényes színek: 0,36,146,182,73,109,219,255
Viszont sajnos meg vagyunk áldva a FIXBIAS-sal :-( ebben a 16-ban meg nem esik 8 egymás mellé...
Végül némi Színkódkeresõs próbálkozással (apropó ez a ROM tényleg nincs fent az ep128.hu-n?) arra jutottam, hogy 192-199 színek alig észrevehetõen térnek el attól, amit sötét színekre kaptunk, így akkor ez mehet BIAS-nak, a fényes színek a kakukktojás feketével meg a palettára.

Fordítottam így egy Spectrum Emulátor ROM-ot, nézzétek meg, hogy milyen lett, szerintem jobban hasonlít a Spectrumra mint eddig :-)
Ki lett javítva egy kisebb hiba, ami az elmúlt 16 évben nem tûnt fel senkinek  :oops: a BIAS Exoson keresztül volt állítva, de nem jutott idõben érvényre, így csak az elsõ fájl betöltése után állítodott be a Nicken.
Még egy apróság: a reset képernyõ Spectrumos módra fekete alapon piros vonalas lett :-)


Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Tegyük rendbe az EP programokat!
« Reply #238 on: 2009.September.16. 00:05:00 »
Végül némi Színkódkeresõs próbálkozással (apropó ez a ROM tényleg nincs fent az ep128.hu-n?) arra jutottam, hogy 192-199 színek alig észrevehetõen térnek el attól, amit sötét színekre kaptunk, így akkor ez mehet BIAS-nak, a fényes színek a kakukktojás feketével meg a palettára.

Ez akkor gyakorlatilag a korábban már említett "nagy kontraszt" paletta, csak a BIAS-t C0h-ra állítva 0 helyett ? Mindenesetre nem rossz megoldás, ilyenre én is gondoltam.

Quote
Ki lett javítva egy kisebb hiba, ami az elmúlt 16 évben nem tûnt fel senkinek  :oops: a BIAS Exoson keresztül volt állítva, de nem jutott idõben érvényre, így csak az elsõ fájl betöltése után állítodott be a Nicken.
Még egy apróság: a reset képernyõ Spectrumos módra fekete alapon piros vonalas lett :-)

Az megoldható, hogy a BEEP rutin használatakor ne csak a bal oldalon legyen hang ? :oops:

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: Tegyük rendbe az EP programokat!
« Reply #239 on: 2009.September.16. 14:22:21 »
Az megoldható, hogy a BEEP rutin használatakor ne csak a bal oldalon legyen hang ? :oops:
Az még az eredeti 'a' Studios BEEP :-) megpróbálom az IstvánV félét belecsempészni :-)