open mini netbook

open project of mini netbook, 7'' ARM netbook

You are not connected. Please login or register

DOSbox on Anyka?

View previous topic View next topic Go down  Message [Page 1 of 1]

1 DOSbox on Anyka? on Sat 23 Oct 2010 - 22:12


Hi All!

I've been trying in the last couple of days to get some kind of DOSbox running on my Allfine 703, but no success so far...

I tried pckdos and n0p's PocketPC port of DOSbox 0.73. Pckdos in short terms: no success...

n0p's PPC DOSbox (available: n0p's homepage ) did start after installing GAPI for HPCs (available: WinCESoft homepage, could only work in emulation mode, but even that would be a great step...), but I could only get a scrambled screen. The command prompt however is working, if I blind type 'exit', it exits, and 'dir' does make something (scrambledness changes on the screen).

I'd like to do it, because this little machine would be perfect to play some oldie DOS games Smile

I'm desperate enough that I started to look around to get a compiler to be able to compile for WinCE, but even that does not seem to be too easy, and since I don't have any experience in porting software to ARM/WinCE, this is the easiest of the steps...

Ideas, anyone?

I'm trying to set up a cross-compiling setup to be able to tinker with this one... Any Cygwin+CeGCC experts here? Would be sooooo cool to play all the classics...

I managed to set up a CeGCC compiler under Cygwin, and now I'm trying to get n0p's DOSBox compiled... Don't hold your breath until I get it to compile OK, but I think it's worth the pain. Smile Hold on!

2 Re: DOSbox on Anyka? on Sat 30 Oct 2010 - 9:40


This post will be about how to set up CeGCC and SDL which I try to use to compile DOSBox. Sort of a guide, even for myself not to forget what I!ve been through... I!m used to very comfortable development environments, and this is a little bit rougher experience.

Cygwin page
Just install it, but be careful to add GCC, MAKE, and the needed libraries... (I added all, just to be sure...)

CeGCC project page
I'm trying to use 0.59.1, it is the newest (2010-10-30).
It comes in a tar.bz2 format, and though it is tempting to unpack it using windows and put it into /opt of the cygwin install dir, but don't do that... It will corrupt the symlinks, and arm-mingw32ce-gcc won't work...

Rather than that, copy the .tar.bz2 to the /opt of Cygwin install dir, and unpack it using tar -jxvf <filename>

Don't forget to add cegcc dirs to the path: (TODO: add example)

SDL instructions:
This installs SDL 1.2.6, which is not the newest, but CeGCC only works with 1.2.X versions, and currently I seem to be able to use it. Download the script and run it in an empty directory.

To make everything appear in one place, I copy the script here, but it is from the page mentioned above!


tar -zxf SDL-1.2.6.tar.gz
cd SDL-1.2.6
patch -p0 < libsdl_20070610_diff
cat Makefile | sed -e 's/arm-wince-pe/arm-mingw32ce/' > Makefile2
mv Makefile2 Makefile
sudo cp libSDL.lib /opt/mingw32ce/arm-mingw32ce/lib/
cd ..
rm SDL-1.2.6.tar.gz
rm -r SDL-1.2.6
tar -jxf wince-gcc-libs.tar.bz2
cd libs/include
sudo cp -r sdl /opt/mingw32ce/arm-mingw32ce/include/
cd ../..
rm -r libs
rm wince-gcc-libs.tar.bz2

Some things to change after that:
- sdl-config: the script on the quoted page doesn't make any. Put this into /opt/mingw32ce/arm-mingw32ce/bin/sdl-config (don't forget to make it executable, eg. chmod 777 sdl-config after saving):



Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs]"

if test $# -eq 0; then
      echo "${usage}" 1>&2
      exit 1

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;

  case $1 in
      if test $exec_prefix_set = no ; then
      echo $prefix
      echo $exec_prefix
      echo 1.2.6
      echo -I${prefix}/include/SDL  -Dmain=SDL_main

      # The portable way of including SDL is #include "SDL.h"
      #if test ${prefix}/include != /usr/include ; then
      #    # Handle oddities in Win32 path handling (assumes prefix)
      #    prefix=`echo ${prefix} | sed 's,^//\([A-Z]\),\1:,'`
      #    includes=-I${prefix}/include
      #echo $includes -I${prefix}/include/SDL  -Dmain=SDL_main
      libdirs="-L${exec_prefix}/lib "
      echo $libdirs -lSDL
#    --libs|--static-libs)
      libdirs="-L${exec_prefix}/lib "
      echo $libdirs -lSDL  -luser32 -lgdi32 -lwinmm
      echo "${usage}" 1>&2
      exit 1

- copy header files to the correct path: /opt/mingw32ce/arm-mingw32ce/include

Download the sources from n0p's page. I downloaded both, the clean and the CVS version too. The CVS version has a lot of useful things: autogen script, configure scripts, etc...

Run, then edit config.h, and comment the line #define DB_HAVE_NO_POWF 1 (It seems that we do have a powf call).
Now run ./configure --host=arm-mingw32ce --with-sdl-prefix=/opt/mingw32ce/arm-mingw32ce

This generates the makefiles.

Running make now results in an error regarding the fileno() function, because in the stdio.h in directory /opt/mingw32ce/arm-mingw32ce/include has a definition with void* return type, which does give an error. This might give problems later, but I changed all of them (even _fileno() definitions!) to int, and now it goes beyond that...

So bad, I'm a Java developer, I'm sure otherwise my very own brew DOSbox would be up and running by now...

Now run make.

<Progress is here - I'm stuck for now, the steps after this are theoretical...>

Run make install

Last edited by ppeterka on Mon 1 Nov 2010 - 10:42; edited 1 time in total

3 Re: DOSbox on Anyka? on Sat 30 Oct 2010 - 9:41


ppeterka wrote:Now run make.

One error down - more to come Smile don't worry, I'll learn how to use a source-code sword to fight them all (and who learns how to use a sword properly, I assume will become a Knight Smile )

Update (2010-11-01 14:00): it seems that I missed the fact that n0p also tinkered with the SDL sources, and added some wrapper functions like _GetGAPIBuffer... It is documented here:

I'll try to synchronize the scummvm-cegcc patched SDL with this one. Probably I should set up a CVS for this thing, it is starting to get out of my hands...

Last edited by ppeterka on Mon 1 Nov 2010 - 13:00; edited 2 times in total (Reason for editing : Updated progress)

4 Re: DOSbox on Anyka? Today at 19:59

Sponsored content

View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum