971 lines
35 KiB
Plaintext
971 lines
35 KiB
Plaintext
|
|
CONTENTS
|
|
|
|
|
|
1. INTRODUCTION
|
|
|
|
2. SOURCEROR
|
|
|
|
3. GETTING STARTED
|
|
|
|
4. COMMAND SUMMARY
|
|
|
|
5. OPEN APPLE COMMANDS (global)
|
|
|
|
6. EXPANDED EXPLANATION OF SOME COMMANDS
|
|
6.1 CUT AND PASTE
|
|
|
|
7. FIND TEXT and GOTO LABEL (or line number)
|
|
|
|
8. GLOBAL EXCHANGE
|
|
|
|
9. REPLACE LINE and DELETE LINE
|
|
|
|
10. OPEN APPLE UP AND DOWN
|
|
|
|
11. STATUS
|
|
|
|
12. CHARACTER INSERT MODE
|
|
|
|
13. LOWER CASE TOGGLE
|
|
|
|
14. LINE NUMBER and EOL MARKER
|
|
|
|
15. GENERAL REMARKS
|
|
|
|
16. MEMORY USAGE
|
|
|
|
17. INSTALLING ED ON THE FLY
|
|
|
|
18. THE KEYBOARD MACRO PROGRAMS (EDMAC)
|
|
|
|
19. OOPS
|
|
|
|
20. THE ED.16 VERSION
|
|
|
|
21. LOADING OTHER UTILITIES
|
|
|
|
22. TECHNICAL INFORMATION
|
|
|
|
23. IMPORTANT NOTE
|
|
|
|
24. BASIS 108 VERSION
|
|
|
|
25. ADDENDUM
|
|
|
|
26. NEW DISK COMMANDS (ProDOS Version)
|
|
|
|
27. CATALOG COMMAND
|
|
|
|
28. INTERPRETER
|
|
|
|
29. NEW DISK COMMANDS [DOS 3.3 Version]
|
|
|
|
30. [ProDOS and DOS 3.3 versions]
|
|
30.1 Merlin Pro and 'SPEED UP' CARDS
|
|
|
|
31. LINKER
|
|
|
|
32. LUP
|
|
|
|
33. CLOCK
|
|
|
|
34. CONV.LNK.REL [ProDOS only]
|
|
|
|
35. CLR.HI.BIT [ProDOS only]
|
|
|
|
36. 65C02 SPECIAL NOTES
|
|
|
|
37. MANUAL CORRECTIONS and ADDITIONAL INFORMATION
|
|
37.1 (Page 109)
|
|
37.2 (page 117)
|
|
|
|
1. INTRODUCTION
|
|
|
|
The Merlin Pro ProDOS and DOS 3.3 versions load the standard editor
|
|
on boot. The Merlin Pro manual refers to this editor and it
|
|
recommended that you become familiar with its operation.
|
|
|
|
At some point you may prefer to use the Full Screen Editor instead.
|
|
Please read the information in this page carefully. It has been
|
|
provided to help avoid confusion.
|
|
|
|
The easiest way to identify which editor is in effect is to enter
|
|
the Editor and press "A" to add a line. If the line number
|
|
appears in the upper right hand corner of the screen, the Full
|
|
Screen Editor has been installed.
|
|
|
|
To have the ProDOS Full Screen Editor installed on boot, you should
|
|
first make a copy of the Merlin Pro, ProDOS version. In the sub-
|
|
directory UTIL is a file called FS.ED. RENAME this file to ED and
|
|
you're all done. For easy reference, write "Full Screen Editor-
|
|
ProDOS" on the diskette label.
|
|
|
|
To have DOS 3.3 Full Screen Editor installed on boot, you should
|
|
first make a copy of the Merlin Pro, DOS 3.3 version. LOAD the
|
|
HELLO program and add the following line:
|
|
|
|
80 PRINT CHR$(4)"BRUN ED"
|
|
|
|
and then SAVE HELLO. For easy reference, write "Full Screen
|
|
Editor, DOS 3.3" on the diskette label.
|
|
|
|
|
|
2. SOURCEROR
|
|
|
|
Most Merlin Pro utilities such as XREF and PRINTFILER can be in
|
|
memory at the same time as the Full Screen Editor version.
|
|
However, on the ProDOS version, the Full Screen Editor uses the
|
|
same memory area as SOURCEROR. Therefore, you must boot the
|
|
Standard Editor version of Merlin Pro to use SOURCEROR. This does
|
|
NOT apply to the DOS 3.3 version.
|
|
|
|
See the additional notes on using SOURCEROR and SOURCER.FP at the
|
|
rear of the Full Screen Editor manual.
|
|
|
|
|
|
3. GETTING STARTED
|
|
|
|
Merlin Pro's Full Screen Editor is very compact and powerful. It
|
|
is on both the DOS 3.3 version and the ProDOS version, where it is
|
|
in the UTIL directory.
|
|
|
|
It is compatible with the //c and //e 80 column cards as well as
|
|
the Videx Ultraterm and Checkmate Technology Multiview cards (all
|
|
modes). Its command structure is modeled closely on the Merlin Pro
|
|
Standard Editor so that you don't have to learn another radically
|
|
different set of commands.
|
|
|
|
After it has been loaded, it is accessed from within the editor by
|
|
typing an "A" command. If there is a source file in memory then
|
|
the "E" command also sends you to the Full Screen Editor
|
|
|
|
If you have one of the new 65802 16-bit microprocessors in your
|
|
Apple //e or //c then you can make use of the "ED.16" version of
|
|
the Full Screen Editor. This is faster and has some added
|
|
capabilities such as the ability to move source files easily and
|
|
quickly between DOS 3.3 and ProDOS versions.
|
|
|
|
The 65802 can be plugged right into your Apple //e or //c,
|
|
replacing the existing 65C02 or 6502. There are no known
|
|
incompatibilities with this chip, except for those that already
|
|
exist for the 65C02. The entire 65C02 instruction set is
|
|
supported, with the exception of the so called Rockwell codes.
|
|
Those codes only exist on the Rockwel1 version of the 65C02 and do
|
|
not exist on the versions used by Apple Computer for the //c or the
|
|
//e enhancement.
|
|
|
|
It is strongly suggested that you install the Enhancement Kit in
|
|
your //e if you don't already have it. This is not strictly
|
|
required, but the Mousetext Toolkit characters will produce a
|
|
substantial improvement of appearance.
|
|
|
|
|
|
4. COMMAND SUMMARY
|
|
|
|
The command structure follows that of the Standard Editor as much
|
|
as possible. Commands that are 'global' in nature use the same
|
|
control character as the but use the Open Apple (OA) key as a
|
|
prefix instead of the Control key. If you are familiar with Merlin
|
|
Pro's Standard Editor, or the many editors with similar command
|
|
structure, these commands will seem very natural.
|
|
|
|
CONTROL COMMANDS (line oriented and cursor moves)
|
|
|
|
Control B .......... Cursor to beginning of the line
|
|
Control D .......... Delete character under the cursor
|
|
Control F .......... Find character typed next (recursive)
|
|
Control I .......... Toggle character insert mode
|
|
Control L .......... Toggle lower case convert mode
|
|
Control N .......... Cursor to end of the line
|
|
Control Q .......... Delete all characters from cursor to end
|
|
Control R .......... Replace original line
|
|
Control S .......... Show memory status box
|
|
Control W .......... Find next word (alphanumeric)
|
|
Control X .......... Cancel global exchange in progress
|
|
Control Y .......... Remember current line for recall by OA Y
|
|
Cursor keys ........ Move cursor
|
|
DELETE ............. Delete character to the left of cursor
|
|
ESC ................ Move cursor to the start of next line
|
|
RETURN ............. Carriage return and insert new line
|
|
TAB ................ Toggle insert mode
|
|
|
|
|
|
5. OPEN APPLE COMMANDS (global)
|
|
|
|
OA DELETE ....... Delete previous line (UNDO by OA TAB/OA R)
|
|
OA DOWN ARROW ... Cursor down 10 lines, screen centered
|
|
OA ESC .......... Return to the standard editor
|
|
OA TAB .......... Insert new line at cursor
|
|
OA UP ARROW ..... Cursor up 10 lines, screen centered
|
|
OA B ............ Go to the beginning of source, screen centered
|
|
OA C ............ Cut to the clipboard, start select if 1st time
|
|
OA D ............ Delete current line (UNDO by OA TAB/OA R)
|
|
OA F ............ Find text (recursive)
|
|
OA I ............ Insert new line at the editor
|
|
OA L ............ Go to label in label column or line number
|
|
OA N ............ Go to the end of source
|
|
OA P ............ Paste clipboard at line containing cursor
|
|
OA Q ............ Select all text from current line to end
|
|
OA R ............ Replace last line deleted with current line
|
|
OA W ............ Find word (recursive)
|
|
OA X ............ Global exchange (produces dialog box)
|
|
OA Y ............ Go to last control Y line, screen centered
|
|
OA Z ............ Reprint screen, screen centered
|
|
OA 8 ............ Produce a line of asterisks
|
|
OA 9 ............ Produce a line of boxes
|
|
OA - ............ Produce a line of dashes
|
|
OA = ............ Produce a line of equal signs
|
|
|
|
|
|
6. EXPANDED EXPLANATION OF SOME COMMANDS
|
|
|
|
6.1 CUT AND PASTE
|
|
|
|
Open Apple C starts the select mode and selects the line the cursor
|
|
is on. After this, you can select further lines with the down
|
|
arrow key. The up arrow key does not cancel select mode, so you
|
|
can adjust the select range if you go to far.
|
|
|
|
However, the select mode will be canceled if you move the cursor
|
|
above the first selected line or past the top of the screen. Any
|
|
other command will cancel the select mode. Selected lines are
|
|
shown in inverse. When you want to cut, type OA C again. The
|
|
selected lines will disappear from the screen and are placed on the
|
|
clipboard.
|
|
|
|
Open Apple Q selects everything from the current line to the end of
|
|
the file for cutting. OA C will then cut it; anything else will
|
|
cancel the select mode. This provides a simple means of moving the
|
|
entire file to the clipboard.
|
|
|
|
Open Apple P pastes the current contents of the clipboard on the
|
|
screen starting at the line containing the cursor. Only full lines
|
|
are moved. This does not change the contents of the clipboard, so
|
|
that this can be used to replicate a range of lines.
|
|
|
|
|
|
7. FIND TEXT and GOTO LABEL (or line number)
|
|
|
|
The OA F command brings up a box which asks for the find text. It
|
|
then finds the first occurrence of the text in the entire text
|
|
file. The text can be anywhere on a line. After the first find,
|
|
you can find the next occurrence by typing another OA F. You can
|
|
edit the line and then type OA F to go to the next occurrence.
|
|
|
|
The OA B command and the Control-S status command both cancel the
|
|
find mode, as does failure to find the text below the current line.
|
|
This continued find mode is indicated by one or more '+' signs
|
|
preceding the line number at the top right corner of the screen.
|
|
The continued find starts from the row the current line, so it
|
|
locates only one occurrence per line.
|
|
|
|
The OA W command is identical to OA F except that it finds only
|
|
whole words bounded by non-alphanumeric characters. If you type
|
|
either OA W or OA F to find the next occurrence, this mode will
|
|
change accordingly.
|
|
|
|
The OA L command asks for a label or any text to locate. It finds
|
|
the first occurrence of that text in the file, but only in the
|
|
label column. Only the characters typed are compared with the
|
|
labels, so in some cases you may wish to end your input with a
|
|
space.
|
|
|
|
The intended use of this command is to move rapidly to a particular
|
|
place in the source. You can use 'markers' to enhance the
|
|
capability of this command. Therefore, if a line starts '* 7', you
|
|
can specify '* 7' as the find text for this command and it will
|
|
work.
|
|
|
|
If you type a number for the label in an OA L command, you will be
|
|
sent to that line number. This is convenient when editing a source
|
|
file using the printed listing.
|
|
|
|
In all cases the line containing the text is moved to the center of
|
|
the screen, unless it is within the first 10 lines of the start of
|
|
the source.
|
|
|
|
|
|
8. GLOBAL EXCHANGE
|
|
|
|
The OA X command produces a dialog box that asks for the text to
|
|
change, and the new text to replace it (if you just type RETURN for
|
|
either of these, the command is aborted). Then the file is
|
|
searched for the change text. Unlike the FIND command, it looks
|
|
only for full words. That is, the text found must be bounded by
|
|
non-alphanumeric characters or it will be ignored.
|
|
|
|
If If text is found with this method, the screen is reprinted with
|
|
the replacement made and the cursor is placed on the first
|
|
character of the replacement. Now you must hit a key to continue,
|
|
Pressing RETURN or any other control character will defeat the
|
|
change and the routine will look for the next occurrence of the
|
|
text to change. Pressing the space bar or any other character will
|
|
accept the change and the routine will continue.
|
|
|
|
One exception to this is the Control-X key, which will abort the
|
|
process and return control to you. Another exception is the 'A'
|
|
key which will cause all occurrences to be changed. Caution: this
|
|
can be aborted only by RESET.
|
|
|
|
You can tell when the routine is finished by the fact that the line
|
|
number at the top right is missing during the exchange sequence and
|
|
will return when there are no more matches for the change text, or
|
|
until you press Control-X.
|
|
|
|
|
|
9. REPLACE LINE and DELETE LINE
|
|
|
|
The OA D and OA-DEL commands delete a line from source and place it
|
|
in a special 'undo' buffer, which is independent of the clipboard.
|
|
The OA R command exchanges the current line with this undo buffer.
|
|
Thus two successive OA R commands cancel one another out. OA R on
|
|
an empty line places the undo buffer at that line and clears the
|
|
undo buffer.
|
|
|
|
Note that these commands can be used to move a single line to
|
|
another location. Just place the cursor on the line to be moved
|
|
and type OA D; then move the cursor to an empty line or anywhere
|
|
else, Now press either OA-TAB or RETURN to create an empty line,
|
|
and then type OA R.
|
|
|
|
OA R can be used by itself to easily interchange two lines. Just
|
|
place the cursor on the first line, press OA R, move the cursor to
|
|
the second line, press OA R again, move the cursor back to where
|
|
the first line was and press OA R for the third and final time.
|
|
|
|
|
|
10. OPEN APPLE UP AND DOWN
|
|
|
|
The OA DOWN ARROW command moves the cursor to the 10th line below
|
|
its present position and then reprints the screen so that the
|
|
cursor will be on the 11th line. If this command is repeated it
|
|
has the effect of moving the current line to the top of the screen
|
|
and then moving the cursor to the 11th line on the screen.
|
|
|
|
Similarly repeating the OA UP ARROW command moves the top line to
|
|
the 11th line on the screen and puts the cursor on that line.
|
|
|
|
|
|
11. STATUS
|
|
|
|
The Control-S command displays a status box showing the number of
|
|
used and free bytes.
|
|
|
|
|
|
12. CHARACTER INSERT MODE
|
|
|
|
The character insert mode defaults to ON upon entry. When you
|
|
change it with the TAB or Control-I key, it remains that way until
|
|
changed again. Thus, moving from one line to another has no effect
|
|
on this status.
|
|
|
|
The status is indicated by the type of cursor displayed. It is an
|
|
inverse 'I' when insert mode is active, and an inverse space when
|
|
it is not active. The cursor is an inverse 'F' when you are in
|
|
find mode.
|
|
|
|
|
|
13. LOWER CASE TOGGLE
|
|
|
|
Ordinarily, unless the cursor is in a comment or an ASCII string,
|
|
lower case characters will be converted to upper case characters.
|
|
This is also defeated when the tabs are zeroed. To override this
|
|
conversion, or to reinstate it, just use the Control-L command.
|
|
This conversion is also in effect when you use the OA F or OA L
|
|
find commands.
|
|
|
|
|
|
14. LINE NUMBER and EOL MARKER
|
|
|
|
At the upper right hand corner of the screen, the number of the
|
|
line containing the cursor is printed. Somewhat to the left of
|
|
this you may see a vertical bar. This bar indicates the position
|
|
at which an assembly listing will overflow the printer line. You
|
|
can put characters beyond this mark, since it is for information
|
|
only. The position of the mark is calculated using your line
|
|
length parameter in the PARMS file. If this is very large, the
|
|
mark will not be shown.
|
|
|
|
|
|
15. GENERAL REMARKS
|
|
|
|
When you move the cursor between lines its horizontal position will
|
|
jump around. This is because it is based on the actual position in
|
|
the line and not on the screen position. If the tabs are zeroed
|
|
you will not notice this, except for the fact that the cursor is
|
|
never beyond the last character in the line.
|
|
|
|
The editor works with any 80-column card and supports all modes of
|
|
the Ultraterm and Multiview cards. Except for minor details, it
|
|
even works on the 40 column screen. However, only that part of a
|
|
line that can fit on one screen line is displayed.
|
|
|
|
The maximum line length is 192 characters. Lines longer than that
|
|
will be truncated IF they are edited.
|
|
|
|
The editor uses the mousetext characters in some places, but this
|
|
is just cosmetic. In 40 column mode these will show up as strange
|
|
characters because Merlin Pro does not use the video firmware in
|
|
that mode.
|
|
|
|
You must return to the standard editor (OA ESC) in order to use
|
|
the ASM command to assemble, or to Quit and access the EXEC mode,
|
|
the monitor, etc.
|
|
|
|
If the 'search character' parameter location is in negative ASCII,
|
|
then when you return to the standard editor, the 'A' and 'E'
|
|
commands no longer send you to the screen editor. This way you
|
|
still have use of the standard editor if you desire. The entry to
|
|
the screen editor is reestablished when you go to EXEC mode and
|
|
back, or when you assemble a file.
|
|
|
|
On the other hand, if you defeat the 'Update source (?)' question
|
|
by putting a zero in this parameter location, then the 'A' and 'E'
|
|
commands will always send you to the screen editor. The standard
|
|
editor can be used only for immediate commands. Using any positive
|
|
byte except zero for this parameter will defeat the 'Update source
|
|
(?)' question but still allow access to the standard editor.
|
|
|
|
The editor conflicts with some other utilities in its use of memory
|
|
such as SOURCEROR. To use these utilities you should remove the
|
|
editor by running the REMOVE.ED program. This pertains only to the
|
|
ProDOS version.
|
|
|
|
Users of the Ultraterm or Multiview cards can set up any mode of
|
|
the card by typing the appropriate ESCAPE sequence when in the
|
|
standard editor. That mode will then be automatically supported
|
|
when you go to the screen editor.
|
|
|
|
Unlike the standard editor, the Control-Q key does not move to the
|
|
next line after deletion of characters from the cursor on. This
|
|
makes it possible to use the Control-R key to undo this command.
|
|
|
|
An assembly will delete the current clipboard file. RESET will
|
|
return to the EXEC mode with everything intact.
|
|
|
|
The editor has keyboard buffering so that keys will still be read
|
|
during time consuming operations such as reprinting the screen or
|
|
moving data to and from the clipboard.
|
|
|
|
|
|
16. MEMORY USAGE
|
|
|
|
The ProDOS version uses 12 pages (3K) from the top of source file
|
|
memory. If you use the keyboard macro file EDMAC it uses and
|
|
additional 2 pages. It is protected from overwrite. The DOS 3.3
|
|
version uses the other language card and thus does not use any
|
|
memory ordinarily used by Merlin Pro.
|
|
|
|
|
|
17. INSTALLING ED ON THE FLY
|
|
|
|
If you have deleted line 80 from the DOS 3.3 HELLO program, and you
|
|
want to install the Full Screen Editor from within Merlin Pro,
|
|
press C to Catalog from the EXEC mode, and at the BASIC prompt type
|
|
BRUN ED. You can also BRUN ED from BASIC after Merlin Pro is in
|
|
memory.
|
|
|
|
With the ProDOS Standard Editor version, press D for Disk command
|
|
from the EXEC mode, and type BRUN/MERLIN/UTIL/FS.ED at the command
|
|
prompt.
|
|
|
|
|
|
18. THE KEYBOARD MACRO PROGRAMS (EDMAC)
|
|
|
|
These are versions of the keyboard macro parts of KEYMAC that will
|
|
support the screen editor. The macros are invoked by pressing the
|
|
Close Apple key along with other keys. The source files are
|
|
provided so that you can change the macro definitions if you so
|
|
desire. To set up the keyboard macros, press C to catalog from the
|
|
EXEC mode (assuming ED has been loaded), and at the command prompt,
|
|
type BRUN EDMAC.
|
|
|
|
|
|
19. OOPS
|
|
|
|
Virtually any command can be undone. The proper undo command is of
|
|
the same 'type' as the command you want to undo. Line editing
|
|
commands are undone by Control-R. This includes the OA 8, OA 9, OA
|
|
-, and OA = commands which are regarded as line editing commands
|
|
for this purpose.
|
|
|
|
Line deletion commands OA D and OA DEL are undone by creating an
|
|
empty line with OA TAB and then OA R. If you forget to create the
|
|
empty line, type another OA R and then do this.
|
|
|
|
The OA R command undoes itself. A CUT is undone by a PASTE
|
|
without moving the cursor off its line.
|
|
|
|
|
|
20. THE ED.16 VERSION
|
|
|
|
ED.16 is for use with the 65802 or 65826 chip. The speed sensitive
|
|
parts of the editor make use of the enhanced abilities of these
|
|
chips. For very large files the difference is substantial. Do not
|
|
run ED.16 with a 6502 or 65C02. It should have no effect, but this
|
|
has not been tested.
|
|
|
|
If you have a 65802 in your Apple, you can use ED.16. Just rename
|
|
ED.16 so that it becomes 'ED'. If you have a program selector,
|
|
tell the selector to use 'ED.26' as a 'startup'.
|
|
|
|
There are extra features in ED.16. The 'A' entry goes to end of
|
|
source and the 'E' entry with line number goes to that line, unless
|
|
the line is less than 11. The Control-S status request also shows
|
|
the length of the clipboard, if any.
|
|
|
|
There are two more OA commands, OA LEFT ARROW and OA RIGHT ARROW.
|
|
These move through the text a page at a time. This is roughly
|
|
equivalent to two successive OA UP or DOWN Arrows.
|
|
|
|
The Control-O override command enables insertion of control
|
|
characters in the text file.
|
|
|
|
The clipboard is this version only can be used to transfer files
|
|
between ProDOS and DOS 3.3. To do this, place the cursor on the
|
|
first line and type OA Q then OA C which will place the entire file
|
|
in the clipboard. Then boot up the other version of Merlin Pro and
|
|
ED.16 and type OA P.
|
|
|
|
|
|
If you use OA F, OA W, or OA X while a range is selected by OA C
|
|
and Down Arrows, only that range will be searched. Otherwise, the
|
|
entire file is searched. These commands cancel the select mode.
|
|
If the OA P paste command is used when a range is selected, the
|
|
clipboard replaces the text in that range. Note: text deleted in
|
|
this manner is not recoverable.
|
|
|
|
Things that will destroy the clipboard:
|
|
|
|
1. Turning off the computer
|
|
2. Writing to /RAM
|
|
3. Using any program that writes to auxiliary memory.
|
|
4. Using the SWAP command in the standard editor.
|
|
5. Assembling a file.
|
|
|
|
Things the clipboard will survive (ED.16 only)
|
|
|
|
1. A cold boot (Control OA RESET).
|
|
2. Running a program that does not use auxiliary memory.
|
|
3. RAM format request (but no writing of files).
|
|
4. Loading and saving files (all ED versions).
|
|
|
|
|
|
21. LOADING OTHER UTILITIES
|
|
|
|
You can have another utility such as XREF or SOURCEROR, loaded on
|
|
boot instead of ED. To do this, change the name 'UTIL/ED' located
|
|
at $2006 with a leading length byte, in MERLIN.SYSTEM, to the path
|
|
name of the utility you want executed upon boot. This is for the
|
|
ProDOS version only.
|
|
|
|
|
|
22. TECHNICAL INFORMATION
|
|
|
|
The editor has been arranged so that certain parameters can be
|
|
altered with little effort. At relative byte 3 in the file there
|
|
is an address which points to the main part of the program, past a
|
|
relocating header.
|
|
|
|
This address is referred to as START and is the address in the file
|
|
when loaded and not necessarily when it is running. At Start there
|
|
is a JMP. After the jump there is an address for use in linking
|
|
macro programs (see EDMAC source).
|
|
|
|
At START + 5, there are characters used for the four cursors
|
|
(Inverse I, F, space, and F; the two F's depend on the state of the
|
|
insert mode). You can substitute any characters you want here
|
|
except that you should not use the range $40-$7F.
|
|
|
|
At START + 9 is the byte $A0 which controls the blink rate.
|
|
Raising this makes the blinking slower. This is desirable with
|
|
speedup cards. A value of 0 gives the slowest rate.
|
|
|
|
At START + 10 a table of command characters used without the OA
|
|
key. Some commands such as up and down arrow keys are handled
|
|
separately and are not in these tables. This table ends with a
|
|
zero. Following this is the table of the key commands used with
|
|
OA, again ending with zero.
|
|
|
|
|
|
23. IMPORTANT NOTE
|
|
|
|
Do not use KEYMAC (instead of EDMAC) when ED is in memory!
|
|
|
|
|
|
24. BASIS 108 VERSION
|
|
|
|
On the BASIS 108 only the ED.16 version has been implemented. The
|
|
Full Screen Editor can be used only if you have a 65802 chip.
|
|
|
|
The 'Open Apple' commands are implemented by 'shift-control'. Thus
|
|
shift-control C is the Cut command, etc. On the BASIS there is a
|
|
limited amount of memory for the clipboard: 16K. If you try to cut
|
|
more than this you get an "Out of Memory" message. Also, you
|
|
cannot Cut out of or paste into memory above $8000. Thus some cuts
|
|
will be disallowed on very large sources. This will also yield the
|
|
Out of Memory message. Because of this limitation, it is a good
|
|
idea to avoid such extremely large source files.
|
|
|
|
There is no version of EDMAC for the BASIS 108.
|
|
|
|
Following the two key tables is the routine that tests for the
|
|
control-shift combination. This is followed by 16 zero bytes to
|
|
accommodate patching, should the user want to change this routine.
|
|
|
|
The routine should return with the Z-flag set (EQ true) if the
|
|
shift-control (or its replacement) is pressed. The command key
|
|
itself is read elsewhere. The X and Y registers must be preserved
|
|
but the A register does not matter. If this routine is changed the
|
|
the 'OA" command table may also have to be changed. The routine is
|
|
located at START + $33 (see technical information) but changes to
|
|
the editor may shift it slightly.
|
|
|
|
To have the Standard Editor installed on boot, delete line 61 from
|
|
the HELLO program (e.g. BRUN ED.16B).
|
|
|
|
|
|
25. ADDENDUM
|
|
|
|
The following addendum is provided for Merlin Pro users that had a
|
|
version prior to 2.34
|
|
|
|
|
|
26. NEW DISK COMMANDS (ProDOS Version)
|
|
|
|
There is an alternate way to set the disk prefix. Press D for disk
|
|
command, then enter PFX= or PFX=1 to specify slot 6, Drive 1, or
|
|
PFX=2 for Slot 6, Drive 2. You can use the new SLOT command to
|
|
specify slots other than 6. SLOT is to be used with the PFX= and
|
|
CATALOG command as described below.
|
|
|
|
|
|
27. CATALOG COMMAND
|
|
|
|
After using the CATALOG command, if you press =, =1, or =2, Merlin
|
|
Pro will set the prefix to the volume found in the specified drive
|
|
and then catalog that volume. If you press OPEN APPLE during a
|
|
catalog, Merlin Pro lists only the TEXT files present in the
|
|
specified directory.
|
|
|
|
If you press OPEN APPLE and CLOSED APPLE at the same time during a
|
|
catalog, Merlin Pro lists only the BIN files present in the
|
|
specified directory. These keys must be pressed and held during
|
|
the entire catalog process.
|
|
|
|
|
|
28. INTERPRETER
|
|
|
|
If the Merlin Pro ProDOS interpreter cannot find a disk volume
|
|
required for linking or assembly, it will ask for the correct
|
|
volume to be inserted. This request can be aborted by pressing
|
|
Control-C or RESET. This only applies to volumes, not files. If
|
|
you want a PUT opcode to prompt you to switch disks, you must use
|
|
the full path name with the PUT opcode.
|
|
|
|
This feature will not work with the Linker when using one disk
|
|
drive. If the present prefix does not correspond to any volume
|
|
online, Merlin Pro will give a VOLUME NOT FOUND error.
|
|
|
|
The PROGRAM TOO LARGE error message has been changed to MEMORY IN
|
|
USE. See page 104 in the main Merlin Pro manual.
|
|
|
|
|
|
29. NEW DISK COMMANDS [DOS 3.3 Version]
|
|
|
|
The DOS 3.3 version does not perform the same volume checking as
|
|
the ProDOS version. However, it is possible to simulate this with
|
|
the following code:
|
|
|
|
LST XXX KBD "INSERT MYFILE DISK AND TYPE 0 <RETURN>"
|
|
PAUSE
|
|
|
|
The assembler will stop at KBD on the first pass and assign a 0
|
|
value to XXX (any dummy label you desire). Pause forces a pause on
|
|
the second pass and LST makes sure you see the KBD line. On the
|
|
second pass, assembly resumes when you press any key (it is not
|
|
necessary to type 0 and press RETURN.)
|
|
|
|
|
|
30. [ProDOS and DOS 3.3 versions]
|
|
|
|
30.1 Merlin Pro and 'SPEED UP' CARDS
|
|
|
|
Merlin Pro will work either in main or auxiliary memory (aux is the
|
|
default). If you are using the main memory version, you will get
|
|
about a 1.6 speed improvement with the SpeeDemon card, and about a
|
|
2x increase with the Accelerator. This is due to the heavy use of
|
|
auxiliary memory during assembly. To select the main memory
|
|
version with DOS 3.3, change the HELLO program to BLOAD MERLIN.X
|
|
instead of MERLIN.
|
|
|
|
To select the main memory version with ProDOS, use a $C3 as the
|
|
fifth byte in the PARMS file. The V-bit of that location is used
|
|
as a flag to instruct the interpreter to make the main memory
|
|
modifications. A + sign after the MERLIN PRO VERSION 2.xx on the
|
|
EXEC mode screen indicates the main memory version is active.
|
|
|
|
Some utilities do not work with the ProDOS main memory version
|
|
because ProDOS is moved to aux memory. Programs that do not switch
|
|
zero pages will work fine. Programs designs to be run in 64K will
|
|
most likely run properly. The Filer and Convert programs run as
|
|
long as the - command is used to run them, and all Merlin Pro
|
|
utilities will work. The QUIT command moves ProDOS back to main
|
|
memory.
|
|
|
|
MACROS
|
|
|
|
Errors in macros no longer abort assembly.
|
|
|
|
|
|
31. LINKER
|
|
|
|
The addresses of all external references are printed whether or not
|
|
they are resolved. If you use the TRON command prior to the LINK
|
|
command, only the errors will be printed in the external list (NOT
|
|
RESOLVED and DUPLICATE errors).
|
|
|
|
|
|
32. LUP
|
|
|
|
In a LUP, if the @ character appears in the label column, it will
|
|
be increased by the loop count (thus A, B, C...). Since it is a
|
|
countdown, these labels go backwards (the last label has the A).
|
|
Thus it is possible to label items inside a LUP. This works with a
|
|
maximum LUP length of 26, or you will get a BAD LABEL error and
|
|
possibly some DUPLICATE LABEL errors.
|
|
|
|
|
|
33. CLOCK
|
|
|
|
This utility is an interrupt driven software clock for the //c
|
|
which lacks a clock to do ProDOS time stamping. It uses the VBLINT
|
|
interrupt provision of the //c. This should be used with caution!
|
|
If overwritten, anything might happen. Press RESET to turn off
|
|
interrupts. The source files are provided in the SOURCE directory
|
|
on the ProDOS version.
|
|
|
|
|
|
34. CONV.LNK.REL [ProDOS only]
|
|
|
|
This makes Merlin Pro's REL files compatible with Apple's RLOAD and
|
|
RBOOT programs. It will convert a Merlin Pro LNK file to Apple's
|
|
REL format (only if there are no externals). You can BRUN it from
|
|
EXEC mode. If there is a source file in memory, it will just
|
|
return, so enter NEW first in the editor.
|
|
|
|
You will be prompted for the path name of the file. The program
|
|
will do the conversion and set up the converted file for Merlin
|
|
Pro's object save command. The CONV.LNK.REL utility does not write
|
|
anything to disk and does not delete or otherwise damage the
|
|
original file.
|
|
|
|
|
|
35. CLR.HI.BIT [ProDOS only]
|
|
|
|
This converts a source file in memory to positive Ascii so the file
|
|
can be sent to other programs that expect data in this form, such
|
|
as Apple's ProDOS ED/ASM. To use it, just BRUN UTIL/CLR.HI.BIT and
|
|
the save the source. CAUTION: If you re-enter the Editor, the
|
|
source will be deleted from memory, since the Editor does not like
|
|
this format.
|
|
|
|
|
|
36. 65C02 SPECIAL NOTES
|
|
|
|
To assemble or disassemble 65C02 code with the older //e ROMs, you
|
|
must first BRUN MON.65C92. This must be done from BASIC if you are
|
|
using the DOS 3.3 version. This utility is not needed with the
|
|
newer //e of //c ROMs.
|
|
|
|
With both versions, you MUST use the XC opcode (see page 75 for
|
|
details) as the very first line in your code. This flag tells
|
|
Merlin Pro you are using 65C02 or 65802 opcodes.
|
|
|
|
You will have problems if you do not use the standard 65C02 opcodes
|
|
as specified by GTE, NCR, and Rockwell. In creating the //c
|
|
Reference manual, Apple apparently did not check with the
|
|
manufactures regarding the final set of opcodes. Thus, Apple
|
|
refers to three non-standard opcodes.
|
|
|
|
|
|
For example, to increment the Accumulator, you must use INC with no
|
|
address argument, not in a. Branch on Bit Set (BBS) and Branch on
|
|
Bit Reset (BBR) are also non-standard opcodes and are not supported
|
|
by the NCR and GTE chips.
|
|
|
|
|
|
37. MANUAL CORRECTIONS and ADDITIONAL INFORMATION
|
|
|
|
37.1 (Page 109)
|
|
|
|
37.1.1 Configuration (ProDOS version)
|
|
|
|
Configuration data is kept in a file called PARMS which is loaded
|
|
when the assembler is run. To change the data in the source file
|
|
called PARMS.S, with the prefix set to /MERLIN/, type L to load
|
|
source. Then type SOURCE/PARMS at the prompt. When you are done
|
|
making changes, reassemble the file. Use S to SAVE the source code
|
|
as /MERLIN/SOURCE/PARMS (Merlin Pro adds the .S automatically).
|
|
Then save the object code as /MERLIN/PARMS by using the O command.
|
|
|
|
37.2 (page 117)
|
|
|
|
37.2.1 SOURCEOR
|
|
|
|
37.2.1.1 Introduction
|
|
|
|
SOURCEROR is a sophisticated and easy to use co-resident
|
|
disassembler designed to create MERLIN source files out of binary
|
|
programs, usually in a matter of minutes. SOURCEROR disassembles
|
|
6502, 64C02, 65802, and Sweet 16 code.
|
|
|
|
37.2.1.2 Using SOURCEROR
|
|
|
|
1. [DOS 3.3 ] From the EXEC mode, type C to Catalog Merlin Pro.
|
|
At the command prompt, type BRUN SOURCEROR. [ProDOS - see
|
|
note on page 1 of this manual] From the EXEC mode, type D for
|
|
DISK COMMAND. At the prompt, type BRUN/MERLIN/SOURCEROR/OBJ.
|
|
|
|
2. From the EDIT mode, use ESC CTRL-Q (not Escape-4) to set the
|
|
screen to 40 columns, then type USER. If the screen is in 80
|
|
columns, the USER command will be ignored.
|
|
|
|
3. You will be asked if you want to load an object file to be
|
|
disassembled. If you have loaded the object file prior to
|
|
using SOURCEROR, type N.
|
|
|
|
If yes, type Y and enter the filename. It will load and show
|
|
the load address and end of program address. Note: If you
|
|
type CTRL-S after the filename, files using a RAM version of
|
|
Sweet 16 can be disassembled.
|
|
|
|
4. Next, you are asked to press RETURN if the program to be
|
|
disassembled is at its original (running) location, or you
|
|
must specify, in hex, the present location of the file to be
|
|
disassembled. You will then be asked to give the ORIGINAL
|
|
location of the program.
|
|
|
|
5. Finally, the screen displays the disassembly commands. You
|
|
may begin disassembling now, or use any of the other commands
|
|
shown. Your first command MUST include a hex address.
|
|
Thereafter, this is optional.
|
|
|
|
37.2.1.3 Bird Tracks
|
|
|
|
Take the situation where you have stored a file that runs at
|
|
address "X" and because it interferes with Merlin memory usage or
|
|
whatever, you have stored it with a different loading address "Y."
|
|
If you then answer yes to the above the program will be loaded at
|
|
"Y." This will cause the disassembly to be messed up. The way
|
|
around all this is to either load the file from the command mode or
|
|
allow Merlin to load the file and accept Merlin's decisions. You
|
|
then disassemble no more than one "L" of program. Q)uit and be
|
|
returned to the editor where you once more enter Sourceror where
|
|
you state that the program is already in memory at address "Y"
|
|
*BUT* it normally resides at address "X."
|
|
|
|
37.2.2 (Page 125)
|
|
|
|
4. Type the following to print the listing to your printer:
|
|
|
|
PRTR 1 "I80N" APPLESOFT LISTING
|
|
|
|
ASM
|
|
|
|
37.2.3 (page 126)
|
|
|
|
|
|
5. Issue the PRTR command: PRTR 1 "I80N" APPLESOFT XREF
|
|
|
|
6. Issue the following command: USER 3
|
|
|
|
37.2.4 (Page 135)
|
|
|
|
3. Enter the Editor and type in the appropriate USER command:
|
|
|
|
37.2.5 (Page 137: Last sentence in step 3)
|
|
|
|
In this case enter the following instead if the USER command: PRTR
|
|
8 "path name" page header (quotes only for path name).
|
|
|
|
37.2.6 MERLIN PRO & SOURCEROR FP
|
|
|
|
1) Make a copy of the Sourceror.FP diskette as per the warning on
|
|
page 124 in the Merlin Pro manual.
|
|
|
|
2) Boot the Merlin Pro ProDOS diskette.
|
|
|
|
3) Insert the Sourceror.FP diskette.
|
|
|
|
4) Press D for Disk command. At the prompt type:
|
|
|
|
BRUN/APPLESOFT/SOURCEROR.FP
|
|
|
|
5) From the main menu, type L to LOAD, then:
|
|
|
|
/APPLESOFT/APPLESOFT
|
|
|
|
6) Enter the Editor, and type:
|
|
PRTR1""APPLESOFT LISTING
|
|
|
|
7) Then type:
|
|
|
|
ASM
|
|
|
|
N (This is not needed if you have defeated the
|
|
stupid "Update" prompt.)
|
|
|
|
8) You'll be prompted as follows:
|
|
|
|
Print DO OFF areas ? (Y/N) (You may answer Y or N)
|
|
|
|
Assemble new ROM version ? (Y/N) If you answer N, you'll get the
|
|
][+ version.)
|
|
(If you answer Y, You'll be prompted with:)
|
|
|
|
Assemble //c version ? (Y/N)
|
|
(answer Y for the //c & enhanced //e version.)
|
|
(Answer N for the original //e version.)
|
|
|
|
|
|
37.2.7 SOURCER.FP & XREF LISTING
|
|
|
|
|
|
1) Boot the Merlin Pro ProDOS diskette.
|
|
|
|
2) Insert the Sourceror.FP diskette
|
|
|
|
3) Type L to LOAD, then: /APPLESOFT/APPLESOFT
|
|
|
|
4) Type Q to quit the Editor, & return to the EXEC mode.
|
|
|
|
5) Insert the Merlin Pro ProDOS diskette.
|
|
|
|
6) Press D for Disk command, then type: BRUN/MERLIN/UTIL/XREFA
|
|
|
|
7) Enter the editor then type: PRTR1""APPLESOFT XREF
|
|
|
|
8) Then type: USER 3
|
|
|
|
9) Then type: ASM
|
|
|
|
N (Not needed if update prompt is defeated)
|
|
|
|
10) You'll be prompted as follows: Print DO OFF areas ? (Y/N)
|
|
(You may answer Y or N Be smart, answer Y)
|
|
|
|
Assemble new ROM version ? (Y/N) (If you answer N, you'll get the
|
|
][+ version) (If you answer Y, you'll be prompted with:)
|
|
|
|
Assemble /c version ? (Y/N)
|
|
(Answer Y for the //c and Enhanced //e version.)
|
|
(Answer N for the original //e version)
|
|
|
|
11) Insert the Sourceror.FP diskette at the prompt:
|
|
|
|
Insert /APPLESOFT/APPLESOFT.A.S
|
|
|
|
12) Press RETURN and you're done.
|