Mail Archives: djgpp-workers/1998/07/10/17:17:21
> > Note that the value of EAX is 10C000h, which cannot be a valid
> > real-mode address: it's more than 20 bits. I cannot imagine how could
> > that happen, since that address comes from function 1130h of Int 10h,
> > see the code below.
>
> Well, it does indirectly come from function 1130h of Int 10h, but note
> that "src = ( ( (unsigned)regs.x.es ) << 4 ) + regs.x.bp;" and as the
> int 10h function returns es==0xffff and bp==0xbf32 (values from
> running the included function; es==0xffff for info.exe as well, didn't
Addresses up to 0x10ffff are acceptable; TSRs may have moved some
things into high memory (the HMA) including the BIOS font tables. I
seem to recall recently adding a set of patches to various libc
functions to stop limiting DOS accesses to 20 bits; this may be the
same or a similar issue.
- Raw text -