Friday 9 May 2008

Real dosbox init in emu :)


This made my day. After resolving memory allocation issue (PANIC ALLOC - simply resolution by setting more HEAP size in *.mmp file for this application, using EPOCHEAPSIZE directive. Once again kudos go to MaxPayne from developer.symbian.com for a hint on this) the app passes real dosbox init (of all subsystems like memory, cpu, ints, h/w, etc.).


So now we can enjoy this gorgeous dosbox shell prompt well known for all win/unix/ppc users (see above). It seems that 'basic' porting of dosbox to symbian/uiq was much easier than i initially anticipated. Now (excluding all the potential changes to be done in the base dosbox code) it is 'only' a matter of:
- proper rendering,
- handling input (probably some virtual keyboard below, as luckily dos game modes are usually 320x200, so 40 pixels left)
- handling io ops - to be able to start any app in it :).
- moving it all to real device.
The future looks bright...

Tuesday 6 May 2008

Whole DOSBOX compiled :)


Wow! I managed to compile entire source code (with just some minor changes, and one typo fix) and run the exec in the emulator (WINSCW). I got typical DOSBOX copyright message (from sdlmain.cpp), and that is gonna to use default config. And then Exit to error: Cannot allocate memory of 16MB followed by emulator crash shortly due to PANIC ALLOC :).
But its a nice progress, and a good starting point for debugging. In debug mode dosbox compiles to around 8megs exec.
I disabled FPU, dynamically recompiled core, OpenGL (obviously) but rest of it is almost intact.
The are some problems to compile render_scalers.cpp (src/gui/) in release mode - it simply hangs, but i will tackle that later on.

Finaly some progress - libCPU compiles :)

After several days (and evenings) of hard tries to become more familiar (and efficient) with Symbian C++ tools I managed (with help from developer.symbian.com - kudos to MaxPayne) to compile libcpu :).

It required some minor changes to compile, most significantly - renaming some *.h files to *.inl and including them in the *.cpp files as *.inl. It seems that Symbian's build environment is rather picky in terms of *.h files validation, and if *.h are simply macros or raw parts of code to be included in *.cpp files - it will fail miserably.

I dont know if it works at all yet, but right now i focus on recompiling the whole source code - and then we will see what happens. Hopefuly with the knowledge i gained on CPU the rest will take shorter to make it compilable. Stay tuned for details.

DOSBOX for UIQ3 project started :)



This is a small blog to track my progress on porting DOSBOX to UIQ3 (and Symbian in more general, although at some point i will stick to UIQ3).

So what one needs to port that piece of software ? Fortunately all the libs that DOSBOX depends on are already ported to this platform, and this includes SDL (im using eSDL port by AG), STD libs (PIPS for UIQ3/Symbian9.x or LIBC for S60v3) and STL (STLport or uSTL, i will stick to STLport as for now, and maybe at some point try to migrate to uSTL which is more lightweight).

So now its 'only' a matter of careful (and painful) process of modify, compile, verify :) Lets see how far i can go with it....