/*
*    DivaPC ARM C source
*
*    SYS.H.CONFIG  - Configuration header
*
*
*    13-01-92 INH  Original
*    06-11-92      4 Hard disks
*                  DisableQuadFS
*    16-02-93      Int selection
*    12-05-93      PowerSaving
*    25-01-96      Old 'mono' bits deleted.
*    97-03-03 W    Disablefloppies added 
*  1997-10-02 W    2.13 speed options added
*/

struct SysConfig
{

    bool Trace;
    bool UseWindowFE;
    bool ScaleToFit;
    bool DirectSerial;
    bool DirectParallel;
    bool BusMouse;

    int  FloppySize[4];
    bool DisableFloppies;
    int  OnboardFloppy;
    int  RISCOSprinter;
    int  AutoStart;
    int  SuspendOption;
#define SO_MIDBUTTON 1
#define SO_ALTBREAK  2
    int  BusSlot;
    int  PCRAM;

    bool PowerSaving;
    bool ClkDoubled;
    bool Coprocessor;
    int  L1Cache;
#define L1C_NONE     0
#define L1C_WRTHRU   1
#define L1C_WRBACK   2
#define L1C_AUTO     3

    int  L2Cache;
#define L2C_NONE     0
#define L2C_WRTHRU   1
#define L2C_WRBACK   2
#define L2C_AUTO     3

    int  L2Size;

    int  ASICOptions;
#define AO_NO_WRFIFO   1
#define AO_NO_WRFIFO16 2
#define AO_NEWA20      4

    int  SharedMemFlags;
#define SM_DONT_USE    1
#define SM_DONT_ALLOC  2
#define SM_NOT_WINDRV  4

    int  VideoRAM;
    int  IDEStartTime;
    int  BusMouseInt;
    int  NE2000Int;

    int  RetraceEmulation;
    int  PreserveVidMem;
#define PVM_TO_VGA   1
#define PVM_FROM_VGA 2
    bool FloppyBoot;

    char *WinDrvMode;
    char *HDfilename[4];

    int  HD_SCSI_id [4];
    int  HD_SCSI_hd [4];
    int  HD_SCSI_sct[4];

    int  HD_IDE_cyl [4];
    int  HD_IDE_hd [4];
    int  HD_IDE_sct[4];
    
    int SingleTaskSpeed;
    int WindFocusSpeed;
    int WindNoFocusSpeed;
    int WindNoFocusHoldoff;

};

extern struct SysConfig CFG;

extern bool CFG_Init (void);

