Modified version of official firmware for Outrageous Circuits' RETRO. See Game.cpp for change history.

Dependencies:   mbed

Fork of Official_RETRO by GHI Electronics

Revision:
0:21669ea33448
Child:
1:cd8a3926f263
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DisplayN18.h	Mon Nov 10 13:04:42 2014 +0000
@@ -0,0 +1,54 @@
+#include "mbed.h"
+
+#pragma once
+
+class DisplayN18 
+{
+    static const unsigned char STEP = 4;
+    
+    DigitalOut resetPin;
+    DigitalOut backlightPin;
+    DigitalOut rsPin;
+    DigitalOut csPin;
+    SPI spi;
+
+    void writeCommand(unsigned char command);
+    void writeData(unsigned char data);
+    void writeData(const unsigned char* data, unsigned int length);
+
+    void reset();
+    void initialize();
+    void setClippingArea(unsigned char x, unsigned char y, unsigned char width, unsigned char height);
+
+    public:
+        DisplayN18();
+        
+        static const unsigned short BLUE = 0x00F8;
+        static const unsigned short GREEN = 0xE007;
+        static const unsigned short RED = 0x1F00;
+        static const unsigned short WHITE = 0xFFFF;
+        static const unsigned short BLACK = 0x0000;
+
+        static const unsigned int WIDTH = 160;
+        static const unsigned int HEIGHT = 128;
+        static const unsigned char CHAR_WIDTH = 5;
+        static const unsigned char CHAR_HEIGHT = 8;
+        static const unsigned char CHAR_SPACING = 1;
+
+        static unsigned short rgbToShort(unsigned char r, unsigned char g, unsigned char b);
+
+        void clear(unsigned short backColor = 0x0000);
+        void draw(const unsigned short* data, int x, int y, int width, int height);
+        void setPixel(int x, int y, unsigned short foreColor);
+
+        void fillRect(int x, int y, int width, int height, unsigned short foreColor);
+        void drawRect(int x, int y, int width, int height, unsigned short foreColor);
+
+        void fillCircle(int x, int y, int radius, unsigned short foreColor);
+        void drawCircle(int x, int y, int radius, unsigned short foreColor);
+
+        void drawLine(int x0, int y0, int x1, int y1, unsigned short foreColor);
+
+        void drawCharacter(int x, int y, const char character, unsigned short foreColor, unsigned short backColor, unsigned char fontSize = 1);
+        void drawString(int x, int y, const char* str, unsigned short foreColor, unsigned short backColor, unsigned char fontSize = 1);
+};
\ No newline at end of file