Thank you very much for those very helpful replies. They have caused me to re-assess what I thought I understood about the midi format:

Bob:
Yes I did see some channel number of zero but assumed these to be the first channel available. In other files I did not find any channel numbers and you have explained this to me. What I don't understand is why a midi file, representing a piece of music, would not have any indication of what instrument was to play in the track?

Mike:
I hadn't realised that the patch instruction could actually be held in the header. Since the event list doesn't show it then I suppose I could examine it using the hex editor I mentioned in my original post. I was also confused with the actual value of the channel number and the patch until I noticed that I had to add 1 to each in order to make the result tie up with what was being played in the track.

I will return to the structure again although I find it hard going just working in the hex contents of the midi file. I don't know if there are any tools that can show the contents of the file in a more human friendly fashion.

But..., thanks, I have a lot to work on now.