This is a file browser I wrote some time in 2004. It uses no media, instead it generates everything itself. The function is about 500 lines long but the important thing is it works.

Also note that this was originally written for use in DBC.

One thing though, you may want to try and implement some mouse click resets. At the moment it is currently counting a variable from 0 -> 10 which, if you are using a fast computer, will result in very fast browsing!