textfiles/apple/doubletake.txt

952 lines
32 KiB
Plaintext

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]