How to programmatically code a block to show taxonomy vocabulary as an unordered list? I'm trying to build a menu using a taxonomy vocabulary with its hierarchical structure. 
I don't want to use any module to do it. 

In this page I see that I can grab the terms for a given vocabulary and do it programmatically http://drupal.org/node/113651

But I need some help to star coding it.

I have a Taxonomy called: Products (the tid is : 2)

Products has the following terms and hierarchical structure:

--Cars
----Volvo
----Ford
--Games
----Football
----Rugby
----Videogames
------Pacman
------Call of Duty


PHP CODE to generate:

&lt;ul&gt;
    &lt;li&gt;Cars
        &lt;ul&gt;
            &lt;li&gt;Volvo&lt;/li&gt;
            &lt;li&gt;Ford&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Games
        &lt;ul&gt;
            &lt;li&gt; Football &lt;/li&gt;
            &lt;li&gt; Rugby &lt;/li&gt;
            &lt;li&gt;Cars
                &lt;ul&gt;
                    &lt;li&gt; Pacman &lt;/li&gt;
                    &lt;li&gt;Call of Duty&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
That's something I have put together for myself in the past. I posted the code on the Drupal taxonomy_get_tree() API page where you can get a copy for yourself. The core part of the code is usable with Drupal 6 as well (some smaller modifications are needed to make it work though).