I've been able to get my project to work if the data is stored at $40-7d OR $c0-ff but not if I place data in $40-7d AND $c0-ff. All the documentation I have seen is vague on this point, simply stating what can be stored where, yet failing to mention any other necessary steps.
Presently, I have everything stored in $c0-ff and some test graphics in $40-58. None of the test graphics display. Does it need to be mapped elsewhere?
I see Tales of Phantasia uses mode 25. Do I need to use that mode? I haven't been able to find any information on it.
How exactly are you testing this? Flash Cartridge? Emulator? Copier? Original Cartridge with EPROMs? Anything but an original cartridge with EPROMs is going to probably rely on detecting the mapping possibly through the header. Meaning it'll probably be looking for Tales of Phantasia's header data.
Yes, in answer to my own question, it should be mode 25 fast.
The header is not enough. After building the ROM I had to copy 0x08000-0x0ffff to 0x40ffff. Now it works fine. I am not sure how to do that with the source code, however, adding a script to make the copy adds only a few seconds to the build time.
Last update for the day. It doesn't really work well.
The most I've got working is banks $c0-ff and a little bit in $40.
Displaying graphics stored in $41-7d or any other locations I've tried results in a blank screen, usually black but every once in awhile some other color. The program keeps running and you can do stuff.
I'm hoping that I'm just zombified from tinkering with this for, yikes, 12 hours straight and in the morning I'll look at it and feel really stupid for missing something obvious.