-
-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Supporting laptop hardware (see #46) raises the issue of supporting display resolutions that are not a neat multiple of Mini Micro's 960x640 display.
So, for Mini Micro 2.0, we should at least consider allowing some other display sizes. I don't want to go nuts and allow any arbitrary resolution; I've dealt with that in (for example) the mobile dev world, and it's a nightmare. Much better to pick two, maybe three "screen modes" that cover the most common cases, letterboxing as needed to fit anything outside of that.
But here let's list some possible resolutions to consider including.
| Aspect Ratio | MM Resolution | 2X Multiple | 3X Multiple | 4X Multiple |
|---|---|---|---|---|
| 3:2 | 960 x 640 | 1920 x 1280 | 2880 x 1920 | 3840 x 2560 |
| 16:9 | 960 x 540 | 1920 x 1080 | 2880 x 1620 | 3840 x 2160 |
| 16:9 | 1138 x 640 | 2276 x 1280 | 3413 x 1920 | 4551 x 2560 |
| 16:10 | 960 x 600 | 1920 x 1200 | 2880 x 1800 | 3840 x 2400 |
| 16:10 | 1024 x 640 | 2048 x 1280 | 3072 x 1920 | 4096 x 2560 |
Both 1920 x 1080 (aka 1080p or "Full HD") and 1920 x 1200 are very common, even in budget laptops/Chromebooks. Multiples of these (like 2560 x 1440 or "2K", and 3840 x 2160 or "4K") are common in desktop monitors. So, supporting at least one of these would be a big win.
Unfortunately, there is no natural way to support them by keeping the 640 screen height and adding to the sides. The 1024 x 640 res sounds great, but nobody makes a physical display that's a multiple of this; the industry instead has standardized around width multiples of 960. So, the new mode(s) will need to cut pixels off the top and/or bottom of the classic display.
Given that, maybe we offer just two modes: "Classic" (960 x 640) and "Wide Screen" (960 x 600)", the latter losing 40 pixels at the top of the display. Here's a screen shot showing what that would look like (white rectangle) compared to the current display.
The TextDisplay could keep the same (24-pixel) row height, and lose just one row of text. So we'd have 25 (instead of 26) rows of text, and no longer need a 3-pixel offset to center it on the screen.