Esempio n. 1
0
        public void ProcessInterrupt(uint interrupt, uint errorCode)
        {
            tick++;

            uint column     = debug.Column;
            uint row        = debug.Row;
            var  color      = debug.Color;
            var  background = debug.BackgroundColor;
            uint scrollrow  = debug.ScrollRow;

            debug.Color           = ScreenColor.Cyan;
            debug.BackgroundColor = ScreenColor.Black;
            debug.Row             = 24;
            debug.Column          = 0;
            debug.ScrollRow       = debug.Rows;

            debug.Write("Shell Mode - ");
            debug.Write("Tick: ");
            debug.Write(tick, 10, 7);
            debug.Write(" Free Memory: ");
            debug.Write((PageFrameAllocator.TotalPages - PageFrameAllocator.TotalPagesInUse) * PageFrameAllocator.PageSize / (1024 * 1024));
            debug.Write(" MB ");

            debug.Write("IRQ: ");
            debug.Write(interrupt, 16, 2);

            if (interrupt >= 0x20 && interrupt < 0x30)
            {
                HAL.ProcessInterrupt((byte)(interrupt - 0x20));
            }

            debug.BackgroundColor = background;
            debug.ScrollRow       = scrollrow;
            debug.Column          = column;
            debug.Color           = color;
            debug.Row             = row;

            if (interrupt == 0x21)
            {
                CheckForKeyPress();
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Processes the interrupt.
 /// </summary>
 /// <param name="irq">The IRQ.</param>
 public override void ProcessInterrupt(byte irq)
 {
     HAL.ProcessInterrupt(irq);
 }
Esempio n. 3
0
 /// <summary>
 /// Processes the interrupt.
 /// </summary>
 /// <param name="irq">The irq.</param>
 public void ProcessInterrupt(byte irq)
 {
     HAL.ProcessInterrupt(irq);
 }