Welcome, Guest. Please login or register.


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

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #510 on: 2017.February.25. 21:57:37 »
Igen.

Az 50 Hz-es megszakításon ebben a verzióban sikerült egy keveset gyorsítani, illetve a lejátszáson is 1 ciklust (most 9991 Hz-es). A kód egy részét csak akkor frissíti, ha változik a hullámforma, de ez csak akkor éri meg, ha legfeljebb egy csatornán változik, tehát nem biztos, hogy jó ötlet. Bár az ~1000 ciklus futásidőhöz képest egyik irányban sem jelent nagy eltérést.
Nagyon tetszik a módosítás, legfőképp a 4,7,10,13-as eltolás, sose jutott volna eszembe ez a megoldás, én a legkevesebb írás melletti megoldásban gondolkoztam, az eszembe se jutott, hogy esetleg meg lehetne oldani írás nélkül is (vagyis gondolkoztam, hogy lehetne-e, és úgy láttam nem, pedig de :D ) Az önmódosító kódban az LD BC,xxxx C írásának kihagyása is marha jó, úgyse használja a program semmire :lol:
A kódfrissítéses megoldás nekem is eszembe jutott, de amit én csináltam volna 4-12 T-State-tel hosszabb lett volna :D
A TZX generáló CPP-t te csináltad?

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #511 on: 2017.February.25. 22:05:48 »
Úgy hallom a gyorsítás jó hatással lett a lejátszásra, kevésbé torzulnak el a magas hangok.
Amúgy amikor szóba került a spectrum változat, én ilyen minőségre nem gondoltam, azt hittem ettől rosszabb lesz.
« Last Edit: 2017.February.25. 22:15:19 by geco »

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #512 on: 2017.February.25. 22:15:52 »
A TZX generáló CPP-t te csináltad?

Igen, ugyanezt használtam a Specball-ban is, csak ott még volt tömörítés is.

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 #513 on: 2017.February.25. 22:24:33 »
Úgy hallom a gyorsítás jó hatással lett a lejátszásra, kevésbé torzulnak el a magas hangok.
Amúgy amikor szóba került a spectrum változat, én ilyen minőségre nem gondoltam, azt hittem ettől rosszabb lesz.

én sejtettem hogy jó lehet, 16 hangerő lépcső se rossz ám :)
amúgy a c64-nek hány bites a d/a-ja? én ott is valami 4 bitre emlékszem
Vigyázat! Szektás vagyok! :)

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #514 on: 2017.February.25. 22:24:48 »
Igen, ugyanezt használtam a Specball-ban is, csak ott még volt tömörítés is.
Szép :)

Offline geco

  • EP addict
  • *
  • Posts: 7224
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #515 on: 2017.February.25. 22:26:39 »
én sejtettem hogy jó lehet, 16 hangerő lépcső se rossz ám :)
amúgy a c64-nek hány bites a d/a-ja? én ott is valami 4 bitre emlékszem
Ja, nem a 16 hangerő lépcső miatt gondoltam, hanem az 50Hz-es vezérlő rutin miatti torzítás miatt, meg azt hittem, hogy a 10KHz-es lejátszás nem jön majd ki a mecerásabb AY portírás miatt.
Én is :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #516 on: 2017.February.25. 22:38:17 »
amúgy a c64-nek hány bites a d/a-ja? én ott is valami 4 bitre emlékszem

4 bites a hangerő és az ADSR regiszterek, de a DAC 12 bites, amit csak a fűrészjel használ ki. A háromszögjel felbontása 11 bit, a zaj 8 bites. A burkológörbe generátor kimenete 8 bites.

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 #517 on: 2017.February.25. 22:47:24 »
4 bites a hangerő és az ADSR regiszterek, de a DAC 12 bites, amit csak a fűrészjel használ ki. A háromszögjel felbontása 11 bit, a zaj 8 bites. A burkológörbe generátor kimenete 8 bites.

huh, ez hogy jött ki nekik? :D
érdekes...
na de ebből azért látszik hogy ezzel jó minőségű hangot lehet...
Vigyázat! Szektás vagyok! :)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1348
  • Country: hu
  • Stray cat from Commodore alley
Re: SID lejátszó
« Reply #518 on: 2017.February.25. 22:57:01 »
huh, ez hogy jött ki nekik? :D
érdekes...
na de ebből azért látszik hogy ezzel jó minőségű hangot lehet...
Gondolom a szokásos módon. Bob Yannes először nagyjából kitalálta mit szeretne csinálni, aztán megkapta az áramkör (~tranzisztor) keretet, és ami belefért az maradt. Tudomásom szerint az eredeti elképzelése a csókának egy 32 csatornás szintetizátor volt. Azután elment megalapítani az Ensoniqot.

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 #519 on: 2017.February.25. 23:05:23 »
Gondolom a szokásos módon. Bob Yannes először nagyjából kitalálta mit szeretne csinálni, aztán megkapta az áramkör (~tranzisztor) keretet, és ami belefért az maradt. Tudomásom szerint az eredeti elképzelése a csókának egy 32 csatornás szintetizátor volt. Azután elment megalapítani az Ensoniqot.

azon gondolkodtam hogy most az ep-s sid szimuláció alapján fel lehet mérni hogy hány Mhz-s z80 tudná teljesen jól szimulálni a c64-et.
szóval hogy annak idején 3-4 z80-ból (ha akkor még nem tudtak mondjuk 16Mhz-set csináln) meg egy 16 bites D/A-ból brutál dolgokat ki lehetett volna hozni :)
Vigyázat! Szektás vagyok! :)

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1348
  • Country: hu
  • Stray cat from Commodore alley
Re: SID lejátszó
« Reply #520 on: 2017.February.26. 10:34:14 »
azon gondolkodtam hogy most az ep-s sid szimuláció alapján fel lehet mérni hogy hány Mhz-s z80 tudná teljesen jól szimulálni a c64-et.
Nemigen. A SID szimuláció nagyon sima így ügy, de még sehol sincs a szűrő. Abból is kell kettő, és a megvalósításához mindenképp kell tudni szorozni. Után jön még a képernyőszervezés esetleges eltérései a szimuláló gépen a Commodore-féle megoldástól, amiről futás közben elég nehéz eldönteni, hogy egy képernyő területre történő írást konvertálni kell a szimulátor saját formátumára vagy azt éppen változatlan formában kell tárolni, mert nem képként van az a memória használva. Van még képpont szintű finom görgetés, ami mindig a nagyobbik felbontásban működik. Többszínű karakteres mód, amiben eldöntheted, hogy az adott karakterben többszínű vagy nagy felbontású ábrázolást szeretnél. Ott van még az ECM karakteres mód, ahol 64-re van korlátozva a karakterkészlet, de a felső két bittel kiválaszthatod négy háttérszín valamelyikét. Emlékezzünk még meg a két attributum memóriáról, amiből az egyik rögzített helyen van, a másikat viszont némi megszorítással szabadon lehet mozgatni a memóriában. És akkor ott vannak a szprájtok és a VIC-II "hibáinak" sokasága, amit valós időben kellene szoftverből emulálni. Emlékeim szerint a Pentium II vagy III kezdett el az a szint lenni, amikor már többé-kevésbé épkézláb emulációt lehetett előadni, de architekturálisan az olyan rendszerek fényévekre vannak a Z80-tól.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #521 on: 2017.February.26. 11:28:58 »
Módosított D/A táblázat, talán jobb az eddiginél, de biztosan hangosabb: :)
[ Guests cannot view attachments ]

A táblázatot generáló program (ay_da_opt.cpp) több paramétert támogat, és a kimenet alapján egy "dac.raw" file-t is készít, ami a hullámforma összehasonlítására használható.

Esetleg érdemes lehetne még a lejátszót tömöríteni, bár ez csak néhány másodperccel rövidíti a betöltést.

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 #522 on: 2017.February.26. 12:24:27 »
Nemigen. A SID szimuláció nagyon sima így ügy, de még sehol sincs a szűrő. Abból is kell kettő, és a megvalósításához mindenképp kell tudni szorozni. Után jön még a képernyőszervezés esetleges eltérései a szimuláló gépen a Commodore-féle megoldástól, amiről futás közben elég nehéz eldönteni, hogy egy képernyő területre történő írást konvertálni kell a szimulátor saját formátumára vagy azt éppen változatlan formában kell tárolni, mert nem képként van az a memória használva. Van még képpont szintű finom görgetés, ami mindig a nagyobbik felbontásban működik. Többszínű karakteres mód, amiben eldöntheted, hogy az adott karakterben többszínű vagy nagy felbontású ábrázolást szeretnél. Ott van még az ECM karakteres mód, ahol 64-re van korlátozva a karakterkészlet, de a felső két bittel kiválaszthatod négy háttérszín valamelyikét. Emlékezzünk még meg a két attributum memóriáról, amiből az egyik rögzített helyen van, a másikat viszont némi megszorítással szabadon lehet mozgatni a memóriában. És akkor ott vannak a szprájtok és a VIC-II "hibáinak" sokasága, amit valós időben kellene szoftverből emulálni. Emlékeim szerint a Pentium II vagy III kezdett el az a szint lenni, amikor már többé-kevésbé épkézláb emulációt lehetett előadni, de architekturálisan az olyan rendszerek fényévekre vannak a Z80-tól.

bocs, rosszul fogalmaztam, csak konkrétan a sid-re gondoltam most.
viszonylag olcsón ki lehetett volna hozni egy jó szintit, új proci tervezése nélkül, simán z80-ra alapulva, na persze jó szoftverrel
Vigyázat! Szektás vagyok! :)

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 #523 on: 2017.February.26. 14:35:34 »
pl ha a specy (vagy akár a zx81!) kapott volna 1 darab szerencsétlen D/A-t (még 4 bites is elég lett volna), akkor már ezeken a gépeken elindult volna a "mod zene" korszak. na jó, zx81-en az 1Kb memória miatt nem nagyon, de 48k-val már simán. :)
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #524 on: 2017.February.26. 15:29:39 »
Még egy keveset sikerült gyorsítani az 50 Hz-es megszakításon (szerk.: bugos a lejátszás végén, még javítani kell :oops:):
[ Guests cannot view attachments ]