Exemple #1
0
        void open_close_reu(REUSize old_size, REUSize new_size)
        {
            if (old_size == new_size)
            {
                return;
            }

            // Free old RAM
            if (old_size != REUSize.REU_NONE)
            {
                ex_ram = null;
            }

            // Allocate new RAM
            if (new_size != REUSize.REU_NONE)
            {
                switch (new_size)
                {
                case REUSize.REU_128K:
                    ram_size = 0x20000;
                    break;

                case REUSize.REU_256K:
                    ram_size = 0x40000;
                    break;

                case REUSize.REU_512K:
                    ram_size = 0x80000;
                    break;
                }
                ram_mask = ram_size - 1;
                ex_ram   = new byte[ram_size];

                // Set size bit in status register
                if (ram_size > 0x20000)
                {
                    regs[0] |= 0x10;
                }
                else
                {
                    regs[0] &= 0xef;
                }
            }
        }
Exemple #2
0
        void open_close_reu(REUSize old_size, REUSize new_size)
        {
            if (old_size == new_size)
                return;

            // Free old RAM
            if (old_size != REUSize.REU_NONE)
            {
                ex_ram = null;
            }

            // Allocate new RAM
            if (new_size != REUSize.REU_NONE)
            {
                switch (new_size)
                {
                    case REUSize.REU_128K:
                        ram_size = 0x20000;
                        break;
                    case REUSize.REU_256K:
                        ram_size = 0x40000;
                        break;
                    case REUSize.REU_512K:
                        ram_size = 0x80000;
                        break;
                }
                ram_mask = ram_size - 1;
                ex_ram = new byte[ram_size];

                // Set size bit in status register
                if (ram_size > 0x20000)
                    regs[0] |= 0x10;
                else
                    regs[0] &= 0xef;
            }
        }
Exemple #3
0
        public string ViewPort; // Size of the C64 screen to display (Win32)

        #endregion Fields

        #region Constructors

        public Prefs()
        {
            NormalCycles = 63;
            BadLineCycles = 23;
            CIACycles = 63;
            FloppyCycles = 64;
            SkipFrames = 2;
            LatencyMin = 80;
            LatencyMax = 120;
            LatencyAvg = 280;
            ScalingNumerator = 2;
            ScalingDenominator = 2;

            for (int i = 0; i < 4; i++)
                DriveType[i] = SharpC64.DriveType.DRVTYPE_DIR;

            DrivePath[0] = "64prgs";

            ViewPort = "Default";
            DisplayMode ="Default";

            SIDType = SharpC64.SIDType.SIDTYPE_NONE;
            REUSize = SharpC64.REUSize.REU_NONE;
            DisplayType = SharpC64.DisplayType.DISPTYPE_WINDOW;

            SpritesOn = true;
            SpriteCollisions = true;
            Joystick1On = false;
            Joystick2On = false;
            JoystickSwap = false;
            LimitSpeed = true;
            FastReset = false;
            CIAIRQHack = false;
            MapSlash = true;
            Emul1541Proc = false;
            SIDFilters = true;
            DoubleScan = true;
            HideCursor = false;
            DirectSound = true;
            ExclusiveSound = false;
            AutoPause = false;
            PrefsAtStartup = false;
            SystemMemory = false;
            AlwaysCopy = false;
            SystemKeys = true;
            ShowLEDs = true;
        }