Poking is allowed. Poking in a machine language subroutine is not.
Z-Basic IS ALLOWED!!! So you don't need to stretch too far for better functionality. I also inquired about Apex, which had some awesome capabilities for its day. I'll keep you folks posted.
I was discussing this with my son and he inquired if a graphic adventure game could be written in basic. I thought about it, and really if you could do something like Graphics Magician for drawing then it could actually be feasible. I came up with a simple data format. Commands are single letters followed by zero or more numbers delimited by commas. Commands have no termination, so spaces are ok and commands can just butt up against each other also. Absence of numbers are analogous to zero values.
c# - Set solid/primary color (disables dithering, uses solid fill mode)
C# - Set secondary color (enables dithering fill mode)
e - Erase screen using current color fill mode
m#,# - Move pointer relative by x, y coordinates
M#,# - Set pointer to absolute x,y coordinates
r#,# - Draw rectangle (just the outline) using current pointer and relative coordinates for width/height
R#,# - Draw rectangle using current pointer as one corner and absolute coordinates provided for the other corner
b#,# and B#,# - Same as the rectangle commands only draws filled shapes
l#,# - Line from current pointer to relative coordinates provided, also updates pointer to wherever line ending is.
L#,# - Line from current pointer to absolute coordinates (also updates pointer)
f - Flood fill at the current position
I might expand this to support circles and ovals. Only problem is that zbasic doesn't do color dithering but Apex does. We'll see if they allow Apex. :-D
-B