• djgpp program only runs in DOSBox.

    From ignatius@1:340/800 to All on Mon Oct 26 21:31:06 2015
    Hi, first of all, I hope this is the right base for this.

    I ported a program from Linux to DOS. And I compile it with DJGPP.
    The problem is, that it only runs properly in DOSBox. This is very strange behaviour. I even try to execute it through FreeDOS, and it works. So, as long as it's in DOSBox. Anyone have an ideas what might cause this behaviour?

    Thanks,

    |09ignatius |15(|07cia|15)|07

    --- Iniquity v2.20 Alpha [DOS]
    * Origin: catch22bbs.com >> >>> > (1:340/800)
  • From mark lewis@1:3634/12.73 to ignatius on Tue Oct 27 06:31:30 2015

    26 Oct 15 21:31, you wrote to All:

    Hi, first of all, I hope this is the right base for this.

    might be ;)

    I ported a program from Linux to DOS. And I compile it with DJGPP. The problem is, that it only runs properly in DOSBox. This is very strange behaviour. I even try to execute it through FreeDOS, and it works. So,
    as long as it's in DOSBox.

    ok... let me see if i understand this...

    1. you ported a program from linux to dos.
    2. it runs in dosbox.
    3. it runs in freedos.
    4. it runs in dosbox in freedos.

    Anyone have an ideas what might cause this behaviour?

    what memory model (http://www.digitalmars.com/ctg/ctgMemoryModel.html) did you compile with if DJGPP has such an offering?

    are you trying to use EMS or XMS memory?

    https://en.wikipedia.org/wiki/Expanded_memory https://en.wikipedia.org/wiki/Extended_memory

    have you tried running your program in ""real"" dos? like MSDOS 6.22 or whatever the last version of PCDOS was...

    )\/(ark

    ... The only rose without thorns is friendship.
    ---
    * Origin: (1:3634/12.73)
  • From joseph larsen@1:340/800 to mark lewis on Tue Oct 27 18:58:40 2015
    |01 ۲ |LF|01 quoting |09mark lewis |01on |0910/27/15

    https://en.wikipedia.org/wiki/Expanded_memory https://en.wikipedia.org/wiki/Extended_memory

    have you tried running your program in ""real"" dos? like MSDOS 6.22 or whate r the last version of PCDOS was...

    )\/(ark

    ... The only rose without thorns is friendship.
    ---

    Yes. It works in MS-DOS 6.22. The only memory i'm using in DOSEmu is the ems.sys memory driver.

    Thanks,

    |09ignatius |15(|07cia|15)|07

    --- Iniquity v2.20 Alpha [DOS]
    * Origin: catch22bbs.com >> >>> > (1:340/800)
  • From mark lewis@1:3634/12.73 to joseph larsen on Wed Oct 28 08:29:10 2015

    27 Oct 15 18:58, you wrote to me:

    https://en.wikipedia.org/wiki/Expanded_memory
    https://en.wikipedia.org/wiki/Extended_memory

    have you tried running your program in ""real"" dos? like MSDOS 6.22 or
    whate r the last version of PCDOS was...

    Yes. It works in MS-DOS 6.22. The only memory i'm using in DOSEmu is
    the ems.sys memory driver.

    ok... so the old school EMS is what was missing and now you have it working as desired?

    )\/(ark

    ... Always look for the calculations that go with a calculated risk.
    ---
    * Origin: (1:3634/12.73)
  • From joseph larsen@1:340/800 to mark lewis on Wed Oct 28 16:04:00 2015
    |01 ۲ |LF|01 quoting |09mark lewis |01on |0910/28/15

    Yes. It works in MS-DOS 6.22. The only memory i'm using in DOSEmu is
    the ems.sys memory driver.

    ok... so the old school EMS is what was missing and now you have it working a desired?


    I'm still having problems launching it from my BBS. :(

    |09ignatius |15(|07cia|15)|07

    --- Iniquity v2.20 Alpha [DOS]
    * Origin: catch22bbs.com >> >>> > (1:340/800)
  • From mark lewis@1:3634/12.73 to joseph larsen on Wed Oct 28 20:21:56 2015

    28 Oct 15 16:04, you wrote to me:

    Yes. It works in MS-DOS 6.22. The only memory i'm using in DOSEmu is
    the ems.sys memory driver.

    ok... so the old school EMS is what was missing and now you have it
    working a desired?


    I'm still having problems launching it from my BBS. :(

    so it works fine if you execute it manually? just not from the BBS? is the BBS DOS based, too? does that VM or task also have EMS in use?

    )\/(ark

    ... Cure for postal strikes: mail them their strike pay.
    ---
    * Origin: (1:3634/12.73)
  • From joseph larsen@1:340/800 to mark lewis on Sat Oct 31 00:51:10 2015
    |01 ۲ |LF|01 quoting |09mark lewis |01on |0910/28/15

    I'm still having problems launching it from my BBS. :(

    so it works fine if you execute it manually? just not from the BBS? is the BB DOS based, too? does that VM or task also have EMS in use?


    Yep. Manually. I'm using DOSEmu to run the BBS and the program in question.

    |09ignatius |15(|07cia|15)|07

    --- Iniquity v2.20 Alpha [DOS]
    * Origin: catch22bbs.com >> >>> > (1:340/800)
  • From mark lewis@1:3634/12.73 to joseph larsen on Sat Oct 31 10:39:22 2015

    31 Oct 15 00:51, you wrote to me:

    I'm still having problems launching it from my BBS. :(

    so it works fine if you execute it manually? just not from the BBS? is
    the BB DOS based, too? does that VM or task also have EMS in use?


    Yep. Manually. I'm using DOSEmu to run the BBS and the program in
    question.

    ok... and how are you trying to start it from the BBS?

    the problem in the DOS world is that programs only have so much memory to play with... when one program executes another program, the executor may need to swap out of memory so the executee will have enough to be able to run... there was an old swapper unit that one could use in the programs to swap to disk file, EMS or XMS and then when the executee finished and exited, then the executor would reload from the disk file, EMS or XMS and carry on... BBS systems like RA (RemoteAccess) used *M on their external program lines to indicate that RA had to swap out of memory...

    i doubt that the swapper unit will work with today's compilers... what would need to be done there would be for the BBS to exit with a certain error level so the BAT file that controls it can then fire up the other program... when the
    other program finishes, the BAT file would do whatever and then jump back to the top to reload the BBS and either start waiting for a call or pick back up with the caller already online and signed in...

    )\/(ark

    ... She was short on intellect, but long on shape.
    ---
    * Origin: (1:3634/12.73)
  • From joseph larsen@1:340/800 to mark lewis on Wed Nov 4 12:56:04 2015
    |01 ۲ |LF|01 quoting |09mark lewis |01on |0910/31/15

    ok... and how are you trying to start it from the BBS?


    Directly as a door. With the "D-" command (no dropfile).

    the problem in the DOS world is that programs only have so much memory to pla with... when one program executes another program, the executor may need to s p out of memory so the executee will have enough to be able to run... there w
    an old swapper unit that one could use in the programs to swap to disk file, MS or XMS and then when the executee finished and exited, then the executor w ld reload from the disk file, EMS or XMS and carry on... BBS systems like RA emoteAccess) used *M on their external program lines to indicate that RA had
    swap out of memory...

    I'm sure that the memory isn't the issue..

    i doubt that the swapper unit will work with today's compilers... what would ed to be done there would be for the BBS to exit with a certain error level s the BAT file that controls it can then fire up the other program... when the her program finishes, the BAT file would do whatever and then jump back to th top to reload the BBS and either start waiting for a call or pick back up wit the caller already online and signed in...

    Nod.

    |09ignatius |15(|07cia|15)|07

    --- Iniquity v2.20 Alpha [DOS]
    * Origin: catch22bbs.com >> >>> > (1:340/800)