Friday 13 June 2008

No news as no progress :(

No news, as no real progress ;(. I'm stuck at dosbox CPU internals, and practically had no time to debug it further. Moreover im quite busy with my current corporate assignments :), and also shifting a bit my interests to programming in the large. Anyway, if someone is willing to take it further from this place (at which dosbox compiles using UIQ3 SDK, and in general stars in emulator), im willing to share the source code :).

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....