On this new day of MO5 coding, I did quite a lot of things, and especially a lot of experiments around graphics mode.
Generating sprites from images
I tackled a fairly classic problem: drawing sprites in C for the MO5 is… how can I put it… not the most fun thing 😅
At first, I went for a very “handcrafted” approach: drawing in text mode via Notepad, with a space for the background color, an X to draw the shape color, then using a PowerShell script to transform the text into a bit array.
Honestly, it worked pretty well for simple shapes.
But as soon as you want to do something a bit more detailed… it quickly becomes tedious and not very practical.
So I thought:
Why not start directly from an image?
The idea: analyze an image and convert it into a usable C structure in my program.
To do that, I once again used a PowerShell script to transform the image into a C structure. Concretely, the generated structure is a bit array, where each bit represents a pixel.
And on this one, Claude.io really helped me with the image analysis + conversion part.
I am quite proud of the result, of course the script could be improved, but honestly, it does the job well. It also takes MO5 constraints into account: 2 colors (background and shape) for 8 pixels.
Integration into my SDK
Since I wanted to avoid copying this script into all my projects, I integrated it directly into my mo5_sdk project (https://github.com/thlg057/sdk_mo5).
Then, since this SDK is used by my template (https://github.com/thlg057/mo5_template), I just needed to add a convert target in the Makefile.
Result:
- I drop an image into the project,
- I run
make convertspecifying the name, - it automatically generates the corresponding
.h.
Pretty convenient 👌
Obviously, I also modified the SDK to add the functions required to display the generated sprite (mo5_sprit.h/.c).
And overall… it works pretty well 😉
Tests in GitHub Codespaces
Next, I wanted to test my template in a clean environment.
Off to: GitHub Codespaces.
And honestly: great experience. I had never used it before, and I was quite blown away by this environment, simple but frightfully effective.
I just had to install cmoc, python, and that was it, it worked (almost on the first try).
It mainly allowed me to:
- validate that my template is portable,
- debug 2–3 things in the SDK,
- verify that onboarding is simple.
YouTube video idea
So I think I’m going to make a video to show:
- how to configure the MO5 environment,
- how to use the template,
- how to make a first graphics program,
- all directly inside a GitHub Codespace.
I think it could help quite a few people get started without struggling with local setup.
Documentation & VPS scripts
At the same time, I also worked on other topics.
Improving MO5 documentation
I kept improving the Markdown documentation:
- clarifications,
- examples,
- cleaner structure.
It’s not the most fun part, but it’s essential.
VPS update script
I also wrote a PowerShell script to manage updates for my VPS hosting my RAG.
The repo contains no credentials, but I still didn’t make it public, for obvious security reasons.
I took the opportunity to:
- add security headers,
- aim for an A grade on securityheaders.com,
- automate deployment.
And now the script can:
- deploy to my VPS,
- or locally to my NAS.
Honestly, it simplifies my life quite a bit.
Next steps
Short term:
➡️ Make a video showing how to create a first MO5 graphics program in GitHub Codespaces.
Then I think I’ll move on to something more fun:
🎮 Programming a game in vibe coding
With one idea in mind: linking Augment to my MCP server.
I’m curious to see how far I can push the workflow and vibe coding with the right context.
Another very full day.
A lot of tooling, less “visible”… but solid foundations for what comes next 🚀