1. Euphoria on DOSbox
- Posted by olddog <halletts at saskte?.?et> Oct 12, 2007
- 863 views
If Euphoria for DOS were re-compiled without the Causeway DOS extender, would it then run under DOSbox, which can be run on Pockt PC's? Has anybody tried this already? (Couldn't find evidence of that in my forum searches so far). THanks.
2. Re: Euphoria on DOSbox
- Posted by Robert Craig <rds at Rapi?Euphoria.co?> Oct 12, 2007
- 838 views
olddog wrote: > If Euphoria for DOS were re-compiled without the Causeway DOS extender, > would it then run under DOSbox, which can be run on Pockt PC's? > > Has anybody tried this already? (Couldn't find evidence of that in my forum > searches so far). I briefly considered compiling the interpreter with the old 16-bit 640K-limited Watcom DOS C compiler many years ago (just as an extra option for some people), but I never seriously tried to make it work. Without a DOS extender like Causeway or DOS4GW, the interpreter would be limited to 640K of memory. Only small programs would run. Perhaps translated-to-C programs would have a slightly better chance, since they need less memory (no Euphoria front-end in memory). I'm sure you'd run into lots of 32-bit to 16-bit C-related glitches. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
3. Re: Euphoria on DOSbox
- Posted by Igor Kachan <kinz at peterli?k?ru> Oct 14, 2007
- 821 views
olddog wrote: > If Euphoria for DOS were re-compiled without the Causeway DOS extender, > would it then run under DOSbox, which can be run on Pockt PC's? > > Has anybody tried this already? (Couldn't find evidence of that in my forum > searches so far). > > THanks. It seems to me that if you have DOSBox running OK on your Pocket PC, then you do not need recompile Euphoria interpreter at all. DOSBox must care itself about its compatibility with PPC native OS, and must care about its compatibility with hosted DOS program. That thing we can see on Kolibri OS, specific port of DOSBox to Kolibri runs Euphoria DOS32 OK, there are some bugs, for example, DOS mouse of EU doesn't work on that DOSBox, but DOSBox itself is not completed by development, so we have just some perspective of perfect work. So I'd just try EU on DOSBox of PPC without any recompilation, just as it is, why not? Sorry, I do not have PPC ... Regards, Igor Kachan kinz at peterlink.ru
4. Re: Euphoria on DOSbox
- Posted by Bernie Ryan <xotron at blu?fro?.com> Oct 14, 2007
- 845 views
Igor Kachan wrote: > > olddog wrote: > > > If Euphoria for DOS were re-compiled without the Causeway DOS extender, > > would it then run under DOSbox, which can be run on Pockt PC's? > > > > Has anybody tried this already? (Couldn't find evidence of that in my forum > > searches so far). > > > > THanks. > > It seems to me that if you have DOSBox running OK on your Pocket PC, > then you do not need recompile Euphoria interpreter at all. > DOSBox must care itself about its compatibility with PPC native > OS, and must care about its compatibility with hosted DOS program. > > That thing we can see on Kolibri OS, specific port of DOSBox to > Kolibri runs Euphoria DOS32 OK, there are some bugs, for example, > DOS mouse of EU doesn't work on that DOSBox, but DOSBox itself > is not completed by development, so we have just some > perspective of perfect work. > > So I'd just try EU on DOSBox of PPC without any recompilation, > just as it is, why not? > > Sorry, I do not have PPC ... Igor: This is index for using mouse on MinuetOS which should be same as Kolibri OS. So a mouse driver should be easy to setup for Euphoria. -- ========================================================== 37 - Get mouse data In : rbx - 0 Mouse coordinates, screen relative Out: rax - X shl 32 + Y In : rbx - 1 Mouse coordinates, window relative Out: rax - X shl 32 + Y In : rbx - 2 Mouse buttons state Out: rax - State In : rbx - 3 Scroll wheel change Out: rax - Change -- ========================================================== Bernie My files in archive: WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API Can be downloaded here: http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
5. Re: Euphoria on DOSbox
- Posted by Igor Kachan <kinz at peterli?k.?u> Oct 14, 2007
- 848 views
- Last edited Oct 15, 2007
Bernie Ryan wrote: > > Igor Kachan wrote: [snip] > > > > That thing we can see on Kolibri OS, specific port of DOSBox to > > Kolibri runs Euphoria DOS32 OK, there are some bugs, for example, > > DOS mouse of EU doesn't work on that DOSBox, but DOSBox itself > > is not completed by development, so we have just some > > perspective of perfect work. [snip] > Igor: > > This is index for using mouse on MinuetOS which should be > same as Kolibri OS. > > So a mouse driver should be easy to setup for Euphoria. > > -- ========================================================== > 37 - Get mouse data > > In : rbx - 0 Mouse coordinates, screen relative > > Out: rax - X shl 32 + Y > > In : rbx - 1 Mouse coordinates, window relative > > Out: rax - X shl 32 + Y > > In : rbx - 2 Mouse buttons state > > Out: rax - State > > In : rbx - 3 Scroll wheel change > > Out: rax - Change > -- ========================================================== Hi Bernie, Yes, I have same picture on Kolibri. And the problem is that EU DOS32 mouse works good just in mode 18, but we must draw our own mouse cursors on SVGA. And DOSBox on Kolibri uses SVGA modes and there is no the EU mode 18 mouse cursor! See? I almost finished my Kolibri/Euphoria instruction. Tomorrow, I plan to upload it to RDS site. Regards, Igor Kachan kinz at peterlink.ru
6. Re: Euphoria on DOSbox
- Posted by olddog <halletts at ?ask?el.net> Oct 16, 2007
- 805 views
Apparently, the old DOS game Doom can run on PocketDOS, using the DOS/4GW DOS extender, for which there is a drop-in open-source replacement, DOS/32. Is it possible to compile Euphoria for DOS using a different DOS extender, which may then run under PocketDOS on a Pocket PC? Thanks for any help.
7. Re: Euphoria on DOSbox
- Posted by Robert Craig <rds at ?apidEuphoria.?om> Oct 16, 2007
- 814 views
olddog wrote: > Apparently, the old DOS game Doom can run on PocketDOS, using the DOS/4GW DOS > extender, > for which there is a drop-in open-source replacement, DOS/32. > > Is it possible to compile Euphoria for DOS using a different DOS extender, > which > may > then run under PocketDOS on a Pocket PC? > > Thanks for any help. Euphoria used to use DOS/4GW a long time ago. The DOS extender could reside in a separate file, or could be combined with the Euphoria interpreter .exe file to make a single .exe file. They charged you extra for the privilege of making a single .exe file. I don't think you'd even have to change the Euphoria C source code to use it again. It just involves some trivial change to the way you link the object files using Watcom, perhaps not even that, if the extender is separate. The Watcom, DOS/4GW or DOS/32 docs should have an explanation of how it's done. I know it's very easy, but I don't remember the details off-hand. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
8. Re: Euphoria on DOSbox
- Posted by Igor Kachan <kinz at peterli?k.ru> Oct 17, 2007
- 810 views
- Last edited Oct 18, 2007
olddog wrote: > > Apparently, the old DOS game Doom can run on PocketDOS, using the DOS/4GW DOS > extender, > for which there is a drop-in open-source replacement, DOS/32. > > Is it possible to compile Euphoria for DOS using a different DOS extender, > which > may > then run under PocketDOS on a Pocket PC? > > Thanks for any help. I've googled PocketDOS, and it seems to be that it emulates not only DOS itself, but a processor of i86 family too. And these emulated processors are limiteg just by 80186 or 80286, not 80386. The Euphoria native processors are 80386 and above. So I very doubt that Eu will run on PocketDOS as it is. Regards, Igor Kachan kinz at peterlink.ru
9. Re: Euphoria on DOSbox
- Posted by olddog <halletts at ?asktel.net> Oct 30, 2007
- 814 views
Is there anybody out there who has a copy of the source and who knows how to work with compilers who would be willing to join an experiment? If you could re-compile Euphoria for DOS using the DOS/32a open-source DOS extender (instead of Causeway), there is a good chance that the common DOS emulators could run it, including PocketDOS for the pocket PC. This could open up a whole new realm of application for Euphoria. Is anybody willing to try this and share the resultant ex.exe with us? I'd be happy to do some testing on my pocket PC (Dell Axim x50v). Thanks! Robert Craig wrote: > > olddog wrote: > > Apparently, the old DOS game Doom can run on PocketDOS, using the DOS/4GW > > DOS > > extender, > > for which there is a drop-in open-source replacement, DOS/32. > > > > Is it possible to compile Euphoria for DOS using a different DOS extender, > > which > > may > > then run under PocketDOS on a Pocket PC? > > > > Thanks for any help. > > Euphoria used to use DOS/4GW a long time ago. > The DOS extender could reside in a separate file, > or could be combined with the Euphoria interpreter .exe file > to make a single .exe file. They charged you extra > for the privilege of making a single .exe file. > > I don't think you'd even have to change the > Euphoria C source code to use it again. > It just involves some trivial change to the way > you link the object files using Watcom, > perhaps not even that, if the extender is separate. > > The Watcom, DOS/4GW or DOS/32 docs should > have an explanation of how it's done. > I know it's very easy, but I don't remember the > details off-hand. > > Regards, > Rob Craig > Rapid Deployment Software > <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a>
10. Re: Euphoria on DOSbox
- Posted by CChris <christian.cuvier at a?ri?ulture.gouv.fr> Oct 30, 2007
- 843 views
olddog wrote: > > Is there anybody out there who has a copy of the source and who knows how > to work with compilers who would be willing to join an experiment? > > If you could re-compile Euphoria for DOS using the DOS/32a open-source > DOS extender (instead of Causeway), there is a good chance that the > common DOS emulators could run it, including PocketDOS for the pocket PC. > > This could open up a whole new realm of application for Euphoria. > > Is anybody willing to try this and share the resultant ex.exe with us? > I'd be happy to do some testing on my pocket PC (Dell Axim x50v). > > Thanks! > > > Robert Craig wrote: > > > > olddog wrote: > > > Apparently, the old DOS game Doom can run on PocketDOS, using the DOS/4GW > > > DOS > > > extender, > > > for which there is a drop-in open-source replacement, DOS/32. > > > > > > Is it possible to compile Euphoria for DOS using a different DOS extender, > > > which > > > may > > > then run under PocketDOS on a Pocket PC? > > > > > > Thanks for any help. > > > > Euphoria used to use DOS/4GW a long time ago. > > The DOS extender could reside in a separate file, > > or could be combined with the Euphoria interpreter .exe file > > to make a single .exe file. They charged you extra > > for the privilege of making a single .exe file. > > > > I don't think you'd even have to change the > > Euphoria C source code to use it again. > > It just involves some trivial change to the way > > you link the object files using Watcom, > > perhaps not even that, if the extender is separate. > > > > The Watcom, DOS/4GW or DOS/32 docs should > > have an explanation of how it's done. > > I know it's very easy, but I don't remember the > > details off-hand. > > > > Regards, > > Rob Craig > > Rapid Deployment Software > > <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a> Really? The code in be_machine.c has some interrupt #31 calls which are specific to Causeway according to RBIL v61: * long_to_short(): AX=#FF21 (GetMemDOS) and #FF01 (RM interrupt) * InitGraphics(): AX=#FF08 (GetSelDet32) * user_allocate_low(): AX=#FF21 * user_free_low: AX=#FF23 (RelMemDOS) * dos_interrupt: AX=#FF01 So... I expect these areas of the backend source will require some alternative variant selected by an #ifdef ... #else directive. CChris
11. Re: Euphoria on DOSbox
- Posted by Robert Craig <rds at RapidEuphori?.c?m> Oct 30, 2007
- 822 views
CChris wrote: > Really? > The code in be_machine.c has some interrupt #31 calls which are specific to > Causeway according to RBIL v61: > * long_to_short(): AX=#FF21 (GetMemDOS) and #FF01 (RM interrupt) > * InitGraphics(): AX=#FF08 (GetSelDet32) > * user_allocate_low(): AX=#FF21 > * user_free_low: AX=#FF23 (RelMemDOS) > * dos_interrupt: AX=#FF01 > > So... I expect these areas of the backend source will require some alternative > variant selected by an #ifdef ... #else directive. Thanks for spotting those calls. They are specialized bits of code you would probably have to change to achieve 100% compatibility, but I think the bulk of Euphoria for DOS should work OK without any source code changes. For instance, Bernie recently said he got pmodew working: http://www.openeuphoria.org/EUforum/m17215.html I switched over to the Causeway DOS extender, from DOS4GW, more than a decade ago. I compared against a couple of other DOS extenders at that time. I recall that things pretty much worked immediately, without any source changes, whichever extender I used. Though, as you observe, I did eventually code a few Causeway-specific calls to support some tricky stuff, such as the Euphoria dos_interrupt() library routine etc. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
12. Re: Euphoria on DOSbox
- Posted by Bernie Ryan <xotron at bluef?og?com> Oct 30, 2007
- 819 views
Robert Craig wrote: > > CChris wrote: > > Really? > > The code in be_machine.c has some interrupt #31 calls which are specific to > > Causeway according to RBIL v61: > > * long_to_short(): AX=#FF21 (GetMemDOS) and #FF01 (RM interrupt) > > * InitGraphics(): AX=#FF08 (GetSelDet32) > > * user_allocate_low(): AX=#FF21 > > * user_free_low: AX=#FF23 (RelMemDOS) > > * dos_interrupt: AX=#FF01 > > > > So... I expect these areas of the backend source will require some > > alternative > > variant selected by an #ifdef ... #else directive. > > Thanks for spotting those calls. They are specialized bits > of code you would probably have to change to > achieve 100% compatibility, but I think the bulk of > Euphoria for DOS should work OK without any source code changes. > For instance, Bernie recently said he got pmodew working: > > <a > href="http://www.openeuphoria.org/EUforum/m17215.html">http://www.openeuphoria.org/EUforum/m17215.html</a> > > I switched over to the Causeway DOS extender, > from DOS4GW, more than a decade ago. > I compared against a couple of other DOS extenders at that time. > I recall that things pretty much worked immediately, > without any source changes, whichever extender I used. > Though, as you observe, I did eventually code a few > Causeway-specific calls to support some tricky stuff, > such as the Euphoria dos_interrupt() library routine etc. > > Regards, > Rob Craig > Rapid Deployment Software > <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a> I got it to compile but it crashs . Bernie My files in archive: WMOTOR, XMOTOR, W32ENGIN, MIXEDLIB, EU_ENGIN, WIN32ERU, WIN32API Can be downloaded here: http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
13. Re: Euphoria on DOSbox
- Posted by CChris <christian.cuvier at agriculture.?o?v.fr> Oct 30, 2007
- 865 views
Robert Craig wrote: > > CChris wrote: > > Really? > > The code in be_machine.c has some interrupt #31 calls which are specific to > > Causeway according to RBIL v61: > > * long_to_short(): AX=#FF21 (GetMemDOS) and #FF01 (RM interrupt) > > * InitGraphics(): AX=#FF08 (GetSelDet32) > > * user_allocate_low(): AX=#FF21 > > * user_free_low: AX=#FF23 (RelMemDOS) > > * dos_interrupt: AX=#FF01 > > > > So... I expect these areas of the backend source will require some > > alternative > > variant selected by an #ifdef ... #else directive. > > Thanks for spotting those calls. They are specialized bits > of code you would probably have to change to > achieve 100% compatibility, but I think the bulk of > Euphoria for DOS should work OK without any source code changes. > For instance, Bernie recently said he got pmodew working: > > <a > href="http://www.openeuphoria.org/EUforum/m17215.html">http://www.openeuphoria.org/EUforum/m17215.html</a> > > I switched over to the Causeway DOS extender, > from DOS4GW, more than a decade ago. > I compared against a couple of other DOS extenders at that time. > I recall that things pretty much worked immediately, > without any source changes, whichever extender I used. > Though, as you observe, I did eventually code a few > Causeway-specific calls to support some tricky stuff, > such as the Euphoria dos_interrupt() library routine etc. > > Regards, > Rob Craig > Rapid Deployment Software > <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a> Looking at the docs, you may even be able to drop Causeway specific calls altogether: * replace #FF21 by #0100 (DPMI DOS allocate) * replace #FF23 by #0101 (DPMI DOS free) * replace #FF01 by #0300 (DPMI perform real mode interrupt) * replace #FF08 by #0006 (DPMI get descriptor linear addr) The (slightly) tricky bit is at line 574, which would have to be edited as: peekaboo = ((regs.x.ecx && 0xFFFF)<<16)+(regs.x.edx && 0xFFFF); // base of selector I didn't find the definition for the REGS union - don't have a C compiler here -, so this line can probably be simplified by using the 16 bit register version only, since the base addr is returned in CX:DX instead of EDX. I didn't check whether the real mode call structures standard DPMI and CauseWay use are the same; I'd be surprised if they are not. Otherwise, register usage is consistent, so nothing else needs any change, since nothing else in the source depends on the extender. CChris