Three-pin 640x400 VGA Console Mode

Dependents:   projet_AWA_testVGA2

Revision:
3:ab761080df98
Parent:
2:70daa29e01bd
Child:
4:3f0bd68a4dda
--- a/vga640x400.c	Sun Jul 24 16:34:25 2011 +0000
+++ b/vga640x400.c	Wed Aug 10 11:24:28 2011 +0000
@@ -35,9 +35,15 @@
  
 // -----------------------------------------------------------------------------------
 
-unsigned char text_buffer[80*25];
-unsigned char *font;
-
+unsigned char text_buffer[80*25];   ///< 80x25 screen buffer, i.e. 25 lines of 80 characters.
+unsigned char *font;                ///< Pointer to the user supplied font.
+                                    ///< Each character is 8 pixels wide and 16 pixels high.
+                                    ///< The font consists of 16 groups of 256 bytes.
+                                    ///< i.e. 256 times the first byte of each character, then
+                                    ///< 256 times second byte of each character, and so on.
+                                    ///< This differs from the most common way bitmap fonts are
+                                    ///< ordered, so you have to preprocess your font data first.
+                                    
 static unsigned line_counter;
 static unsigned char scanline0[100], scanline1[100];    // 100*8=800 color clocks
 static unsigned char *curline = scanline1+20;
@@ -251,6 +257,13 @@
 
 // -----------------------------------------------------------------------------------
 
+/** Initialize the VGA signal
+ *
+ * This function should be the very first thing you call, before doing anything else.
+ * It turns off all peripherals, sets the main clock to 100MHz (instead of the 96MHz default of the mbed)
+ * and switches on PWM, I2S and DMA.
+ */
+
 void init_vga(void) {
     fl_power_off_all_peripherals();