PAL60 mode on the propeller
Wuerfel_21
Posts: 5,053
Have you heard about PAL60? It is the weird hybrid of PAL and NTSC that was/is used by some DVD players and many game consoles to display 60 or 30 FPS content (practically anything produced for TV display in the USA and Japan, basically) in PAL regions: It has the same frame/line timing as NTSC, but the color coding is like it is in PAL. This makes most TVs that can only display NTSC in grayscale display a color image at 60Hz. (infact, the color resolution is actually higher than NTSC's). Now I'm trying to get it working on the Prop. (specifically, i'm trying it with my work-in-progress driver (stay tuned on this one, i think it might turn out to be one of the best for a single prop), which is based on the Ranquest driver, which is in turn based on TV.spin. NTSC and regular ol' 50hz PAL work fine). Now to achieve this, I needed to change both the CONstants at the top of the object (fpal, lpal and spal) as well as the table near the end of the DAT section (which makes use of the constants). After fiddling around a bunch, i came up with these values that should work with anything derived from TV.spin:
Does anyone have a digital (i.e. flatscreen/HD) TV to test this on? (all my TVs seem to be around the same age or older than myself, what a nerd I am)
EDIT: Also, you'll want to increase the hx (clocks per pixel) value of the TV parameters by about 20% to fill the screen horizontally.
CON fntsc = 3_579_545 'NTSC color frequency lntsc = 3640 'NTSC color cycles per line * 16 sntsc = 624 'NTSC color cycles per sync * 16 fpal = 4_433_618 'PAL color frequency lpal = {4540}4508 'PAL color cycles per line * 16 spal = {848}773 'PAL color cycles per sync * 16 DAT ' ' ' NTSC/PAL metrics tables ' ntsc pal ' ---------------------------------------------- wtab word lntsc - sntsc, lpal - spal 'hvis word lntsc / 2 - sntsc, lpal / 2 - spal 'hrest word lntsc / 2, lpal / 2 'hhalf word 243, 243{286} 'vvis word 10, 10{18} 'vinv word 6, 5{5} 'vrep word $02_8A, $02_AA 'burst wtabx ltab long fntsc 'fcolor long fpal long sntsc >> 4 << 12 + sntsc 'sync_scale1 long spal >> 4 << 12 + spal long 67 << 12 + lntsc / 2 - sntsc 'sync_scale2 long 79 << 12 + lpal / 2 - spal long %0101_00000000_01_10101010101010_0101 'sync_normal long %010101_00000000_01_101010101010_0101This is prob. far from standard-compliant, but it works with both TVs i tried, one that supports both NTSC and PAL and a PAL-only one. I find it odd that vrep needs to be 5 for PAL, otherwise it won't sync correctly....
Does anyone have a digital (i.e. flatscreen/HD) TV to test this on? (all my TVs seem to be around the same age or older than myself, what a nerd I am)
EDIT: Also, you'll want to increase the hx (clocks per pixel) value of the TV parameters by about 20% to fill the screen horizontally.