diff options
author | Volker Ruppert <info@vruppert.de> | 2003-07-20 16:05:17 +0000 |
---|---|---|
committer | Volker Ruppert <info@vruppert.de> | 2003-07-20 16:05:17 +0000 |
commit | 1d897c018c814a821e8e0fb7d88cb0079b5b8a11 (patch) | |
tree | 332055b31a0b9153595d130c2ecc28a2b4c4647f | |
parent | f012c943a3f87bd797d82f0d6228d3744c996a7f (diff) | |
download | vgabios-1d897c018c814a821e8e0fb7d88cb0079b5b8a11.tar.gz |
- fixed a few functions accessing the attribute controller
-rw-r--r-- | vgabios.c | 15 |
1 files changed, 5 insertions, 10 deletions
@@ -1583,9 +1583,6 @@ Bit8u state; value=inb(VGAREG_ACTL_READ_DATA); value&=0xf7; value|=state<<3; - - inb(VGAREG_ACTL_RESET); - outb(VGAREG_ACTL_ADDRESS,0x10); outb(VGAREG_ACTL_WRITE_DATA,value); outb(VGAREG_ACTL_ADDRESS,0x20); } @@ -1600,6 +1597,7 @@ Bit8u reg;Bit16u *value; inb(VGAREG_ACTL_RESET); outb(VGAREG_ACTL_ADDRESS,reg); write_word(ss,value,((Bit16u)inb(VGAREG_ACTL_READ_DATA))<<8); + inb(VGAREG_ACTL_RESET); outb(VGAREG_ACTL_ADDRESS,0x20); } } @@ -1620,10 +1618,10 @@ static void biosfn_get_all_palette_reg (seg,offset) Bit16u seg;Bit16u offset; { Bit8u i; - inb(VGAREG_ACTL_RESET); // First the colors for(i=0;i<=0x10;i++) { + inb(VGAREG_ACTL_RESET); outb(VGAREG_ACTL_ADDRESS,i); write_byte(seg,offset,inb(VGAREG_ACTL_READ_DATA)); offset++; @@ -1668,16 +1666,13 @@ Bit8u function; value=inb(VGAREG_ACTL_READ_DATA); function&=0x01; if(function==0) - {// 4 of 64 + {// set paging code value&=0x7f; - value|=function<<7; - - inb(VGAREG_ACTL_RESET); - outb(VGAREG_ACTL_ADDRESS,0x10); + value|=page<<7; outb(VGAREG_ACTL_WRITE_DATA,value); } else - {// 16 of 16 + {// select page inb(VGAREG_ACTL_RESET); outb(VGAREG_ACTL_ADDRESS,0x14); if(value&0x80) |