; >DebugOpts

        TTL     "Debugging options"

        GBLL    T
T       SETL    {TRUE}
        GBLL    F
F       SETL    {FALSE}

        GBLL    NewFs
NewFs   SETL    T
        GBLL    BigDisc
BigDisc	SETL    T
        GBLL    BigShare
BigShare SETL   T
        GBLL    UseBigFlag
        GBLL    TwoGigFix
TwoGigFix SETL  T
UseBigFlag SETL   T
        GBLL    DriveStatus
DriveStatus SETL   T
        GBLL    FullAtts        ;T for extended attributes for new format dirs
FullAtts SETL   T
        [ FileCache
        ASSERT  MOS_Version > 120
        ]
        GBLL    Dev
Dev     SETL    test_version

        GBLL    Debug
        [ Dev
Debug   SETL    T
        |
Debug   SETL    F
        ]

        MACRO
$a      switch  $b
        GBLL    $a
       [ Dev
        [ Debug ;>>>F
$a      SETL    $b
        |
$a      SETL    F
        ]
       |
$a      SETL    F
       ]

        MEND

Debug1  switch  F       ;communication with parent module
Debug2  switch  F       ;SWI call processing
Debug2D switch  F       ;DiscOp SWI call processing
Debug3  switch  T       ;disc accesses
Debug3L switch  F       ;low level discops into parent
Debug4  switch  F       ;disc and drive record operations
Debug5  switch  F       ;old free space map operations
Debug6  switch  F       ;pathname and directory operations
Debug6f switch  F       ; FindDiscByName
Debug7  switch  F       ;OsFile operations
Debug8  switch  F       ;File Level Disc Ops
Debug9  switch  F       ;Misc useful routines
DebugA  switch  F       ;OsFun operations
DebugB  switch  F       ;Random access files
DebugBA switch  F       ;OS_Args specifically
DebugBE switch  F       ;BPut/BGet entry
DebugBc switch  F       ;CloseAllByDisc
DebugBe switch  F       ;Ensure file size
DebugBv switch  F       ;Random access files verbose - details of PutBytes and GetBytes
DebugBs switch  F       ;Open file new map allocated size
DebugBt switch  F       ;Random access file I/O terse
DebugC  switch  F       ;Directory cache
DebugD  switch  F       ;Scatter buffer
DebugE  switch  F       ;new free space map
DebugEa switch  F       ;new free space map random extension
DebugEx switch  F       ; verbose new free space map
DebugF  switch  F       ;new free space map auto compact
DebugFx switch  F       ;new free space map check the bastard for this bloody bug
DebugG  switch  F       ;verbose file cache
DebugGu switch  F	;UpdateProcess only
DebugGs switch  F       ; UpdateProcess scatter list ends only
DebugH  switch  F       ;terse file cache
DebugI  switch  F       ;terse FIQ claim/release
DebugJ  switch  F       ;file cache consistency checks
DebugK  switch  F       ;setting of Interlocks
DebugL  switch  F       ; Mounting/Identifying/Dismounting/Verifying
DebugLi switch  F       ; Changes to DiscId information in disc records
DebugLm switch  F       ; matching disc agianst other records
DebugM  switch  T       ; MultiFS extensions
DebugMt switch  F       ; MultiFS extensions (terse)
DebugN  switch  F       ; Disc insertion / request for insertion thread
DebugO  switch  F       ; MultiFS extensions - formatting SWIs
DebugP  switch  F       ; Process activation/deactivation
DebugQ  switch  F       ; *-commands
DebugR  switch  F       ; reentrance
DebugU  switch  F       ; UpCall
Debugb  switch  F       ; break key action updates
DebugDR switch  T       ; check array bounds on drive and disc record ptr calculation
DebugDL switch  F       ; check for data lost problems with atapi

                GBLL    ExceptionTrap
                GBLL    VduTrap

                [ Dev

                 [ Debug
ExceptionTrap   SETL    F
                 |
ExceptionTrap   SETL    F
                 ]
VduTrap         SETL    F ;RCM>>> was T
                GBLL    SpoolOff
SpoolOff        SETL    F       ;T <=> disable spooling for debug messages
                GBLL    IrqDebug
IrqDebug        SETL    F
                GBLL    DebugSwitch
DebugSwitch     SETL    F

                |

ExceptionTrap   SETL    F
VduTrap         SETL    F

                ]


        GBLS    GetAroundBleedingAAsmYetAgain
 [ Debug
GetAroundBleedingAAsmYetAgain SETS " GET Hdr:Debug"
 |
GetAroundBleedingAAsmYetAgain SETS "; No debug required"
 ]
$GetAroundBleedingAAsmYetAgain


; +++++++++++++++++++++++ For Tube work: ++++++++++++++++++++++++++++++++++++++

 [ Debug
; Set to true for dubugging through the tube
Host_Debug SETL True

Debug_MaybeIRQ SETL True
 ]

        GBLS    Host_Inclusion
Host_Inclusion SETS "; No Host debug wanted"
 [ Debug
  [ Host_Debug
Host_Inclusion SETS " GET Hdr:HostFS"
  ]
 ]
$Host_Inclusion

        END
