As I said previously some openGL calls are now not supported by all graphics cards. With my present code the error you are getting is caused by missing instructions that have no execution address, hence the $0000000 address error.
I have been researching the openGL instructions I use to do normal mapping and it looks like some more recent graphics cards have discontinued the texture combiner calls I implemented in my code. I do check for OpenGL extensions but the old combiner calls are in the original OpenGL 1.2 which is assumed complete by the Delphi code. I will add assignment checks for every call I use and if the normal mapping ones are missing I will disable that part of the code.
I have been experimenting with a new normal mapping method using another type of texture combiner.. and also I have been researching shaders which can do amazing things. I have found some code that should enable me to build my own shaders (eventually). It's going to take quite some time for me to figure all this out.. I need to build some simple code from a tangled mess of stuff I have collected on this subject, most of which is not relevant to my mesh viewer.
Also I am working on getting all Trainz materials to render correctly, particularly the ones that have normal mapping with other features controlled by the alpha channel of the normal map. So far I am only part way down this track. I have tbumptex working but tbumpenv and tbumpgloss though functioning do not allow for texture percentage blending. So a bit more to do there as well.