/// <summary>
        /// Refreshes the specified memory line
        /// </summary>
        /// <param name="addr">Address of the memory line</param>
        public override void RefreshItem(int addr)
        {
            var memory = GetMemoryBuffer();
            var length = GetMemoryLength();

            if (memory == null || length == null)
            {
                return;
            }

            if (addr < 0 || addr >= length)
            {
                return;
            }

            var memLine = new MemoryLineViewModel(addr);

            memLine.BindTo(memory);
            var lineNo = addr >> 4;

            if (lineNo < MemoryLines.Count)
            {
                MemoryLines[lineNo] = memLine;
            }
        }
Exemple #2
0
        /// <summary>
        /// Refreshes the specified memory line
        /// </summary>
        /// <param name="addr">Address of the memory line</param>
        public override void RefreshItem(int addr)
        {
            var memory = GetMemoryBuffer();
            var length = GetMemoryLength();

            if (memory == null || length == null)
            {
                return;
            }

            if (addr < 0 || addr >= length)
            {
                return;
            }

            Z80Registers regs = null;

            if (MachineState != VmState.None && MachineState != VmState.Stopped)
            {
                regs = SpectrumVm.Cpu.Registers;
            }
            var memLine = new MemoryLineViewModel(regs, addr);

            memLine.BindTo(memory, this);
            var lineNo = addr >> 4;

            if (lineNo < MemoryLines.Count)
            {
                MemoryLines[lineNo] = memLine;
            }
        }
Exemple #3
0
        /// <summary>
        /// Initializes the memory lines with empty values
        /// </summary>
        public override void InitViewMode()
        {
            var memory = GetMemoryBuffer();
            var length = GetMemoryLength();

            if (memory == null || length == null)
            {
                return;
            }

            MemoryLines.Clear();
            Z80Registers regs = null;

            if (MachineState != VmState.None && MachineState != VmState.Stopped)
            {
                regs = SpectrumVm.Cpu.Registers;
            }

            for (var i = 0; i < length; i += 16)
            {
                var line = new MemoryLineViewModel(regs, (ushort)i);
                line.BindTo(memory, this);
                MemoryLines.Add(line);
            }
        }
Exemple #4
0
        /// <summary>
        /// Refreshes the specified memory line
        /// </summary>
        /// <param name="addr">Address of the memory line</param>
        public void RefreshMemoryLine(int addr)
        {
            var memory  = VmStopped ? null : MachineViewModel.SpectrumVm.MemoryDevice.GetMemoryBuffer();
            var memLine = new MemoryLineViewModel(addr);

            memLine.BindTo(memory);
            MemoryLines[addr >> 4] = memLine;
        }
        /// <summary>
        /// Initializes the memory lines with empty values
        /// </summary>
        public override void InitViewMode()
        {
            var memory = GetMemoryBuffer();
            var length = GetMemoryLength();

            if (memory == null || length == null)
            {
                return;
            }

            MemoryLines.Clear();
            for (var i = 0; i < length; i += 16)
            {
                var line = new MemoryLineViewModel((ushort)i);
                line.BindTo(memory);
                MemoryLines.Add(line);
            }
        }
Exemple #6
0
 /// <summary>
 /// Refresh the view mode for every start/continue
 /// </summary>
 protected override void OnStart()
 {
     base.OnStart();
     MemoryLineViewModel.RefreshRegisterBrushes();
 }