File | Type | Mode | Size |
---|---|---|---|
Makefile | file | 644 | 1481 |
README | file | 644 | 1826 |
arm7/ | dir | 0 | 0 |
arm9/ | dir | 0 | 0 |
README
swarmDS - a swarm of pixels for the Nintendo DS SwarmDS is a port of swarm.3 (http://dominionofawesome.com/hacks/swarm.3/), a simple javascript/canvas hack that involves a bunch of pixels swarming around the cursor. The original program ran in a browser, and was quite slow, but the algorithm is simple enough that it's portable to anything with a display and a pointing device. The playful beauty of it has inspired me to port it to other platforms, and the program serves as a useful goal when learning a new system (like the DS). Swarm.3, is, of course, an evolution of swarm.2, which came from swarm, all of which are on my hacks page: http://dominionofawesome.com/hacks/ . A version that runs in SDL and .NET (and thus works on Linux and OS X using Mono and Windows using the .NET Framework) is available at http://dominionofawesome.com/hacks/swarm.NET/ . SwarmDS is a much more ambitious port than swarm.NET, though. Nowadays on a PC, floating point is fast and universally available. On the DS's ARM9, however, it's slow and not a good solution for an algorithm like swarm. I converted the math to use a fixed-point representation. Secondly, after an initial version using the framebuffer (which is also slow), I used the 3D rendering engine to draw anti-aliased lines. This made it faster, and also had the pleasant side-effect of making it pretty. :) The latest optimization is to move all the time-critical code and data into ITCM and DTCM. Since swarmDS is so small, that means nearly all of the program runs directly from ITCM. Currently, swarmDS can do 1000 little swarming pixels at 60fps. I believe there's still room to grow, computationally, but 1000 pixels is plenty for such a small screen. Questions, comments, patches, flames, and praise go to bytex64@bytex64.net. Happy Hacking. :) ~chip
Clone: https://git.bytex64.net/swarmDS.git