That patch seems to work too.  Thanks again!

-- Roger

--On Wednesday, June 19, 2002 10:02 PM +0100 Bart Oldeman
<[EMAIL PROTECTED]> wrote:

> On Wed, 19 Jun 2002, Roger Ripley wrote:
> 
>> The patch fixes both the ESC problem and the 30 minute
>> problem, as far as I can tell so far.  I haven't
>> encountered any issues created by it either.
> 
> Ok great; but I'm still wondering what really fixed the
> 30 mins bug here.
> 
> Can you "patch -R" the patch I sent before and only use
> this?
> 
> See if that alone fixes the bug; for the other cases I
> cannot imagine, studying the select(2) behaviour (agreed
> with Stas).
> 
> you will find "patch" saying something about offsets but
> that's just because I stripped lines in the patch
> directly; but it should patch.
> 
> My theory in this is now that programs like MSDOS EDIT
> check for CGA "SNOW" and if you don't press a key then
> you _also_ do not get an updated screen, so your program
> does not check for "snow" so the remembered miscemu.c
> static time variable does not change. Now your DOSEMU
> calculates negative values and your DOS program waits
> forever until the virtual "snow" disappears.
> 
> Bart
> 
> --- dosemu-1.1.3.2/src/env/video/miscemu.c    Sun May 26
> 16:57:56 2002 +++ dosemu-1.1.3.3/src/env/video/miscemu.c
>       Wed Jun 19 11:15:54 2002 @@ -287,8 +287,7 @@
>       such accuracy is probably not important... I hope.
> (--adm) */    static int vvfreq = 17000;      /* 70 Hz - but
> the best we'll get with                                * current PIC will be 50
> Hz */
> -  hitimer_t t;
> -  long tdiff;
> +  hitimer_t t, tdiff;
>    unsigned char retval;
> 
>  
>  #ifdef X_SUPPORT
> --- dosemu-1.1.3.2/src/plugin/term/keyb_slang.c       Sun May
> 26 16:57:56 2002 +++
> dosemu-1.1.3.3/src/plugin/term/keyb_slang.c   Wed Jun 19
> 11:05:30 2002 @@ -1281,7 +1280,7 @@
>               keyb_state.kbcount -= keyb_state.Keystr_Len;    /* update
> count */              keyb_state.kbp += keyb_state.Keystr_Len;
>               
> -             if (key == NULL) {
> +             if (key == NULL && symbol != KEY_ESC) {
>                       /* undefined key --- return */
>                       DOSemu_Slang_Show_Help = 0;
>                       keyb_state.kbcount = 0;
> @@ -1295,8 +1294,8 @@
>               
>               
>               k_printf("KBD: scan=%08lx Shift_Flags=%08lx str[0]=%d
> str='%s' len=%d\n", -
>       scan,keyb_state.Shift_Flags,key->str[0],strprintable(key
> ->str+1), -                   keyb_state.Keystr_Len);
> +                     scan,keyb_state.Shift_Flags,key ? key->str[0] : 27,
> +                        key ? strprintable(key->str+1):
> "ESC", keyb_state.Keystr_Len);                if (!(scan&0x80000000))
> {
>                       slang_send_scancode(keyb_state.Shift_Flags | scan,
> symbol);              }
> 


-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to