home *** CD-ROM | disk | FTP | other *** search
/ Resource for Source: C/C++ / Resource for Source - C-C++.iso / codelib6 / v_08_10 / 8n10104a < prev    next >
Encoding:
Text File  |  1995-11-01  |  924 b   |  26 lines

  1.  
  2.       ch = (char)(y >> 6);
  3.       if (ch != old_page) /* only change page if different */
  4.         {
  5.           dx = ati_extreg;
  6.           asm("     cli     ");
  7.           asm("     mov     al,0b2h");
  8.        asm(dx,"     out     dx,al");
  9.           asm("     inc     dl");
  10.           asm("     in      al,dx");
  11.           asm("     mov     ah,al");
  12.           asm("     and     ah,0e1h");
  13.        asm(ch,"     or      ah,ch");
  14.           asm("     mov     al,0b2h");
  15.           asm("     dec     dl");
  16.           asm("     out     dx,ax");
  17.           asm("     sti     ");
  18.           old_page = ch;
  19.         }
  20.       addr = 655360 + ((y << 9) % 65536) + (x >> 1);
  21.       peek(addr, val); /* read existing color of pixel pair */
  22.       if (x % 2) val = color | (val & 0xF0); /* change left pixel */
  23.       else val = (color << 4) | (val & 0x0F); /* change right pixel */
  24.       poke(addr, val); /* write pixel pair */
  25.  
  26.