energy.scene.pl
Popularny magazyn na ośmiobitowe Atari
Wybierz muzykę:
Energy 1: 1 2 3 4 5 Energy 2: 1 2 3 4 5 6 7 8 9 10 11 12 |
autor: fox
W poprzednim numerze "Energy" kol. Jaskier zaprezentował dwa playery muzyki w formacie MPT. Ja nie będę taki hojny i podzielę się z wami tylko jednym.
Player ten powstał przeszło rok temu na potrzeby takiego interka... Jak ono się nazywało? Hmmm... chyba miało coś wspólnego z warcabami.
Ale - wracając do tematu - tak naprawdę, to playera nie napisałem sam, a tylko okroiłem (i trochę zoptymalizowałem) player Jaskiera. Okroiłem do tego stopnia, że odgrywa tylko jedną muzyczkę, ale za to nie wymaga inicjalizacji.
A teraz Zalety, Wady i Obsługa w skrócie:
Z., W. i O.
;-) A tak na poważnie to:
Zalety:
- wykorzystuje 12 bajtów na stronie 0
- jest prosty w obsłudze
- jest krótszy od "wersji najkrótszej" Jaskiera
- jest szybszy od playerów Jaskiera
- ustawia rejestry Pokeya na początku procedury, a nie na końcu. Jest to jedyny znany mi player, który naprawdę gra 50 razy na sekundę, równiutko niezależnie od użytych instrumentów.
Wady:
- nie odgrywa sampli
- nie jest w 100% kompatybilny z playerem Jaskiera, ponieważ wprowadziłem pewne modyfikacje. Wydaje mi się, że nie powinny one mieć wpływu na jakość muzyki - jeśli jest inaczej, daj mi znać! ("Player plays good or money back")
- odgrywa tylko jedną muzyczkę, zawsze od początku
Obsługa:
- asemblując player należy ustawić adres muzyczki, jej tempo oraz długość paternu. Może ktoś uzna za kłopotliwe przepisywanie tych parametrów z MPT, ale przecież i tak zazwyczaj trzeba odpalić MPT, żeby przestawić adres muzyczki. Chyba nie będzie skomplikowane przepisanie dwóch liczb więcej?
- jeśli chcemy słyszeć muzykę, musimy co ramkę wywoływać player
- warto jednak najpierw (na początku programu) wpisać 3 do $d20f
- chcąc przywrócić ciszę należy przestać wywoływać player i wyzerować komórki $d200-$d208
Aby nie było wątpliwości, oto przykład:
lda #3 sta $d20f loop lda 20 cmp 20 beq *-2 jsr player lda #8 and $d20f bne loop ldx #8 sta $d200,x dex bpl *-4
I to wszystko: żadnych procedur inicjujących, nie trzeba pamiętać, że w Y ma być młodszy bajt adresu itd.
Można przerabiać ten player do woli. Jeśli go wykorzystasz, wspomnij o mnie w creditsach...