Мопед не мой. Похоже то ли переобновили, то ли недообновили SDL 1.2, и ничего не работает:
Код:
#include <SDL.h>
int main(int argc, char *argv[]) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
SDL_WM_SetCaption("SDL Test", "SDL Test");
int done = 0;
SDL_Event event;
SDL_Rect rect;
rect.x = 50;
rect.y = 50;
rect.w = 50;
rect.h = 50;
while (!done) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT || (event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE)) {
done = 1;
}
}
if (SDL_MUSTLOCK(screen)) {
SDL_LockSurface(screen);
}
SDL_FillRect(screen, &screen->clip_rect, SDL_MapRGB(screen->format, 0, 0, 0));
SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, 0xFF, 0x80, 0x40));
if (SDL_MUSTLOCK(screen)) {
SDL_UnlockSurface(screen);
}
SDL_UpdateRect(screen, 0, 0, 0, 0);
}
SDL_Quit();
return 0;
}
Компилим и запускаем:
Код:
gcc $(sdl-config --cflags --libs) sdltest.c -o sdltest && ./sdltest
И хоть бы что - пустой белый экран.
Причём бинарь который у меня был - работал, но я его потёр для тестов Так что теперь остался я без эмуля
----
UPD №1.
Скомпилил последний SDL1.2 из сорцов - саем стори. Походу сорян, zemu под мак накрылся до момента переезда на SDL2
UPD №2.
https://twitter.com/icculus/status/1...053697?lang=en
https://sourceforge.net/p/dosbox/bugs/491/