Ejemplo n.º 1
0
        public void RegisterAddressBlocks(IAddressManager addressManager)
        {
            AddressBlock staticRomBank = new AddressBlock(0x0000, 0x03FF, true, true);
            AddressBlock romPage0 = new AddressBlock(0x0400, 0x3FFF, true, false);
            AddressBlock romPage1 = new AddressBlock(0x4000, 0x7FFF, true, false);
            AddressBlock romPage2 = new AddressBlock(0x8000, 0xBFFF, false, false);
            AddressBlock pageSelection = new AddressBlock(0xFFFC, 0xFFFF, false, true);

            staticRomBank.ReadExpression = StaticRomReadExpression;
            staticRomBank.WriteExpression = ReadOnlyExpression;

            romPage0.WriteExpression = ReadOnlyExpression;
            romPage0.ReadExpression  = RomPage0ReadExpression;
            
            romPage1.WriteExpression = ReadOnlyExpression;
            romPage1.ReadExpression =  RomPage1ReadExpression;
            
            romPage2.WriteExpression = ReadOnlyExpression;
            romPage2.ReadExpression = RomPage2ReadExpression;

            pageSelection.WriteExpression = PageSelectionWriteExpression;
            pageSelection.ReadExpression = WriteOnlyExpression;

            addressManager.RegisterAddressBlock(staticRomBank);
            addressManager.RegisterAddressBlock(romPage0);
            addressManager.RegisterAddressBlock(romPage1);
            addressManager.RegisterAddressBlock(romPage2);
            addressManager.RegisterAddressBlock(pageSelection);
        }
Ejemplo n.º 2
0
 public void RegisterAddressBlocks(IAddressManager addressManager)
 {
     AddressBlock addressBlock = new AddressBlock(0x10000, 0x10006, false, false);
     addressBlock.ReadExpression = ReadExpression;
     addressBlock.WriteExpression = WriteExpression;
     addressManager.RegisterAddressBlock(addressBlock);
 }
Ejemplo n.º 3
0
        public void RegisterAddressBlocks(IAddressManager addressManager)
        {
            var block = new AddressBlock(0xC000, 0xFFFB, false, false);

            block.ReadExpression = Read;
            block.WriteExpression = Write;
                
            addressManager.RegisterAddressBlock(block);
        }
Ejemplo n.º 4
0
 public void RegisterAddressBlock(AddressBlock addressBlock)
 {
     _readDelegate = null;
     _addressBlocks.Add(addressBlock);
 }