' LED Matrix Character Display Demo ' CON oscmode = $010c3f04 freq = 160_000_000 baud = 115_200 baseLEDPin = 32 statusLED = 57 CHAR_WIDTH = 7 CHAR_HEIGHT = 7 SPEED = 2 DEBUG = 0 VAR byte idx byte row byte col byte Apin byte Bpin OBJ pins: "Pins.spin2" ser : "SmartSerial.spin2" PUB main| i, r, speed clkset(oscmode, freq) ser.start(63, 62, 0, baud) ' P2 serial default pins waitcnt(clkfreq / 10000 + cnt) ser.Str(string("Starting...",13,10)) 'test - repeatadly draw a single character 'repeat ' drawChar("}") ' draw characters from the demo string 'repeat i from 0 to strsize(@demo_string) - 1 ' drawChar(demo_string[i]) ' draw all characters repeat i from 0 to strsize(@all_chars) - 1 drawChar(all_chars[i]) PUB drawChar(c) '' Convert the character to a font table index c := c & $7F if c < 32 c := 0 else c -= 32 repeat 20 ' sets how long each character displays repeat row from 0 to CHAR_HEIGHT - 1 pins.Toggle(statusLED) ' Toggle P2-EVAL LED to indicate test is running 'repeat col from 0 to CHAR_WIDTH -1 repeat col from 0 to CHAR_WIDTH '' calculate an index into the ledTable idx := (row * 8 + col) Apin := (ledTable[idx]) >> 4 ' 4 MSB's are the A pin index number Bpin := (ledTable[idx]) & $0f ' 4 LSB's are the B pin index number '' only light an LED if a coresponding bit is set in the minifont if minifont[c * CHAR_WIDTH + row] & 1 << col 'if minifont[c * CHAR_WIDTH + col] & 1 << row pins.High(baseLEDPin + Apin) if minifont[c * CHAR_WIDTH + row] & 1 << col 'if minifont[c * CHAR_WIDTH + col] & 1 << row pins.Low(baseLEDPin + Bpin) ' Note: Bpins are always set Low for a lit LED waitcnt(clkfreq / 4000 + cnt) ' pause to display each LED pins.In(baseLEDPin + Bpin) pins.In(baseLEDPin + Apin) waitcnt(clkfreq / 10000 + cnt) ' delay between each character displayed DAT demo_string byte "Demo of Parallax Propeller 2 Evaluation Board Accessory Set LED Matrix",0 all_chars '' almost all characters (avoids a few that create compiler problems :-) byte "!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~˚",0 ledTable 'col --0---1---2---3---4---5---6---7 byte $01,$02,$03,$04,$05,$06,$07,$10 ' row 0 00-15 byte $12,$13,$14,$15,$16,$17,$20,$21 ' row 1 16-31 byte $23,$24,$25,$26,$27,$30,$31,$32 ' row 2 32-47 byte $34,$35,$36,$37,$40,$41,$42,$43 ' row 3 48-63 byte $45,$46,$47,$50,$51,$52,$53,$54 ' row 4 64-79 byte $56,$57,$60,$61,$62,$63,$64,$65 ' row 5 80-95 byte $67,$70,$71,$72,$73,$74,$75,$76 ' row 6 96-111 '+=============================================================================+ '+ mini font 8x7 reversed + '+=============================================================================+ '' Derived from: AiChip_SmallFont_Atari_lsb_001.spin '' RR20100214 modified for 1-pinTV '' RR20181208 modified for P2 - table of ascii $20-$7F 96chars only '' DG20190204 modified for 8x7 font sizing for P2 Accessory Bd LED Matrix '+=============================================================================+ minifont byte %00000000 ' ........ $20 Space byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $20 Space byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $21 ! byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $21 ! byte %00000000 ' ........ byte %00011000 ' ...##... byte %00000000 ' ........ $22 " byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00000000 ' ........ $22 " byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $23 # byte %01100110 ' .##..##. byte %11111111 ' ######## byte %01100110 ' .##..##. byte %01100110 ' .##..##. $23 # byte %11111111 ' ######## byte %01100110 ' .##..##. byte %00011000 ' ...##... $24 $ byte %01111100 ' ..#####. byte %00000110 ' .##..... byte %00111100 ' ..####.. byte %01100000 ' .....##. $24 $ byte %00111110 ' .#####.. byte %00011000 ' ...##... byte %00000000 ' ........ $25 % byte %01100110 ' .##..##. byte %00110110 ' .##.##.. byte %00011000 ' ...##... byte %00001100 ' ..##.... $25 % byte %01100110 ' .##..##. byte %01100010 ' .#...##. byte %00111000 ' ...###.. $26 & byte %01101100 ' ..##.##. byte %00111000 ' ...###.. byte %00011100 ' ..###... byte %11110110 ' .##.#### $26 & byte %01100110 ' .##..##. byte %11011100 ' ..###.## byte %00000000 ' ........ $27 ' byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $27 ' byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $28 ( byte %01110000 ' ....###. byte %00111000 ' ...###.. byte %00011000 ' ...##... byte %00011000 ' ...##... $28 ( byte %00111000 ' ...###.. byte %01110000 ' ....###. byte %00000000 ' ........ $29 ) byte %00001110 ' .###.... byte %00011100 ' ..###... byte %00011000 ' ...##... byte %00011000 ' ...##... $29 ) byte %00011100 ' ..###... byte %00001110 ' .###.... byte %00000000 ' ........ $2A * byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %11111111 ' ######## byte %00111100 ' ..####.. $2A * byte %01100110 ' .##..##. byte %00000000 ' ........ byte %00000000 ' ........ $2B + byte %00011000 ' ...##... byte %00011000 ' ...##... byte %01111110 ' .######. byte %00011000 ' ...##... $2B + byte %00011000 ' ...##... byte %00000000 ' ........ byte %00000000 ' ........ $2C , byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $2C , byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00001100 ' ..##.... byte %00000000 ' ........ $2D - byte %00000000 ' ........ byte %00000000 ' ........ byte %01111110 ' .######. byte %00000000 ' ........ $2D - byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $2E . byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $2E . byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $2F / byte %01100000 ' .....##. byte %00110000 ' ....##.. byte %00011000 ' ...##... byte %00001100 ' ..##.... $2F / byte %00000110 ' .##..... byte %00000010 ' .#...... font_n0 byte %00000000 ' ........ $30 0 byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01110110 ' .##.###. byte %01101110 ' .###.##. $30 0 byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $31 1 byte %00011000 ' ...##... byte %00011100 ' ..###... byte %00011000 ' ...##... byte %00011000 ' ...##... $31 1 byte %00011000 ' ...##... byte %01111110 ' .######. byte %00000000 ' ........ $32 2 byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00110000 ' ....##.. byte %00011000 ' ...##... $32 2 byte %00001100 ' ..##.... byte %01111110 ' .######. byte %00000000 ' ........ $33 3 byte %01111110 ' .######. byte %00110000 ' ....##.. byte %00011000 ' ...##... byte %00110000 ' ....##.. $33 3 byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $34 4 byte %00110000 ' ....##.. byte %00111000 ' ...###.. byte %00111100 ' ..####.. byte %00110110 ' .##.##.. $34 4 byte %01111110 ' .######. byte %00110000 ' ....##.. byte %00000000 ' ........ $35 5 byte %01111110 ' .######. byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %01100000 ' .....##. $35 5 byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $36 6 byte %00111100 ' ..####.. byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %01100110 ' .##..##. $36 6 byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $37 7 byte %01111110 ' .######. byte %01100000 ' .....##. byte %00110000 ' ....##.. byte %00011000 ' ...##... $37 7 byte %00001100 ' ..##.... byte %00001100 ' ..##.... byte %00000000 ' ........ $38 8 byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %01100110 ' .##..##. $38 8 byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $39 9 byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01111100 ' ..#####. byte %01100000 ' .....##. $39 9 byte %00110000 ' ....##.. byte %00011100 ' ..###... byte %00000000 ' ........ $3A : byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $3A : byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ byte %00000000 ' ........ $3B ; byte %00000000 ' ........ byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $3B ; byte %00011000 ' ...##... byte %00001100 ' ..##.... byte %01100000 ' .....##. $3C < byte %00110000 ' ....##.. byte %00011000 ' ...##... byte %00001100 ' ..##.... byte %00011000 ' ...##... $3C < byte %00110000 ' ....##.. byte %01100000 ' .....##. byte %00000000 ' ........ $3D = byte %00000000 ' ........ byte %01111110 ' .######. byte %00000000 ' ........ byte %00000000 ' ........ $3D = byte %01111110 ' .######. byte %00000000 ' ........ byte %00000110 ' .##..... $3E > byte %00001100 ' ..##.... byte %00011000 ' ...##... byte %00110000 ' ....##.. byte %00011000 ' ...##... $3E > byte %00001100 ' ..##.... byte %00000110 ' .##..... byte %00000000 ' ........ $3F ? byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00110000 ' ....##.. byte %00011000 ' ...##... $3F ? byte %00000000 ' ........ byte %00011000 ' ...##... byte %00000000 ' ........ $40 @ byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01110110 ' .##.###. byte %01110110 ' .##.###. $40 @ byte %00000110 ' .##..... byte %01111100 ' ..#####. byte %00000000 ' ........ $41 A byte %00011000 ' ...##... byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $41 A byte %01111110 ' .######. byte %01100110 ' .##..##. byte %00000000 ' ........ $42 B byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %00111110 ' .#####.. byte %01100110 ' .##..##. $42 B byte %01100110 ' .##..##. byte %00111110 ' .#####.. byte %00000000 ' ........ $43 C byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00000110 ' .##..... byte %00000110 ' .##..... $43 C byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $44 D byte %00011110 ' .####... byte %00110110 ' .##.##.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $44 D byte %00110110 ' .##.##.. byte %00011110 ' .####... byte %00000000 ' ........ $45 E byte %01111110 ' .######. byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %00000110 ' .##..... $45 E byte %00000110 ' .##..... byte %01111110 ' .######. byte %00000000 ' ........ $46 F byte %01111110 ' .######. byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %00000110 ' .##..... $46 F byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000000 ' ........ $47 G byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00000110 ' .##..... byte %01110110 ' .##.###. $47 G byte %01100110 ' .##..##. byte %01111100 ' ..#####. byte %00000000 ' ........ $48 H byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01111110 ' .######. byte %01100110 ' .##..##. $48 H byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00000000 ' ........ $49 I byte %01111110 ' .######. byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $49 I byte %00011000 ' ...##... byte %01111110 ' .######. byte %00000000 ' ........ $4A J byte %01100000 ' .....##. byte %01100000 ' .....##. byte %01100000 ' .....##. byte %01100000 ' .....##. $4A J byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $4B K byte %01100110 ' .##..##. byte %00110110 ' .##.##.. byte %00011110 ' .####... byte %00011110 ' .####... $4B K byte %00110110 ' .##.##.. byte %01100110 ' .##..##. byte %00000000 ' ........ $4C L byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000110 ' .##..... $4C L byte %00000110 ' .##..... byte %01111110 ' .######. byte %00000000 ' ........ $4D M byte %11000110 ' .##...## byte %11101110 ' .###.### byte %11111110 ' .####### byte %11010110 ' .##.#.## $4D M byte %11000110 ' .##...## byte %11000110 ' .##...## byte %00000000 ' ........ $4E N byte %01100110 ' .##..##. byte %01101110 ' .###.##. byte %01111110 ' .######. byte %01111110 ' .######. $4E N byte %01110110 ' .##.###. byte %01100110 ' .##..##. byte %00000000 ' ........ $4F O byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $4F O byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $50 P byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00111110 ' .#####.. $50 P byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000000 ' ........ $51 Q byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $51 Q byte %00110110 ' .##.##.. byte %01101100 ' ..##.##. byte %00000000 ' ........ $52 R byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00111110 ' .#####.. $52 R byte %00110110 ' .##.##.. byte %01100110 ' .##..##. byte %00000000 ' ........ $53 S byte %00111100 ' ..####.. byte %00000110 ' .##..... byte %00111100 ' ..####.. byte %01100000 ' .....##. $53 S byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $54 T byte %01111110 ' .######. byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $54 T byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $55 U byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $55 U byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $56 V byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $56 V byte %00111100 ' ..####.. byte %00011000 ' ...##... byte %00000000 ' ........ $57 W byte %11000110 ' .##...## byte %11000110 ' .##...## byte %11010110 ' .##.#.## byte %11111110 ' .####### $57 W byte %11101110 ' .###.### byte %11000110 ' .##...## byte %00000000 ' ........ $58 X byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00111100 ' ..####.. $58 X byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00000000 ' ........ $59 Y byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00011000 ' ...##... $59 Y byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $5A Z byte %01111110 ' .######. byte %00110000 ' ....##.. byte %00011000 ' ...##... byte %00001100 ' ..##.... $5A Z byte %00000110 ' .##..... byte %01111110 ' .######. byte %00000000 ' ........ $5B [ byte %01111000 ' ...####. byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $5B [ byte %00011000 ' ...##... byte %01111000 ' ...####. byte %00000000 ' ........ $5C \ byte %00000010 ' .#...... byte %00000110 ' .##..... byte %00001100 ' ..##.... byte %00011000 ' ...##... $5C \ byte %00110000 ' ....##.. byte %01100000 ' .....##. byte %00000000 ' ........ $5D ] byte %00011110 ' .####... byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $5D ] byte %00011000 ' ...##... byte %00011110 ' .####... byte %00000000 ' ........ $5E ^ byte %00010000 ' ....#... byte %00111000 ' ...###.. byte %01101100 ' ..##.##. byte %11000110 ' .##...## $5E ^ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $5F _ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $5F _ byte %00000000 ' ........ byte %01111110 ' .######. byte %00000000 ' ........ $60 ` ??? byte %10000000 ' .......# byte %11000000 ' ......## byte %01100000 ' .....##. byte %00110011 ' ##..##.. $60 ` ??? byte %00011110 ' .####... byte %00001100 ' ..##.... byte %00000000 ' ........ $61 a byte %00000000 ' ........ byte %00111100 ' ..####.. byte %01100000 ' .....##. byte %01111100 ' ..#####. $61 a byte %01100110 ' .##..##. byte %01111100 ' ..#####. byte %00000000 ' ........ $62 b byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %01100110 ' .##..##. $62 b byte %01100110 ' .##..##. byte %00111110 ' .#####.. byte %00000000 ' ........ $63 c byte %00000000 ' ........ byte %00111100 ' ..####.. byte %00000110 ' .##..... byte %00000110 ' .##..... $63 c byte %00000110 ' .##..... byte %00111100 ' ..####.. byte %00000000 ' ........ $64 d byte %01100000 ' .....##. byte %01100000 ' .....##. byte %01111100 ' ..#####. byte %01100110 ' .##..##. $64 d byte %01100110 ' .##..##. byte %01111100 ' ..#####. byte %00000000 ' ........ $65 e byte %00000000 ' ........ byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01111110 ' .######. $65 e byte %00000110 ' .##..... byte %00111100 ' ..####.. byte %00000000 ' ........ $66 f byte %01110000 ' ....###. byte %00011000 ' ...##... byte %01111100 ' ..#####. byte %00011000 ' ...##... $66 f byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $67 g byte %01111100 ' ..#####. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $67 g byte %01111100 ' ..#####. byte %01100000 ' .....##. byte %00111110 ' .#####.. byte %00000000 ' ........ $68 h byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00111110 ' .#####.. byte %01100110 ' .##..##. $68 h byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00000000 ' ........ $69 i byte %00011000 ' ...##... byte %00000000 ' ........ byte %00011100 ' ..###... byte %00011000 ' ...##... $69 i byte %00011000 ' ...##... byte %00111100 ' ..####.. byte %00110000 ' ....##.. $6A j byte %00000000 ' ........ byte %00110000 ' ....##.. byte %00110000 ' ....##.. $6A j byte %00110000 ' ....##.. byte %00110000 ' ....##.. byte %00011110 ' .####... byte %00000000 ' ........ $6B k byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00110110 ' .##.##.. byte %00011110 ' .####... $6B k byte %00110110 ' .##.##.. byte %01100110 ' .##..##. byte %00000000 ' ........ $6C l byte %00011100 ' ..###... byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $6C l byte %00011000 ' ...##... byte %00111100 ' ..####.. byte %00000000 ' ........ $6D m byte %00000000 ' ........ byte %01100110 ' .##..##. byte %11111110 ' .####### byte %11111110 ' .####### $6D m byte %11010110 ' .##.#.## byte %11000110 ' .##...## byte %00000000 ' ........ $6E n byte %00000000 ' ........ byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $6E n byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %00000000 ' ........ $6F o byte %00000000 ' ........ byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $6F o byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00000000 ' ........ $70 p byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $70 p byte %00111110 ' .#####.. byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000000 ' ........ $71 q byte %01111100 ' ..#####. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $71 q byte %01111100 ' ..#####. byte %01100000 ' .....##. byte %01100000 ' .....##. byte %00000000 ' ........ $72 r byte %00000000 ' ........ byte %00111110 ' .#####.. byte %01100110 ' .##..##. byte %00000110 ' .##..... $72 r byte %00000110 ' .##..... byte %00000110 ' .##..... byte %00000000 ' ........ $73 s byte %00000000 ' ........ byte %01111100 ' ..#####. byte %00000110 ' .##..... byte %00111100 ' ..####.. $73 s byte %01100000 ' .....##. byte %00111110 ' .#####.. byte %00000000 ' ........ $74 t byte %00011000 ' ...##... byte %01111110 ' .######. byte %00011000 ' ...##... byte %00011000 ' ...##... $74 t byte %00011000 ' ...##... byte %01110000 ' ....###. byte %00000000 ' ........ $75 u byte %00000000 ' ........ byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $75 u byte %01100110 ' .##..##. byte %01111100 ' ..#####. byte %00000000 ' ........ $76 v byte %00000000 ' ........ byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $76 v byte %00111100 ' ..####.. byte %00011000 ' ...##... byte %00000000 ' ........ $77 w byte %00000000 ' ........ byte %11000110 ' .##...## byte %11010110 ' .##.#.## byte %11111110 ' .####### $77 w byte %01111100 ' ..#####. byte %01101100 ' ..##.##. byte %00000000 ' ........ $78 x byte %00000000 ' ........ byte %01100110 ' .##..##. byte %00111100 ' ..####.. byte %00011000 ' ...##... $78 x byte %00111100 ' ..####.. byte %01100110 ' .##..##. byte %00000000 ' ........ $79 y byte %01100110 ' .##..##. byte %01100110 ' .##..##. byte %01100110 ' .##..##. $79 y byte %01111100 ' ..#####. byte %00110000 ' ....##.. byte %00011110 ' .####... byte %00000000 ' ........ $7A z byte %00000000 ' ........ byte %01111110 ' .######. byte %00110000 ' ....##.. byte %00011000 ' ...##... $7A z byte %00001100 ' ..##.... byte %01111110 ' .######. byte %00000000 ' ........ $7B { byte %00111000 ' ...###.. byte %00011000 ' ...##... byte %00011110 ' .###.... byte %00011110 ' .###.... $7B { byte %00011000 ' ...##... byte %00111000 ' ...###.. byte %00011000 ' ...##... $7C | byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00011000 ' ...##... $7C | byte %00011000 ' ...##... byte %00011000 ' ...##... byte %00000000 ' ........ $7D } byte %00011100 ' ..###... byte %00011000 ' ...##... byte %01111000 ' ....###. byte %01111000 ' ....###. $7D } byte %00011000 ' ...##... byte %00011100 ' ..###... byte %00000000 ' ........ $7E ~ byte %11001100 ' ..##..## byte %01111110 ' .######. byte %00110011 ' ##..##.. byte %00000000 ' ........ $7E ~ byte %00000000 ' ........ byte %00000000 ' ........ byte %00000000 ' ........ $7F byte %00011100 ' ..###... byte %00100010 ' .#...#.. byte %00100010 ' .#...#.. byte %00011100 ' ..###... $7F byte %00000000 ' ........ byte %00000000 ' ........ '+=============================================================================+