Цитата Сообщение от DrPass Посмотреть сообщение
Чтобы показывало наличие СОМ-портов, нужно прописать флаги в BIOS Equipment Word, что они установлены.
Не думаю. checkit не смотрит туда, по крайней мере для LPT. Так как LPT в моем B108 оно определяет, в то время как BIOS ничего о LPT не знает. Скопипастил детект из PX-XT BIOS:
Код:
.model tiny
.code
.startup
.8086

	xor	di, di				; COM port(s) at 40:00 (hex)

	mov dx,offset msg_com1
	mov ah,9
	int 21h

@@com_1:
	mov	dx, 3FBh			; COM #1 line control reg.
	mov	al, 00011010b			;   7 bits, even parity
	out	dx, al				; Reset COM #1 line cont. reg
	mov	al, 11111111b			;   noise pattern
	out	0C0h, al			; Write pattern on data buss
	in	al, dx				;   read result from COM #1
	cmp	al, 00011010b			; Check if serial port exists
	jnz	@@com_2				;   skip if no COM #1 port
;;;	mov	word ptr di, 3F8h 		; Else save port # in BDA

	mov	dx, offset found
	mov 	ah,9
	int 	21h

	inc	di				;   potential COM #2 port
	inc	di				;   is at 40:02 (hex)
	jmp at1

@@com_2:
	mov	dx, offset not_found
	mov 	ah,9
	int 	21h
at1:

	mov dx,offset msg_com1
	mov ah,9
	int 21h

	mov	dx, 2FBh			; COM #2 line control reg
	mov	al, 00011010b			;   7 bits, even parity
	out	dx, al				; Reset COM #2 line cont. reg
	mov	al, 11111111b			;   noise pattern
	out	0C0h, al			; Write pattern on data bus
	in	al, dx				;   read results from COM #2
	cmp	al, 00011010b			; Check if serial port exists
	jnz	@@com_done			;   skip if no COM #2 port
;;;	mov	word ptr di, 2F8h 		; Else save port # in BDA

	mov	dx, offset found
	mov 	ah,9
	int 	21h
	inc	di				;   total number of serial
	inc	di				;   interfaces times two
	jmp done

@@com_done:
	mov	dx, offset not_found
	mov 	ah,9
	int 	21h

	mov	ax, di				; Get serial interface count
;;;	or	[ds:11h], al			;   equipment flag
done:
	int 20h

msg_com1	db 	'COM1 at 0x3F8: $'
msg_com2	db	'COM2 at 0x2F8: $'
found		db	'found',13,10,'$'
not_found	db 	'not found',13,10,'$'

END
Итог: not found