Пример #1
0
        public override void WriteEXP(int addr, byte value)
        {
            addr &= 0xF800;
            switch (addr)
            {
            case 0x0800:
                audio.WriteData(value);
                break;

            case 0x1000:
                irq_counter = (irq_counter & 0xFF00) | value;
                irq_pending = false;
                SyncIRQ();
                break;

            case 0x1800:
            {
                irq_counter = (irq_counter & 0x00FF) | (((value & 0x7F) << 8));
                bool last_enabled = irq_enabled;
                irq_enabled = value.Bit(7);
                irq_pending = false;
                SyncIRQ();
                break;
            }
            }
        }