;-------------------------------------------------------- ; Armpit Scheme 00.0160 LCD Output Port WRITE Example. ; For Nokia-Like LCD. ;-------------------------------------------------------- ; S1D15G00 ; 132x130 pixels (row x col) ; 8-bit color ; serial 9-bit interface ;-------------------------------------------------------- ; open the output file (define p (open-output-file "init-lcd-write")) ; store the font in the LCD output port ; part 1 (due to limitations in read buffer size) (write '(define temp '#(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)) p) ; part 2 (due to limitations in read buffer size) (write '(define temp (vector-append temp '#(#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))) p) ; part 3 (due to limitations in read buffer size) (write '(begin (define font (install (vector-append temp '#(#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 ; part 1 (due to limitations in read buffer size) (write '(define temp '#(#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)) p) ; part 2 (due to limitations in read buffer size) (write '(vector-set! (cdr lcop) 4 (install (vector-append temp '#(#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 ; part 1 (due to limitations in read buffer size) (write '(define temp '#(#x27 0 #xeb 0 #x2F72 #xE28F #xE000 #xE582 #x7004 #xE595 #xC01C #xE597 #xC004 #xE28C #x2F6E #xE28F #xC000 #xE582 #x2F6D #xE28F #x3000 #xE582 #x3015 #xE3A0 #xE008 #xE28F #x2E1A #xE28F #x2000 #xE592 #xF002 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x3008 #xE597 #x3003 #xE3C3 #x30A3 #xE083 #x3002 #xE283 #x3C01 #xE383 #xE008 #xE28F #x2E17 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3004 #xE283 #xE008 #xE28F #x2F57 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3075 #xE3A0 #xE008 #xE28F #x2F52 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2004 #xE597)) p) ; part 2 (due to limitations in read buffer size) (write '(define temp (vector-append temp '#(#x3003 #xE3C2 #x30A3 #xE083 #x3122 #xE083 #x3002 #xE283 #x3C01 #xE383 #xE008 #xE28F #x2F45 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3005 #xE283 #xE008 #xE28F #x2C01 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x305C #xE3A0 #xE008 #xE28F #x20EC #xE28F #x2000 #xE592 #xF002 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x3018 #xE597 #x3123 #xE1A0 #x3C01 #xE383 #x3A1D #xE383 #xE008 #xE28F #x20C0 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x20B8 #xE28F #x3000 #xE592 #xC0FF #xE203 #x20 #xE35C #x2094 #x428F #xF002 #x41A0 #x7000 #xE595 #x7004 #xE597 #x7004 #xE597 #x7000 #xE597))) p) ; part 3 (due to limitations in read buffer size) (write '(vector-set! (cdr lcop) 5 (install (vector-append temp '#(#xC01F #xE24C #x310C #xE797 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2018 #xE597 #x2122 #xE1A0 #x2C01 #xE382 #xC078 #xE28F #x2000 #xE58C #x2014 #xE597 #x2122 #xE1A0 #x2C01 #xE382 #xC068 #xE28F #x2000 #xE58C #x2058 #xE28F #x5000 #xE582 #x5003 #xE1A0 #x102 #xE315 #xC04C #x28F #xC04C #x128F #x3000 #xE59C #xE008 #xE28F #x2030 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x5085 #xE1A0 #x2 #xE335 #x5003 #x1225 #xC034 #x124F #xF00C #x11A0 #x2018 #xE28F #x5000 #xE592 #x2004 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0)))) p) ; install scrollup function in LCD output port ; part 1 (due to limitations in read buffer size) (write '(define temp '#(#x27 0 #xeb 0 #x2F5B #xE28F #xE000 #xE582 #x7004 #xE595 #xC01C #xE597 #xC004 #xE28C #x2F57 #xE28F #xC000 #xE582 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #xC004 #xE597 #x49 #xE33C #xC001 #x3A0 #xC004 #xE587 #xC004 #xE28C #xC010 #xE587 #x30AB #xE3A0 #xE008 #xE28F #x2F4A #xE28F #x2000 #xE592 #xF002 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2004 #xE597 #x3003 #xE3C2 #x30A3 #xE083 #x3122 #xE083 #x3007 #xE283 #x3123 #xE1A0 #x3001 #xE283 #x3C01 #xE383 #xE008 #xE28F #x20EC #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3015 #xE3A0 #xE008 #xE28F #x20D8 #xE28F #x2000 #xE592)) p) ; part 2 (due to limitations in read buffer size) (write '(define temp (vector-append temp '#(#xF002 #xE1A0 #x3002 #xE3A0 #x3C01 #xE383 #xE008 #xE28F #x20C0 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x307C #xE283 #xE008 #xE28F #x20AC #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3075 #xE3A0 #xE008 #xE28F #x2098 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x2004 #xE597 #x3003 #xE3C2 #x30A3 #xE083 #x3122 #xE083 #x3002 #xE283 #x3C01 #xE383 #xE008 #xE28F #x2064 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x3008 #xE283 #xE008 #xE28F #x2050 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x305C #xE3A0 #xE008 #xE28F #x203C #xE28F #x2000 #xE592 #xF002 #xE1A0))) p) ; part 3 (due to limitations in read buffer size) (write '(vector-set! (cdr lcop) 8 (install (vector-append temp '#(#x7000 #xE595 #x7004 #xE597 #x7000 #xE597 #x3018 #xE597 #x3123 #xE1A0 #x3C01 #xE383 #x3A65 #xE383 #x3501 #xE383 #xE00C #xE28F #xE000 #xE59E #x2008 #xE28F #x2000 #xE592 #xF002 #xE1A0 #x0 #x0 #x0 #x0)))) p) ; clear the temporary variable (write '(define temp #t) p) ; close the file (close-output-port p)