- int17_function updated for multiple parallel ports
- detection of serial port 3 + 4 added
This commit is contained in:
parent
ac28f72551
commit
a0457f980e
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: rombios.c,v 1.106 2004-01-25 22:10:12 vruppert Exp $
|
||||
// $Id: rombios.c,v 1.107 2004-01-28 19:13:37 vruppert Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -928,10 +928,10 @@ Bit16u cdrom_boot();
|
||||
|
||||
#endif // BX_ELTORITO_BOOT
|
||||
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.106 $";
|
||||
static char bios_date_string[] = "$Date: 2004-01-25 22:10:12 $";
|
||||
static char bios_cvs_version_string[] = "$Revision: 1.107 $";
|
||||
static char bios_date_string[] = "$Date: 2004-01-28 19:13:37 $";
|
||||
|
||||
static char CVSID[] = "$Id: rombios.c,v 1.106 2004-01-25 22:10:12 vruppert Exp $";
|
||||
static char CVSID[] = "$Id: rombios.c,v 1.107 2004-01-28 19:13:37 vruppert Exp $";
|
||||
|
||||
/* Offset to skip the CVS $Id: prefix */
|
||||
#define bios_version_string (CVSID + 4)
|
||||
@ -3242,7 +3242,7 @@ int14_function(regs, ds, iret_addr)
|
||||
sti
|
||||
ASM_END
|
||||
|
||||
addr = read_word(0x0040, 2 * regs.u.r16.dx);
|
||||
addr = read_word(0x0040, (regs.u.r16.dx << 1));
|
||||
timeout = read_byte(0x0040, 0x007C + regs.u.r16.dx);
|
||||
if ((regs.u.r16.dx < 4) && (addr > 0)) {
|
||||
switch (regs.u.r8.ah) {
|
||||
@ -7142,9 +7142,9 @@ int17_function(regs, ds, iret_addr)
|
||||
sti
|
||||
ASM_END
|
||||
|
||||
if ((regs.u.r8.ah < 3) && (regs.u.r16.dx == 0)) {
|
||||
addr = read_word(0x0040, 0x0008);
|
||||
timeout = read_byte(0x0040, 0x0078) << 8;
|
||||
addr = read_word(0x0040, (regs.u.r16.dx << 1) + 8);
|
||||
if ((regs.u.r8.ah < 3) && (regs.u.r16.dx < 3) && (addr > 0)) {
|
||||
timeout = read_byte(0x0040, 0x0078 + regs.u.r16.dx) << 8;
|
||||
if (regs.u.r8.ah == 0) {
|
||||
outb(addr, regs.u.r8.al);
|
||||
val8 = inb(addr+2);
|
||||
@ -8935,6 +8935,10 @@ post_default_ints:
|
||||
call detect_serial
|
||||
mov dx, #0x02f8 ; Serial I/O address, port 2
|
||||
call detect_serial
|
||||
mov dx, #0x03e8 ; Serial I/O address, port 3
|
||||
call detect_serial
|
||||
mov dx, #0x02e8 ; Serial I/O address, port 4
|
||||
call detect_serial
|
||||
shl bx, #0x09
|
||||
mov ax, 0x410 ; Equipment word bits 9..11 determing # serial ports
|
||||
and ax, #0xf1ff
|
||||
|
Loading…
x
Reference in New Issue
Block a user