Thanks to everyone for the detailed explanation!
"The GPU intercepts memory reads and writes to a 512KB 'window' in the uCom's physical memory space (it equates to an empty socket on the memory card) and responds to RD/WR ops to its internal RAM within this 512KB window."
Yes makes sense to me now, wouldn't make sense to have the GPU constantly accessing screen RAM on the uCom's bus.
"The DECA will be the test-bed for the DDR3 controller,"
Yes proven hardware plus physical layout to test the new DDR3 controller
" there are no plans to use anywhere near 256 IO address ports.. without checking I think we're using about 10."
Good news as more than 16 bytes per I/O slot would be a bit cumbersome for my system
Just thinking out loud, in a 64k system with only 56k of RAM for the operating system there is not a lot of address space left for VRAM.
Would an approach like asmi suggests, sort of like the TMS9918 where you send a start address through an I/O port and subsequent reads or writes increment the internal address counter, be possible without a complete redesign? This is just a curious question not a wish list.
I was looking through your Github and found the "Z80_Bridge.v". Is it still the same or close to the current version that you are using?
I am considering going back to the start of this thread and try to understand how the bridge works.
Quote from: BrianHG on May 26, 2021, 07:30:06 pm
I just finally got the multichannel/multiport 'BrianHG_DDR3_COMMANDER.sv' working. It is the front end for my DDR3 controller providing 16 read and 16 write ports, each with a user set individual data widths and a DMA through function for all the read channels. Right now, I just need to clean up the 'priority' selection encoder and I will post the entire DDR3 controller on a separate thread. This should be enough for Nockieboy to add CPU data & program IO access ports to the controller, + video access, + audio access, + SD-Card read & write access, + Geometry processor access, + anything else he wants. All accessed like a huge internal multiport FPGA static ram with the 1 caviot that you occasionally need to wait for a busy flag to clear, or read data ready flag on each individual port.
You sir, are a legend.
Yes Brian has a considerable amount of work in this project.
Again thanks for this project
Ted - Patiently following the project