Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Multi Player Gamins   Message List  
Reply | Forward Message #1128 of 15019 |
Re: [gbadev] Multi Player Gamins

> What kind of speed increase are you guys getting by using ARM32 asm
> directly? because if its significant I may have another attempt. As an example
I wrote
> a horizontal textured line blitter in C and ARM32 asm and got only a 10% speed
> increase. The only real difference I got was some very odd stack
> manipulation madness. I think it may be because I was writing directly to
VRAM.

hi,

the major bottle neck is often the EXRAM & ROM accesses. If your routine
spends most it's time copying stuff from rom to ram there is often no big
speed increase, but when you can access your stuff from internal RAM only
the difference can be quite huge. E.g. the code for our sample mixer in our GAX
soundroutines
is about 8 times faster in handoptimized ARM32 code then in optimized C code.
The code can be make use of the conditional ARM32 commands and so our mainloop
gets alot smaller then the C one which is quite bloated.

> Yep I agree the integrated shifter and conditional execution are excellent,
> just a pity there is no hardware divide or DMA mod / scale functionality, oh
and
> a double speed mode would have been nice :) Actually I think I would have
> just settled with a complete 32 bit bus so I dont have to cache most of my
code
> in WRAM :(

The ARM has a sort of hardware divide, dont you know? :)
You know that muls are fast and "X=Y/Z" can be translated to "X=Z*1/Y"....

As we have in our current game a couple of hundred DIVS each frame it
was just not possible to use the normal div without going down to 30fps with.
With the above method i was able to speed up the divs by about 800%. Only
drawback is the need of a 16kb table.

So finally everything is still 60fps and we have enough time to mix 8 channels
for music and fx in 21khz. :)


regards

--

Manfred Linzner
(Project Manager)
Shin'en Multimedia
http://www.shinen.com
Tel.: ++49 (0)89 785 82 565
Fax.: ++49 (0)89 785 82 535

Thu Jan 4, 2001 1:42 pm

linzner@...
Send Email Send Email

Forward
Message #1128 of 15019 |
Expand Messages Author Sort by Date

Has anyone looked into mutliplayer gaming yet on the AGB? I'm supposed to write my game so that up to 4 players can play with just the one cartridge, but we...
nharding@...
Send Email
Jan 3, 2001
11:15 pm

Hello, First off I'd say you would have some issues with C++. However it is your project so you may do what you like. If you really plan on pulling off code ...
Lon Lundgren
llundgren@...
Send Email
Jan 3, 2001
11:57 pm

Hi Neil, There is a file MultiSample_en.zip available from noa's site that should help you out. No sure how you would go with overlays, although at 2.5k per...
David Gaunt
dgaunt@...
Send Email
Jan 4, 2001
2:18 am

Hi I attempted to get some stuff up and running in C++, but had many problems so I abandoned it, however I think I remember someone else on the list mentioning...
Mat
matth@...
Send Email
Jan 4, 2001
9:41 am

... I have a project running strictly in object oriented C++, and have not had any problems that are really worth mentioning. The reason I chose C++ is that I...
Ben Nason
benbuck@...
Send Email
Jan 4, 2001
6:19 pm

This is a little off topic but not too far. Can anyone tell me if the GBA will have region locked/ecoded cartridges or is it still "no regions" as per the...
Keith Wilkins
devlists@...
Send Email
Jan 7, 2001
1:02 am

... It's not your fault. The branches in your code are obviously relative and so you can't call any outside functions within your ram-moved code. or you jump...
Manfred Linzner
linzner@...
Send Email
Jan 4, 2001
11:54 am

Hi Manfred Nice one, that never occurred to me :) Problem is I already went and wrote my own asm divide, I reckon the gcc stuff would be faster than mine...
Mat
matth@...
Send Email
Jan 4, 2001
1:27 pm

... hi, the major bottle neck is often the EXRAM & ROM accesses. If your routine spends most it's time copying stuff from rom to ram there is often no big ...
Manfred Linzner
linzner@...
Send Email
Jan 4, 2001
1:40 pm

Hi Manfred ... our GAX soundroutines ... code. ... mainloop ... Im rendering large textures from ROM directly to VRAM, I dont touch EX_WRAM. at the moment, but...
Mat
matth@...
Send Email
Jan 4, 2001
2:45 pm

That's odd because when I was converting Quake to the ARM I managed to change all the floating points maths, with the exception of the QuakeC stuff, to use the...
Martin Piper
martinp@...
Send Email
Jan 4, 2001
2:58 pm

... i understand. one additional problem with texturemapping on agb is the low display resolution. ... our game can be roughly compared to afterburner or...
Manfred Linzner
linzner@...
Send Email
Jan 4, 2001
2:59 pm

... we also dont had any accuracy problems (why should there be any? :). Only the shift eats accuracy when the table is not big enough for the number range.....
Manfred Linzner
linzner@...
Send Email
Jan 4, 2001
3:02 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help