I did some comments for future enthusiasts that are interested coping up with that particular code. I tried make it a bit easier for them, than it was for me. The first time I looked at the code, I felt like I have an IQ of 50. Suddenly my protective walls of egoism fell down like dominos. Perhaps I am indeed stupid, to me this was not so easy to decode. I literally spent 2 full days on it.
I attached my commentary file and I have few questions which XavSnap could answer in public if he is kind enough.
1) Why 128 means a black dot and 0 means white dot? Because in 8-bit a black square has all "1s" ? 11111111 = 128 and 00000000 = 0 ?
2) On line 1030 we see "run 3". What's the difference between "GOTO 3" and "RUN 3" ?
3) 7000 LET P=PEEK 16396+PEEK 16397*256+26
Is that a specific location of a pixel on our screen? Are those are coordinates of the X and Y registers ?
4) 7240 IF (INKEY$="A" OR INKEY$="7") AND (PEEK(P+D)=0 OR PEEK(P+D)=56) THEN GOTO 8000
5775 IF A=56 THEN GOTO 1000
There are 2 times that we see A=56 in the code but A never gets that value. A is either 0 or 128. What is the meaning of 56 and how could A be equal to 56?
5) D variable is orientation. How is better to imagine the D, perhaps like this?
_____|-33
_____|
-1------------1
_____|
_____|33
6) What is this line doing?
7220 POKE (P+34),42
7) 7237 IF INKEY$="P" THEN POKE P,CODE"%o"
7238 IF PEEK P=CODE"%o" THEN LET S=S-40
When we press P during the game, it shows up our (P)ointer on the map for a glance. The question is, after we release the button P why does the spot get white and doesn't remain black? I mean, why unPEEKING occurs instantly? How is possible the PEEK to last only for as long as you hold the key P, while POKE is permanent!?
