Exemplo n.º 1
0
 private void ResetBus()
 {
     this.CMR0      = 0;
     this.CMR1      = 0;
     this.PAGE1     = 5;
     this.PAGE0     = 0;
     this.PAGE2     = 2;
     this.PAGE3     = 0x40;
     this._cache    = false;
     this._romIndex = 0;
     this._sys      = false;
     this._romA16   = false;
     _firstRead     = true;
     //надо false и сделать обработку порта 204Eh
     _accEnable = true;
     _accOn     = false;
     _accMode   = AccelCMD.Off;
     UpdateMapping();
 }
Exemplo n.º 2
0
 private void busReset()
 {
     this.CMR0 = 0;
     this.CMR1 = 0;
     this.PAGE1 = 5;
     this.PAGE0 = 0;
     this.PAGE2 = 2;
     this.PAGE3 = 0x40;
     this.m_cache = false;
     this.m_romindex = 0;
     this.m_sys = false;
     this.m_romA16 = false;
     m_firstread = true;
     //надо false и сделать обработку порта 204Eh
     m_acc_enable = true;
     m_acc_on = false;
     m_acc_mode = AccelCMD.Off;
     UpdateMapping();
 }
Exemplo n.º 3
0
 /*        private void GetAccelDATA(ushort addr, ref byte value)
 {
     if (m_acc_enable && m_acc_on && m_acc_wait_data)
     {
         ;
     }
 }*/
 private void Accelerator(ushort addr, ref byte value)
 {
     if (m_acc_enable)
     {
         switch (this.RDMEM_DBG(addr))
         {
                 //Accelerator off - ld b,b
             case 0x40:
                 {
     //                            m_acc_on = false;
     //                            m_acc_wait_cmd = false;
                     m_acc_mode = AccelCMD.Off;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
                 //Accelerator on - ld d,d
             case 0x52:
                 {
                     m_acc_on = true;
     //                            m_acc_wait_cmd = true;
                     m_acc_mode = AccelCMD.On;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0x49:
                 {
                     m_acc_on = true;
                     m_acc_mode = AccelCMD.Fill;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0x5B:
                 {
                     m_acc_on = true;
                     m_acc_mode = AccelCMD.GrFill;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0x64:
                 {
                     m_acc_on = true;
                     m_acc_mode = AccelCMD.Reserved;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0x6D:
                 {
                     m_acc_on = true;
                     m_acc_mode = AccelCMD.CopyBlok;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0x7F:
                 {
                     m_acc_on = true;
                     m_acc_mode = AccelCMD.GrCopyBlok;
                     m_acc_submode = AccelSubCMD.None;
                 }
                 break;
             case 0xAE:
                 {
                     m_acc_on = true;
                     m_acc_submode = AccelSubCMD.XORBlok;
                 }break;
             case 0xB6:
                 {
                     m_acc_on = true;
                     m_acc_submode = AccelSubCMD.ORBlok;
                 } break;
             case 0xA6:
                 {
                     m_acc_on = true;
                     m_acc_submode = AccelSubCMD.ANDBlok;
                 } break;
         }
     }
 }
Exemplo n.º 4
0
        /*
         * private void GetAccelDATA(ushort addr, ref byte value)
         * {
         *  if (_accEnable && _accOn && _accWaitData)
         *  {
         *  }
         * }
         */

        private void Accelerator(ushort addr, ref byte value)
        {
            if (!_accEnable || value < 0x40)
            {
                return;
            }
            switch (value)//this.RDMEM_DBG(addr))
            {
            //Accelerator off - ld b,b
            case 0x40:
            {
                //_accOn = false;
                //_accWaitCmd = false;
                _accMode    = AccelCMD.Off;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            //Accelerator on - ld d,d
            case 0x52:
            {
                _accOn = true;
                //_accWaitCmd = true;
                _accMode    = AccelCMD.On;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0x49:
            {
                _accOn      = true;
                _accMode    = AccelCMD.Fill;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0x5B:
            {
                _accOn      = true;
                _accMode    = AccelCMD.GrFill;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0x64:
            {
                _accOn      = true;
                _accMode    = AccelCMD.Reserved;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0x6D:
            {
                _accOn      = true;
                _accMode    = AccelCMD.CopyBlok;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0x7F:
            {
                _accOn      = true;
                _accMode    = AccelCMD.GrCopyBlok;
                _accSubMode = AccelSubCMD.None;
            }
            break;

            case 0xAE:
            {
                _accOn      = true;
                _accSubMode = AccelSubCMD.XORBlok;
            } break;

            case 0xB6:
            {
                _accOn      = true;
                _accSubMode = AccelSubCMD.ORBlok;
            } break;

            case 0xA6:
            {
                _accOn      = true;
                _accSubMode = AccelSubCMD.ANDBlok;
            } break;
            }
        }