Quake porting issues

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

More emails

Post by PacManFan »

I changed a few key mappings around to improve playablity, I've sent out a few more emails, if you've got an email, consider yourself lucky. Big Thanks to everyone for testing this.

-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
Cpasjuste
Posts: 214
Joined: Sun May 29, 2005 8:28 am

Post by Cpasjuste »

In a shooting game strafe button sould always be mapped to L and R trigger ... like all fps on console, plz take a not of my advice :p
liquid8d
Posts: 66
Joined: Thu Jun 30, 2005 6:29 am

Post by liquid8d »

Hey,

So when are we going to see KymaeraPSP?? :)

Great job, can't wait till I am rockin' out some network quake (won't be long at the rate you are going)

It's amazing how fast you people are porting this stuff. I am just learning now, and have just been reading everything on here the last couple weeks. Unfortunately, I have the disadvantage of not only learning the PSP, but learning C as well, since I was dumb enough not to do this previously.

LiQuiD8d
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

KymaeraPSP

Post by PacManFan »

[offtopic]

LiQuiD8d,
I was debating that last night, I'm still working on the latest release of Kymaera now. The problem is, I'm using Allegro for the game library, Maybe I'll check out how MAME did thier port and use their functions as Allegro wrappers..

Kymaera would look nice on my PSP, I heard that people were making progress the other day making launchers.

For all of you who don't know Kymaera, It's a multi-emulator front end for arcade cabinet, it allows you to launch games and applications from a nice menu system with screen shots, movies, sounds, etc...

[/offtopic]

-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
inomine
Posts: 53
Joined: Thu May 05, 2005 7:26 pm

Post by inomine »

Cpasjuste wrote:In a shooting game strafe button sould always be mapped to L and R trigger ... like all fps on console, plz take a not of my advice :p
Umm, Having played quite a lot of games on consoles I can't really remember tha last one where the strafe buttons were on the L and R triggers, possilby Doom on the GBA. Every other game that I have played has had dual analogue (or analogue for view, dpad for strafe/move) and the R button for fire. L is usually something like jump.
cyberheater
Posts: 4
Joined: Sun Jun 26, 2005 4:36 am

Post by cyberheater »

For PSP, strafe on L/R makes a lot of sense.

You can then use other buttons for custom functions.
inomine
Posts: 53
Joined: Thu May 05, 2005 7:26 pm

Post by inomine »

How do you propose to move forward and back, on the same analogue stick that allows you to turn? That would kill looking up and down. I think the D-pad for custom functions would work a lot better.
cyberheater
Posts: 4
Joined: Sun Jun 26, 2005 4:36 am

Post by cyberheater »

inomine wrote:How do you propose to move forward and back, on the same analogue stick that allows you to turn? That would kill looking up and down. I think the D-pad for custom functions would work a lot better.
Doh! Your right.

- Analogue stick for left/right/up/down
- Square and circle for strafe left/right
- Triangle and X for forward/backward
- R for fire
- L for jump
- up/down d-pad to change weapons.
FoxHimself
Posts: 1
Joined: Fri Jul 01, 2005 1:27 am

Post by FoxHimself »

Control suggestions for you PacManFan:

Look with analog stick
move with buttons (Square and Circle to strafe)
shoot with R
hold L and press Square/Circle to change weapons
tap L to jump
hold L and press Triangle to use things and open doors (I can't really remember if Quake had doors :\ )

The move/look setups should be swappable, and the sensitivity choosed by the player.
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

Moot point

Post by PacManFan »

OK, most of this talk about input mapping is now moot, because I've gotten the code for control mapping working. Quake natively allows you to change inputs to different functions, and it now is enabled under the Options->controls submenu. I just have to make sure that it loads and saves this config file properly.

-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
Hippo
Posts: 19
Joined: Sat Jun 25, 2005 10:51 am

Post by Hippo »

Hoorah! :D
zigzag
Posts: 129
Joined: Wed Jan 26, 2005 2:11 pm

Post by zigzag »

wheeeen? :)
subbie
Posts: 122
Joined: Thu May 05, 2005 4:14 am

Post by subbie »

*cries*
I was one of the early people to reply saying I sent you an email (and I did I emailed the addr in your profile). I got no build. :(
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

Quake is Ready....

Post by PacManFan »

http://home.comcast.net/~shernandez1337/

Notes:
-Still no sound
-Still have a random crash issue
-Still no analog nub yet


Enjoy!
-PMF out
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
zigzag
Posts: 129
Joined: Wed Jan 26, 2005 2:11 pm

Post by zigzag »

Is this running at 333mhz right now, or is there a way to make it run at that?

Could you possibly make the folder it runs from not hard-coded, or at least such that the trick to hide the "Corrupted data" items on 1.5 could be implemented?

This is done by naming the folders:

QUA__________________________________ (32+ characters is the key here)
QUA~1%

Hopefully I got that right anyway.
Hippo
Posts: 19
Joined: Sat Jun 25, 2005 10:51 am

Post by Hippo »

Hmm, will you be releasing the source anytime soon?
ector
Posts: 195
Joined: Thu May 12, 2005 10:22 pm

Post by ector »

Yeah, you can't just release a binary. Quake is GPL, you have to release the source.
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

source

Post by PacManFan »

You're right , I have to release source as well, anyone who wants the source, PM me and I'll send it, better yet , i'll post it tonight somewhere..

If any of you want to contribute, sound still need to be implemented.


-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
etx
Posts: 33
Joined: Sat Apr 02, 2005 12:54 am
Location: Detroit

Post by etx »

Very Nice, Keep up the great work!
oneman
Posts: 4
Joined: Sat May 21, 2005 3:42 pm

Post by oneman »

I cant use the long name QUAKE-PSP when mounting stuff on linux, does anyone know how to use long filenames when mounting the psp with linux?

EDIT: DUHH mount /dev/sdXX -t vfat /mnt/psp

thanks.
subbie
Posts: 122
Joined: Thu May 05, 2005 4:14 am

Post by subbie »

Great job for an early port man.
I can't wait till this is fully going with no slow downs. What would make this even better is for mod suport & network suport.

*drools at the though of playing TF against other people over a psp *
zigzag
Posts: 129
Joined: Wed Jan 26, 2005 2:11 pm

Post by zigzag »

The 3d seems jittery and sometimes when you walk up to a wall you can see through it.. is this just the software renderer? Can't say I remember the software mode being that bad on PC. Anyway, the GL docs are out and about for the PSP 3D Hardware... are you considering using that? :)
inomine
Posts: 53
Joined: Thu May 05, 2005 7:26 pm

Post by inomine »

This was ported from a highly optimised PocketPC port that uses quite a lot of tricks to run well on pretty poor hardware. The jittery polygons that you see and the very heavy mu-mapping of textures are a product of that(it also looks to me like the light blending is a bit off).

Porting the GL version of Quake to the PSP's GU would be a new project entirely, but with it's semilarities to openGL it should not be too difficult. The problem would then be that a lot of the optimisations that the PocketPC team made would be lost, but in theory that should not matter as the game spends most of it's time rendering graphics, with the main CPU alleviated of that it should be ok.

Anyway, good job on the port, my only wish would be for thumbstick support and getting the menu fixed so thtat the little pointer does not dissapear, reconfiguring the keys without that is kind of hard.
ector
Posts: 195
Joined: Thu May 12, 2005 10:22 pm

Post by ector »

The PocketPC optimizations were mostly removing floating point math and replacing it with fixed point math, because PocketPCs have no FPU.
Since PSP has a quite OK fpu (and a really powerful VFPU that we don't know how to use yet) it probably would even have been better to port regular Quake than PocketQuake, and of course even better to port GLQuake.
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

Fixed point code

Post by PacManFan »

There was a compile switch to use fixed point math, however, when I enabled it, it broke things badly. I built quakepsp with the floating point enabled. I just submitted Quakepsp as a project on source forge, so everyone can contribute to the code.

The main issue I'm having with the crash bug is divide by 0 issues.
In several place in the code, they have something like:

if(x){
a = b/x;
}

Where a,b, and x are all floating point numbers. The problem is that x is really small by not 0. it passes the "if" test, but the during the division it is rounded to 0 somehow and causes a / 0 issue. I'm not sure why this is happening, or if there are any compiler flags I could enable to enforce IEEE floating point precision.
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
ector
Posts: 195
Joined: Thu May 12, 2005 10:22 pm

Post by ector »

There should be a way to disable divide-by-zero exceptions, should be in any MIPS manual. Too lazy to look it up myself :)
mrbrown
Site Admin
Posts: 1537
Joined: Sat Jan 17, 2004 11:24 am

Post by mrbrown »

ector wrote:There should be a way to disable divide-by-zero exceptions, should be in any MIPS manual. Too lazy to look it up myself :)
The following code should be enough to disable FP exceptions:

Code: Select all

    .set push
    .set noreorder
_DisableFPUExceptions:
    cfc1    $2, $31
    lui     $8, 0x80
    and     $8, $2, $8     # Mask off all bits except for 23 of FCR
    ctc1    $8, $31
    jr      $31
    nop
    .set pop
The function returns the old value of FCR.
ector
Posts: 195
Joined: Thu May 12, 2005 10:22 pm

Post by ector »

mrbrown, seems like a candidate for an SDK function :)
PacManFan
Posts: 66
Joined: Sat Jun 25, 2005 6:01 am

ASM question

Post by PacManFan »

I'm a little rusting with the asembler. How would I go about making that into an .s file that has an exportable name to be called from code?

-PMF
"I'm a little source code, short and stout
Here is my input, here is my out."

Author of PSPQuake and PSPSOne.
Herman
Posts: 13
Joined: Tue Apr 05, 2005 4:15 pm
Location: Montreal, Canada

Post by Herman »

You said you put the code up on sourceforge... could you be a bit more specific?
Post Reply