Пример #1
0
        //logical register writes, called from the serial controller
        public void SerialWriteRegister(int addr, int value)
        {
            switch (addr)
            {
            case 0:                     //8000-9FFF
                mirror   = _mirrorTypes[value & 3];
                prg_slot = ((value >> 2) & 1);
                prg_mode = ((value >> 3) & 1);
                chr_mode = ((value >> 4) & 1);
                break;

            case 1:                     //A000-BFFF
                chr_0 = value & 0x1F;
                break;

            case 2:                     //C000-DFFF
                chr_1 = value & 0x1F;
                break;

            case 3:                     //E000-FFFF
                prg          = value & 0xF;
                wram_disable = (value >> 4) & 1;
                break;
            }
            //board.NES.LogLine("mapping.. chr_mode={0}, chr={1},{2}", chr_mode, chr_0, chr_1);
            //board.NES.LogLine("mapping.. prg_mode={0}, prg_slot{1}, prg={2}", prg_mode, prg_slot, prg);
        }
Пример #2
0
 public void StandardReset()
 {
     prg_mode = 1;
     prg_slot = 1;
     chr_mode = 1;
     scnt.Reset();
     mirror = NES.NESBoardBase.EMirrorType.Horizontal;
     SyncCHR();
     SyncPRG();
 }
Пример #3
0
		//logical register writes, called from the serial controller
		public void SerialWriteRegister(int addr, int value)
		{
			switch (addr)
			{
				case 0: //8000-9FFF
					mirror = _mirrorTypes[value & 3];
					prg_slot = ((value >> 2) & 1);
					prg_mode = ((value >> 3) & 1);
					chr_mode = ((value >> 4) & 1);
					break;
				case 1: //A000-BFFF
					chr_0 = value & 0x1F;
					break;
				case 2: //C000-DFFF
					chr_1 = value & 0x1F;
					break;
				case 3: //E000-FFFF
					prg = value & 0xF;
					wram_disable = (value >> 4) & 1;
					break;
			}
			//board.NES.LogLine("mapping.. chr_mode={0}, chr={1},{2}", chr_mode, chr_0, chr_1);
			//board.NES.LogLine("mapping.. prg_mode={0}, prg_slot{1}, prg={2}", prg_mode, prg_slot, prg);
		}
Пример #4
0
		public void StandardReset()
		{
			prg_mode = 1;
			prg_slot = 1;
			chr_mode = 1;
			scnt.Reset();
			mirror = NES.NESBoardBase.EMirrorType.Horizontal;
			SyncCHR();
			SyncPRG();
		}