SHARE
TWEET

Untitled

a guest Jun 19th, 2017 42 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "main.h"
  2. #include "string.h"
  3. #include "video.h"
  4.  
  5. viddata_t viddata;
  6.  
  7. void setcolor(uchar fg, uchar bg) {
  8.         viddata.col = (bg << 4) | fg;
  9. }
  10.  
  11. char putch(char c) {
  12.         ushort *ptr;
  13.  
  14.         if(c == '\n') {
  15.                 viddata.posy++;
  16.                 viddata.posx = 0;
  17.                 return c;
  18.         }
  19.  
  20.         ptr = viddata.baseaddr + (viddata.posy * 80 + viddata.posx);
  21.         *ptr = (viddata.col << 8) | c;
  22.  
  23.         viddata.posx++;
  24.         if(viddata.posx == 80) {
  25.                 viddata.posx = 0;
  26.                 viddata.posy++;
  27.         }
  28.  
  29.         return c;
  30. }
  31.  
  32. int puts(char *string) {
  33.         int i;
  34.  
  35.         for(i = 0; i < strlen(string); i++)
  36.                 putch(string[i]);
  37.  
  38.         return i;
  39. }
  40.  
  41. void clr(void) {
  42.         int i;
  43.         viddata.posx = viddata.posy = 0;
  44.  
  45.         for(i = 0; i < 80 * 25; i++)
  46.                 putch(' ');
  47.  
  48.         viddata.posx = viddata.posy = 0;
  49. }
  50.  
  51. void initvid(void) {
  52.         viddata.baseaddr = (ushort*)0xb8000;
  53.         viddata.ptr = viddata.baseaddr;
  54.         viddata.posx = viddata.posy = 0;
  55.         viddata.col = 0x07;
  56. }
RAW Paste Data
Top