Re: maemo-developers Digest, Vol 25, Issue 22
Hi if you look at the current events, the United States of America is turning into a faschist state. They occupy 140 countries in the world, and they are subjecting people to torture who disagree with the nazi oh sorry neocon line. Well we are all destined for the gas chambers if we do not cheer and march in lockstep to the new world order.. But there is a candidate who might be able to put the brakes on the new faschism - and that's Ron Paul. No this is not a joke. This is real. It is happening now. Get on the net and educate yourself. It's your own skin you are saving. Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=listsid=396545433 ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: Xsp pixel-doubling solutions for Nokia 770?
--- The ever-informative Daniel Stone [EMAIL PROTECTED] wrote: The second, and most important, is portability. Not only are you tying your app to the internet tablets, but you're tying them to the _current generation_. --- You're turning a portable app (hell, the point of SDL is portability, so you can run it anywhere), into one that's dependent on the mixture of X, an OMAP display controller supported by omapfb, and an external LCD controller also supported by omapfb. Not only is this setup quite unique to the internet tablets (due to the high resolution), but it's specific to this line of internet tablets. Good words - they help illustrate why this discussion is addressing two different things. It's understandable that any work to optimise performance for existing tablets is not interesting to employees at nokia who are working on the next generation(s) of tablets. In addition, anyone writing an sdl app/game from the ground-up would do well to keep that portability in mind. Most existing SDL applications are runnable on tablets thanks precisely to SDL abstraction. The subject *is* interesting, however, to those of us porting existing* apps to the existing* devices with a fixed feature-set. We are faced with the fact that the games are written for desktop pcs with more performance than the tablets, yet many are nearly fast enough on the current tablets. For the second group (to which i belong) there are limited options to getting acceptable performance. One is to heavily revamp and optimise each game individually. Another is to look at ways in which we can improve speed across the board (Primarily for SDL). There are any number of changes we can make in future products (such as removing the LCD controller, moving to a purely X driver, using a different display setup, whatever) that will torpedo your app. You can bypass X and go straight to the framebuffer, but it might not work correctly, and that will be your problem. It's not guaranteed to be portable to future internet tablets, let alone other platforms. If the changes are applied as drop-in replacements for existing sdl libraries, then no. The tablet version of the SDL app would use the same SDL calls, perhaps with minor changes. Future tablet SDL versions would not use those hacks. This idea is _not_ hot-air. The gp2x community has done exactly that - just one example: http://wiki.gp2x.org/wiki/Paeryn's_SDL - a community-developed hardware accelerated version of the SDL library for the GP2X Regarding your portability argument: As things stand today, we already *do* need to make non-portable changes to get acceptable performance using the existing ITOS. The best example of this is the fact that to use pixel-doubling, games using SDL_Flip and partial screen UpdateRect must be modified to not use SDL_Flip, and update the full 320x240 or 400x240 screen, every frame. as adequately demonstrated by http://pupnik.de/aliens-1.0.2_Nokia.tgz I think it bears repeating that this discussion is woefully conflating two seperate topics, and much of this debate is unnecessary if we keep the seperateness of the two goals in mind, namely: A) Improving game performance on existing tablets, and B) Improving game performance on future tablets. So lets do that. Let's let the gurus at Nokia work on the next great thing, and us plebes in the community work on getting acceptable SDL/game performance for the current tablets. Cheers Arnim Sauerbier __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: Xsp pixel-doubling solutions for Nokia 770?
If new Xomap doesn't work on the 770, I'd like to know about it. (I don't have time to constantly test it, but I can -- and will -- fix it.) I have found what triggers the Xsp disabling from SDL for IT 2005, 2006, and 2007 hacker ed. Doubling gets disabled whenever we update less than the full 320x240 screen. this breaks: SDL_UpdateRect (SDL_Video, updated.x, updated.y, updated.w, updated.h); this works: SDL_UpdateRect (SDL_Video, 0, 0, 320, 240); The same problem occurs in other SDL programs that do not update a full 320x240 screen each frame. I have prepared a simple SDL demo that illustrates this. It should be easier to understand and modify than the Ur-Quan Masters sources. Grab it here: http://pupnik.de/aliens-1.0.2_Nokia.tgz This contains a binary tgz for testing, as well as the source. Untar to home directory and use F6 button (top left on device) to toggle xsp doubling. To verify that updates outside of the doubled window are not affecting the doubling, change #define VIDWIN_X800 to #define VIDWIN_X640 and disable my onscreen buttons by commenting out these lines SDL_BlitSurface(buttonsurface,buttsrc,screen,buttdest); SDL_UpdateRect(screen, 0, 0, 0, 0); I would appreciate anyone interested in SDL and pixel doubling taking time to look it over. This is about as simple a 'real world' test case as you're going to get. Arnim Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. http://tools.search.yahoo.com/toolbar/features/mail/ ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: Xsp pixel-doubling solutions for Nokia 770?
--- Daniel Stone [EMAIL PROTECTED] wrote: I assume your 'xrandr' screenshot is taken on the desktop? RandR doesn't imply a specific scaling algorithm. Yes. I mistakenly assumed that xrandr would imply a point-scaler algorithm. I don't see the conflict between working on new Xomap versions and improving the N800. There is none, but look again at the title of this thread. :) I don't see the point in doing pixel doubling in software. The point is to consider alternatives to improve performance for SDL games on the 770 (and by extension, the 800). It's not about memcpy. I think the _maximum theoretical_ rate of screen updates is 28 fps due to the limited bandwidth between OMAP dispc and Hailstorm. You cannot push pixels any faster than this, even if you try, and even if you optimise SDL to death. Thanks for that info. I estimate my action games need roughly 20-25 FPS at 640x480 and RPGs 8-15 FPS at 800x480, so available bandwidth would be sufficient, correct? I'd like to thank Matthew, Eero, Daniel and Tapani for sharing their ideas on the future of pixel doubling and Xomap here, but given the status of N770 support, we in the community can not reasonably ask or expect Nokia to implement them for IT2006. If this is correct, I respectfully request that discussion about future Xomap releases be forked to another thread and we return here to the question of how to improve SDL game performance on the current OS. To review: - When UQM updates the full 320x240 screen (as in the intro and settings menus) Xsp doubling works as intended. When it updates portions of the screen (main menu, combat, dialogues) doubling is getting disabled. I don't understand why this is happening and apparently nobody else does either. - UQM combat is running at 21-24 FPS in 320x240 mode and at 6-11 FPS in 640x480. Getting 640x480 up to 20+ FPS is all that's needed to make it playable. - Given the stated goal (deliver SDL games to current tablet users) and the known constraints (Xsp problems, no Xomap fixes for IT2006), I see three potential solutions for the community (not Nokia): 1) find out and document how to avoid the Xsp-doubling/damage problems for SDL apps, in general 2) write a SDL putrect equivalent that can use DSP pixel doubling directly, without using Xsp 3) write a fast SDL putrect equivalent direct to framebuffer (cf mplayer) - optional SW scaling There are a number of classic SDL games that are close to playable on the 770. We could dive into each one individually and look for performance gains, but speeding-up scaled SDL surfaces across the board would yield a bigger payoff. I have doubts whether #1 is possible and #2 would require an intrepid coder who can venture into 'here be dragons' DSP-land. I think #3 (basically Siarhei's suggestion) looks like the most general and do-able route to speed up SDL games, since he's already implemented something like this for mplayer. Any thoughts? (besides sell your 6-month old 770) Arnim __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Re: Xsp pixel-doubling solutions for Nokia 770?
--- Siarhei Siamashka [EMAIL PROTECTED] wrote: Siarhei Siamashka wrote: This is what works for MPlayer on Nokia 770. It creates x11 window just to reserve some screen space and prevent other applications from using it. After that, it renders data directly to framebuffer and uses x11 for input. It is not very clean, but it works. And it works fast. The same trick can be probably done for SDL. Indeed SDL is the 'gaming api' in-use for games that run acceptably on tablets, and Xrandr would be the natural choice for changing screen resolution. While that would be fast and simple, it doesn't look good. See http://pupnik.de/ScalersExult.png As the screenshots show, a Scale2x or 2xSai scaler yields much more readable text (view on the tablet to get a good idea of this). While I appreciate that the folks at Nokia are looking into solutions aimed at future Xomap and tablet releases, my interest is directed toward improvements that can apply to current N770 and N800 tablets. To this end, my hope would be for a fast Implementation of SDL's HWSURFACE that would allow the SDL app to use an internal high quality scaler or 800x480 native resolutions. Siarhei Siamashka wrote: Also it would be a good idea to benchmark SDL, identify maemo or ARM architecture related bottlenecks and try to fix them. Many older generation games worked perfectly on hardware way slower than Nokia 770. So Nokia 770 may be a good platform for mobile gaming if properly optimized This is what works for MPlayer on Nokia 770. It creates x11 window just to reserve some screen space and prevent other applications from using it. After that, it renders data directly to framebuffer and uses x11 for input. It is not very clean, but it works. And it works fast. The same trick can be probably done for SDL. If the memcpy on 770 is something like 190MB/s, pushing 800x480 at 30fps would use only 12 percent of that bandwidth I feel that a better SDL implementation would be time/money well spent, as it would be an easier upgrade than Xomap for current 770/800s, and would also benefit future nokia tablets. Arnim __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Xsp pixel-doubling solutions for Nokia 770?
Greetings again, Dear Maemo Developers, I am now porting several emulators and games to the Nokia 770, some of them shown here: http://pupnik.de/software.html Many of these are acceptably fast at 320x240 but too slow at 640x480 or 800x480. The problem is that some SDL applications do not maintain 2x doubling but flicker to 1x scaling - example video here: http://pupnik.de/UQM_Xsp_SDL_Doubling_Bugs.avi I have spent several weeks of trial and error trying to find a way around these issues by changing various details of the SDL implementation, but have not been successful. I have heard that Xsp doubling is fixed now and I see there is a patch for Xomap which may solve the doubling problems on the 770. https://garage.maemo.org/tracker/index.php?func=detailaid=531group_id=164atid=683 However, I do not see that it has been applied to my most-recent IT2006 xserver-xomap 6.6.3-28 (gregale). Do I understand that the Xsp/Xomap bugfix will not be applied to IT2006 due to Nokia dropping support for 770? If this is true, is it possible to compile an unofficial Xomap server for gregale/it2006 that can be installed without requiring reflashing the OS? If not, could someone suggest a workaround? It seems fairly straightforward to me that a fullscreen on-top SDL window with disabled cursor should preclude the X server from registering damage or calling redraws to any other windows. Regards and thanks, Arnim Sauerbier __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Snes9x running now
Running now with good speed (60fps on this demo screen) For updates and screenshot, go here http://www.internettablettalk.com/forums/showthread.php?t=5742 :) Long live Nokia, long live the 770! Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. http://tools.search.yahoo.com/toolbar/features/mail/ ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Snes9x Super-Nintendo Emulator builds/runs
Hi all, just wanted to mention that Snes9x 1.5 builds/runs in scratchbox / N770+800 apt-get source snes9x ./configure make Here the program runs fine in the x86 target, but has problems in the arm target and on the tablets themselves. The snes9x messages such as fps and status text messages display fine, so it seems to have no problem drawing, however Super-Nintendo screen itself remains black. On the x86 target it runs fine. I haven't gotten anywhere yet. Looking at other ports for ARM devices such as Pocketsnes isn't very helpful as they are built on top of a much older snes9x base (1.3x). So this is basically a plea to the talented hackers here to take a look at Snes9x 1.5. It could be playable, as the pocketsnes supposedly runs at near full-speed on the gamepark gp2x with 200mhz ARM9 cpu. Cheers Don't be flakey. Get Yahoo! Mail for Mobile and always stay connected to friends.http://mobile.yahoo.com/mail ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Howto: increase screen dimming/blanking timeouts
How to increase screen dimming/blanking timeouts: Thanks to derf in #maemo irc for help on this! To set your display dim and blank timeouts directly (for e.g. to 1/2 hour and 1 hour - 1800 and 3600 seconds respectively) run this from ssh/xterm: gconftool-2 -s /system/osso/dsm/display/display_dim_timeout 1800 -t INT gconftool-2 -s /system/osso/dsm/display/display_blank_timeout 3600 -t INT You can also add round values to the list of timeouts that 'display settings' shows in the drop down list. I have tested with 30 and 60 minute settings, as these display properly in the Brightness period and Switch off display drop-down lists. Setting to an odd value like 962 seconds resulted in a blank entry in the list. gconftool-2 -t list --list-type=int -s /system/osso/dsm/display/possible_display_dim_timeouts [30,60,120,300,600,1800,3600] gconftool-2 -t list --list-type=int -s /system/osso/dsm/display/possible_display_blank_timeouts [30,60,120,300,600,1800,3600] These settings remain persistent after reboot. Hope these are as heplful to you as they were for me! Cheers, Arnim Sauerbier Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games. http://games.yahoo.com/games/front ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
DosBOX 0.65 running on nokia 770
Just a heads up, DOSBox runs 8088 games nicely on the 770, with 256-color VGA and advmame2x scaling and pc speaker support. SB16 support works also. Currently i'm trying to figure out why the mmap2() call breaks requesting more than 2MB. 80286 and up is reaal slow. --- also gqview compiles and runs out of the box Finding fabulous fares is fun. Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains. http://farechase.yahoo.com/promo-generic-14795097 ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
Netrek and POSE PalmOS emulator for 770 / 800 running
Hi Group, just wanted to let you know that besides Ur-Quan Masters (Star Control 2), i got Netrek running on the 770 (garage page applied-for). Potentially more exciting is that POSE PalmOS emulator runs pretty much out-of-the-box. I ran the standard included apps and everything seems to work! POSE 770 Binary here: http://www.ln-s.net/NcH PalmOS BIN image required: register and download here: https://www.developerpavilion.com/pa...sp?page_id=364 I was surprised to find that the binary of POSE required no additional libraries on my 770. Fltk builds everything needed into the resulting executeable. (!) (?) I've applied for project homes on garage for netrek and pose. Cheers, Arnim Be a PS3 game guru. Get your game face on with the latest PS3 news and previews at Yahoo! Games. http://videogames.yahoo.com/platform?platform=120121 ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers
UAE Amiga emulator running on Nokia 770
Hi Group, I just cross-compiled the UAE Amiga emulator to the Nokia 770. Getting about 10fps in Arkanoid. It's much prettier than the Atari ST version. The config menu kinda almost works. Keyboard works. Mouse works, but absolute positioning with touchscreen not so much. Sound still not working. Here's a temp. link to the binary for 770 / it2006. http://ln-s.net/NgM It obviously needs a kickstart ROM image, and some disk image to boot (e.g. a game). Untar the tgz to /home/user or some other directory (not on MMC1), edit uaerc to point to your kickstart ROM and boot disk image. Then run the ./amiga script. Give it a try, and let me know how it works. See if you can find uaerc options to speed up the emulation. Im applying for a garage page now. Cheers! Arnim We won't tell. Get more on shows you hate to love (and love to hate): Yahoo! TV's Guilty Pleasures list. http://tv.yahoo.com/collections/265 ___ maemo-developers mailing list maemo-developers@maemo.org https://maemo.org/mailman/listinfo/maemo-developers