Sim_Piko napisał/a:Świeża binarka (wraz z źródłem) prosto z najnowszych źródeł, jeszcze ciepła. ...też na niej występuje ten błąd :/ https://www.dropbox.com/s/qtbdhpa0weunf … ar.gz?dl=0 Skompilowane na Raspbianie na RPi 2 z konfigiem "./configure --target=rpi --host=arm-linux" oraz tą wersją SDLa 1.2 z ciut lepszym hardware'owym renderowaniem na RPi
Dzięki Wielkie! Jak dotrę do domu to sprawdzę! :)
Nie jestem specem w C/C++, ale z tego, co przejrzałem źródła emulca, na raspberrym SDL jest wykorzystywany do dźwięku, obsługi klawiatury, afaik także dżojstików.
Grafika też jest generowana przez SDL, tyle że wygenerowany obraz zamiast być od razu wyświetlony na ekranie przez SDL-a, idzie przez EGL prosto na hardware'owo akcelerowaną warstwę z procka graficznego RPi, gdzie jest m.in. skalowany na całą możliwą do wyświetlenia rozdzielczość.
Jest dokładnie tak jak piszesz, z tym że Open GLES oprócz sprzętowego skalowania i blittowania, idealną synchronizację z V-Sync.
Gdy kompilujesz bez --target=rpi to kompilujesz wersję które również blittuje i skaluje za pomocą SDL, również brak V-Sync, skalowanie wygląda koszmarnie i w dodatku mocno to wszystko obciąża CPU.
Strzelam, że gdzieś przy wyświetlaniu tej warstwy, cuś się chrzani i widać ww. błąd. (pewnie gdzieś w pliku "atari_rpi.c") Może (nie wiem, nie znam się aż tak) to przez fakt, że rpi nie potrafi obsłużyć więcej niż 16bpp kolorów.
EDIT: Pogrzebałbym coś więcej, ale na razie jestem bez pc-ta, ... a na raspberrym jakoś nie umiem za nic konkretnego się zabrać :V
Patrzyłem trochę na kod renderujący widok dla Open GLES, i mogę się jedynie domyślać gdzie jest problem, chciałem to poprawić... tyle że nie potrafiłem ogarnąć kompilacji na Raspberry PI. Jeszcze raz dzięki za naprowadzenie na właściwą drogę :)
A, i jedno pytanie - po kiego grzyba(bez urazy) trzeba zmieniać "/boot/config.txt" jak i bez tego mogę wesoło popykiwać sobie w River Raida czy Boulder Dasha?
Aby włączyć tryb 1080p z refresh rate na poziomie 50Hz (PAL), a co za tym idzie aby osiągnąć płynność i idealną synchronizację z V-Sync. Wszystko jest idealnie płynne, nic się nie przycina, nie skacze, nie szarpie scrolling-ów. Dopiero to wersja (Open GLES / Rasp-Pi) daje ten efekt. Na domowym PC mam również monitor w trybie 50Hz @ 1080p, i gdy odpalam Altirra z V-Sync + "speed match to broadcast"... to też jest "prawie" dobrze. Sęk w tym że Windows zawsze znajdzie sobie coś ważniejszego do robienia i widać czasami wkurzające przycięcia obrazu i inne artefakty, które to nie występują gdy emu jest uruchomiony na Raspberry Pi.