I am delighted to announce the official release of Mini Micro version 1.2! After more than a year of improvements, this is a pretty huge update.
The Release Notes list over 50 improvements, far too much to cover in detail here. So in this post, I'll hit the highlights, and then follow up with more detail on some of the new features in future posts.
New Demos
Mini Micro 1.2 has several new demos, including a couple of full, playable games, like /sys/demo/asteroids:
...and /sys/demo/quadris:
It also adds the concept of a "shell," which is a program that is run automatically whenever the current program exits (or when you manually enter the exit
command). Two of the new demos can act as shells. First, there is /sys/demo/desktop, which adds a simple but functional GUI file launcher:
...and, for those with a more sci-fi bent, there is /sys/demo/lcars:
The LCARS demo includes not only a file browser, but also a fully functional clock, calculator, and MiniScript news reader!
New Commands
Version 1.2 includes a couple of new commands (defined in /sys/startup.ms). First is the new demos
command, which runs /sys/demo/demos, presenting a friendly menu of selected (though not all) demos. If you press "A" in this menu, it will switch into "auto-run" mode, which cycles through a subset of the demos, even auto-playing asteroids and quadris, making a lovely screen-saver or "attract" mode. Try it!
Another new command is findFile
, which uses some new functions in the /sys/lib/textUtil to display a cool little file browser, right in the text display. With this you can quickly locate that image or sound you were thinking of, and get the path to copy into your code.
New/Improved Libraries
The libraries in the /sys/lib folder have gotten some enhancements, plus some entirely new members. Chief among these is the bmfFonts library, which draws bitmap fonts (including proportional and pre-colored fonts) into a pixel display. All the BMF fonts at sites like this one are now usable in Mini Micro, right out of the box.
There's also an importUtil module, which provides a standard ensureImport
function to simplify importing of modules in a complex project.
I'll have a lot more to say about the new/improved libraries in future posts, so let's move on for now.
New APIs
Mini Micro has a focused but powerful API for doing graphics, sounds, game input, HTTP, and more. Version 1.2 adds a few new capabilities to this set.
In the Image class, we now have a new fromScreen
method that takes a screen shot, including all the display layers exactly as the user sees them. On an image instance, you can also now call flip
and rotate
to transform your image in simple ways.
Sound objects now have an amp
method that gives you, in real-time, the amplitude of a playing sound. This will be useful if you want to animate a character's mouth along with their dialog, or draw a waveform as a sound plays, etc.
It's always been possible to draw into a PixelDisplay using gfx.print
, in one of several font sizes. But we felt there was too big a gap between the "small" and "normal" sizes; we really wanted something in between. So, in version 1.2, Mini Micro supports a "medium" font that's in between — see the top-right text in the image below.
Customizable Code Editor
Finally (for now), the code editor got a half-dozen improvements — including, by popular request, fully customizable colors! Did somebody say "dark mode"?
I'll have a full post about this coming up, too.
Conclusion
Mini Micro 1.2 is a major upgrade that adds a whole lot of cool new functionality, while still being simple, focused, and fun to use. It's a recommended upgrade for all Mini Micro users.
And if you're not already using Mini Micro, what are you waiting for? It's free, ad-free, and ready for your neo-retro computing fun. Get it at https://miniscript.org/MiniMicro
Please be patient with us while we get all the documentation and wiki updated for the new goodies. Meanwhile, if you have any questions or just want to say hello, join us on Discord, where you'll find an enthusiastic, friendly community eager to share the fun.