speccy.pl
Facebook Like


Forum ZX Spectrum
[POWITANIA] Odp: Witam. wysłana przez Dalthon Dzisiaj o 00:14:47
[HARDWARE] Odp: Symulator magnetofonu (ex. ZX Taper) wysłana przez Klaud Wczoraj o 23:59:03
[POWITANIA] Odp: Witam. wysłana przez tooloudtoowide Wczoraj o 22:09:29
[AMSTRAD] Odp: Amstradowe czasopisma. wysłana przez ZbyniuR Wczoraj o 21:13:27
[HARDWARE] Odp: amstrad 40057 wysłana przez lotharek1977 Wczoraj o 17:03:07
[POWITANIA] Odp: Witam. wysłana przez ted Wczoraj o 15:30:25
[HARDWARE] Odp: Symulator magnetofonu (ex. ZX Taper) wysłana przez Klaud Wczoraj o 12:23:47
[SAM COUPE] Odp: Pierwsze kroki z Sam Coupe wysłana przez rzeznik666 Wczoraj o 12:09:25
Archiwum plików ZX Spectrum
[] Dodano "Zabij Ducha" z roku 2017 dla komputera ZX Spectrum 48K Autor: Rafał Miazga. Dodany przez RafalM, 2017-05-15 09:52:53
[Program użytkowy] Dodano "Fox Monitor" z roku 1990 dla komputera ZX Spectrum Autor: Orion. Dodany przez ZX Freeq, 2017-03-29 21:12:27
[Demoscena] Dodano "Big Things" z roku 2017 dla komputera ZX Spectrum 48K Autor: speccy.pl. Dodany przez Tygrys, 2017-03-19 22:02:29
[Gra] Dodano "Tumitak" z roku 1989 dla komputera ZX Spectrum 48K Autorzy: Sławomir Gębka, Leszek Szamocki. Dodany przez KrisZX, 2017-02-28 19:40:13
[Demoscena] Dodano "Star Trek Slideshow Part Two" z roku 2016 dla komputera ZX Spectrum 48K Autor: ZX Freeq. Dodany przez ZX Freeq, 2016-12-30 16:48:08
[Program użytkowy] Dodano "Flagi państw" z roku 1992 dla komputera ZX Spectrum 48K Autor: gregoryi. Dodany przez gregoryi, 2016-11-19 19:53:29
[Demoscena] Dodano "Pixel Heaven 2016 Invitation Intro" z roku 2016 dla komputera ZX Spectrum 48K Autor: ZX Freeq. Dodany przez ZX Freeq, 2016-10-11 12:47:37
[Demoscena] Dodano "Teddybear's Funeral" z roku 2016 dla komputera ZX Spectrum 48K Autor: Abrimaal. Dodany przez Abrimaal, 2016-10-11 12:28:36
Więcej...
AYLand

[AYLAND]
Projekt AYGOR

[AYGOR]
Zaprzyjaźnione serwisy

RETRO KOMP 2014
PIXEL HEAVEN 2016
Nawigacja
Aktualizacja formatu .ay i archiwum muzyczne AYGOR
W archiwum AYGOR z każdą edycją przybywa muzyki. W poprzedniej kompilacji wprowadzone zostały dość duże zmiany. Muzycy, których przybywa (folder Musicians) został podzielony na podfoldery wg alfabetu. W folderach Games i Demos docelowo znajdować się będą tylko utwory anonimowych i niezidentyfikowanych autorów, więc plików jest i będzie znacznie mniej, niż w podobnych archiwach z innych platform.

Poważniejsze zmiany wprowadzane są systematycznie w samych plikach .ay. Oprócz ujednolicenia pisowni i ustalania czasu, największą ewolucją jest zamiana nieużywanego pola FadeLength na SysPresets. FadeLength w starszych odtwarzaczach miało na celu wyciszanie utworu pod koniec, w dzisiejszych nie jest to używane. Dzięki tej poprawce format .ay może obsługiwać różne chipy muzyczne, różne taktowania Z80 i chipów, różne konfiguracje, nie tylko bezpośrednio spokrewnione z ZX Spectrum.
Pole SysPresets definiuje konfigurację dla każdego utworu. Bazuje ono na pojedynczych bitach i zawiera predefiniowane ustawienia (presety) identyfikacji sprzętu. Niższy bajt dotyczy ogólnych ustawień, wyższy przeznaczony jest dla chipów muzycznych.


W odróżnieniu od formatów trackerowych (np. stc, stp, asc, sqt, pt3, st2) czy zrzutów rejestrów AY w czasie (ym, vtx, psg), format .ay zawiera kod dla procesora Z80, który jest wykonywany (emulowany). Te trzy metody można odpowiednio porównać: .ym do snapshotu czy action replay, formaty trackerowe do bloków kodu, a pliki .ay do finalnych plików .tap czy .trd, z nagłówkiem, loaderem i informacją o autorach.

Początkowo emulacja ograniczała się do muzyki z ZX Spectrum i Amstrad CPC granej przez chip AY na przerwaniach 50Hz. Dzięki dokładnej emulacji procesora Z80 .ay to jedyny format, który oprócz muzyki może przechowywać efekty dźwiękowe, sample i muzykę dla beepera. Na przestrzeni lat rozszerzano możliwości muzyczne komputerów montując w nich drugi AY lub inne chipy, a format .ay stał w miejscu.
Standard Turbosound (2xAY) dla ZX Spectrum i chip SAA 1099, znany z komputera SAM Coupe są już obsługiwane przez jeden z odtwarzaczy (Modo dla Android).
Emulacja chipu SAA ograniczona jest do muzyki granej na przerwaniach 50Hz, więc nie ma różnicy, do jakiego komputera z Z80 jest ten chip podłączony. Istotne, żeby był tak samo taktowany i używał tych samych portów. Trudniejsza sytuacja pojawia się w przypadku odtwarzania sampli i digi. Dla każdej platformy musi być określone taktowanie Z80, a także pewnych elementów środowiska. W przypadku ZX Spectrum z chipem SAA musi być uwzględnione inne taktowanie Z80, emulacja beepera i AY, gdyby ktokolwiek chciał wykorzystać ten zestaw w muzyce.


Wartości SysPresets ułatwiają konfigurację platformy i ustawienie parametrów emulacji przez rozpoczęciem odtwarzania. Identyfikacja CPC dotychczas odbywała się przez odczyt aktywnych portów po próbie grania. Po ustawieniu odpowiedniego presetu, wartości te są odczytywane z nagłówka utworu. Inne wartości presetów mogą być przydatne do synchronizacji Z80 i chipu muzycznego, czyli "fine tuning", a także do zdefiniowania specyficznych wartości dla konstrukcji bazujących na ZX Spectrum.


Format .ay został opracowany dla systemu Amiga. Aby zachować wsteczną kompatybilność, zmiany muszą być jak najmniej zauważalne dla nierozwijanych już odtwarzaczy. Oczywiste jest, że starszy player nie zagra muzyki z nieobsługiwanego chipu, czy grającego na innych portach, ale nie można spowodować, że muzyka która dotąd w nich grała, grać przestanie. W istniejących już plikach .ay z ZX i CPC, ewentualne poprawki dotyczą tylko ustawienia presetu na 0 lub 128, jeśli wcześniej ustawiona była wartość FadeLength.


W planach jest wprowadzenie dostrojenia zegara Z80, przerwań 60Hz dla NTSC, równoległego odtwarzania dwóch ścieżek i kilku nowych wewnętrznych PlayerVersion. Tu kilka słów wyjaśnienia, czym jest PlayerVersion. Oprócz danych zawartych w pliku .ay, do odtwarzania muzyki niezbędna jest pętla, która umieszczana jest przez emulator w pamięci pod adresem 0. Ten adres niekiedy koliduje z kodem czy danymi muzyki, stąd niektóre utwory nie grają. Nie ma przeszkód, aby w krytycznych sytuacjach pętla ta znajdowała się w innym miejscu. PlayerVersion jest także systemowym presetem, który zawiera wytyczne do emulacji konkretnego środowiska. Najprostszym przykładem użycia jest wstawienie RET pod adres systemowych przerwań, dzięki czemu muzyka nie zawiesi się po napotkaniu w kodzie instrukcji RST 56.


Zaktualizowany także został pakiet AY Maker, do tworzenia i edycji plików .ay oraz dokumentacja formatu (po angielsku) znajdująca się w każdej edycji AYGOR, w folderze ay_development/docs. Link do pobrania AY Maker.

Autor: Abrimaal

Licencja Creative Commons Artykuł autorstwa Abrimaal został wydany na licencji Creative Commons Uznanie autorstwa - Użycie niekomercyjne - Bez utworów zależnych 4.0 Międzynarodowe License.
W oparciu o utwór dostępny pod adresem http://speccy.pl/articles.php?article_id=50

Brak komentarzy. Może czas dodać swój?
Dodaj komentarz
Nick:

Kod potwierdzający:
Kod potwierdzający


Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się , żeby móc zagłosować.

Brak ocen. Może czas dodać swoją?