Loading...
 

RESM0

Reset the horizontal position of Missile 0.

The object will begin its serial graphics at the time of each horizontal line at which the reset write occurred.

RESM0 = $12

Reset Horizontal Position of Missile 0

NameD7D6D5D4D3D2D1D0
$12
RESM0
S T R O B E

Horizontal Position

The horizontal position of each object is set by writing to its’ associated reset register ( RESP0, RESP1, RESM0, RESM1, RESBL ) which are all “strobe” registers (they trigger their function as soon as they are addressed). That causes the object to be positioned wherever the electron bean was in its sweep across the screen when the register was reset. for example, if the electron beam was 60 colour clocks into a scan line when RESP0 was written to, player 0 would be positioned 60 color clocks "in” on the next scan line. Whether or not P0 is actually drawn on the screen is a function of the data in the GRP0 register, but if it were drawn, it would show up at 60. Resets to these registers anywhere during horizontal blanking will position objects at the left edge of the screen (colour clock 0). Since there are 3 colour clocks per machine cycle, and it can take up to 5 machine cycles to write the register, the programmer is confined to positioning the objects at 15 colour clock intervals across the screen. This “course” positioning is “fine tuned” by the Horizontal Motion.

Missile Lock

Missiles have an additional positioning command. Writing a 1 to D1 of the reset missile-to-player register RESMP0, RESMP1 disables that missiles’ graphics (turns it off) and repositions it horizontally to the center of its associated player. Until a 0 is written to the register, the missile's horizontal position is locked to the center of its player in preparation to be fired again.

see TIA