CHAPTER 2 - Screen Editor

From Atari Wiki
Revision as of 12:54, 3 July 2006 by Zorro 2 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 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.


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 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.


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.