I've worked hard to add some new useful statements to the BASIC interpreter.
These commands are very useful when working in graphics because:
- VREG: this command writes a value into a specific VDP register. Usage: VREG reg, val, where "reg" is the register where to write to (in the range 0..7), while "val" is the value to write (0..255).
- VSTAT: this function returns the current value of the VDP register status, so the user can look for sprites collisions and also for the number of the 5th sprite on a row (the VDP cannot visualize more then 4 sprites at the same time on the same row). Usage: VSTAT(x), where "x" is any integer number. The returned value is in the range 0..255.
- LOCATE: this command positions the cursor at a specific video cell. Usage: LOCATE X,Y, where "x" is the horizontal coordinate and "y" is the vertical coordinate. "x" must be in the range 0..(width-1), where width is the screen width of the current video mode. I.e.: in mode 0 (text), width is 40, so "x" can only have a value between 0 and 39. Similarly, "y" must be comprised between 0 and the (height-1) where the screen can goes from 0 to 23 (the height is 24 chars both in text and in graphics 1 modes).
I've also completed the 8x8 pixels font by adding the missing chars in the first release of the charset and expanded the max. default string size to 100.
The files of the new firmware, marked R1.9, have been uploaded on my GitHub repo.