First of all, I have to say that I very appreciate Djipi's work. I can say, that his texture mods inspired me to work on hires textures support in Glide64.
Regarding background in Zelda OOT, I can say that it is not surprise that they do not work. Backgrounds here are special. Let me explain why.
First, a bit of basics. How hires texturing works. To render textured polygon, N64 needs to load texture into a special memory buffer – texture memory. To do that, N64 programmer has to call: settextureimage command to set address and format of texture image, settile and settilesize commands to set tile parameters and sizes and finally one of tile loading commands. After processing of these commands graphics plugin knows everything to calculate texture checksum. During processing of a draw polygon command, plugin calculates texture checksum, finds hires texture corresponding to this checksum and if such texture is found, it is used instead of the original one.
Now backgrounds. N64 texture memory has 4kb (4096 bytes) capacity. That is, it is impossible to use tiles, which has size larger than 4kb. Obviously, backgrounds, which usually are 320x240, can’t be rendered in one piece. To render fullscreen background, N64 programmer usually have to split it into set of wide narrow tiles, and for each of this tiles call set of commands, which includes: settextureimage, settile, settilesize, texrect. That is several hundreds of commands. There is another way to do it. Nintendo created special 2D sprite microcode, which can be loaded from main 3D microcode. This sprite microcode has ‘background’ macro command. N64 programmer can render rectangular image of arbitrary size, calling only one this background command. He only needs to specify a structure, which describes texture image parameters and its position on the screen. And this is how background are rendered in Zelda OOT. Background command is just encapsulates all this texture routine from the programmer. That is on low level it works the same – splits texture into pieces and renders it piece by piece. But, on high level it is one command, and high level graphics plugins deal with this command. Since this command deals with whole texture image, not spilt into tiles, plugin author can select any way to implement this command. Usual approach is to load it wholly, without splitting. RiceVideo uses this approach. I guess, background image is dumped in one piece too. Why hires background image does not load? I guess, it’s because usual texture processing flow (settextureimage, settile, settilesize) is bypassed in this case, and hires search is bypassed too. Thus, there is no way to load them without modifying the plugin. This is true for Glide64 too, but here the things are even more complex. Glide64 reproduces internal logics of background command: it splits texture image into 4kb tiles, and loads it one by one. Thus, hires background must be split too to work with Glide64. Therefore, these tiles must be dumped first with correct checksum. Djipi, if you will agree to do background tiling, I can try to build Glide64 with texture dumping.