コード例 #1
0
        private void InternalDataBus_SendTo(InternalDataBusConnection target)
        {
            switch (target)
            {
            case InternalDataBusConnection.DataBus:
                Data.SetValue(InternalDataBus);
                break;

            case InternalDataBusConnection.IR:
                IR = InternalDataBus;
                break;

            case InternalDataBusConnection.W:
                W = InternalDataBus;
                break;

            case InternalDataBusConnection.Z:
                Z = InternalDataBus;
                break;

            case InternalDataBusConnection.ALURightBuffer:
                ALURightBuffer = InternalDataBus;
                break;

            case InternalDataBusConnection.SPh:
                SPh = InternalDataBus;
                break;

            case InternalDataBusConnection.SPl:
                SPl = InternalDataBus;
                break;

            case InternalDataBusConnection.F:
                F = InternalDataBus;
                break;

            case InternalDataBusConnection.PCh:
                PCh = InternalDataBus;
                break;

            case InternalDataBusConnection.PCl:
                PCl = InternalDataBus;
                break;

            default:
                throw new NotImplementedException();
            }
            if (TraceMicroInstructions)
            {
                TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.InternalDataBusSendTo, target));
                if (target == InternalDataBusConnection.DataBus)
                {
                    TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.BusConnectorSetValue, target));
                }
            }
        }
コード例 #2
0
        private void InternalDataBus_SampleFrom(InternalDataBusConnection source)
        {
            switch (source)
            {
            case InternalDataBusConnection.DataBus:
                InternalDataBus = Data.SampleValue();
                break;

            case InternalDataBusConnection.W:
                InternalDataBus = W;
                break;

            case InternalDataBusConnection.Z:
                InternalDataBus = Z;
                break;

            case InternalDataBusConnection.ALURightBuffer:
                InternalDataBus = ALURightBuffer;
                break;

            case InternalDataBusConnection.SPh:
                InternalDataBus = SPh;
                break;

            case InternalDataBusConnection.SPl:
                InternalDataBus = SPl;
                break;

            case InternalDataBusConnection.F:
                InternalDataBus = F;
                break;

            case InternalDataBusConnection.PCh:
                InternalDataBus = PCh;
                break;

            case InternalDataBusConnection.PCl:
                InternalDataBus = PCl;
                break;

            default:
                throw new NotImplementedException();
            }
            if (TraceMicroInstructions)
            {
                TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.InternalDataBusSampleFrom, source));
            }
        }
コード例 #3
0
 private void InternalDataBus_SendTo(InternalDataBusConnection target)
 {
     switch (target)
     {
         case InternalDataBusConnection.DataBus:
             Data.SetValue(InternalDataBus);
             break;
         case InternalDataBusConnection.IR:
             IR = InternalDataBus;
             break;
         case InternalDataBusConnection.W:
             W = InternalDataBus;
             break;
         case InternalDataBusConnection.Z:
             Z = InternalDataBus;
             break;
         case InternalDataBusConnection.ALURightBuffer:
             ALURightBuffer = InternalDataBus;
             break;
         case InternalDataBusConnection.SPh:
             SPh = InternalDataBus;
             break;
         case InternalDataBusConnection.SPl:
             SPl = InternalDataBus;
             break;
         case InternalDataBusConnection.F:
             F = InternalDataBus;
             break;
         case InternalDataBusConnection.PCh:
             PCh = InternalDataBus;
             break;
         case InternalDataBusConnection.PCl:
             PCl = InternalDataBus;
             break;
         default:
             throw new NotImplementedException();
     }
     if (TraceMicroInstructions)
     {
         TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.InternalDataBusSendTo, target));
         if (target == InternalDataBusConnection.DataBus)
         {
             TraceMicroInstruction(new MicroInstruction(Z80MicroInstructionTypes.BusConnectorSetValue, target));
         }
     }
 }
コード例 #4
0
 private void InternalDataBus_SampleFrom(InternalDataBusConnection source)
 {
     switch (source)
     {
         case InternalDataBusConnection.DataBus:
             InternalDataBus = Data.SampleValue();
             break;
         case InternalDataBusConnection.W:
             InternalDataBus = W;
             break;
         case InternalDataBusConnection.Z:
             InternalDataBus = Z;
             break;
         case InternalDataBusConnection.ALURightBuffer:
             InternalDataBus = ALURightBuffer;
             break;
         case InternalDataBusConnection.SPh:
             InternalDataBus = SPh;
             break;
         case InternalDataBusConnection.SPl:
             InternalDataBus = SPl;
             break;
         case InternalDataBusConnection.F:
             InternalDataBus = F;
             break;
         case InternalDataBusConnection.PCh:
             InternalDataBus = PCh;
             break;
         case InternalDataBusConnection.PCl:
             InternalDataBus = PCl;
             break;
         default:
             throw new NotImplementedException();
     }
     if (TraceMicroInstructions)
     {
         TraceMicroInstruction( new MicroInstruction(Z80MicroInstructionTypes.InternalDataBusSampleFrom, source)  );
     }
 }