CHAPTER 2 - Screen Editor: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
Here begins Part 2 of the extensive Devpac Docs. Again, it was typed by the Animal House and edited by Sewer Rat.
<pre>
 
   
  +
==CHAPTER 2 - SCREEN EDITOR==
Here begins Part 2 of the extensive Devpac Docs. Again, it was
 
typed by the Animal House and edited by Sewer Rat.
 
   
  +
===INTRODUCTION===
CHAPTER 2
 
SCREEN EDITOR
 
   
  +
To enter and assemble your programs you need an editor of some sort and an assembler. GenST combines both of these functions together in one integrated program, giving a GEM-driven full-screen editor and a fast, full specification assembler. It also allows you to run your assembled programs directly from memory without having to quit the program or do a disk access and to access a debugger at the press of a key. The fact that all these features are combined in one program means that the correcting errors and making changes is as fast as possible without the need for slow disk accesses and other programs.
INTRODUCTION
 
   
To enter and assemble your programs you need an editor of
+
This chapter details the use of the editor and how to assemble programs - it does not detail the assembler or the debugger themselves, they are covered in the following chapters.
some sort and an assembler. GenST combines both of these functions
 
together in one integrated program, giving a GEM - driven full-
 
screen editor and a fast, full specification assembler. It also
 
allows you to run your assembled programs directly from memory
 
without having to quit the program or do a disk access and to
 
access a debugger at the press of a key. The fact that all these
 
features are combined in one program means that the correcting
 
errors and making changes is as fast as possible without the need
 
for slow disk accesses and other programs.
 
This chapter details the use of the editor and how to
 
assemble programs - it does not detail the assembler or the
 
debugger themselves, they are covered in the following chapters.
 
To run GenST, double click on the GENST2.PRG icon from the
 
Desktop. When it has loaded a menu bar will appear and an empty
 
window will open, ready for you to enter and assemble your
 
programs.
 
   
  +
To run GenST, double click on the GENST2.PRG icon from the Desktop. When it has loaded a menu bar will appear and an empty window will open, ready for you to enter and assemble your programs.
   
THE EDITOR
 
   
  +
===THE EDITOR===
A text editor is a program which allows you to enter and
 
  +
alter lines of text, store them on disk, and load them back again.
 
  +
A text editor is a program which allows you to enter and alter lines of text, store them on disk, and load them back again. There are two types of text editors: line editors, which treat each line separately and can be very tricky to use, and screen editors, which display your text a screen at a time. The latter tend to be much easier to use.
There are two types of text editors: line editors, which treat
 
  +
each line separately and can be very tricky to use, and screen
 
  +
The editor section of GenST is a screen editor which allows you to enter and edit text and save and load from disk, as you would expect. It also lets you print all or some of your text, search and replace text patterns and use any of the ST's desk-accessories. It is GEM-based, which means it uses all the user-friendly features of GEM programs that you have become familiar with on your computer such as windows, menus and mice. However, if you're a die-hard, used to the hostile world of computers before the advent of WIMP's, you'll be pleased to know that you can do practically everything you'll want to do from the keyboard without having to touch a mouse.
editors, which display your text a screen at a time. The latter
 
  +
tend to be much easier to use.
 
  +
The editor is 'RAM-based', which means that the file you are editing stays in memory for the whole time, so you don't have to wait while your disk grinds away loading different sections of the file as you edit. As the ST range has so much memory, the size limitations often found in older computer editors don't exist with GenST; if you have enough memory you can edit files of over 300k (though make sure your disk is large enough to cope with saving it if you do!). As all editing operations, including things like searching, are RAM based they act blindingly quickly.
The editor section of GenST is a screen editor which allows
 
  +
you to enter and edit text and save and load from disk, as you
 
  +
When you have typed in your program it is not much use if you are unable to save it to disk, so the editor has a comprehensive range of save and load options, allowing you to save all or part of the text and to load other files into the middle of the current one, for example.
would expect. It also lets you print all or some of your text,
 
  +
search and replace text patterns and use any of the ST's desk-
 
  +
To get things to happen in the editor, there are various methods available to you. Features may be accessed in one or more of the following ways;
accessories. It is GEM-based, which means it uses all the user-
 
friendly features of GEM programs that you have become familiar
 
with on your computer such as windows, menus and mice. However, if
 
you're a die-hard, used to the hostile world of computers before
 
the advent of WIMP's, you'll be pleased to know that you can do
 
practically everything you'll want to do from the keyboard without
 
having to touch a mouse.
 
The editor is 'RAM-based', which means that the file you are
 
editing stays in memory for the whole time, so you don't have to
 
wait while your disk grinds away loading different sections of the
 
file as you edit. As the ST range has so much memory, the size
 
limitations often found in older computer editors don't exist with
 
GenST; if you have enough memory you can edit files of over 300k
 
(though make sure your disk is large enough to cope with saving it
 
if you do !). As all editing operations, including things like
 
searching, are RAM based they act blindingly quickly.
 
When you have typed in your program it is not much use if you
 
are unable to save it to disk, so the editor has a comprehensive
 
range of save and load options, allowing you to save all or part
 
of the text and to load other files into the middle of the current
 
one, for example.
 
To get things to happen in the editor, there are various
 
methods available to you. Features may be accessed in one or more
 
of the following ways;
 
 
 
Using a single key, such as a Function or cursor key:
+
* Using a single key, such as a Function or cursor key:
 
 
Clicking on a menu item, such as SAVE:
+
* Clicking on a menu item, such as SAVE:
 
 
Using a menu shortcut, by pressing the Alternate key
+
* Using a menu shortcut, by pressing the Alternate key (subsequently referred to as Alt) in conjunction with another such as Alt-F for Find:
(subsequently referred to as Alt) in conjunction with
 
another such as Alt-F for Find:
 
 
 
Using the control key (subsequently referred to as Ctrl) in
+
* Using the control key (subsequently referred to as Ctrl) in conjunction with another, such as Ctrl-A for cursor word left:
  +
conjunction with another, such as Ctrl-A for cursor word
 
  +
* Clicking on the screen, such as a scroll bar.
left:
 
  +
  +
The menu short cuts have been chosen to be easy and obvious to remember, while the Ctrl commands are based on those used in Wordstar, and many other compatible editors since.
  +
  +
If at any time you get stuck, pressing the HELP key will bring up a comprehensive display of the keys for functions not visible in menus.
  +
  +
  +
===A FEW WORDS ABOUT DIALOGUE BOXES===
   
  +
The editor makes extensive use of dialogue boxes, so it is worth recapping how to use them, particularly for entering text. The editor's dialogue box contains buttons, radio buttons, and editable text.
Clicking on the screen, such as a scroll bar.
 
   
  +
Buttons may be clicked on with the mouse and cause the dialogue box to go away. Usually there is a default button, shown by having a wider border than the others. Pressing RETURN on the keyboard is equivalent to clicking on the default button.
The menu short cuts have been chosen to be east and obvious
 
to remember, while the Ctrl commands are based on those used in
 
Wordstar, and many other compatible editors since.
 
If at any time you get stuck, pressing the HELP key will
 
bring up a comprehensive display of the keys for functions not
 
visible in menus.
 
   
  +
Radio buttons are groups of buttons of which only one may be selected at a time - clicking on on automatically de-selects all the others.
   
  +
Editable text is shown with a dotted line, and a vertical bar marks the cursor position. Characters may be typed in and corrected using the Backspace, Delete and cursor keys. You can clear the whole edit field by pressing the ESC key. If there is more than one text field in a dialogue box, you can move between them using the up and down cursor keys or by clicking near them with the mouse.
A FEW WORDS ABOUT DIALOGUE BOXES
 
   
  +
Some dialogue boxes allow only a limited range of characters to be typed into them - for example the Goto Line dialogue box only allows numeric characters (digits) to be entered.
The editor makes extensive use of dialogue boxes, so it is
 
worth recapping how to use them, particularly for entering text.
 
The editor's dialogue box contains buttons, radio buttons, and
 
editable text.
 
Buttons may be clicked on with the mouse and cause the
 
dialogue box to go away. Usually there is a default button, shown
 
by having a wider border than the others. Pressing RETURN on the
 
keyboard is equivalent to clicking on the default button.
 
Radio buttons are groups of buttons of which only one may be
 
selected at a time - clicking on on automatically de-selects all
 
the others.
 
Editable text is shown with a dotted line, and a vertical bar
 
marks the cursor position. Characters may be typed in and
 
corrected using the Backspace, Delete and cursor keys. You can
 
clear the whole edit field by pressing the ESC key. If there is
 
more than one text field in a dialogue box, you can move between
 
them using the up and down cursor keys or by clicking near them
 
with the mouse.
 
Some dialogue boxes allow only a limited range of characters
 
to be typed into them - for example the Goto Line dialogue box
 
only allows numeric characters (digits) to be entered.
 
   
ENTERING TEXT AND MOVING THE CURSOR
+
===ENTERING TEXT AND MOVING THE CURSOR===
 
 
Having loaded GenST, you will be presented with an empty
+
Having loaded GenST, you will be presented with an empty window with a status line at the top and a flashing black block, which is the cursor, in the top left-hand corner.
window with a status line at the top and a flashing black block,
 
which is the cursor, in the top left-hand corner.
 
The status line contains information about the cursor
 
position in the form of Line Column offsets as well as the number
 
of bytes of memory which are free to store your text. Initially
 
this is displayed as 59980, as the default text size is 60000
 
bytes. You may change this default if you wish, together with
 
various other options, by selecting Preferences, described later.
 
The missing 20 bytes are used by the editor for internal
 
information. The rest of the status line area is used for error
 
messages, which will usually be accompanied with a 'ping' sound to
 
alert you. Any message that gets printed will be removed
 
subsequently when you press a key.
 
To enter text, you type on the keyboard. As you press a key
 
it will be shown on the screen and the cursor will be advanced
 
along the line. If you are a good typist you may be able to type
 
faster than the editor can re-display the line; if so, don't
 
worry, as the program will not lose the keystrokes and will catch
 
up when you pause. At the end of each line you press the Return
 
key (or the Enter key on the numeric pad) to start the next line.
 
You can correct your mistakes by pressing the Backspace key, which
 
deletes the character to the left of the cursor, or the Delete
 
key, which removes the character the cursor is over.
 
The main advantage of a computer editor as opposed to a
 
normal typewriter, is its ability to edit things you typed a long
 
time ago. The editor's large range of options allow complete
 
freedom to move around your text at will.
 
   
  +
The status line contains information about the cursor position in the form of Line Column offsets as well as the number of bytes of memory which are free to store your text. Initially this is displayed as 59980, as the default text size is 60000 bytes. You may change this default if you wish, together with various other options, by selecting Preferences, described later. The missing 20 bytes are used by the editor for internal information. The rest of the status line area is used for error messages, which will usually be accompanied with a 'ping' sound to alert you. Any message that gets printed will be removed subsequently when you press a key.
   
  +
To enter text, you type on the keyboard. As you press a key it will be shown on the screen and the cursor will be advanced along the line. If you are a good typist you may be able to type faster than the editor can re-display the line; if so, don't worry, as the program will not lose the keystrokes and will catch up when you pause. At the end of each line you press the Return key (or the Enter key on the numeric pad) to start the next line. You can correct your mistakes by pressing the Backspace key, which deletes the character to the left of the cursor, or the Delete key, which removes the character the cursor is over.
CURSOR KEYS
 
   
  +
The main advantage of a computer editor as opposed to a normal typewriter, is its ability to edit things you typed a long time ago. The editor's large range of options allow complete freedom to move around your text at will.
To move the cursor around the text to correct errors or enter
 
new characters, you use the cursor keys, (the arrows). If you move
 
the cursor past the right-hand end of the line this won't add
 
anything to your text, but it you type some text at the point the
 
editor will automatically add the text to the real end of the
 
line. If you type in long lines the window display will scroll
 
sideways if necessary.
 
If you cursor up at the top of the window the display will
 
either scroll down if there is a previous line, or print the
 
message Top of file in the status line. Similarly if you cursor
 
down off the bottom of the window the display will either scroll
 
up if there is a following line, or print the message End of file.
 
You can move the cursor on a character basis by clicking on
 
the arrow boxes at the end of the horizontal and vertical scroll
 
bars.
 
For those of you used to Wordstar, the keys Ctrl-S, Ctrl-D,
 
Ctrl-E and Ctrl-X work in the same way as the cursor keys.
 
To move immediately to the start of the current line, press
 
Ctrl (left arrow), to move to the end of the current line press
 
Ctrl (right arrow).
 
To move the cursor a word to the left, press Shift (left
 
arrow) and to the right press Shift (right arrow). You cannot move
 
a cursor past the end of a line with this. A word is defined as
 
anything surrounded by a space, a tab or a start or end of line.
 
The keys Ctrl-A and Ctrl-F also move the cursor left and sight on
 
a word basis.
 
To move the cursor a page up, you can click on the upper grey
 
part of the vertical scroll bar, or press Ctrl-R or Shift (up
 
arrow). To move the cursor a page down, you can click on the lower
 
grey part of the scroll bar, or press Ctrl-C or Shift (down
 
arrow).
 
If you want to move the cursor to a specific position on the
 
screen you move the mouse pointer to the required place and click
 
(There is no Wordstar equivalent for this feature!)
 
   
TAB KEY
 
   
  +
===CURSOR KEYS===
The Tab key inserts a special character (ASCII code 9) into your
 
text, which on the screen looks like a number of spaces, but is
 
rather different. Pressing Tab aligns the cursor onto the next
 
'multiple of 8' column, so if you press it at the start of a line
 
(column 1) the cursor moves to the next multiple of 8 + 1, which
 
is column 9. Tabs are very useful indeed for making items line up
 
vertically and its main use in GenST is for making instructions
 
line up. When you delete a tab the line closes up as if a number
 
of spaces had been removed. The advantage of tabs is that they
 
only take up 1 byte of memory, bat can show on screen as many
 
more, allowing you to tabulate your program neatly. You can change
 
the tab size before or after loading GenST using the Preferences
 
command described shortly.
 
   
  +
To move the cursor around the text to correct errors or enter new characters, you use the cursor keys, (the arrows). If you move the cursor past the right-hand end of the line this won't add anything to your text, but it you type some text at the point the editor will automatically add the text to the real end of the line. If you type in long lines the window display will scroll sideways if necessary.
   
  +
If you cursor up at the top of the window the display will either scroll down if there is a previous line, or print the message Top of file in the status line. Similarly if you cursor down off the bottom of the window the display will either scroll up if there is a following line, or print the message End of file.
BACKSPACE KEY
 
   
  +
You can move the cursor on a character basis by clicking on the arrow boxes at the end of the horizontal and vertical scroll bars.
The Backspace key removes the character to the left of the
 
cursor. If you backspace at the very beginning of a line it will
 
remove the 'invisible' carriage return and join the line to the
 
end of the previous line. Backspacing when the cursor is past the
 
end of the line will delete the last character on the line, unless
 
the line is empty in which case it will re-position the cursor on
 
the left of the screen.
 
   
  +
For those of you used to Wordstar, the keys Ctrl-S, Ctrl-D, Ctrl-E and Ctrl-X work in the same way as the cursor keys.
   
  +
To move immediately to the start of the current line, press Ctrl (left arrow), to move to the end of the current line press Ctrl (right arrow).
DELETE KEY
 
   
  +
To move the cursor a word to the left, press Shift (left arrow) and to the right press Shift (right arrow). You cannot move a cursor past the end of a line with this. A word is defined as anything surrounded by a space, a tab or a start or end of line. The keys Ctrl-A and Ctrl-F also move the cursor left and sight on a word basis.
The Delete key removes the character under the cursor and has
 
no effect if the cursor is past the end of the current line.
 
   
  +
To move the cursor a page up, you can click on the upper grey part of the vertical scroll bar, or press Ctrl-R or Shift (up arrow). To move the cursor a page down, you can click on the lower grey part of the scroll bar, or press Ctrl-C or Shift (down arrow).
   
  +
If you want to move the cursor to a specific position on the screen you move the mouse pointer to the required place and click (There is no Wordstar equivalent for this feature!)
GOTO A PARTICULAR LINE
 
   
  +
===TAB KEY===
To move the cursor to a particular line in the text, click on
 
Goto line.. from the Options menu, or press Alt-G. A dialogue box
 
will appear allowing you to enter the required line number. Press
 
Return or click on OK button to go to the line or click on Cancel
 
to abort the operation. After clicking on OK the cursor will move
 
to the specific line, re-displaying if necessary, or give error
 
End of file if the line does't' exist.
 
Another fast way of moving around the file is by dragging the
 
slider on the vertical scroll bar, which works in the usual GEM-
 
like fashion.
 
   
  +
The Tab key inserts a special character (ASCII code 9) into your text, which on the screen looks like a number of spaces, but is rather different. Pressing Tab aligns the cursor onto the next 'multiple of 8' column, so if you press it at the start of a line (column 1) the cursor moves to the next multiple of 8 + 1, which is column 9. Tabs are very useful indeed for making items line up vertically and its main use in GenST is for making instructions line up. When you delete a tab the line closes up as if a number of spaces had been removed. The advantage of tabs is that they only take up 1 byte of memory, bat can show on screen as many more, allowing you to tabulate your program neatly. You can change the tab size before or after loading GenST using the Preferences command described shortly.
   
GOTO TO TOP OF FILE
 
   
  +
===BACKSPACE KEY===
To move to the top of the text, click on Goto Top from the
 
Options menu, or press Alt-T. The screen will be re-drawn if
 
required starting from line 1.
 
   
  +
The Backspace key removes the character to the left of the cursor. If you backspace at the very beginning of a line it will remove the 'invisible' carriage return and join the line to the end of the previous line. Backspacing when the cursor is past the end of the line will delete the last character on the line, unless the line is empty in which case it will re-position the cursor on the left of the screen.
   
GOTO END OF TEXT
 
   
  +
===DELETE KEY===
To move the cursor to the start of the very last line of
 
text, click on Goto Bottom, or press Alt-B
 
   
  +
The Delete key removes the character under the cursor and has no effect if the cursor is past the end of the current line.
QUITTING GENST
 
  +
  +
  +
===GOTO A PARTICULAR LINE===
  +
  +
To move the cursor to a particular line in the text, click on Goto line.. from the Options menu, or press Alt-G. A dialogue box will appear allowing you to enter the required line number. Press Return or click on OK button to go to the line or click on Cancel to abort the operation. After clicking on OK the cursor will move
  +
to the specific line, re-displaying if necessary, or give error End of file if the line doesn't exist.
  +
  +
Another fast way of moving around the file is by dragging the slider on the vertical scroll bar, which works in the usual GEM-like fashion.
  +
  +
  +
===GOTO TO TOP OF FILE===
  +
  +
To move to the top of the text, click on Goto Top from the Options menu, or press Alt-T. The screen will be re-drawn if required starting from line 1.
  +
  +
  +
===GOTO END OF TEXT===
  +
  +
To move the cursor to the start of the very last line of text, click on Goto Bottom, or press Alt-B
  +
  +
===QUITTING GENST===
 
 
  +
To leave GenST, click on Quit from the File menu, or press Alt-Q. If changes have been made to the text which have not been saved to disk, an alert box will appear asking for confirmation. Clicking on Cancel will return you to the editor, while clicking on OK will discard the changes and return you to the Desktop.
To leave GenST, click on Quit from the File menu, or press
 
Alt-Q. If changes have been made to the text which have not been
 
saved to disk, an alert box will appear asking for confirmation.
 
Clicking on Cancel will return you to the editor, while clicking
 
on OK will discard the changes and return you to the Desktop.
 
   
DELETING TEXT
+
===DELETING TEXT===
   
DELETE LINE.
+
====DELETE LINE.====
   
The current line can be deleted from the text by pressing
+
The current line can be deleted from the text by pressing Ctrl-Y.
Ctrl-Y.
 
   
   
DELETE TO END OF LINE.
+
====DELETE TO END OF LINE.====
   
The text from the cursor position to the end of the current line
+
The text from the cursor position to the end of the current line can be deleted by pressing Ctrl-Q. (This is equivalent to the Wordstar sequence Ctrl-Q Y).
can be deleted by pressing Ctrl-Q. (This is equivalent to the
 
Wordstar sequence Ctrl-Q Y).
 
   
   
UNDELETE LINE
+
====UNDELETE LINE====
   
When a line is deleted using either of the above commands it
+
When a line is deleted using either of the above commands it is preserved in an internal buffer, and can be re-inserted into the text by pressing Ctrl-U, or the Undo key. This can be done as many times as required, particularly useful for repeating similar lines or swapping over individual lines.
is preserved in an internal buffer, and can be re-inserted into
 
the text by pressing Ctrl-U, or the Undo key. This can be done as
 
many times as required, particularly useful for repeating similar
 
lines or swapping over individual lines.
 
   
   
DELETE ALL TEXT
+
====DELETE ALL TEXT====
   
  +
To clear out the current text, click on Clear from the File menu, or press Alt-C. If you have made any changes to the text that have not been saved onto the disk, a confirmation is required and the requisite alert box will appear. Clicking on OK will delete the text, or Cancel will abort the operation.
To clear out the current text, click on Clear from the File
 
menu, or press Alt-C. If you have made any changes to the text
 
that have not been saved onto the disk, a confirmation is required
 
and the requisite alert box will appear. Clicking on OK will
 
delete the text, or Cancel will abort the operation.
 
   
DISK OPERATIONS
+
===DISK OPERATIONS===
   
GEM FILE SELECTOR BOX
+
====GEM FILE SELECTOR BOX====
   
(This section has been left out as it is common knowledge to
+
(This section has been left out as it is common knowledge to anyone who uses their ST, if you want to read it, it is the same details as contained in your Atari manual)
anyone who uses their ST, if you want to read it, it is the same
 
details as contained in your Atari manual)
 
   
** In all pre-blitter versions of the ST ROM's there is a bug
+
** In all pre-blitter versions of the ST ROM's there is a bug which means that if you press _ (underline) when the cursor is in the Directory string the machine will crash!!
which means that if you press _ (underline) when the cursor is in
 
the Directory string the machine will crash!!
 
   
SAVING TEXT
+
===SAVING TEXT===
   
  +
To save the text you are currently editing, click on Save As from the File Menu, or press Alt-S. The standard GEM File Selector will appear, allowing you to select a suitable disk and filename. Clicking OK or pressing Return will then save the file onto the disk. If an error occurs a dialogue box will appear showing a TOS
To save the text you are currently editing, click on Save As
 
  +
error number, the exact meaning of which can be found in Appendix A.
from the File Menu, or press Alt-S. The standard GEM File Selector
 
will appear, allowing you to select a suitable disk and filename.
 
Clicking OK or pressing Return will then save the file onto the
 
disk. If an error occurs a dialogue box will appear showing a TOS
 
error number, the exact meaning of which can be found in Appendix
 
A.
 
If you click on Cancel the text will not be saved. Normally
 
if a file exists with the same name it will be deleted and
 
replaced with the new version, but if Backups are selected from
 
the Preferences options then any existing file will be renamed
 
with extension .BAK (deleting any existing .BAK file) before the
 
new version is saved.
 
   
  +
If you click on Cancel the text will not be saved. Normally if a file exists with the same name it will be deleted and replaced with the new version, but if Backups are selected from the Preferences options then any existing file will be renamed with extension .BAK (deleting any existing .BAK file) before the new version is saved.
   
SAVE
 
   
  +
====SAVE====
To save the file you can click on the Save option on the File
 
menu, or press Shift-Alt-S, and it will use the old name.
 
   
  +
To save the file you can click on the Save option on the File menu, or press Shift-Alt-S, and it will use the old name.
   
LOADING TEXT
 
   
  +
===LOADING TEXT===
To load a new file, click on Load from the File menu, or
 
press Alt-L.
 
   
  +
To load a new file, click on Load from the File menu, or press Alt-L.
   
INSERTING TEXT
 
   
  +
====INSERTING TEXT====
If you want to read a file from disk and insert it at the
 
current position in your text click on Insert File from the File
 
menu or press Alt-L
 
   
  +
If you want to read a file from disk and insert it at the current position in your text click on Insert File from the File menu or press Alt-L
   
SEARCHING AND REPLACING TEXT
 
   
  +
===SEARCHING AND REPLACING TEXT===
To find a particular section of text click on Find from the
 
Search menu, or press Alt-F. A dialogue box will appear, allowing
 
you to enter the Find and Replace strings. If you click on Cancel,
 
no action will be taken; if you click Next (or press Return) the
 
search will start forwards, while clicking on Previous will start
 
the search backwards. If you do not wish to replace, leave the
 
Replace string empty. If the search was successful, the screen
 
will be re-drawn at that point with the cursor positioned at the
 
start of the string. If the search string could not be found , the
 
message Not Found will appear in the status area and the cursor
 
will remain unmoved. By default the search is always case-
 
independant, so for example if you enter the search string as test
 
you could find the words TEST, Test or test. If you click on the
 
Upper & Lower case Different button the search will be case
 
dependant.
 
To find the next occurrence of the string click on Find Next
 
from the Search menu, or press Alt-F. The search starts at the
 
position just before the cursor.
 
To search for the previous occurrence of the string click on
 
Find Previous from the Search menu, or press Alt-P.
 
Having found an occurrence of the required text, it can be
 
replaced with the Replace string by clicking on Replace from the
 
Search menu, or pressing Alt-R. Having replaced it, the editor
 
will then search for the next occurrence.
 
If you wish to replace every occurrence of the find string
 
with the replace string from the cursor position onwards, click on
 
Replace All from the Search menu. During the global replace the
 
ESC key can be used to abort and the status area will show how
 
many replacements were made. There is deliberately no keyboard
 
equivalent for this to prevent it being chosen accidentally.
 
   
  +
To find a particular section of text click on Find from the Search menu, or press Alt-F. A dialogue box will appear, allowing you to enter the Find and Replace strings. If you click on Cancel, no action will be taken; if you click Next (or press Return) the search will start forwards, while clicking on Previous will start the search backwards. If you do not wish to replace, leave the Replace string empty. If the search was successful, the screen will be re-drawn at that point with the cursor positioned at the start of the string. If the search string could not be found , the message Not Found will appear in the status area and the cursor will remain unmoved. By default the search is always case-independant, so for example if you enter the search string as test you could find the words TEST, Test or test. If you click on the Upper & Lower case Different button the search will be case dependant.
   
  +
To find the next occurrence of the string click on Find Next from the Search menu, or press Alt-F. The search starts at the position just before the cursor.
BLOCK COMMANDS
 
   
  +
To search for the previous occurrence of the string click on Find Previous from the Search menu, or press Alt-P.
A Block is a marked section of text which may be copied to
 
another section, deleted, printed or saved onto disk. The function
 
keys are used to control blocks.
 
   
  +
Having found an occurrence of the required text, it can be replaced with the Replace string by clicking on Replace from the Search menu, or pressing Alt-R. Having replaced it, the editor will then search for the next occurrence.
   
  +
If you wish to replace every occurrence of the find string with the replace string from the cursor position onwards, click on Replace All from the Search menu. During the global replace the ESC key can be used to abort and the status area will show how many replacements were made. There is deliberately no keyboard equivalent for this to prevent it being chosen accidentally.
MARKING A BLOCK
 
   
The start of a block is marked by moving the cursor to the
 
required place and pressing key F1. The end of a block is marked
 
by moving the cursor and pressing key F2. The start and end of the
 
block do not have to be marked in a specific order - if it is more
 
convenient you may mark the end of the block first.
 
A marked block is highlighted by showing the text in reverse.
 
While you are editing a line that is within a block this
 
highlighting will not be shown but will be re-displayed when you
 
leave that line or choose a command.
 
   
  +
===BLOCK COMMANDS===
   
  +
A Block is a marked section of text which may be copied to another section, deleted, printed or saved onto disk. The function keys are used to control blocks.
SAVING A BLOCK
 
   
Once a block has been marked, it can be saved by pressing key
 
F3. If no block is marked, the message What blocks! will appear.
 
If the start of the block is textually after its end the message
 
Invalid block! will appear. Both errors abort the command.
 
Assuming a valid block has been marked, the standard GEM file
 
selector will appear, allowing you to select a suitable disk and
 
filename. If you save the block with a name that already exists
 
the old version will be overwritten - no backups are made with
 
this command.
 
   
  +
====MARKING A BLOCK====
   
  +
The start of a block is marked by moving the cursor to the required place and pressing key F1. The end of a block is marked by moving the cursor and pressing key F2. The start and end of the block do not have to be marked in a specific order - if it is more convenient you may mark the end of the block first.
COPYING A BLOCK
 
   
  +
A marked block is highlighted by showing the text in reverse. While you are editing a line that is within a block this highlighting will not be shown but will be re-displayed when you leave that line or choose a command.
A marked block may be copied, memory permitting, to another
 
part of the text by moving the cursor to where you want the block
 
copied and pressing key F4. If you try to copy a block into a part
 
of itself, the message Invalid block will appear and the copy will
 
be aborted.
 
   
   
DELETING A BLOCK
+
====SAVING A BLOCK====
   
  +
Once a block has been marked, it can be saved by pressing key F3. If no block is marked, the message What blocks! will appear. If the start of the block is textually after its end the message Invalid block! will appear. Both errors abort the command. Assuming a valid block has been marked, the standard GEM file
A marked block may be deleted from the text by pressing
 
  +
selector will appear, allowing you to select a suitable disk and filename. If you save the block with a name that already exists the old version will be overwritten - no backups are made with this command.
Shift-F5. The shift key is deliberately required to prevent it
 
being used accidentally. A deleted block is remembered, memory
 
permitting, in the block buffer, for later use.
 
   
** This is on a different key to that used in GenST in versions
 
before 2.0.
 
   
  +
====COPYING A BLOCK====
   
  +
A marked block may be copied, memory permitting, to another part of the text by moving the cursor to where you want the block copied and pressing key F4. If you try to copy a block into a part of itself, the message Invalid block will appear and the copy will be aborted.
COPY BLOCK TO BLOCK BUFFER
 
   
The current marked block may be copied to the block buffer,
 
memory permitting, by pressing Shift-F4. This can be very useful
 
for moving blocks of text between different files by loading the
 
first, marking the block, copying it to the block buffer then
 
loading the other file and pasting the block buffer into it.
 
   
PASTING A BLOCK
+
====DELETING A BLOCK====
   
  +
A marked block may be deleted from the text by pressing Shift-F5. The shift key is deliberately required to prevent it being used accidentally. A deleted block is remembered, memory permitting, in the block buffer, for later use.
A block in the block buffer may be pasted at the current
 
cursor position by pressing F5.
 
   
** The block buffer will be lost if the edit buffer size is
+
** This is on a different key to that used in GenST in versions before 2.0.
changed or an assembly occurs.
 
   
   
PRINTING A BLOCK
+
====COPY BLOCK TO BLOCK BUFFER====
   
  +
The current marked block may be copied to the block buffer, memory permitting, by pressing Shift-F4. This can be very useful for moving blocks of text between different files by loading the first, marking the block, copying it to the block buffer then loading the other file and pasting the block buffer into it.
A marked block may be sent to the printer by printing on
 
Print Block from the File menu, or by pressing Alt-W. An alert box
 
will appear confirming the operation and clicking on OK will print
 
the block. The printer port used will depend on the port chosen
 
with the Install Printer desk accessory, or will default to the
 
parallel port. Tab characters are sent to the printer as a
 
suitable number of spaces, so the net result will normally look
 
better than if you print the file from the Desktop.
 
If you try to print when there is no block marked, the whole
 
file will be printed.
 
Block markers remain during all editing commands, moving
 
where necessary, and are only reset by the commands New, Delete
 
Block, and Load.
 
   
  +
====PASTING A BLOCK====
   
  +
A block in the block buffer may be pasted at the current cursor position by pressing F5.
MISCELLANEOUS COMMANDS
 
   
  +
** The block buffer will be lost if the edit buffer size is changed or an assembly occurs.
   
ABOUT GENST2
 
   
  +
====PRINTING A BLOCK====
If you click on About GenST2.. from the Desk menu, a dialogue
 
box will appear giving various details about GenST. Pressing
 
Return or clicking OK will return you to the editor.
 
   
  +
A marked block may be sent to the printer by printing on Print Block from the File menu, or by pressing Alt-W. An alert box will appear confirming the operation and clicking on OK will print the block. The printer port used will depend on the port chosen with the Install Printer desk accessory, or will default to the
  +
parallel port. Tab characters are sent to the printer as a suitable number of spaces, so the net result will normally look better than if you print the file from the Desktop.
   
  +
If you try to print when there is no block marked, the whole file will be printed.
HELP SCREEN
 
   
  +
Block markers remain during all editing commands, moving where necessary, and are only reset by the commands New, Delete Block, and Load.
The key equivalents for the commands not found in menus can be
 
seen by pressing the HELP key, or Alt-H. A dialogue box will
 
appear showing the Wordstar and function keys, as well as the free
 
memory left in the system.
 
   
   
  +
===MISCELLANEOUS COMMANDS===
PREFERENCES
 
   
Selecting Preferences.. from the Options menu will produce a
 
dialogue box allowing you to change several editor settings.
 
   
  +
====ABOUT GENST2====
   
  +
If you click on About GenST2.. from the Desk menu, a dialogue box will appear giving various details about GenST. Pressing Return or clicking OK will return you to the editor.
TABS
 
   
By default, the tab setting is 8, but this may be changed to
 
any value from 2 to 16.
 
   
  +
====HELP SCREEN====
   
  +
The key equivalents for the commands not found in menus can be seen by pressing the HELP key, or Alt-H. A dialogue box will appear showing the Wordstar and function keys, as well as the free memory left in the system.
TEXT BUFFER SIZE
 
   
By default the text buffer size is 60000 bytes, but this can
 
be changed from 4000 to 999000 bytes. This determines the largest
 
file size that can be loaded and edited, Care should be taken to
 
leave sufficient room in memory for assembly or running MonST -
 
pressing the HELP key displays free system memory, and for
 
assembly or debugging this should always be about 100k bytes.
 
Changing the editor work-space size will cause any text you are
 
currently editing to be lost, so a confirmation is required if it
 
has not been saved.
 
   
  +
====PREFERENCES====
   
  +
Selecting Preferences.. from the Options menu will produce a dialogue box allowing you to change several editor settings.
NUMERIC PAD
 
   
  +
The Numeric Pad option allows the use of the numeric keypad
 
  +
=====TABS=====
in an IBM-PC-like way allowing single key presses for cursor
 
  +
functions, and defaults to Cursor pad mode. The keypad works as
 
  +
By default, the tab setting is 8, but this may be changed to any value from 2 to 16.
shown below,
 
  +
  +
  +
=====TEXT BUFFER SIZE=====
  +
  +
By default the text buffer size is 60000 bytes, but this can be changed from 4000 to 999000 bytes. This determines the largest file size that can be loaded and edited, Care should be taken to leave sufficient room in memory for assembly or running MonST - pressing the HELP key displays free system memory, and for assembly or debugging this should always be about 100k bytes. Changing the editor work-space size will cause any text you are currently editing to be lost, so a confirmation is required if it has not been saved.
  +
  +
  +
=====NUMERIC PAD=====
  +
  +
The Numeric Pad option allows the use of the numeric keypad in an IBM-PC-like way allowing single key presses for cursor functions, and defaults to Cursor pad mode. The keypad works as shown below,
   
   
Line 509: Line 274:
   
   
BACKUPS
+
=====BACKUPS=====
   
By default the editor doesn't make backups of programs when
+
By default the editor doesn't make backups of programs when you save them, but this can be turned on by clicking on the Yes radio button.
you save them, but this can be turned on by clicking on the Yes
 
radio button.
 
   
   
AUTO INDENTING
+
=====AUTO INDENTING=====
   
  +
It can be particularly useful when editing programs to indent subsequent lines from the left, so the editor supports an auto-indent mode. When active, an indent is added to the start of each new line created when you press RETURN. The contents of the indent of the new line is taken from the white space (i.e. tabs and/or spaces) at the start of the previous line.
It can be particularly useful when editing programs to indent
 
subsequent lines from the left, so the editor supports an auto-
 
indent mode. When active, an indent is added to the start of each
 
new line created when you press RETURN. The contents of the indent
 
of the new line is taken from the white space (i.e. tabs and/or
 
spaces) at the start of the previous line.
 
   
   
CURSOR
+
=====CURSOR=====
   
By default the GenST cursor flashes but this can be disables
+
By default the GenST cursor flashes but this can be disables if required.
if required.
 
   
   
LOAD MONST
+
=====LOAD MONST=====
   
  +
By default a copy of MonST is loaded during the editor initialisation, allowing it to be accessed at the press of a key. Should this not be required it can be disabled with this option. This will save around 24k of memory. The new value of this option will only have an effect if you save the preferences and re-execute the editor.
By default a copy of MonST is loaded during the editor
 
initialisation, allowing it to be accessed at the press of a key.
 
Should this not be required it can be disabled with this option.
 
This will save around 24k of memory. The new value of this option
 
will only have an effect if you save the preferences and re-
 
execute the editor.
 
   
   
SAVING PREFERENCES
+
=====SAVING PREFERENCES=====
   
  +
If you click on the Cancel button any changes you make will be ignores. If you click on the OK button the changes specific will remain in force until you quit the editor. If you would like the configuration made permanent then click on the Save button, which will create the file GENST2.INF on your disk. Next time you
If you click on the Cancel button any changes you make will
 
be ignores. If you click on the OK button the changes specific
 
will remain in force until you quit the editor. If you would like
 
the configuration made permanent then click on the Save button,
 
which will create the file GENST2.INF on your disk. Next time you
 
 
run GenST the configuration will be read from that file.
 
run GenST the configuration will be read from that file.
In addition to saving the editor configuration the current
 
setting from the Assembly Options dialogue box are also saved.
 
   
  +
In addition to saving the editor configuration the current setting from the Assembly Options dialogue box are also saved.
   
ASSEMBLING & RUNNING PROGRAMS
 
   
  +
===ASSEMBLING & RUNNING PROGRAMS===
All assembly and run options can be found on the Program menu
 
   
  +
All assembly and run options can be found on the Program menu
ASSEMBLY
 
  +
  +
=====ASSEMBLY=====
 
 
To assemble the program you are currently editing click on
+
To assemble the program you are currently editing click on Assemble from the Program menu, or press Alt-A. The meaning of the various options, together with the assembly process itself is detailed in the next chapter. The only option covered here is the Output option.
Assemble from the Program menu, or press Alt-A. The meaning of the
 
various options, together with the assembly process itself is
 
detailed in the next chapter. The only option covered here is the
 
Output option.
 
GenST can assemble to disk, to memory, or nowhere -
 
assembling to nowhere is ideal for syntax checking while assembly
 
to memory is much faster than to disk and good for trying things
 
out quickly. When you assemble to memory you have to specify the
 
maximum program size in the Max: entry in the dialogue box -
 
normally this is 20k, enough for an average program with debug or
 
a large program with no debug. This number determines the program
 
buffer size, used by the assembler to store your assembled
 
program. If you get the program buffer full error when you
 
assemble something you should change the number to be larger.
 
There is of course a penalty for this - the bigger the program
 
buffer size the smaller the amount of memory left for the
 
assembler itself to use while assembling your program. If the
 
assembler itself aborts with Out of memory it means there is not
 
enough left for a complete assembly - you should reduce the buffer
 
size, or if this still fails you will have to assemble to disk.
 
When you assemble to disk the program buffer size number is
 
ignored, giving maximum room in memory for the assembler itself.
 
If you haven't saved your program source code yet the file will be
 
based on the name NONAME.
 
After you click on Assembly or press RETURN the assembly
 
process will start, describe more fully in the next chapter. At
 
the end of the assembly the program will wait for a key press,
 
allowing you to read any messages produced, before returning you
 
to the editor. If there were any errors the editor will go to the
 
first erroneous line and display the error message in the status
 
bar. Subsequent errors (and warnings) may be investigated by
 
pressing Alt-J.
 
   
  +
GenST can assemble to disk, to memory, or nowhere - assembling to nowhere is ideal for syntax checking while assembly to memory is much faster than to disk and good for trying things out quickly. When you assemble to memory you have to specify the maximum program size in the Max: entry in the dialogue box - normally this is 20k, enough for an average program with debug or a large program with no debug. This number determines the program buffer size, used by the assembler to store your assembled program. If you get the program buffer full error when you assemble something you should change the number to be larger. There is of course a penalty for this - the bigger the program buffer size the smaller the amount of memory left for the assembler itself to use while assembling your program. If the
  +
assembler itself aborts with Out of memory it means there is not enough left for a complete assembly - you should reduce the buffer size, or if this still fails you will have to assemble to disk.
   
  +
When you assemble to disk the program buffer size number is ignored, giving maximum room in memory for the assembler itself. If you haven't saved your program source code yet the file will be based on the name NONAME.
RUNNING PROGRAMS
 
   
  +
After you click on Assembly or press RETURN the assembly process will start, describe more fully in the next chapter. At the end of the assembly the program will wait for a key press, allowing you to read any messages produced, before returning you to the editor. If there were any errors the editor will go to the first erroneous line and display the error message in the status bar. Subsequent errors (and warnings) may be investigated by pressing Alt-J.
If you click on Run or press Alt-X (eXecute) you can then run
 
a program previously assembled into memory. When your program
 
finishes it will return you to the editor. If the assembly didn't
 
complete normally for any reason then it is not possible to run
 
the program.
 
If your program crashes badly you may never return to the
 
editor, so if in doubt save your source code before using this, or
 
the following command.
 
   
** If only non-fatal errors occurred during assembly (e.g.
 
undefined symbols) you will still be permitted to run your
 
program, at your own risk.
 
   
  +
=====RUNNING PROGRAMS=====
   
  +
If you click on Run or press Alt-X (eXecute) you can then run a program previously assembled into memory. When your program finishes it will return you to the editor. If the assembly didn't complete normally for any reason then it is not possible to run the program.
PLEASE NOTE
 
   
  +
If your program crashes badly you may never return to the editor, so if in doubt save your source code before using this, or the following command.
When running a Run command from the editor the machine may
 
seem to 'hang up' and not run the program. This occurs if the
 
mouse is in the menu bar area of the screen and can be corrected
 
by moving the mouse. Similarly when a program has finished
 
running, the machine may not return to the editor. Again, moving
 
the mouse will cure the problem. This is due to a feature of GEM
 
beyond our control.
 
   
  +
** If only non-fatal errors occurred during assembly (e.g. undefined symbols) you will still be permitted to run your program, at your own risk.
   
DEBUG
 
   
  +
=====PLEASE NOTE=====
If you wish to debug a program previously assembled to memory
 
click on Debug form the Program menu, or press Alt-D. his will
 
invoke MonST to debug your program, including any debugging
 
information specified. Pressing Ctrl-C from MonST will terminate
 
both your program and the debugger. The screen type is determined
 
by the Run with GEM option, described below.
 
   
  +
When running a Run command from the editor the machine may seem to 'hang up' and not run the program. This occurs if the mouse is in the menu bar area of the screen and can be corrected by moving the mouse. Similarly when a program has finished running, the machine may not return to the editor. Again, moving the mouse will cure the problem. This is due to a feature of GEM beyond our control.
** If the Load MonST option is disabled this option is not
 
available and the menu is disabled.
 
   
   
  +
=====DEBUG=====
  +
  +
If you wish to debug a program previously assembled to memory click on Debug form the Program menu, or press Alt-D. his will invoke MonST to debug your program, including any debugging information specified. Pressing Ctrl-C from MonST will terminate both your program and the debugger. The screen type is determined by the Run with GEM option, described below.
  +
  +
** If the Load MonST option is disabled this option is not available and the menu is disabled.
  +
  +
<pre>
 
MONST
 
MONST
   
Line 758: Line 462:
   
 
</pre>
 
</pre>
Back to [[Devpac_Manual]]
+
Back to [[HiSoft DevpacST Version 2 - Manual]]
  +
[[Category:HiSoft DevpacST Manual]]

Latest revision as of 17:19, 28 January 2012

Here begins Part 2 of the extensive Devpac Docs. Again, it was typed by the Animal House and edited by Sewer Rat.

CHAPTER 2 - SCREEN EDITOR

INTRODUCTION

To enter and assemble your programs you need an editor of some sort and an assembler. GenST combines both of these functions together in one integrated program, giving a GEM-driven full-screen editor and a fast, full specification assembler. It also allows you to run your assembled programs directly from memory without having to quit the program or do a disk access and to access a debugger at the press of a key. The fact that all these features are combined in one program means that the correcting errors and making changes is as fast as possible without the need for slow disk accesses and other programs.

This chapter details the use of the editor and how to assemble programs - it does not detail the assembler or the debugger themselves, they are covered in the following chapters.

To run GenST, double click on the GENST2.PRG icon from the Desktop. When it has loaded a menu bar will appear and an empty window will open, ready for you to enter and assemble your programs.


THE EDITOR

A text editor is a program which allows you to enter and alter lines of text, store them on disk, and load them back again. There are two types of text editors: line editors, which treat each line separately and can be very tricky to use, and screen editors, which display your text a screen at a time. The latter tend to be much easier to use.

The editor section of GenST is a screen editor which allows you to enter and edit text and save and load from disk, as you would expect. It also lets you print all or some of your text, search and replace text patterns and use any of the ST's desk-accessories. It is GEM-based, which means it uses all the user-friendly features of GEM programs that you have become familiar with on your computer such as windows, menus and mice. However, if you're a die-hard, used to the hostile world of computers before the advent of WIMP's, you'll be pleased to know that you can do practically everything you'll want to do from the keyboard without having to touch a mouse.

The editor is 'RAM-based', which means that the file you are editing stays in memory for the whole time, so you don't have to wait while your disk grinds away loading different sections of the file as you edit. As the ST range has so much memory, the size limitations often found in older computer editors don't exist with GenST; if you have enough memory you can edit files of over 300k (though make sure your disk is large enough to cope with saving it if you do!). As all editing operations, including things like searching, are RAM based they act blindingly quickly.

When you have typed in your program it is not much use if you are unable to save it to disk, so the editor has a comprehensive range of save and load options, allowing you to save all or part of the text and to load other files into the middle of the current one, for example.

To get things to happen in the editor, there are various methods available to you. Features may be accessed in one or more of the following ways;

  • Using a single key, such as a Function or cursor key:
  • Clicking on a menu item, such as SAVE:
  • Using a menu shortcut, by pressing the Alternate key (subsequently referred to as Alt) in conjunction with another such as Alt-F for Find:
  • Using the control key (subsequently referred to as Ctrl) in conjunction with another, such as Ctrl-A for cursor word left:
  • Clicking on the screen, such as a scroll bar.

The menu short cuts have been chosen to be easy and obvious to remember, while the Ctrl commands are based on those used in Wordstar, and many other compatible editors since.

If at any time you get stuck, pressing the HELP key will bring up a comprehensive display of the keys for functions not visible in menus.


A FEW WORDS ABOUT DIALOGUE BOXES

The editor makes extensive use of dialogue boxes, so it is worth recapping how to use them, particularly for entering text. The editor's dialogue box contains buttons, radio buttons, and editable text.

Buttons may be clicked on with the mouse and cause the dialogue box to go away. Usually there is a default button, shown by having a wider border than the others. Pressing RETURN on the keyboard is equivalent to clicking on the default button.

Radio buttons are groups of buttons of which only one may be selected at a time - clicking on on automatically de-selects all the others.

Editable text is shown with a dotted line, and a vertical bar marks the cursor position. Characters may be typed in and corrected using the Backspace, Delete and cursor keys. You can clear the whole edit field by pressing the ESC key. If there is more than one text field in a dialogue box, you can move between them using the up and down cursor keys or by clicking near them with the mouse.

Some dialogue boxes allow only a limited range of characters to be typed into them - for example the Goto Line dialogue box only allows numeric characters (digits) to be entered.

ENTERING TEXT AND MOVING THE CURSOR

Having loaded GenST, you will be presented with an empty window with a status line at the top and a flashing black block, which is the cursor, in the top left-hand corner.

The status line contains information about the cursor position in the form of Line Column offsets as well as the number of bytes of memory which are free to store your text. Initially this is displayed as 59980, as the default text size is 60000 bytes. You may change this default if you wish, together with various other options, by selecting Preferences, described later. The missing 20 bytes are used by the editor for internal information. The rest of the status line area is used for error messages, which will usually be accompanied with a 'ping' sound to alert you. Any message that gets printed will be removed subsequently when you press a key.

To enter text, you type on the keyboard. As you press a key it will be shown on the screen and the cursor will be advanced along the line. If you are a good typist you may be able to type faster than the editor can re-display the line; if so, don't worry, as the program will not lose the keystrokes and will catch up when you pause. At the end of each line you press the Return key (or the Enter key on the numeric pad) to start the next line. You can correct your mistakes by pressing the Backspace key, which deletes the character to the left of the cursor, or the Delete key, which removes the character the cursor is over.

The main advantage of a computer editor as opposed to a normal typewriter, is its ability to edit things you typed a long time ago. The editor's large range of options allow complete freedom to move around your text at will.


CURSOR KEYS

To move the cursor around the text to correct errors or enter new characters, you use the cursor keys, (the arrows). If you move the cursor past the right-hand end of the line this won't add anything to your text, but it you type some text at the point the editor will automatically add the text to the real end of the line. If you type in long lines the window display will scroll sideways if necessary.

If you cursor up at the top of the window the display will either scroll down if there is a previous line, or print the message Top of file in the status line. Similarly if you cursor down off the bottom of the window the display will either scroll up if there is a following line, or print the message End of file.

You can move the cursor on a character basis by clicking on the arrow boxes at the end of the horizontal and vertical scroll bars.

For those of you used to Wordstar, the keys Ctrl-S, Ctrl-D, Ctrl-E and Ctrl-X work in the same way as the cursor keys.

To move immediately to the start of the current line, press Ctrl (left arrow), to move to the end of the current line press Ctrl (right arrow).

To move the cursor a word to the left, press Shift (left arrow) and to the right press Shift (right arrow). You cannot move a cursor past the end of a line with this. A word is defined as anything surrounded by a space, a tab or a start or end of line. The keys Ctrl-A and Ctrl-F also move the cursor left and sight on a word basis.

To move the cursor a page up, you can click on the upper grey part of the vertical scroll bar, or press Ctrl-R or Shift (up arrow). To move the cursor a page down, you can click on the lower grey part of the scroll bar, or press Ctrl-C or Shift (down arrow).

If you want to move the cursor to a specific position on the screen you move the mouse pointer to the required place and click (There is no Wordstar equivalent for this feature!)

TAB KEY

The Tab key inserts a special character (ASCII code 9) into your text, which on the screen looks like a number of spaces, but is rather different. Pressing Tab aligns the cursor onto the next 'multiple of 8' column, so if you press it at the start of a line (column 1) the cursor moves to the next multiple of 8 + 1, which is column 9. Tabs are very useful indeed for making items line up vertically and its main use in GenST is for making instructions line up. When you delete a tab the line closes up as if a number of spaces had been removed. The advantage of tabs is that they only take up 1 byte of memory, bat can show on screen as many more, allowing you to tabulate your program neatly. You can change the tab size before or after loading GenST using the Preferences command described shortly.


BACKSPACE KEY

The Backspace key removes the character to the left of the cursor. If you backspace at the very beginning of a line it will remove the 'invisible' carriage return and join the line to the end of the previous line. Backspacing when the cursor is past the end of the line will delete the last character on the line, unless the line is empty in which case it will re-position the cursor on the left of the screen.


DELETE KEY

The Delete key removes the character under the cursor and has no effect if the cursor is past the end of the current line.


GOTO A PARTICULAR LINE

To move the cursor to a particular line in the text, click on Goto line.. from the Options menu, or press Alt-G. A dialogue box will appear allowing you to enter the required line number. Press Return or click on OK button to go to the line or click on Cancel to abort the operation. After clicking on OK the cursor will move to the specific line, re-displaying if necessary, or give error End of file if the line doesn't exist.

Another fast way of moving around the file is by dragging the slider on the vertical scroll bar, which works in the usual GEM-like fashion.


GOTO TO TOP OF FILE

To move to the top of the text, click on Goto Top from the Options menu, or press Alt-T. The screen will be re-drawn if required starting from line 1.


GOTO END OF TEXT

To move the cursor to the start of the very last line of text, click on Goto Bottom, or press Alt-B

QUITTING GENST

To leave GenST, click on Quit from the File menu, or press Alt-Q. If changes have been made to the text which have not been saved to disk, an alert box will appear asking for confirmation. Clicking on Cancel will return you to the editor, while clicking on OK will discard the changes and return you to the Desktop.

DELETING TEXT

DELETE LINE.

The current line can be deleted from the text by pressing Ctrl-Y.


DELETE TO END OF LINE.

The text from the cursor position to the end of the current line can be deleted by pressing Ctrl-Q. (This is equivalent to the Wordstar sequence Ctrl-Q Y).


UNDELETE LINE

When a line is deleted using either of the above commands it is preserved in an internal buffer, and can be re-inserted into the text by pressing Ctrl-U, or the Undo key. This can be done as many times as required, particularly useful for repeating similar lines or swapping over individual lines.


DELETE ALL TEXT

To clear out the current text, click on Clear from the File menu, or press Alt-C. If you have made any changes to the text that have not been saved onto the disk, a confirmation is required and the requisite alert box will appear. Clicking on OK will delete the text, or Cancel will abort the operation.

DISK OPERATIONS

GEM FILE SELECTOR BOX

(This section has been left out as it is common knowledge to anyone who uses their ST, if you want to read it, it is the same details as contained in your Atari manual)

    • In all pre-blitter versions of the ST ROM's there is a bug which means that if you press _ (underline) when the cursor is in the Directory string the machine will crash!!

SAVING TEXT

To save the text you are currently editing, click on Save As from the File Menu, or press Alt-S. The standard GEM File Selector will appear, allowing you to select a suitable disk and filename. Clicking OK or pressing Return will then save the file onto the disk. If an error occurs a dialogue box will appear showing a TOS error number, the exact meaning of which can be found in Appendix A.

If you click on Cancel the text will not be saved. Normally if a file exists with the same name it will be deleted and replaced with the new version, but if Backups are selected from the Preferences options then any existing file will be renamed with extension .BAK (deleting any existing .BAK file) before the new version is saved.


SAVE

To save the file you can click on the Save option on the File menu, or press Shift-Alt-S, and it will use the old name.


LOADING TEXT

To load a new file, click on Load from the File menu, or press Alt-L.


INSERTING TEXT

If you want to read a file from disk and insert it at the current position in your text click on Insert File from the File menu or press Alt-L


SEARCHING AND REPLACING TEXT

To find a particular section of text click on Find from the Search menu, or press Alt-F. A dialogue box will appear, allowing you to enter the Find and Replace strings. If you click on Cancel, no action will be taken; if you click Next (or press Return) the search will start forwards, while clicking on Previous will start the search backwards. If you do not wish to replace, leave the Replace string empty. If the search was successful, the screen will be re-drawn at that point with the cursor positioned at the start of the string. If the search string could not be found , the message Not Found will appear in the status area and the cursor will remain unmoved. By default the search is always case-independant, so for example if you enter the search string as test you could find the words TEST, Test or test. If you click on the Upper & Lower case Different button the search will be case dependant.

To find the next occurrence of the string click on Find Next from the Search menu, or press Alt-F. The search starts at the position just before the cursor.

To search for the previous occurrence of the string click on Find Previous from the Search menu, or press Alt-P.

Having found an occurrence of the required text, it can be replaced with the Replace string by clicking on Replace from the Search menu, or pressing Alt-R. Having replaced it, the editor will then search for the next occurrence.

If you wish to replace every occurrence of the find string with the replace string from the cursor position onwards, click on Replace All from the Search menu. During the global replace the ESC key can be used to abort and the status area will show how many replacements were made. There is deliberately no keyboard equivalent for this to prevent it being chosen accidentally.


BLOCK COMMANDS

A Block is a marked section of text which may be copied to another section, deleted, printed or saved onto disk. The function keys are used to control blocks.


MARKING A BLOCK

The start of a block is marked by moving the cursor to the required place and pressing key F1. The end of a block is marked by moving the cursor and pressing key F2. The start and end of the block do not have to be marked in a specific order - if it is more convenient you may mark the end of the block first.

A marked block is highlighted by showing the text in reverse. While you are editing a line that is within a block this highlighting will not be shown but will be re-displayed when you leave that line or choose a command.


SAVING A BLOCK

Once a block has been marked, it can be saved by pressing key F3. If no block is marked, the message What blocks! will appear. If the start of the block is textually after its end the message Invalid block! will appear. Both errors abort the command. Assuming a valid block has been marked, the standard GEM file selector will appear, allowing you to select a suitable disk and filename. If you save the block with a name that already exists the old version will be overwritten - no backups are made with this command.


COPYING A BLOCK

A marked block may be copied, memory permitting, to another part of the text by moving the cursor to where you want the block copied and pressing key F4. If you try to copy a block into a part of itself, the message Invalid block will appear and the copy will be aborted.


DELETING A BLOCK

A marked block may be deleted from the text by pressing Shift-F5. The shift key is deliberately required to prevent it being used accidentally. A deleted block is remembered, memory permitting, in the block buffer, for later use.

    • This is on a different key to that used in GenST in versions before 2.0.


COPY BLOCK TO BLOCK BUFFER

The current marked block may be copied to the block buffer, memory permitting, by pressing Shift-F4. This can be very useful for moving blocks of text between different files by loading the first, marking the block, copying it to the block buffer then loading the other file and pasting the block buffer into it.

PASTING A BLOCK

A block in the block buffer may be pasted at the current cursor position by pressing F5.

    • The block buffer will be lost if the edit buffer size is changed or an assembly occurs.


PRINTING A BLOCK

A marked block may be sent to the printer by printing on Print Block from the File menu, or by pressing Alt-W. An alert box will appear confirming the operation and clicking on OK will print the block. The printer port used will depend on the port chosen with the Install Printer desk accessory, or will default to the parallel port. Tab characters are sent to the printer as a suitable number of spaces, so the net result will normally look better than if you print the file from the Desktop.

If you try to print when there is no block marked, the whole file will be printed.

Block markers remain during all editing commands, moving where necessary, and are only reset by the commands New, Delete Block, and Load.


MISCELLANEOUS COMMANDS

ABOUT GENST2

If you click on About GenST2.. from the Desk menu, a dialogue box will appear giving various details about GenST. Pressing Return or clicking OK will return you to the editor.


HELP SCREEN

The key equivalents for the commands not found in menus can be seen by pressing the HELP key, or Alt-H. A dialogue box will appear showing the Wordstar and function keys, as well as the free memory left in the system.


PREFERENCES

Selecting Preferences.. from the Options menu will produce a dialogue box allowing you to change several editor settings.


TABS

By default, the tab setting is 8, but this may be changed to any value from 2 to 16.


TEXT BUFFER SIZE

By default the text buffer size is 60000 bytes, but this can be changed from 4000 to 999000 bytes. This determines the largest file size that can be loaded and edited, Care should be taken to leave sufficient room in memory for assembly or running MonST - pressing the HELP key displays free system memory, and for assembly or debugging this should always be about 100k bytes. Changing the editor work-space size will cause any text you are currently editing to be lost, so a confirmation is required if it has not been saved.


NUMERIC PAD

The Numeric Pad option allows the use of the numeric keypad in an IBM-PC-like way allowing single key presses for cursor functions, and defaults to Cursor pad mode. The keypad works as shown below,


         7  START       8 (UP)          9 PAGE UP
          OF LINE        
         4 (LEFT)       5               6 (RIGHT)
         1 END OF       2 (DOWN)        3 PAGE DOWN
           LINE


BACKUPS

By default the editor doesn't make backups of programs when you save them, but this can be turned on by clicking on the Yes radio button.


AUTO INDENTING

It can be particularly useful when editing programs to indent subsequent lines from the left, so the editor supports an auto-indent mode. When active, an indent is added to the start of each new line created when you press RETURN. The contents of the indent of the new line is taken from the white space (i.e. tabs and/or spaces) at the start of the previous line.


CURSOR

By default the GenST cursor flashes but this can be disables if required.


LOAD MONST

By default a copy of MonST is loaded during the editor initialisation, allowing it to be accessed at the press of a key. Should this not be required it can be disabled with this option. This will save around 24k of memory. The new value of this option will only have an effect if you save the preferences and re-execute the editor.


SAVING PREFERENCES

If you click on the Cancel button any changes you make will be ignores. If you click on the OK button the changes specific will remain in force until you quit the editor. If you would like the configuration made permanent then click on the Save button, which will create the file GENST2.INF on your disk. Next time you run GenST the configuration will be read from that file.

In addition to saving the editor configuration the current setting from the Assembly Options dialogue box are also saved.


ASSEMBLING & RUNNING PROGRAMS

All assembly and run options can be found on the Program menu

ASSEMBLY

To assemble the program you are currently editing click on Assemble from the Program menu, or press Alt-A. The meaning of the various options, together with the assembly process itself is detailed in the next chapter. The only option covered here is the Output option.

GenST can assemble to disk, to memory, or nowhere - assembling to nowhere is ideal for syntax checking while assembly to memory is much faster than to disk and good for trying things out quickly. When you assemble to memory you have to specify the maximum program size in the Max: entry in the dialogue box - normally this is 20k, enough for an average program with debug or a large program with no debug. This number determines the program buffer size, used by the assembler to store your assembled program. If you get the program buffer full error when you assemble something you should change the number to be larger. There is of course a penalty for this - the bigger the program buffer size the smaller the amount of memory left for the assembler itself to use while assembling your program. If the assembler itself aborts with Out of memory it means there is not enough left for a complete assembly - you should reduce the buffer size, or if this still fails you will have to assemble to disk.

When you assemble to disk the program buffer size number is ignored, giving maximum room in memory for the assembler itself. If you haven't saved your program source code yet the file will be based on the name NONAME.

After you click on Assembly or press RETURN the assembly process will start, describe more fully in the next chapter. At the end of the assembly the program will wait for a key press, allowing you to read any messages produced, before returning you to the editor. If there were any errors the editor will go to the first erroneous line and display the error message in the status bar. Subsequent errors (and warnings) may be investigated by pressing Alt-J.


RUNNING PROGRAMS

If you click on Run or press Alt-X (eXecute) you can then run a program previously assembled into memory. When your program finishes it will return you to the editor. If the assembly didn't complete normally for any reason then it is not possible to run the program.

If your program crashes badly you may never return to the editor, so if in doubt save your source code before using this, or the following command.

    • If only non-fatal errors occurred during assembly (e.g. undefined symbols) you will still be permitted to run your program, at your own risk.


PLEASE NOTE

When running a Run command from the editor the machine may seem to 'hang up' and not run the program. This occurs if the mouse is in the menu bar area of the screen and can be corrected by moving the mouse. Similarly when a program has finished running, the machine may not return to the editor. Again, moving the mouse will cure the problem. This is due to a feature of GEM beyond our control.


DEBUG

If you wish to debug a program previously assembled to memory click on Debug form the Program menu, or press Alt-D. his will invoke MonST to debug your program, including any debugging information specified. Pressing Ctrl-C from MonST will terminate both your program and the debugger. The screen type is determined by the Run with GEM option, described below.

    • If the Load MonST option is disabled this option is not available and the menu is disabled.
MONST

     Clicking on MonST from the Program menu,  or pressing  Alt-M, 
will invoke MonST in a similar way to if it was invoked by double-
clicking on the program icon from the Desktop,  but instantly,  as 
it  is  already  in  memory.  You will return  to  the  editor  on 
termination of the debugger.  The screen type is determined by the 
Run with GEM option, described below.

**   If  the  Load  MonST option is disabled this  option  is  not 
available and the menu is disabled.


RUN WITH GEM

     Normally when the commands Run,  Debug or MonST are used  the 
screen  is initialised to the normal GEM type,  with a blank  menu 
bar and patterned desktop.  However if running a TOS program  this 
can  be  changed  to a blank screen with  a  flashing  cursor,  by 
clicking on Run with GEM,  or by pressing Alt-K. A check-mark next 
to the menu item means GEM mode, no check mark means TOS mode. The 
current  setting  of  this  option  is  remembered  if  you   Save 
Preferences.

**   Running  a TOS program in GEM mode will look messy but  work, 
but running a GEM program in TOS mode can crash the machine.

JUMP TO ERROR

     During  an  assembly any warnings or errors  that  occur  are 
remembered,  and can be recalled from the editor. Clicking on Jump 
to  Error from the Program menu,  or pressing Alt-J will move  the 
cursor  to the next line in your program which has an  error,  and 
display  the  message in the status line of the  window.  You  can 
step to the next one by pressing Alt-J again,  and so on,  letting 
you  correct errors quickly and easily.  If there are  no  further 
errors when you select this option the message No more errors will 
appear,  or if there are no errors at all the message What errors! 
will appear.
RUN OTHER...

     This  option  lets  you run other programs  from  within  the 
editor,  then  return to it when they finish.  Its main use is  to 
allow you t run programs you have assembled to disk, or to run the 
linker,  without  having  to  return to the  desktop  and  double-
clicking  them.  You can run both TOS and GEM programs  with  this 
option,  subject  to  available  memory.  When you  click  on  Run 
Other...  you  will  first be warned if you have  not  saved  your 
source code,  then the GEM file selector will appear,  from  which 
you should select the program you wish to run.  If it is a .TOS or 
.TTP  program you will be prompted for a command  line,  then  the 
screen initialised suitably.

**   Screen initialisation depends on the filename extension,  not 
the current Run with GEM option setting.


                 WINDOW USAGE & DESK ACCESSORIES


THE GEM EDITOR WINDOW

     The  window  used  by the editor works  like  all  other  GEM 
windows, moving it and altering it with the mouse.


DESK ACCESSORIES

     If your ST system has any accessories,  you will find them in 
the  Desk menu.  If they use their own window,  as  Control  Panel 
does,  you  will find that you can control which window is at  the 
front by clicking on the one you require. For example, If you have 
selected  the  control panel it will appear in the middle  of  the 
screen,  on top of the editor window.  You can then move it around 
and if you wish it to lie 'behind' the editor window,  you can  do 
it  by clicking on the editor window,  which brings it  in  front, 
then  re-sizing  it  so you can see part of  the  control  panel's 
window  behind it.  When you want to bring that to the front  just 
click  on  it and the editor window will go  behind.  The  editors 
cursor  only  flashes  and the menus only work  when  the  editors 
window is at the front.


AUTOMATIC DOUBLE CLICKING

     You may configure GenST to be loaded automatically whenever a 
source file is double-clicked from the desktop,  using the INSTALL 
APPLICATION option.
     To do this you first have to decide on the extension you  are 
going  to  use for your files,  which we recommend to  be  .S  for 
source files.  Having done this, go to the Desktop, and click once 
on GENST2.PRG to highlight it.  Next click on Install  Application 
from the Options menu and a dialogue box will appear.  You  should 
set the Document Type to be S (or whatever you require), and leave 
the GEM radio button selected.  Finally click on the OK button (if 
you press Return it will be taken as Cancel).
     Having done this, you will return to the Desktop. To test the 
installation,  double-click  on a file with the  chosen  extension 
which  must  be on the same disk and in the same folder  as  GenST 
and  the desktop will load GenST,  which will in turn load in  the 
file of your choice ready for editing or assembly.

**   To make the configuration permanent, you have to use the Save 
Desktop option.


SAVED! DESK ACCESSORY USERS

     If  you  use the PATH feature of the Saved!  by  HiSoft  desk 
accessory  then the restriction of having your data files  in  the 
same  folder  and drive as your assembler described above  is  not 
relevant.  The editor looks for the GENST2.INF configuration  file 
firstly  in  the current directory which is the folder  where  you 
double-clicked  on  the data file),  then using the  system  path. 
Saving  the editor preferences will put the .INF file in the  same 
place it was loaded from,  or if it was not found then it will  be 
put in the current directory. 
     You may invoke Saved!  from within the editor at any time  by 
pressing  Shift-Clr.  his will only work if the desk accessory  is 
called SAVED!.ACC or SAVED.ACC on your boot disk.


Back to HiSoft DevpacST Version 2 - Manual