Welcome, Guest. Please login or register.


Author Topic: Grafikai trükkök (Read 61038 times)

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #105 on: 2013.April.27. 19:50:51 »
Quote
Idő az van, csak ha a 82h-t is átírod, akkor az új LPT-t az elejétől kezdi olvasni.
Hát ha az elejét írom bele ... nem ?





Na próbálom akkor összefoglalni a szabályokat:

Van a nick, annak a 2 LPT cim regisztere. 82h alacsony, 83h magas helyiérték. Ezek a regiszerek maguktól nem változnak egyáltalan. A szerepük csak annyi hogy egy LBP reload flag, vagy egy 83h reload bit (melyek tök ugyanazt a hatást érik el, csak első z80 független, második z80 függő módon) hatására ezekből a regiszterekből inicializálódik újra a nick LPT olvasása.

Tulajdonképp a nick JP utasítása a reload, és az operandusa meg ez a két regiszter, nem ?

Tehát magyarul ha ebbe a két regiszterbe barmit beleírunk, a prímszámokat akár, vagy a születési dátumunkat, az égvilágon semmi nem történik mindaddig, míg fenti két módszer valamelyike ki nem váltja a nick reload mechanizmusát, na ekkor ami épp benne van a fenti 2 regiszterben, az betöltődik a nick- be valahova belülre, és a következő lpb -t a nick onnan kezdi olvasni, és punktum.

Ebből akkor számomra valami olyan is következne, hogy a z80- nal 83h -n kezdeményezett force reload SEM AZONNAL-AZONNAL tölt újra, hanem igenis az aktuális LPB kirajzolásának be kell fejeződnie a nick által, ami ugye nagy is lehet, sok rasztersor, és csak utána fog megtörténni az a reload. Gondolom persze a z80 ettol nem fog blokkolódni, ő fut tovább, legrosszabb esetben valami 256 sor után majd tényleg bekovetkezik a reload a nick -ben. Ad abszurdum az is lehet, hogy ezen idő alatt akar módosíthatunk még a nick regiszterein ... :)

Namost akkor fentiekből az következik, hogy a két regiszerünkbe NEM KÖTELEZŐ az LPT kezdőcíme legyen, csak az "kötelező" hogy mikor a két okunk közül valamelyik kiváltja az LPT reload -ot, akkor "belepasszoljon" az új címen lévő LPB a szinkronunkba, és ha ez teljesül, akkor normál, rezzenéstelen képet fogunk kapni.






Ha mindez igaz, akkor viszont amit csinálsz azt nem csak 1000h- s váltogatással lehet elérni, hanem egy tetszőleges pixelsornál bekövetkező valamelyik forrásból származó reload -dal, a MEGFELELŐ LPB címével a regisztereinkben. Nem feltétlenül az LPT -nk elejével, és nem feltétlen 1000h -s határon, nem ?
« Last Edit: 2013.April.27. 19:55:50 by Z80System »
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #106 on: 2013.April.27. 19:58:23 »
Viszont ha igazakat irkáltam, nem nagyon értem miért kéne a szinkronom elején váltanom át a videomegszakban az LPT- met, hisz épp hogy meg kell várjam míg a teljes lpt- m feldolgozódott, és a legutolsó LPB -m kirajzolása közben kell váltsak a megszakból, ez esetben a masik LPT -m legelejére, nem ?
Z80 System

Online Zozosoft

  • EP addict
  • *
  • Posts: 13260
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 20.0 Firefox 20.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #107 on: 2013.April.27. 20:34:53 »
Quote from: Z80System
Viszont ha igazakat irkáltam, nem nagyon értem miért kéne a szinkronom elején váltanom át a videomegszakban az LPT- met, hisz épp hogy meg kell várjam míg a teljes lpt- m feldolgozódott, és a legutolsó LPB -m kirajzolása közben kell váltsak a megszakból, ez esetben a masik LPT -m legelejére, nem ?
Azt ki kell próbálni, hogyha az utolsó reloados sorban van az INT, akkor még elég gyorsan beíródik az új cím, mielőtt reloadol a Nick.

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #108 on: 2013.April.27. 20:44:06 »
Quote
Azt ki kell próbálni, hogyha az utolsó reloados sorban van az INT, akkor még elég gyorsan beíródik az új cím, mielőtt reloadol a Nick.

Ja, hogy igazából te nem force reload -os váltásra gondoltál ...

Akkor viszont tulajdonképp tökmindegy hogy mikor írom át, nem ?

Tehát megy a kirajzolás, az LPT végén ott a reload, és közben tetszőleges időben átírhatom akkor force reload flag nélkül a regisztereket, majd a frame legvégén az LPB reload flag betolti a regiszterekből a nick -be, addig meg ott csücsül.

Tehát ha jól értettem/következtettem/fantáziáltam össze itt a dolgokat, akkor az én kiinduló problémám ilyen magától értetődően egyszerűen megoldható (hiszen én csak egesz LPT -ket akarok váltani, amik tetszoleges címen vannak), a te problémádra pedig az 1000H -s módszer meg egy nem kizárólagos, de nagyon elegáns megoldás ... nem ?
Z80 System

Online Zozosoft

  • EP addict
  • *
  • Posts: 13260
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 20.0 Firefox 20.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #109 on: 2013.April.27. 20:46:14 »
Quote from: Z80System
Ha mindez igaz, akkor viszont amit csinálsz azt nem csak 1000h- s váltogatással lehet elérni, hanem egy tetszőleges pixelsornál bekövetkező valamelyik forrásból származó reload -dal, a MEGFELELŐ LPB címével a regisztereinkben. Nem feltétlenül az LPT -nk elejével, és nem feltétlen 1000h -s határon, nem ?
Nem 1000h-s különbséggel nem működik. Ha a 82h-t is írod oda az LPT eleje kell, különben a következő reloadnál már csak csonka LPT-t fog olvasni. Ha meg az elejét írod, akkor ugrani fog a kép reloaddal. Reload nélküli írásnál meg csak az LPT végén lévő reloadnál vált át, így kép közben nem lehet többször váltani.

Eredetileg én is onnan indultam, hogy egymás mögött volt a két LPT :-)

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #110 on: 2013.April.27. 20:50:00 »
Quote
Nem 1000h-s különbséggel nem működik. Ha a 82h-t is írod oda az LPT eleje kell, különben a következő reloadnál már csak csonka LPT-t fog olvasni. Ha meg az elejét írod, akkor ugrani fog a kép reloaddal. Reload nélküli írásnál meg csak az LPT végén lévő reloadnál vált át, így kép közben nem lehet többször váltani.
Semmi nem akadályoz meg téged abban, hogy (akár tobb váltás után) az LPT vége- n elhelyezett reload flag aktivalodasa elott beállítsd végul a helyes kezdő LPT címet a regiszterekbe.

Ezért mondom, hogy az 1000H -s módszer csupan egy egyszerűsítés, egy elegáns megoldás, de nem KÖTELEZŐ megoldás. Nem ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #111 on: 2013.April.27. 20:53:02 »
Feltéve persze, hogy nincs olyan, hogy ha a 82- be írsz, akkor automatikus reload van, egy harmadik reload forrásként, vagy ilyesmi ...

Tehát ha igaz az összefoglalásom.
Z80 System

Online Zozosoft

  • EP addict
  • *
  • Posts: 13260
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 20.0 Firefox 20.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #112 on: 2013.April.27. 20:58:46 »
Quote from: Z80System
Semmi nem akadályoz meg téged abban, hogy (akár tobb váltás után) az LPT vége- n elhelyezett reload flag aktivalodasa elott beállítsd végul a helyes kezdő LPT címet a regiszterekbe.

Ezért mondom, hogy az 1000H -s módszer csupan egy egyszerűsítés, egy elegáns megoldás, de nem KÖTELEZŐ megoldás. Nem ?
Nem kötelező de ez esetben jönne a következő probléma, hogy mit is írjunk 82h-ra? Tudni kéne, hogy éppen melyik sorban jár a Nick, hogy a másik LPT következő LPB-jének a címét kiszámoljuk.

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #113 on: 2013.April.27. 21:04:28 »
Quote
Nem kötelező de ez esetben jönne a következő probléma, hogy mit is írjunk 82h-ra? Tudni kéne, hogy éppen melyik sorban jár a Nick, hogy a másik LPT következő LPB-jének a címét kiszámoljuk.
Igen, de természetesen ez is megoldható lenne, kombinálva a video megszakokat, reload flag -eket az LPB -kben, illetve a megszakkezelőkben a címátírásokat esetleg force reload- okat.

De pont attól olyan elegáns az 1000H -s módszered, mert az egy huszárvágással minden szinkront a nick -re bíz, neked csak azzal kell törődj, hogy hol akarod a másikra kapcsolni a képet, és azt egyetlen byte átírásával tetszőleges időpillanatban megteheted.
« Last Edit: 2013.April.28. 09:53:53 by Z80System »
Z80 System

Offline IstvanV

  • EP addict
  • *
  • Posts: 4815
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 18.0 Firefox 18.0
    • View Profile
Re: Grafikai trükkök
« Reply #114 on: 2013.May.01. 19:51:15 »
Továbbfejlesztett scroll program:
* scroll2.com (0.97 kB - downloaded 159 times.)
* scroll.bin (80.91 kB - downloaded 152 times.)
* scroll2.s (14.77 kB - downloaded 164 times.)
Ez ugyan csak 24 karakter magas, viszont a kép adat tömörített, így 232 helyett 288 karakter a teljes szélesség, és 128K-s gépen is EXOS kompatibilis.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13260
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 20.0 Firefox 20.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #115 on: 2013.May.01. 20:19:16 »
Poén a kép :-) kicsit ütősebb mint a demó kazettán lévő berepülünk a gépbe grafika! :-)

Offline endi

  • EP addict
  • *
  • Posts: 6962
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Opera 9.80 Opera 9.80
    • View Profile
    • Honlapom
Re: Grafikai trükkök
« Reply #116 on: 2013.May.01. 20:30:52 »
Quote from: Zozosoft
Poén a kép :-) kicsit ütősebb mint a demó kazettán lévő berepülünk a gépbe grafika! :-)
jaja, ütős lett volna ezt kazettáról betölteni :P
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Online Zozosoft

  • EP addict
  • *
  • Posts: 13260
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 20.0 Firefox 20.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #117 on: 2013.May.01. 20:40:39 »
Quote from: endi
jaja, ütős lett volna ezt kazettáról betölteni :P
Nasa&Guy demók is voltak ekkorák (fájlméretre) , és azokat bőven töltögettük magnóról.

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #118 on: 2013.May.01. 22:04:54 »
István, szerinted is igaz az, hogy valószínűleg a nick bárhogyan kap reload flag -et, akár lpb -ből, akár 83h port bittől, előszor meg fogja várni az aktuálisan kirajzolt lpb végét, és csak utána tölt majd újra ?
Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3836
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 26.0.1410.64 Chrome 26.0.1410.64
    • View Profile
Re: Grafikai trükkök
« Reply #119 on: 2013.May.01. 22:06:17 »
Az vajon miért van, hogy az exos leírásban az szerepel, hogy a 83h port -ra először írjuk ki simán az értéket, majd az értéket a b6 -tal megtolva, és utána előzőt b7 -tel megtoldva ?
Z80 System