Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Player SID-ow na c64  (Przeczytany 1028 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« dnia: 04 Marca 2009, 07:10 »
Niestety... ten oryginalny nie miesci mi sie miedzy kolejnymi wywolaniami przerwan. Czy ma ktos moze jakas szybsza wersje? Albo moze pokrojony na czesci ? moze chociaz zrodlowka \"Smile\"



prezes__

  • Gość
Player SID-ow na c64
« Odpowiedź #1 dnia: 04 Marca 2009, 09:22 »
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.

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #2 dnia: 04 Marca 2009, 09:47 »
                   
prezes napisal:
Co to znaczy \"oryginalny player sidow\"? Chodzi ci o taki player ktory robi JSR $1003 czy player wewnetrzny zaka?

No mam na mysli ten wewnterzny ktory jest razem z zakiem(-ami) w plikach *.sid - czasami zreszta kilka razy sie powtarza.

                   
prezes napisal:

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.

czyli w zasadzie zmodyfikowac zaka przy odwolaniach bezposrednio do rejestrow sid-a?

                   
prezes napisal:

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 wlasnie ma moze ktos zrodlowke, bo wtedy zlokalizoawnie takiej petli bedzie znacznie latwiejsze niz przegladanie w monitorze.


W kazdym razie dzieki za sugestie!

prezes__

  • Gość
Player SID-ow na c64
« Odpowiedź #3 dnia: 04 Marca 2009, 15:27 »
                   
Cytat:
No mam na mysli ten wewnterzny ktory jest razem z zakiem(-ami) w plikach *.sid


Kolejne stadium wirtualizacji emularorowej - synonimem \"oryginalnego playera\" do zakow jest teraz sidplayer.  \"Shocked\"

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/Audio-SID-3.11/SID_file_format.txt

Strona projektu Sidplay2:http://sidplay2.sourceforge.net/

                   
Cytat:
czyli w zasadzie zmodyfikowac zaka przy odwolaniach bezposrednio do rejestrow sid-a?


Zaka nie dotykasz. Przepisujesz tylko zawartosci rejestrow czyli adres $D400 - $D41F.

                   
Cytat:
No wlasnie ma moze ktos zrodlowke


O zrodla do Hardtracka pytaj Brusha/Esm. W temacie kodowania playerow siedzial niegdys mocno Glover/Samar. O samplach rozmawiaj z Ramosem.

kotrobot__

  • Gość

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #5 dnia: 05 Marca 2009, 14:00 »
                   
prezes napisal:
                   
Cytat:
No mam na mysli ten wewnterzny ktory jest razem z zakiem(-ami) w plikach *.sid


Kolejne stadium wirtualizacji emularorowej - synonimem \"oryginalnego playera\" do zakow jest teraz sidplayer.  \"Shocked\"


eeee... noooo nie mialem tego na mysli - uwazalem, ze do odgrywania plikow *.sid na c64 jest tylko jeden standart (a moze jest ??).
Przyznaje takze, ze muzyka na c64 to moja najwieksza pieta achillesowa.

                   
prezes napisal:

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).


No wlasnie sek w tym, ze akurat ten plik *.sid do ktorego probuje - nie dosc, ze ma zlepione ze soba kilkanascie utworow to jeszcze miedzy nimi sa trzy playery - oznaczone ROMUZAK i nie sa to sample.
Wyluskalem ten ktory chcialem i dziala ... jeno za duzo wpiernicza mi ramki.
Nawet juz dobralem sie do podzielenia petli generatorow (jak zasugerowales), ale niestety nawet \"pojedynczo\" nie znalazlem tyle wolnego rastra i zdarza sie szarpnac moje cenne wycyklowane ramki \"Confused\"
Swoja droga to troche duzo zre - zeby jedna iteracja (dla jednego tracka) pozerala nawet do dwudziestu kilku rastrow to dla mnie przesada (co prawda przy wyswietlanych sprite\'ach).  

                   
prezes napisal:

Tutaj masz specyfikacje PSID/RSID:http://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txt

to mi nie wiele pomaga i juz widzialem -chyba tylko szybkosc odtwarzania jest w tym naglowku dla SID-a istotna.

                   
prezes napisal:

Zaka nie dotykasz. Przepisujesz tylko zawartosci rejestrow czyli adres $D400 - $D41F.


sprytne, ale ja potrzebuje rejestrow do VIC-a.


@kotrobot: dzieki za linka, ale nie moge sobie poradzic z dostosowaniem tego kodu (poleglem na instrumentach).

moze zrodlowka ROMUZAK,ma ktos cos takiego ?

i oczywiscie thx 4 replay

Offline V-12/Tropyx

  • Level 7
  • *******
  • Wiadomości: 2765
  • 0ldsk00l 4ever!
    • http://www.riversedge.pl/
Player SID-ow na c64
« Odpowiedź #6 dnia: 05 Marca 2009, 14:26 »
Rozumiem, ze chodzi Ci o zrodlowke playera Romuzaka? Well, mozna ja sobie samemu zrobic. Turbo Reassemblerem \"Smile\" Jak bys byl zainteresowany, to priv.
http://www.riversedge.pl/ - zapraszam na nową stronę: recenzje, relacje, strefa C64.

Serwis Commodore 64/1541 - naprawa/diagnoza.
Zawsze aktualne!

prezes__

  • Gość
Player SID-ow na c64
« Odpowiedź #7 dnia: 05 Marca 2009, 15:13 »
                   
Cytat:
sprytne, ale ja potrzebuje rejestrow do VIC-a.


Na poczatku procedury obslugi przerwania ustawiasz wartosc $01, na koncu przed RTI ja przywracasz.

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.

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #8 dnia: 07 Marca 2009, 21:45 »
                   
prezes napisal:

Na poczatku procedury obslugi przerwania ustawiasz wartosc $01, na koncu przed RTI ja przywracasz.

Rozumiem zasade, ale w przypadku nie mieszczenia sie w czasie i tak to mi nic nie pomoze. Musze muzyke robic w przerwaniach gdyz caly czas leci program rowniez poza nimi, ktory czasem zabiera wiecej niz 1 ramke - a wiec dzwiek by nie trzymal synchronizacji.
Zostalo mi za malo miejsca miedzy kolejnymi wywolaniami irq (a mam ich kilkanascie i to jeszcze ruchomych) wiec zostalo tylko ciac kod playera - ale juz jestem chyba na dobrej drodze i pocialem to w koncu w zadowalajacy sposob.
kod playera ROMUZAK mam juz zdisasemblowany (dzieki 64COPY) i jak ktos chce to juz sam moge udostepnic \"Smile\"

Dzieki za pomoc!!

fenek__

  • Gość
Player SID-ow na c64
« Odpowiedź #9 dnia: 29 Marca 2009, 13:33 »
KOD ktory masz wrzucony w przerwania IRQ mozesz zrobic na timerach i dac je jako przerwania NMI, a muzyke wrzucic w IRQ.
IRQ bedzie odgrywac muzyke a NMI bedzie je przerywac na to co chcesz\\
zrobic. Czas grania muzyki wydluzy sie i moze ona inaczej brzmiec niz
w oryginale.

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #10 dnia: 30 Marca 2009, 06:42 »
To tez ciekawe rozwiazanie, ale juz pocialem tego playera i chodzi ladnie. Co ciekawsze, przy wyjsciu z procedury mial jeszcze zabezpieczenie sprawdzajace kilka danych (glownie tekst autora i takie takie :P ) - wycialem i troszke \"przyspieszyl\".
Pozdro

prezes__

  • Gość
Player SID-ow na c64
« Odpowiedź #11 dnia: 30 Marca 2009, 07:50 »
                   
Cytat:
zabezpieczenie sprawdzajace kilka danych (glownie tekst autora i takie takie :P )


A tak z czystej ciekawosci - czyje to?

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #12 dnia: 30 Marca 2009, 08:48 »
                   
prezes napisal:
                   
Cytat:
zabezpieczenie sprawdzajace kilka danych (glownie tekst autora i takie takie :P )


A tak z czystej ciekawosci - czyje to?



** ROMUZAK V6.3 BY OLIVER BLASNIK, DIGITAL MARKETING!! 02435-1295!! **

booker__

  • Gość
Player SID-ow na c64
« Odpowiedź #13 dnia: 30 Marca 2009, 10:42 »
Twoj problem, Skull polega na tym, ze Romuzak, o ile dobrze pamietam, to jest player, ktory zajmuje strasznie duzo czasu rastra.

Nie ma czegos takiego jak \"oryginalny player\" \"Very

A nie mozesz sobie uzyc jakiejs innej muzyczki, z playerem, ktory nie zzera tyle ramy? Tylko akurat musi to byc muza napisana na Romuzaku \"Smile\" ?

Mozesz tez sprobowac pewnego triku, ktory zrobil Geir - facet w jakis sposob przekodowal player Future Composera, ktory okazuje sie, moze zajmowac 2x mniej ramy (albo i jeszcze mniej). Zobacz sobie http://noname.c64.org/csdb/release/?id=76493

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Player SID-ow na c64
« Odpowiedź #14 dnia: 30 Marca 2009, 11:26 »
                   
booker napisal:
Twoj problem, Skull ...


Nie wczytales sie - napisalem, ze juz sobie poradzilem.

Muzyczka, akurat ta mi najbardziej pasuje ew. ktos musial by mi ja przepisac w jakims innym playerze \"Smile\".
Caly player praktycznie rozlozylem na czynniki pierwsze - kazdy kanal wywoluje indywidualnie, a takze inne stosowne moduly playera, zapetlanie itd. Udalo mi sie tez pewne czesci zoptymalizowac, albo nawet wyciac (szczegolnie to zabezpieczenie). Moze sie jeszcze nie podpisze pod zmodyfikowanym playerem, ale juz nie wieleby brakowalo \"Wink\"
Takze przystosowalem podmiane danych dla trackow i instrumentow oraz patternow (czy jak to tam sie zwie).
W efekcie muzyczka juz nie stwarza zadnych problemow.

Jeszcze raz dziekuje za pomoc.