User:Rvvs89

From iPodLinux

(Difference between revisions)
Jump to: navigation, search
(meh)
m (broken link. fix it...)
 
Line 72: Line 72:
* E-Mail: PM me for it
* E-Mail: PM me for it
-
* Forum: [http://www.ipodlinux.org/forums/profile.php?mode=viewprofile&u=1406 Rufus]
+
* Forum: {{#thishost:/forums/memberlist.php?mode=viewprofile&u=99|Rufus}}
* Wiki: [[User_talk:Rvvs89|User Talk:Rvvs89]]
* Wiki: [[User_talk:Rvvs89|User Talk:Rvvs89]]
* IRC: rvvs89 on the #ipodlinux channel
* IRC: rvvs89 on the #ipodlinux channel

Current revision as of 13:50, 20 November 2009

Contents

Who be ye?

I'm a first year at the University of Western Australia, I'm doing a double degree in engineering and computer science. Click here to get the current state of the exclusively internet operated coke dispenser (which you can only use via ssh or a broken web interface) in the UCC clubroom. I've been lurking in the iPodLinux forums for at least a year now, I've been more active in the iPodLinux community more recently but still don't have enough motivation to get much done.

rvvs89 18:29, 27 Mar 2007 (CDT)

Music?

I have a weird mixed taste in music that shifts between alternative rock and punk all the way to electronica, drum and bass, trance, and club songs. I've never been big on other genres except for some exceptions among Rock.

My favorite artists would have to be:

  • Beastie Boys
  • Crazy Town
  • Daft Punk
  • Deftones
  • Fatboy Slim
  • Fresh
  • Gorillaz
  • Pendulum
  • The Prodigy
  • Radiohead
  • Wolfmother

That's definitely not all of them, The Beatles, Queen, Infected Mushroom, Andy C, Concord Dawn all very good artists.

iPod?

My first iPod was an iPod Mini that my brother bought with money we had both saved to buy a Playstation 2. It was the last time I ever did any shared savings with him, and pretty much the only time I got to use the iPod Mini. That mini is still alive today with a dodgy hdd and a very short battery life. It had iPodLinux on it at one point but I've long given up trying to get access to it.

More recently my rich aunty decided she would randomly (and I mean she called me without any warning) buy me an iPod Video. So I suddenly had an iPod Video... Even more recently that 5G suffered severe electrical trauma... when it was dropped into a basin full of water accidentally. The LCD and HDD still work, in fact everything still works, except perhaps most ironically, the dsp. So I have an expensive hard disk lying around that can play videos and run linux. I'll get it repaired if I can be sure I'll get the same 5G back from Apple when it's sent back.

I ordered a gp2x about a month ago from the UK distributor, but the sales department forgot to send it, it should be here in about a week from now. Hopefully I'll not get bored of an iPod without sound and keep trying to develop for it. ;-)

Current Projects

I've been programming for about 8 years now ever since I saw Battlefield on Bonus.com, I did some research and discovered Java. Given enough time and internet access I could really develop whatever I wanted in Java because I have so much experience with it. C and C++ have been a far more recent endeavour, I bought a beginner's book on C++ about 3 or 4 years ago, and I'm quite skilled at algorithm and data structure design within C++, but the libraries still elude me because I just can't be bothered learning a whole new architecture.

Thus iPodLinux is a great platform for me to develop for because you don't need to worry about access rights, you can rip LCD code strait from the kernel or other libraries and stick it in your program without getting a SIGSEGV. I would attempt to develop some modules for Podzilla2 but I find the single threaded callback architecture too restricting, and with the pz_exec patch I figure there's no reason not to make console applications for Podzilla2.

I'm particularly interested in the games aspect of iPodLinux, the current games for iPodLinux are good, but they consist either of ported games like iDoom, ported emulators like Mame and iBoy, and generic games running through TTK which are basic but get the job done. I'm trying to develop some more visually immersive games specifically for the iPod with it's unique hardware and develop some libraries and tools that will help other people do the same. A game or library of any size is a lot of work and anyone who is interested in helping out is welcome to contact me (see Contact below) for more information.

3D Renderer

Progress: Developing Platform: 5G/5.5G Status: No Alpha Yet

I've designed and redesigned this code many times over, hopefully this is the last time I scrap everything and start again. This time I'm trying to develop an unspecified game alongside the 3D renderer so as more features are needed they can be added. If I get anywhere with this attempt at the renderer let alone the game I'll be sure to let you all know via the forums.

Current Tasks

  • Unified fixed point arithmetic library (75% - tan and inverse trig functions not yet implemented, but when I need them they should be easy to write)
  • Vector operations (95% - all implemented, mostly untested, some dependancies on untested fpmath code)
  • Polygon operations (0% - previously implemented for a dynamically allocated architecture which is unfeasible on iPod, rewriting to make better use of static memory)

3D Renderer Will* Eventually Support

  • Scan conversion and rendering of polygons
  • Perspective correct texture mapping
  • Z-Buffered sorting for depth correct rendering
  • Dramatic lighting effects (not a priority though and involves a lot of dynamic memory allocations)
  • Limited alpha blending (a fast 50/50 blend, or more but otherwise it's slow)
  • Binary space partitions (if I can get my hands on some example code)
  • Pluggable pixel programs at compile time (however you'd have to modify the scan render code for each shader which might be a bit of work)

*Meaning these features look plausible given the iPod's speed and relative ease of development.

Porting KVM

Progress: Alpha Platform: All Status: Compiles, works, can't do too much

KVM (kilo virtual machine) is a lightweight java virtual machine written by Sun Microsystems, it is open source but I don't know if its license is compatible with the GPL, so I don't know if I can integrate it with Podzilla2 as a module so its just a standalone binary right now. After hacking with the makefiles and trying to get rid of dependencies on libraries that uClinux doesn't have (like, according to a #error in a header file, support for localisation). I've had some initial success with compiling, that is, there is a binary and every aspect of the build process works relatively smoothly. So CLDC 1.1 works but it can't really do anything except write to the console because there's no support for any libraries on iPodLinux.

Two paths exist for development here, one involves porting MIDP 2.0 to enable existing Java applications to work on iPodLinux (to an extent). The other is to create APIs for libraries specific to iPodLinux to enable applications to more fully exploit the iPod's hardware. These two will probably only slightly intersect if at all, running an MIDP 2.0 application is very different to running a command-line application in KVM. The other development issue is attempting to integrate it into Podzilla2; the KVM needs its own thread so putting it in a PZ2 module is not possible. Could possibly spawn it in a way similar to how mpdc spawns mpd and communicates with it, the other option seems to be hacking the thread rechedule code so every so many rechedules causes execution to pause and control restored to Podzilla2 until the next timer event, this would need a lot of fine tuning.

Contact me, preferably via PM on the forums for the fastest response, if you want the modified CLDC 1.1 source, to build it just run make in the build/linux directory and the modified build scripts should do the rest, cross compiling the right things for the right platform.

Contact