Thursday 16 April 2020

RPL , working towards 0.80

So, this morning I've written all the words except the variable access words and the structure words. Onwards and upwards.

After that I will write another game from my list and try using it in the wild. Something that moves quite a lot of individual things very quickly.  None of the games have done yet - Frogger / Invaders probably look as if they do but it's a cheat :) Anything with regimented groups uses tilemaps.

L8R: Added the variable access, still no structures. You can see what it looks like in this picture, this code is equivalent to the following FORTH. 

: star 42 emit ;
: demo star star cr test @ . 23456 test ! cr ;

The variables are different. The ^test and &test refer to specific operators.
SYS has been amended so that as well as assinging to CPU register R0 the address of the A-Z variable block, it also initialises R8 to the to of the small stack allocated for RPL.

Which reminds me. A big missing thing that I keep meaning to fix is the insert space on the screen , at present you can only overtype. This won't be full insertion, probably, but it will allow the use of a key (probably Ctrl+E) to make space in the current line.

L88R: Changed & for technical reasons. It's a special token that is connected to the constant, confusing the lister/tokeniser So it is now '^' ... except that didn't work either. Discovered a bug in the tokeniser where it was thinking ASCII codes higher than 'Z' were numbers.

L888R: RPL is done, probably add a few words here and there, but as originally designed , it works.

No comments:

Post a Comment

Breaking change

We all make mistakes. One early mistake I made was copying (partly) the old thing in Microsoft BASIC where you didn't have to declare ...