Forum ContraBanda.eu

8-BITOWY WARSZTAT DOMOWY => Hardware => Wątek zaczęty przez: Ivan w Stycznia 18, 2018, 12:10:53

Tytuł: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: Ivan w Stycznia 18, 2018, 12:10:53
Hej!

Jakis czas temu zrobilem sobie cart do odpalania plikow nsf wykorzystujacych uklad vrc6. Do tego celu uzylem carta z gra Madara i programu vegaplay.

Mam jednak nastepujacy problem. Program famitracker pozwala na eksport 'przetaktowanych' utworow (np. https://www.youtube.com/watch?v=yzhnJpeK5mo ). Czy da sie tego rodzaju utwory odpalic przy pomocy wspomnianego wczesniej carta? Jezeli tak, to jak to zrobic? Od razu uprzedam, ze nie jestem biegly w asemblerze :(
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: MWK w Stycznia 19, 2018, 23:16:20
SIemasz Ivan.

Nie mam doświadczenia w tym temacie. Ten program spotkałem tylko raz, wieki temu, ale nie rozkminiałem.

Teraz, jak na to patrzę, to chyba wszystko jest w pliku readme - zapoznałeś się z nim?
Ja, nawet jak przeleciałem pobieżnie, to momentalnie wyłapałem jedno zdanie :

"I can tell you right now that it won't work with expansion chips."

No to chyba lipa, ale może potestuj z jakimś zwykłym NSF-em.
Próbowałeś czy to działa? W ogóle jak wygląda ten Twój kartridż?
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: krzysiobal w Stycznia 21, 2018, 15:05:53
Standardowe pliki NSF składają się z funkcji init (wywoływanej na początku jeden raz) oraz funkcji play, wywoływanej cyklicznie w przerwaniu z częstotliwością 50 Hz (PAL) / 60 Hz (NTSC). Nie jestem kompozytorem/muzykiem, ale ta funkcja odtwarza prawdopodobnie po każdym uruchomieniu jedną nutę/akord na każdym z kanałów.
W swoim sprzętowym odtwarzacuz NSF który kiedyś wykonałem:
https://www.youtube.com/watch?v=xJwnrvtit8A
dałem możliwość LEKKIEJ regulacji prędkośći - od bodajże 40 Hz do 70 Hz.

Oczywiście projektując swój własny sprzęt do odtwarzania NSF, bazujący na procesorze z konsoli, można sobie na to pozwolić, natomiast nie widzę sposobu, jak możnaby wymusić częstsze zgłaszanie przerwania w już istniejącej konsoli - jako, że linia !NMI jest typu otwarty kolektor, można pewnie dodać dodatkowy układ, który będzie zwierał ją do masy częściej.

W przypadku emulacji nic nas w zasadzie nie ogranicza w dowolnym zwiększaniu częstotliwości. Jednak przy uruchamianiu takiego kardridża na sprzęcie należy mieć na uwadze, że funkcja `play` potrzebuję jakiegoś czasu, aby zdążyć się wykonać, wiec zbyt duże zwiększenie częstotliwości wywoływania (400 Hz = 8 razy szybciej niż 50 Hz) może spowodować, że przed kolejnym wywołaniem funkcja jeszcze nie zdążyła się zakończyć.

Można oczywiście podkręcić też główny procesor konsoli, ale wtedy
1. nie mamy pewności, czy będzie on działał prawidłowo (z jakiegoś powodu - czas propagacji sygnału na ścieżce krytycznej - producent ustalił 1.7 MHz, a nie np. 17 MHz)
2. zwiększając częstotliwość procesora zmieniamy częstotliwość generowanych tonów

Jeśli masz do tego kardridż z VRC to także nie wiadomo, jak on zareaguję na zwiększenie częstotliwości.

Generalnie nie rozumiem zabiegów, czemu ma słuzyć tworzeine utworów w zwiększonej szybkości - albo tworzysz utwór, kompatybilny z bieżącym standardem (NSF 50 Hz / 60 Hz), albo uważasz, że jest on niezadowalający i wybierasz INNY standard, a nie zmieniasz coś istniejącego i przestaje to być zgodne ze sprzętem.

Widzę niestety podobny trend akże wśród twórców nowych gier/remake-ów na NESa - np. Rock Man 4 na MMC3, ktory używa 1 MB pamięci (pomimo, że nigdy sprzętowy mapper tego nie wspierał) czy np. przeróbki gier typu Mario All Stars/Zelda Legends of Link na MMC5 tylko dlatego, że to jedyny mapper, który obsługuje 1 MB pamięci, mimo, że nie korzysta się z żadnej innej funkcjonalnności tego układu.
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: MaarioS w Stycznia 21, 2018, 16:13:25
Zaraz, czyli zatem w takim razie...... czy famitracker czy te inne cukierkujące programy zezwalają na tworzenie muzyki/romów/rzeczy niekompatybilnych ze sprzętem?? Co za kompletny bezsens...
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: Ivan w Stycznia 22, 2018, 19:35:51
Hej, dzieki wszystkim za pomoc. Okazalo sie, ze rozwiazanie jest tak proste, ze az mi glupio. Wystarczylo wstawic kolejne wywolanie PlayAddy i teraz kawalek odgrywa sie jak w famitrackerze :)

W ogóle jak wygląda ten Twój kartridż?

To moj cart z vrc6 i cart z n163 (https://www.instagram.com/p/BeQvumdn_t0/) - ogolnie, od czasu do czasu, wrzucam jakis retro stuff na swojego insta, wiec jakby ktos byl zainteresowany, to zapraszam.

Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: siudym w Stycznia 25, 2018, 22:15:12
To VegaPlay dziala z N163 i VRC6 ? Odpalales i slychac dodatkowe kanaly na devcartach?
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: Ivan w Stycznia 28, 2018, 11:19:23
Po odpowiednim zmodyfikowaniu, jak najbardziej. Korzystalem z wersji opublikowanych TUTAJ (https://forums.nesdev.com/viewtopic.php?f=6&t=11322).

LINK (https://www.dropbox.com/s/7mdu7ns9t64dtjb/vegaplay.zip?dl=0) - do tego, czego uzywam.
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: siudym w Stycznia 28, 2018, 12:59:08
Super, dzieki. Mam dev-carty N163 oraz VRC6 i zawsze chcialem odpalic jakis NSF uzywajac dodatkowych kanalow.
Czyli ogolnie -  robimy muzyczke w FT, export do NSF i najwazniejsze nie moze przekroczyc 32kb utworek ?
Tytuł: Odp: Cart do odpalania 400hz nsf na famicomie - pytanie
Wiadomość wysłana przez: Ivan w Stycznia 28, 2018, 13:59:11
W skrocie tak to wyglada.
Z nsfa trzeba jeszcze co prawda wyciac naglowek.
Nastepnie w vegaplay wpisac adresy load, init i play.
Wstawic odpowiednia ilosc wywolan play w zaleznosci od czestotliwosci nsfa.
W przypadku n163 trzeba jeszcze zmienic kilka hexow w pliku nsf, ale w archiwum do ktorego dalem link powinien byc przykladowy plik przed i po zmianach.
Co do rozmiaru nsfa to wydaje mi sie, ze wieksze pliki tez dzialaja, zreszta latwo mozna to sprawdzic :)