[Freedos-kernel] patch: inthndlr.c

2004-07-25 Thread Arkady V.Belousov
Hi! - clarification for Luch's patch. --- Begin Message --- diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-07-25 02:53:58.0 + +++ new/kernel/inthndlr.c 2004-07-25 16:54:58.0 + @@ -1232,7 +1232,14 @@ dispatch: if (

Re: [Freedos-kernel] patch: inthndlr.c fcbfns.c proto.h

2004-07-24 Thread Arkady V.Belousov
Hi! 24-Июл-2004 22:17 Arkady V.Belousov wrote to [EMAIL PROTECTED]: AVB> - bugfix: INT21/29: into FcbParseFname() was not passed options from AL. Forget to mention: casually :) this bugfix reduces resident code (in inthndlr.c) by ~50 bytes. :) ---

[Freedos-kernel] patch: inthndlr.c fcbfns.c proto.h

2004-07-24 Thread Arkady V.Belousov
Hi! - bugfix: INT21/29: into FcbParseFname() was not passed options from AL. --- Begin Message --- diff -ruNp old/kernel/fcbfns.c new/kernel/fcbfns.c --- old/kernel/fcbfns.c 2004-05-24 04:42:56.0 + +++ new/kernel/fcbfns.c 2004-07-24 22:04:40.0 + @@ -85,7 +85,7 @@ BYTE FAR

[Freedos-kernel] patch: inthndlr.c

2004-07-14 Thread Arkady V.Belousov
Hi! - callerARG1 declared as xreag instead UWORD. --- Begin Message --- diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-07-15 00:42:06.0 + +++ new/kernel/inthndlr.c 2004-07-15 02:16:58.0 + @@ -1623,9 +1623,10 @@ STATIC VOID

Re: [Freedos-kernel] PATCH: inthndlr.c

2004-06-25 Thread Eduardo Casino
Hi Tom, > a) > why do you need int2f/12 in the first first place ? > are you really executing this from inside KERNEL ? > do you really need to use internal functions ? Yes. NLSFUNC implements kernel extensions to access NLS data from an external file (namely COUNTRY.SYS) and these extensions are

Re: [Freedos-kernel] PATCH: inthndlr.c

2004-06-25 Thread Arkady V.Belousov
Hi! 25-Июн-2004 20:02 [EMAIL PROTECTED] (tom ehlert) wrote to Eduardo Casino <[EMAIL PROTECTED]>: >> + lrc = DosSeek(r.BX, (LONG)ULONG) (r.CX)) << 16) | r.DX), r.BP); >> + if (lrc == -1) >> +lrc = DE_INVLDHNDL; >> + else >> + { >> +r.DX = (UWORD)(lrc >> 16)

Re: [Freedos-kernel] PATCH: inthndlr.c

2004-06-25 Thread tom ehlert
Hello Eduardo, > I'm implementing NLSFUNC for FreeDOS and I've found that many (most) of > the needed MUX functions are missing. > This patch implements functions 2F1226h to 2F1229h. This, together with > my previous nls.c patch, allowed me to make a first working > implementation of NLSFUNC's in

[Freedos-kernel] PATCH: inthndlr.c

2004-06-24 Thread Eduardo Casino
Hi! I'm implementing NLSFUNC for FreeDOS and I've found that many (most) of the needed MUX functions are missing. This patch implements functions 2F1226h to 2F1229h. This, together with my previous nls.c patch, allowed me to make a first working implementation of NLSFUNC's int 2F1404h, but the pa

[Freedos-kernel] patch: inthndlr.c

2004-05-30 Thread Arkady V.Belousov
Hi! - code optimization: was forgotten to place lr.AL= after CritErrCode=. - source cleanup: not all zeros was replaced by SUCCESS. - shorten expressions and code: inline MK_FP instead defining extra variable. There are already present similar inlinings: for example, see ps_stack initializatio

[Freedos-kernel] patch: inthndlr.c

2004-05-30 Thread Arkady V.Belousov
Hi! - optimize for .callerARG1. --- Begin Message --- diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-05-31 07:29:14.0 + +++ new/kernel/inthndlr.c 2004-05-31 07:36:16.0 + @@ -1642,7 +1642,7 @@ struct int2f12regs { UWORD

[Freedos-kernel] patch: inthndlr.c

2004-05-30 Thread Arkady V.Belousov
Hi! - bugfix for INT21/3301: MS-DOS clears high buts of DL. --- Begin Message --- diff -ruNp old/kernel/inthndlr.c new/kernel/inthndlr.c --- old/kernel/inthndlr.c 2004-05-28 12:08:32.0 + +++ new/kernel/inthndlr.c 2004-05-31 07:29:14.0 + @@ -78,14 +78,14 @@ VOID

Re: [Freedos-kernel] patch: inthndlr.c

2004-05-12 Thread Arkady V.Belousov
Hi! 13-Май-2004 07:08 Arkady V.Belousov wrote to [EMAIL PROTECTED]: AVB> Changes: AVB> "rc != SUCCESS" after DosDevIOctl() replaced by "rc < SUCCESS". AVB>rc = DosDevIOctl(&lr); /* can set critical error code! */ AVB> - if (rc != SUCCESS) AVB> + if (rc < SUCCESS) BTW,

[Freedos-kernel] patch: inthndlr.c

2004-05-12 Thread Arkady V.Belousov
Hi! Changes: - "rc != SUCCESS" after DosDevIOctl() replaced by "rc < SUCCESS". Cleanups: - some zeros replaced by SUCCESS. - used -DE_INVLDDRV expression instead 0x0f value. - instead "((lr.AX & 0xff) != 0))" used nicer "lr.AL ? 1 : 0". Optimizations: - removed extraneous assignments to `rc'.

[Freedos-kernel] patch: inthndlr.c

2004-05-12 Thread Arkady V.Belousov
Hi! Changes: - "rc != SUCCESS" after DosDevIOctl() replaced by "rc < SUCCESS". Cleanups: - some zeros replaced by SUCCESS. - used -DE_INVLDDRV expression instead 0x0f value. - instead "((lr.AX & 0xff) != 0))" used nicer "lr.AL ? 1 : 0". Optimizations: - removed extraneous assignments to `rc'.

[Freedos-kernel] patch: inthndlr.c

2004-05-09 Thread Arkady V.Belousov
Hi! Let me expand explanation for changes in inthndlr.c: - inlining "a=b;if(a...)" into `if' ("if ((a=b)..."), at least, in BC reduces stack reading. Moreover, this also helps for OW (in config.c, for "pbuffer = HMAalloc()" also disappeared extra stack access). And such inlining _not a

[Freedos-kernel] patch: inthndlr.c

2004-05-09 Thread Arkady V.Belousov
Hi! - fix for INT21/38 (AL=0 processed "as is" for DX=-1). - INT21/5C: parameter `unlock' of DosLockUnlock now explicitly receives 1 when lr.AL nonzero. - code optimization; some cleanups using previously defined macros. DGROUP reduced from 164A to 1648; HMA_TEXT reduced from 0a63eh to 0a633h.

[Freedos-kernel] patch: inthndlr.c

2004-03-24 Thread Arkady V.Belousov
Hi! Small remark about casting in "c -= (UBYTE)('a' - 'A')". For OW I wrote bug (?) report: __O\_/_\_/O__ Code generator: - WPP promotes `char' to `int' too often: ; unsigned char c = *mem; mov al,byte ptr [bx]