Jaguar Video and Clock Speeds The video system of Jaguar is programmable to within the precision of the supplied video clock. In the Jaguar game console the video clock is chosen to allow an inexpensive modulator system. In the interest of saving money the processor clock speed is the same as the video clock speed. This requires a slightly different clock speed for NTSC and PAL system. These numbers are as follows (Please note, more digits will be available later but these will probably not change.): PAL 26.594 MHz NTSC 26.591 MHz From this video clock the system then produces the pixel (or dot) clock. The ratio between video and pixel clock is determined by high order bits of the VMODE register. The possible values for the ratio are in the range 1-8. The attached spread sheet contains the number of pixels that will fit within two different sized areas of a video screen. The numbers are the same for NTSC and PAL. For both PAL and NTSC the "safe" video area is about 40 us wide. The area required to guarantee overscan is about 50 us. The spreadsheet gives the number of pixels that can be displayed within these times for all available pixel clock dividers. Note that these numbers are not integers. The numbers are also not even "nice" computer numbers like 320 or 256. We recommend that ALL software for the Jaguar console overscan both vertically and horizontally so for the rest of this discussion we will restrict ourselves to the OVERSCAN column. The first row (divisor of 1) requires that the object processor be started twice each line and produces a ridiculous resolution for a TV, it will be ignored. The rest of the rows are all usable but two of them are special. A divisor of three gives a non overscanned resolution of about 320. This is a good match for many computer systems. A divisor of four gives pixels that are about square. Square pixels are a great advantage for art creation and we recommend their use. Let's look at the specific case of an overscanned game using square pixels. This uses a pixel divisor of 4. In both NTSC and PAL this allows for about 332 pixels to be displayed. Choosing 320 gives us a <4% error. Of these 320 pixels we should only count on the middle 266 being visible at all times. This means that there is a border of 27 pixels on each side that are drawn but should not contain essential game information. The other pixel clock divisors that are of likely interest are 3 and 5. In both of these cases the number of overscanned pixels is usably close to a blittable width: 448 for a divisor of 3 and 256 for a divisor of 5. Note: The number to use as display width in VIDINIT is the one for a divisor of 1. Use 1330 for an overscanned display. To overscan vertically we suggest a screen height of 240 lines for NTSC and 288 PAL. This will alow for both PAL and NTSC users to see a fully overscanned image both vertically and horizontally. The guaranteed visible region within which crucial game information is restricted is 200 lines for NTSC and 240 lines for PAL. Using 200 lines of critical video for both systems is a significant, and acceptable, simplification. Pixel Divisor Not Overscan Overscan 1 1063.6 1329.5 2 531.8 664.8 3 354.5 443.2 4 265.9 332.4 5 212.7 265.9 6 177.3 221.6 7 151.9 189.9 8 132.9 166.2 The End. ;========================================================================================================= The following is an example of equates we use to set up our video: ;*********** VIDEO *********************************************** vclk equ 376 horiz_per equ 317778 sync_per equ 46050 eq_per equ 23500 front_porch equ 17450 line_blank equ 109500 disp_width equ 1347 ;(pixel width + 1) * 3 disp_height equ 240 ;this is in lines ; Horizontal computations n_hp equ horiz_per/vclk n_hbb equ ((horiz_per-sync_per-front_porch)/vclk)+$400 n_hbe equ (line_blank-sync_per-front_porch)/vclk n_hs equ ((horiz_per-sync_per)/vclk)+$400 n_hvs equ (horiz_per-(2*sync_per))/vclk n_heq equ (horiz_per-eq_per)/vclk n_hde equ ((disp_width/2)-1)+$400 n_hdb1 equ ((n_hp)-(disp_width/2)) n_hdb2 equ n_hdb1 n_vp equ 523 n_vee equ 6 n_vbe equ 40 n_vdb equ n_vbe-2 ;n_vbe+4 n_vde equ n_vdb+(disp_height*2) n_vbb equ n_vde n_vs equ n_vp-10 n_veb equ n_vs-n_vee SCRN_TOP equ n_vdb ;ypos of first line at top of screen SCRN_BOTTOM equ n_vde ;xpos of first line below screen SCRN_RIGHT equ 448 ;xpos of first column off right side of screen ;*******************************************************************