Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Help: ZX81 BASIC "Peek" function

Tags:

memory

basic

zx81

I need a way to find if the character ('<') has hit a wall (Black pixel Graphic)

-On a ZX81 game.

I'm been looking at another game... which uses code

if peek(peek 16398 +256*peek 16399) = code "**blackpixel graphic**" then ...

Which seems to work for them...

Is this correct code?

I'm not really knowledgable with addresses and getting memory and stuff.

Please help me...

-If you know a better way. Please answer :)

Thanks,

like image 243
ZX81 Avatar asked Jul 07 '10 13:07

ZX81


1 Answers

Located at addresses 16398 and 16399 are two bytes that form the cursor location. (See http://web.ukonline.co.uk/sinclair.zx81/chap28.html). In other words,

peek 16398 + 256*peek 16399

gives you the memory address of the character on the screen where the next PRINT would go. Which apparently can be changed with PRINT AT.

peek(peek 16398 + 256*peek 16399)

finds the code for whatever character is at that location. The rest you should be able to figure out.

Now, the main question is: does your game use the cursor in the same way? If not you have to use a different solution.

like image 116
Artelius Avatar answered Sep 22 '22 13:09

Artelius