Po długiej przerwie od Atari postanowiłem powrócić do niego i naszło mnie, aby stworzyć jakiś prosty projekt.
Jako dzieciak bawiłem się językiem BASIC, ale teraz po wielu latach siedzenia w językach wysokiego poziomu na PC raczej ten język nie wchodzi w grę.
Mad-Pascal wydaje mi się fajnym rozwiązaniem.
Oczywiście szybko natrafiłem na pierwsze problemy.
Póki co moim założeniem jest sprawdzenie możliwości graficznych.
I tu moje pierwsze pytanie. Czy jest możliwe wyświetlanie duszków w trybie graficznym 15 bez magicznych sztuczek w assemblerze?
Tryb graficzny 15 dlatego, że oferuje akceptowalną "rozdzielczość" + 4 kolory. Jakby doszły do tego 4 kolory duszków to jest to czego potrzebuję.
Mój kod:
uses pmg, crt, graph;
var
p0Data: array[0.._P_MAX] of byte = (28, 8, 137, 126, 62, 34, 34, 102, 0, 0, 0, 0, 0, 0, 0);
begin
InitGraph(15+16);
SizeP(0, 0);
ColorPM(0, 58);
p_data[0] := p0Data;
SetPM(_PM_DOUBLE_RES);
InitPM(_PM_DOUBLE_RES);
ShowPM(_PM_SHOW_ON);
MoveP(0, 60, 10);
ReadKey;
ShowPM(_PM_SHOW_OFF);
end.
Wyświetla artefakty w tym trybie (jak w załączniku). Dlaczego? Rozumiem, że dane w pamięci się "gryzą" ze sobą. Jak temu zaradzić i czy się da to zrobić tylko i wyłącznie za pomocą mad-pascala?
Próbowałem też wykorzystując bibliotekę Bociana b_pmg ale efekt ten sam.