diff options
| author | KATO Takenori <kato@FreeBSD.org> | 1996-12-08 16:27:26 +0000 |
|---|---|---|
| committer | KATO Takenori <kato@FreeBSD.org> | 1996-12-08 16:27:26 +0000 |
| commit | 6f1344579b0502c5e706efa285b25d4d39330016 (patch) | |
| tree | 4dfc40890c22cbdb35cb1da0bd517798440499f5 | |
| parent | e2d6a260acd8335c2b8437675954c57b3d12bfeb (diff) | |
Notes
| -rw-r--r-- | sys/pc98/pc98/syscons.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c index 5448033d0b14..71589c9fd71d 100644 --- a/sys/pc98/pc98/syscons.c +++ b/sys/pc98/pc98/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.14 1996/11/09 00:39:59 asami Exp $ + * $Id: syscons.c,v 1.15 1996/12/04 04:21:11 asami Exp $ */ #include "sc.h" @@ -3217,10 +3217,20 @@ static scr_stat static void init_scp(scr_stat *scp) { -#ifndef PC98 - scp->mode = M_VGA_C80x25; -#else +#ifdef PC98 scp->mode = M_PC98_80x25; +#else + if (crtc_vga) + if (crtc_addr == MONO_BASE) + scp->mode = M_VGA_M80x25; + else + scp->mode = M_VGA_C80x25; + else + if (crtc_addr == MONO_BASE) + scp->mode = M_B80x25; + else + scp->mode = M_C80x25; + #endif scp->font_size = FONT_16; scp->xsize = COL; @@ -4210,12 +4220,21 @@ set_normal_mode() outb(GDCIDX, 0x04); outb(GDCREG, modetable[0x04+55]); outb(GDCIDX, 0x05); outb(GDCREG, modetable[0x05+55]); outb(GDCIDX, 0x06); outb(GDCREG, modetable[0x06+55]); + if (crtc_addr == MONO_BASE) { + outb(GDCIDX, 0x06); outb(GDCREG,(modetable[0x06+55] & 0x03) | 0x08); + } + else { + outb(GDCIDX, 0x06); outb(GDCREG,(modetable[0x06+55] & 0x03) | 0x0c); + } #else outw(TSIDX, 0x0002 | (modetable[0x02+4]<<8)); outw(TSIDX, 0x0004 | (modetable[0x04+4]<<8)); outw(GDCIDX, 0x0004 | (modetable[0x04+55]<<8)); outw(GDCIDX, 0x0005 | (modetable[0x05+55]<<8)); - outw(GDCIDX, 0x0006 | (modetable[0x06+55]<<8)); + if (crtc_addr == MONO_BASE) + outw(GDCIDX, 0x0006 | (((modetable[0x06+55] & 0x03) | 0x08)<<8)); + else + outw(GDCIDX, 0x0006 | (((modetable[0x06+55] & 0x03) | 0x0c)<<8)); #endif splx(s); } |
