Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement