--- previous/src/includes/configuration.h 2018/04/24 19:26:00 1.1.1.2 +++ previous/src/includes/configuration.h 2018/04/24 19:28:11 1.1.1.3 @@ -8,6 +8,13 @@ #ifndef HATARI_CONFIGURATION_H #define HATARI_CONFIGURATION_H + +/* Configuration Dialog */ +typedef struct +{ + bool bShowConfigDialogAtStartup; +} CNF_CONFIGDLG; + /* Logging and tracing */ typedef struct { @@ -19,7 +26,7 @@ typedef struct } CNF_LOG; -/* debugger */ +/* Debugger */ typedef struct { int nNumberBase; @@ -28,11 +35,12 @@ typedef struct } CNF_DEBUGGER; -/* ROM (TOS + cartridge) configuration */ +/* ROM configuration */ typedef struct { - char szTosImageFileName[FILENAME_MAX]; - char szCartridgeImageFileName[FILENAME_MAX]; + char szRom030FileName[FILENAME_MAX]; + char szRom040FileName[FILENAME_MAX]; + char szRomTurboFileName[FILENAME_MAX]; } CNF_ROM; @@ -103,39 +111,48 @@ typedef struct int withoutModifier[SHORTCUT_KEYS]; } CNF_SHORTCUT; +/* Memory configuration */ + +typedef enum +{ + MEMORY_120NS, + MEMORY_100NS, + MEMORY_80NS, + MEMORY_60NS +} MEMORY_SPEED; typedef struct { - int nMemorySize; + int nMemoryBankSize[4]; + MEMORY_SPEED nMemorySpeed; bool bAutoSave; char szMemoryCaptureFileName[FILENAME_MAX]; char szAutoSaveFileName[FILENAME_MAX]; } CNF_MEMORY; -/* Joystick configuration */ -typedef enum -{ - JOYSTICK_DISABLED, - JOYSTICK_REALSTICK, - JOYSTICK_KEYBOARD -} JOYSTICKMODE; +/* Dialog Boot options */ -typedef struct +typedef enum { - JOYSTICKMODE nJoystickMode; - bool bEnableAutoFire; - bool bEnableJumpOnFire2; - int nJoyId; - int nKeyCodeUp, nKeyCodeDown, nKeyCodeLeft, nKeyCodeRight, nKeyCodeFire; -} JOYSTICK; - -#define JOYSTICK_COUNT 6 + BOOT_ROM, + BOOT_SCSI, + BOOT_ETHERNET, + BOOT_MO, + BOOT_FLOPPY +} BOOT_DEVICE; typedef struct { - JOYSTICK Joy[JOYSTICK_COUNT]; -} CNF_JOYSTICKS; + BOOT_DEVICE nBootDevice; + bool bEnableDRAMTest; + bool bEnablePot; + bool bExtendedPot; + bool bEnableSoundTest; + bool bEnableSCSITest; + bool bLoopPot; + bool bVerbose; +} CNF_BOOT; /* Disk image configuration */ @@ -171,20 +188,20 @@ typedef enum DRIVE_F } DRIVELETTER; +typedef struct { + char szImageName[FILENAME_MAX]; + bool bAttached; + bool bCDROM; +} SCSIDISK; + +#define ESP_MAX_DEVS 7 typedef struct { - int nHardDiskDir; - bool bUseHardDiskDirectories; - bool bUseHardDiskImage; - bool bUseIdeMasterHardDiskImage; - bool bUseIdeSlaveHardDiskImage; + SCSIDISK target[ESP_MAX_DEVS]; + WRITEPROTECTION nWriteProtection; bool bBootFromHardDisk; - char szHardDiskDirectories[MAX_HARDDRIVES][FILENAME_MAX]; - char szHardDiskImage[FILENAME_MAX]; - char szIdeMasterHardDiskImage[FILENAME_MAX]; - char szIdeSlaveHardDiskImage[FILENAME_MAX]; -} CNF_HARDDISK; +} CNF_SCSI; /* Falcon register $FFFF8006 bits 6 & 7 (mirrored in $FFFF82C0 bits 0 & 1): * 00 Monochrome @@ -249,15 +266,25 @@ typedef struct /* Dialog System */ typedef enum { - MACHINE_ST, - MACHINE_STE, - MACHINE_TT, - MACHINE_FALCON, - MACHINE_MEGA_STE, + NEXT_CUBE030, + NEXT_CUBE040, + NEXT_STATION } MACHINETYPE; typedef enum { + NCR53C90, + NCR53C90A +} SCSICHIP; + +typedef enum +{ + MC68HC68T1, + MCS1850 +} RTCCHIP; + +typedef enum +{ DSP_TYPE_NONE, DSP_TYPE_DUMMY, DSP_TYPE_EMU @@ -266,15 +293,20 @@ typedef enum #if ENABLE_WINUAE_CPU typedef enum { - FPU_NONE, - FPU_68881, - FPU_68882, - FPU_CPU + FPU_NONE = 0, + FPU_68881 = 68881, + FPU_68882 = 68882, + FPU_CPU = 68040 } FPUTYPE; #endif typedef struct { + bool bColor; + bool bTurbo; + bool bADB; + SCSICHIP nSCSI; + RTCCHIP nRTC; int nCpuLevel; int nCpuFreq; bool bCompatibleCpu; /* Prefetch mode */ @@ -309,16 +341,17 @@ typedef struct typedef struct { /* Configure */ + CNF_CONFIGDLG ConfigDialog; CNF_LOG Log; CNF_DEBUGGER Debugger; CNF_SCREEN Screen; - CNF_JOYSTICKS Joysticks; CNF_KEYBOARD Keyboard; CNF_SHORTCUT Shortcut; CNF_SOUND Sound; CNF_MEMORY Memory; CNF_DISKIMAGE DiskImage; - CNF_HARDDISK HardDisk; + CNF_BOOT Boot; + CNF_SCSI SCSI; CNF_ROM Rom; CNF_RS232 RS232; CNF_PRINTER Printer; @@ -333,6 +366,7 @@ extern char sConfigFileName[FILENAME_MAX extern void Configuration_SetDefault(void); extern void Configuration_Apply(bool bReset); +extern int Configuration_CheckMemory(int *banksize); extern void Configuration_Load(const char *psFileName); extern void Configuration_Save(void); extern void Configuration_MemorySnapShot_Capture(bool bSave);