On Thu, Apr 30, 2009 at 8:18 PM, Bart Oldeman
<bartolde...@users.sourceforge.net> wrote:
...
> This is a minimal fix for the kernel:
>
> --- entry.asm   (révision 1371)
> +++ entry.asm   (copie de travail)
...
> This bug has been there since the DOS-C days by the way!
>
> Bart

Thank you!

Patch committed along with some comments to help explain what is going on.
... near call to psp:05h which in turn is a far call to 0:0Ch embedded
in the psp
with the value embedded at psp:06h also the size of the com file (more
or less) for
CP/M compatibility and 0:0Ch (overlapping where address for int 30h &
31h would be)
contains the code to do a far jmp to the code in entry.asm which is
where the bug
was and now correctly strips the bad return offset and rearranges the
stack to match
an int 21h call.  Additionally limiting this whole tromp around memory
to function
codes 0 through 24h.

Jeremy

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Freedos-kernel mailing list
Freedos-kernel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to