•  Back 
  •  Main 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The GFA-Basic Compendium
Author      : GFA Systemtechnik GmbH
Version     : GFABasic.HYP v2.98 (12/31/2023)
Subject     : Documentation/Programming
Nodes       : 899
Index Size  : 28056
HCP-Version : 3
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Document not found
@help       : Help
@options    : +g -i -s +z
@width      : 75
@hostname   : STRNGSRV
@hostname   : CAB     
@hostname   : HIGHWIRE
@hostname   : THING   
View Ref-FileYou can find a listing of the shell on your disk. In the listing you can set
the parameters described in the previous section. You will find the following
lines in the first part of the listing:

    gfaints$="GFABASIC.PRG"
    gfacom$="GFA_BCOM.PRG"
    gfalnk$="GL.PRG"

These define the names of the interpreter, compiler, and linker and can, of
course, be altered.

The parameters G3OBJ, G3PRG, and G3LIB take their default values from the
following lines:

    tobj$="G3OBJ=TEST.O"
    tprg$="G3PRG=TEST.PRG"
    tlib$="G3LIB=GFA3BLIB"

The parameters G3WAIT and G3MOVE get their values from these lines in the shell
listing:

    t_wait$="G3WAIT=ON"
    t_move$="G3MOVE=ON"

You can enable these options by deleting the underscore character in the
variable name.

The lines:

    coi&=0   ! No I
    cos&=3   ! S& and S<
    cof&=0   ! F<
    cod&=0   ! No %3
    com&=0   ! No *&
    coe&=0   ! No E
    cop&=0   ! No P>
    dbsym&=0 ! No -s
    auto&=0  ! not xxx.prg from xxx.gfa

define the the default compiler and linker options.

The line INLINE irq%,&HD6 contains an interrupt routine which during
compilation displays the number of the currently compiled line. Should you wish
to save the shell as a LST file, the INLINE section needs to be saved
separately (go to INLINE line, press Help and save.  See a full explanation of
INLINE in the Basic Interpreter manual).

The following line:

    {irq%+2}=V:a&

declares a 16-bit variable to be displayed in the interrupt.

The lines:

    BYTE{irq%+6}=32+35
    BYTE{irq%+7}=32+10

define column 35 as the X position for the text output of the interrupt routine
and column 10 as the Y position.

When examining the shell program on the disk, you may notice that no redraw
routine has been implemented. This makes the program shorter and saves memory
space (shells ought to be small). The primary reason for this, however, is to
keep visible the screen contents left behind by a program which has just been
run by the menu item "Test".