Welcome, Guest. Please login or register.


Author Topic: Assembly programozás (Read 259065 times)

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #630 on: 2013.November.03. 12:18:39 »
Akkor stornó :), azt gondoltam, hogy 1-2 megszakításbeli (bájtbeli) eltérés lehet csak, és az nem okozna különösebb galibát.
Viszont egy dolog foglalkoztat, hogy lehet az alul/felüláteresztő szűrőt, és a ring modot leprogramozni?
Emléxem a működésüket leírtad, de nem tudtam feldolgozni :lol:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #631 on: 2013.November.03. 12:26:15 »
Quote from: geco
Viszont egy dolog foglalkoztat, hogy lehet az alul/felüláteresztő szűrőt, és a ring modot leprogramozni?
Ezt nem egészen értem, pontosan mit is kellene elmagyarázni ? :oops:

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #632 on: 2013.November.03. 12:39:54 »
Quote from: IstvanV
Ezt nem egészen értem, pontosan mit is kellene elmagyarázni ? :oops:
Hát mivel a működésüket nem bírtam felfogni :lol:, így a megvalósítása is elég távol áll tőlem, ha nem hosszú kód/bonyolult, akkor azt szeretném, hátha abból felfogom, hogy hogy is műxik ez digi hangok esetén.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #633 on: 2013.November.03. 12:43:11 »
D/A módban nem működnek ezek az effektusok.

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #634 on: 2013.November.03. 12:49:40 »
Na, akkor kifejtem, mire gondoltam, ugye ki tudjuk nyerni a SID regiszter értékeit, és D/A módban sikerült is tök egyszerű, pár bájtos samplékkal a fűrészjelet, és a háromszöget létrehozni, és az kezdett el foglalkoztatni, hogy vajon mennyire bonyolult leprogramozni az alul/felüláteresztő szűrő hatást így digi hangokra, elkezdtem utánanézni először itt, aztán meg a neten, de nem sok sikerrel jártam.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #635 on: 2013.November.03. 13:09:48 »
A SID effektusai eltérő módon működnek a DAVE-től, amely egyszerű "bináris" effektusokat használ logikai kapukkal. A SID-ben valódi, feszültségvezérelt analóg szűrő található, amelynek az elfogadható emulációjához egy 4 MHz-es Z80 valószínűleg nem elég. A négyszögjel kitöltési tényezőjének a változtatása viszont megoldható, és talán a gyűrűmoduláció is (bár meg kell néznem, hogy a SID-en a gyűrűmoduláció pontosan hogyan működik).

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #636 on: 2013.November.03. 13:15:17 »
sok idő se maradna rá szerintem, mert 20khz környékén kéne lejátszani a hangot, hogy jó legyen, legalábbis ezt tapasztaltam a tesztelgetés során.

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1299
  • Country: hu
  • Stray cat from Commodore alley
Re: Assembly programozás
« Reply #637 on: 2013.November.03. 13:50:45 »
Belekotty a SID gyűrűmodulációhoz. Emlékeim szerint csak a háromszögjelre működik úgy, hogy amikor a moduláló csatorna amplitúdója eléri a szélső értékeinek valamelyikét (bár lehet, hogy nem bármelyiket, hanem csak a maximumot), akkor vagy 180°-kal elfordítja a jel fázisát, vagy megfordítja a generáló jelet (tehát ha az amplitúdó emelkedő fázisban volt akkor csökkenni kezd és fordítva). Talán inkább az utóbbi az igaz.

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1299
  • Country: hu
  • Stray cat from Commodore alley
Re: Assembly programozás
« Reply #638 on: 2013.November.03. 13:59:11 »
Még egy belekotty. Ha jól értem geco a 20MHz-es lejátszás esetében arról beszél, hogy a szűrő nélküli, de hullámformákat és gyűrűmodulációt figyelembe vevő SID emuláció igényelne ekkora sebességet. Nos, plus/4-en már ezer éve létezik ilyen emuláció. Figyelembe véve a digitális hangreprodukció ottani meglehetősen korlátozott képességeit és a 7501/8501 sebességét, EP-n a hullámforma+ADSR emuláció simán működhetne a jelenlegi hardverrel, a plus/4-hez viszonyítva kifejezetten jó eredménnyel. Ha jól értettem, amiről geco beszélt.

Offline Z80System

  • EP addict
  • *
  • Posts: 3848
  • Country: hu
Re: Assembly programozás
« Reply #639 on: 2013.November.03. 18:20:15 »
Valami olyanra én is emlékszek, hogy a +4 -es cimbim egy időben teljesen tűzbe jött, hogy a hangszereket elkezdték digitálisan kelteni, de nem igazi sample -k voltak, hanem kód generálta a mintákat, amiket kiírtak digitálisan. Az ilyen zenéknek (mindíg csak "digi zene" -knek emlegette őket) volt nagyobb processzorigényük azért, de még mindíg be tudták rakni demók, esetleg játékok alá is.

Nekem persze csak egy újabb hangzású, még tompább és torzabb prüntyögésnek tűnt, mint addig ... :)
Z80 System

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #640 on: 2013.November.03. 20:53:55 »
Hát valójában csak azt teszteltem, hogy milyen frekin kell tolni a hangot, hogy ne torzítson, ez lett 20Khz, a gyűrűmodot nem néztem, igaz nem is tudtam volna :D Alacsonyabb sebességű playbacknél egyre rosszabb.

Offline geco

  • EP addict
  • *
  • Posts: 7120
  • Country: hu
    • Támogató Támogató
Re: Assembly programozás
« Reply #641 on: 2013.November.03. 21:11:47 »
Viszont az bíztató, hogy +4-en valamire sikerült jutni, igaz a processzora nem lassabb, mint az EP-é, de talán a z80 utasításkészletével, + a Dave adottságaival jobb minőséget lehetne kihozni.

Offline Povi

  • EP addict
  • *
  • Posts: 2300
  • Country: hu
    • http://povi.fw.hu
Re: Assembly programozás
« Reply #642 on: 2013.November.04. 08:05:25 »
Quote from: Ferro73
Engem olyan Link érdekelne ahol Z80 rutinok forrás kódjai található. Pl sorrendbe rendező; Hex2Dec; hex2ASCII; (nn)=HL*DE....
A hálón nem találom de lehet rosszul keresem. Emlékszem volt ilyen.
Nekem elveszett  
Esetleg a linkekhez is belehetne tenni. Vagy valahol az oldalon is lehetne gyűjteni a legjobbakat.
Előre is köszönöm
http://baze.au.com/misc/z80bits.html
*** Speicherplatz zu klein

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1299
  • Country: hu
  • Stray cat from Commodore alley
Re: Assembly programozás
« Reply #643 on: 2013.November.04. 08:16:59 »
Quote from: geco
Viszont az bíztató, hogy +4-en valamire sikerült jutni, igaz a processzora nem lassabb, mint az EP-é, de talán a z80 utasításkészletével, + a Dave adottságaival jobb minőséget lehetne kihozni.
Valahol valakik egyszer nagyjából konszenzusra jutottak hogy a Z80 2,2-szeres órajel mellett képes a 65XX-szel egyenlő teljesítményt leadni általános feladatok alatt. !!Nem én állítom, nem is óhajtok vitatkozni rajta, csak munkahipotézis!! Ezt és a +4 órajelét figyelembe véve, az EP még előnyben kellene hogy legyen.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Assembly programozás
« Reply #644 on: 2013.November.04. 11:45:03 »
A különbség attól is függ, hogy Plus/4-en engedélyezett-e a képernyő. Ha nem (az egész kép keret), akkor a fenti 2.2-es "Z80 lassulást" feltételezve 3.73 MHz-es (várakozás nélküli) Z80-nak felel meg, egyébként csak 2.51 MHz-esnek.

Egyes programok gyorsulást érnek el azzal, hogy a gépet NTSC módba kapcsolják, amivel 5 / 4 arányú "overclock" lehetséges. Így azonban nincs használható video kimenet, és a szabálytalan órajelet valószínűleg nem célszerű hosszabb ideig használni.

Létezik azonban "lassú" mód is, amelyben a CPU mindig egyszeres sebességgel fut (886723.75 Hz = ~1.95 MHz-es Z80). Ennek kikapcsolt képernyőnél lehet értelme, ha konstans sebességre és pontos időzítésre van szükség (például 1541 "turbó" töltőknél).