C64Power Forum
Hardware => Hardware => Wątek zaczęty przez: aldarn w 17 Stycznia 2008, 19:10
-
witam,
chcialbym zrobic uklad odgrywajacy sid`y, cos na wzor playera mp3. potrzebuje informacji na temat mos6581, a mianowicie, czy dane z pliku sid od offsetu 7C moglbym poprostu wpisywac na wejscie tego ukladu z czestotliwoscia 50Hz? czy te dane wymagaja jakiejs konwersji?
-
no cóż robisz to samo co zwykły player na komciu wstawiwasz co 50hz (lub więcej) wartości do komórek i gra tylko jeszcze musisz rozpoznać co to za player i co oznaczają wartości, patern czy nutka... itd... najłatwiej jest zaemulować 6502 i poprostu puścić to w normalnych wywołaniach.
-
no tak, wlasnie czytam o tym od kilku godzin i nachodza mnie kolejne pytania. wczesniej sadzilem, ze wystarczy jedynie zaprogramowac mikrokontroler by wysylal dane do sid`a, ale teraz widze, ze sid posiada kilkadziesiat rejestrow, ktore zapewne musza byc jakos wykorzystane.
czy ktos posiada moze do tego jakas dokumentacje? na necie jest o tym tylko wspomniane pobierznie, nie ma nic o znaczeniu danych wysylanych do sid`a i o funkcji rejestrow.
-
to akurat jest zbędna informacja.. wystarczy ze zobaczysz kod dowolnego playera oraz obejrzysz sobie pdf z danymi technicznymi sid`a.
Jak chcesz coś zrobić to musisz opanować assembler 6502 a nie jakiegoś pic`a
-
chcialbym zrobic to poza 6502 tylko na zwyczajnym mikrokontrolerze avr.
wiem juz jak wysterowac sid`a ale ciagle nie wiem w jaki sposob przetworzyc informacje w pliku muzycznym .sid na postac zrozumiala dla 6581.
-
Kisiel Ci juz powiedzial ze potrzebujesz _emulowac_ 6502 zeby odtwarzac ta muzyke ;-) czytanie ze zrozumieniem nie boli :)
zeby nie emulowac 6502 moznaby jeszcze wykorzystac opcje ktora umozliwia ktoryz z playerow na PC pray czym nie pameitam jego nazwy - wpisy do rejestrow SIDa byly tam zapisywane i kompresowane do formatu .gz, wiec na mikrokontrolereze trzeba by dekompresowac ten plik po czesci w locie (oile jest wystarczajaco szybki) i wpisywac dane do sida z odpowiednia czestotliwoscia...
-
Jeśli chcesz to rzuć okiem na to : http://www.swinkels.tvtom.pl/swinsid/ kliknij tam SID PLAYER . z tego co tam pisze to jest tam emulacje 6502...ale może ktoś ci tam pomoże w czymś... a tu coś innego : http://www.tripoint.org/kevtris/Projects/sid/sidplayer.html
Chciał bym mieć sid palyera...więc życzę powodzenia !!
-
szczerze mowiac, nie wiem co kisiel mial na mysli piszac o emulacji 6502... czy rzeczywiscie jest to latwiejsze to nie sadze. dzieki za informacje o tym playerze, sprobuje zrobic to wykorzystujac wlasnie bezposredni zapis rejestrow, z czestotliwoscia PAL. powinno chyba zadzialac ;)
-
problem będzie w tym, że każdy utwór będziesz musiał przerabiać.. a emulacja 6502 jest prosta i nie musi być pełna... zaletą jest prostota i elastyczność, na takim sprzęcie pójdzie każda muza z c64 nawet ta z greystorm`a.
-
1. SID to nie przetwornik C/A ;)
2. Co jest w pliku .sid ? Otóż nie tylko same dane o muzyce. Jest tam też kod na 6502, który steruje SIDem.
Gdybyś chciał odtwarzać sid-y na jakimś AVRku czy PICu z podłączonym 6581 to... musiałbyś sobie napisać emulator 6502.
No, chyba że \'zgrasz\' odwołania do rejestrów SIDa ;)
-
szczrze mowiac to skoro nei wiesz nawet tego to najpierw poczytaj w ogole co to plik SID, bo to nie jest MIDI, MP3 albo XM, a tak jak napisal KB777..
jest to po prostu program dla procesora 6502 - zrzut kawalka RAM z c64 ktory jest podprogramem (najczescej wywolywanym w przerwaniu) odpowiadajacym za wpisywanie odpowiednich wartosci do SIDa...
Nie chce byc nieuprzejmy, ale jesli nadal tego nie rozumiesz to lepiej odpusc taki projekt.
-
ojeja raf a ja kiedyś nie wiedziałem jak wstawić na ekranie znak... a teraz napisałem playera adpcm do komcia z 512kB ram.. kiedyś ma szanse sie nauczyć.
-
...odpusc dopoki nie zrozumiesz jak dzialaja rzeczy ktore chcesz zaimplementowac ;-)
-
anyway znalazlem dzieki Anderas`owi Varga`dze to o czym mowilem - zwie sie to littlesid / nanosid. problem tylko taki ze nie ma tego juz w necie a ja niestety mam tylko kopie playera oraz muzyczek w formacie ZSID :) zrodlo nanosida by sie przydalo ;-)
-
ok, zakladajac ze wykorzystalbym 6502 jako kontroler, to czy konieczne byloby wgrywanie mu kernal`a? czy tylko innym mikrokontrolerem wpisac mu player`a i muzyke i puscic w ruch?
-
a jak chcesz wysyłac dane do tego \'kontrolera\' ? USB, RS232 IRDA?
-
kontroler bedzie czytal z eeprom`a, na koncu zajme sie dopiero interfejsem LPT.
-
interfrace szeregowy czy równoległy?
Obczaj może lepiej SAM7 ze stajni atmela, ma USB1.1 SAMBA (boot przez usb) jest dość sporo zródełek łacznie z fat32 więc można podpiąć SD/mmc, koszt niewielki bo raptem ze 20 zyla a przy 70MIPS-ach to on całego komcia zaemuluje ;)
-
Tak się tylko wtrące, nawet jeżeli
zrobiłbyś wersję bez emulacji 6502, tylko
wpisywał dane do SIDa, to musisz wiedzieć
o tym że ważna jest kolejność odświeżania
rejestrów!!!. Już nie wspomnę że ważne są też czasy (ilość cykli) przy odświeżaniu
kolejnych rejestrów - np. przy muzyczkach
odgrywanych kilka razy na ramkę, z długim rastertimem.
Nie możesz sobie od tak wpisać danych od rejestru $d400 do $d418, bo w najlepszym wypadku SID będzie pierdzieć.
Z tego co pamiętam to NanoSid zapamiętywał
dane oraz właśnie kolejność rejestrów.
I dało się tego słuchać.
-
nanoSID, wszedzie na necie jest to program do odtwarzania Zsid`ow. ktos moze podac linka do tego nanoSid`a, ktory moze konwertowac sid`y na stany rejestrow?
-
http://www.c64.no/nanosidplay/
-
niewiem czy to złudzenie ale ten nanosid chyba lepiej (od sidplaya) muzyczki odgrywa. :)
-
niewiem czy to złudzenie ale ten nanosid chyba lepiej (od sidplaya) muzyczki odgrywa. :)
-
sidplay2 to przestarzaly emulator ktory nie wykorzystuje nawet wszystkich mozliwosci resida wiec nie dziwne.
-
jak za pomoca nanoSidPlay otrzymac stany rejestrow i czasy podawania ich do SID`a?
-
nanosidplay ma bardzo dobra jakosc , a stosunek wydajnosc/jakosc jest nie do pobicia. szkoda ze strona autora gdzies zaginela oraz ze nie udostepnil on kodu zrodlowego. ja sciagnalem tylko prekompilowane bibliteki oraz pliki naglowkowe (da sie to possac z the wayback machine ale jako ze to nie archwiuzje plikow zip to konwertera sid2zsid juz sie nie da pociagnac)
ta strona ktora zapodal Fenek niestety nie obejmuje tez samego nanosida
natoamist z nanosidplaya i niemu podobnych nie da sie uzyskac wpisow do rejestrow sida bo (bynajmniej z tego co przejarzlem w pliku naglowkowym) biblioteka dziala transparentnie...
-
nie wiem czy ci coś to w czymś pomoże ale program SID2MIDI który oprócz przerabiania sidów do midi może generować plik TXT z danymi utworu.
w nagłówku są wyszczególnione:
time note freq pw wf adsr i vl. prz każdej nutce jest podany czas(chyba czas grania tej nutki) no i kolejne w/w dane.masz tu link tego programu zaobacz : http://home.arcor.de/ms2002sep/bak/SID2MIDIw.exe może nauczysz procesorek dowądzący interpretować i wysyłać te dane sidowi :)