running linux arm executables on Pandora


amyren

Member
Joined
Jan 19, 2007
Messages
139
Is it supposed to take long time to pack about 33MB into a pnd on the pandora?
I terminated the script after an hour. There was no error messages or output.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
No, it's not that long for 33MB, and you see some progress bar on the terminal anyway.

Let's say you ave put "DonkeyKong_Linux_x86" is a folder name DonKeyKong in ~, and in that same folder the bpx86t binary, a 96x96 PNG name icon.png, and runscript.sh plus a PXML.xml file adapted from my last pnd. Also, a preview1.png showing the game in action would be nice. You'll also need a "lib" folder there, with both libcrypto.so.1.0.0 and libssl.so.1.0.0 from codeblocks (/mnt/utmp/codeblocks/usr/lib when codeblocks is mounted).
Then type
Code:
/usr/pandora/scripts/pnd_make.sh -d ~/DonkyKong -p ~donkeykong.pnd -i ~/DonkyKong/icon.png -x
And it should generate the pnd. Copy it to your "menu" folder on you SDcard and it should appear in the menu (if you adapted all the variable part of PXML, like id and maintenair name and execpted game folder), and you start (if you adapted the runscript.sh accordingly too).
 

amyren

Member
Joined
Jan 19, 2007
Messages
139
That is strange. It still never finish to build the pnd here.

I am using this cmd line:
/usr/pandora/scripts/pnd_make.sh -d /media/mmcblk0p1/Downloads/dkzip -p /tmp/dk.pnd -i /media/mmcblk0p1/Downloads/dkzip/icon.png -x

In the dkzip folder I have the following files:
DonkeyKong_Linux_x86
box86t
icon.png
preview1.png
preview2.png
PMXL.xml (copied from the deltarune pnd and edited)
runscript.sh (copied from the deltarune pnd and edited)
setxkbmap (copied from the deltarune pnd)
And the lib folder containing two libs (libcrypto and libssl)

the xml and the runscript files are attached, as well as the png´s
 

Attachments

  • files.zip
    1.6 KB · Views: 27
  • icon.png
    icon.png
    11.8 KB · Views: 29
  • preview1.png
    preview1.png
    421.8 KB · Views: 30
  • preview2.png
    preview2.png
    595.8 KB · Views: 31

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
Don't use /tmp for the pnd. "tmp" is a special folder that reside in memory on the Pandora, and also the pnd_make script also use tmp. Use /media/mmcblk0p1/Downloads/dk.pnd it should be better.
 

amyren

Member
Joined
Jan 19, 2007
Messages
139
Don't use /tmp for the pnd. "tmp" is a special folder that reside in memory on the Pandora, and also the pnd_make script also use tmp. Use /media/mmcblk0p1/Downloads/dk.pnd it should be better.
I used that path before, same result. I just changed it to /tmp during my last test in case it didnt like to both read and write from my SDcard.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
Oh, my mistake! It's "-c" to compress, not "-x".
Also, I checked the runscript.sh, and this version use a "build" file to track the build version of the pnd. You can either create a "build" file in the folder that contains "01", and change runscript to have version="01" insteal of the "cat build" thingy...
 
Last edited:

amyren

Member
Joined
Jan 19, 2007
Messages
139
Oh, my mistake! It's "-c" to compress, not "-x".
Also, I checked the runscript.sh, and this version use a "build" file to track the build version of the pnd. You can either create a "build" file in the folder that contains "01", and change runscript to have version="01" insteal of the "cat build" thingy...
Great, now it builds. And quite fast too.

I have one question now, about the keyboard mapping. I did use the pxml from your deltarune.pnd as a base for my pnd. Just edited the needed parts. I did notice you had these two lines in your file:
xmodmap -e "keysym Next = z"
xmodmap -e "keysym End = x"

I want to map the X (gamepad button) to the game Jump button (which is now mapped to space) so I tried this line:
xmodmap -e "keysym Space = x"

It does not work. So what do I need to write to get either B or X mapped to the space key?
Or, if those buttons are equivalent to a physical key on a normal keyboard, I could try to make them supported directly.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,997
Age
48
Location
France, near Lyon
I think you need something like
xmodmap -e "keysym Next = Space"

(because B button in End, and X button is Next)
 

amyren

Member
Joined
Jan 19, 2007
Messages
139
I think you need something like
xmodmap -e "keysym Next = Space"

(because B button in End, and X button is Next)
The space mapping did not work, but I just remembered that i also did map the J key to jump as well, and this worked:
xmodmap -e "keysym Next = j"

Also I now got the sounds to work better. Hollywood had a similar problem when using very short soundsamples for the android version, so I had to come up with some different samples specially for android. Now I complied the linux x86 version again using the longer samples, and now they work on the Pandora as well.

Thank you for all your help. I will test just a bit more, and I think its ready to upload the pnd to the repo soon.
 

amyren

Member
Joined
Jan 19, 2007
Messages
139
In case anyone else needs to know the syntax for mapping the pandora keys in pnd's, I found the xev tool quite useful for getting the correct keysym names.
ptitSeb already listed a couple, but here is a list of what I think are the most common keys to map:

GAME A = Home
GAME B = End
GAME Y = Prior
GAME X = Next
Start/Alt = Alt_L
Select/Ctrl = Control_L

usage is to put this into the runscript.sh file as this example, which will make the selectbutton to act as you pressed the "p" key.:
xmodmap -e "keysym Control_L = p"
 
Last edited:

amyren

Member
Joined
Jan 19, 2007
Messages
139
I did compile a fullscreen version of the DonkeyKong game. But I worry that the scaling may decrease the performance of the game to much, so I havent replaced the pnd on the repo yet.
Figured that I could post the fullscreen version here, and just put a link to it on the repo. That way people can have both and decide for themselves.
 

Attachments

  • DonkeyKong_fullscreen.pnd
    9.4 MB · Views: 34

amyren

Member
Joined
Jan 19, 2007
Messages
139
The last command in runscript.sh is ./setxkbmap, the comment states it is to restore the keymap.
But the command does not set the keymap back to its user defined setting or even to the Default-pandora-US keyboard setting.
I notice this because after the game is finished, many of the Fn key combinations stops working as printed on the keys. I need to use Settings/Keyboard Layout to get the keyboard back to normal.
My runscript.sh is based on the one from the Deltarune pnd. So this same issue does happen after exiting from the Deltarune game as well.

Does the setxkbmap have any options for restoring it to the user settings?
If not it might be a better choice to not run the command at all (depending on which keys the game did remap, offcourse).

EDIT:
Found some options for setxkbmap.
"setxkbmap -query" this will display the current settings.
"setxkbmap -layout us", sets the keyboard layout to US keyboard.
But this will not restore the Fn keys back to their original state.
To reproduce this issue:
1. open terminal window and test that Fn + Y will give an _ (underscore)
2. Type ./setxkbmap (you might need to get that setxkbmap file first from a pnd or somewhere, at least it iwas not in my path)
3. Try Fn + Y again, and it does not output anythings.

Using eg. "setxkbmap -layout no" will not restore the Fn keys. To get the them working again you need to go to Settings/Keyboard Layout and apply your keyboard layout.
 
Last edited:

DrasticNerd

Script Kiddie
Joined
Jul 11, 2019
Messages
122
I always fail the jump to grab the key! But then again IIRC I only managed to pull this off once on the original! lol. (Yes, yes, I was + am a failure at DK GnW!)

@amyren - I don't suppose you have any plans to port any other handheld simulators across to Pandora? :enquiring hopefully:

The Game & Watch games that are the most fun to play (IMHO) are:
  • Donkey Kong
  • The Legend of Zelda
  • Super Mario Bros.
  • Octopus
  • (Runner up) Donkey Kong II [UPDATE/EDIT: I meant Donkey Kong Jnr. But Donkey Kong II is also a good runner up]

There are other G&W titles that are classics (e.g. Ball, Fire, Parachute, Flagman, Egg, Turtle Bridge, Greenhouse) but I find their gameplay too repetitive to be enjoyable. (The gameplay for most G&W titles boil down to you movving to catch falling objects! It gets boring very fast.)
 
Last edited:
  • Like
Reactions: rSl

amyren

Member
Joined
Jan 19, 2007
Messages
139
I always fail the jump to grab the key! But then again IIRC I only managed to pull this off once on the original! lol. (Yes, yes, I was + am a failure at DK GnW!)

@amyren - I don't suppose you have any plans to port any other handheld simulators across to Pandora? :enquiring hopefully:

The Game & Watch games that are the most fun to play (IMHO) are:
  • Donkey Kong
  • The Legend of Zelda
  • Super Mario Bros.
  • Octopus
  • (Runner up) Donkey Kong II

There are other G&W titles that are classics (e.g. Ball, Fire, Parachute, Flagman, Egg, Turtle Bridge, Greenhouse) but I find their gameplay too repetitive to be enjoyable. (The gameplay for most G&W titles boil down to you movving to catch falling objects! It gets boring very fast.)
I do agree that the mentioned titles are repetitive and quite frantic for my taste.
Still, I do have one of them ported to Hollywood already and will try to make a PND out of it sometime soon.
I only ported 3 games I have been playing myself in my youth. I had Donkey Kong myself, and a friend of mine had Fire Attack.
Also my brother had this LCD game named Search Light, also known as Runaway. The latter was made by Gakken and is not a G&W game, but I think you might like the gameplay on that one.

Regarding the jump in DonkeyKong. You know you can activate the crane and instead of hurrying to the jump you can wait for the hook to take the second swing before you jump? Also if you dont reach the hook in time, you can go back and reactivate the crane.
 

DrasticNerd

Script Kiddie
Joined
Jul 11, 2019
Messages
122
I do agree that the mentioned titles are repetitive and quite frantic for my taste.
Most G&W titles are. My nominated top 4 have slightly more sophisticated gameplay (based off personal experience) than the "catch/avoid falling objects" gameplay which dominates the G&W line. (Unavoidable due to the limited gameplay that can be created from using a fixed screen with preset LCD graphics!)

(My choice of Octopus does come dangerously close to the avoid falling objects territory. While you do have to avoid tentacles, the primary goal is to retrieve the treasure. Should you take more treasure on each dive - which increases the risk of getting caught? Or should you take less treasure - which will result in more trips/more opportunities to get caught?)


Still, I do have one of them ported to Hollywood already and will try to make a PND out of it sometime soon.
Look forward to it! Thanks @amyren :)

I only ported 3 games I have been playing myself in my youth. I had Donkey Kong myself, and a friend of mine had Fire Attack.
Also my brother had this LCD game named Search Light, also known as Runaway. The latter was made by Gakken and is not a G&W game, but I think you might like the gameplay on that one.
I've heard of Search Light/Runaway. I've never played it but the concept sounds interesting.

Some non-G&W LCD games can be quite enjoyable. The best one I ever played was a game called Bomb Finder. It's a top down game where you need to push walls in order to make a path through a maze to the bomb. While rushing against a time limit (It is a time bomb you see!)

If you don't plan carefully, it is very easy to push a wall which will end up blocking you from ever reaching the bomb. Successfully reaching the bomb means that you will automatically defuse it and you will then go onto the next level which has a different maze. After clearing all the different maze configurations (there was at least 20. Maybe as high as 30?!) it will start you at level 1 with, IIRC, an even tighter time limit. And so on ad infinitum.

It was quite challenging (because even if you solved a level in a previous run, you only needed to make one mistake - while under pressure - to cause your current run to come to a sudden end) until I had the idea of mapping out each maze that I reached on paper (letting the bomb go off which I sketched the pattern) then I could chart the optimal path at my leisure. After eventually finishing this "cheat sheet", it was simply a matter of consulting the map for each level I reached!

Regarding the jump in DonkeyKong. You know you can activate the crane and instead of hurrying to the jump you can wait for the hook to take the second swing before you jump? Also if you dont reach the hook in time, you can go back and reactivate the crane.
Yes I did already know both points, thank you. I just have a terrible sense of timing on catching that #%$% hook! o_O
 
Top