fl { PropForth3.4 LCD:YHY024006A[controler:ILI9325] } wvariable font 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, \ SP 00 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 00 c, 00 c, 00 c, 04 c, 00 c, 00 c, 00 c, 01 c, 20 c, 24 c, 04 c, 80 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 90 c, 09 c, 00 c, 90 c, 3F c, C0 c, 90 c, 09 c, 03 c, FC c, 09 c, 00 c, 90 c, 09 c, 00 c, 00 c, 00 c, 00 c, 40 c, 1F c, 02 c, 48 c, 24 c, 01 c, F0 c, 04 c, 80 c, 48 c, 24 c, 81 c, F0 c, 04 c, 00 c, 00 c, 00 c, 03 c, 10 c, 49 c, 04 c, A0 c, 4A c, 03 c, 40 c, 05 c, 80 c, A4 c, 0A c, 41 c, 24 c, 11 c, 80 c, 00 c, \ % 00 c, 00 c, E0 c, 11 c, 01 c, 10 c, 12 c, 00 c, C8 c, 12 c, 82 c, 10 c, 21 c, 02 c, 28 c, 1C c, 40 c, 00 c, 00 c, 01 c, 00 c, 20 c, 04 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 40 c, 08 c, 01 c, 00 c, 10 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 10 c, 01 c, 00 c, 08 c, 40 c, 02 c, 00 c, 10 c, 01 c, 00 c, 08 c, 00 c, 80 c, 08 c, 00 c, 80 c, 08 c, 01 c, 00 c, 10 c, 02 c, 00 c, 00 c, 00 c, 40 c, 24 c, 81 c, 50 c, 0E c, 01 c, 50 c, 24 c, 80 c, 40 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, \ * 00 c, 00 c, 00 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 7F c, C0 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 03 c, 00 c, 30 c, 06 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 7F c, C0 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 03 c, 00 c, 30 c, 00 c, 00 c, 00 c, 00 c, 02 c, 00 c, 40 c, 08 c, 01 c, 00 c, 20 c, 04 c, 00 c, 80 c, 10 c, 02 c, 00 c, 40 c, 08 c, 00 c, \ / 00 c, 00 c, E0 c, 11 c, 02 c, 08 c, 20 c, 82 c, 08 c, 20 c, 82 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 00 c, 40 c, 0C c, 01 c, 40 c, 24 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, E0 c, 11 c, 02 c, 08 c, 00 c, 80 c, 10 c, 02 c, 00 c, 40 c, 08 c, 01 c, 00 c, 3F c, 80 c, 00 c, 00 c, 03 c, F8 c, 01 c, 00 c, 20 c, 04 c, 00 c, E0 c, 01 c, 00 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 00 c, 60 c, 0A c, 00 c, A0 c, 12 c, 01 c, 20 c, 22 c, 02 c, 20 c, 7F c, 80 c, 20 c, 02 c, 00 c, 00 c, \ 4 00 c, 03 c, F8 c, 20 c, 02 c, 00 c, 2E c, 03 c, 10 c, 00 c, 80 c, 08 c, 00 c, 82 c, 10 c, 1E c, 00 c, 00 c, 00 c, 00 c, F0 c, 10 c, 02 c, 00 c, 2E c, 03 c, 10 c, 20 c, 82 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 03 c, F8 c, 00 c, 80 c, 10 c, 01 c, 00 c, 20 c, 02 c, 00 c, 40 c, 04 c, 00 c, 80 c, 08 c, 00 c, 00 c, 00 c, 00 c, E0 c, 11 c, 02 c, 08 c, 11 c, 00 c, E0 c, 11 c, 02 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 00 c, E0 c, 11 c, 02 c, 08 c, 20 c, 82 c, 08 c, 11 c, 80 c, E8 c, 00 c, 80 c, 10 c, 1E c, 00 c, 00 c, \ 9 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0C c, 00 c, C0 c, 00 c, 00 c, 00 c, 0C c, 00 c, C0 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0C c, 00 c, C0 c, 00 c, 00 c, 00 c, 0C c, 00 c, C0 c, 18 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, C0 c, 30 c, 0C c, 03 c, 00 c, C0 c, 03 c, 00 c, 0C c, 00 c, 30 c, 00 c, C0 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 07 c, FC c, 00 c, 00 c, 00 c, 7F c, C0 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 60 c, 01 c, 80 c, 06 c, 00 c, 18 c, 00 c, 60 c, 18 c, 06 c, 01 c, 80 c, 60 c, 00 c, 00 c, \ > 00 c, 00 c, E0 c, 11 c, 02 c, 08 c, 00 c, 80 c, 10 c, 02 c, 00 c, 40 c, 04 c, 00 c, 00 c, 04 c, 00 c, 00 c, 00 c, 00 c, F0 c, 30 c, 82 c, 64 c, 49 c, 44 c, 94 c, 49 c, 44 c, 94 c, 27 c, 83 c, 00 c, 0E c, 00 c, 00 c, 00 c, 00 c, 40 c, 04 c, 00 c, A0 c, 0A c, 01 c, 10 c, 11 c, 03 c, F8 c, 20 c, 84 c, 04 c, 40 c, 40 c, 00 c, 00 c, 03 c, F0 c, 20 c, 82 c, 08 c, 20 c, 83 c, F0 c, 20 c, 82 c, 04 c, 20 c, 42 c, 08 c, 3F c, 00 c, 00 c, 00 c, 00 c, F8 c, 10 c, 42 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 01 c, 04 c, 0F c, 80 c, 00 c, \ C 00 c, 03 c, E0 c, 21 c, 82 c, 08 c, 20 c, 42 c, 04 c, 20 c, 42 c, 04 c, 20 c, 82 c, 18 c, 3E c, 00 c, 00 c, 00 c, 03 c, F8 c, 20 c, 02 c, 00 c, 20 c, 03 c, F0 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 3F c, 80 c, 00 c, 00 c, 03 c, F8 c, 20 c, 02 c, 00 c, 20 c, 03 c, F0 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 00 c, 00 c, 00 c, 00 c, F8 c, 10 c, 42 c, 00 c, 20 c, 02 c, 3C c, 20 c, 42 c, 04 c, 20 c, 41 c, 0C c, 0F c, 40 c, 00 c, 00 c, 02 c, 04 c, 20 c, 42 c, 04 c, 20 c, 43 c, FC c, 20 c, 42 c, 04 c, 20 c, 42 c, 04 c, 20 c, 40 c, 00 c, \ H 00 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 41 c, 04 c, 10 c, 41 c, 02 c, 20 c, 1C c, 00 c, 00 c, 00 c, 02 c, 08 c, 21 c, 02 c, 20 c, 24 c, 02 c, 80 c, 34 c, 02 c, 20 c, 21 c, 02 c, 08 c, 20 c, 40 c, 00 c, 00 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 3F c, 80 c, 00 c, 00 c, 04 c, 04 c, 60 c, C5 c, 14 c, 4A c, 44 c, 44 c, 40 c, 44 c, 04 c, 40 c, 44 c, 04 c, 40 c, 40 c, 00 c, \ M 00 c, 02 c, 08 c, 30 c, 82 c, 88 c, 24 c, 82 c, 28 c, 21 c, 82 c, 08 c, 20 c, 82 c, 08 c, 20 c, 80 c, 00 c, 00 c, 00 c, F0 c, 10 c, 82 c, 04 c, 20 c, 42 c, 04 c, 20 c, 42 c, 04 c, 20 c, 41 c, 08 c, 0F c, 00 c, 00 c, 00 c, 03 c, E0 c, 21 c, 02 c, 08 c, 20 c, 82 c, 10 c, 3E c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 00 c, 00 c, 00 c, 00 c, F0 c, 10 c, 82 c, 04 c, 20 c, 42 c, 04 c, 20 c, 42 c, 04 c, 20 c, 41 c, 08 c, 0F c, 00 c, 20 c, 00 c, 03 c, E0 c, 21 c, 02 c, 08 c, 20 c, 82 c, 10 c, 3E c, 02 c, 10 c, 21 c, 02 c, 08 c, 20 c, 80 c, 00 c, \ R 00 c, 00 c, F0 c, 10 c, 82 c, 04 c, 10 c, 00 c, F0 c, 00 c, 80 c, 04 c, 20 c, 41 c, 08 c, 0F c, 00 c, 00 c, 00 c, 07 c, FC c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 02 c, 08 c, 20 c, 82 c, 08 c, 20 c, 82 c, 08 c, 20 c, 82 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 02 c, 08 c, 20 c, 82 c, 08 c, 11 c, 01 c, 10 c, 11 c, 00 c, A0 c, 0A c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 04 c, 44 c, 44 c, 44 c, 44 c, 44 c, 42 c, A8 c, 2A c, 82 c, A8 c, 11 c, 01 c, 10 c, 11 c, 00 c, 00 c, \ W 00 c, 02 c, 08 c, 20 c, 81 c, 10 c, 0A c, 00 c, 40 c, 04 c, 00 c, A0 c, 11 c, 02 c, 08 c, 20 c, 80 c, 00 c, 00 c, 02 c, 08 c, 20 c, 81 c, 10 c, 11 c, 00 c, A0 c, 0A c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 03 c, F8 c, 00 c, 80 c, 10 c, 02 c, 00 c, 40 c, 08 c, 01 c, 00 c, 20 c, 02 c, 00 c, 3F c, 80 c, 00 c, 00 c, 00 c, 18 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 80 c, 00 c, 00 c, 02 c, 08 c, 20 c, 81 c, 10 c, 11 c, 03 c, F8 c, 04 c, 00 c, 40 c, 3F c, 80 c, 40 c, 04 c, 00 c, 00 c, \ \ 00 c, 03 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 30 c, 00 c, 00 c, 04 c, 00 c, A0 c, 11 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0F c, FF c, 08 c, 00 c, 40 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0F c, 00 c, 08 c, 07 c, 81 c, 88 c, 10 c, 81 c, 18 c, 0E c, 80 c, 00 c, \ a 00 c, 01 c, 00 c, 10 c, 01 c, 00 c, 16 c, 01 c, 90 c, 10 c, 81 c, 08 c, 10 c, 81 c, 90 c, 16 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 07 c, 00 c, 88 c, 10 c, 01 c, 00 c, 10 c, 00 c, 88 c, 07 c, 00 c, 00 c, 00 c, 00 c, 08 c, 00 c, 80 c, 08 c, 06 c, 80 c, 98 c, 10 c, 81 c, 08 c, 10 c, 80 c, 98 c, 06 c, 80 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 06 c, 00 c, 90 c, 10 c, 81 c, F8 c, 00 c, 00 c, 88 c, 07 c, 00 c, 00 c, 00 c, 00 c, 38 c, 04 c, 00 c, 40 c, 04 c, 01 c, F8 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, \ f 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 06 c, 80 c, 98 c, 10 c, 81 c, 08 c, 09 c, 80 c, 68 c, 00 c, 80 c, 10 c, 00 c, 01 c, 00 c, 10 c, 01 c, 00 c, 16 c, 01 c, 90 c, 10 c, 81 c, 08 c, 10 c, 81 c, 08 c, 10 c, 80 c, 00 c, 00 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, 20 c, 02 c, 00 c, 00 c, 00 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 20 c, 02 c, 00 c, 40 c, 00 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 81 c, 10 c, 12 c, 01 c, 40 c, 12 c, 01 c, 10 c, 10 c, 80 c, 00 c, \ k 00 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 59 c, 86 c, 64 c, 44 c, 44 c, 44 c, 44 c, 44 c, 44 c, 44 c, 40 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 17 c, 01 c, 88 c, 10 c, 81 c, 08 c, 10 c, 81 c, 08 c, 10 c, 80 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0E c, 01 c, 10 c, 20 c, 82 c, 08 c, 20 c, 81 c, 10 c, 0E c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 16 c, 01 c, 90 c, 10 c, 81 c, 08 c, 10 c, 81 c, 90 c, 16 c, 01 c, 00 c, \ p 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 06 c, 80 c, 98 c, 10 c, 81 c, 08 c, 10 c, 80 c, 98 c, 06 c, 80 c, 08 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 16 c, 01 c, 90 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 0F c, 01 c, 08 c, 10 c, 00 c, F0 c, 00 c, 81 c, 18 c, 0F c, 00 c, 00 c, 00 c, 00 c, 80 c, 08 c, 00 c, 80 c, 3F c, 00 c, 80 c, 08 c, 00 c, 80 c, 08 c, 00 c, 88 c, 07 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 10 c, 81 c, 08 c, 10 c, 81 c, 08 c, 10 c, 81 c, 18 c, 0E c, 80 c, 00 c, \ u 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 20 c, 82 c, 08 c, 11 c, 01 c, 10 c, 0A c, 00 c, A0 c, 04 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 44 c, 44 c, 44 c, 44 c, 42 c, A8 c, 2A c, 81 c, 10 c, 11 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 20 c, 81 c, 10 c, 0A c, 00 c, 40 c, 0A c, 01 c, 10 c, 20 c, 80 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 10 c, 81 c, 08 c, 08 c, 80 c, 90 c, 05 c, 00 c, 20 c, 02 c, 00 c, 40 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 1F c, 80 c, 10 c, 02 c, 00 c, 40 c, 08 c, 01 c, 00 c, 1F c, 80 c, 00 c, \ z 00 c, C0 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 06 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 0c c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 04 c, 00 c, 40 c, 60 c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 01 c, 00 c, 0C c, 01 c, 00 c, 10 c, 01 c, 00 c, 10 c, 06 c, 00 c, FF c, F0 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 00 c, 10 wconstant _cs \ P16 11 wconstant _rs \ P17 12 wconstant _wr \ P18 13 wconstant _rd \ P19 14 wconstant _reset \ P20 1 _cs lshift constant _csm 1 _rs lshift constant _rsm 1 _wr lshift constant _wrm 1 _rd lshift constant _rdm 1 _reset lshift constant _resetm : _cs_l _csm _maskoutlo ; : _cs_h _csm _maskouthi ; : _rs_l _rsm _maskoutlo ; : _rs_h _rsm _maskouthi ; : _wr_l _wrm _maskoutlo ; : _wr_h _wrm _maskouthi ; : _rd_l _rdm _maskoutlo ; : _rd_h _rdm _maskouthi ; : _reset_l _resetm _maskoutlo ; : _reset_h _resetm _maskouthi ; : lcd_out _cs_l _rs_l ffff0000 outa COG@ and or outa COG! _wr_l _wr_h _rs_h \ write register index ffff0000 outa COG@ and or outa COG! _wr_l _wr_h _cs_h \ write register data ; : lcd_out_gram _cs_l _rs_l ffff0000 outa COG@ and or outa COG! _wr_l _wr_h _rs_h \ write register index (write) ffff0000 outa COG@ and or outa COG! _wr_l _wr_h \ write 1st data ffff0000 outa COG@ and or outa COG! _wr_l _wr_h _cs_h \ write 2nd data ; : YHY024006A_init 0 15 0 do dup pinout 1+ loop drop \ P0 - P20 output set 14 delms \ wait 20msec _cs_h _rs_h _rd_h _wr_h _reset_h \ cs=rs=wr=rd=reset=H 5 delms \ wait 5msec _reset_l 10 delms _reset_h 14 delms 0 1 lcd_out \ SS and SM 700 2 lcd_out \ 1line inversion \ c020 3 lcd_out \ GRAM eritr derection / set RGB(BGR=0) c038 3 lcd_out 0 4 lcd_out \ resize 207 8 lcd_out \ back porch and front porch 0 9 lcd_out \ 0 a lcd_out 0 c lcd_out 0 d lcd_out 0 f lcd_out 0 10 lcd_out 7 11 lcd_out 0 12 lcd_out 0 13 lcd_out c8 delms 1490 10 lcd_out 227 11 lcd_out 32 delms 1c 12 lcd_out 32 delms a00 13 lcd_out f 29 lcd_out d 2b lcd_out 32 delms 0 20 lcd_out 0 21 lcd_out 0 30 lcd_out 203 31 lcd_out 1 32 lcd_out 205 35 lcd_out 20c 366 lcd_out 07 37 lcd_out 405 38 lcd_out 707 39 lcd_out 502 3c lcd_out 1008 3d lcd_out 0 50 lcd_out ef 51 lcd_out 0 52 lcd_out 13f 53 lcd_out a700 60 lcd_out 1 61 lcd_out 0 6a lcd_out 0 80 lcd_out 0 81 lcd_out 0 82 lcd_out 0 83 lcd_out 0 84 lcd_out 0 85 lcd_out 10 90 lcd_out 600 92 lcd_out 133 7 lcd_out ; : color_data \ B(6bit)G(6bit)R(6bit) --> 2nd data(16bit) 1st data(2bit) swap 6 lshift or over f and c lshift or swap 4 rshift 22 lcd_out_gram ; : demo YHY024006A_init f0 0 do 140 0 do \ 64 delms 0 3f 0 color_data \ botom:B center:G top:R loop loop ; { demo-test display character 12x12-font x from left to right[320pixel] vertical < 27 y from top to bottom[240pixel] horizont < 21 } wvariable char_addr wvariable x \ 0 < x < 26(decial) wvariable y \ 0 < y < 20(decial) wvariable char_end wvariable dot_mask variable tmp_x wvariable tmp_y wvariable font_buff_ptr variable font_buffer 14 allot \ 24byte : font_buff_ptr+2 font_buff_ptr dup W@ 2+ swap W! ; : Disp_char font_buffer font_buff_ptr W! 6 0 do dup \ char_addr C@ 8 lshift font_buff_ptr W@ W! 1+ dup \ char_addr C@ font_buff_ptr W@ W@ + font_buff_ptr W@ W! font_buff_ptr+2 dup C@ c lshift font_buff_ptr W@ W! 1+ dup \ char_addr C@ 4 lshift font_buff_ptr W@ W@ + font_buff_ptr W@ W! font_buff_ptr+2 1+ loop drop font_buffer c 0 do dup W@ \ dup . 8000 dot_mask W! c 0 do dup dot_mask W@ and 0= if 0 0 0 color_data else 3f 3f 3f color_data then dot_mask dup W@ 1 rshift swap W! loop drop tmp_y W@ 1+ dup tmp_y W! 20 lcd_out tmp_x L@ 8 rshift 21 lcd_out 2+ loop drop ; : x+1 x W@ 1+ x W! ; : y+1 y W@ 1+ y W! ; : clear_x 0 x W! ; : Demo_display demo font 2 + char_addr W! font 6b0 + char_end W! \ 2 0 do 0 dup x W! y W! cnt COG@ begin begin x W@ c00 * dup tmp_x L! 8 rshift 21 lcd_out y W@ c * dup tmp_y W! 20 lcd_out char_addr W@ dup Disp_char \ display 1-char 12 + dup char_addr W! char_end W@ = if font 2 + char_addr W! then x+1 x W@ 1a = until clear_x y+1 y W@ 14 = until cnt COG@ swap - . \ loop ;