-// This is part of Pico Library\r
-\r
-// (c) Copyright 2007, Grazvydas "notaz" Ignotas\r
-// Free for non-commercial use.\r
-\r
-// For commercial use, separate licencing terms must be obtained.\r
-\r
-\r
-// this is a frame-based renderer, alternative to Dave's line based which is in Draw.c\r
-\r
+/*\r
+ * tile renderer\r
+ * (C) notaz, 2006-2008\r
+ *\r
+ * This work is licensed under the terms of MAME license.\r
+ * See COPYING file in the top-level directory.\r
+ */\r
\r
#include "pico_int.h"\r
\r
-// port_config.h include must define these 2 defines:\r
-// #define START_ROW 1 // which row of tiles to start rendering at?\r
-// #define END_ROW 27 // ..end\r
-// one row means 8 pixels. If above example was used, (27-1)*8=208 lines would be rendered.\r
+#define START_ROW 0 // which row of tiles to start rendering at?\r
+#define END_ROW 28 // ..end\r
\r
#define TILE_ROWS END_ROW-START_ROW\r
\r
-#define USE_CACHE\r
-\r
// note: this is not implemented in ARM asm\r
#if defined(DRAW2_OVERRIDE_LINE_WIDTH)\r
#define LINE_WIDTH DRAW2_OVERRIDE_LINE_WIDTH\r
#define LINE_WIDTH 328\r
#endif\r
\r
+static unsigned char PicoDraw2FB_[(8+320) * (8+240+8)];\r
+unsigned char *PicoDraw2FB = PicoDraw2FB_;\r
+\r
static int HighCache2A[41*(TILE_ROWS+1)+1+1]; // caches for high layers\r
static int HighCache2B[41*(TILE_ROWS+1)+1+1];\r
\r
\r
PICO_INTERNAL void PicoFrameFull()\r
{\r
+ pprof_start(draw);\r
+\r
// prepare cram?\r
if (PicoPrepareCram) PicoPrepareCram();\r
\r
// Draw screen:\r
BackFillFull(Pico.video.reg[7]);\r
- if (Pico.video.reg[1]&0x40) DrawDisplayFull();\r
+ if (Pico.video.reg[1] & 0x40)\r
+ DrawDisplayFull();\r
+\r
+ pprof_end(draw);\r
}\r
\r