Welcome, Guest. Please login or register.


Author Topic: SID lejátszó (Read 249514 times)

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #480 on: 2017.February.23. 20:50:37 »
Akkor viszont ez hiba az emulációban, feltéve hogy nincs a különböző Spectrum változatok között eltérés. :oops:
Van, csak hogy jó legyen, nem tudom hogy ebben van-e, de a késleltetési értékekben igen.
Éééés, ez az oldal már azt mondja, hogy van késleltetés a c000-ffff port io-n is :D
a memóriára ezt találtam

Ez tutinak tűnik, de itt nincs 128K

És a WOS mondta azt, hogy még 128Ks gépen sincs késleltetés a c000-ffff portíráskor ha lassú memória van belapozva

Tuti az emulátor, ZXNET is késleltetést mutat, vagy én értettem félre a WOS-t, vagy azok beszélnek mellé :D

Itt találtam pár ULA test programot
« Last Edit: 2017.February.23. 20:57:35 by geco »

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #481 on: 2017.February.23. 21:02:17 »
és a WOS fórumon is írták, hogy rossz a wiki

Bocs az első félrevezető infóért, sajnos azt találtam meg először, és bocs a topic offolásáért is :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #482 on: 2017.February.23. 21:07:06 »
Ez a teszt program is jónak mutatja az emulációt:
[ Guests cannot view attachments ]

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #483 on: 2017.February.23. 21:19:22 »
Ez a teszt program is jónak mutatja az emulációt:
Még egyszer bocs, a rossz linkbe futottam bele elsőre, azt gondoltam volna a WOS pontos.
Közben megcsináltam a gyors verziót, ugyanarra a volume regiszterre kiírni mindent , amiit el is lehet felejteni, roszz a minősége :lol:

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: SID lejátszó
« Reply #484 on: 2017.February.23. 21:38:34 »
Még egyszer bocs, a rossz linkbe futottam bele elsőre, azt gondoltam volna a WOS pontos.
Közben megcsináltam a gyors verziót, ugyanarra a volume regiszterre kiírni mindent , amiit el is lehet felejteni, roszz a minősége :lol:

nem semmi :)
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #485 on: 2017.February.24. 09:22:12 »
A sebességen még a hullámforma is változtat egy keveset, a négyszögjel 3 ciklussal gyorsabb a többinél.

Az I/O várakozás miatti lassulást esetleg el lehetne kerülni azzal, ha a megszakítás kezelő rutin egyszerűen gyors memóriát lapozna a 3. lapra visszatéréskor. Ezzel ugyan lassulna az 50 Hz-es megszakítás kezelése, de nem lenne "nyávogás" a contended I/O miatt.

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #486 on: 2017.February.24. 10:40:08 »
A sebességen még a hullámforma is változtat egy keveset, a négyszögjel 3 ciklussal gyorsabb a többinél.

Az I/O várakozás miatti lassulást esetleg el lehetne kerülni azzal, ha a megszakítás kezelő rutin egyszerűen gyors memóriát lapozna a 3. lapra visszatéréskor. Ezzel ugyan lassulna az 50 Hz-es megszakítás kezelése, de nem lenne "nyávogás" a contended I/O miatt.
Húúú, ez nagyon jó ötlet, én sokkal macerásabbra gondoltam, van 3 NOP-unk (és még ez se pontos) az időzítés miatt, ezt cserélném le lassú memória esetén 2 NOP-ra, gyorsnál egy 18h,00h-ra, de ezt el is dobtam akkor, fixen belapozom majd akkor a 00h-s lapot a megszakítás végén, az elején meg az épp aktuálisat.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #487 on: 2017.February.24. 12:20:11 »
Próbálkozás táblázatos D/A konverzió megvalósítására:
Code: ZiLOG Z80 Assembler
  1. ; BC' = 0c0fdh
  2. ; DE' = 080ah
  3.         exx                             ;   4
  4.         ld      l, a                    ;   8
  5.         ld      h, high dacTable        ;  15
  6.         out     (c), d                  ;  27
  7.         inc     d                       ;  31
  8.         outi                            ;  47
  9.         inc     b                       ;  51
  10.         inc     h                       ;  55
  11.         out     (c), d                  ;  67
  12.         outd                            ;  83
  13.         inc     b                       ;  87
  14.         inc     h                       ;  91
  15.         out     (c), e                  ; 103
  16.         outi                            ; 119
  17.         inc     b                       ; 123
  18.         dec     d                       ; 127
  19.         exx                             ; 131
Ez feltételezi, hogy AY regisztert a C0FDh porton is lehet választani, ami nem biztos, hogy hordozható a különböző Spectrum változatok között. A sebesség lehetne jobb is, bár a kód többi részénél néhány ciklust meg lehet takarítani az OUT utasítások hiánya miatt, helyette egy átmeneti regiszterben kell összeadni a kimenetet (ami lehetne az IXL vagy IXH, vagy a D vagy E és az egyik csatorna fázis akkumulátora pedig DE helyett IX).

Probléma még a hullámforma miatti sebesség változás, ez nem tűnik egyszerűen megoldhatónak nagyobb/lassabb kód nélkül.

Gyűrűmoduláció effektus nem lesz?

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #488 on: 2017.February.24. 13:08:23 »
Gyűrűmoduláció effektus nem lesz?
Egyelőre azt kiszedtem ideiglenesen, úgy gondoltam, ha lesz idő rá akkor lesz, ha nem, akkor nem :)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: SID lejátszó
« Reply #489 on: 2017.February.24. 13:27:11 »
Közben megcsináltam a gyors verziót, ugyanarra a volume regiszterre kiírni mindent
Ennek a snapshotnak mit kéne csinálnia? Nekem a ZX emu nyílik meg kiinduló állapotban és hangyák is vannak rajta, de más nem.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14723
  • Country: hu
    • http://enterprise.iko.hu/
Re: SID lejátszó
« Reply #490 on: 2017.February.24. 13:30:56 »
Ennek a snapshotnak mit kéne csinálnia? Nekem a ZX emu nyílik meg kiinduló állapotban és hangyák is vannak rajta, de más nem.
Ha vársz sokat, akkor elkezd cincogni :-)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #491 on: 2017.February.24. 14:05:02 »
Egyelőre azt kiszedtem ideiglenesen, úgy gondoltam, ha lesz idő rá akkor lesz, ha nem, akkor nem :)

Jelenleg valamivel gyorsabb 10 kHz-nél (az 50 Hz-es megszakítás miatti lassulást nem számítva), a D/A 153 ciklust fogyaszt, a táblázatos módszerrel 163 (131 + 8 + 16 + 8 ) lenne, illetve a regiszterek eltérő használatával (IX - DE csere) 147 + néhány ciklus lassulás az egyik csatornánál. A NOP utasítások futásideje kb. megegyezik a gyűrűmodulációval (36 / 37 ciklus). Még azt kellene megoldani, hogy a négyszögjel ne legyen gyorsabb a többi hullámformánál, mert attól is "nyávog" a hang. Esetleg a ciklust lezáró JP utasítás ugorhatna 4, 7, 10 vagy 13 ciklus várakozásra.

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: SID lejátszó
« Reply #492 on: 2017.February.24. 14:30:32 »
Nem tudom mennyi hasznot hajthatna jelen probléma esetében, de a változó kódhossz elmaszkolására esetleg lehetne olyan önmódosító kódot használni, ami egy állandó idejű hangregiszter programozással indul a portok írásával, és a következő minták változó idejű kiválasztásával folytatódik, módosítva a rutin elejét az újonnan kiszámoltak értékek alapján. Sajnos ez fáziskésést okoz a lejátszásban, és nem segít az esetleges időbeli átlapolódás kezelésében.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #493 on: 2017.February.24. 18:24:47 »
Próbálkozás táblázatos D/A konverzió megvalósítására:

Táblázat, egyelőre nem igazán jól optimalizálva:
[ Guests cannot view attachments ]

[ Guests cannot view attachments ]
« Last Edit: 2017.February.24. 20:37:21 by IstvanV »

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: SID lejátszó
« Reply #494 on: 2017.February.24. 20:48:14 »
Azok a kis kiugrások a jelszintben – jellemzően a amplitúdó váltás pillanatában – magához a regiszter íráshoz köthetőek, az írás közben előálló ideiglenes jelszintekhez, vagy valami máshoz?