LIST autopause for R47
Posted: Tue Jan 23, 2024 10:33 am
Beginning with ROM revision 47 (not yet live at the time of this posting), the LIST command has a pause feature.
I wanted to have the pause as default.
I understand why others thought that might be confusing to long time users.
Here is a workaround.
a) LIST a program.
b) Pause listing with the SPACEBAR.
c) BREAK from listing.
Note: The pause flag is STILL SET! This is important.
d) Type POKE512,0:LIST
The listing seems to be locked. (BUT NOT SO!) It has instead entered the pause loop WITHOUT listing a single line.
Use the PAGE-DOWN and CURSOR-DOWN keys as before!
This is especially useful if you do not use the default screen and choose one with fewer rows.
You also may be surprised that the LIST command can be placed in a program.
So, if your program starts with line 100, you can add these two lines.
2 GOTO100
4 POKE512,0:LIST:END
If you use the trick above and always pause then BREAK from a listing (or just repeat the steps as needed),
you can type RUN4 to autopause the listing. Any time you don't pause then BREAK, or any time you
type LIST without the POKE, flags will be cleared.
So, what is happening?
The LIST function now checks RAM location 512 for a zero. If it sees a zero it does NOT reset the flags.
Advanced user can alter the source code or pause flags so LIST acts as they desire.
This allows anyone to take full advantage of the new pause feature.
I wanted to have the pause as default.
I understand why others thought that might be confusing to long time users.
Here is a workaround.
a) LIST a program.
b) Pause listing with the SPACEBAR.
c) BREAK from listing.
Note: The pause flag is STILL SET! This is important.
d) Type POKE512,0:LIST
The listing seems to be locked. (BUT NOT SO!) It has instead entered the pause loop WITHOUT listing a single line.
Use the PAGE-DOWN and CURSOR-DOWN keys as before!
This is especially useful if you do not use the default screen and choose one with fewer rows.
You also may be surprised that the LIST command can be placed in a program.
So, if your program starts with line 100, you can add these two lines.
2 GOTO100
4 POKE512,0:LIST:END
If you use the trick above and always pause then BREAK from a listing (or just repeat the steps as needed),
you can type RUN4 to autopause the listing. Any time you don't pause then BREAK, or any time you
type LIST without the POKE, flags will be cleared.
So, what is happening?
The LIST function now checks RAM location 512 for a zero. If it sees a zero it does NOT reset the flags.
Advanced user can alter the source code or pause flags so LIST acts as they desire.
This allows anyone to take full advantage of the new pause feature.