Small correction: the example of "Mode-7 like effects" in Batman and Robin on the Mega Drive is not done in software (where "software" implies the CPU is drawing the pixels).
The Mega Drive's VDP is capable of both line scrolling and column scrolling, and the effect (commonly called "tilting") is a combination of line and column scrolling.
Tilting can be done via hardware on the VDP quite easily. Both line and column scrolling are easy to set up. One disadvantage is that a background can only be tilted to a certain degree before the illusion is broken (which makes it different from true Mode-7 rotation). Another disadvantage is that there's a bug in the VDP such that when both forms of scrolling are used concurrently, the leftmost column has garbage data. Most developers would hide this column with a black bar (as seen in Batman and Robin).
Some more examples can be seen towards the bottom here:
There's a good video by Coding Secrets covering how this rotation is done on the SEGA Genesis (using a combination of horizontal and vertical scrolling, which sounds like what you're describing): https://www.youtube.com/watch?v=Q5iqSzKYZoQ
great post. That NES was a real masterpiece. I'm wondering how those developers of that time, trying to save each clock cycle, are looking at modern javascript frameworks squeezing a lot cycles to render just one static page probably than the size of the whole Zelda game.
Personally I think a great leap was character / tile based graphics hardware (+ sprites).
Makes a lot of good looking & nice games possible using small sized (video) RAM. And easy to grasp (and thus, make good use of) for programmers.
Hehe... in image below "Pong", I spy a clock oscillator circuit. :-)