[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dosemu, powerbasic program, centos 5 and Fedora 10



On Wed, 11 Mar 2009 18:27:23 -0600
Frank Cox wrote:

> I seem to have uncovered some sort of a bug, but I'm not sure in what.
> 
> I have a computer set up with Fedora 10/x86_64, and another with Centos 5/i386.
> Both have dosemu 1.4.0 installed.
> 
> I have a program that's written in powerbasic that runs fine on the Centos box
> but crashes dosemu on the Fedora box.  The dosemu window closes without
> any error reported -- the window just disappears.
> 
> I have narrowed the problem down to some interaction between a "DEFINT A-Z"
> compiler directive and a word wrap subroutine that's part of the program.  If I
> either remove the DEFINT directive, comment-out the word wrap subroutine or
> remove the parts of the program that actually call that subroutine, the program
> doesn't crash on Fedora 10.
> 
> I'm sure this program worked fine up until at least fairly recently.  I see
> that the last time I modified it was in October of 2008, so it apparently worked
> fine on Fedora 9/x86_64, which is what I was running on this machine at that
> time.
> 
> I have included the word wrap routine here so you can see what it does.  It
> runs fine as-is on Centos 5/i386 but crashes on Fedora 10/x86_64.  Removing the
> DEFINT line makes it work fine on both machines.  It's just this routine alone
> that's causing the problem because the crash occurs when attempting to run the
> compiled version of exactly what you see here.  If anyone else would like to
> try this, I have put the powerbasic-compiled version of the following program
> on my website at http://www.melvilletheatre.com/dosemu-crash.tar.bz2
> 
> Again, it runs fine on Centos 5/i386 but crashes on Fedora 10/x86_64.
> 
> $cpu 80386
> $float npx
> $lib all off
> DEFINT A-Z     ' -- If this line commented out it works.
> 
> WordWrap text$,1,76,5
> 
> ' ********************************
> ' text$, column, wrap length, row
> SUB WordWrap (text$, x1, x2, y1)
>         shared wrapped.text$()
>         x=0
>     savetext$ = text$
>     s = x2 - x1
>     y = y1
>     ' LOCATE y, x1
>     IF LEN(text$) > s THEN
>        DO
>          IF LEN(text$) = 0 THEN EXIT DO
>          text$ = LTRIM$(text$)
>          IF LEN(text$) >= s THEN
>             tmp$ = LEFT$(text$, s)
>          ELSE
>             tmp$ = text$
>          END IF
>          stmp$ = tmp$
>          GOSUB ReverseTmp
>          IF MID$(text$, s + 1, 1) = " " THEN
>             wrapped.text$(x)= stmp$
>             incr x
>             text$ = MID$(text$, s + 1)
>          ELSE
>          a = INSTR(tmp$, " ")
>          IF a = 0 THEN
>             wrapped.text$(x)= stmp$
>             incr x
>             text$ = MID$(text$, s + 1)
>          ELSE
>             wrapped.text$(x)= LEFT$(text$, s - a)
>             incr x
>             text$ = MID$(text$, s - a + 1)
>          END IF
>          END IF
>          incr y
>          ' LOCATE y, x1
>        LOOP
>     ELSE
>        wrapped.text$(x)=text$
>     END IF
>     text$ = savetext$
>     EXIT SUB
> 
> ReverseTmp:
>     t$ = ""
>     FOR I = LEN(tmp$) TO 1 STEP -1
>         t$ = t$ + MID$(tmp$, I, 1)
>     NEXT I
>     tmp$ = t$
>     RETURN
> END SUB

I periodically try running the tester.exe program that I describe here on my
computers to see if by any chance one of the frequent updates to Fedora 11
might suddenly solve this problem.  tester.exe has never worked on Fedora 11 at
all; it just closes the dosemu window as described.

To my surprise, I have today discovered that tester.exe once again works on my
Acer Aspire One (Fedora 11/i386).  It also now works on my desktop computer
(Fedora 11/x86_64) when I change the following line in ~/.dosemurc:

 $_cpu_emu = "vm86sim"

It doesn't work with the default setting of:

# $_cpu_emu = "off"

So there's still something strange going on, somewhere.



-- 
MELVILLE THEATRE ~ Melville Sask ~ http://www.melvilletheatre.com
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Linux Console]     [Audio]     [Hams]     [Kernel Newbies]     [Memory]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Photos]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linux Resources]     [Fedora Users]

Add to Google Powered by Linux