zaurus port

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

zaurus port

Post by artaxerxes »

If you allow me, I'll create a new post regarding my questions about the zaurus port.

First of all, I believe it would be appropriate to modify the configure script so that the WINDOWING_SYSTEM isn't HOST_OS dependant but also HOST_CPU or HOST_VENDOR (preferred) dependant.

I propose a vendor name for the Zaurus: embeddix.

So the configure script will check if the os is linux and is the vendor is embeddix. If it is, then here are the zaurus specific options:

WINDOWING_SYSTEM=-DQTOPIA
enable_kmid=no
enable_timidity=no

(the last two are just for now).

I'll then modify the source so that linux/X11 specific task are separated from linux/QTOPIA tasks.

Tell me what you think.
Artaxerxes

ps: please IgnitusDragonn and SnowyThing..., post only zaurus related stuff here. Please
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

here are the changes I made to the configure script.
Of course, since it is in itself generated, those changes should be put somewhere else (like configure.in IIRC).

case "$host_os-$host_vendor" in
linux-*-embeddix*)
WINDOWING_SYSTEM="-DQTOPIA"
echo "$ac_t""Qtopia (Sharp Zaurus)" 1>&6
;;
linux*)
WINDOWING_SYSTEM="-DXWIN"
echo "$ac_t""X11 (GNU/Linux)" 1>&6
;;
beos-*)
WINDOWING_SYSTEM="-DBEOS"
echo "$ac_t""BeOS" 1>&6
SYSLIBS="-lbe -lmidi"
enable_kmid="no"
enable_timidity="no"
;;


(I had to change the beos thing since it did not end with a "*").

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

I've removed the -Dmain=SDL_main that is added automatically for some reason using CVS SDL in order to compile exult.cc, and it worked.

after that, running make finished the job and I _think_ I've got a binary for the sharp zaurus. I can't test it right now but I will let you know if it runs anything.

There is _OBVIOUSLY_ lots of tweaking to do, but knowing exult at least compile is a sweet thought.

Back to work
Artaxerxes
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

Great! Do you have an actual Zaurus, or is there an emulator? When you get it actually working on hardware, it might be fun to send a picture to some of the original U7 developers.
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

I've got the machine... and I recommend it

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

some interesting progress I would like to mention regarding the port of Exult to the Sharp Zaurus.

First of all, I've noticed in the zaurus mailing list that someone expressed interest in porting SDL games to the z and he mentioned exult.
http://sourceforge.net/mailarchive/foru ... um_id=2788

Also, I finally managed to compile exult without removing the -Dmain=SDL_main macro. I realized it prevents exult from running on the zaurus so I investigated the source code for the SDL and realized that I could use a #define to help it compile. As a result, I slightly altered the configure script, the Makefile files and ran "make" with happy results, that is a successful compilation without errors.

I need now to test the binary to see if it runs now on the z (the cradle is at home, so I cannot test at work).

I'll keep you posted.

Artaxerxes

ps: I added the macro -DQWS and -DDISABLE_X11 to the SDL_LIBS entry in the Makefile
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

Good luck with it!
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

great news!!!

Not only I've got exult compiled for the Zaurus, but it also runs!!!

Right now, it's stuck saying I don't have the data files installed (which is going to be fixed in a second),
but without making any changes yet, the screen was already rotated and fullscreen!

YAHOOOO!!!

Artaxerxes
SB-X
Posts: 980
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by SB-X »

*demands a photograph of The Black Gate on Zaurus*
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by Dominus »

yeah, give us a screenshot :-)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

I wonder if placing the Zaurus face-down on a scanner would work:-)
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

the pb guys is that I do not have a digital camera.... :(

anybody willing to make a donation would be welcome !

Also, I just ran exult a second time and this time it does not show me the "no data files" screen ?
why ? Even when I've removed ~/.exult.cfg and ~/.exult/, it still stops at the command line...

any clue, so that I could fix it and get a picture to show the world ?

Artaxerxes
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

Does it print anything on the command-line? Also, you might try running it as "exult --bg --nocrc".
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

If no output, does SDL maybe accidently redirect output to stderr.txt/stdout.txt?
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

for some reason, when I launch exult from the zaurus' command prompt, I get this now:

Exult version 0.99.2cvs
Built at: Jul 11 2002 17:45:35
Compile-time-options: HAVE_TIMIDITY_BIN (which by the way I said no during ./configure)
Compiler: gcc. version: 2.95.2 19991024 (release)
Platform: Linux version 2.4.6-rmk1-np2.embeddix-011228
Data path = /usr/local/share/exult
dpath = ./data
Could not find 'exult.flx' anywhere
Please make sure Exult is correctly installed, and the Exult data path is specified in the configuration file,
(See the README file for more information)


Ouf, that was long to type !

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

and to continue in the weird department, I've copied over the exult.cfg and exult.flx files and now when I run exult, it says it can't create a window 320x200 at 8 bpp.... I look silly now if I can't provide a screenshot !

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

that's a story to make you mad!

now it runs!
It seems it is very random...... I'll have to investigate... anyways, I've got it just under my eyes: a black screen with the words:

WARNING

Could not find the data files for either "The Black Gate" or "Serpent Isle" . Please edit the configuration file and restart Exult

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

at the very minimum, what is REQUIRED to run exult ?

of course, the binary, compiled for the appropriate host, that we will call exult.arm,
the file exult.cfg, the file exult.flx

but what else ?

thx for your help... I am preparing packages for exult for the zaurus (note: it is not finished yet) and I need to know what are the really mandatory fields to add.

See ya

Artaxerxes
nadir
Site Admin
Posts: 407
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by nadir »

You will also need exult_bg.flx and exult_si.flx

These are loaded at the beginning (just verified running Exult with strace).
nadir
Site Admin
Posts: 407
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by nadir »

Here is a (trimmed) output of the "open" syscalls that exult makes until it displays the main menu

open("/proc/version", O_RDONLY|O_LARGEFILE) = 3
open("/home/tst/.exult.cfg", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/exult/exult.flx", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/exult/exult_bg.flx", O_RDONLY|O_LARGEFILE) = 3
open("/usr/share/exult/exult_si.flx", O_RDONLY|O_LARGEFILE) = 3
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 3
open("/home/tst/.Xauthority", O_RDONLY) = 4
open("/home/tst/.Xauthority", O_RDONLY) = 4
open("/home/tst/.Xauthority", O_RDONLY) = 5
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 7
open("/dev/dsp", O_WRONLY|O_NONBLOCK) = 7
open("/dev/dsp", O_WRONLY|O_NONBLOCK) = 7
open("/dev/dsp", O_WRONLY) = 7
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 8
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 8
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 8
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 8
open("/usr/share/exult/exult.flx", O_RDONLY) = 8
open("/usr/share/exult/exult.flx", O_RDONLY) = 9
open("/usr/share/exult/exult.flx", O_RDONLY) = 9
open("/usr/share/exult/exult.flx", O_RDONLY|O_LARGEFILE) = 9
open("/usr/share/exult/exult.flx", O_RDONLY) = 10
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 10
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 10
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 10
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 10
open("/home/tst/.exult.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0664) = 10
open("u7midi", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 10
open("/usr/share/exult/exult.flx", O_RDONLY) = 10
open("/usr/share/exult/exult.flx", O_RDONLY) = 11
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

great thx I'll make sure I add those.

Artaxerxes
fliptw

Re: zaurus port

Post by fliptw »

so zarusus have the room for a full install of u7 and si?
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

on its own, no. There is "only" 64MB of RAM, half of it is used for swap and ROM, so it leaves you with 32MB of useful space (still is double than the SL5000D).
But add'l cards aren't that expensive. Just got a 128MB for CAD$100 (about US$10... just kiddin'... about US$65) and also a 32MB CF card + a 32MB MMC card for CAD$50 (about US$30).

This gives WAY enough room for both BG and SI.

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

coming in to announce the latest:

I've got the SI data files on the Zaurus and I managed to run exult and see the ankh amulet with "exult" written below.

At this point though, I got a "Fatal Signal: Bus Error (SDL Parachute Deployed)".

Back to hacking!

Artaxerxes
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

hm, wild guess:

maybe it's the buffer copy code: try replacing the '#ifndef __sparc__' with '#if 0' in ibuf8.cc to use the 'safe' copy code.
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

great news:

I am now able to compile exult from scratch and make it run (partially) on the zaurus. For those who just popped in, I was able to do that before, but I had lost what steps I followed to make it happen. Now everything is documented.

I am working immediately on the patch proposed by wjp.

SO EXCITING!!

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

alright...

just applied the patch. I manage now to pass the "ankh screen" and actually see the icon saying I did not install the sound pack, the button to start SI, to configure exult, to exit etc...

The only thing is that it crashes when I click on the SI button.

Also, the mouse is inverted! Going down makes the cursor go right ! I swear I haven't drunk yet.. :)

Artaxerxes
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

Ok, getting there :-)

Can you get a stdout/stderr? (Or a stacktrace?)
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

I've been checking this board about every 10 minutes to see how you're doing:-)
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

stderr and stdout really don't say anything useful. Really.

As for stacktrace, I don't have it on the zaurus!

In some instance, it totally locks the machine, I had to put the switch in "change battery" mode (stops the juice from coming to the CPU) in order to get sth.

But you're right.. we're getting there...

Artaxerxes

ps: I mentioned in IRC I should get the camera today... unfortunately, my co-worker forgot it again! arrgh..
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

> stderr and stdout really don't say anything useful. Really.

Did you compile in debugging mode? (--enable-debug)

> As for stacktrace, I don't have it on the zaurus!

Hm, maybe a coredump then?
Compile with --disable-sdl-parachute to get rid of the parachute that prevents coredumps. (Although there might be other mechanisms in place to prevent core dumps, since space is limited on the Zaurus)

Other ideas: strace? ltrace? remote gdb?
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

DEBUG is enabled. It says in stdout:

compile-time options: DEBUG


as for stack study... I'll give a try to remove sdl-parachute.. since I crash anyways, I don't need a parachute! There is no other thing I know of to get stracktrace information. I'll look in the web and ask the mailing list if I can't find anything.

DrCode: thx for the support! I must admit I was pretty excited to see the ankh screen the first time and now I can see the "ultima VII part 2 Serpent Isle" part...! "setup" works good, "exit" too, "exult credits" works but "exult quotes" show nothing, "ultima VII part 2 Serpent Isle" crashes.

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

just FYI, it was a bad idea to change -DXWIN into -DQtopia in ./configure.in

I guess there are some initialisations happening that require -DXWIN.

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

FANTASTIC NEWS!

Exult on the zaurus works!

with the help of wjp and others, there is now another platform on which exult runs (and fast I must add).

I was able to create a new character for SI, to journey onward with this character, I saw the blue falshy thing at the beginning, the intro sequence where the boat appeared from nowhere, the converstation Iolo starts with me, I was able to see my inventory, to talk to Dupre, to bring up the sound/video/exit panel and to quit the game.

I still have to manage to move around (there is a stylus and no mouse) and to fix the issue that the cursor acts in a landscape mode while the stylus is portrait (the green cursor goes up when the stylus goes right).

I'll keep you posted. I'll get pictures as soon as I can get a hand on a digital camera!

See you soon,

Artaxerxes
Zaurus port of Exult
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by Dominus »

WOW!!!!
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

Congratulations!!
nadir
Site Admin
Posts: 407
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by nadir »

Awesome !!!
Congrats to you Artaxerxes.
All we need now is a port to S/390 and we're set for World Domination :)
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

and the great news is...

I've got pictures! I went to my in-laws yesterday and took advantage of my step-father-in-law's digital camera. The pix are on the CF card right now and I just need to transfer them on my computer, resize them (they are HUGE) and put them somewhere on the web.

Any idea of where I could put it up?

Also, I've been working on paper on the key mapping thing. Since there is only a stylus, something has to be done in order to play properly.

Should I hack the exult source code for that or the SDL source code?

Anyways, let me know where I can post those pix!

Artaxerxes
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

Great! Can't wait to see them

I'll be happy to donate the webspace for them :-)
Or maybe we could put them on our SF webspace, or you could 'use' the si-french SF webspace or something :-)

Anyway, if you want me to put them somewhere, just email them to me and I'll have them online in a few minutes :-)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by Dominus »

I think the best would be for them to be on our screenshots space. So mail them to wjp :-)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
XxVenomxX
Posts: 344
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by XxVenomxX »

Yeah, what they said, hehe. I look forward to seeing them :)
http://venom.gamersgraveyard.com
Fantasy art/Illustration by Brendan Setaro
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

I am currently transfering the pix on my machine. I've got some issue with it right now (some weird crash on my machine).

I'll probably send the files to wjp as soon as possible. Keep posted.

Artaxerxes
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

ok

the pictures have just been sent to wjp.

Artaxerxes
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by wjp »

Got them :-)

I've put them online at:

http://exult.info/images/screenshots/zaurus/
XxVenomxX
Posts: 344
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by XxVenomxX »

Wow, fantastic work Artaxerxes, freakin brilliant. :) I almost want to get a Zaurus just for that! ;)
http://venom.gamersgraveyard.com
Fantasy art/Illustration by Brendan Setaro
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

go on ebay, I can see quite some being sold. Also, in NC, BestBuy sells them at $313.

Please note that the exult port is NOT finished. It is not even really playable since I can't move yet! Alll I can do is operations you can do with only the left button of your mouse.

But it is a work in progress. It even seems you don't need to set up a separate swap file on a card, which is good for its lifespan. I got some crashes that required hard reboot but all in all, I've SO excited!

At last a real worthwhile contribution to my favourite game! :)

Artaxerxes
XxVenomxX
Posts: 344
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by XxVenomxX »

Definitely, keep us all posted (I'm sure you will anyways) on your progress.

*sigh* I've always dreamed of a handheld Ultima VII...

hehe
http://venom.gamersgraveyard.com
Fantasy art/Illustration by Brendan Setaro
dag

Re: zaurus port

Post by dag »

great!
i always wanted to buy some kind of pda, but my mobile
phone can handle my m$-outlook dates and addresses...
now, with an exult engine at the horinzon, there _is_
a reason to consider that!
tremendous work! maybe i should go and buy one, maybe
just to help you out in some way 8-))
artaxerxes
Site Admin
Posts: 1310
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by artaxerxes »

I've just installed the newest version of SDL (prepared by Alexandre Courbot) from http://www.gnurou.org/feed/Packages (http://www.gnurou.org/zaurus/feed/libSD ... -1_arm.ipk and http://www.gnurou.org/zaurus/feed/libSD ... -1_arm.ipk)
and now the screen works perfect! No more landscape/portrait issues.

It's even so fine, that I can double tap on the backpack (usually hard to click on right) to get it open. Really cool then.

All that is left to do is mapping the keys (there is no "right tap") and QA.

Artaxerxes
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: zaurus port

Post by drcode »

Really cool! Definitely should go on our web page.
Locked