might have found possible other hd buffers? not sure about their size yet.
spying on a few locations that i found contain 0x46000080 (one working hd address we have), using hunt.py from alex. Below are a few locations and the values i noted they cycle through in live view:
--0x157f84--
0x46000080
0x06000080
0x48000080
0x08000080
--0x869a70--
0x46000080
0x48000080
--0x48a0--
0x46000080
0x48000080
I have now confirmed that 0x46000080 and 0x48000080 work (using dimensions 928x616 with pitch 1856), as noted on the vram page for the 500d. the 0x44000080 value on that wiki appears to be wrong, because silent pics/magic zoom weren't right at all.
I'm going to try some of these other values now.
edit:
0x06000080 works
0x08000080 works
so now we have 4 lv_hd_buffer addresses: (0x06000080, 0x08000080, 0x46000080, 0x48000080). with a possible dma address at 0x157f84 switching between all 4, or 0x869a70 switching between 0x46000080 and 0x48000080.
the only odd thing is that focus peaking is offset, vertically lower than the actual display, so the whole focus peaking map is off by a little bit -_-
it isn't like this on the lv address, but it is on all 4 of these hd vram addresses... i'm stumped.
everything is working beautifully now.