X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fdraw2.c;h=ae69b52d441040c39f77e9e2d751eeb6f94122c9;hb=5609d343e3b34d9fed210a1c26c2441d3f797036;hp=b2e6a7106bc005ac338555521d768f9250144059;hpb=1cfc5cc4ce06642b9bc45ca3b9d32793718e9455;p=picodrive.git diff --git a/pico/draw2.c b/pico/draw2.c index b2e6a71..ae69b52 100644 --- a/pico/draw2.c +++ b/pico/draw2.c @@ -1,13 +1,10 @@ -// This is part of Pico Library - -// (c) Copyright 2007, Grazvydas "notaz" Ignotas -// Free for non-commercial use. - -// For commercial use, separate licencing terms must be obtained. - - -// this is a frame-based renderer, alternative to Dave's line based which is in Draw.c - +/* + * tile renderer + * (C) notaz, 2006-2008 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ #include "pico_int.h" @@ -18,8 +15,6 @@ #define TILE_ROWS END_ROW-START_ROW -#define USE_CACHE - // note: this is not implemented in ARM asm #if defined(DRAW2_OVERRIDE_LINE_WIDTH) #define LINE_WIDTH DRAW2_OVERRIDE_LINE_WIDTH @@ -27,6 +22,9 @@ #define LINE_WIDTH 328 #endif +static unsigned char PicoDraw2FB_[(8+320) * (8+240+8)]; +unsigned char *PicoDraw2FB = PicoDraw2FB_; + static int HighCache2A[41*(TILE_ROWS+1)+1+1]; // caches for high layers static int HighCache2B[41*(TILE_ROWS+1)+1+1]; @@ -613,11 +611,16 @@ static void DrawDisplayFull(void) PICO_INTERNAL void PicoFrameFull() { + pprof_start(draw); + // prepare cram? if (PicoPrepareCram) PicoPrepareCram(); // Draw screen: BackFillFull(Pico.video.reg[7]); - if (Pico.video.reg[1]&0x40) DrawDisplayFull(); + if (Pico.video.reg[1] & 0x40) + DrawDisplayFull(); + + pprof_end(draw); }