After several months of work, I am super excited to announce that Mini Micro v0.9 is finally available!
This is a major upgrade over v0.8, especially with regard to the built-in code editor, which has gotten a lot of love in this update. It now features an editing toolbar, a sophisticated Find/Replace function, quick navigation to functions by name, and so much more. It also got some bug fixes and general polish.
The machine itself is more sophisticated now too, with two (count 'em!) disk slots that you can simply click to mount any folder or zip file as a Mini Micro disk. Trust me, this is life-changing.
And finally, there is a long list of fixes and performance enhancements that make development in Mini Micro better in every way.
Check out the Mini Micro v0.9 trailer video, and see the full release notes below. Then download it and enjoy!
Mini Micro v0.9 release notes
Bug Fixes
Fixed a sprite bug, where changing the position of a sprite while hidden failed to updated the bounds.
Fixed a bug that occurred when drawing an alpha-blended image into a PixelDisplay
(now uses the maximum alpha value between the previous and the new color).
Fixed a bug with string comparison operators.
Fixed file.readLines when working with Windows line endings.
Fixed miscellaneous indentation problems in the code editor.
Fixed a bug in PixelDisplay.getImage that did not return an image usable as a sprite, and can be scaled without blurring.
New APIs
Added Sound.duration for loaded sounds.
Added color.lerp function.
Added image.pixel and .setPixel.
Added Sound.loop.
Added Sound.stopAll.
Added file.saveImage to write out a PNG, JPEG, or TGA file.
New Machine Features
Text may now be selected and copied from the main TextDisplay, whenever the system is waiting for user input (showing a blinking cursor).
Added accented Latin characters to small and large fonts.
Updated TileDisplay so that it draws top to bottom, so when tiles overlap, you always see
more of the row that's lower on screen (and more to the right). So if making 2.5D
isometric tiles, they should be designed to show a bit of the bottom (front) side and
the right side, and then they will layer with each other properly.
Fixed support for alpha channel in the TileDisplay cell tint color.
Added three more characters to the fonts: micro, pi, and dot.
Added two "disk slots" below the screen. The top one is /usr, while the bottom one is /usr2 (note that /sys is built-in and does not have a disk slot). Click on either of these to mount or create a ".minidisk" zip file, or to mount a host OS folder as a disk.
Made substantial improvements to the code editor, including a toolbar with buttons and menus for all standard functions, including code snippets, find & replace, and more!
Added /sys/lib/chars to provide names for all special characters.
Deprecated env.includePaths and added env.importPaths. If you've been using env.includePaths, please update your code accordingly.
Replaced the native file browser component (used when importing and exporting files, and now when creating/mounting disks) with a different one that supports Linux.
Updated the look of the screen bezel.
Added "bootOpts.grfon" file which can be used when packaging your app to customize the boot sequence (details in the wiki).
Optimized drawing of large filled rectangles, ellispes, and polygons (5X faster in my benchmarks).
New/Improved Demos and Library Modules
Added benchmark program to /sys/demo
Fixed a bug in textUtil.printWrap, and added stringUtil.wrap.
Added /sys/lib/tsv for reading files in Tab-Separated Value format.
Added handy new methods in the listUtil and mapUtil modules in /sys/lib (see these files for details).
Added more demos, such as "2dVis", "balloons", and "speedConquest", to /sys/demo.