Skip to content

Commit

Permalink
*** empty log message ***
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Mar 22, 2002
1 parent 8c6aada commit 6c4f07f
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 3 deletions.
2 changes: 1 addition & 1 deletion README.MiNT
Expand Up @@ -110,4 +110,4 @@ SDL_JOYSTICK_ATARI:

--
Patrice Mandin <pmandin@caramail.com>
http://www.multimania.com/pmandin
http://membres.lycos.fr/pmandin/
52 changes: 50 additions & 2 deletions src/video/xbios/SDL_xbios.c
Expand Up @@ -619,10 +619,58 @@ static void XBIOS_UnlockHWSurface(_THIS, SDL_Surface *surface)
static void XBIOS_UpdateRects(_THIS, int numrects, SDL_Rect *rects)
{
SDL_Surface *surface;

surface = this->screen;

XBIOS_FlipHWSurface(this, surface);
if ((surface->format->BitsPerPixel) == 8) {
void *destscr;
int destx;
int i;

/* Center on destination screen */
destscr = XBIOS_screens[XBIOS_fbnum];
destscr += XBIOS_pitch * ((XBIOS_height - surface->h) >> 1);
destx = (XBIOS_width - surface->w) >> 1;
destx &= ~15;
destscr += destx;

for (i=0;i<numrects;i++) {
void *source,*destination;
int x1,x2;

x1 = rects[i].x & ~15;
x2 = ((rects[i].x+rects[i].w) | 15) +1;

source = surface->pixels;
source += surface->pitch * rects[i].y;
source += x1;

destination = destscr;
destination += XBIOS_pitch * rects[i].y;
destination += x1;

/* Convert chunky to planar screen */
Atari_C2pConvert(
source,
destination,
x2-x1,
rects[i].h,
XBIOS_doubleline,
surface->pitch,
XBIOS_pitch
);
}
}

Setscreen(-1,XBIOS_screens[XBIOS_fbnum],-1);
Vsync();

if ((surface->flags & SDL_DOUBLEBUF) == SDL_DOUBLEBUF) {
XBIOS_fbnum ^= 1;
if ((surface->format->BitsPerPixel) > 8) {
surface->pixels=XBIOS_screens[XBIOS_fbnum];
}
}
}

static int XBIOS_FlipHWSurface(_THIS, SDL_Surface *surface)
Expand Down

0 comments on commit 6c4f07f

Please sign in to comment.