Hi!

30-Май-2004 20:56 [EMAIL PROTECTED] (Bart Oldeman) wrote to
[EMAIL PROTECTED]:

> +++ history.txt       30 May 2004 20:56:29 -0000      1.78
> +     * inithma.c: moved fmemcmp's into a checkHMA function.

     "... into EnabledA20() function."

> +     * inithma.c: HMAFree == 0xfff0 - bytesToAllocate
> +       is valid and may happen if the buffers occupy exactly all HMA
> +       space up to and including the last byte at ffff:ffff. Failing
> +       caused all buffers to go low ...

" * inithma.c: condition HMAFree>=0xfff0-bytesToAllocate was wrong and
    prevents to allocate HMA space up to and including byte at ffff:ffef.
    May cause to move all buffers low. Fixed."

Note: because 0xfff0 here is not a _size_, but a pointer (also as HMAFree is
a _pointer_), you _can't_ allocate "all HMA space up to and including the
last byte at ffff:ffff", only "up to, but not including ffff:fff0".

> +     * inthndlr.c: cleanups (merge common code into long_check and
> +       short_check). Made int21/3301,2e,54 consistent with MSDOS
> +       behaviour.

     Hm. I check MS-DOS 6.22. For INT21/3301/DL=2 I receive DL=0 (FreeDOS
incosistent), then INT21/3300 returns DL=0 (consistent). Same for DL=3. I
think, for full consistency DL change should be added into INT/3301:

      /* DosVars - get/set dos variables                              */
    case 0x33:
      switch (irp->AL)
      {
          /* Set Ctrl-C flag                                      */
        case 0x01:
          break_ena = irp->DL & 1;
+         /* fall through */

          /* Get Ctrl-C flag                                      */
        case 0x00:
          irp->DL = break_ena;
          break;

(Here 0x00 and 0x01 swapped and `break' removed).




-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149&alloc_id│66&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to