Skip to content

Commit b08264b

Browse files
committed
Deploying to gh-pages from @ endbasic/homepage@645c685 🚀
1 parent cd1eb8e commit b08264b

10 files changed

Lines changed: 20 additions & 63 deletions

File tree

2024/04/endbasic-st7735s.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
</span></span></span></code></pre></div><p>Even though this looks complex, this composition of three different types keeps the responsibilities of each layer separate. The layers help make the logic simpler to understand, allow the possibility of supporting more LCDs with ease, and make unit-testing a reality. And thanks to Rust&rsquo;s static dispatch, the overhead of the separate types is minimal.</p><p>Witness the finished result:</p><figure><video width=100% controls>
7878
<source src=/images/2024-04-26-endbasic-st7735s-snake.mov type=video/mp4></video><figcaption>EndBASIC running the snake game on the Raspberry Pi with the ST7735s console, showing the final graphics support as well as interaction with the physical buttons.</figcaption></figure><h1 id=build-your-own-developer-kit>Build your own Developer Kit</h1><p>Does the above sound cool? Do you want to play with it? Here are the parts you&rsquo;ll need to build you own:</p><ul><li><p><strong><a href="https://www.amazon.com/ELEMENT-Element14-Raspberry-Pi-Motherboard/dp/B07BDR5PDW?&amp;linkCode=ll1&amp;tag=blogsystem5-20&amp;linkId=cab45a45b3e43934d489486d416be7a0&amp;language=en_US&amp;ref_=as_li_ss_tl">Raspberry Pi 3 B+</a>:</strong> I suppose a newer model will work but I don&rsquo;t have one to try it out; let me know if it does! I also have my eyes on the <a href="https://www.amazon.com/gp/product/B074P6BNGZ?th=1&amp;linkCode=ll1&amp;tag=blogsystem5-20&amp;linkId=1f5bdad0f78d4512685cda89db5c6d87&amp;language=en_US&amp;ref_=as_li_ss_tl">Libre Computer Board - Le Potato</a>, but if you go this route, know that it will <em>definitely</em> require extra work in EndBASIC to be functional. Hardware donations welcome if you want me to give it a try 😉.</p></li><li><p><strong><a href="https://www.amazon.com/CanaKit-Raspberry-Supply-Adapter-Listed/dp/B00MARDJZ4?&amp;linkCode=ll1&amp;tag=blogsystem5-20&amp;linkId=ef82e298644b68298cd9bf5559b74aaa&amp;language=en_US&amp;ref_=as_li_ss_tl">CanaKit 5V 2.5A Power Supply</a>:</strong> Yes, the Raspberry Pi is USB-powered but you need a lot of power for it to run properly&mdash;particularly if you are going to attach any USB devices like hard disks. Don&rsquo;t skimp on the power supply. This is the one I have and works well.</p></li><li><p><strong><a href="https://www.amazon.com/PNY-Elite-microSDHC-Memory-P-SDU32GU185GW-GE/dp/B07R8GVGN9?th=1&amp;linkCode=ll1&amp;tag=blogsystem5-20&amp;linkId=33a25c49f236d8bd6e8f2259a6c57148&amp;language=en_US&amp;ref_=as_li_ss_tl">PNY 32GB microSD card</a>:</strong> Buy any microSD card you like. The SD bay is incredibly slow no matter what and 32GB should be plenty for experimentation.</p></li><li><p><strong><a href="https://www.amazon.com/gp/product/B077Z7DWW1?ie=UTF8&amp;psc=1&amp;linkCode=ll1&amp;tag=&amp;linkId=7a97236b22ca32377d308871eedde6fc&amp;language=en_US&amp;ref_=as_li_ss_tl">waveshare 1.44inch LCD Display HAT 128x128</a>:</strong> The star product of this whole article! You may find other LCD hats and I&rsquo;m sure they can be made to work, but they&rsquo;ll require code changes. Hopefully the abstractions I implemented make it easy to support other hats, but I can&rsquo;t tell yet. Again, hardware donations welcome if you want to keep me busy 😉.</p></li></ul><p>Once you have those pieces, get either Raspbian or Ubuntu, flash the image to the microSD, and boot the machine. After that, you have to build and run EndBASIC from unreleased sources until I publish 0.11:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-shell data-lang=shell><span class=line><span class=cl>$ cargo install --git<span class=o>=</span>https://github.com/endbasic/endbasic.git --features<span class=o>=</span>rpi
7979
</span></span><span class=line><span class=cl>$ ~/.cargo/bin/endbasic --console<span class=o>=</span>st7735s
80-
</span></span></code></pre></div><p>I know, I know, this is all quite convoluted. You have to manually go through the process of setting up Linux, then installing Rust, and then building EndBASIC from source. All of this is super-slow too.</p><p>Which means&mldr; what I want to do next is to build a complete &ldquo;Developer Kit&rdquo;, including a lightweight prebuilt SD image that gives you access to EndBASIC out of the box in just a few seconds. Right now I&rsquo;m playing with downsizing a NetBSD/evbarm build so that the machine can boot quickly and, once I have that ready, I&rsquo;ll have to port EndBASIC&rsquo;s hardware-specific features to work on it. I don&rsquo;t think I&rsquo;ll postpone 0.11 until this is done, but we&rsquo;ll see.</p><p>Interested in any of this? Please leave a note! And if you have tried the above at all with your own hardware, post your story too!</p><div class="row post-links"><div class="col-6 text-center"><span><a href=https://www.endbasic.dev/2024/07/new-blog.html>&#171; Next post</a></span></div><div class="col-6 text-center"><span><a href=https://www.endbasic.dev/2023/01/endbasic-parsing-difficulties.html>Previous post &#187;</a></span></div></div></article><footer class="pt-5 pb-3"><div class=container><div class=row><div class="col-md-8 text-left"><form class=form-inline action=https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/subscribers/add method=post><input type=text name=email placeholder="Enter your email" class="form-control input-sm text-center mx-1" size=20>
80+
</span></span></code></pre></div><p>I know, I know, this is all quite convoluted. You have to manually go through the process of setting up Linux, then installing Rust, and then building EndBASIC from source. All of this is super-slow too.</p><p>Which means&mldr; what I want to do next is to build a complete &ldquo;Developer Kit&rdquo;, including a lightweight prebuilt SD image that gives you access to EndBASIC out of the box in just a few seconds. Right now I&rsquo;m playing with downsizing a NetBSD/evbarm build so that the machine can boot quickly and, once I have that ready, I&rsquo;ll have to port EndBASIC&rsquo;s hardware-specific features to work on it. I don&rsquo;t think I&rsquo;ll postpone 0.11 until this is done, but we&rsquo;ll see.</p><p>Interested in any of this? Please leave a note! And if you have tried the above at all with your own hardware, post your story too!</p><div class="row post-links"><div class="col-6 text-center"><span></span></div><div class="col-6 text-center"><span><a href=https://www.endbasic.dev/2023/01/endbasic-parsing-difficulties.html>Previous post &#187;</a></span></div></div></article><footer class="pt-5 pb-3"><div class=container><div class=row><div class="col-md-8 text-left"><form class=form-inline action=https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/subscribers/add method=post><input type=text name=email placeholder="Enter your email" class="form-control input-sm text-center mx-1" size=20>
8181
<button type=submit class="btn btn-sm btn-light mx-1">Subscribe to updates</button></form></div><div class="col-md-4 text-right">EndBASIC
8282
<small class="d-block text-muted">Julio Merino &copy; 2020-2024</small></div></div></div></footer><script type=module>
8383
const SITE_ID = '6a633c2c-7fda-11ec-86e4-1cfd087199c2';

2024/07/new-blog.html

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)