home *** CD-ROM | disk | FTP | other *** search
/ Computer Installation Guide - Dragon Clan Series / CD2.iso / ucdos70 / 5 / SRC.ZIP / API / APITEST6.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-25  |  1.7 KB  |  93 lines

  1. /* ╓≈╠Γú║╨┤╡π╢┴╡π */
  2. /*
  3.    1    SetPixel        ╨┤╡π            AH=0CH
  4.    2    GetPixel        ╢┴╡π            AH=0DH
  5. */
  6. #include                "dos.h"
  7. #include                "stdio.h"
  8.  
  9. typedef                 unsigned char   BYTE;
  10. typedef                 unsigned int    WORD;
  11.  
  12. void SetPixel(int Col,int Row,int Color)
  13. {
  14.    union REGS regs;
  15.  
  16.    regs.h.ah = 0xc;
  17.    regs.h.al = Color;
  18.    regs.x.cx = Col;
  19.    regs.x.dx = Row;
  20.    int86(0x10,®s,®s);
  21. }
  22.  
  23. int GetPixel(int Col,int Row)
  24. {
  25.    union REGS regs;
  26.  
  27.    regs.h.ah = 0xd;
  28.    regs.x.cx = Col;
  29.    regs.x.dx = Row;
  30.    int86(0x10,®s,®s);
  31.    return regs.h.al;
  32. }
  33.  
  34. void SetDisplayMode(BYTE Mode)
  35. {
  36.    union REGS regs;
  37.  
  38.    regs.h.ah = 0;
  39.    regs.h.al = Mode;
  40.    int86(0x10,®s,®s);
  41. }
  42.  
  43. void EnableCursor(void)
  44. {
  45.    union REGS regs;
  46.  
  47.    regs.x.ax = 0xff01;
  48.    regs.h.bl = 1;
  49.    regs.h.bh = 1;
  50.    int86(0x10,®s,®s);
  51. }
  52.  
  53. void DisableCursor(void)
  54. {
  55.    union REGS regs;
  56.  
  57.    regs.x.ax = 0xff01;
  58.    regs.h.bl = 1;
  59.    regs.h.bh = 0;
  60.    int86(0x10,®s,®s);
  61. }
  62.  
  63.  
  64. void main()
  65. {
  66.    int          i,j;
  67.  
  68.    SetDisplayMode(0x3);
  69.    DisableCursor();
  70.  
  71.    for (i = 0; i < 480; i++) {
  72.       SetPixel(80+i,i,7);
  73.       SetPixel(80+i,480-i,7);
  74.       SetPixel(80+i,0,4);
  75.       SetPixel(80+i,479,4);
  76.       SetPixel(80,i,4);
  77.       SetPixel(559,i,4);
  78.       }
  79.    getch();
  80.    for (i = 0; i < 480; i++) {
  81.       SetPixel(80+i,i,GetPixel(80+i,i) ^ 7);
  82.       SetPixel(80+i,480-i,GetPixel(80+i,480-i) ^ 7);
  83.       SetPixel(80+i,0,0x84);
  84.       SetPixel(80+i,479,0x84);
  85.       SetPixel(80,i,0x84);
  86.       SetPixel(559,i,0x84);
  87.       }
  88.    getch();
  89.  
  90.    EnableCursor();
  91.    SetDisplayMode(0x3);
  92. }
  93.