ZX Spectrum > MUZYKA

Trackery / formaty / playery

<< < (2/8) > >>

matofesi:
Tak na szybko to mi wychodzi, że muzyczki nie są relokowalne - na początku skompilowanej muzyczki jest tablica adresów kierująca do konkretnych miejsc w pamięci a nie do offsetów. Żeby dało się podpiąć do playera inną muzyczkę trzeba ją wkopiować zaraz za playerem skompilowaną pod właściwy adres (adres playera+#510 bajtów) - player ma tak na prawdę 1296 bajtów - ostatnie 12 to już nagłówek skompilowanej muzyczki (pierwsze dwa bajty do długość bloku (chyba nie jest używana), dalej jest jakaś tablica przesunięć w obrębie muzyczki).

matofesi:
Ok. Zrobiłem jeszcze jeden test i jest tak... Kompilujesz playera z pierwszą muzyczką pod adres bazowy. Ładujesz do pamięci i odczytujesz 12 bajtów zaczynając od adresu bazowego + 1296. Kompilujesz kolejne muzyczki pod dowolne nienachodzące adresy i ładujesz wszystko do pamięci a następnie przed wywołaniem inicjalizacji danej muzyczki kopiujesz pierwsze 12 bajtów muzyczki do playera (bazowy+1296). Wywołujesz inicjalizację i potem już normalnie grasz muzyczkę. Te pierwsze 12 bajtów jest ci potrzebne jeśli chcesz zagrać jeszcze raz muzyczkę ładowaną z playerem.

Alternatywnie jeśli masz wyciętego playera (1296 bajtów) to pozostałe muzyczki kompilujesz bez niego pod kolejne nienakrywające się adresy kawałek za końcem playera a następnie przed każdą muzyczką najpierw przerzucasz jej nagłówek do playera a potem incjujesz i grasz :)

Abrimaal:
Czy móglbyś spojrzeć, czy pliki sqt już zawierają ten nagłówek na początku, czy dopiero tworzony jest podczas kompilacji?
Jeśli to drugie to nieciekawie. Zaladowane pod 49152+1296=50448, nie chodzą. Player ma być zawsze w tym samym miejscu, czyli 49152.
Próbowalem też ładować sqt po kolei od 50472 do okolo 50430, nie zagrały ani razu prawidlowo, czyli wygląda na to że nie mają nagłowka (?)

matofesi:
Oczywiście, że nagłówek jest dodawany podczas kompilacji. Nie uruchomisz pliku SQT bez wcześniejszego skompilowania - to tak jakbyś ładował do pamięci plik ASM i próbował go uruchomić przez RANDOMIZE USR... Tak samo działają wszystkie inne trackery od pierwszego SoundTrackera poczynając - żeby użyć muzyczki musisz ją skompilować albo mieć player do odtwarzania formatu źródłowego. A, że w większości wypadków nie ma dostępu do takiego playera pozostaje ci kompilowanie wszystkiego po kolei.

Abrimaal:
OK, czyli nie pozostaje nic innego, jak konwersja plików sqt do pt3, dla których player jest zawsze taki sam, jeśli ładowany pod ten sam adres. Dla plików stc, stp, pt3 wystarczy jeden player i ładowanie danych muzyki pod zdefiniowany adres. 

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej