There are 4 ways you can use Stella (the Atari 2600 emulator) to make sure your program isn't taking too long and has a scanline count at a steady 262 for NTSC and PAL/60 games or 312 for PAL/50 games:
The Fast, On the Fly Way
Hit Alt + L while a game is running in Stella to toggle the frame stats. It displays the scanline count, frames per second, display format, and bankswitch type. It's very useful and it might be all you'll need. Sometimes a game will have little sneaky spots you could miss with Alt + L, so you might want to scroll down and try the Faster, Easier Way that uses the debugger to automatically stop the game any time the scanline count goes above 262 (or 312 for PAL/50 games).
The Slow and Clunky Way
Run your program using Stella and hit the key above Tab (`) for the debugger. Watch the box next to Scanline: while holding down Alt + f and see if the number changes from frame to frame. (Holding down Alt + f is like quickly clicking on the Frame +1 button.) If it stays at 262, there's no problem, at least for the moment. The problem with using Alt + f is that it's still kind of slow and you could miss something. The good news is that there is a better way to make sure that no frame ever goes over 262 scanlines (or 312 for PAL/50 games).
The Typing is Fun Way
The next fastest way to check if you're going over 262 is to type breakif {_scan>#262} in the Prompt display, hit the Enter key, then hit the key above Tab (`) to exit the debugger. If your program goes over 262, the debugger will automatically reopen. (Replace 262 with 312 for PAL/50 games.)
The Faster, Easier Way
For an even easier way to do this with no tedious typing, you can make a file that will run every time you open the debugger. This is how to do it using a Windows PC:
- Open Notepad, then copy and paste breakif {_scan>#262} in there.
_ - Select Save As under the File menu and locate the Stella folder which is now in your User folder under AppData > Roaming.
_ - Copy and paste autoexec.stella into the Save As file name box and select All Files (*.*) from the Save as type drop down menu. (That fixes it so you don't have to go back and remove ".txt" from the file name when you're finished.)
That's it. You're done. Now when you test a game you're working on, all you have to do is run it in Stella, hit the key above Tab (`) for the debugger, which activates the code in the autoexec.stella file, then hit the key above Tab (`) again to exit the debugger. From then on (until you close Stella) the debugger will automatically reopen if your program goes over 262. The file only runs after you open and close the debugger, so you can play other games normally as long as you don't open the debugger. (Replace 262 with 312 for PAL/50 games.)
Update:
To make it even easier, I zipped up the autoexec.stella file, so all you have to do is unzip it and put it in the Stella folder under AppData > Roaming:
autoexec.zip 184bytes
137 downloads
Here is a program that goes over 262 when you move the sprite. You can use it to see if the Faster, Easier Way is working correctly:
test_over_262_find_border_coordinates.bin 4KB
141 downloads
Related Links:
How to Attach Files and Images
Posting Tips for New bB Users
Easy Software Versioning