atarionline.pl cc65 i joystick - 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:
         
        CommentAuthorxeen
      • CommentTime5 Aug 2011 10:08
       
      pytanie może nie dotyczy samego C jako takiego i jest ogólne , ale jaka jest zaleta używania tego rodzaju konstrukcji:

      #include < joystick.h >
      ...
      joy_install(&joy_driver);
      ....
      tutaj używamy funkcji bibliotecznych.

      coś to daje więcej oprócz opakowania, przecież można sobie wychylenie drążka + fire odczytać z rejestrów bez problemu?
      być może to lamerskie pytanie, ale nie rozumiem tego...
      • 2:
         
        CommentAuthorjhusak
      • CommentTime5 Aug 2011 10:08
       
      cc65 jest też m.in. na commodore 64 lub apple II. Przenośny kod = konieczny overhead. Ale sprawdź dla własnej satysfakcji, ile więcej kodu się generuje dla osługi joya przez bibliotekę, a ile przy dostępie do rejestrów.

      Jak chcesz mieć elastyczność na swój sposób, zrób odpowiednie makra obsługi joya i z nich korzystaj. Wówczas podmiana sposobu obsługi joya (lub innych rzeczy) z bibliotecznych np. na dostęp do rejestow jest trywialna.
      • 3:
         
        CommentAuthorxeen
      • CommentTime5 Aug 2011 11:08
       
      jeżeli chodzi o potrzebę przenośności to tak, bardziej mysłałem że odczytując to z rejestórw bezpośrednio coś jednak lamersko gubię i to nie jest tak proste jak myślałem (wymagana jeszcze jakaś tam obsługa dodatkowa i sprawdzanie tego i owego dodatkowo).

      dziwi mnie też to w TBXL np. bo przecież różnica między STICK(0) a PEEK(632) - chyba nie jest specjalnie bolesna poza potrzebą zapamiętania x adresów.

      dziękuję za info - czyli chodzi tylko o wygodę + ewentualnie przenośność.
      • 4:
         
        CommentAuthorjhusak
      • CommentTime5 Aug 2011 11:08 zmieniony
       
      Przede wszystkim przenośność, C generalnie nie jest językiem wygodnym (jak np. python)

      A to z obsługą tego i owego przy okazji to w dużych źle zaprojektowanych systemach :)
      • 5: CommentAuthorBluki
      • CommentTime5 Aug 2011 14:08
       
      Polecenie STICK jest wygodniejsze (nazwa) niż "bezpostaciowe" PEEK. Na pewno też chodziło o zachowanie zgodności z Atari BASIC-em.
      Poza tym STICK(0) w Atari BASIC-u działa szybciej niż PEEK(632). W TBXL też, ale tu różnica nie ma znaczenia.