Hi Tom, > > > The only reliable way is to trap int10, write a character using int21 and > > see if it gets trapped. > > I've seen (N)ANSI.SYS implementations doing direct screen IO.
You're quite right about that so this is not good. > however: talking about CLS, why not > > 1'st) write ESC J (or similar) > 2'nd) clear the screen, using BIOS. > > ALL screens will be blank then - as intended. No, if the output goes to COM1 and not CON then the screen should be cleared on COM1 and not CON. Keep it simple, checking two bits ought to be enough: ax=4400, bx=1, int21 if (ax & 0x80) /* device */ if (ax & 0x10) /* fastcon */ use bios (int10) else use escape sequences else /* file */ do nothing MS COMMAND.COM actually does: INT2F at 8d5e:3397: AX=1a00, BX=3391, CX=0000, DX=867e, DS=8d5e, ES=8d5e INT21 (0) at 8d5e:33aa: AX=440c, BX=0001, CX=037f, DX=db6f, DS=8d5e, INT21 (0) at 8d5e:33c0: AX=4400, BX=0001, CX=037f, DX=db6f, DS=8d5e, INT10 (see also my previous email what happens if you clear the fastcon bit) But NANSI.SYS doesn't support int2f/AX=1a00 or the device driver ioctl corresponding to 440C, so the first two aren't that important -- on a local display we can use int10 anyway. Bart ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com _______________________________________________ Freedos-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-devel