atarionline.pl Muzyka z Warhawk - nie gra dobrze na Atari - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorblul
      • CommentTime2 Feb 2014 22:02
       
      Próbowałem wstawić muzę z Warhawk do prostego demka. Wyciąłem zawartość SAPa i załadowałem do pamięci zgodnie z nagłówkiem, czyli od adresu $B478:

      SAP
      AUTHOR "Rob Hubbard"
      NAME "Warhawk"
      DATE "1986"
      TYPE B
      INIT B478
      PLAYER B47E
      TIME 03:37.40 LOOP

      W programie odpalam init pod adresem $B478 a potem w przerwaniach TIMER2 skaczę pod $B47E.
      Na emulatorze gra pięknie, natomiast na Atari nie słychać linii melodycznej - jest tylko akompaniament. Brzmi to tak, jakby nie działał jeden kanał dźwiękowy.
      Z tego samego SAP-a wygenerowałem WASAP-em plik xex, który gra jak trzeba, zarówno na emulatorze, jak i na sprzęcie.
      Jakieś sugestie co robię nie tak?
      • 2: CommentAuthormono
      • CommentTime2 Feb 2014 22:02
       
      TIMER2 - jeśli masz na myśli przerwanie POKEYa, to nie będzie działał kanał drugi dźwięku. Odpalaj player na VBLKD.
      • 3: CommentAuthorblul
      • CommentTime2 Feb 2014 23:02
       
      Dzięki za odpowiedź. Zmieniłem na VBLKD i niestety efekt ten sam...
      • 4: CommentAuthormono
      • CommentTime2 Feb 2014 23:02
       
      Być może nie inicjalizujesz POKEYa (choć nie chce mi się wierzyć):
      lda #0
      sta $D20F ;SKCTL
      lda #3
      sta $D20F

      Warto czasem też wyzerować rejestry POKEYa ($D200..$D208).
      • 5: CommentAuthorblul
      • CommentTime2 Feb 2014 23:02
       
      A jednak nie inicjalizowałem...
      Nie jestem obeznany z POKEY-em, więc przyjąłem założenie, że init playera załatwia sprawę. Teraz działa. Dzięki! :)
      • 6: CommentAuthormono
      • CommentTime3 Feb 2014 00:02
       
      Nie ma za co :)
    1.  
      Kurde, miałem ostatnio to samo :) Zgłupiałem, bo ładując grę pod SDX przez SIO działało dobrze, a z partycji SDX źle. Albo na odwrót, nie pamiętam już.

      Odłożyłem problem na półkę, ale ponieważ w kodzie nie mam inicjacji pokeya, to już wiadomo o co chodziło.
      • 8: CommentAuthormono
      • CommentTime3 Feb 2014 11:02
       
      Trzeba było pytać :)
      Newdevicecs nie używają POKEYa, bo i po co więc z hdd raczej działało bezproblemowo. Za komunikację szeregową odpowiada POKEY, jak również za generowanie dźwięku i to za pomocą tych samych generatorów (3,4 z fdd, 1,2 z tape). Podczas transmisji POKEY jest rekonfigurowany, więc po jej zakończeniu należy go zresetować. Ot i cała filozofia.
      • 9:
         
        CommentAuthortdc
      • CommentTime5 Feb 2014 07:02
       
      No to jak już działa to miodzio, bo muzyka z Warhawk jest dla mnie super hiper pure klasyczna;)
      • 10: CommentAuthorblul
      • CommentTime5 Feb 2014 11:02
       
      Demko ma być dodatkiem do prezentu urodzinowego (65XE), więc wybór muzyki został podyktowany preferencjami solenizanta. Osobiście wybrałbym Jet Set Willy :)
      A propos inicjalizacji - czy nie powinna przypadkiem wyglądać tak:

      lda #0
      sta audctl
      lda #3
      sta skctl
      • 11: CommentAuthormono
      • CommentTime5 Feb 2014 11:02
       
      To nie zresetuje POKEYa, lecz przestawia go w normalny roboczy stan (odczyt klawiatury i eliminacja drgań zestyków). RESET POKEYa to 0 do SKCTL. Zerowanie AUDCTL jest opcjonalne, choć playery które nie dotykają AUDCTL będą oczywiście źle grać, więc warto to zrobić. Analogicznie a resztą rejestrów, dlatego napisałem:
      - zerować $d200..$d208
      - SKCTL=0
      - SKCTL=3
      • 12: CommentAuthor0xF
      • CommentTime5 Feb 2014 12:02
       
      Ale po transmisji szeregowej wcale nie trzeba resetować POKEYa. Wystarczy 0 do AUDCTL i 3 do SKCTL jak napisał blul.

      A jeśli chciałbyś zresetować POKEYa, to SKCTL=0 musi być przez co najmniej 17 cykli, bo tyle potrzeba na zresetowanie 17-bitowego poly.
      • 13: CommentAuthormono
      • CommentTime5 Feb 2014 12:02
       
      Ooo! Dzięki Fox.