private void Dependencies()
        {
            PPUAddress = VWord.New(Ram, $"{nameof(ShadowAttributeTable_v1)}_{nameof(PPUAddress)}");
            Table      = Array <VByte> .New(64, Ram, $"{nameof(ShadowAttributeTable_v1)}_{nameof(Table)}");

            _temp = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v1)}{nameof(_temp)}");
        }
 public void SetWord(VWord n)
 {
     _liveQueue.Write(Y, () => {
         _liveQueue.Push(_opAddr);
         _liveQueue.Push(n.Hi);
         _liveQueue.Push(n.Lo);
     });
 }
Beispiel #3
0
        public VWord this[IndexingRegister reg] {
            get {
                Temp[0].Set(_lo[reg]);
                Temp[1].Set(_hi[reg]);

                //TODO: fix these up: all Ref functions need versions that can accept VByte lists
                return(VWord.Ref(Temp[0], 2, Temp[0].Name));
            }
        }
        private void Dependencies()
        {
            PPUAddress = VWord.New(Ram, $"{nameof(ShadowAttributeTable_v2)}_{nameof(PPUAddress)}");
            Table      = Array <VByte> .New(64, Ram, $"{nameof(ShadowAttributeTable_v2)}_{nameof(Table)}");

            _temp                 = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_temp)}");
            _attrMaskIdHoriz      = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_attrMaskIdHoriz)}");
            _attrMaskIdVert       = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_attrMaskIdVert)}");
            _attrOffsetLoStart    = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_attrOffsetLoStart)}");
            _attrOffsetLo         = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_attrOffsetLo)}");
            _attrOffsetLoRowStart = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_attrOffsetLoRowStart)}");
            _lastAttrMask         = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_lastAttrMask)}");
            _currentAttrMask      = VByte.New(Ram, $"{nameof(ShadowAttributeTable_v2)}{nameof(_currentAttrMask)}");
        }