Author Topic: Gnu Robbo For Slxx00 And C Series  (Read 16370 times)

chal

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #15 on: November 29, 2005, 07:50:48 am »
Thanks to all who worked on this. I just tried the IPK and used the link to the SDL libraries from your website and both worked fine on my sl5500, running tKc ROM. The game seems to be working. My wife, who is the superior gamer, is testing it. She has never played it before, so is still learning the moves. If we find anything to report we will do so. Can't really afford a contribution, but I figured some feedback from users would be better than nothing.

update;
She is laughing and saying, "I got a key!" Her general concensus is great game, great graphics. She has RSD and limited use of her hands. Some games are hard to do for her, but this one is not a strain.

Observations;

When a KOPI alarm comes up, the game freezes and will not exit (had to do a soft reset).
« Last Edit: November 29, 2005, 10:39:10 am by chal »

PDAs
2 SL5500s
tKc Rom
Lexar 1GB CF card
Viking 512GB  CF card
PC 1. Mandriva 2009
PC 2. Windows XP
[/font]

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #16 on: November 30, 2005, 06:24:31 am »
Quote
Quote
That's sounds like a libSDL problem... either the wrong version of libSDL for the game, or the wrong rotation?

What version of libSDL do you have?

It sounds like one version of this game will not work on both resolutions?[div align=\"right\"][a href=\"index.php?act=findpost&pid=105315\"][{POST_SNAPBACK}][/a][/div]
It's the version in the Cacko feed, 1.2.5-slzaurus20041025-j. When I start it from the console, it doesn't matter if it's portrait or landscape, and from the launcher, it switches to 240x320 (as every app does when not told to do otherwise), but nothing happens, I guess it's the same error.

I think the resolution shouldn't matter, at least if it's run from the launcher and thus starts in 240x320, this sounds more like it's missing some initialisation.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105364\"][{POST_SNAPBACK}][/a][/div]
I do not know much about the newer larger screened models but I take it (from your post) that SDL will scale up 240x320 resolutions to fit fullscreen but to which orientation I do not know (640x480 or 480x640?). Also what happens when you reorientate the screen between portrait and landscape? Qtopia apps readjust but does SDL?

Anyway I have specifically created a version now (not complete) that allows 640x480 or 480x640 resolutions. It would be nice if you could download the ipk and install it and let me know what happens. I am working on the screen drawing routines and there is currently a slight flicker so ignore that. Also DEBUG is defined so a lot of debugging info is dumped to the terminal so you can see what's going on with SDL.

Do this:-
1. Install ipk (see attached).
2. Open terminal and type 'gnurobbo -640x480' or 'gnurobbo -480x640' etc. 'gnurobbo' simply runs the game in 240x320.

Tell me what happens and dump the output please.

Also what if any other SDL games have you installed and played? Crimson Fields, Tower Toppler, XRick?

Regards.
« Last Edit: December 11, 2005, 04:25:23 am by TheGreenKnight »

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #17 on: November 30, 2005, 06:44:32 am »
Quote
Thanks to all who worked on this. I just tried the IPK and used the link to the SDL libraries from your website and both worked fine on my sl5500, running tKc ROM. The game seems to be working. My wife, who is the superior gamer, is testing it. She has never played it before, so is still learning the moves. If we find anything to report we will do so. Can't really afford a contribution, but I figured some feedback from users would be better than nothing.

update;
She is laughing and saying, "I got a key!" Her general concensus is great game, great graphics. She has RSD and limited use of her hands. Some games are hard to do for her, but this one is not a strain.

Observations;

When a KOPI alarm comes up, the game freezes and will not exit (had to do a soft reset).
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]
I am happy that you your wife finds it fun  I ported it to the Zaurus from a Linux desktop version which is based on an old 80s Atari game.

The version of SDL that I use and linked to has always had some limitations regarding cooperating with Qtopia. Qtopia cuts in and the game loses the focus but still occupies all of the screen which makes it difficult to do anything. On my SL5500 running an SDL game whilst it's in the cradle and then pulling it out is not a good idea, as is not pressing the sync button  Basically, minimising the chances of Qtopia interfering is the key. I play SDL games then quit. I don't leave the device with them running then walk off. If you remember these things then eveything will be fine.

There are other versions of SDL available but I have yet to try them:-

[a href=\"http://ipkgfind.handhelds.org/result.phtml?query=SDL&searchtype=package§ion=]http://ipkgfind.handhelds.org/result.phtml...ackage§ion=[/url]

There's libsdl-qpe, opie-libsdl, sdl and zaurus-libsdl!

Regards.

cybersphinx

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #18 on: November 30, 2005, 12:08:46 pm »
Quote
I do not know much about the newer larger screened models but I take it (from your post) that SDL will scale up 240x320 resolutions to fit fullscreen but to which orientation I do not know (640x480 or 480x640?). Also what happens when you reorientate the screen between portrait and landscape? Qtopia apps readjust but does SDL?
I just tried with scummvm (from the Cacko feed), that works. Turning the screen is a bad idea since it puts the SDL app in the background without restoring the screen properly. Starting a new app fixed it as much as to make it usable again.

Quote
Anyway I have specifically created a version now (not complete) that allows 640x480 or 480x640 resolutions. It would be nice if you could download the ipk and install it and let me know what happens. I am working on the screen drawing routines and there is currently a slight flicker so ignore that. Also DEBUG is defined so a lot of debugging info is dumped to the terminal so you can see what's going on with SDL.

Do this:-
1. Install ipk (see attached).
2. Open terminal and type 'gnurobbo -640x480' or 'gnurobbo -480x640' etc. 'gnurobbo' simply runs the game in 240x320.

Tell me what happens and dump the output please.
Essentally the same as before, with either invocation, just with more debug output:
Code: [Select]
Environment
-----------
PWD=/home/zaurus/Documents/wz
HOME=/home/zaurus

* Reading resource file.
test_resource_file():Cannot find file /.gnurobborc

* Initialising SDL.
QPaintDevice: Must construct a QApplication before a QPaintDevice
Aborted

Quote
Also what if any other SDL games have you installed and played? Crimson Fields, Tower Toppler, XRick?[div align=\"right\"][a href=\"index.php?act=findpost&pid=105538\"][{POST_SNAPBACK}][/a][/div]
Nothing much yet with this installation (and I'll reinstall Cacko 1.23 again soon). But scummvm works, so I guess there's no problem with SDL.

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #19 on: November 30, 2005, 04:12:39 pm »
Thanks for that cybersphinx.

I'm going to have to do some research for a while.

Regards.


TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #21 on: December 01, 2005, 11:34:04 am »
Ok cybersphinx, if you could test this version for me please, I appreciate your help (see attachment).

I followed your links and eventually found the information I needed (on this site) and am confident it is now going to work for the C series

Open a terminal:

Type 'gnurobbo' to run it in it's default 240x320 mode.
Also try 'gnurobbo -640x480' and 'gnurobbo -480x640' please.

Let me know how you get on and post up the debug info from the terminal. The debug info will list all available modes for your model.

Regards.
« Last Edit: December 11, 2005, 04:26:21 am by TheGreenKnight »

cybersphinx

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #22 on: December 01, 2005, 03:31:54 pm »
OK, this version actually does something .

Starting from the console (in laptop mode, since there's only up and down keys in PDA mode) gives the following results:

"gnurobbo": The game runs in 240x320 in the middle of the screen, with white border.

"gnurobbo -640x480": Same, with black border.

"gnurobbo -480x640": A centered 480x480 area is black, with the game in the centre and white borders. The arrow keys are wrong (up -> right and so on).

The start screen flickers like hell, in the game it's hardly noticeable (I guess that's the drawing routines you mentioned). Output is always the same, except for the framerate (and possibly some QT/SDL messages that didn't get captured and which I copied separately):

[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
Environment
-----------
PWD=/home/zaurus
HOME=/home/zaurus

Reading resource file
---------------------
read items=7
levelmax=levelselect=1
cancelshoots=0
spaceshoots=1
homesshoots=0
okshoots=0
shoottoggleoff=0
speed=2

* Initialising SDL.

Best available mode
-------------------
SDL_GetVideoInfo->hw_available: 0
SDL_GetVideoInfo->wm_available: 0
SDL_GetVideoInfo->blit_hw: 0
SDL_GetVideoInfo->blit_sw: 0
SDL_GetVideoInfo->video_mem: 0KB
SDL_GetVideoInfo->vfmt->BitsPerPixel: 16
SDL_GetVideoInfo->vfmt->BytesPerPixel: 2

* Loading bitmaps.

* Initialising BTE.

* Setting a video mode.

Current video mode
-------------------
SDL_GetVideoInfo->hw_available: 0
SDL_GetVideoInfo->wm_available: 0
SDL_GetVideoInfo->blit_hw: 0
SDL_GetVideoInfo->blit_sw: 0
SDL_GetVideoInfo->video_mem: 0KB
SDL_GetVideoInfo->vfmt->BitsPerPixel: 16
SDL_GetVideoInfo->vfmt->BytesPerPixel: 2

Available video modes
---------------------
SDL_ListModes->640x480
SDL_ListModes->480x640

Welcome to GNU ROBBO
--------------------
Keys:
-----
ARROWS                  - Moving
SPACE (toggle) + ARROW  - Shooting
MENU APP.KEY            - Suicide
MAIL APP.KEY            - End Game
SPACE                   - Continue
ADDRESS APP.KEY         - Options

Good luck.

level_init: levelselect=1; levelmax=1; levelcode=ROBBO<|>
Frames = 113, cycles = 2, fps = 56

* Saving resource file.
[/div]
The SDL/QT output for "gnurobbo -480x640" (I can also post the output with other options, but I have to copy it by hand):
[div class=\'codetop\']CODE[/div][div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']SlSharedManager: can't get proc entry
Display size = 480x640
SlSharedManager: can't get proc entry
Display size = 480x640
keyhelper_SDL.xml loaded
 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=480x640
QT_SetVideoMode: qteSize=640x480
QT_SetVideoMode: fbSize=640x480
QT_SetVideoMode: qteRotation=0
QT_SetVideoMode: userRotation=-1
QT_SetVideoMode: sdlRotation=1
QT_SetVideoMode: qteKeyRotation=0
QT_SetVideoMode: sdlKeyRotation=1
SlSharedManager: can't get proc entry
Display size = 480x640                                                        
[/div]

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #23 on: December 02, 2005, 06:21:12 am »
So it works

At the moment the game is simply centred for larger resolutions. I am working on making the game area bigger.

Basically in 640x480 (default C series resoultion/orientation) the game works as it should.

SDL is adding the white borders. They appear because of selecting a resolution that doesn't exactly fit the current video mode. I bet if you changed the screen to portrait orientation then ran 480x640 the white borders would not exist.

I'll look into the start screen flicker.

Many thanks cybersphinx

chal

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #24 on: December 02, 2005, 10:06:48 am »
Quote
Quote
Thanks to all who worked on this. I just tried the IPK and used the link to the SDL libraries from your website and both worked fine on my sl5500, running tKc ROM. The game seems to be working. My wife, who is the superior gamer, is testing it. She has never played it before, so is still learning the moves. If we find anything to report we will do so. Can't really afford a contribution, but I figured some feedback from users would be better than nothing.

update;
She is laughing and saying, "I got a key!" Her general concensus is great game, great graphics. She has RSD and limited use of her hands. Some games are hard to do for her, but this one is not a strain.

Observations;

When a KOPI alarm comes up, the game freezes and will not exit (had to do a soft reset).
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]
I am happy that you your wife finds it fun  I ported it to the Zaurus from a Linux desktop version which is based on an old 80s Atari game.

The version of SDL that I use and linked to has always had some limitations regarding cooperating with Qtopia. Qtopia cuts in and the game loses the focus but still occupies all of the screen which makes it difficult to do anything. On my SL5500 running an SDL game whilst it's in the cradle and then pulling it out is not a good idea, as is not pressing the sync button  Basically, minimising the chances of Qtopia interfering is the key. I play SDL games then quit. I don't leave the device with them running then walk off. If you remember these things then eveything will be fine.

There are other versions of SDL available but I have yet to try them:-

[a href=\"http://ipkgfind.handhelds.org/result.phtml?query=SDL&searchtype=package§ion=]http://ipkgfind.handhelds.org/result.phtml...ackage§ion=[/url]

There's libsdl-qpe, opie-libsdl, sdl and zaurus-libsdl!

Regards.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105541\"][{POST_SNAPBACK}][/a][/div]

Thanks. It's by no means a show stopper. My wife's doesn't even have KOPI on her Z (I was testing it on mine first) for one thing, and a soft reset now & then is no big deal anyway. I kinda had something come up before I finished last post. I was going to report any bugs we found (that's why "observations" has only one thing listed on it), well that and we couldn't find anything else wrong. Great job and thanks again.

PDAs
2 SL5500s
tKc Rom
Lexar 1GB CF card
Viking 512GB  CF card
PC 1. Mandriva 2009
PC 2. Windows XP
[/font]

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #25 on: December 03, 2005, 12:27:20 pm »
Version that works with the C Series is now available - http://members.fortunecity.co.uk/thegreenknight/

See website for nice screenshots of BIG screen

2005-12-03 TheGreenKnight <thegreenknight1500@hotmail.com>
* 0.57.03
* Now works on the C Series.
* The game area resizes depending on the Zaurus model.
* Alternative SL5X00 landscape orientation available via  command line option -320x240
* Level data no longer uses ' ' as a black_wall (now 'q').

Files attached.

Greg2

  • Hero Member
  • *****
  • Posts: 790
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #26 on: December 04, 2005, 01:46:26 pm »
Quote
* Now works on the C Series.
* The game area resizes depending on the Zaurus model.
* Alternative SL5X00 landscape orientation available via  command line option -320x240
Nice work!

I like the landscape mode option for certain levels, and you have increased overall performance by 16% on the 5600.

At 471 Mhz:

Frames = 79661  cycles = 21  fps = 3793

I would suggest you change your thread subject/title to include the C-xxx models, so the C-xxx owners see it.

Thanks

Greg

cybersphinx

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #27 on: December 04, 2005, 06:28:23 pm »
Yeah, that version works pretty well (and now you actually see where you're going).

Only two small problems I've noticed so far:
1. Redrawn stuff during the game flickers. I think it's more than before, but perhaps that's just because more is displayed.
2. When no lives are left, the start screen doesn't get drawn, only the text "Start", "Options", and the level name (or whatever comes after that).

TheGreenKnight

  • Newbie
  • *
  • Posts: 35
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #28 on: December 05, 2005, 06:03:16 am »
Greg: Cheers. I changed the way the various screens are redrawn and how much of them, so if you run the game and just stare at the intro screen and exit you will get huge fps because it only redraws the arrows and level text; same in options. I think now I shall just record fps in the game proper.

For me the landscape rotation on my 5500 is so much faster I have to use the in-game speed adjustment in options. It must be an SDL thing where it prefers that resolution.

cybersphinx: The issue whereby the intro screen doesn't get redrawn completely when Robbo dies from enemies is fixed now. I'll make a new ipk soon. You only need to show/hide options to refresh it or just enter/exit game.

Only the parts of the game area that have changed get redrawn, so I am not sure why this would cause flicker. I'll look into it though, see if there's anything noticeable. Could be because more stuff gets drawn now like you say.

I spent the weekend writing a tool that rips the levels out of the other Atari Robbo games and saves them in GNU Robbo format. Next release will have the ability to load additional level sets.

Regards.

Greg2

  • Hero Member
  • *****
  • Posts: 790
    • View Profile
    • http://
Gnu Robbo For Slxx00 And C Series
« Reply #29 on: December 05, 2005, 09:55:55 am »
Quote
For me the landscape rotation on my 5500 is so much faster I have to use the in-game speed adjustment in options. It must be an SDL thing where it prefers that resolution.
I think you are correct about the SDL preferring the landscape resolution (that was fps = 3900). On my 5600 I also had to adjust the in-game speed to use... I could not make 1 step with 1 push of the button, but it would move 2 or 3 until I slowed it down.

I was so surprised by the high fps that I had to post it... but the 'played fps' also increased from 48 to 56 fps with your new binary at 398 MHz.  

Greg