|752||Cursor inhibit: 0=visible, 1= invisible|
|756||Character base register: In graphics 1 and 2, POKE 756, 226 to get lowercase characters. (Default is 224)|
|764||Contains value of last key pressed (internal code)|
|767||Scroll start/stop flag: Toggled by pressing [CONTROL] ; 0=Scroll enabled, otherwise disabled|
|832-847||IOCBO: default device for the screen editor. POKE 838,166 and POKE 839,238 to send all screen outputs to the printer. POKE 838,163 and POKE 839,246 to return to normal|
|928-943||IOCB6: used for screen display|
|944-959||IOCB7: used by LPRINT, LOAD, SAVE and LIST|
|2147,2148||One of two locations used by DOS to store LOMEM|
|2152,2153||The other DOS pointer to LOMEM|
|5533||Used by DOS to check for presence of DUP.SYS: Zero means DUPSYS is not there|
|40960||USR here to cold start the BASIC cartridge|
|41037||USR here to warm start the BASIC cartridge|
|53277||POKE a 4 here to put paddle and joystick triggers in latch mode; in latch mode, once a trigger is pressed, it stays "pressed" until this location is POKEd with 0|
|53760||AUDFI: controls the frequency of audio channel one|
|53761||AUDC1: controls volume and distortion of audio channel one|
|53762||AUDF2: channel two frequency control|
|53763||AUDC2: channel two volume and distortion control|
|53764||AUDF3: channel three frequency control||53765||AUDC3: channel three volume and distortion control|
|53766||AUDF4: channel four frequency control|
|53767||AUDC4: channel four volume and distortion control||53768||AUDCTL: master audio channel control byte|
|54018||PACTL: POKE 52 here to turn the cassette motor on; POKE 60 here to turn the motor back off|
|58454||CIOV: (more commonly known as $E456) is the entry vector to the central I/O utility in the OS|
|58460||SETVBV: vertical blank interrupt setup-vector|
(This concludes the two-part Carl Evans series which began last month.)
HAGUE'S PAUSE KEY
Install a "pause key" in your BASIC programs, using this short listing by James Hague, author of Uncle Henry's Nuclear Waste Dump (Antic, December 1986). After the routine has been installed, holding down [SELECT] and pressing [BREAK] will pause whatever is currently running, be it a BASIC program or machine language subroutine. Press [START] to continue. Also, the [BREAK] key still functions normally alone.
Pause Key must be re-installed after pressing [RESET]. The only things this program can't pause are vertical blank routines and disk I/O.
10 FOR A=0 TO 16:READ B:POKE 256+A,B:NEXT A
20 IF PEEK(566)<>0 OR PEEK(567)<>l THEN POKE 273,PEEK(566):POKE 274,PEEK(567)
30 POKE 566,0:POKE 567,1
40 DATA 173,31,208,201,5,208,9,173,31,208,201,6,208,249,104,64,76
50 ?"ANTIC";:GOTO 50:REM For a quick demo, add this line.
Max Metral, 15, lives in Frederick, Maryland and sends along this routine that draws a rectangle, offsets the next rectangle by a specified increment and repeats the process. What you end up with is a flashy screen display.
5 GRAPHICS 8:SETCOLOR 2,0,0:COLOR 1
10? "STEP";:INPUT DL
20 FOR I=1 TO 300 STEP DL
40 PLOT I,0:DRAWTO 0,150-INT(I/2):DRAWTO 300-I,150:DRAWTO 300,INT(I/2):DRAWTO I,0
50 NEXT I
Antic pays $25 for every original and exclusive Tech Tip submission that we publish. Send your 8-bit or ST disk and printout to; Antic Tech Tips, 544 Second Street, San Francisco, CA 94107. Tech Tips welcomes very short programs that demonstrate the Atari's powers, simple hardware modifications, or useful macros for popular software.