Help - Search - Members - Calendar
Full Version: Will this let us play King's Quest on the Zaurus ?
OESF Forums > General Forums > General Support and Discussion > Software
cmisip
http://www.mega-tokyo.com/sarien/index.php...tion&page=ports

Seems like there is a linux port with SDL. Has anybody tried this? Would be nice to play the old sierra games again on the Z.
Stubear
Get the zports version of Sarien (along with their SDL libs) - I just finished playing Space Quest I, II and III on my C760

Stu
cmisip
Where can I buy a copy of these old sierra games?
cmisip
Nevermind, there's a lot on ebay.

I found some agi fan sites as well
http://www.classicgaming.com/agisci/fangames.shtml

AGD Interactive has remade versions of king's quest. Will this work on zports?

http://www.agdinteractive.com/
cmisip
Stubear,

I tried the zports version of sarien but the screen was upside down so I compiled my own. With either the zports binary or my own compiled binary, the game (space quest 0) runs but I am having sound problems. There is a background hiss that persists and the game attempts to superimpose on this the game sound. Plus, it makes the game lockup when I try to go up the elevator. With sound off, it works fine. Did you have any problems with sound ?

Sarien doesn't seem to be using timidity or the SDL-timidity as I renamed the timidity patches directory and there was still sound on space quest 0.

Any ideas?
Stubear
Sound doesn't work real well yet - I get the same hissing sound too. Tried with SQ1, SQ2 and Manhunter 1 and 2 and the sound didn't work in any of them - not sure if its a Z thing or a sarien thing

Stu
cmisip
Its probably a Z thing. Sarien's sound worked well in x86 using sdl. I tried different versions of sdl for the Z and even using oss for the sound and sdl for the graphics and still had the same problem.
_Psycho
Btw sarien only support OLD agi game, not the most recent one. (SCI) Thats mean vga game wont work on it.

As for the sound. I did the zports compile. There was 2-3 things left undone, but i never had any time to recheck it. No idea about that. and for the reverse screen. I think we h ave to detect the 5600 model in the libSDL and thats might fix it.
cmisip
I tried the updated zports libSDL. The screen is still inverted on my 5600. Also, the sound problem persists. Space quest 0 is an agi game. It works with sarien on the x86 using either sdl or oss for the console driver.
mteira
So, you're using the last libSDL?
Please, could you start sarien from a console, and tell me the debug messages on it? Perhaps the 5600 is not using the same screen layout as the 5500, anybody knows?

Thanks.
cmisip
In portrait mode, running sarien results in a garbaged screen. Console output is :

root@zaurus:/mnt/card/Documents/space0> ./sarien -S 0 -n ./
could not open for writing `../etc/zstyles/ZIvory.style.new'
Initializing graphics: 320x200 (scale = 1)
sdl: SDL support by claudio@helllabs.org
QT_GetMachine: /proc/deviceinfo/product is 'SL-5600
'
detected machine is 'Sharp SL-5000D'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
QT_SetVideoMode: argSize=320x240
QT_SetVideoMode: qteSize=240x320
QT_SetVideoMode: fbSize=240x320
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=1
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=1
Sarien 0.7.0 - A Sierra AGI resource interpreter engine.
Copyright © 1999-2001 Stuart George
Portions Copyright © 1998 Lance Ewing, © 1999 Felipe Rosinha,
© 1999-2001 Claudio Matsuoka, © 1999-2001 Igor Nesterov,
© 2001 Vasyl Tsvirkunov

--------------------------------------------------------------------------
In Landscape mode, the screen looks ok but upside down

root@zaurus:/mnt/card/Documents/space0> ./sarien -S 0 -n ./
could not open for writing `../etc/zstyles/ZIvory.style.new'
Initializing graphics: 320x200 (scale = 1)
sdl: SDL support by claudio@helllabs.org
QT_GetMachine: /proc/deviceinfo/product is 'SL-5600
'
detected machine is 'Sharp SL-5000D'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
QT_SetVideoMode: argSize=320x240
QT_SetVideoMode: qteSize=320x240
QT_SetVideoMode: fbSize=320x240
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=0
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=0
Sarien 0.7.0 - A Sierra AGI resource interpreter engine.
Copyright © 1999-2001 Stuart George
Portions Copyright © 1998 Lance Ewing, © 1999 Felipe Rosinha,
© 1999-2001 Claudio Matsuoka, © 1999-2001 Igor Nesterov,
© 2001 Vasyl Tsvirkunov


----------------------------------------------------------------

If I dont use a windowed mode ( no -S switch), the program will not run and complains :

root@zaurus:/mnt/card/Documents/space0> ./sarien -n ./
could not open for writing `../etc/zstyles/ZIvory.style.new'
Initializing graphics: 320x200 (scale = 2)
sdl: SDL support by claudio@helllabs.org
QT_GetMachine: /proc/deviceinfo/product is 'SL-5600
'
detected machine is 'Sharp SL-5000D'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
sdl: can't set video mode: Unsupported resolution, 640x480

Error 0127:
Use parameter -h to list the command line options
../bin/qcop: not found


--------------------------------------------------------------

If I run with my own compiled libSDL, the game runs and it is not upside down.

Any version of libSDL I use results in audio problems. Scratchy sound, background noise, the game attempts to play its music but seems to get its tunes stuck. Also, with audio enabled, I cannot use the elevator in the game space quest 0 (this is the initial screen). Without audio, it works fine. I was wondering if you have had a chance to look at the audio problem as well.

-------------------------------------------------------------

using sdl as console driver and building for x86 results in a sarien binary that does not have the audio problems. The problem seems to be z specific. I am trying to compile libSDL natively on the Z but no luck so far. It will only build static libraries. It doesn't seem to like the Z's libm, libpthread, and libdl as they dont pass the file magic test. I found out that there is no "file" command on the z as well. Maybe that is why it fails the file magic test. Do you know where I might get the "file" command?

------------------------------------------------------------

FYI, I am using my own compiled version of sarien. I tried the zports sarien a week ago and had the same results though.

------------------------------------------------------------

Thanks in advance for working on this.
mteira
Seeing your log, I've found that the preliminary 5600 support was lost .I suppose that in one of the CVS operations, I restored an old version.
I've fixed it in a new version (0.6.0-zports-5).
Regards
cmisip
mteira,
I installed the following ipks:

libSDL_1.2.6-zports-5_arm.ipk
scummvm_0.6.0-zports_c7x0-4_arm.ipk
sarien_0.8.0-zports_c7x0-0.ipk

Sarien is still upside down, the terminal output is:

root@zaurus:/mnt/card/Documents/agigames> ../binaries/sarienzp -S 0 space0
could not open for writing `../etc/zstyles/ZIvory.style.new'
sdl: SDL support by claudio@helllabs.org
QT_GetMachine: /proc/deviceinfo/product is 'SL-5600
'
detected machine is 'Sharp SL-5000D'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
QT_SetVideoMode: argSize=320x240
QT_SetVideoMode: qteSize=320x240
QT_SetVideoMode: fbSize=320x240
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=0
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=0
Sarien 0.8.0-cvs - A Sierra AGI resource interpreter engine.
Copyright © 1999-2003 Stuart George
Portions Copyright © 1998 Lance Ewing, © 1999 Felipe Rosinha,
© 1999-2003 Claudio Matsuoka, © 1999-2001 Igor Nesterov,
© 2001,2002 Vasyl Tsvirkunov, © 2001,2002 Thomas Akesson
Scale2x Copyright © 2001-2002 Andrea Mazzoleni


I tried scummvm:

It refuses to run, the terminal output states:

root@zaurus:/mnt/card/Documents/scummgames> scummvm -f -g normal queen
could not open for writing `../etc/zstyles/ZIvory.style.new'
Switched to configuration /home/root/.scummvmrc
Looking for queen
Trying to start game 'Flight of the Amazon Queen'
WARNING: No path was provided. Assuming the data files are in the current direct ory!
WARNING: SDL_SetVideoMode says we can't switch to that mode!
../bin/qcop: not found
root@zaurus:/mnt/card/Documents/scummgames> scummvm -f -g normal queen
could not open for writing `../etc/zstyles/ZIvory.style.new'
Switched to configuration /home/root/.scummvmrc
Looking for queen
Trying to start game 'Flight of the Amazon Queen'
WARNING: No path was provided. Assuming the data files are in the current direct ory!
WARNING: SDL_SetVideoMode says we can't switch to that mode!


What video mode is scummvm trying to set?
cmisip
I was able to compile scummvm .6. It has the video set at 320 x 240 for qtopia. It runs on my version of sdl, but it was very slow. I tried it with your sdl and it was fast. However, the video is screwed up. I ran it at landscape mode on the 5600 (portrait mode just hangs). I think my compiled scummvm thinks the screen is in portrait mode... If that makes sense..because the video display shows multiple interlaced images on top of each other. Its probably just needs a small change in the rotation setting in libSDL. Maybe this also is why the sarien screen is upside down.

Thanks for all your efforts.
mteira
Scummvm zport is trying to set the video mode to 640x480. That's why is not working on your 5600, and that's why the version is 0.6.0-zports_c7x0-4.

Anyway, the libSDL is still not detecting your 5600. I don't know why. I'm starting to think that perhaps sarien is using a statically linked libSDL. Psycho, could you throw some light on this? I'll also take a look at the detection code, but with that /proc/deviceinfo/product it should be detected as a 5600 correctly.

Regards.
_Psycho
QUOTE
Scummvm zport is trying to set the video mode to 640x480. That's why is not working on your 5600, and that's why the version is 0.6.0-zports_c7x0-4.

Anyway, the libSDL is still not detecting your 5600. I don't know why. I'm starting to think that perhaps sarien is using a statically linked libSDL. Psycho, could you throw some light on this? I'll also take a look at the detection code, but with that /proc/deviceinfo/product it should be detected as a 5600 correctly.

Regards.


Good possiblity, i dont remember at all if sarien was statically linked with my own libSDL (I dont think due to the size of it). But I have a look as soon as i can (this week i hope, im so busy).
cmisip
I managed to compile the libsdl version from http://www.piro.hopto.org. Added the entry for the 5600 ins SDL_sysvideo.cc and set the rotation to 2. That worked. Looking at the source, I see an entry for SDL_FB_DIRECT environment variable. Without this setting, my sdl runs at the correct rotation. With this setting on, they are upside down again. I would like to be able to use SDL_FB_DIRECT because when I run testsprites I get 85 frames per second with this variable set to 1 and 60 frames per second with this variable set to 0. The following is the output for SDL_FB_DIRECT=0

./testsprite
could not open for writing `../etc/zstyles/ZIvory.style.new'
keyhelper_SDL.xml loaded
detected machine is 'Sharp SL-5600'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
QT_SetVideoMode: argSize=320x240
QT_SetVideoMode: qteSize=320x240
QT_SetVideoMode: fbSize=320x240
QT_SetVideoMode: qteRotation=2
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=2
QT_SetVideoMode: qteKeyRotation=2
QT_SetVideoMode: sdlKeyRotation=2
Screen is at 16 bits per pixel
Screen is in system memory
Sprite is in system memory
Sprite blit uses RLE acceleration
59.61 frames per second
../bin/qcop: not found


The following is the output with SDL_FB_DIRECT=1

export SDL_FB_DIRECT=1
root@zaurus:/mnt/cf> ./testsprite
could not open for writing `../etc/zstyles/ZIvory.style.new'
keyhelper_SDL.xml loaded
detected machine is 'Sharp SL-5600'
QT_GetRotation: Read spec from '/tmp/qtembedded-root/QtEmbedded-0.spec'
Rot=0, Qvga=0
Direct paint mode
QT_SetVideoMode: argSize=320x240
QT_SetVideoMode: qteSize=320x240
QT_SetVideoMode: fbSize=320x240
QT_SetVideoMode: qteRotation=2
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=2
QT_SetVideoMode: qteKeyRotation=2
QT_SetVideoMode: sdlKeyRotation=2
Screen is at 8 bits per pixel
Screen is in system memory
Sprite is in system memory
Sprite blit uses RLE acceleration
87.10 frames per second
../bin/qcop: not found

Both are run with the 5600 in landscape rotation. Portrait results in garbage. I notice that the screen is 8 bits per pixel in SDL_FB_DIRECT mode, maybe that accounts for the increased frame rate.

Does anybody know how to set a rotation of 2 with SDL_FB_DIRECT mode?

Also while I am able to run Flight of the Amazon Queen now with fast graphics, Beneath a steel sky quits without an error. Is this game meant to run at 640x480 only? Is that why it quits on my 5600.

Thank you very much for all your insights
mteira
Hello.
I was looking at the patches in that page you said. What I've found is that they relay in a kernel patch for rotating the framebuffer, so the blitting operations are no needed to rotate the surfaces to go on the screen.
I applied that patch to the Sharp kernel sources and compiled a new kernel for my c760. Now, I have the /proc/drivers/w100/rotation entry needed for this DIRECT_FB to run and also the w100_init_vga_rotation driver function to rotate vga modes (the original driver is only able to rotate QVGA modes).

After this, I applied the SDL patches manually on my zports SDL, and the speed was increased, not as spectaculary as yours:

# export SDL_FB_DIRECT=0
# ./testsprite
SlSharedManager: can't get proc entry
Display size = 480x640
QT_GetMachine: /proc/deviceinfo/product is 'SL-C760
'
detected machine is 'Sharp SL-C760'
QT_GetRotation: Read spec from '/tmp/qtembedded-zaurus/QtEmbedded-0.spec'
spec is 'Transformed:Rot270:Vga:0'
Rot=3, Qvga=0
QT_SetVideoMode: SL-C700 Style is Input style
Your kernel is Special kernel
FBVideoMode: 640x480
QT_SetVideoMode: argSize=640x480
QT_SetVideoMode: qteSize=640x480
QT_SetVideoMode: fbSize=640x480
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=0
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=0
Screen is at 16 bits per pixel
Screen is in system memory
Sprite is in system memory
Sprite blit uses RLE acceleration
27.98 frames per second
SlSharedManager: can't get proc entry
Display size = 480x640

# export SDL_FB_DIRECT=1
# ./testsprite
SlSharedManager: can't get proc entry
Display size = 480x640
QT_GetMachine: /proc/deviceinfo/product is 'SL-C760
'
detected machine is 'Sharp SL-C760'
QT_GetRotation: Read spec from '/tmp/qtembedded-zaurus/QtEmbedded-0.spec'
spec is 'Transformed:Rot270:Vga:0'
Rot=3, Qvga=0
QT_SetVideoMode: SL-C700 Style is Input style
Your kernel is Special kernel
FBVideoMode: 640x480
Direct paint mode
QT_SetVideoMode: argSize=640x480
QT_SetVideoMode: qteSize=640x480
QT_SetVideoMode: fbSize=640x480
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=0
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=0
Screen is at 8 bits per pixel
Screen is in system memory
Sprite is in system memory
Sprite blit uses RLE acceleration
34.46 frames per second
SlSharedManager: can't get proc entry
Display size = 480x640


Anyway is a good speed increase. Is not good enough to play Toppler at 640x480, but we are on the way. I was testing some scummvm games and they seem to work fine. Perhaps I include this patches on the next zports SDL release, but I'm afraid to break the support for some models, I don't know. Also, the need of the "special" kernel to get the speed increase is a problem.


I was thinking that perhaps the solution is try to improve the framebuffer w100 kernel driver, and including functions for blitting and so on (using the hardware capabilities of the w100), if ATI only will release the specifications. :-(


Anyway, cmisip, thanks for the info. ;-)
Teletubbie
Dear cmisip,
i have downloaded scummv from your page, to try it on a 5500 with Openzaurus. The ipkg from openzaurus is somehow very special with the control files, so I have to untar the ipkg, have look at the control and pack the ipk with the old tar format, so ipkg can find them.
As I tried this, i could untar libsdl. unpacking the scummvm fails. I tried that on my debian machine and also my zaurus. I downloaded the ipk again, the same thing.
could you please have a look at the package. I would love to run the scummvm on my zaurus and a lot of other people in germany with 5500 and oz too.
Thanks and Cheers,
Sam
cmisip
I have uploaded it again. The previous upload must not have completed.

I am currently working on right click emulation, so BASS will not be playable at this point.
But FOTAQ should be.

Also, looking for the Quit key so I can remap it.

Have not had much time to look into these lately.
cmisip
uploaded updated version. In Beneath a Steel Sky, Right click emulated by pressing OK key while Menu is accessed via Cancel key.
Stubear
Anyone get voices to work with Day of the Tentacle?

The version I have complains - Can't open SFX device or some such message

Anyone know what the SFX device is supposed to be?

Stu
cmisip
I uploaded my latest compiled sarien binary on my website.


I managed to track down the audio problem and so sound works well now smile.gif

The problem is in the struct agi_note. chn[].ptr->dur_hi and dur_lo are somehow corrupted resulting in a very big chn[].timer which makes it seem that the sound hangs on the zaurus. chn[]ptr is an instance of this struct and it is not exactly a multiple of 4 bytes. I thought maybe it was being padded somehow as my test scripts showed that the z behaved like this. To test the idea, i tried using 'attribute packed' on this struct in the sound.h file and the sound problem went away.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2014 Invision Power Services, Inc.