January 27th, 2008 by 0xtob
Here’s a new version with a larger drawing area, dual screen support, updated physics and more!
The top screen displays an overview and the bottom screen shows a zoomed in view.

Here’s a contraption in which a car hits some dominoes, the last domino falls on a seesaw and makes a ball fall into a shopping cart.

Get it at the project homepage!
Posted in ds | 4 Comments »
January 27th, 2008 by 0xtob
Here’s a new release of the DS port of Box2D. Robert Kavaler helped me out a lot on this by porting the changes to the SVN version of the (still work-in-progress) Box2D 2.0 and adding a nice build system. Although this is a patch of an unstable version of Box2D it works very stable. By using the DS’s hardware division and sqrt functions I improved simulation speed. Instead of the patches library, the archive now contains a patch with instructions how to acquire and patch Box2D.
Download: box2d_svn_r80_fixed.tgz
Posted in ds | No Comments »
January 5th, 2008 by 0xtob
JCRocky5 made this great ragdoll video with Pocket Physics
Posted in ds | 2 Comments »
January 3rd, 2008 by 0xtob
Pocket Physics v0.2 is out! Main new feature: Pins!
You can now play with seesaws…

cars…

and even ragdolls!

Get it at the project homepage!
Posted in ds | 14 Comments »
December 23rd, 2007 by 0xtob
Did you ever sit on the bus and think “Damn, now I could really use a program that treats my drawings as physical scenes and simulates the interaction between objects on them!” ? Well, me neither, but here’s one anyways.
You can design scenes freely by drawing things with the stylus. Things can be solid, like ramps and floors, or dynamic, like balls or boxes. Like in The Incredible Machine, you can reset the scene, change it, and start the simulation again. It’s even more fun if you have a DS Motion, which can be used to control gravity!
Here’s what it looks like:

As you can see, the main inspiration comes from Crayon Physics :)
Some implementation details for those who care: For the physics simulation I used the Box2D library by Erin Catto (DS port here). For graphics, I’m using μLibrary by Brunni, which allows for fast drawing of 2D objects using the DS’s 3D capabilities. The background image is One for SXC by Felipe Skroski. The crayon texture was made in GIMP, and the sounds were recorded on my DS with NitroTracker :)
Get it from the project homepage and tell me what you think of it in the GBADev Forum or via comments.
Posted in ds | 7 Comments »
December 23rd, 2007 by 0xtob
As you know, physics is the new 3D. So why not just ditch the 3D for the good old 2D? 2D was much cooler anyways, and a lot of games that were fun in 2D became quite annoying in 3D.
This is where Box2D comes in. It’s a very easy to use 2D physics library with a growing set of features. Box2D got a lot of attention from the game Crayon Physics that showed the potential of the library. Unfortunately, it is not perfect for the DS, because it uses floating point math, which the DS’s CPUs don’t support. So, I decided to create a DS port with fixed point math. Check it out, it’s really easy and a lot of fun!
box2d-1.4.3-ds2.tgz
Update:
The fixed point and Nintendo DS patches are now part of the official Box2D SVN! If you want to use Box2D on the DS, just check out the latest version from SVN. Also, check out my DS physics toy Pocket Physics.
Posted in ds, filepile | 5 Comments »
April 23rd, 2007 by 0xtob
Edit:
OK OK, I’m convinced :) PSG support will come! (sooner or later)
The PSG (programmable sound generator) is the thing that produces the Game Boy’s typical sound, which is still present in the DS (or so it seems). I have promised to include support for it in NitroTracker several times now. But after having seen the Game Boy Sound Comparison, I suspect it might be emulated in software. If that is the case, there wouldn’t be a point in going through the pain of implementing PSG support, but it would be much easier to generate the sounds in software.
Long story short: I’m looking for people with good ears who think they can tell real PSG sound from a cheap emulation :-) I wrote a test program that generates the same tone sequence two times: One time using the PSG and the other time using software. I’m not telling you the order though :-) If you have a DS, please download it here and tell me in the comments whether or not you hear a difference, and if you do, which one you think is produced by the PSG.
If you don’t own a DS, you can listen to the samples below instead. I intentionally didn’t label the sets as PSG or software, so you have to find out for yourself. Please post your guess in the comments, and whether or not you could hear a difference.
To preserve the sound, I didn’t compress the samples, so they are rather big (1.4MB each).
Set A
Pulse 1
Pulse 2
Pulse 3
Pulse 4
Noise
Set B
Pulse 1
Pulse 2
Pulse 3
Pulse 4
Noise
Here are some closeups of the puse waves:
A

B

Thanks!
Tob
Posted in ds, nitrotracker | 6 Comments »
April 17th, 2007 by 0xtob
As promised, I’m releasing the source code of Pictoblog. I hope someone will pick it up and develop it further. It should also be pretty easy to use my MetaWeblog API class in other projects.
I would really like to see more blog-enabled homebrew, because I think blogging and the DS go together very well. With the DS you can blog in unusual places (as long as they have WLAN) and in unusual ways (by drawing, recording voice messages etc.)
Get the it here.
If you have any questions concerning the source, don’t hesitate to post in the Pictoblog thread on the GBADev forums!
Have Fun!
Tob
Posted in ds, filepile | 3 Comments »
April 15th, 2007 by 0xtob
Several people have been asking for it, so I decided to publically release my XM library before it’s completion.
libntxm is for you if you want to play back XM music in a homebrew game or app and still want to have the full CPU power for your stuff. Except for loading XMs, libntxm runs completely on the ARM7, and because it uses the DS sound hardware directly, even the ARM7 is rather bored while playing an XM.
The big drawback for now is the lack of most XM effects and some instrument properties. Nevertheless, many XMs already play fine with it. If you make music with NitroTracker, you’re definitely on the safe side :-) There’s a list of supported/unsupported features in the readme file.
libntxm is open source. I decided to go with the LGPL license, so you’re not forced to release your source code if you want to use it.
I’d be very happy if someone could help me with the development of effects in order to speed up the development of NitroTracker and libntxm. If you want to help out, contact me (for example via comments or the libntxm forum post)!
Get libntxm here!
Happy coding!
Posted in ds, nitrotracker | 5 Comments »
April 2nd, 2007 by 0xtob
The problem with the first version of Pictoblog was related to a bug in the dswifi library, which is now fixed. Posting works 100% reliable now. Get the new version here.
Thanks to sgstair for fixing the bug!
Posted in ds | No Comments »