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.
#include "gemdos.h"
#include "xbios.h"
#include "types.h"
s16 old_color;
int main()
{
/* ustaw czerwone tło */
old_color = setcolor(0xf00, 0);
write_str("Hello world\0");
/* czekaj na klawisz */
getchar();
/* przywróć oryginalne tło */
setcolor(old_color, 0);
pterm();
return 0;
}
_setcolor
move.l (4,a7), d0 ; arg1 (color value)
move.l (8,a7), d1 ; arg2 (color register)
move.w d0, -(a7) ; color value
move.w d1, -(a7) ; color register
move.w #7, -(a7) ; function 7; Setcolor
trap #14 ; call XBIOS
addq.l #6,a7 ; clean up the stack
rts
_supervisor_setcolor
move.w (4,a7), d0 ; arg1 (color value)
move.w (8,a7), d1 ; arg2 (color register)
move.w d0, $ff8240 + (d1 * 2)
ret
OPCJA1 = WARTOSC
OPCJA2 = COS_INNEGO
OPCJA3 = 123
#include "gemdos.h"
#include "xbios.h"
#include "screen_low.h"
#include "palette.h"
#include "types.h"
u16 old_res;
u32 *screen;
int main()
{
/* pobierz adres pamięci ekranu */
screen = get_physbase();
/* zapisz aktualną rozdzielczość */
old_res = get_resolution();
/* zapisz aktualną paletę kolorów */
save_palette();
/* ustaw rozdzielczość na ST LOW */
set_resolution(0);
/* wyczyść ekran */
clrscr(screen);
/* ustaw czerwone tło */
setcolor(0x777, 0);
/* wyświetl napis */
write_str("Press any key to Quit...\0");
/* ustaw paletę kolorów - chcemy 3 kolory */
setcolor(0x700, 11); /* red */
setcolor(0x070, 12); /* green */
setcolor(0x007, 13); /* blue */
/* narysuj 3 linie */
for(int x=0; x<20; x++) {
low_put_pixel(x, 0, 11, screen); /* czerwona */
}
for(int x=0; x<20; x++) {
low_put_pixel(x, 20, 12, screen); /* zielona */
}
for(int x=0; x<20; x++) {
low_put_pixel(x, 40, 13, screen); /* niebieska */
}
/* wyświetl wypełniony prostokąt */
low_draw_rect_filled(30, 30, 80, 80, 13, screen);
/* czekaj na klawisz */
getchar();
/* SPRZĄTAMY PO SOBIE I ZOSTAWIAMY WSZYSTKO TAK JAK BYŁO WCZEśNIEJ */
/* przywróć poprzednią rozdzielczość */
set_resolution(old_res);
/* przywróć początkową paletę kolorów */
restore_palette();
/* zakończ program i wróć do systemu */
pterm();
return 0;
}
...
/* GŁÓWNA PĘTLA GRY */
while(1)
{
vsync(); /* synchronizacja pętli z wiązką odświeżania ekranu - wykonuj pętlę 50 (PAL) / 60 (NTSC) razy na sekundę */
clrscr(); /* wyczyść ekran */
//ProcessInput();
//DrawBackground();
//DrawCharacter();
}
...
/* ustaw paletę kolorów */
setcolor(0x700, 11); /* red */
setcolor(0x070, 12); /* green */
setcolor(0x007, 13); /* blue */
/* 2 piksele czerwone */
low_setPixel(0, 0, 11, screen);
low_setPixel(1, 0, 11, screen);
/* 2 piksele zielone */
low_setPixel(2, 0, 12, screen);
low_setPixel(3, 0, 12, screen);
/* 2 piksele niebieskie */
low_setPixel(4, 0, 13, screen);
low_setPixel(5, 0, 13, screen);
/* zielony prostokąt */
low_draw_rect_filled(20, 20, 180, 180, 12, screen);
/* czerwony prostokąt */
low_draw_rect_filled(40, 40, 80, 80, 11, screen);
jpacanowski:
Czekam na uwagi. Nikt nie odpisuję i się zastanawiam, czy tu w ogóle dalej przedstawiać ten projekt i nowości, chociaż z pisania tej biblioteki nie mam zamiaru póki co rezygnować. Interesuje was w ogóle to?Od 1 do 15 z 15