Double-Take 2-Way-Scroll Multiple-Utility Disk by MARK SIMONSEN for Apple@ II, II+ and IIe Computers ("APPLE" Is a registered trade mark of Apple Computer Inc.) Copyright © 1983, BEAGLE BROS INC. 4315 Sierra Vista, San Diego, California 92103 TABLE OF CONTENTS Loading Double-Take . . . . . . . . . . . . . . . . . . . . 2 The Double-Take Keychart . . . . . . . . . . . . . . . . . .3 Activating Double-Take . . . . . . . . . . . . . . . . . . .3 2-Way Scroll . . . . . . . . . . . . . . . . . . . . . . . .4 The Five Double-Take Modules . . . . . . . . . . . . . . . .5 The Four Double-Take Programs . . . . . . . . . . . . . . .6 RED MODULE. . .. . . . .. . . . . . . . . . . . . . . . . . 8-9 ORANGE MODULE . . . . . . . . . . . . . . . . . . . . . .. 10-11 BLUE MODULE . . . . . . . . . . . . . . . . . . . . . . . . 12-14 YELLOW MODULE . . . . . . . . . . . . . . . . . . . . . . 15-18 SCREEN SWITCHES . . . . . . . . . . . . . . . . . . . . . .19 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Free Cash . . . . . . . . . . . . . . . . . . . . . . . . . 30 (Editor's note: There is, of course, no page 30. Also, there are several margin notes in the test. I have have enclosed them in brackets at the applicable section of the text. These documents apply specifically to version 1.1, but are similar for the other versions as well.) [page 1] double-take by Mark Simonsen DOUBLE-TAKE is a collection of 23 machine language routines that make your Apple more flexible and easier to use. All routines are loaded into memory and "hidden" when you boot the Double-Take disk or BRUN the appropriate Double-Take program. Loading Double-Take Put Double-Take in memory in one of three ways 1. Boot the Double-Take disk (or a backup copy). or... 2. RUN the "HELLO" program on the Double-Take disk. (HELLO simply chooses and BRUNS one of the four versions of "DOUBLE-TAKE"; see page 6.) or... 3. BRUN the appropriate "DOUBLE-TAKE" program. This program may be on one of your disks, so that your greeting ("Hello") program can BRUN it (see page 6 to determine which of the four versions of Double-Take is appropriate for your situation). {You can transfer any or all of Double-Take's features to any normal DOS 3.3 disk, so that when that disk is booted, Double-Take will be installed in memory (see page 6).} Double-Take is loaded as 5 color-coded MODULES, each containing from 4 to 6 features. You may load as many modules as you want, depending on how much memory you have to spare. To choose the modules to be loaded, RUN the program called "CONFIGURE DOUBLE-TAKE" (see page 5). This program will rewrite Double-Take so only the modules you want will load into memory. To remove Double-Take from your Apple, boot a non- Double-Take disk or RUN the "REMOVE DOUBLE-TAKE" program. [page 2] The Double-Take Keychart Fold and insert the keychart that came with your disk behind the top row of keys on your Apple. The keychart serves as a guide to all 23 Double-Take features, and saves you from having to memorize 23 different commands. {If your Apple is not a IIe, fold back or remove the two corne pieces on your keychart.} Activating Double-Take With Double-Take in memory, type CONTROL-F (do not hit Return). Control-F puts you in the Function-Select Mode, presenting you with the word "Function?" followed by a cursor. ]FUNCTION? Now press the key corresponding to the function you desire. All function keys are on the top row of your Apple keyboard and labeled by the keychart. For example, on the keychart above the 1-key you will see: Shift: APPLE LIST Unshift: NEW LIST Typing "1" (after typing control-F) will activate the New-List feature. Or typing "!" (shift-1) will activate the Apple-List feature (details on page 8). Every key except the zero-key has a Shift and Unshift option. {Control-F is typed by pressing the CONTROL (or CTRL) key and holding it down while pressing "F'. Immediately release both keys.} {If you type control-F by mistake, type control-X or any nontop-row key to escape.} [page 3] 2-WAY-SCROLL Six of Double-Take's functions provide 2-Way Scrolling- New List, Apple List, Hex/Ascii Dump, Monitor Disassemble, and Catalog D1 & D2. All four List-scrolls work alike. Catalog scrolling works a bit differently; see page 9. START a List or Catalog by typing control-F and the appropriate key (1, 2, 3, shift-1, shift-2, or shift-3) from your keychart. Scrolling will begin in the forward direction. PAUSE during a scroll with control-S or ESC. Press any key to continue in the same direction (see page 9 for Catalog exceptions). EXIT a Listing or Catalog with control-C. Listings may be stopped with control-C whether they are in motion or not. SCROLL-DIRECTION is controlled with the Arrow Keys. If you are viewing a Catalog or listing a program and want to see what has gone off the top of the screen, press the LEFT-Arrow key. To change scroll direction back to normal, press the RIGHT-Arrow key. There is no need to pause when you change directions (you won't strip your Apple's gears). Exception: Users of certain versions of GPLE may need to disable the GPLE type-ahead buffer with the "CONFIG PLE" program (on the GPLE disk). Otherwise a pause before scroll-direction change will be necessary. Upon reaching the end of a listing (top or bottom), a cursor will appear, waiting for you to indicate whether you want to quit or continue listing in the opposite direction. If you had been listing backwards, typing a Right-Arrow would list forward, while any other key will end the listing. If the list-direction had been forward, a Left-Arrow would start reverse listing and any other key would terminate. If you have an Apple Ile, you may use the Up-Arrow (control-K) in place of the Left-Arrow and the Down-Arrow (control-J) in place of the Right-Arrow. Use the arrow combination with which you are most comfortable. If you type "LIST" instead of control-F 1 or control-F !, you will not be able to use the 2-Way Scroll feature. The same is true of dumping and listing in the monitor. Unless you use Double-Take's control-F commands, you won't get the fringe benefits. [page 4] THE FIVE DOUBLE-TAKE MODULES To save some memory space, you may want to reconfigure Double-Take so that only certain color modules (or all five) load when you boot. RUN the program called "CONFIGURE DOUBLE-TAKE" to determine which modules will load. Follow the instructions on the screen. If, for example, you have no need for Renumber, Append, and Auto-Number, then you can RUN CONFIGURE DOUBLE-TAKE, select the "Configuration Menu" and select YES for all of the modules except the third one (Blue), saving yourself 2 1/2K of memory (see below). Press ESC to exit to the main menu and select the "Save Configuration" option. You will be asked which version of DOUBLE-TAKE you are saving. Read the next section to determine which version is appropriate for your system. RED MODULE (optional) . . . . . . . . . . . . . 2 1/4 K New List & Apple List Catalog D1 & D2 ORANGE MODULE (optional) . . . . . . . . . . . . . 1 K Hex/Ascii Dump Monitor Disassemble Hex/Decimal Convert Monitor Basic BLUE MODULE (optional) . . . . . . . . . . . . 2 1/2 K Append Hide & Merge Renumber Auto-Number YELLOW MODULE (optional) . . . . . . . . . . . .1 3/4 K Vital Statistics 2-Byte Peek Variable Cross-Reference Variable Display Replace Cursor Control-Characters SCREEN SWITCHES (not optional) . . . . . . . . . 1/2 K Total 8 K The largest possible configuration of Double-Take is 8K (the way it was configured on the original Double-Take disk). The Screen Switches are loaded with Double-Take's "Command Handler", the animal that passes control to each of the modules, depending on the command you type. This module is required in all configurations of Double-Take. {Double-Take's 5 modules and 23 features occupy 8K of memory In comparison, DOS 3.3 uses about 10K.} [page 5] THE FOUR DOUBLE-TAKE PROGRAMS There are four versions of DOUBLE-TAKE on your Double-Take disk. Each one is designed to operate with a particular combination of our favorite programs- DOS, ProntoDOS and GPLE. Just in case you haven't been introduced... DOS is Apple's Disk Operating System. It occupies about 10K of memory, either in normal RAM or in a Language Card or Apple IIe "bank-switched" RAM. ProntoDOS is Beagle Bros.' high-speed DOS utility (written by Apple Ace, Tom Weishaar) that triples the speed of loading and saving files, moves DOS to the Language Card (freeing up 10,000 extra bytes of memory space), and adds useful commands to DOS (not to mention 15 extra sectors of disk storage per disk). If you use it, you won't want to be without it. GPLE, the Global Program Line Editor, is published by Synergistic Software. We think it is the best Applesoft line editor available, and frankly, couldn't program with- out it. GPLE can reside in normal memory or on a Language Card (alone, with DOS or with ProntoDOS). {Both GPLE and ProntoDOS feature programs which will transfer DOS to a Language Card or IIe bank-switched memory, freeing over 10,000 bytes of usable memory.} If you RUN the program called "HELLO" on the DoubleTake disk, it will determine which combination of DOS, ProntoDOS and GPLE are in memory, then BRUN the appropriate version of DOUBLE-TAKE. (Note: If you boot the Double-Take, disk, only normal DOS and Double-Take will be in memory.) 1) DOUBLE-TAKE is used when you have a "naked Apple" with DOS or ProntoDOS in its standard location and no GPLE in memory. The Double-Take HELLO program will automatically load DOUBLE-TAKE between DOS and its buffers. 2) DOUBLE-TAKE.48 is used when DOS or ProntoDOS is in normal memory and GPLE.48 is also in memory. The Double-Take HELLO program will automatically load DOUBLE-TAKE.48 between GPLE and the DOS buffers. {The Double-Take HELLO program makes the final decision about which version of Double-Take to load. List HELLO to see how it works.} [page 6] 3) DOUBLE-TAKE.LC is used when DOS or ProntoDOS is in normal memory and GPLE.LC is on the Language Card. The Double-Take HELLO program will automatically load DOUBLE-TAKE.LC in normal memory between DOS and the DOS Buffers. 4) DOUBLE-TAKE.DM is used when DOS or ProntoDOS is on the Language Card or IIe bank-switched memory, (put there by GPLE or ProntoDos). The Double-Take HELLO program will automatically load DOUBLETAKE.DM in normal memory above HIMEM. {DOUBLE-TAKE.DM may be used when GPLE.DM is in memory.} Confused? No problem. Double-Take's HELLO program figures out for you which version of Double-Take to run (actually BRUN). If you want to use your own Hello program you must incorporate Double-Take's HELLO commands into yours or know in advance which setup will be in the machine before you BRUN one of the four DOUBLE-TAKEs. All you need on a disk to activate Double-Take is the version of Double-Take that corresponds to your normal set up; DOUBLE-TAKE, DOUBLE-TAKE.48, DOUBLETAKE.LC or DOUBLE-TAKE.DM. You or your Hello program can simply BRUN one of these programs, and you're in business. WARNINGS DO NOT BOOT THE DOUBLE-TAKE DISK if you are using Double-Take in combination with GPLE or ProntoDos. Instead just RUN HELLO (that's Double-Take's HELLO), or BRUN one of the DOUBLE-TAKE programs (see above). DO NOT ATTEMPT TO USE THE AMPERSAND command while Double-Take is in memory; Double-Take uses it extensively (first come, first served!). {Use CALL 1016 instead of "8" to reconnect Double- Take and/or GPLE.} DO NOT USE HEX ADDRESSES $3B0-3FF. DoubleTake, DOS and the Monitor use this address range. And although you can use address $300-3AF, Double-Take's backward-scroll routine will occasionally overwrite part of this area during a list. [page 7] NEW LIST (control-F 1) APPLE LIST (control-F !) Typing control-F 1 (Return) or control-F 1 (Return) lists the Applesoft program currently in memory in Double-Take's NEW LIST Format or in APPLE LIST (normal) Format. NEW LIST lists each program statement on a new line, making programs much easier to read and follow. Note: Beagle Bros' Utility City disk features a program called XLISTER that lists Applesoft programs in "New List" format with some additional features not possible with Double-Take's list routine- printer page breaks, indented for-next loops and called-out if-then statements. XLISTER is much slower than Double-Take's lister and does not feature 2-Way Scrolling. 2-Way List Scrolling Both Apple List and New List use the Arrow Keys to control 2-Way-Scrolling, allowing you to search through listings in both directions. See page 4 for details. Typing control-F 1 or control-F ! will print "]LIST" on the screen. You may then press return for a full-program LIST, or specify line numbers and/or print-width for printer listings. {If you type "LIST', your Apple will list as usual, with no special features.} Syntax (same as Apple's LIST syntax except for /print- width): ]LIST [line#1] [-line#2] [/print-width] ]LIST [line#1] [,line#2] [/print-width] Examples (all feature 2-Way Scroll): ]LIST (Type control-F 1 [or !] Return) Lists entire program in 40-column width. ]LIST 100,200 (or 100-200 or 100- or -200) (Type control-F 1 [or !] 100,200 Return) Lists the range of lines specified. Printer Listings To list to your printer in any column-width, you must first turn the printer on with a PR#slot, then type control-F 1 (or !) followed by a slash (/) and a column-width. {After a printer listing, type "PR#0" to disconnect the printer.} [page 8] Examples: ]LIST /80 (Type control-F 1 [or !] /80 Return) Lists an entire program in 80-column format. Any width, from /20 to /255, may be used. Selecting a print width temporarily de-activates backward scroll capabilities (even the most sophisticated printer would choke if asked to scroll backwards!). ]LIST 100,200/70 (You type control-F 1 [or !] 100,200/70 Return) Lists a range of lines in 70-columns. {The valid range for print width is 20-255. Numbers larger than 255 are treated as mod 256.} Note: "Shift-" notation is used in this manual when Apple II and IIe keys differ. Shift-2, for example, is a Quote Mark (") on older Apples, and an At-Sign (@) on the IIe. Just follow your keychart for commands, and don't worry; DoubleTake knows what kind of Apple you are using. CATALOG D1 (control-F 2) CATALOG D2 (control-F shift-2) Typing control-F 2 or control-F shift-2 catalogs the disk in Drive 1 or 2 respectively, showing the Free Sectors remaining on that disk. The Disk Volume heading and Free Sector messages will remain at the top of the screen during the entire catalog. Deleted files "appear" as blank lines in the catalog (the file name of the next file written to the disk will replace the first blank line). Typing the normal CATALOG command will also produce all special Catalog features including 2-Way Scroll. To catalog a new slot, type the normal DOS command (for example, CATALOG S5,D1). {Double-Take's Free Sector routine will supersede ProntoDOS's Free Sector routine.} 2-Way Catalog Scrolling While in the middle of a Catalog, you may scroll 21 file names backward by pressing the Left-Arrow key, or forward by pressing the Right-Arrow key (or any key). The Left-Arrow is ignored at the beginning of a Catalog, just as the Right-Arrow is ignored at the end, preventing you from prematurely ending a Catalog. To exit a Catalog at any time, type control-C. {If you have an Apple IIe, you may optionally use its Up- and Down Arrow keys.} [page 9] HEX/ASCII DUMP (control-F 3) Typing control-F 3, plus the appropriate hex numbers, dumps the contents of the specified range of memory to the screen or printer. Each line will show the beginning address of that line in memory, eight hex bytes, and their eight ASCII equivalents. All control-characters are represented by periods. 2-Way Scrolling Hex/Ascii dumps may be scrolled in both directions. See page 4 for details on pausing, exiting and changing scroll direction. Typing control-F 3 will print "]H/A DUMP $" on the screen. You must then enter the hex address of the start-address and (optional) end-address, then press Return. Syntax: ]H/A DUMP $ [hex address 1 ] [.hex address 2] {Don't type the dollarsign. Double-Take does it for you.} Examples (both feature 2-Way-Scroll): ]H/A DUMP $ O.FF (You type control-F 3 O.FF Return) Displays memory locations 0-255 ($00-$FF). ]H/A DUMP $ 800 (You type control-F 3 800 Return) Begins dumping at $800 and continues until stopped. {Beginners: As an experiment, load an Applesoft program and do a Hex/Ascii dump starting at location $800.} MONITOR DISASSEMBLE (control-F #) Typing control-F # and the appropriate hex start-address lists disassembled machine language instructions to screen or printer, starting at the specified address. 2-Way Scrolling Monitor Disassemblies feature 2-Way Scrolling. See page 4 for details on pausing, exiting and changing scroll- direction. Reverse-scrolling of Disassemblies becomes slower as you get further away from the starting point. Re-start at a new location if this becomes a problem. Typing control-F # will print "]DISASM $" on the screen. You must enter the start-address for the disassembly and press Return. [page 10] Syntax: ]DISASM $ [hex address] Example (features 2-Way-Scroll): ]DISASM $ F800 (You type control-F # F800 return) Disassembles and displays code starting at address $F800. {Don't type the dollarsign. Double-Take does it for you.} HEX/DECIMAL CONVERT (control-F 4) Typing control-F 4, and the appropriate numbers, prints the hex equivalent of any decimal number, and vice versa. Typing control-F 4 will print "]CONVERT" on the screen. You may then enter either a decimal number (positive or negative) or a dollar-sign ($) followed by a hex number. Syntax: ]CONVERT [$ hex-number] ]CONVERT [(-) decimal-number] Examples: ]CONVERT $300 (You type control-F 4 $300 return) Prints "768", the decimal equivalent of $300. ]CONVERT 65535 (You type control-F 4 65535 return) Prints "$FFFF", the hex equivalent of 65535. ]CONVERT -151 (You type control-F 4 -151 return) Prints "$FF69", the hex equivalent of -151. MONITOR BASIC (control-F $) Typing control-F $ allows you to enter one line (up to 255 characters) of monitor instructions for execution, after which you will be automatically returned to Basic. Typing control-F 4 will present you with the monitor's asterisk-prompt (*). You may then enter any legal monitor command. Example: *300: 20 ED FD (You type control-F $ 300: 20 ED FD return) Changes three bytes and returns you to Basic. {If you enter illegal machine code, the monitor will beep and give you another chance without returning you to Basic. (To return to Basic on your own, type control-C and Return).} [page 11] APPEND HIDE (control-F 5) APPEND MERGE (control-F %) Double-Take lets you append two Applesoft programs or partial programs. You must be sure the two programs are numbered the way you want them, before you merge with this four-step process: 1. Load Program 1 into memory. 2. Type control-F 5 to "hide" Program 1. 3. Load Program 2. 4. Type control-F % to merge the two programs. If there are any errors, such as duplicate line numbers, both programs will remain as they were prior to the Merge command. This gives you the opportunity to renumber the conflicting line or take other steps (like deleting a line) to solve the problem. Example: Load an Applesoft program or subroutine 10 REM PRINT GROCERY LIST 20 TEXT : HOME : NORMAL :GOSUB 2000: END 30 DATA DOGFOOD,PRETZELS,SODA POP 40 DATA TV GUIDE,NATIONAL ENQUIRER 2000 FOR I = 1 TO 5: READ ITEMS: PRINT ITEMS: NEXT : RETURN Hide it by typing control-F 5, and load a second program- 1000 REM CENTER A$ 1010 HT = INT (20 - ( LEN (A$) / 2)) + 1: IF HT < = 0 THEN HT = 1 1020 HTAB HT: PRINT A$: RETURN Now merge the hidden subroutine into the second program by typing control-F%. In the example, Lines 1000 - 1020 will now be between lines 40 and 2000: 10 REM PRINT GROCERY LIST 20 TEXT : HOME : NORMAL : GOSUB 2000: END 30 DATA DOGFOOD,PRETZELS,SODA POP 40 DATA TV GUIDE,NATIONAL ENQUIRER 1000 REM CENTER A$ 1010 HT = INT (20 - ( LEN (A$) / 2)) + 1: IF HT < = 0 THEN HT = 1 1020 HTAB HT: PRINT A$: RETURN 2000 FOR I = 1 TO 5: READ ITEMS: PRINT ITEMS: NEXT RETURN [page 12] RENUMBER (control-F 6) Typing control-F 6 initiates re-numbering of all or part of the Applesoft program in memory, simultaneously updating all GOTO's, GOSUB's and the like. Double-Take's Renumber routine will even let you move program lines around to different parts of your program. After typing control-F 6, you will be asked to enter (1) the old line number where renumbering should start, (2) the old line number where renumbering should stop, (3) the new number with which re-numbering should start, and (4) the increment between new line numbers. Hitting Return after any question will default to the value displayed on the screen. Load a dummy program and play around. You'll soon get the hang of it. {You can exit Renumber by entering a line number greater than 63999 an Increment of zero.} {While renumbering the old and new line numbers will be displayed on the screen.} WARNING: Since Double-Take's Renumber routine is capable of moving program lines to different parts of a program, it is also capable of shuffling a program, making it inoperable. This is only a problem if you are renumbering part of a program. Always SAVE your original until you are sure your renumbered version works. {Here is a sample program before renumbering.} 10 HGR : HCOLOR= 3 30 FOR I = 80 TO 160: HPLOT 0,I TO 279,1: NEXT 60 HCOLOR= O:CX = 140:CY = 50 90 FOR I = 1 TO 11: READ X,Y: HPLOT CX,CY TO X,Y: NEXT 100 DATA 0,90,0,100,0,120,0,160,70,160,140,160,210,16 0,279,160,279,120,279,100,279,90 140 I = 1 145 IF 80 + I ^ 2.5 > 160 THEN 165 150 HPLOT 0,80 + I - 2.5 TO 279,80 + I ^ 2.5 160 1 = I + 1: GOTO 145 165 END {Same program after renumbering.} 10 HGR : HCOLOR= 3 20 FOR I = 80 TO 160: HPLOT 0, 1 TO 279,1: NEXT 30 HCOLOR= O:CX = 140:CY = 50 40 FOR I = 1 TO 11: READ X,Y: HPLOT CX,CY TO X,Y: NEXT 50 DATA 0,90,0,100,0,120,0,160,70,160,140,160,210,160 ,279,160,279,120,279,100,279,90 60 I = 1 70 IF 80 + I " 2.5 > 160 THEN 100 80 HPLOT 0,80 + I ^ 2.5 TO 279,80 + I ^ 2.5 90 I = I + 1: GOTO 70 100 END [page 13] AUTO-NUMBER (control-F shift-6) Typing control-F shift-6 will initiate Double-Take's Auto- Number routine. Auto-Number is used when you are entering a Basic program from the keyboard and are too lazy to type in (and remember) your own line numbers. Once initiated, line numbers are "typed" by pressing the Space Bar. Auto-Number is turned off by typing control-F shift-6 Return. Typing control-F shift-6 will print "]AUTO-NUM" on the screen, waiting for you to hit return to turn Auto-Number off or enter the start and increment numbers. Syntax: ]AUTO-NUM [start line#] [, increment] Examples: ]AUTO-NUM 100 (Type control-F shift-6 100 return) Sets up automatic line numbering to begin with line number 100. Since no increment was specified, it will default to 10; the next consecutive line numbers after 100 will be 110, 120, 130, etc. ]AUTO-NUM 100,20 (Type control-F shift-6 100, 20 return) Sets up 100 as the starting line number and 20 as the increment between numbers. ]AUTO-NUM, 5 (Type control-F shift-6 , 5 return) No starting number is specified, so the default of 10 will be used. The increment is 5. {Line numbers greater than 63999 and smaller than 65536 will be accepted by AutoNumber but be rejected by Applesoft with a ?SYNTAX ERROR when entered.} If Return is pressed with no numbers entered, autonumbering will be turned off. Illegal input (e.g. letters, special characters, etc.) will cause the starting number and increment to default to 10. Once auto line-numbering is set up you must activate it by pressing the Space Bar upon receiving the Basic prompt.This lets you enter Basic and DOS commands without line numbers getting in your way. If you should press the Space Bar accidently you can backspace over the number, or type control-X or Return. BEWARE that hitting Return with a line number entered will cause any line with that number to be deleted. [page 14] VITAL STATISTICS (control-F 7 ) Typing control-F 7 displays decimal and hex data for the Applesoft program in memory. Here is a map showing how Vital Statistics relate to a sample Applesoft program in memory. (The large graphic doesn't translate well, so the following is the list of the output data.) START ADDRESS (A) OF LAST BLOAD LENGTH (L) OF LAST BLOAD START ADDRESS OF APPLESOFT PROGRAM normally 2049 ($0801) Program END ADDRESS OF APPLESOFT PROGRAM START OF VARIABLE STORAGE (LOMEM) START OF ARRAY STORAGE (END OF simple VARIABLES) END OF ARRAY STORAGE FREE MEMORY END OF STRING STORAGE START OF STRING STORAGE (HIMEM) Note: The Start and Length of the last BLOAD, may be meaningless (or just plain incorrect) depending on commands issued since the BLOAD. For instance, Length is scrambled when an Applesoft program is loaded. See your Applesoft Manual for details on using these values. [page 15] 2-BYTE PEEK (control-F shift-7) Typing control-F shift-7 prints the two-byte value found at the address entered. This command is equivalent to doing a PEEK(A) + PEEK(A+1) * 256 where A is the Address entered. Typing control-F shift-7 will print "]PEEK(2)" on the screen. You may then enter a decimal address (positive or negative) or a dollar-sign ($) followed by a hex address. Syntax: ]PEEK(2) [$ hex number] ]PEEK(2) [(-) decimal number] Examples: ]PEEK(2) $67 (Type control-F shift-7 $67 Return) ]PEEK(2) 54 (Type control-F shift-7 54 Return) ]PEEK(2) -530 (Type control-F shift-7 -530 Return) VARIABLE CROSS-REFERENCE (control-F 8) Typing control-F 8 displays all variables, strings and arrays in the current Applesoft program, sorted alphabetically and followed by the numbers of the lines in which they appear. If there is no program in memory or no variables in the program in memory then nothing will be displayed. To dump a cross-reference to your printer in 40-columns, type PR#slot (Return), then control-F 8. {Double-Take will not allow X-Reference an Variable Display printer listings wider than 40-columns. Turning off screen output with control-I..N will also turn off Double-Take.} VARIABLE DISPLAY (control-F shift-8) Typing control-F shift-8 will display all variables and strings (not arrays; see below) in memory and their current values, in the order in which they were allocated. If there is no program in memory OR IF THE PROGRAM HAS NOT BEEN RUN since loaded (or since changes have been made), then nothing will be displayed. [page 16] The order of variables is an important factor in determining the speed of a program. Variables initialized first will be located first and executed the fastest. To display the value of any array, type a simple for-next loop immediately after running a program... ]FOR I = 1 TO 10: PRINT A(I): NEXT Multiple-dimensioned arrays can be analyzed like so... ]FOR I = 1 TO 10: FOR J = 1 TO 3 PRINT A(I,J),: NEXT : NEXT REPLACE CURSOR (control-F 9) This option lets you select almost any kind of text screen cursor you could possibly think of! {The cursor you sele will be in effect even in your programs' INPUTS and GETs.} Typing control-F 9 will print "]CURSOR" on the screen. You may then select a cursor, 1-4. Syntax: ]CURSOR [decimal number 1-4] Examples ]CURSOR 2 (Type control-F 9 2 Return) Creates a white square cursor. ]CURSOR 3 (Type control-F 9 3 Return) Creates a blinking (on-off) underscore cursor. ]CURSOR 4 (Type control-F 9 4 Return) Creates a non-blinking underscore cursor. ]CURSOR 1 (Type control-F 9 1 Retum) Re-establishes your Apple's normal cursor. To make things even more fun (and confusing), you may further alter cursors 2, 3, and 4. Cursor 2 is altered by poking values 0-255 into location 946. Cursors 3 and 4 are [page 17] altered by poking 0-255 into location 947. Here are some pokes to play with: {Type each poke as you see it, then hit Return. The new cursor will appear immediately.} Select cursor 2 and do one of the following: POKE 946,84 or... POKE 946,128 or... POKE 946,255 or... POKE 946,0 (default value) Select cursor 3 or 4 and do one of the following: POKE 947,32 or... POKE 947,96 or... POKE 947,160 or... POKE 947,255 or... POKE 947,223 (default value) CONTROL-CHARACTERS (control-F shift-9) Typing control-F shift-9 toggles the display of control characters ON and OFF. When turned on, control characters (normally invisible) will appear in listings, catalogs, variable display, and so on, as inverse characters. [page 18] Double-Take features five "screen switches" which allow you to clear the screen, or reveal either page of hi-res, lo-res or text without clearing the screen. CLEAR SCREEN Typing control-F 0 (zero) exposes and clears the text screen; useful when you are looking at graphics and want to enter text (similar to instantly entering "TEXT: HOME: NORMAL"). HI-RES PAGE 1 Typing control-F : (colon) on an old Apple, or control-F - (hyphen) on a IIe, exposes the current full hi-res screen without clearing it. LO-RES PAGE 1 Typing control-F * (asterisk) on an old Apple, or control-F _ (underscore) on a IIe, exposes the current full lo-res screen without clearing it. PAGE 2 Typing control-F - (hyphen) on an old Apple, or control-F= (equals) on a IIe, exposes page 2 of Text, Lo-Res, or Hi-Res, depending on the setting of the other screen switches. SPLIT-SCREEN Typing control-F = (equals) on an old Apple, or control-F + (plus) on a IIe, will reveal four lines of text at the bottom of the currently-displayed graphics screen. {Don't be confused by the different keys for different Apples. Just refer to your DoubleTake keychart.} [page 19] DOUBLE-TAKE INDEX Ampersand . . . . . . . . . . . . . . 7 Append Hide and Merge . . . . . . . . 12 Apple List . . . . . . . . . . . . . . 8 Apple Ile . . . .. . . .. . . .. . . . 4 Arrow keys . . . . . . . . . . . . 4, 9 Auto-Number . . .. . . . . .. . . .. 14 Blue Module . . . . . . . . . . . .12-14 Cancelling commands . . . . . . . . . 3 Catalog D1 and D2 . . . . . . . . . . 9 Command handler . . . . . . . . . 5 Configure Double-Take . . . . . . 2, 5 Control Characters . .. . . . .. . . .18 Control-F . . . . . . . . . . . . . . 3 Cursor . . . . . . . . . . . . . . . 17 Direction of scroll . . . . . . . . . 4 Double-Take . . . . . . . . . . . . . 6 Double-Take.48 . . . . . . . . . . . . 6 Double-Take.DM . . . . . . . . . . . 7 Double-Take.LC . . . . . . . . . . . 7 End of listing . . . . . . . . . . . . 4 Exiting during scroll . . . . . . . . 4 Function? . . . . . . . . . . . . . . 3 GPLE . . . . . . . . . . . . . . . 4,6,7 Hello . . . . . . . . . . . . . . . 2, 6 Hex/Ascii Dump . . . . . . . . . . . 10 Hex/Decimal Convert . . . . . . . . .11 Index . . . . . . . . . . . . . . . . 20 Keychart . . . . . . . . . . . . . . . 3 Loading Double-Take . . . . . . . . . .2 Memory requirements . . . . . . . . . 5 Modules . . . . . . . . . . . . . . . 5 Monitor Basic . . . . . . . . . . . . 11 Monitor Disassemble . . . . . . . . 10 New List . . . . . . . . . . . . . . 8 Orange Module . . . . . .. . . . . 10-11 Page 3 usage . . . . . . . . . . . . . 7 PR# 8 Printer listings . . . . . . . . . . . 8 ProntoDOS . . . . . . . . . . . . . 6, 7 Pause during scroll . . . . . . . . . 4 Reconnecting Double-Take or GPLE . . . 7 Red Module 8-9 Remove Double-Take . . . . . . . . . . 2 Renumber . . . . . . . . . . . . . . 13 Replace Cursor . . . . . . . . . . . 17 Screen Switches . . . . . . . . . . 19 Shift/Unshift . . . . . . . . . . 3, 9 Two-Byte Peek . . . . . . . . . . . . 16 Two-Way Scroll . . . . . . . . . . . . 4 Variable Cross-Reference . . . . . . 16 Variable Display . . . . . . . . . . 16 Versions of Double-Take . . . . . . . 6 Vital Statistics . . . . . . . . . . 15 Yellow Module . . . . . . . . . . 15-18 [page 20]