Useful POKEs

Discussion about ZX80 / ZX81 Software
Post Reply
RWAP
Site Admin
Posts: 1265
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

Useful POKEs

Post by RWAP » Tue Nov 02, 2010 9:29 am

I came across a list of useful POKEs and calls to teh ROM for the ZX81 in Sinclair Programs last night (not tested), and thought it may be worthwhile sharing the list with everyone, as not all have 20+ years experience of using the ZX81...

RAND USR 963 - clears the program area
RAND USR 3086 - scrolls the screen up one line
RAND USR 681 - in FAST mode, prevents the report code from being displayed at the end of a program
RAND USR 0 - clears the program area and RAMTOP
RAND USR 836 - loads a program and stops it if it is self-starting!
RAND USR 757 - In FAST mode, saves a program without a name
RAND USR 3292 - equivalent to STOP
RAND USR 3875 - equivalent to FAST
RAND USR 1476 - equivalent to EDIT
RAND USR 930 - equivalent to BREAK
RAND USR 2955 - equivalent to the , (comma) in a PRINT statement

POKE 16510,0 - makes the first program line uneditable
POKE 16389,68 - sets up a minimal display file for 16K users

makeit2day
Posts: 28
Joined: Sat May 10, 2008 2:31 am

Re: Useful POKEs

Post by makeit2day » Thu Nov 04, 2010 12:17 am

Thanks for the useful pokes.

User avatar
Paul
Posts: 929
Joined: Thu May 27, 2010 8:15 am
Location: Germanys west end

Re: Useful POKEs

Post by Paul » Fri Nov 05, 2010 2:14 pm

If I remember this right,
for a RAND USR 836 you need to be in Fast mode
In theory, there is no difference between theory and practice. But, in practice, there is.

angus
Posts: 131
Joined: Mon Jun 20, 2011 1:28 pm

Re: Useful POKEs

Post by angus » Fri Aug 12, 2011 8:42 pm

POKE 16510,0

I remember using that one to prevent people from removing REM statements proclaming my copyright to a listing :)

User avatar
siggi
Posts: 806
Joined: Thu May 08, 2008 9:30 am
Location: Dauernheim, Germany
Contact:

Re: Useful POKEs

Post by siggi » Wed Nov 02, 2011 10:02 am

angus wrote:POKE 16510,0

I remember using that one to prevent people from removing REM statements proclaming my copyright to a listing :)
Yes, but by poking 1 the line number can easily be reset to 1 and the line can be deleted.

Ab better way is to start editing a new program with line 1 and a copyright note:
1 REM COPYRIGHT ...

Then do a POKE 16509, 40

That will change the line number to "A280", which can neither be edited nor deleted.
And because that is a big line number, all further BASIC lines will be inserted before that line, so the lines moves up in memory and cannot be found easily (to POKE it back to a valid line number).

Siggi
My ZX81 web-server: online since 2007
http://zx81-siggi.endoftheinternet.org/index.html

User avatar
siggi
Posts: 806
Joined: Thu May 08, 2008 9:30 am
Location: Dauernheim, Germany
Contact:

Re: Useful POKEs

Post by siggi » Wed Nov 02, 2011 12:08 pm

POKE 16418,0

from within a program gives to 2 more lines at the bottom of the screen to be PRINTed AT (so the full screen 24x32 may be used by the program).
But set it back to the normal value 2, if you want to INPUT data (needs that 2 lines).

Siggi
My ZX81 web-server: online since 2007
http://zx81-siggi.endoftheinternet.org/index.html

Shaun_B
Posts: 409
Joined: Wed Apr 22, 2009 10:22 am

Re: Useful POKEs

Post by Shaun_B » Sat Mar 04, 2017 9:11 pm

Is there anyway I can remove lines of BASIC whilst the BASIC program is running?

Thanks,

Shaun.

User avatar
PokeMon
Posts: 2224
Joined: Sat Sep 17, 2011 6:48 pm

Re: Useful POKEs

Post by PokeMon » Sun Mar 05, 2017 12:33 am

Yes but not that easy. You have to switch to FAST mode and delete part of memory and move a memory block. Can be done in assembly only.

Shaun_B
Posts: 409
Joined: Wed Apr 22, 2009 10:22 am

Re: Useful POKEs

Post by Shaun_B » Sun Dec 31, 2017 4:29 pm

Could this thread be a sticky please so I don't have to keep searching for it ;-)

Thanks,

Shaun.

Post Reply