Further to the above writing issues, I'm definitely getting no writes to GPU memory, as verified by my CP/M test program and the rs232_debugger.
I've extensively tested the SD interface with SignalTap and found data being read from the SD card and passed through to the DDR3/Wishbone interface module. From there, it attempts to write the data to DDR3 - but nothing is actually getting written.
Below are two SignalTaps - the first is a working write from the Z80_Bridge, simply writing 0xAA to DDR3 memory at location 0x5001:
This second image shows the first two of 128 consecutive 32-bit writes to DDR3 memory from the DDR3/Wishbone interface, starting at address 0x5000:
I had written an AA55AA55 pattern to the first 16 bytes of GPU RAM from 0x5000 to 0x5010, so even with zeros being read from the SD card, that pattern should have been overwritten, but nothing is happening. Is there an issue with the CMD_write_mask or something else going on?
I'm using port 5 for the SD/Wishbone interface to the DDR3 controller. I've attached relevant modules in case they're of any use, but I suspect I've made a silly mistake somewhere.