x/graphics:add text drawing example

This commit is contained in:
Kitty-Cricket Piapiac 2023-03-27 22:24:18 -07:00
parent 94226f86f7
commit d368a3be0f
2 changed files with 287 additions and 0 deletions

260
x/corsivo.inc Normal file
View File

@ -0,0 +1,260 @@
{(C) 2016 by EPTO (License GPL2)}
:Corsivo
#00000000 #00000000
#7e81a581 #bd99817e
#7effdbff #c3e7ff7e
#6cfefefe #7c381000
#10387cfe #7c381000
#387c38fe #fe7c387c
#1010387c #fe7c387c
#0000183c #3c180000
#ffffe7c3 #c3e7ffff
#003c6642 #42663c00
#ffc399bd #bd99c3ff
#0f070f7d #cccccc78
#3c666666 #3c187e18
#3f333f30 #3070f0e0
#7f637f63 #6367e6c0
#995a3ce7 #e73c5a99
#80e0f8fe #f8e08000
#020e3efe #3e0e0200
#183c7e18 #187e3c18
#33336666 #cc00cc00
#7fdbdb7b #1b1b1b00
#3e63386c #6c38cc78
#00000000 #7e7e7e00
#183c7e18 #7e3c18ff
#183c7e18 #18181800
#18181818 #7e3c1800
#00180cfe #0c180000
#003060fe #60300000
#0000c0c0 #c0fe0000
#002466ff #66240000
#00183c7e #ffff0000
#00ffff7e #3c180000
#00000000 #00000000
#0c1c3c38 #30006000
#6c6c6c00 #00000000
#6666ff6c #fed8d800
#0c3e6078 #0cf860c0
#0063c60c #3066cc00
#0e1b1e78 #dccc7600
#6060c000 #00000000
#06183060 #60301800
#60180c0c #18306000
#00331eff #78cc0000
#001818fe #30300000
#00000000 #00181830
#0000007e #00000000
#00000000 #00181800
#03060c18 #3060c000
#1e67cfdb #f3e67800
#1c3c0c18 #3030f800
#1e33030c #3066fe00
#1e33030e #06663c00
#061e66cc #fe183c00
#3f607c06 #06cc7800
#0e18307c #e6cc7800
#1f330618 #30606000
#1e33337e #cccc7800
#3e636336 #0c183000
#000c0c00 #00303000
#000c0c00 #00303060
#030c30c0 #60301800
#00007e00 #00fc0000
#30180c06 #0c30c000
#1e63030c #30006000
#3e63cfcf #cec07800
#0c3e6666 #fccccc00
#7c666678 #ccccf800
#1e336060 #40663c00
#3e332363 #46ccf800
#3f606078 #c0c0fc00
#1f306078 #60c0c000
#1e336060 #cec67c00
#3333667e #66cccc00
#0e0c1818 #18307000
#0f06060c #ccd87000
#33336678 #ccccc600
#30306060 #c0c6fc00
#11333f6b #63c6c600
#31737b5f #cec6c600
#0e3363c3 #c6cc7800
#1e33337e #60c0c000
#0e3363c6 #dc781c00
#1e33337e #6ccccc00
#1e333018 #1ccc7800
#7f183030 #6060e000
#33336666 #ccccf800
#33336666 #cc783000
#3133636b #feeecc00
#3333361c #386ccc00
#33332638 #3060e000
#3f660c18 #3266fc00
#0f181830 #30607800
#c0603018 #0c060300
#0f03060c #0c187800
#081c3663 #00000000
#00000000 #000000ff
#30301800 #00000000
#00001e03 #7ecc7600
#1818303c #6666dc00
#00001e33 #60663c00
#0303067c #cc8c7a00
#00003e63 #fec07800
#0e1b187c #30606000
#00003e63 #633ecc78
#3030607e #66cccc00
#06001818 #30306000
#03000606 #0c6ccc78
#18183336 #7c66c300
#0c0c1818 #30307000
#0000337f #53c68600
#00005e63 #63c6c600
#00001e33 #63663c00
#00006e33 #267c60c0
#00003b66 #cc7c1830
#0000663b #3360c000
#00001e33 #18cc7800
#040c3e18 #18343800
#00003366 #ccccf600
#00003366 #ccd86000
#0000636b #d6fecc00
#00006336 #3c6cc600
#00003366 #cc7818f0
#00003f46 #1862fc00
#0f1830e0 #60603c00
#06060c00 #0c181800
#3c060603 #060c7800
#76dc0000 #00000000
#0010386c #c6c6fe00
#3e60c060 #3e080418
#004800cc #cccccc76
#18200078 #ccfcc078
#10280078 #0c7ccc76
#00480078 #0c7ccc76
#30080078 #0c7ccc76
#48300078 #0c7ccc76
#78ccc0cc #78100830
#30488478 #ccfcc078
#00480078 #ccfcc078
#30080078 #ccfcc078
#00480030 #30303030
#30480030 #30303030
#60100030 #30303030
#48003078 #ccccfccc
#30483048 #84fc8484
#182000f8 #80f080f8
#00000066 #19778877
#0000000f #143e4487
#30488478 #cccccc78
#00480078 #cccccc78
#60100078 #cccccc78
#30488400 #cccccc76
#601000cc #cccccc76
#4800cccc #cc7c0cf8
#4400386c #c6c66c38
#24006666 #6666663c
#00081c28 #281c0800
#1c222070 #20225c00
#44281010 #38103810
#f0888af7 #82828300
#0608083c #10106000
#18200078 #0c7ccc76
#18200030 #30303030
#18200078 #cccccc78
#182000cc #cccccc76
#807804f8 #cccccccc
#807e01c6 #e6d6cec6
#00780c7c #cc7600fe
#0078cccc #cc7800fc
#00001818 #3060663c
#ff808080 #00000000
#ff010101 #00000000
#40c44850 #26498207
#40c44850 #264a9f02
#00300030 #30303030
#00122448 #90482412
#00482412 #09122448
#49009200 #49009200
#6d00b600 #6d00b600
#aa55aa55 #aa55aa55
#10101010 #10101010
#10101010 #f0101010
#101010f0 #10f01010
#28282828 #e8282828
#00000000 #f8282828
#000000f0 #10f01010
#282828e8 #08e82828
#28282828 #28282828
#000000f8 #08e82828
#282828e8 #08f80000
#28282828 #f8000000
#101010f0 #10f00000
#00000000 #f0101010
#10101010 #1f000000
#10101010 #ff000000
#00000000 #ff101010
#10101010 #1f101010
#00000000 #ff000000
#10101010 #ff101010
#1010101f #101f1010
#28282828 #3f282828
#2828282f #203f0000
#0000003f #202f2828
#282828ef #00ff0000
#000000ff #00ef2828
#2828282f #202f2828
#000000ff #00ff0000
#282828ef #00ef2828
#101010ff #00ff0000
#28282828 #ff000000
#000000ff #00ff1010
#00000000 #ff282828
#28282828 #3f000000
#1010101f #101f0000
#0000001f #101f1010
#00000000 #3f282828
#28282828 #ff282828
#101010ff #10ff1010
#10101010 #f0000000
#00000000 #1f101010
#ffffffff #ffffffff
#00000000 #ffffff00
#e0e0e0e0 #e0e0e0e0
#07070707 #07070707
#00000000 #00ffffff
#00000002 #344c4c32
#5c22223c #44447880
#7e424240 #40404040
#0000027c #a8282844
#7e613018 #0810217e
#0000087f #88888870
#00002244 #447a8080
#0000007c #10101010
#1c083e41 #413e081c
#00000018 #24ff2418
#3c66c3c3 #c3662466
#0c10081c #2222221c
#00000000 #6c92926c
#00011a26 #2a322c40
#00182020 #30202018
#003c4242 #42424242
#00007e00 #7e007e00
#0008083e #0808003e
#00100804 #0810003e
#00040810 #0804003e
#000c1212 #10101010
#10101090 #90600000
#00000800 #3e000800
#0060920c #60920c00
#60906000 #00000000
#00000030 #78300000
#00000000 #20000000
#00030404 #c8281000
#dc624242 #00000000
#18240810 #3c000000
#0000003e #3e3e3e00
#00000000 #00000000
;

27
x/graphics.kmm Normal file
View File

@ -0,0 +1,27 @@
-inc "x/dev.inc"
!+1 pb #01 ad ;
!re ~ju ;
-org #0100
:entry
pw #00100010 pw @data/s0/hello pw @g/puts ca
pw #00100020 pw @data/s0/tqbfj pw @g/puts ca
pw #00100030 pw @data/s0/symbs pw @g/puts ca
ex
;
:g
:putc {xy c--} pw @data/font/Corsivo sw pb #08 mu ad `disp:blt io `disp:pos io ph #ff31 `disp:out io `re ;
:puts {xy *s--} sw pw @x mw pw @f pw @s0/for ca `re
:f {c--} pw @x sw ov fw sw pw @putc ca du fh pb #08 ad sw mh `re ;
:x #00000000 ; ;
;
:s0
:for {*s *f--} ss :loop du fb du no pw @end jc ~du ~ss ca `+1 pw @loop ju ; :end dr dr ~dr ; `re ;
;
:data
:s0
:hello "hello, world!" #00 ;
:tqbfj "the quick brown fox jumps over the lazy dog." #00 ;
:symbs "~!@#$%^&*()-+=_" #01020304 #05060708 #090a0b0c #0d0e0f10 #11121314 #15161718 #191a1b1c #1d1e1f00 ;
;
:font -inc "x/corsivo.inc" ;
;