Problem with DMA_doVramFill
Posted: Tue Apr 21, 2020 1:33 pm
I have a problem with DMA_doVRamFill. My plane A starts at VRAM adress 0xC000 with :
(2108 means : tile 0x108 with palette 1, no priority, no flips) (If I'm not mistaken, VRAM is little-endian so it should be 08 21 inside).
I want to change those 2108 to 2142, so I do :
But I get :
I know there's some problem with DMA operations that can miss the first operation. But I thought SGDK did take care of that. I'm using version 1.4 (maybe 1.34, not sure). Is it related ?
Also, do we agree that, if I want to change the 21 to 00, I'll have to do :
?
Code: Select all
0xC000 : 2108 2108 2108 2108 2108 2108 2108 2108 2108 2108
I want to change those 2108 to 2142, so I do :
Code: Select all
DMA_doVRamFill(0xC000, 10, 0x42, 2);
Code: Select all
0xC000 : 4242 2142 2142 2142 2142 2142 2142 2142 2142 2142
I know there's some problem with DMA operations that can miss the first operation. But I thought SGDK did take care of that. I'm using version 1.4 (maybe 1.34, not sure). Is it related ?
Also, do we agree that, if I want to change the 21 to 00, I'll have to do :
Code: Select all
DMA_doVRamFill(0xC001, 10, 0x42, 2);