Just noticed you had a question in your post, Cyberman. Sorry about that.
I discern between different models by so called "entry points," which define the start of a display list. An entry point is found by seeking the word "E7000000", and keeping that location in an array. Contained after the entry point information are all the rendering information (using F3DEX2 commands) I need to process. The End DL command in F3DEX2 is the byte "DF".
The user can then select from those locations, and each is a different model.
What I really want to do next is work on the bone format..
The basic flow is like this:
seek to entry point->search for specific commands->process data as required by the found command->if found command is ever "DF", end operation->render to screen.
There's of course the option of rendering all display lists in one area in the viewer, too.

I've attached some (yes, textured!) examples.
