--- previous/src/includes/configuration.h 2018/04/24 19:28:11 1.1.1.3 +++ previous/src/includes/configuration.h 2018/04/24 19:30:38 1.1.1.4 @@ -49,10 +49,6 @@ typedef struct { bool bEnableMicrophone; bool bEnableSound; - int nPlaybackFreq; - int SdlAudioBufferSize; - char szYMCaptureFileName[FILENAME_MAX]; - int YmVolumeMixing; } CNF_SOUND; @@ -77,6 +73,7 @@ typedef enum typedef struct { bool bDisableKeyRepeat; + bool bSwapCmdAlt; KEYMAPTYPE nKeymapType; char szMappingFileName[FILENAME_MAX]; } CNF_KEYBOARD; @@ -100,7 +97,7 @@ typedef enum { SHORTCUT_QUIT, SHORTCUT_LOADMEM, SHORTCUT_SAVEMEM, - SHORTCUT_INSERTDISKA, + SHORTCUT_DIMENSION, SHORTCUT_KEYS, /* number of shortcuts */ SHORTCUT_NONE } SHORTCUTKEYIDX; @@ -111,6 +108,22 @@ typedef struct int withoutModifier[SHORTCUT_KEYS]; } CNF_SHORTCUT; + +/* Dialog Mouse */ +#define MOUSE_LIN_MIN 0.1 +#define MOUSE_LIN_MAX 10.0 +#define MOUSE_EXP_MIN 0.5 +#define MOUSE_EXP_MAX 1.0 +typedef struct +{ + bool bEnableAutoGrab; + float fLinSpeedNormal; + float fLinSpeedLocked; + float fExpSpeedNormal; + float fExpSpeedLocked; +} CNF_MOUSE; + + /* Memory configuration */ typedef enum @@ -155,53 +168,61 @@ typedef struct } CNF_BOOT; -/* Disk image configuration */ +/* Hard drives configuration */ +#define ESP_MAX_DEVS 7 +typedef enum { + DEVTYPE_NONE, + DEVTYPE_HARDDISK, + DEVTYPE_CD, + DEVTYPE_FLOPPY, + NUM_DEVTYPES +} SCSI_DEVTYPE; -typedef enum -{ - WRITEPROT_OFF, - WRITEPROT_ON, - WRITEPROT_AUTO -} WRITEPROTECTION; - -#define MAX_FLOPPYDRIVES 2 +typedef struct { + char szImageName[FILENAME_MAX]; + SCSI_DEVTYPE nDeviceType; + bool bDiskInserted; + bool bWriteProtected; +} SCSIDISK; -typedef struct -{ - bool bAutoInsertDiskB; - bool bSlowFloppy; /* true to slow down FDC emulation */ - WRITEPROTECTION nWriteProtection; - char szDiskZipPath[MAX_FLOPPYDRIVES][FILENAME_MAX]; - char szDiskFileName[MAX_FLOPPYDRIVES][FILENAME_MAX]; - char szDiskImageDirectory[FILENAME_MAX]; -} CNF_DISKIMAGE; +typedef struct { + SCSIDISK target[ESP_MAX_DEVS]; +} CNF_SCSI; -/* Hard drives configuration */ -#define MAX_HARDDRIVES 23 +/* Magneto-optical drives configuration */ +#define MO_MAX_DRIVES 2 +typedef struct { + char szImageName[FILENAME_MAX]; + bool bDriveConnected; + bool bDiskInserted; + bool bWriteProtected; +} MODISK; + +typedef struct { + MODISK drive[MO_MAX_DRIVES]; +} CNF_MO; -typedef enum -{ - DRIVE_C, - DRIVE_D, - DRIVE_E, - DRIVE_F -} DRIVELETTER; +/* Floppy disk drives configuration */ +#define FLP_MAX_DRIVES 2 typedef struct { - char szImageName[FILENAME_MAX]; - bool bAttached; - bool bCDROM; -} SCSIDISK; + char szImageName[FILENAME_MAX]; + bool bDriveConnected; + bool bDiskInserted; + bool bWriteProtected; +} FLPDISK; + +typedef struct { + FLPDISK drive[FLP_MAX_DRIVES]; +} CNF_FLOPPY; + + +/* Ethernet configuration */ +typedef struct { + bool bEthernetConnected; +} CNF_ENET; -#define ESP_MAX_DEVS 7 -typedef struct -{ - SCSIDISK target[ESP_MAX_DEVS]; - - WRITEPROTECTION nWriteProtection; - bool bBootFromHardDisk; -} CNF_SCSI; /* Falcon register $FFFF8006 bits 6 & 7 (mirrored in $FFFF82C0 bits 0 & 1): * 00 Monochrome @@ -216,10 +237,9 @@ typedef struct typedef enum { - MONITOR_TYPE_MONO, - MONITOR_TYPE_RGB, - MONITOR_TYPE_VGA, - MONITOR_TYPE_TV + MONITOR_TYPE_DUAL, + MONITOR_TYPE_CPU, + MONITOR_TYPE_DIMENSION, } MONITORTYPE; /* Screen configuration */ @@ -246,10 +266,18 @@ typedef struct /* Printer configuration */ +typedef enum +{ + PAPER_A4, + PAPER_LETTER, + PAPER_B5, + PAPER_LEGAL +} PAPER_SIZE; + typedef struct { - bool bEnablePrinting; - bool bPrintToFile; + bool bPrinterConnected; + PAPER_SIZE nPaperSize; char szPrintToFileName[FILENAME_MAX]; } CNF_PRINTER; @@ -280,7 +308,7 @@ typedef enum typedef enum { MC68HC68T1, - MCS1850 + MCCS1850 } RTCCHIP; typedef enum @@ -290,7 +318,6 @@ typedef enum DSP_TYPE_EMU } DSPTYPE; -#if ENABLE_WINUAE_CPU typedef enum { FPU_NONE = 0, @@ -298,13 +325,12 @@ typedef enum FPU_68882 = 68882, FPU_CPU = 68040 } FPUTYPE; -#endif typedef struct { bool bColor; bool bTurbo; - bool bADB; + bool bNBIC; SCSICHIP nSCSI; RTCCHIP nRTC; int nCpuLevel; @@ -313,22 +339,26 @@ typedef struct MACHINETYPE nMachineType; bool bBlitter; /* TRUE if Blitter is enabled */ DSPTYPE nDSPType; /* how to "emulate" DSP */ + bool bDSPMemoryExpansion; bool bRealTimeClock; bool bPatchTimerD; bool bFastForward; - -#if ENABLE_WINUAE_CPU bool bAddressSpace24; bool bCycleExactCpu; FPUTYPE n_FPUType; bool bCompatibleFPU; /* More compatible FPU */ bool bMMU; /* TRUE if MMU is enabled */ -#endif - } CNF_SYSTEM; typedef struct { + bool bEnabled; + int nMemoryBankSize[4]; + char szRomFileName[FILENAME_MAX]; +} CNF_ND; + +typedef struct +{ int AviRecordVcodec; int AviRecordFps; char AviRecordFile[FILENAME_MAX]; @@ -347,16 +377,20 @@ typedef struct CNF_SCREEN Screen; CNF_KEYBOARD Keyboard; CNF_SHORTCUT Shortcut; + CNF_MOUSE Mouse; CNF_SOUND Sound; CNF_MEMORY Memory; - CNF_DISKIMAGE DiskImage; CNF_BOOT Boot; CNF_SCSI SCSI; + CNF_MO MO; + CNF_FLOPPY Floppy; + CNF_ENET Ethernet; CNF_ROM Rom; CNF_RS232 RS232; CNF_PRINTER Printer; CNF_MIDI Midi; CNF_SYSTEM System; + CNF_ND Dimension; CNF_VIDEO Video; } CNF_PARAMS; @@ -365,8 +399,11 @@ extern CNF_PARAMS ConfigureParams; extern char sConfigFileName[FILENAME_MAX]; extern void Configuration_SetDefault(void); +extern void Configuration_SetSystemDefaults(void); extern void Configuration_Apply(bool bReset); extern int Configuration_CheckMemory(int *banksize); +extern int Configuration_CheckDimensionMemory(int *banksize); +extern void Configuration_CheckDimensionSettings(void); extern void Configuration_Load(const char *psFileName); extern void Configuration_Save(void); extern void Configuration_MemorySnapShot_Capture(bool bSave);