•  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-FileFGETDTA()
FSETDTA(addr)

addr: iexp

The DTA (disk transfer address) can be read with the function FGETDTA() or set
with the instruction FSETDTA(). The default address of the DTA is BASEPAGE+128
when a program first starts up. The DTA address will be reset back to
BASEPAGE+128 if the commands DIR or FILES are used. EXIST() does not reset the
DTA address.

The DTA has the following structure:

    Offset  Bytes  Meaning
     0      21     Reserved for GEMDOS()
    21       1     File attributes (see below)
    22       2     Time
    24       2     Date
    26       4     File length
    30      14     File name terminated with null byte, without blanks

The meaning of the attribute bits:

    Bit  Meaning (if the bit is =1)
    0    The file is write protected
    1    The file is hidden (excluded from DIR search)
    2    The file is a System file (excluded from DIR search)
    3    Disk label
    4    Folder (sub-directory)
    5    Archive bit

Memo: The DTA structure is exactly 44 bytes.
      A call to FSETDTA() will change entry BASEPAGE+32.
      Original manual stated: The DTA address is changed when a File Select
      Box is used. This is not true.
      The commands FSFIRST() and FSNEXT() use the DTA address.

Fgetdta()+, Fsetdta()+, DTA+