But like I said before, you guys will need to think about implementing a DMA controller. It's just not realistic to use such slow CPU to haul around megabytes of data. A single 32bit true-color image at 720p is about 3.5 MBytes, so just loading resources into memory will take forever unless you offload it to some sort of DMA engine.
You haven't been reading this thread, have you?
Search for SD-Card hard drive emulator.
What do you think the blitter also does.
Also, the math-co FPU & sound system.
The Z80 will be able to play realtime video from the SD-Card and even decode and encode .mp3 simultaneously in real-time.
Why do you think I need that 'Destination Address' with the read-requests. With that and nothing more than the existing counters, I can redirect reads into any part of the GPU core, FPGA ram, GPU peripherals/control registers, or even back into the DDR ram controller to write the read data into a new address without any other added logic.
The entire GPU system is a gigantic DMA point A to DMA point B system with the Z80 only setting the equivilant to a start address and length, or you can DMA controls into the DMA controller as well. Even the currently fully functioning blitter does this today which is 2 loop counters with a 'hop', with a combined scaler which allows you to grow and shrink the resulting copy, perfect for realtime audio resampling playback, IE variable period/pitch.
All reads in the current system have a destination pointer sent with them, whether it is used completely or partially. I only side-stepped this with the Z80 read req access since it was so infrequent and 1 byte at a time to it's own single destination port.
The MAGGIE just defines 15 rectangular read windows into the FPGA cache, times it's alignment to the VGA sync generator and displays them all at the same time through the BART module and palette mixer.
This was why Nockieboy decided to step up to placing the Hyperram. Then with a little more push, IE more maggie layers direct from ram and 720p capability, we were able to push him to DDR3 at 16 bit.