952 lines
32 KiB
Plaintext
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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|