You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the first attempt to read an address above the 0x068A3FFF mark (VRAM 656KB limit) everything blows up.
Could fix it checking before calling VisitVRAMByAddress:
But for current lack of whole design complete understanding and fleroviux intentions, I'm just documenting here and not opening a pull request.
Tested on:
Platform: Win10
Compiler: Clang 11 under MSVCRT (MSVC can't handle the metaprogramming and won't build, at least in the current stable 14.29)
(logically should be an issue in other platforms, logically)
The text was updated successfully, but these errors were encountered:
Can you confirm that this is fixed as of the latest commit 094361c?
The problem was in the vram.hpp file, it defined LCDC VRAM as a region with 41 pages but mask is 63.
This correctly models the mirroring behavior of LCDC VRAM but the Region class template didn't account for the mask >= number of pages case. To avoid a branch I just made the LCDC region 64 pages large, which is still correct, just slightly more wasteful.
I knew you would come with a better solution ヾ(≧▽≦*)o
Merged upstream and now works without a flaw! Now it can compile and run without problems under clang+Visual Studio on Windows.
The sequence of events is:
At the first attempt to read an address above the 0x068A3FFF mark (VRAM 656KB limit) everything blows up.
Could fix it checking before calling VisitVRAMByAddress:
But for current lack of whole design complete understanding and fleroviux intentions, I'm just documenting here and not opening a pull request.
Tested on:
Platform: Win10
Compiler: Clang 11 under MSVCRT (MSVC can't handle the metaprogramming and won't build, at least in the current stable 14.29)
(logically should be an issue in other platforms, logically)
The text was updated successfully, but these errors were encountered: