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 (
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. :)
---
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
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
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
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)
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
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
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
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
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
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,
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'.
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'.
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
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.
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]
17 matches
Mail list logo