SDL 1.2 ze wsparciem CTPCI/Radeon

Na stronie Bitbucket udostępniłem źródła z biblioteką SDL 1.2 i moimi poprawkami. Są one związane z dodaniem obsługi CTPCI/Radeon’a oraz rozwiązanymi konfliktami między niektórymi stałymi, a najnowszymi nagłówkami systemowymi (dołączanymi do ostatniej wersji kompilatora gcc 4.5.3).

Został też poprawiony driver XBIOS – sprawdzenie sprzętu jest tylko raz przy inicjalizacji – wymaga on mimo tego jeszcze trochę pracy, głównie redukcji nadmiarowego kodu.

Żeby pobrać kod źródłowy należy wpisać:
$ hg clone https://bitbucket.org/nokturnal/sdl-atari-port -b SDL-1.2
Repozytorium jest oparte na Mercurialu i jest sklonowaną wersją gałęzi SDL-1.2 z oficjalnego repozytorium projektu SDL.

Obecnie są trzy problemy, w tym dwa nie związane z SDL tylko sterownikami XBIOS ATI Radeon lub firmwarem CTPCI.
Pierwszy z nich związany jest z systemem audio i kompilacją dla procesorów 020-060, jeżeli zostanie poprawiony to wszystkie zmiany powędrują do oficjalnego repozytorium SDL.
Drugi jest związany z wywołaniem XBIOS VSetRGB() (ustawienie palety w trybach 8-bit) i kartami Radeon 7000. Wywołanie trwa zbyt długo (po zmierzeniu 3,8 sek!).
Problem nie wystąpił na np. Radeonie 9200. W związku z tym wszelkie porty gier w 8-bitowej głębi kolorów (HHexen, HHeretic, Quake MiKRo) działają fatalnie na kartach R7000. Ciężko jest teraz stwierdzić czy wina jest po stronie sterowników karty czy firmware’u CTPCI.
Trzeci dotyczy wywołania XBIOS CMD_GETINFO VSetscreen’a, czasami wywołanie zawodzi i aktualne informacje o trybie video nie są zapisywane, w związku z tym nie mogą być odtworzone po wyjściu z programu.


O wpisie