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 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
     
    W edytorze Action! tak.
    • 3:
       
      CommentAuthorPecus
    • CommentTime6 May 2021
     
    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
     
    Możesz dodać takie klikalne pole ogarniające shift i control wciskające je na raz i zrobione!
    • 5:
       
      CommentAuthorPecus
    • CommentTime6 May 2021 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 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 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 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
     
    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 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
     
    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 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
     
    @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 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
     
    Dzieki! :)
    • 16:
       
      CommentAuthorPecus
    • CommentTime31 May 2021
     
    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
     
    @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 :)