Changes

CRTC

138 bytes added, Saturday at 09:50
/* CRTC counter differences */
== CRTC counter differences ==
 
=== MA buffering ===
 
At the end of the display of the last raster line of each character line (ie. when HCC=R1 and VLC=R9), MA' captures the current value of MA.
 
CRTC 2 is the exception, where MA' capture R12/R13 instead of MA at the last line of the frame.
=== MA reload ===
R12On CRTCs 0/R13 is loaded only once per frame, in MA and MA'3/4, at the first raster line start of the frame. The counter , MA is then reloaded with the value of MA' at each raster line start. And at the end of the display of the last raster line of each character line (ie. when HCC = R1 and VLC = R9), MA' captures the current value of MAare loaded with R12/R13.
The exception is the On CRTC 1 for which MA is reloaded 2, at each the first raster line start with R12/R13 instead of the frame, MA is loaded with MA' as long as VCC=0for all the raster line start of the frame.
This On CRTC 1, on every raster line of the first character line of the frame (ie. when VCC=0), MA is reloaded with R12/R13 instead of MA'. This discrepancy a major source of incompatibility if the programmer does not take care of this discrepancy. In demos and games, to make a display be compatible with all CRTCsCRTC 1, program R12/R13 when VCC!=0. This will then take effect at the next frame start.
<br>
6,052
edits