From jibz@hotmail.com Sat Dec 19 16:36 MET 1998
Return-Path: jibz@hotmail.com
Received: from hotmail.com (f148.hotmail.com [207.82.251.27])
        by TU-Cottbus.De (8.8.3/8.6.0) with SMTP id QAA28623
        for <kannegv@TU-Cottbus.De>; Sat, 19 Dec 1998 16:36:36 +0100 (MET)
Received: (qmail 25536 invoked by uid 0); 19 Dec 1998 15:35:30 -0000
Received: from 130.225.18.206 by www.hotmail.com with HTTP;
	Sat, 19 Dec 1998 07:35:29 PST
Message-ID: <19981219153530.25535.qmail@hotmail.com>
X-Originating-IP: [130.225.18.206]
From: "Joergen Ibsen" <jibz@hotmail.com>
To: kannegv@TU-Cottbus.De
Subject: Re: apack.exe crash under plain dos: problem source found
Date: Sat, 19 Dec 1998 07:35:29 PST
Mime-Version: 1.0
Content-Type: text/plain
Content-Length:  2283
Status: RO

Hi Veit!

> i have today played with apack and different dos extenders to find
> the source of crashes if i run apack.exe under plain dos with
> wdosx or pmode/w but not with dos/4g.

Hmm .. could sound like an incompatibility between the different
extenders..

> is this code from watcom ? (wich version, what name has this
> procedure)

The code comes from dos_get_code_page in mbinit.obj located in
clib3r.lib (dos), and seems to have the same problem in both the
original v11.0 and the update.. I am guessing the code is skipped
under dos4/g because the __Extender variable has a different value
(don't know what it's for, though).. Hope this can help you :)

...
                extrn __Extender:far
...
; 

;               S u b r o u t i n e

public dos_get_code_page_
dos_get_code_page_ proc near           
                push    ebx
                push    ecx
                push    edx
                push    esi
                push    edi
                push    es
                push    ebp
                sub     esp, 94h
                mov     ah, byte ptr ds:__Extender
                xor     esi, esi
                cmp     ah, 2
                jb      loc_2_374
                cmp     ah, 8
                ja      loc_2_374
...

loc_2_374:                                        
                cmp     byte ptr ds:__Extender, 1
                jnz     loc_2_42E
...

loc_2_41F:                              
                mov     ebx, [esp+90h]
                mov     ax, 101h
                int     31h             ; DPMI Services ax=func xxxxh
                                        ; FREE DOS MEMORY BLOCK
                                        ; DX = selector of block
                                        ; Return: CF set on error
                                        ; CF set if successful
                sbb     eax, eax

loc_2_42E:                              
                mov     eax, esi
                add     esp, 94h
                pop     ebp
                jmp     loc_2_150
dos_get_code_page_ endp

Regards, Joergen Ibsen / Jibz :)


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

