From 1dfd0a6f600f1191bf69ff98bca441a9676e017e Mon Sep 17 00:00:00 2001 From: Liz Date: Tue, 16 May 2023 11:24:58 -0400 Subject: [PATCH] Adding DVI hello world example Adding DVI output hello world example. Checks for DVI Feather vs Pico for pin defs. Port of Phil B.'s 16bit hello for Arduino --- .../Helvetica-Bold-16.pcf | Bin 0 -> 145784 bytes .../blinka_computer.bmp | Bin 0 -> 76892 bytes CircuitPython_DVI_Hello_World/code.py | 333 ++++++++++++++++++ 3 files changed, 333 insertions(+) create mode 100644 CircuitPython_DVI_Hello_World/Helvetica-Bold-16.pcf create mode 100644 CircuitPython_DVI_Hello_World/blinka_computer.bmp create mode 100644 CircuitPython_DVI_Hello_World/code.py diff --git a/CircuitPython_DVI_Hello_World/Helvetica-Bold-16.pcf b/CircuitPython_DVI_Hello_World/Helvetica-Bold-16.pcf new file mode 100644 index 0000000000000000000000000000000000000000..deb9092d11e0e0c9c4367805319f72ef3a01681d GIT binary patch literal 145784 zcmeI5dwf*qeW!oAfoZ_Tm$$Wcin8-WH;mD2B&djH*s6qCho8#CfQ9L+D%f@V6@No zT!yhMjDq)%wx8cgo_X)L=Y7x78QDrIHh1)$XJ!>}K76OzY&T(LobDv-t1%L#;gar)y`X3xE=(tVLOH(x zzpI=t!n2C}HT)pF&qV^!~0q>IS9IEQHa?ak}ftZ3O_x955X zZqMbr(sp~p9Zjn@Y+TcDN29GuXSbvWG94+qtFdY2sH(!-^FfTiZ6QZj5qmZPWV3)f-!z?ryZT%}s0CqG(HFYxC-LZB5N< zHm;4fS2eUS;Kr85l})W}OuMPIc|rZnH{M(- zXYavE{kGt@%t>_dwls9q+7LuxQ~;*X#3^@Nsq(=52Sng>zaBy za{0boJ~fc;yrHhHA)BphQ4jrfE$RMrehay$hs*TWrRoOqsm^pyDt}L1Zgbu0OmA*r zYhSvqVP##axAWb(d|igN{ezqOGo6`KK9lahA(XHYhpnvD>gyNWP+xzGvE_{|tDDv| zZd}{k+9VBSS#7JDmVaPPV{5Ce-?%E=bz9!BHi@=0+_kZxb$O%qp6H6kD88n-<&KTo zwMI5_bwgXzoorduxRg##inXp=%Y>Gm|vi?A*Rn z%MW8?dqy8b>=;hR_H1V^;e;L;CWdy^(+qY7qniCb{3*6=`|h#ba{ur{N!}w{=y|WU zn`w-W?%fuC>`=3ClIm|K>ll477#R&l_z0`ST?P9dWxK0^7vWw&{KG=%nBR(4x?A>>UkMOW+m7EgwH{l~1gHr8aXy`Q`VP5j_ zSh!o#UOLK2j4C6$SmiE0m|yr2cgo7c7^Qpmoc=gnI<}nx?W#)4KcWeZXlfb~FC)9y zig2dk{T2$_zn`|Dt8jl6qY59pqx(%~S34bl?A@X}eo(jb7CzXwa6@;i%GlWGw&3x{ z!+Vh4Sm&6za|S$z>8+n&V$9!2cLq&X44sO z`ZA#X^e5pPymQTl6)*&!h9a+4%xMPW%wQce7-Pn_c$KP!)eyilaDsO+`hQCstcP|O zfzJW`&ZOU&H$pdj99}S+RSonzi+*R(@2nSre$Jl*Yk~IXKMBtP`4^CX0rS0}6L!NF zfced?1IC^G5qJXVd-h4*i|c{8Tu9vuse2)L7cu5V3*kdB1bd+X&%j}z&c$KPJ=VJQ3__*06mjHcV(hmE9vP;N+D|v72g9AYNQqq?W0BgAPduBg-J!Ik2K)RN6 zE$Ld)wWKer1Nyw|2`HLfPWp1vmy^D{06#Fh;zpp)E1m+w$Jx zegvKc`kq?{YasyUH}_j+^DY6_IBx)$-59*-}M&K!+{o89{ zJuvp$i)QbrhJ}y?+P>o%v#ZFv>P8p<+FeDvtFHt4yPCRJGuG9spba{KwpUa4>TNIr zAA?WB7vKd@`x9o@+z8aWW-ojMo&n~6%@543y$a~}TKc_~ey%;hIeC)3`w{V{_y*N& zT!pg`P@Y@`B4Ym}TtS|=7>0ugzRTFnFiv`$@R}GVX0w4w8Q+`iFX69%h1qdX{#@XD zmwg>nM|o-^`j(lUD46XH%=W>L%`6XjZkY=8#yRId407>P#x7x#?-vk-!zyRGlx)~wB`i0(R?(f zcp0{V@{+z4Dy{saOm)l4$4SeH##EW=4?!V@;5Ao)R5`CHEGt_U#{)urJyHL2;RF=m zI4l9>t6cLC$(5vwWN1EWD>vFtt)&P7EC$X07#xMfpZ0zZ)IxG8EiMS~SmbPT&{wWC zd;SHp!-ru%zY>DKqbyh8eAUrEan;v6HFgN;E8#Lxpf6Y|inM|DcIMX?uZjF4P>jQH zpUd(}`Q)i=o<(Q+UeYQnk|rooBt!Ws9}c4W;}*3|#tG{bsh3cQ=AiO$e2c>%>c2=@ zgk`~N^TPZBWr8wMw9|xRm!-?g6xVv>=3Wxvd`OeDgQP{VJ<3 zHQM}?=&ZaEM=2LwFbq1cM~dVXIB!98=3XK1B%F#lMtC%c>KrLVYb%mBRT9U?k8_WR z1Kcz4<1)Tm&u=W@`!UA|Uk1529&>_Fd@tr@LZP_}%}tc{hj_6F?d(q(N-JOIP5Y?& z<07EFD8vvC=Wf)WgtLuvq@8)uFdTS&LK;b>s?G!%(z ze};+cKCUQ`51PC3R6jXe$@6w9;Su#Q1uuXCXf`I0u^7(I9&FxsN`y#Z`EZw;j_DsFmZgGxG0lvcjVHC{OnkXC!uIar3$%2)Xk7>163yqIE~R=&y?#`F=2#7B~zEWDL^ zYJaA&Rj#=n14 z0m*kpJp*rsxiBZ@SS{}Zbl6qTKZZPDHVE%4Ml2+(1@-wdXwI6a#utj~JRE{EjkScb z^6@n8P|Pr)NPa%3O#N!T<1xut?W8ACB(DJNlb}A-wr~yHg!`ngoE2_%SJeC%tar7?x<^Aw6<^*4_SE9O}zL#V4Y9C;OFz%1bWoTL4;P7PNobGu7P< z_3ezaj4NCj9TI$#1e;M^@GgQaF z57JH^>4gQ#1I{0HzOvBl{`Jvs>#NzE^T?|e7C}&oFC@+oq4R@;+J|9S40B)_=$a1U z_jiTC)V{-4QSZ&P*LXANL)W>Ce|`}Ce)U}2UrBqR>s-dy+GoI% z(0GSI*SUql>v$phoyrM9akk&5 zXwQ=~qcgdbHaer>d2Q$XmQf_Ge3h%7>Q{lzovw3fuk(LJ*!tYs&kLe|2BR*{WqghO zX2w5A`(yABERIoJdAGs5`ske@aeAbk@8IwZJPXG~F>mNOr@!aiLZ3@ObJW?Lj3W7BTm(`3 z(mY5jPi4h2)aNi9gQIcy3ZdT7j|Q(rc`927wV*3$-$7jW#8OaPeW~9Eg6KX;_GK#d zwZ`OmI+glzegh=eRN9n3v(;`YZM24qViccBnp3>HkVUTKE<`5vnc0BgVVpeIY>OYAGDW0 z2Mp7o8PdQ>m{y*MzmFR)69erZUDB`WMMH zl{Q-QLP*vwPeNCD+2Y`|lS9P60$&F?QT;DKxkKeo#<95m1BB%cC#$Qx^7`ctr&52S zkEygNzmLm*KJ+se{fy9ksIxd1=9Do+TofiyI(xzCbCjG{c~f~|0vbak*SXB2NaM3H z@tz%^%{EZ}@iJ@D^b1AeGz;Hd^c}aN5REIB!=U|st|Nd|Vedx^VN_&L|_Q#>(g&4K#gwMe% z@EnW>F+|3poxB1RCt(?RB7kDdGD5Kec7ytyh{`6GEBy@Ud0jgJc@h)zr;SCa$^E!7?bot6$~!5((S{3&dw5k~Jp(+*bQ7ejG&H zOL!)dHc9zZ+R$}$?^J}_^%HjOO=Saw{(j@8jXK6v+*Ikz3ATZR9VYR@y3SviI|6TdVC3Tf?7t zt+fy8uZpbA*4dqQm#w!A{9)72+lTo3tzUdoOOG4dMsC2AZQ^yglfNX}Y+crE8T;_~ zxZT5}vB!EX$Clp9KbGjX0UPAi;yxY$TkU>(fXCs3JR*lJuNw%@V;VxP9p*zel!*#Y}~`>*!j>?!*L`>g$U9w&cje`KGxFZ};7@J4;u z|9GQP9Q{xG;#q1G?CCSr;2)PCJX6_Z`SwhbYky*2O5$%E+Mzct_fj|T<_+*-@a41h z!Vj~r@Pqo#?5pX0cQ`Ndch`Tx|7Ff!5gz9Mwe)Y|vcG-(8tfYr^X!}U(!@Oa z`McNWdCtEE16KUkFiW4~xf$Sp{M0Wu;0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`fE#cFZomz=0XN_V z+<+T!18%?#xB)ld2Hb!fa070@4Y&a};0D})8*l?|zzw(oH{b@`z`r>I_P^}tzqv*E zf~IJ|?0gHaZ<|$I3U|QYm{ndMQMHxuYt(opE>rm~@>UTh^%X+W=4@d&2K}gy5*=n$ z&y!}X*YInkRrWJcerX)lQ+`8~AC^-$saF}d3;R<30qQ9)&JX7h&p(_4>s4Mjcls?4 z!+hmIxaN4RiidvUGL?sQrU&%fsjwcIM zM|~u73q$R7OtQv`UyR36-FVOJx1+ppZ{s;vTzdN64DZote9i*qYHx$Zilt- z^Uw(y$iWtP5O%_D*bAH)`zWwJdjdWMzXJ#058(6gC-A560vra;n|%vj2Ig)58@>lT z7wkCvBd|{U5uAX3hLdoLH4;=*LN&04it~W;QZW-)V#RE@2rdEE7Ty8#;W4pufjpq1HgDy zkHW{`lkg-kZq;XjajTw#uftyhV^=YD)jtAbSJ%J=z#6M-fw8L@yZYV0K2Rx@@rV^=eFHLj}}yZTq)6YyK`8F&gl4~O8-;V`@e-vQiKpMY_*no3{}H8bI2 zxDu`cT-V^b=6!(cnkHZlHS2+S)TAK~{4A>pfIY5Z4mF>G--j;(>#kwlH8`(f-8Fv? zKQ@~-9WI4=@J?W@(->>oP4K?{zEnrr(nB5DRFB;|m>WoUZpvEkV9%y>zCY8|Yn{1l zHkG%&biO0qJ7B3EV*RP!&Zu&Krnf7bw!Tz8-J4Bs9*AQ3OjkEm`v=nbO#eOBmmTc4 zj$BVq%DT7qb*FpPTPD|O{n=E1x80x4=PcKowt@R{Hqf0;&%*R+XfG}SmaSzkvc z(~-${4EESyZzozha``kfNHOn}ZL$s?W30uxtec0~hwUEAT95VeQ0udMEpPocV1qo~ z?z17=YWIg@rsEOwQL1dDflRhD*{ROleZ3a$ha6|w1nU^gvj-hpZ7Z%e<#YF>dpEIf z{ppTSLuV$PPxoiE4}DvsUUT`*%_t0wb`55-*>q1XT5vYkmFY-jdvgPpPj_WBM!M5_ zQXP4OcBXO6mb0leW@p*9{=slZ^U?N|QmKx?fwc7u>Qtog($^jDyrv%Z*^%yK;FPw% z)QWlar20DsSr#^viN$m7)i&p~!!+qmWj9Ad#+m)4eGd&aM0?Q?&7&dOtIgT;kTpa$ z8%kOl@{-ulXv>o+HAamaqsEP8jT=j?nxZ;QQJto;I!&cIjRW1bCK|3es@@z`Z!W9e z99Jl{>KV)qWcspOtvNb*>!POXqNeN0nyxFg*$@@Bb?5TE)|JlpaGP$*_M6n}NJhn} zvbL#c*i@;DRHz}vEtY6tx79cuHBOf`X6xcJm5J(PqB`+C5qi#)>ZH-o8x5C>s^_BW zxw0;EafMQ=&din!r#=@+7>pVYMhyqc8V;6PY>f&BLJ3<-*_}Gt{rwqR9d(tBg62lc zrLDCirIXzs1sh6@?v66w3)gpb_to)2TuDG#IJqjgiNKV5n(pRUHXmenK`*6U1lvFjEE zdW>%x>Tn=`gK pYd7#@=uGo-x%AyjQC<98w<@R{f0dV}D!#(~P$|1G{7<#n{{srG@_7IN literal 0 HcmV?d00001 diff --git a/CircuitPython_DVI_Hello_World/blinka_computer.bmp b/CircuitPython_DVI_Hello_World/blinka_computer.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a746387babbf89065da831105f9c5b9e3df62259 GIT binary patch literal 76892 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