An elementary question, but I can't seem to find an answer in the wiki or elsewhere online.
I understand how sprite 0 works and why it is used. Visually, I've seen how it is used in both Super Mario Bros. and Gyromite. But I don't understand what it is. In both of the above cases, the sprite used as sprite 0 is located at position $FF in the sprite table (unless I'm mistaken). So, is sprite 0 assigned by the programmer or is it always a given sprite located at a certain position in the sprite table? Is it called sprite 0 simply due to its display order priority?
My reason for asking: I was reading about R.O.B.'s behavior / interaction with Gyromite in this thread on AtariAge. Apparently, there's a check for sprite 0 prior to the screen flashing green and black (which triggers the robot's movements). I'm wondering why this technique was used. Seems sort of atypical, since there's no status bar split necessary.
I understand how sprite 0 works and why it is used. Visually, I've seen how it is used in both Super Mario Bros. and Gyromite. But I don't understand what it is. In both of the above cases, the sprite used as sprite 0 is located at position $FF in the sprite table (unless I'm mistaken). So, is sprite 0 assigned by the programmer or is it always a given sprite located at a certain position in the sprite table? Is it called sprite 0 simply due to its display order priority?
My reason for asking: I was reading about R.O.B.'s behavior / interaction with Gyromite in this thread on AtariAge. Apparently, there's a check for sprite 0 prior to the screen flashing green and black (which triggers the robot's movements). I'm wondering why this technique was used. Seems sort of atypical, since there's no status bar split necessary.