1 Ostatnio edytowany przez lopez (2021-12-20 11:01:43)

Siedzę sobie nad mad-pascalem, jako nie porgramista, tak w ramach walki z nudą. Aktualnie próbuję rozmienić P/MG i natrafiłem na dziwny problem.

Mianowicie narysowałem sobie sprita w Mad-Studio:

dostałem taki kod:
  player0 : array[0..7] of byte =
    (24, 255, 255, 24, 24, 60, 102, 255);

po wstawieniu do kodu wyświetla go poprawnie, jednak jak zapiszę go do pliku i wczytam do programu to wczytuje go jak by przesunięty w dół + jakieś śmieci u góry :(

kod wygląda tak:

program sprite;
uses crt, atari, b_pmg;
{$r ludzik.rc}

const
    GFX_LUDZIK_ADR             = $1000;
    PMGBASE                 = $6000;    

  player0 : array[0..7] of byte =
    (24, 255, 255, 24, 24, 60, 102, 255);
    
procedure init;
begin
    PMG_Init(Hi(PMGBASE));
    PMG_Clear;
    // player0 pozycja X
    PMG_hpos0:=120;
    // kolor player0    
    PMG_pcolr0_S:=200;
    
    move(pointer(player0),pointer(PMGBASE+560),8);
// zle wyswietla gdy zaladowany z pliku
//    move(pointer(GFX_LUDZIK_ADR),pointer(PMGBASE+560),8);

// kolory tła (710), ramki (712)
// Poke(710, 0); 
    TextBackground(0);
// Poke(712, 0);
    COLBAKS := 0;
// wyłączenie kursora
//    Poke(752, 1);
    crsinh := 1;

    writeln(eol,'Test PMG');
end;

begin
    init;
    repeat until keypressed;
end.

Jakieś podpowiedzi co robię nie tak wczytując obrazek do pamięci?

Post's attachments

ludzik.rc 36 b, liczba pobrań: 4 (od 2021-12-20) 

ludzik.spr 10 b, liczba pobrań: 2 (od 2021-12-20) 

sprite.pas 678 b, liczba pobrań: 2 (od 2021-12-20) 

Tylko zalogowani mogą pobierać załączniki.

2

Masz dwa dodatkowe bajty w pliku ludzik.spr - pewnie to nagłówek, obetnij i będzie dobrze :)

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

3

Dzięki dely!

Czyli do tablicy zapisuje się dziesiętnie a w pliku szesnastkowo + ten nieszczęsny nagłówek i wszystko jasne :)