While toying around with not functioning scroll-enhancing packages and scripts I have seen cases of scrolling down beyond the end of the buffer, but haven't seen scrolling up beyond the top of the buffer.
In order to implement a scrolling behavior which keeps the line with the point stable always in the center of the displayed window it would be necessary to be able to scroll up beyond the first line in the buffer.
Can it be done? And if yes, how?
Update (because of no answers/comments):
In between I mean to have found out that the scrolling behavior is "hard-wired" somewhere in the C-code of Emacs. So the question comes down to the question where exactly can I find the appropriate C-code sections to investigate the difference between the code for scrolling up and scrolling down?
Update (considering the comments):
Digging in the C-code of Emacs graphics engine
xdisp.c is the wrong way of approaching the goal of scrolling up beyond the top line while keeping the point at the center line, not only because it would require to get familiar with around 40 thousand lines of C-code, but because there exist another approach (using overlays to create a margin above the first line of text in the buffer).