Player SID-ów na c64
Player SID-ów na c64
Niestety... ten oryginalny nie mieści mi się miedzy kolejnymi wywołaniami przerwań. Czy ma ktoś może jakąś szybszą wersję? Albo może pokrojony na części ? może chociaż źródłówka
Bo pecet to zwykły banan...
Co to znaczy "oryginalny player sidow"? Chodzi ci o taki player ktory robi JSR $1003 czy player wewnetrzny zaka?
Dla zwyklego playera na czas wywolania mozesz wylaczyc rejestry (LDA #$30 STA $01) i pociac go przerwaniami. Pod koniec ramki wlaczasz rejestry i przepisujesz wszystko z RAMu do SIDa. Dzwiek bedzie czysty jak stol Durczoka po opierdolu.
A jesli juz koniecznie chcesz pociac wywolanie zaka na czesci bez przerwan to trik polega na odegraniu jednego kanalu przy jednym wywolaniu. Pewnie nie kazdy zak da sie w ten sposob odegrac, ale kuknij w kod playera, poszukaj jakiegos skoku ktory jest powtorzony 3 razy, a pozniej metoda prob i bledow. Pewnie bedziesz musial dopisac troche kodu.
Dla zwyklego playera na czas wywolania mozesz wylaczyc rejestry (LDA #$30 STA $01) i pociac go przerwaniami. Pod koniec ramki wlaczasz rejestry i przepisujesz wszystko z RAMu do SIDa. Dzwiek bedzie czysty jak stol Durczoka po opierdolu.
A jesli juz koniecznie chcesz pociac wywolanie zaka na czesci bez przerwan to trik polega na odegraniu jednego kanalu przy jednym wywolaniu. Pewnie nie kazdy zak da sie w ten sposob odegrac, ale kuknij w kod playera, poszukaj jakiegos skoku ktory jest powtorzony 3 razy, a pozniej metoda prob i bledow. Pewnie bedziesz musial dopisac troche kodu.
No mam na myśli ten wewntęrzny który jest razem z zakiem(-ami) w plikach *.sid - czasami zresztą kilka razy się powtarza.prezes pisze:Co to znaczy "oryginalny player sidow"? Chodzi ci o taki player ktory robi JSR $1003 czy player wewnetrzny zaka?
czyli w zasadzie zmodyfikować zaka przy odwołaniach bezpośrednio do rejestrów sid-a?prezes pisze: Dla zwyklego playera na czas wywolania mozesz wylaczyc rejestry (LDA #$30 STA $01) i pociac go przerwaniami. Pod koniec ramki wlaczasz rejestry i przepisujesz wszystko z RAMu do SIDa. Dzwiek bedzie czysty jak stol Durczoka po opierdolu.
No właśnie ma może ktoś źródłówkę, bo wtedy zlokalizoawnie takiej pętli będzie znacznie łatwiejsze niż przeglądanie w monitorze.prezes pisze: A jesli juz koniecznie chcesz pociac wywolanie zaka na czesci bez przerwan to trik polega na odegraniu jednego kanalu przy jednym wywolaniu. Pewnie nie kazdy zak da sie w ten sposob odegrac, ale kuknij w kod playera, poszukaj jakiegos skoku ktory jest powtorzony 3 razy, a pozniej metoda prob i bledow. Pewnie bedziesz musial dopisac troche kodu.
W każdym razie dzięki za sugestie!
Bo pecet to zwykły banan...
Kolejne stadium wirtualizacji emularorowej - synonimem "oryginalnego playera" do zakow jest teraz sidplayer.No mam na myśli ten wewntęrzny który jest razem z zakiem(-ami) w plikach *.sid
Twoje pytanie jest o tyle dziwne, ze AFAIR pliki .sid (w formacie PSID) maja w srodku samego zaka, a odgrywaniem zajmuja sie przerwania programu sidplayer/winamp/xmms, chyba ze sa sample - wtedy podpiety jest custom player (RSID).
Tutaj masz specyfikacje PSID/RSID:http://cpansearch.perl.org/src/LALA/Aud ... format.txt
Strona projektu Sidplay2:http://sidplay2.sourceforge.net/
Zaka nie dotykasz. Przepisujesz tylko zawartosci rejestrow czyli adres $D400 - $D41F.czyli w zasadzie zmodyfikować zaka przy odwołaniach bezpośrednio do rejestrów sid-a?
O zrodla do Hardtracka pytaj Brusha/Esm. W temacie kodowania playerow siedzial niegdys mocno Glover/Samar. O samplach rozmawiaj z Ramosem.No właśnie ma może ktoś źródłówkę
eeee... noooo nie miałem tego na myśli - uważałem, że do odgrywania plików *.sid na c64 jest tylko jeden standart (a może jest ??).prezes pisze:Kolejne stadium wirtualizacji emularorowej - synonimem "oryginalnego playera" do zakow jest teraz sidplayer.No mam na myśli ten wewntęrzny który jest razem z zakiem(-ami) w plikach *.sid
Przyznaje także, że muzyka na c64 to moja największa pięta achillesowa.
No właśnie sęk w tym, że akurat ten plik *.sid do którego próbuję - nie dość, że ma zlepione ze sobą kilkanaście utworów to jeszcze między nimi są trzy playery - oznaczone ROMUZAK i nie są to sample.prezes pisze: Twoje pytanie jest o tyle dziwne, ze AFAIR pliki .sid (w formacie PSID) maja w srodku samego zaka, a odgrywaniem zajmuja sie przerwania programu sidplayer/winamp/xmms, chyba ze sa sample - wtedy podpiety jest custom player (RSID).
Wyłuskałem ten który chciałem i działa ... jeno za dużo wpiernicza mi ramki.
Nawet już dobrałem się do podzielenia pętli generatorów (jak zasugerowałeś), ale niestety nawet "pojedyńczo" nie znalazłem tyle wolnego rastra i zdarza się szarpnąć moje cenne wycyklowane ramki
Swoją drogą to troche dużo żre - żeby jedna iteracja (dla jednego tracka) pożerała nawet do dwudziestu kilku rastrów to dla mnie przesada (co prawda przy wyświetlanych sprite'ach).
to mi nie wiele pomaga i już widziałem -chyba tylko szybkość odtwarzania jest w tym nagłówku dla SID-a istotna.prezes pisze: Tutaj masz specyfikacje PSID/RSID:http://cpansearch.perl.org/src/LALA/Aud ... format.txt
sprytne, ale ja potrzebuje rejestrów do VIC-a.prezes pisze: Zaka nie dotykasz. Przepisujesz tylko zawartosci rejestrow czyli adres $D400 - $D41F.
@kotrobot: dzięki za linka, ale nie moge sobie poradzić z dostosowaniem tego kodu (poległem na instrumentach).
może źródłówka ROMUZAK,ma ktoś coś takiego ?
i oczywiście thx 4 replay
Bo pecet to zwykły banan...
Rozumiem, że chodzi Ci o źródłówkę playera Romuzaka? Well, można ją sobie samemu zrobić. Turbo Reassemblerem Jak byś był zainteresowany, to priv.
http://www.riversedge.pl/ - Zapraszam na nową odsłonę mojej strony z artykułami i galerią! Scena C64, wywiady, relacje z koncertów etc.
Na poczatku procedury obslugi przerwania ustawiasz wartosc $01, na koncu przed RTI ja przywracasz.sprytne, ale ja potrzebuje rejestrów do VIC-a.
http://noname.c64.org/csdb/release/?id=17814
Nie znam tego edytora. Moze on tak po prostu ma.
W normalnych warunkach wywolanie playera nie powinno zajac wiecej niz 30 linii, Ceteris Paribus.
Daj linka do zaka jesli jest w HVSC.
Rozumiem zasade, ale w przypadku nie mieszczenia się w czasie i tak to mi nic nie pomoże. Musze muzykę robic w przerwaniach gdyż cały czas leci program również poza nimi, który czasem zabiera wiecej niż 1 ramkę - a więc dzwięk by nie trzymał synchronizacji.prezes pisze: Na poczatku procedury obslugi przerwania ustawiasz wartosc $01, na koncu przed RTI ja przywracasz.
Zostało mi za mało miejsca miedzy kolejnymi wywolaniami irq (a mam ich kilkanaście i to jeszcze ruchomych) wiec zostalo tylko ciąc kod playera - ale już jestem chyba na dobrej drodze i pociałem to w koncu w zadowalający sposób.
kod playera ROMUZAK mam juz zdisasemblowany (dzieki 64COPY) i jak ktos chce to juz sam moge udostepnic
Dzieki za pomoc!!
Bo pecet to zwykły banan...
Twój problem, Skull polega na tym, ze Romuzak, o ile dobrze pamietam, to jest player, ktory zajmuje strasznie duzo czasu rastra.
Nie ma czegoś takiego jak "oryginalny player"
A nie mozesz sobie uzyc jakiejs innej muzyczki, z playerem, ktory nie zżera tyle ramy? Tylko akurat musi to być muza napisana na Romuzaku ?
Mozesz tez spróbować pewnego triku, który zrobił Geir - facet w jakis sposób przekodowal player Future Composera, który okazuje się, może zajmować 2x mniej ramy (albo i jeszcze mniej). Zobacz sobie http://noname.c64.org/csdb/release/?id=76493
Nie ma czegoś takiego jak "oryginalny player"
A nie mozesz sobie uzyc jakiejs innej muzyczki, z playerem, ktory nie zżera tyle ramy? Tylko akurat musi to być muza napisana na Romuzaku ?
Mozesz tez spróbować pewnego triku, który zrobił Geir - facet w jakis sposób przekodowal player Future Composera, który okazuje się, może zajmować 2x mniej ramy (albo i jeszcze mniej). Zobacz sobie http://noname.c64.org/csdb/release/?id=76493
Takibardzodługipodpissetuszczelecobyśmiałchwilkęoddechuaizadumymożeewentualniewkurtegozestraciłeśpółminutyżycianaczytanietekstuoniczym.
Nie wczytałeś się - napisałem, że już sobie poradziłem.booker pisze:Twój problem, Skull ...
Muzyczka, akurat ta mi najbardziej pasuje ew. ktoś musiał by mi ją przepisać w jakimś innym playerze .
Cały player praktycznie rozłożyłem na czynniki pierwsze - każdy kanał wywołuje indywidualnie, a także inne stosowne moduły playera, zapętlanie itd. Udało mi się też pewne części zoptymalizować, albo nawet wyciąć (szczególnie to zabezpieczenie). Może się jeszcze nie podpisze pod zmodyfikowanym playerem, ale już nie wieleby brakowało
Także przystosowałem podmiane danych dla tracków i instrumentów oraz patternów (czy jak to tam się zwie).
W efekcie muzyczka już nie stwarza żadnych problemów.
Jeszcze raz dziękuję za pomoc.
Bo pecet to zwykły banan...
Booker, dzisiaj wniose pozew do Nitra o ostrzezenie ciebie za powierzchowne czytanie postów. To karygodne. FAQ/Manuala tez pewnie nie przeczytales. Do miecza!
Ten post wyraża moją opinię w dniu dzisiejszym.Nie może on służyć przeciwko mnie w dniu jutrzejszym,ani każdym innym następującym po tym terminie.Ponadto zastrzegam sobie prawo zmiany poglądów bez podania przyczyny.
Gorzej niż żona.leming pisze:Booker, dzisiaj wniose pozew do Nitra o ostrzezenie ciebie za powierzchowne czytanie postów. To karygodne. FAQ/Manuala tez pewnie nie przeczytales. Do miecza!
Takibardzodługipodpissetuszczelecobyśmiałchwilkęoddechuaizadumymożeewentualniewkurtegozestraciłeśpółminutyżycianaczytanietekstuoniczym.