Rrootage For Gp2X V1.0


senquack

I feel a great disturbance in the source
Joined
Nov 1, 2006
Messages
1,167
Age
44
Location
USA
Website
Visit site
rRootage for GP2X v1.0
February 18 2010

Rootage is a open-source "bullet hell" abstact style shoot-'em-up
written by Kenta Cho from Japan. Very fun and addictive!

Archive download link:
http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,30,2828

rrootagessbig.jpg

Please note: GP2X version does not have all the graphical effects shown here,
this is the PC version shown. It is difficult to take an actual screenshot
of the game because of the way the 3D library works.
[cut]
Ported by Senor Quack (dan silsby)
(dansilsby <at> gmail (dot) com)

Important credit goes to:
* rixed - gpu940, a brillaint fixed-point ASM-optimized
3D graphics library with OpenGL glue that transfers
all rendering to the second CPU core
* GameGod - Initial work on GP2X port

GP2X Control Mapping:

Y, B, R_Trigger: Laser
X, A, L_Trigger: Special
Start: Pause
Select: Exit to menu (new feature I added)
Vol+/-: Change volume
DPAD: Move

Notes:

* For me, it is 100% stable and reasonably fullspeed
at 220mhz. It is recommended you overclock rRootage
to 220mhz, if possible, using GMenu2X settings for
your rRootage link. It is also *highly* advisable
to turn on the Fast RAM Timings option. I can
frequently get 20-60fps throughout levels
and even the higher levels remain playable, too.
Sometimes when insane number of bullets appear the
FPS can dip into the teens so overclocking more is
always desirable.

Running without music or sound should have no effect
on your FPS, by the way. The bottleneck is all the
3D rendering occuring on the second core.

If you aren't already using GMenu2X on your GP2X,
you should be. rRootage does not touch your RAM
timings or overclock your CPU, because GMenu2X can
do this already and is the overall best, most flexible
solution for everybody. Or, just install the Open2X
firmware that already comes with it included.

Many will find that rRootage cannot overclock as high
as other programs can because of the higher current
draw imposed by the use of the second core. My unit,
even running Picodrive which runs sound on the second
core, was always able to overclock to 250mhz running
off batteries. However, running rRootage which does
all 3D rendering on the second core, I can only
go to 220mhz reliably. Plugging the unit into a wall
adapter allows for somewhat higher overlcocks.

If you are interested, the full-featured replacement
firmware, Open2X DR7, I helped develop has the awesome
GMenu2X shell built into the NAND, preinstalled
and with new added features for your GP2X:
http://www.gp32x.de/board/index.php?/topic/47311-open2x-dr7-for-f100-and-f200/

* I have added a command line option to those already
present: -laser

If you use it, the laser will always fire *unless*
you are pressing down the assigned laser button.
Someone requested it for noiz2sa and I thought it
was a good idea for this, too. If you want to
apply this feature, delete the rRootage.gpe launch
script that is already present and rename
the file _rRootage.gpe-laser to be rRootage.gpe
instead.

* rRootage will hang if loaded a second time, upon having
quit and restarted the program. I was not able to
resolve this. So, run rRootage only once and then
restart your GP2X if you quit and play something
else and want to go back. Sorry ;)

It should be noted that if you are running the Open2X
firmware you can use the software reset feature I
added to quickly reset back to GMenu2X if this occurs
and simply run rRootage a third time and it will work.
(Press L+R+VOLUP+VOLDOWN+A+B+X+Y to quickly get back
to the GMenu2X shell if any program hangs on you)

* For both speed and stability reasons, almost all line
rendering and texture effects have been disabled. So,
for example, the scrolling background is gone, the
alpha-blended starbursts present in the PC version are
missing, bullet outlines, etc. The GP2X is rendering
everthing on a very limited integer-only ARM CPU that
can barely keep up with everything being thrown at it
already. I have also sped up things by significantly
reducing the number of polygons in the laser beam, and
changing the appearance of it in the process. I find
it is a nice compromise and helps free up several
FPS.

The gpu940 3D library's line rendering also contains a
bug whose presence is fortunately gone for
good in my port thanks to many lost evenings filled
full of bug hunting and experimentation. Further work
might be done to allow optional display of some of the
missing effects. The small number of lines drawn in
my port compared to the PC version allows this bug to
remain hidden for now.
[/cut]
 
Last edited by a moderator:
Hi,

I just can't believe I'm actually playing rRootage on GP2X :eek:

I hoped to play this game on the Pandora, not on GP2X !

How is it possible ?! How did you take advantage of the second processor ?!

And the game even runs fine @ 220 MHz on my GP2X F200 with Open2x DR7 :eek:

Some remarks though:

- The smaller screen makes dodging harder: could you reduce the size of the score, remaining bombs and lives, etc, and display the game in a higher resolution, or would that make the console explode ?
- The game doesn't save highscores and progression.
- There are some glitches in the boss' life bar and other areas.
- Without enough visual effects it's hard to notice when you lose a life.
- The game controls are pretty good (I used to play rRootage *a lot* on Linux with an USB Amiga Competition Pro joystick).

Bye and thank you very much, Magic Sam

p.s: where is the PayPal donation link ;)
 
I'd love to know how you go this ported .. did you get the D compiler built for GP2X? Are you going to do the same for Pandora?
 
torpor said:
I'd love to know how you go this ported .. did you get the D compiler built for GP2X? Are you going to do the same for Pandora?

rrootage is in c. I have my iPhone version where I recoded all the graphics to use opengles, and use a full screen, so I will probably bring that version to pandora when I get it :)
 
Last edited by a moderator:
Incredible... ;) very good work .
I can't belive ...how good is SDL/OpenGL on the GP2X with this game..
 
working great in my f200. no problem at all with open2x, furthermore stable at 245 MHz with AC and batteries
always fullspeed exept when there are 100+ bullets, from there it begins to lag a little.

gpu940 looks great for this kind of things, a pity not many emus use it

btw: where's the one for pc/linux or the homepage? i can find it even with google. I want to see how the full one looks :D
 
Magic Sam said:
How is it possible ?! How did you take advantage of the second processor ?!

And the game even runs fine @ 220 MHz on my GP2X F200 with Open2x DR7 :eek:

Some remarks though:

- The smaller screen makes dodging harder: could you reduce the size of the score, remaining bombs and lives, etc, and display the game in a higher resolution, or would that make the console explode ?

The game is displayed at 320x240 resolution, which is the maximum that the GP2X supports. Internally, the game uses a higher resolution before rendering occurs. I am glad you like the game but I have a feeling you haven't tried the PC version in lowres mode: the GP2X version is just as easy to play as the PC version (when the PC version is run in 320x240 "lowres" mode). You do a lot of estimation in rRootage, and only have to doge the tiny cores inside each bullet, not the whole bullet itself. I will not change the size of the score or anything, it is fine I think.

- The game doesn't save highscores and progression.
Ah, sorry about this, folks :) What sucks is that I actually had just fixed this last night and yet somehow the bug has made its way back into the game. Will fix this in a release soon, hopefully.

- There are some glitches in the boss' life bar and other areas.
Gpu940's fault, not mine :( I don't have the time at the moment to work with Rixed on fixing that. Perhaps someday. They are only usually on that one small health bar, so no big deal.

- Without enough visual effects it's hard to notice when you lose a life.
Another fault of gpu940. I would make all the line-rendering effects optional, but adding them in causes gpu940 to become unstable, unfortunately. The GP2X is capable of prettier graphics, I have seen them myself. Again, perhaps I can work with rixed later this year to fix this.

- The game controls are pretty good (I used to play rRootage *a lot* on Linux with an USB Amiga Competition Pro joystick).
Bye and thank you very much, Magic Sam

p.s: where is the PayPal donation link ;)

Glad you like it, I have an email address listed towards the top of the first post, the gmail one, and that is also my paypal address, if you'd like to donate. Anything is appreciated, it will help me buy groceries during my five-month hike from Mexico to Canada I am going on in April (Pacific Crest Trail thruhike) :)
 
Last edited by a moderator:
Lazrhog said:
torpor said:
I'd love to know how you go this ported .. did you get the D compiler built for GP2X? Are you going to do the same for Pandora?

rrootage is in c. I have my iPhone version where I recoded all the graphics to use opengles, and use a full screen, so I will probably bring that version to pandora when I get it :)

I have seen videos of your port in action, so I can appreciate how much time you spent on it. You modified the UI a bit, added the opening instructions, etc, pretty impressive ;) Just curious, did you have trouble with the music? I saw sound seemed to be disabled in the videos I was watching of your iPhone port.

The first Ogg music file in rRootage had a problem with it that caused the SDL_mixer Ogg libary to play static when it attempted to loop back to the beginning of the song. I ended up re-encoding the song with oggenc and it played correctly after that.


laharl said:
working great in my f200. no problem at all with open2x, furthermore stable at 245 MHz with AC and batteries
always fullspeed exept when there are 100+ bullets, from there it begins to lag a little.

gpu940 looks great for this kind of things, a pity not many emus use it

btw: where's the one for pc/linux or the homepage? i can find it even with google. I want to see how the full one looks :D

Be sure to try out the PC version. You will find that even there, it is very normal for the bullets' speed to slow down for gameplay purposes. The GP2X does indeed lag sometimes when hundreds and hundreds of bullets in a complicated pattern are fired, can't do much about that.

Kenta Cho's homepage for the original Windows version is here: http://www.asahi-net.or.jp/~cs8k-cyu/windows/rr_e.html

It has been ported to Linux and if you use that it is available through every distributions' package manager.
 
Last edited by a moderator:
Senor Quack said:
Be sure to try out the PC version. You will find that even there, it is very normal for the bullets' speed to slow down for gameplay purposes. The GP2X does indeed lag sometimes when hundreds and hundreds of bullets in a complicated pattern are fired, can't do much about that.

Kenta Cho's homepage for the original Windows version is here: http://www.asahi-net...ndows/rr_e.html

It has been ported to Linux and if you use that it is available through every distributions' package manager.

stragely rootage ins't in the ubuntu repo, anyway downloaded the win version and tryed it with wine and even my pentium4 3GHz lags a lot in some parts with #INF. number of bullets :lol:


EDIT:
TV-OUT doesn't work with rootage, all i get is garbage, tryed with various settings but same result
 
Last edited by a moderator:
laharl said:
Senor Quack said:
Be sure to try out the PC version. You will find that even there, it is very normal for the bullets' speed to slow down for gameplay purposes. The GP2X does indeed lag sometimes when hundreds and hundreds of bullets in a complicated pattern are fired, can't do much about that.

Kenta Cho's homepage for the original Windows version is here: http://www.asahi-net...ndows/rr_e.html

It has been ported to Linux and if you use that it is available through every distributions' package manager.

stragely rootage ins't in the ubuntu repo, anyway downloaded the win version and tryed it with wine and even my pentium4 3GHz lags a lot in some parts with #INF. number of bullets :lol:

I run Ubuntu on my notebook and had no problems finding and installing it, it works great.

EDIT:
TV-OUT doesn't work with rootage, all i get is garbage, tryed with various settings but same result

rRootage does all sorts of stuff with the YUV layers and I have no TV with Svideo input currently so, for now, don't expect TVout to work.
 
Last edited by a moderator:
Hi,
Senor Quack said:
I am glad you like the game but I have a feeling you haven't tried the PC version in lowres mode: the GP2X version is just as easy to play as the PC version (when the PC version is run in 320x240 "lowres" mode). You do a lot of estimation in rRootage, and only have to doge the tiny cores inside each bullet, not the whole bullet itself.
You're right, I only played this game in hires mode on my 1920x1200 screen, so the game looks weird to me in lowres and 320x240, but I'll get used to it :)
I have an email address listed towards the top of the first post, the gmail one, and that is also my paypal address, if you'd like to donate.
I'll try to donate something ASAP !
EDIT: done ;)
Bye and thanks again for your hard work, Magic Sam
 
Last edited by a moderator:
Hey thanks, I've just tried it out, and it's highly enjoyable no probs here running it (no new ones to report).I don't miss the cool graphics, besides, no background is better than no decent framerate.
 
Hi,

Doctor, is it bad to play rRootage on the throne at 7 in the morning ? :lol:

Bye, Magic Sam
 
Tried it out, running smooth. Would love a couple of additional effects though, looks like there is some room left.

BTW, those who don't use gmenu can exctact this rRootage dir, edit rRootage.gpe and add this before "./rr":
Code:
./cpuctrl_tiny -cas 2 --trc 6 --tras 4 --twr 1 --tmrd 1 --trfc 1 --trp 2 --trcd 2 --cpuclk 220
 
Nice job SQ! Indeed overclocking to 250 didn't work, I managed to play at 230. Fun game. Thanks.
 
Senor Quack said:
Lazrhog said:
torpor said:
I'd love to know how you go this ported .. did you get the D compiler built for GP2X? Are you going to do the same for Pandora?

rrootage is in c. I have my iPhone version where I recoded all the graphics to use opengles, and use a full screen, so I will probably bring that version to pandora when I get it :)

I have seen videos of your port in action, so I can appreciate how much time you spent on it. You modified the UI a bit, added the opening instructions, etc, pretty impressive ;) Just curious, did you have trouble with the music? I saw sound seemed to be disabled in the videos I was watching of your iPhone port.

The first Ogg music file in rRootage had a problem with it that caused the SDL_mixer Ogg libary to play static when it attempted to loop back to the beginning of the song. I ended up re-encoding the song with oggenc and it played correctly after that.

yes, the iphone version doesn't have sound. Shouldn't be an issue with the pandora version though. Will probably turn the pandora version sideways to make the most of the screen, and still use the touch screen (more fun to play it like that)
 
Last edited by a moderator:
Back
Top