I think I have hacked DF screen.
The values are aligned in exactly the same way as in Baughn's code.
Here are the offsets I got for DF 0.31.25 Windows SDL:
00B34D1C: screen
00B3508C: screen_limit
00B34D34: clipx[0]
00B34D38: clipx[1]
00B34D3C: clipy[0]
00B34D40: clipy[1]
00B3507C: dimx
00B35080: dimy
00B35084: mouse_x
00B35088: mouse_y
Explanation:screen, screen_limit - pointers to start and end+1 of the tiles array. They constantly flip between 2 arrays, apparently they swap buffers.
The important thing is that the arrays are aligned vertically, it goes like: first column, second column etc.
clipx[0], clipx[1], clipy[0], clipy[1] - minimal and maximal coordinates of tiles. For standard 80x25 screen they will be 0, 24, 0, 79. They change when the screen is zoomed or resized.
dimx, dimy - size of view, for example 80, 25. They change when the screen is zoomed or resized.
mouse_x, mouse_y - coordinates of a tile which is currently pointed by the mouse cursor. Their value is FFFFFFFF when mouse is outside view.
I got all these with default values [PRINT_MODE:2D] and [SINGLE_BUFFER:NO].
Edit: Just tried with [PRINT_MODE:ACCUM_BUFFER] and [SINGLE_BUFFER:YES] and all offsets are the same. Even with single buffer the pointers swap between 2 arrays.