Hello,
I just have to correct myself, my problem with
printing chars > 128 was absolutely not related
to fonts - I had a "mov sign extended" instead of
a "mov zero extended", or more precisely a line like:
asm ("int $0x10" : : "a" (0x0900 | thechar));
when "thechar" is a signed char, it is promoted to
an int before the OR and everything happenning after
is my fault.
Thanks for pointing me that the BIOS was working,
and sorry for the last message.
Etienne.
P.S.:
Just a little on-topic thing: to detect the number of
hard drives on a PC, I am using the BIOS data
at 0x0040:0x0075
MEM 0040h:0075h - FIXED DISK - NUMBER OF FIXED DISK DRIVES
Size: BYTE
SeeAlso: MEM 0040h:0076h"FIXED DISK",MEM 0040h:0077h"FIXED DISK"
Because:
INT 13 - DISK - GET DISK TYPE (XT 1/10/86 or later,XT286,AT,PS)
BUGS: several different Compaq BIOSes incorrectly report high-numbered
drives (such as 90h, B0h, D0h, and F0h) as present, giving them the
same geometry as drive 80h; as a workaround, scan through disk
numbers, stopping as soon as the number of valid drives encountered
equals the value in 0040h:0075h
It would be nice to have this value filled in for DOSEMU - just
to remove warnings to stderr when running DOSEMU, because I have
then to ask for "get disk type" on maybe abscent drives, to see
if someone is there.
INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)
returns "DL = number of drives" but this seems to be not
reliable.
___________________________________________________________
Do You Yahoo!?
Achetez, vendez! � votre prix! Sur http://encheres.yahoo.fr