Пример #1
0
        private void button1_Click(object sender, System.EventArgs e)
        {
            RegisterAccess.WriteKey("serverName", this.serverName.Text);
            RegisterAccess.WriteKey("dataBase", this.dataBase.Text);
            RegisterAccess.WriteKey("userID", this.userID.Text);
            RegisterAccess.WriteKey("passWord", this.passWord.Text);
            RegisterAccess.WriteKey("port", this.port.Text);

            if (rdbSql2000.Checked)
            {
                RegisterAccess.WriteKey("DBType", "SQLSERVER2000");
            }
            else if (rdbSQL2005.Checked)
            {
                RegisterAccess.WriteKey("DBType", "SQLSERVER2005");
            }
            else if (rdbMySQL.Checked)
            {
                RegisterAccess.WriteKey("DBType", "MYSQL");
            }
            else if (rdbOracle.Checked)
            {
                RegisterAccess.WriteKey("DBType", "ORACLE11G");
            }
            DataMarket.SetTableDataSetNull();


            this.DialogResult = DialogResult.OK;
        }
Пример #2
0
        private void save_Click(object sender, System.EventArgs e)
        {
            RegisterAccess.WriteKey("corpName", this.corpName.Text);
            RegisterAccess.WriteKey("structureName", this.structureName.Text);
            RegisterAccess.WriteKey("userName", this.userName.Text);
            RegisterAccess.WriteKey("email", this.eMail.Text);

            this.Close();
        }
Пример #3
0
 private void ConnectServer_Load(object sender, System.EventArgs e)
 {
     this.serverName.Text = RegisterAccess.ReadKey("serverName");
     this.dataBase.Text   = RegisterAccess.ReadKey("dataBase");
     this.userID.Text     = RegisterAccess.ReadKey("userID");
     this.passWord.Text   = RegisterAccess.ReadKey("passWord");
     this.port.Text       = RegisterAccess.ReadKey("port");
     if (this.port.Text.Trim() == "")
     {
         this.port.Text = "3306";
     }
     if (RegisterAccess.ReadKey("DBType").Equals("SQLSERVER2005"))
     {
         rdbSQL2005.Checked = true;
         rdbSql2000.Checked = false;
         rdbMySQL.Checked   = false;
         rdbOracle.Checked  = false;
     }
     else if (RegisterAccess.ReadKey("DBType").Equals("SQLSERVER2000"))
     {
         rdbSQL2005.Checked = false;
         rdbSql2000.Checked = true;
         rdbMySQL.Checked   = false;
         rdbOracle.Checked  = false;
     }
     else if (RegisterAccess.ReadKey("DBType").Equals("MYSQL"))
     {
         rdbSQL2005.Checked = false;
         rdbSql2000.Checked = false;
         rdbMySQL.Checked   = true;
         rdbOracle.Checked  = false;
     }
     else if (RegisterAccess.ReadKey("DBType").Equals("ORACLE11G"))
     {
         rdbSQL2005.Checked = false;
         rdbSql2000.Checked = false;
         rdbMySQL.Checked   = false;
         rdbOracle.Checked  = true;
     }
 }
Пример #4
0
        public RegisterCollection(Cpu aCpu)
        {
            Cpu = aCpu;

            const RegisterAccess rw =
                RegisterAccess.R | RegisterAccess.W;

            const RegisterAccess r = RegisterAccess.R;

            const RegisterAccess pw = RegisterAccess.PW;

            const RegisterAccess rpw = r | pw;

            const RegisterAccess prpw =
                RegisterAccess.PR | pw;

            #region Register Decelerations

            // --------------- Data Registers ---------------
            var regR1 =
                new Register(aCpu, rw, Core.Register.Registers.R1);
            var regR2 =
                new Register(aCpu, rw, Core.Register.Registers.R2);
            var regR3 =
                new Register(aCpu, rw, Core.Register.Registers.R3);
            var regR4 =
                new Register(aCpu, rw, Core.Register.Registers.R4);
            var regR5 =
                new Register(aCpu, rw, Core.Register.Registers.R5);
            var regR6 =
                new Register(aCpu, rw, Core.Register.Registers.R6);
            var regR7 =
                new Register(aCpu, rw, Core.Register.Registers.R7);
            var regR8 =
                new Register(aCpu, rw, Core.Register.Registers.R8);

            // --------------- Special Registers ---------------
            var regAc =
                new Register(aCpu, rw, Core.Register.Registers.AC);
            var regIp =
                new Register(aCpu, rw, Core.Register.Registers.IP);
            var regSp =
                new Register(aCpu, prpw, Core.Register.Registers.SP);
            var regFp =
                new Register(aCpu, rpw, Core.Register.Registers.FP);
            var regFl =
                new Register(aCpu,
                             rw,
                             Core.Register.Registers.FL,
                             typeof(CpuFlags));
            var regPc =
                new Register(aCpu, rpw, Core.Register.Registers.PC);

            #endregion // Register Decelerations

            #region Register Binding

            Registers.Add(Core.Register.Registers.R1, regR1);
            Registers.Add(Core.Register.Registers.R2, regR2);
            Registers.Add(Core.Register.Registers.R3, regR3);
            Registers.Add(Core.Register.Registers.R4, regR4);
            Registers.Add(Core.Register.Registers.R5, regR5);
            Registers.Add(Core.Register.Registers.R6, regR6);
            Registers.Add(Core.Register.Registers.R7, regR7);
            Registers.Add(Core.Register.Registers.R8, regR8);
            Registers.Add(Core.Register.Registers.AC, regAc);
            Registers.Add(Core.Register.Registers.IP, regIp);
            Registers.Add(Core.Register.Registers.SP, regSp);
            Registers.Add(Core.Register.Registers.FP, regFp);
            Registers.Add(Core.Register.Registers.FL, regFl);
            Registers.Add(Core.Register.Registers.PC, regPc);

            #endregion // Register Binding
        }
Пример #5
0
        public void UpdateCpuRegions(GbState gbState)
        {
            GbMemoryManagerState    state   = gbState.MemoryManager;
            List <MemoryRegionInfo> regions = new List <MemoryRegionInfo>();

            Action <int> addEmpty = (int size) => { regions.Add(new MemoryRegionInfo()
                {
                    Name = "N/A", Size = size, Color = Color.FromArgb(222, 222, 222)
                }); };

            Action <int, int, RegisterAccess> addWorkRam = (int page, int size, RegisterAccess type) => {
                string name = size >= 0x1000 ? ("WRAM ($" + page.ToString("X2") + ")") : (size >= 0x800 ? ("$" + page.ToString("X2")) : "");
                regions.Add(new MemoryRegionInfo()
                {
                    Name = name, Size = size, Color = Color.FromArgb(0xCD, 0xDC, 0xFA), AccessType = type
                });
            };

            Action <int, int, RegisterAccess> addSaveRam = (int page, int size, RegisterAccess type) => {
                string name = size >= 0x2000 ? ("Save RAM ($" + page.ToString("X2") + ")") : (size >= 0x800 ? ("$" + page.ToString("X2")) : "");
                regions.Add(new MemoryRegionInfo()
                {
                    Name = name, Size = size, Color = Color.FromArgb(0xFA, 0xDC, 0xCD), AccessType = type
                });
            };

            Action <int, int, RegisterAccess> addCartRam = (int page, int size, RegisterAccess type) => {
                string name = size >= 0x2000 ? ("Cart RAM ($" + page.ToString("X2") + ")") : (size >= 0x800 ? ("$" + page.ToString("X2")) : "");
                regions.Add(new MemoryRegionInfo()
                {
                    Name = name, Size = size, Color = Color.FromArgb(0xFA, 0xDC, 0xCD), AccessType = type
                });
            };

            Action <int, int, Color> addPrgRom = (int page, int size, Color color) => { regions.Add(new MemoryRegionInfo()
                {
                    Name = "$" + page.ToString("X2"), Size = size, Color = color
                }); };

            Action <int> addBootRom = (int size) => { regions.Add(new MemoryRegionInfo()
                {
                    Name = "", Size = size, Color = Color.IndianRed
                }); };

            GbMemoryType   memoryType     = GbMemoryType.None;
            RegisterAccess accessType     = RegisterAccess.None;
            int            currentSize    = 0;
            int            startIndex     = 0;
            bool           alternateColor = true;

            const int prgBankSize   = 0x4000;
            const int otherBankSize = 0x2000;

            Action <int> addSection = (int i) => {
                if (currentSize == 0)
                {
                    return;
                }

                if (memoryType == GbMemoryType.None)
                {
                    addEmpty(currentSize);
                }
                else if (memoryType == GbMemoryType.PrgRom)
                {
                    addPrgRom((int)(state.MemoryOffset[startIndex] / prgBankSize), currentSize, alternateColor ? Color.FromArgb(0xC4, 0xE7, 0xD4) : Color.FromArgb(0xA4, 0xD7, 0xB4));
                    alternateColor = !alternateColor;
                }
                else if (memoryType == GbMemoryType.WorkRam)
                {
                    addWorkRam((int)(state.MemoryOffset[startIndex] / otherBankSize), currentSize, accessType);
                }
                else if (memoryType == GbMemoryType.CartRam)
                {
                    if (gbState.HasBattery)
                    {
                        addSaveRam((int)(state.MemoryOffset[startIndex] / otherBankSize), currentSize, accessType);
                    }
                    else
                    {
                        addCartRam((int)(state.MemoryOffset[startIndex] / otherBankSize), currentSize, accessType);
                    }
                }
                else if (memoryType == GbMemoryType.BootRom)
                {
                    addBootRom(currentSize);
                }
                currentSize = 0;
                startIndex  = i;
            };

            for (int i = 0; i < 0xFE; i++)
            {
                if (i == 0x80)
                {
                    addSection(i);
                    regions.Add(new MemoryRegionInfo()
                    {
                        Name = "VRAM", Size = 0x2000, Color = Color.FromArgb(0xFA, 0xDC, 0xCD), AccessType = RegisterAccess.ReadWrite
                    });
                    addSection(i);
                    memoryType  = GbMemoryType.None;
                    accessType  = RegisterAccess.None;
                    currentSize = 0;
                    i          += 0x20;
                }

                if (state.MemoryAccessType[i] != RegisterAccess.None)
                {
                    bool forceNewBlock = (
                        (memoryType == GbMemoryType.PrgRom && state.MemoryOffset[i] % prgBankSize == 0) ||
                        (memoryType == GbMemoryType.WorkRam && state.MemoryOffset[i] % otherBankSize == 0) ||
                        (memoryType == GbMemoryType.CartRam && state.MemoryOffset[i] % otherBankSize == 0)
                        );

                    if (forceNewBlock || memoryType != state.MemoryType[i] || state.MemoryOffset[i] - state.MemoryOffset[i - 1] != 0x100)
                    {
                        addSection(i);
                    }
                    memoryType = state.MemoryType[i];
                    accessType = state.MemoryAccessType[i];
                }
                else
                {
                    if (memoryType != GbMemoryType.None)
                    {
                        addSection(i);
                    }
                    memoryType = GbMemoryType.None;
                    accessType = RegisterAccess.None;
                }
                currentSize += 0x100;
            }

            //Set work ram mappings to stop at 0xFE00
            addSection(-1);
            regions[regions.Count - 1].Size = 0x1E00;

            regions.Add(new MemoryRegionInfo()
            {
                Name = "", Size = 0x200, Color = Color.FromArgb(222, 222, 222)
            });

            UpdateRegionArray(regions);
        }
Пример #6
0
 /// <summary>
 /// 从注册表读取信息 天如窗口中
 /// </summary>
 private void FillForm()
 {
     this.corpName.Text = RegisterAccess.ReadKey("corpName");
     this.userName.Text = RegisterAccess.ReadKey("userName");
     this.eMail.Text    = RegisterAccess.ReadKey("email");
 }
Пример #7
0
 public CoolitRegisterData(RegisterAccess access, int length, byte address)
 {
     Access = access;
     Length = length;
     AddressByteRepresentation = address;
 }