;------------------------------------------------------------- ; Armpit Scheme 00.0160 LCD Output Port WRITE Example. ; For LPC2478-STK. ;------------------------------------------------------------- ; on-chip controller ; 240x320 pixels (row x col) ; 24-bit color ; parallel interface (in-RAM screen buffer) ;------------------------------------------------------------- ; open an output file to write code (define p (open-output-file "init-lcd-write")) ; store the font in the LCD output port (write '(let ((font (install '#(0 0 #x604b 0 #x0001 #x0000 #x0201 #x2108 #x0001 #x5294 #xF501 #x57D5 #x5F11 #x7D1C #xBF01 #x7E88 #x6781 #x4513 #x0001 #x1110 #x8201 #x2210 #x2201 #x2084 #xEA81 #xABBE #x4201 #x213E #x4221 #x0000 #x0001 #x003E #xC601 #x0000 #x8801 #x0888 #xB701 #x76E3 #x4F81 #x6508 #x8F81 #x744C #x1F01 #xF05C #x1081 #x8C7E #x1701 #xF43C #x1701 #x743D #x4401 #xF844 #x1701 #x745D #x1701 #x745E #xC601 #x6300 #x4221 #x6300 #x4101 #x1110 #xF001 #x07C1 #x4401 #x4104 #x4011 #x744C #xF701 #x746F #x1881 #x747F #x1F01 #xF47D #x1701 #x7461 #x1F01 #xF463 #x0F81 #xFC3D #x0801 #xFC3D #x1701 #x7427 #x1881 #x8C7F #x4F81 #xF908 #x2601 #x3885 #xA481 #x4A98 #x0F81 #x8421 #x1881 #x8EEB #x3881 #x8E6B #x1701 #x7463 #x0801 #xF47D #x2681 #x746B #x2881 #xE4B9 #x1701 #x741C #x4201 #xF908 #x1701 #x8C63 #xA201 #x8C62 #xB881 #x8C6B #xA881 #x8A88 #x4201 #x8A88 #x8F81 #xF888 #x8781 #x7A10 #x2081 #x8208 #x1781 #x7842 #x0001 #x22A2 #x0F81 #x0000 #x0001 #x4104 #x9381 #x304E #x9701 #x421C #x8301 #x000C #x9381 #x084E #x8301 #x325C #x8401 #x3A1C #x7099 #x01D2 #x9481 #x421C #x4201 #x2008 #x2511 #x1004 #xA481 #x4298 #x4101 #x2108 #x5A81 #x003D #x9481 #x001C #x9301 #x000C #xE421 #x0392 #x7085 #x01D2 #xA401 #x0018 #x3701 #x01D8 #x4101 #x23C8 #x2681 #x0025 #xA201 #x0022 #x5781 #x002B #x4501 #x0014 #x7099 #x0252 #x4781 #x03C4 #x8601 #x6220 #x4211 #x2108 #x2301 #x3082 #x2001 #x022A #x0001 #x0000)))) (set-car! (cddar lcop) font)) p) ; install putc function in LCD output port (write '(vector-set! (cdr lcop) 4 (install '#(#x27 0 #xeb 0 #x20DC #xE28F #xE000 #xE582 #x20D8 #xE28F #x3000 #xE582 #xC0FF #xE203 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x3020 #xE597 #xD #xE33C #x2003 #x1A0 #x2008 #x1597 #x8 #xE33C #x2004 #x242 #xC004 #xE597 #x3 #xE152 #x2001 #x53A0 #xC004 #x528C #x1 #xE352 #x2004 #x4243 #xC004 #x424C #x301C #xE597 #x1 #xE35C #x2001 #x43A0 #xC004 #x4243 #xC004 #xE587 #x2008 #xE587 #x2010 #xE597 #x2 #xE13C #x2018 #x128F #xF002 #x11A0 #x3001 #xE3A0 #x7004 #xE595 #xC024 #xE597 #xC004 #xE28C #xE000 #xE28F #xF00C #xE1A0 #x204C #xE28F #x3000 #xE592 #x7004 #xE595 #xC018 #xE597 #xC004 #xE28C #xE000 #xE28F #xF00C #xE1A0 #x202C #xE28F #xE000 #xE592 #x2028 #xE28F #x3000 #xE592 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #xC0FF #xE203 #x20 #xE35C #x2008 #x5597 #x2004 #x5282 #x2008 #x5587 #xF00E #xE1A0 #x0 #x0 #x0 #x0))) p) ; install lcdptc function in LCD output port (write '(vector-set! (cdr lcop) 5 (install '#(#x27 0 #xeb 0 #x2F46 #xE28F #x3000 #xE582 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2008 #xE597 #x2003 #xE3C2 #x20A2 #xE082 #xC004 #xE597 #x700C #xE1A0 #xC003 #xE3CC #xC0AC #xE08C #xC127 #xE08C #x230C #xE082 #x240C #xE082 #x2041 #xE282 #x2C01 #xE282 #x2102 #xE1A0 #x7000 #xE595 #x7000 #xE597 #x7107 #xE1A0 #x700F #xE3C7 #x7002 #xE087 #x20C0 #xE28F #x7000 #xE582 #xC007 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2018 #xE597 #x2122 #xE1A0 #x700C #xE1A0 #xC006 #xE3A0 #x3014 #xE3A0 #x3004 #xE253 #x2003 #xE787 #xF010 #x124F #x7C05 #xE287 #xC001 #xE25C #xF020 #x124F #x2078 #xE28F #x3000 #xE592 #xC0FF #xE203 #x20 #xE35C #xF00E #x41A0 #x7000 #xE595 #x7004 #xE597 #x7004 #xE597 #x7000 #xE597 #xC01F #xE24C #x310C #xE797 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2018 #xE597 #xC014 #xE597 #x2122 #xE1A0 #xC12C #xE1A0 #x3003 #xE3C3 #x24FF #xE3C2 #x702C #xE28F #x7000 #xE597 #x102 #xE313 #x2C22 #x787 #xCC22 #x1787 #x201 #xE352 #x24FF #x53C2 #x7C05 #x5287 #x2301 #x4282 #x3083 #xE1B0 #xF028 #x124F #xF00E #xE1A0 #x0 #x0 #x0 #x0))) p) ; install scrollup function in LCD output port (write '(vector-set! (cdr lcop) 8 (install '#(#x27 0 #xeb 0 #x2103 #xE1A0 #x20A2 #xE082 #x2003 #xE082 #xC0F0 #xE262 #xC30C #xE1A0 #xC10C #xE08C #x2402 #xE1A0 #x2102 #xE082 #x7000 #xE595 #x7000 #xE597 #x7107 #xE1A0 #x7008 #xE247 #xC001 #xE28C #xC001 #xE25C #x7004 #x1287 #x3002 #x1797 #x3000 #x1587 #xF018 #x124F #x3007 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #xC018 #xE597 #xC12C #xE1A0 #x7003 #xE1A0 #x3002 #xE1A0 #x2004 #xE282 #x2004 #xE252 #xC002 #x1787 #xF010 #x124F #xC6A3 #xE1A0 #x22 #xE35C #xC001 #x524C #x17 #xE35C #xC001 #x524C #xB #xE35C #xC001 #x524C #xC022 #xE26C #x22 #xE35C #xC022 #x524C #xC10C #xE1A0 #xC001 #xE38C #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #xC004 #xE587 #x2001 #xE3A0 #x2008 #xE587 #xF00E #xE1A0))) p) ; close the file (close-output-port p)