--- /dev/null
+The first case to consider is that where the image width is divisible
+by 4. This case is shown below:
+
+Planar Format Normal Raster order
+============= ===================
+0 0 1 2 3 PI
+ 4 5 6 7 00 10 20 30 01 11 21 31 02 12 22 32 03 13 23 33
+ 8 9 A B 04 14 24 34 05 15 25 35 06 16 26 36 07 17 27 37
+ 08 18 28 38 09 19 29 39 0A 1A 2A 3A 0B 1B 2B 3B
+1 0 1 2 3
+ 4 5 6 7
+ 8 9 A B
+
+2 0 1 2 3
+ 4 5 6 7
+ 8 9 A B
+
+3 0 1 2 3
+ 4 5 6 7
+ 8 9 A B
+
+Suppose we would like to render the image from (1,0) to (3,1), we
+would render the coordinates:
+
+ 10 20 30
+ 14 24 34
#include <conio.h>\r
#include "src\lib\types.h"\r
#include "src\lib\bitmap.h"\r
+#include "src\lib\planar.h"\r
\r
/* -========================== Types & Macros ==========================- */\r
#define PAGE_OFFSET(x,y) (((y)<<6)+((y)<<4)+((x)>>2))\r
void modexShowPage(page_t *page);\r
void modexPanPage(page_t *page, int dx, int dy);\r
void modexSelectPlane(byte plane);\r
-void modexClearRegion(page_t *page, int x, int y, int w, int h, byte color);
+void modexClearRegion(page_t *page, int x, int y, int w, int h, byte color);\r
void modexDrawBmp(page_t *page, int x, int y, bitmap_t *bmp);\r
void modexDrawBmpRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);\r
+void modexDrawPlanarBuf(page_t *page, int x, int y, planar_buf_t *bmp);\r
void modexDrawSprite(page_t *page, int x, int y, bitmap_t *bmp);\r
-void modexDrawSpriteRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);
+void modexDrawSpriteRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp);\r
void modexCopyPageRegion(page_t *dest, page_t *src, word sx, word sy, word dx, word dy, word width, word height);\r
\r
/* Palette fade and flash effects */\r