title: How to implement terminal scrolling
body: <p>I've followed the Bare Bones tutorial and created a kernel. I've added some support for terminal scolling, but it hasn't really worked. When I run my final ISO image in VirtualBox, it gives me a critical error. The log files are full of gibberish. Currently, my terminal scrolling function is:</p>
  
  <pre><code>void terminal_scroll()
  {
      uint8_t attribyte = (0 &lt;&lt; 4) | (15 &amp; 0x0F);
      uint16_t blank = 0x20 | (attribyte &lt;&lt; 8);
  
      unsigned int i;
      for (i = 0*80; i &lt; 24*80; i++)
          terminal_buffer[i] = terminal_buffer[i + 80]
  
      for (i = 24*80; i &lt; 25*80; i++)
          terminal_buffer[i] = blank;
  }
  </code></pre>