|
|
BASIC EDIT F1 CAPS LOCK F2 LEFT F5,SHIFT+LEFT DOWN F6,SHIFT+DOWN UP F7,SHIFT+UP RIGHT F8,SHIFT+RIGHT GRAPHICS MODE F9 E MODE TAB CAPS SHIFT CONTROL SYMBOL SHIFT ALT,META PAUSE/LOAD URL ESC,HOME RESET SPECTRUM END |
At the opposite end of free memory is a small calculator stack and below this the variables area. There is a variable a$ that holds the value INKEY$. If you can't quite make it out, press a key. Now you should be able to see the variable. When you release the key, the other variables slide down to take it's place.
At the top of the screen area there are three solid lines that represent the attribute file. Below this is a single white line - the empty printer buffer. Next are the system variables and then channels and the program which is largely just a series of print statements.
The System Variables don't occupy a complete line and you may see some of them twinkling . These are ERR_SP just under the letter A. This points to an item at the base of the machine stack and as the machine stack is in freefall, the address low byte occasionally holds zero. You may also see one of the FRAMES counters occasionally hold a zero and if you see all three change together, well, I've found it's best to keep these things to oneself.
If you hold that key down again then you will see some movement at the start of the system variables. This is the keymaps accepting your key. Now press another key and then remove your finger from the first. Did you see the maps change over?
The rest, string slicing, array dimensioning, is up to you but here is an interesting one.
Press Q then BREAK.
Add to the loop at the end
242 PRINT #3;"A";
The semicolons are important and, when you restart the program with RUN, you
will see the printer buffer working. Instead of "A" try CHR$(128+(15*RND))
and you'll see the mosaic characters being built in the system variables
area.
Hint: click on the speed bar if you're in a hurry to see how big the gosub
stack can get.