--- /dev/null
+#ifndef _SPLITSCREEN_H
+#define _SPLITSCREEN_H 1
+
+#include "screen.h"
+
+/* A 4x4 split class */
+class SplitScreen : public GenericScreen {
+private:
+ unsigned char subbufs[4][800 * 600 * 4];
+ GenericScreen *subscreens[4];
+ bool valid;
+
+ void downscale_2x2(unsigned char *dst, unsigned char *src);
+
+public:
+ SplitScreen(GenericScreen *s1, GenericScreen *s2, GenericScreen *s3, GenericScreen *s4);
+ virtual ~SplitScreen();
+
+ bool check_invalidated();
+ void draw(unsigned char *buf);
+};
+
+#endif /* !defined(_SPLITSCREEN_H) */