Welcome, Guest. Please login or register.


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

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #765 on: 2017.April.17. 21:27:11 »
Az LPT-t valójában részben én rontottam el, de a státuszsor korábban is hibás volt (margók).
Átállítottam a 46-os szélességre? :oops:
Kisebb optimalizálás az előző változathoz képest, de kevesebb szabad hely marad a vermben (-5 byte):
Az szerintem még bőven belefér :), akkor lehetnénk szerintem bajba, ha vezérlés alatt meghívódna a vezérlés még párszor :D
A kicsomagolásra várakozás hibás volt, ezt javítottam, néhány további (minimális) optimalizálás mellett.
hm, ki tudja milyen hibákat vétettem még? :oops:
A héten csekkolom :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14710
  • Country: hu
    • http://enterprise.iko.hu/
Re: SID lejátszó
« Reply #766 on: 2017.April.17. 21:29:59 »
Erről jut eszembe, hogy a szövegeket lehetne 1-2 karakterrel beljebb tenni, mert némely monitoron kilóg :oops:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #767 on: 2017.April.17. 21:45:40 »
Átállítottam a 46-os szélességre?

Akkor fordul elő probléma, ha a státuszsor eredetileg nem volt látható, ilyenkor az EXOS a jobb margót 51 helyett 52-re állítja. A lejátszó pedig a bal margót 11-re, így azonban 41 karakter jelenik meg és az utolsó szemét lehet. A javítás mindkét margót állítja (11 és 51).

Quote
Az szerintem még bőven belefér :), akkor lehetnénk szerintem bajba, ha vezérlés alatt meghívódna a vezérlés még párszor :D

Az újabb változatban (további kód növekedés után) már átkerült 0000h kezdőcímre, így a hely biztosan nem probléma. :) Bár valószínűleg a módosítás nélkül sem lett volna.

Quote
hm, ki tudja milyen hibákat vétettem még?

Ez a hiba az egyik korábbi változtatásom eredménye volt :oops:, hiányzott egy POP AF.

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #768 on: 2017.April.18. 08:38:33 »
Az újabb változatban (további kód növekedés után) már átkerült 0000h kezdőcímre, így a hely biztosan nem probléma. :) Bár valószínűleg a módosítás nélkül sem lett volna.
:)
Ez a hiba az egyik korábbi változtatásom eredménye volt :oops:, hiányzott egy POP AF.
Pedig hibákat én szoktam véteni ;)

Erről jut eszembe, hogy a szövegeket lehetne 1-2 karakterrel beljebb tenni, mert némely monitoron kilóg :oops:
Megnézem hogy néz ki, és annak függvényében elintézem az 1, vagy két karakteres tolást. :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #769 on: 2017.April.18. 08:55:31 »
:)Pedig hibákat én szoktam véteni ;)
Megnézem hogy néz ki, és annak függvényében elintézem az 1, vagy két karakteres tolást. :)

Még lehetne javítani hogy a sidSynth.irqRet1 helyett a "display" előtti POP AF-re ugorjon, így a várakozás közben működik a kijelzés és a billentyűzet is, bár ezek nélkül valamivel rövidebb a várakozás. Egyébként az IK lejátszása közben 2-3 másodperc közötti kicsomagolási idők fordulnak elő, a 150 Hz-es Paperboy esetében általában 1 másodperc alattiak, a 200 Hz-es HVSC-nél pedig 1 másodpercnél valamivel hosszabbak.

Szerk.: az "emu" konfiguráció nem működik (ilyennel még nem próbáltam), ezt hamarosan javítom.
« Last Edit: 2017.April.18. 09:52:48 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #770 on: 2017.April.18. 10:13:23 »
Ezek a kicsomagolási idők teljesen jók, még a régebbi verziónál úgy emlékszem 3-4 másodperc előfordult 50Hz-en.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #771 on: 2017.April.18. 11:16:00 »
Emulátoros konfiguráció javítva, illetve egyszerűbb is lett a kód, mivel mindig a getSIDPlaybackFreq-t használja a tényleges mintavételezési frekvencia mérésére. Kicsomagolásra várakozás közben működik a video megszakítás, és a 11905 Hz-es lejátszási frekvenciát 120 Hz-ig használja a program (bár nem tudom, valóban van-e 120 Hz-es file).

[ Guests cannot view attachments ]

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #772 on: 2017.April.18. 11:30:36 »
Emulátoros konfiguráció javítva, illetve egyszerűbb is lett a kód, mivel mindig a getSIDPlaybackFreq-t használja a tényleges mintavételezési frekvencia mérésére. Kicsomagolásra várakozás közben működik a video megszakítás, és a 11905 Hz-es lejátszási frekvenciát 120 Hz-ig használja a program (bár nem tudom, valóban van-e 120 Hz-es file).
:smt041
Ezen már gondolkoztam én is, hogy a köztes frekvenciáknak van-e értelme, de elméletileg lehet olyan elvetemült SID, ami mondjuk 110Hz-es megszakításon ketyeg, vagy épp 140-en :D

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #773 on: 2017.April.18. 13:28:21 »
Összevetettem a változásokat, tök jó csomót egyszerűsödött a ciklusváltozók számítása, a vezérlés is gyorsult egy picit :) , ha jól látom, most 40-300Hz között fogad el vezérlést, gyakorlatban nem lehet olyan SID, ami mondjuk 25Hz-es vezérléssel bír, és 300Hz fölötti? Vagy ez a ciklisváltozók számítása miatt lett ez a range?
Egy dolgot nem értek, a kód bugászása után sem, hogy a sidSynth (0000h)-n mi célt szolgál a 3 RET ? :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #774 on: 2017.April.18. 13:46:28 »
ha jól látom, most 40-300Hz között fogad el vezérlést, gyakorlatban nem lehet olyan SID, ami mondjuk 25Hz-es vezérléssel bír, és 300Hz fölötti?

25 Hz még működne 20 MHz-es gépen is (62500 / 250 / 10 Hz), tehát a 40 Hz minimum különösebb probléma nélkül 25-re csökkenthető. Bár a konvertáló programok jelenleg nem fogadnak el 50 Hz alatti sebességet. :oops: A 300 Hz valójában már nem működik 4 MHz-es gépen az első osztó 50-255 tartományra korlátozása miatt, ez a verzió csak 11364 / 50 = 227 Hz-ig használható, amit még javítani kellene.

Quote
Egy dolgot nem értek, a kód bugászása után sem, hogy a sidSynth (0000h)-n mi célt szolgál a 3 RET ? :)

Csak az IRQ rutin 0038h-ra igazítását, a hely kitöltése lehetne előtte is, vagy RET helyett nullákkal. Vagy 0000h helyett 0003h kezdőcím, de akkor azt módosításnál több helyen is változtatni kellene.

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #775 on: 2017.April.18. 13:57:41 »
25 Hz még működne 20 MHz-es gépen is (62500 / 250 / 10 Hz), tehát a 40 Hz minimum különösebb probléma nélkül 25-re csökkenthető. Bár a konvertáló programok jelenleg nem fogadnak el 50 Hz alatti sebességet. :oops: A 300 Hz valójában már nem működik 4 MHz-es gépen az első osztó 50-255 tartományra korlátozása miatt, ez a verzió csak 11364 / 50 = 227 Hz-ig használható, amit még javítani kellene.
És mintha ezt említetted is volna, nem kell javítani a konvertáló programokon, nagyon jók, ahogy vannak :) , nem tudom a konvertálásom alatt dobott-e ki alacsony vezérlési frekvenciát, szerintem nem, igaz nagyüzemben konvertáltam, nem figyeltem, 99%-ban a sikertelen konvertálások RSID-ek voltak.
Gondolom a második osztó növelésével ez megoldható lenne.
Csak az IRQ rutin 0038h-ra igazítását, a hely kitöltése lehetne előtte is, vagy RET helyett nullákkal. Vagy 0000h helyett 0003h kezdőcím, de akkor azt módosításnál több helyen is változtatni kellene.
Így már mindent értek :) A RET-ek miatt volt gyanús, azt hittem van valami funkciójuk is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #776 on: 2017.April.18. 14:03:17 »
A 300 Hz támogatására a legegyszerűbb megoldás itt (findFreqDiv) az 50-et 38-ra cserélni:
Code: ZiLOG Z80 Assembler
  1.         ld    a, c
  2.         cp    50
  3.         jr    c, .l6                    ; div1 < 50?

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #777 on: 2017.April.18. 14:11:57 »
A 300 Hz támogatására a legegyszerűbb megoldás itt (findFreqDiv) az 50-et 38-ra cserélni:
Code: ZiLOG Z80 Assembler
  1.         ld    a, c
  2.         cp    50
  3.         jr    c, .l6                    ; div1 < 50?
Oké, módosítottam is.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: SID lejátszó
« Reply #778 on: 2017.April.18. 14:36:32 »
Az ideális megoldás az lenne, hogy ne legyen alsó határ akkor, amikor a második osztó (div2) 1. Az 50 helyett 38 egyszerűbb, de előfordulhat, hogy minimálisan jobb pontosságért kevésbé CPU hatékony osztást választ a rutin, vagy akár kerekítési hibák miatt például 76*1 helyett 38*2-t.

Szerk.: 25 Hz minimum frekvencia, és a 300 Hz-es bug javítva:
[ Guests cannot view attachments ]
« Last Edit: 2017.April.18. 18:36:33 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7070
  • Country: hu
    • Támogató Támogató
Re: SID lejátszó
« Reply #779 on: 2017.April.18. 19:09:50 »
A legfrissebb verzióban valami nem stimmel, az 50Hz-es SID-ek mindig jók, két gyorsabb SID-del szoktam tesztelni, a Paperboy, és a HVSC az alanyok, lejátszó betöltése után jók, viszont egy 50Hz-es után már rosszak a az osztók, mintha az első ciklusváltozó maradna az 50Hz-esé, a második pedig 1-re vált.
Lehet megtaláltam a javítást, amikor visszaírom a következőt új számítás előtt 0ffffh-ra, akkor jó lesz a számítás:
Code: [Select]
.l4:    ld    bc, 0ffffh                ; * err
« Last Edit: 2017.April.18. 19:15:33 by geco »