Trying to READ into an array index specified with the VAR function (as in READ VAR("B%")[0]) triggers a crash. The crash appears to happen during compilation, as the program never gets a chance to run!
It's also worth noting that VAR() as used on lines 12 and 20 is an undocumented feature. Official documented support would make us all happy. :-)
A better way to poll keyboard input. With the coming 3.3.0 update and SmileBASIC BIG having USB keyboard support, a more robust way of using keyboard control would be great! Something similar to KEYBOARD from PTC maybe? Or letting us poll the state of specific keys? Allowing people to control programs via the keyboard would open up a lot of possibilities.
It doesn't. It's still 400x240. The term HD refers to a display resolution of at least 1280x720 pixels (720p). Good looking doesn't equal high-definition.
Wikibooks should not be used as a learning resource. SB is rather different from most BASICs and I see you're breaking syntax rules in multiple places. DIM PER AS INTEGER is illegal and should create a syntax error, for example.
I recommend SB's official documentation instead.
Strings can be indexed like arrays. So, if you had a string TEXT$="HELLO", the code PRINT TEXT$[0] would print H, since it's the first (but we start at 0) character in the string!
3DS is 400x240 upper, 320x240 lower (don't know the color depth for sure.) HD display would look horrendous if you downscaled it to that resolution. The SB system itself is capable of any sort of graphics as long as it's within RGBA5551 color and 512x512 pixels.