Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Relaunch64 + VICE i kilka plików  (Przeczytany 1094 razy)

0 użytkowników i 2 Gości przegląda ten wątek.

Offline marx

  • Level 1
  • *
  • Wiadomości: 30
    • http://aem.fatmagnus.ppa.pl
Relaunch64 + VICE i kilka plików
« dnia: 08 Marca 2016, 10:42 »
Drodzy koledzy commodorowcy, prośba o poradę. Przygotowuję się do stworzenia wystrzałowego dema na C64 ale mam drobny problem ;). Otóż piszę sobie pod Relaunch64 i odpalam źródłówki pod VICE na OSX. Pół biedy gdy moje wypociny można zamknąć w jednym pliku, wtedy wystarczy kliknąć "Run" i program się odpala. Chciałbym jednak dodać do swojego mega wystrzałowego demka muzykę. Jednym okiem rzucam na ten tutorial (https://digitalerr0r.wordpress.com/2011/05/01/commodore-64-programming-9-interrupts-and-music/) i widzę, że program odwołuje się do dodatkowego pliku (music.sid). I tu pojawia się problem, jak skonfigurować Relanch'a aby po odpaleniu mojego programu, znalazł także plik music.sid? Pisząc na prawdziwym C64 nie byłoby problemu (w końcu i plik programu i plik muzyczny byłyby na tej samej dyskietce). Jak jednak "pożenić" je pod emulatorem?

Za wszelkie sugestie byłbym bardzo wdzięczny. Aha... a to wystrzałowe demo ma narazie jeden zajefajny efekt - czyszczenie ekranu i ramki :)
Pozdrawiam!



Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #1 dnia: 08 Marca 2016, 11:39 »
a jaki masz assembler podpięty do tego relauncha?
wstawiasz tak jak podano w przykładzie (składnia zależy od używanego assemblera)
    org $1000-$7e
INCBIN “music.sid”

często np.
*=$1000-$7e ; te $7e to nagłówek pliku .SID, reszta to prg jak w c64
.binary "ścieżka do pliku .sid"
 

Offline marx

  • Level 1
  • *
  • Wiadomości: 30
    • http://aem.fatmagnus.ppa.pl
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #2 dnia: 08 Marca 2016, 11:47 »
Dzięki Skull za odpowiedź. Mam podpiętego 64tass. Z tym, że mi chodzi bardziej o to jak fizycznie podpiąć plik .sid do programu. VICE po odpaleniu głównego programu .PRG nie będzie miał jakby podlinkowanego pliku .sid (po prostu polecenie INCBIN "music.sid" nie znajdzie takiego pliku)

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #3 dnia: 08 Marca 2016, 12:18 »
proponuje zajrzeć do ksiażki, turtorialu zanim zaczynasz pytać o takie rzeczy.
Książka to nie "forum zrób mi demo"
To co napisał skull wystarczy.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline marx

  • Level 1
  • *
  • Wiadomości: 30
    • http://aem.fatmagnus.ppa.pl
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #4 dnia: 08 Marca 2016, 12:38 »
Zdaję sobie sprawę, że pytam może o rzecz oczywistą dla niektórych. Ale chyba korona z głowy nikomu nie spadnie, nawet podczas odpowiedzi na lamerskie pytanie nowicjusza (a Ciebie Kisiel to już dawno olewam ciepłym moczem, może jeszcze kilka wizyt na AmiParty to się uspołecznisz :P)

Offline bor@s

  • Level 3
  • ***
  • Wiadomości: 245
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #5 dnia: 08 Marca 2016, 12:45 »
incbin zlinkuje ci statycznie sida i wpakuje do prg pod wskazany adres. Żaden ze mnie koder, ale tak robiłem prg z muzyką z GoatTrackera. I polecam do wystrzałowego dema skomponowanie mimo wszystko coś własnego. Nawet bez zdolności muzycznych można przy pomocy wspomagaczy typu ChordBot na Androida przygotować coś ciekawego, wyeksportować do midi, a potem wklepać do C64. Ale na scenie bym tego nie wystawiał :D

Offline Zbych

  • Level 3
  • ***
  • Wiadomości: 210
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #6 dnia: 08 Marca 2016, 21:45 »
Tak jak napisał Skull to będzie działać jak pominiesz nagłówek pliku SID, składnia zależy od asma może to też wyglądać tak:

*=$1000
!binary   "muzyka.sid",,$7e 


trzeba podać żeby zlinkował plik od ofsetu $7e
oczywiście wszystko będzie ok jeżeli load adres jest od $1000

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #7 dnia: 08 Marca 2016, 22:28 »
Zbych, odebrałeś okazję do wysiłku umysłowego polegającego na czytaniu ze zrozumieniem.
Forum robi demo, tego jeszcze nie było :)
Robiliśmy już grę ztcp.
Nowinka.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Zbych

  • Level 3
  • ***
  • Wiadomości: 210
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #8 dnia: 08 Marca 2016, 23:49 »
Zbych, odebrałeś okazję do wysiłku umysłowego polegającego na czytaniu ze zrozumieniem.
Forum robi demo, tego jeszcze nie było :)
Robiliśmy już grę ztcp.
Nowinka.

Oj tam, oj tam, ten post była rozrywka, a gra się cały czas robi. Ja miałem dziś większy problem, nie chce zaśmiecać forum zbędnymi fragmentami kodu chociaż... jak ci się nudzi to: co spieprzyłem w tym kodzie, bo od czasu do czasu migają multipleksowane sprajty?? Podpowiedź: addAndUpdateScore wywoływane jest poza przerwaniami rastra, co jakieś... 32 ramki:

;dodaje wyniku zawartość z akumluatora i aktualizuje to co jest wyświetlane
addAndUpdateScore
          pha         
          sed
          clc
          adc SCORE_REG_START
          sta SCORE_REG_START         
          bcc .addScoreEnd       
          lda SCORE_REG_START+1
          adc #$00
          sta SCORE_REG_START+1                   
          bcc .addScoreEnd                       
          [...]
          ;update screen
.addScoreEnd
          cld
          lda SCORE_REG_START+2
          tay
          and #%00001111
          ora #$20       
          sta SCORE_TEXT_START+SCREEN_START+1
          [...]

          pla
          rts

;procedura w przerwaniach rastra
sprMplxIrq
          pha   
          txa
          pha   
          tya
          pha   

          ldy irqPtr         
          lda rasterIrq,y
          tax
          inx         
          .......

          pla
          tay       
          pla
          tax       
          pla       
          rti



Offline marx

  • Level 1
  • *
  • Wiadomości: 30
    • http://aem.fatmagnus.ppa.pl
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #9 dnia: 09 Marca 2016, 08:23 »
@Zbych & bor@s: Dzięki chłopaki za pomoc. Problem oczywiście leżał w moim kodzie, który nie był w stanie odtworzyć poprawnie muzyczki (która de facto była już w pamięci). No cóż, nie każdy rodzi się od razu takim geniuszem jak Kisiel. Tak czy owak dzięki za miłe przyjęcie na forum ;)

Offline Skull

  • Level 6
  • ******
  • Wiadomości: 2034
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #10 dnia: 09 Marca 2016, 09:40 »
Zbych, odebrałeś okazję do wysiłku umysłowego polegającego na czytaniu ze zrozumieniem.
Forum robi demo, tego jeszcze nie było :)
Robiliśmy już grę ztcp.
Nowinka.

Oj tam, oj tam, ten post była rozrywka, a gra się cały czas robi. Ja miałem dziś większy problem, nie chce zaśmiecać forum zbędnymi fragmentami kodu chociaż... jak ci się nudzi to: co spieprzyłem w tym kodzie, bo od czasu do czasu migają multipleksowane sprajty?? Podpowiedź: addAndUpdateScore wywoływane jest poza przerwaniami rastra, co jakieś... 32 ramki:

;dodaje wyniku zawartość z akumluatora i aktualizuje to co jest wyświetlane
addAndUpdateScore
          pha         
          sed
          clc
          adc SCORE_REG_START
          sta SCORE_REG_START         
          bcc .addScoreEnd       
          lda SCORE_REG_START+1
          adc #$00
          sta SCORE_REG_START+1                   
          bcc .addScoreEnd                       
          [...]
          ;update screen
.addScoreEnd
          cld
          lda SCORE_REG_START+2
          tay
          and #%00001111
          ora #$20       
          sta SCORE_TEXT_START+SCREEN_START+1
          [...]

          pla
          rts

;procedura w przerwaniach rastra
sprMplxIrq
          pha   
          txa
          pha   
          tya
          pha   

          ldy irqPtr         
          lda rasterIrq,y
          tax
          inx         
          .......

          pla
          tay       
          pla
          tax       
          pla       
          rti


pewnie problem z systemem dziesiętnym/szesnastkowym - dlatego nie używam dziesiętnego, i wydaje mi się że w 99% przypadków jest on zbędny

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #11 dnia: 09 Marca 2016, 09:48 »
leżałem w wyrze i też tak pomyślałem. Przepełnienie i dodawanie z dupy wartości daje ciekawe wyniki, musiałbym spojrzeć w mój kod.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Zbych

  • Level 3
  • ***
  • Wiadomości: 210
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #12 dnia: 09 Marca 2016, 13:42 »
pewnie problem z systemem dziesiętnym/szesnastkowym - dlatego nie używam dziesiętnego, i wydaje mi się że w 99% przypadków jest on zbędny
Tak, jest to związane z dziesiętnym. Po prostu czasami przerwanie wywoływało się w połowie obliczeń gdy była ustawiona flaga dla BCD i wtedy dziwne rzeczy się działy.
Wystarczy w procedurze przerwań wrzucić na stos rejestr stausu i profilaktycznie wyłączyć tryb dziesiętny, czyli:
          php         
          cld
i wszystko wróciło do normy

Tylko to nie było takie oczywiste co powoduje miganie sprajtów, tym bardziej że wtedy testowałem odtwarzanie muzyki i SFX jednocześnie więc to mnie zmyliło, a wcześniej nie zauważyłem migania bo jest ono sporadyczne.
Jak będę miał jeszcze jakąś ciekawą zagadkę to wrzucę na forum.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #13 dnia: 09 Marca 2016, 13:58 »
spoko wrzucaj, proponuje utworzyć nowy wątek "ZbychoZagdka"

Nie bardzo rozumiem po co używać decimal poza HID.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline Zbych

  • Level 3
  • ***
  • Wiadomości: 210
Re: Relaunch64 + VICE i kilka plików
« Odpowiedź #14 dnia: 09 Marca 2016, 14:21 »
spoko wrzucaj, proponuje utworzyć nowy wątek "ZbychoZagdka"

Nie bardzo rozumiem po co używać decimal poza HID.

Np. do wyświetlenia wyników. Wydaje mi się że łatwiej (i szybciej) policzyć i wyświetlić BCD niż konwertować HEX do postaci umożliwiającej wyświetlenie, tym bardziej że to licznik kilkubajtowy.