1- "reg->contents" simply stands for Loopy_V (sorry about that one).
2- What I meant by updating vertical counters is this: after the PPU renders a scanline, it has to update the fine vertical scroll counter, which is pretty much what controls the Y offset (tileline number) in the tile being rendered. If the PPU doesn't do so the first visible scanline in that frame will be displayed 240 times (240? Some of them are not visible anyways). Once this fine vertical scroll counter reaches its max value (i.e. 7), the vertical tile index counter must be updated. This last counter will be incremented by one, thus causing the first *tile* found on the next row in the current nametable to be rendered (there are some exceptions to this, but you do not have to worry about them for now). The horizontal counters work in a similar manner.