atarionline.pl Atari800 dla Raspberry Pi - 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:
         
        CommentAuthorPecus
      • CommentTime6 May 2021 20:05 zmieniony
       
      Dzięki!

      Ale jednak zmusiłem się dzisiaj i napisałęm szybko narzędzie w Turbo BASICu :) , które mi wygenerowało z ROM ładny plik tekstowy gotowy do zaincludowania do emulatora.
      Ale zapomniałem, że w ROM jest po kodach ekranowych, więc kolejność niezgodna z ASCII :). Właśnie przerabiam.

      Zrobione!

      Jest ładnie. Muszę teraz ogarnąć wyświetlanie semigrafiki i dodać kolejny obraz klawiatury z wciśniętym Controlem :)

      Pytanie podchwytliwe. Pytam, bo nie pamiętam, a wg tego co jeszcze pamiętam, nie ma takiej kombinacji. Czy a małym Atari była obsługiwana jakaś kombinacja z jednoczesnym Shift i Control?
      • 2:
         
        CommentAuthorjhusak
      • CommentTime6 May 2021 21:05
       
      W edytorze Action! tak.
      • 3:
         
        CommentAuthorPecus
      • CommentTime6 May 2021 22:05
       
      No tak - Action! :) teraz sobie przypominam.

      Ale kto by robił coś w Action! na emulatorze przy pomocy klawiatury ekranowej sterowanej joyem :) (może Tedec ;) ? )
      Jak na razie nie dopisuję, będzie tylko oddzielna obsługa Shift i Control.
      • 4:
         
        CommentAuthorjhusak
      • CommentTime6 May 2021 22:05
       
      Możesz dodać takie klikalne pole ogarniające shift i control wciskające je na raz i zrobione!
      • 5:
         
        CommentAuthorPecus
      • CommentTime6 May 2021 22:05 zmieniony
       
      Spoko. Na razie działają oba przełączniki.

      "Problem" jest w innym miejscu. Przygotowałem wyświetlanie obrazu klawiatury w zależności od tych przełączników. I jak zestawy dla "normal", "Shift" i "Control" da się sensownie zrobić, to co wyświetlać przy aktywnych obu? :) , a dodatkowo w tych obrazach jest zaznaczony aktywny przełącznik, więc coś trzeba przygotować dla aktywnych obu. Sporo klepania kodu, a efekt jak dla mnie żaden.

      Jak ktoś chce pisać poważniej a nie tylko wcisnąć jakiś klawisz, bo akurat inaczej nie da się pchnąć akcji gry dalej, to i tak ma podpiętą fizyczną klawiaturę.

      Ale zobaczę może coś wymyślę (mam już koncept nawet, ale też wymaga kawałka kodu).
      • 6:
         
        CommentAuthorPecus
      • CommentTime7 May 2021 12:05 zmieniony
       
      Ok. Pierwsza próba poczyniona. Zrobiłem Pull Requesta, zobaczymy.
      Na razie skończona (no dobrze kilka ostatnich klawiszy nie do końca tak jak powinno) pierwsza strona klawiatury virtualnej.
      Dodana obsługa Shift i Control (wraz z wyświetlaniem odpowiedniego zestawu znaków). Nie udaje mi się wyświetlić % i "serduszka". Serduszko to null, więc rozumiem problem, ale %??
      Dodatkowo dodałem mapowanie Helpa na Joypadzie.
      Oczywiście czcionka z atari i jakoś tak lepiej poukładane.

      Następny etap to druga strona, klawisze konsoli już są i działają, ale tam powinny znaleźć się i działać kursory i ... no nie wiem co jeszcze. Zasadniczo, jakby to jeszcze przemodelować, to wszystko zmieściłoby się na jednej stronie.

      W tej chwili wada jest taka, że jak się "wciśnie" jednocześnie Shift i Control, to oczywiście to działa, ale VKBD wyświetla się jakby był wciśnięty tylko Control i nie widać, że Shift jest także aktywny. Wynika to z tego, o czym pisałem wyżej. Więc albo wyłączę jednoczesne Shift/Control i będzie się obraz zgadzał z rzeczywistościa, albo muszę kawałek kodu dopisać, by to jakoś ładnie pokazywać.
      • 7:
         
        CommentAuthorpirx
      • CommentTime7 May 2021 14:05 zmieniony
       
      No pięknie!
      na marginesie - w demo Intel Outside shift+control+L pomija te powolne czołówki - lubiłem ten klawisz, bo ma kod klawiatury "0" :)))
      • 8:
         
        CommentAuthorPecus
      • CommentTime7 May 2021 14:05 zmieniony
       
      Heh... To muszę chyba dopisać ten kawałek kodu ;)

      Ogarnąłem wyświetlanie % (co było łatwe) i "serduszka" (co łatwe nie było). Ograniczenie jest teraz takie, że opisy klawiszy muszą mieć dokładnie 3 znaki.
      Jeśli będą dłuższe, to obetine do 3, a jak krótsze.... no cóż - zobaczymy te nulle kończonce opis. Bo jak wyświetla "serduszko", to wyświetla też null kończący string.

      Inaczej się nie dało/nie umiem :)

      Nie ma tego w obecnym Requescie, więc będzie w następnym - postaram się wtedy oprogramować resztę, żeby się nie rozdrabniać.

      Edit: No cóż, jest tam jeszcze jeden moduł pośredniczący między libretro i emulatorem i on wycina te kombinacje klawiszy. Chyba trzeba będzie i w nim pogrzebać....
      Ale tam w kodzie jest:
      /* Following keys cannot be read with both shift and control pressed:
      J K L ; + * Z X C V B F1 F2 F3 F4 HELP */

      więc co z tym Ctrl+Shift+L ??? :)
      • 9:
         
        CommentAuthorjhusak
      • CommentTime7 May 2021 17:05
       
      Potwierdzam powyższe klawisze, oraz to, że shift ctrl a _daje_ kod 255, czyli żaden klawisz nienaciśnięty, a tu niespodzianka:)
      I z tym helpem, to jakoś inaczej chyba jest, bo on nie jest czytany z klawiatury i nie zmienia się peek(764) po jego naciśnięciu.
      • 10:
         
        CommentAuthorPecus
      • CommentTime7 May 2021 18:05 zmieniony
       
      No dopisałem kawałek ;)
      Dla chętnych fork na którym pracuję (a nie mam środowiska do tego, kompiluję na malince bezpośrednio z Retropie :) , więc czasem commity poprawiają jakiś drobny bład składniowy albo pomyłkę - proszę się nie dziwić) jest tutaj: ->link<-

      Jak ktoś nie chce czekać do zatwierdzenie requestów.

      Przebudowałem już drugą stronę klawiatury, dodałem obsługę kursorów i F1-F4 (bo czemu nie).
      Liczę na sugestie.

      A jeszcze nie znalazłem co odpowiada za to, że podczas działania klawiatury ekranowej jednocześnie działa joystick i wybierajac klawisz do wciśniecia poruszamy jednocześnie postacią w grze (jeśli gramy).
      Trzeba to zablokować chyba.
      • 11:
         
        CommentAuthorPecus
      • CommentTime7 May 2021 22:05
       
      Oki. W zasadzie skończyłem :)
      Ale jako, że nie mam prawdziwej atarynki pod ręką, proszę kogś mającego :)
      Sprawdźcie mi jak działają klawisze Del,Clr i Insert w kombinacjach z Shift i Control.
      Bo nie wiem dokładnie kiedy Del staje sie Backspacem, a kiedy usuwa linie. Z emulatorów się tego nie dowiem, bo one mają pomapowane te klawisze na swój sposób.

      Z góry dzięki - jutro kończę.
      • 12:
         
        CommentAuthorPecus
      • CommentTime8 May 2021 13:05 zmieniony
       
      No i co? Nikogo? :)

      No nic - wyjąłem atarynkę z szafy i podłączyłem na chwilę. Wspomniane wyżej klawisze oprogramowałem już poprawnie. Poza tym dadałem jeden wiersz klawiszy na VKBD i zmieściłem dzięki temu wszystko na jednej stronie.
      Uwagi zawsze mile widziane, a na razie skończyłem.

      Co by się przydało jeszcze zrobić?...

      Półprzeźroczystość nakładki VKBD - bo teraz trochę zasłania. Niestety, to wymaga przepisania biblioteki graficznej (graph.c), bo obecnie wszystkie operacje graficzne nadpisują piksele w buforze wyświetlania. Robialne, ale nie teraz.... (edit) Choć w zasadzie :) , przepisałem - jest półprzeźroczystość. Trzeba dodać możliwość jej wyłączania, bo czasem warto mieć jednak nieprzeźroczysty VKBD. (edit2) No dobrze, to wciąga.... można wybierać przeźroczystość na Klawiaturze Virtualnej :)

      No i działanie joysticka w emulowanym atari w czasie kiedy jest VKBD. Zaczałem analizę kodu będącego interfejsem między libretro i emulatorem, ale nie rozumiem :) - to, że jest zagmatwany to jedno, a to że nieskomentowany to drugie.

      Ale wyobraźcie sobie, że zupełnie przy okazji....

      [...] dokonałem przełomowego odkrycia, coś czego się kompletnie nikt nie spodziewał.

      Odkrycie dotyczy rewelacyjnego języka programowania c++, który był prawdopodobnie pierwszym językiem, który był stworzony z myślą o tworzeniu profesjonalnych emulatorów i dem. Do dziś nie poznałem języka szybszego i lepiej przemyślanego - naprawdę niezwykłe!

      Wyjaśnię czego dotyczy odkrycie: otóż umiem pisać w c++ !!! [...]


      Taki żarcik :) Ale faktem jest, że to moje pierwsze podejście do kodu w c++ (w sumie nie wiem dlaczego jakoś nie miałem potrzeby/okazji). Co udowadnia, że jak się zna jakiś język programowania, to zna się je wszystkie ;)

      A oczywiście w moim repo jest aktualna wersja, no i zrobiłem nowego Pull Requesta do libretro.
      • 13:
         
        CommentAuthorWolfen
      • CommentTime8 May 2021 18:05
       
      @pecus

      Wow! Szacun! Kawal fantastycznej roboty! :) Gdzie jest Twoje repo?
      Jaka jest szansa ze to trafi potem oficjalnie do RetroArcha? :)
      • 14:
         
        CommentAuthorPecus
      • CommentTime8 May 2021 18:05 zmieniony
       
      Dzięki :) Ale ja to robię dla siebie ;)
      Mam po prostu zapakowaną malinkę z Retropie do budy arkadowej i (mimo ,że jest port USB) nie podłączam tam z zasady klawiatury. Większoś emulatorów da się tak skonfigurować, by wszystko obsłużyć joyem i przycikskami, no a Atari800... było słabo.

      A jeśli chcesz to mieć u siebie, to w konfiguracji Retropie ustaw instalację jednego z modułów w grupie "main" czyli "lr-atari800" na instalację ze źródeł a nie z binarki - binarki chyba nie są zbyt często aktualizowane.

      Moje wypociny czekają na zatwierdzenie w oficjalnym repo libretro, z którego wtedy odbywa się instalacja. Ostatnio po kilku godzinach były już w tym repo, teraz czekamy ;) Co ro RetroArcha, to korzysta on z libretro ale chyba tylko z binarek, więc ... kto wie?

      A jeśli nie chcesz czekać na to możesz podpiąć moje repo w sposób opisany wcześniej przez grzybsona:

      grzybson:

      [...] a następnie w /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-atari800.sh zmieniasz repo i brancha na swojego i reinstall from sources :)

      Ewentualnie wcześniej z RetroPie-Setup zaciągnij wcześniej najnowsze skrypty ("Update RetroPie-Setup script)


      A moje repo jest tutaj: ->link<-

      Powodzenia.
      • 15:
         
        CommentAuthorWolfen
      • CommentTime12 May 2021 19:05
       
      Dzieki! :)
      • 16:
         
        CommentAuthorPecus
      • CommentTime31 May 2021 13:05
       
      No "zmergowali" w końcu ;)

      Czyli moje wypociny są już w oficjalnym repo. Wystarczy sobie w Retropie wybrać w lr-atari800 aktualizację ze źródeł a nie z binarki, zrobić ją sobie i mamy nową klawiaturę ekranową.

      Testujcie - może zbiorę się w sobie raz jeszcze i coś tam popoprawiam :)
      • 17:
         
        CommentAuthorWolfen
      • CommentTime31 May 2021 19:05
       
      @Pecus Swietna wiadomosc! DZIEKI! :)

      Zeby jeszcze ktos zmienil domyslnie budowanie lr-atari800 na takie z serisound=enabled (nie wiem czemu nikt nie lubi zgrzytow ladowania z tasmy:P w koncu i tak zawsze moze sobie wlaczyc SIOPatch) oraz np. jeszcze zeby patch krotkiego liba8cas w koncu zostal zaciagniety do repo atari800 oficjalnie (a potem do lr-atari800) to bylaby pelnia szczescia :)