Composite Video to PAL vs NTSC
Has someone out there home-brewed the Propeller chip to send composite video to a PAL-based TV monitor as would be the case in Europe and also here in Australia·?· The HW interface would be the usual 3 bit DAC.·
I am interested to know what parameters TV.spin should be·passed to do this successfully.· It requires passing in a parameter table of 14 longs - one of these contains a mode bit (bit 0 selects NTSC/PAL) and of course the pin group and nibble would also need to be correctly selected but I'm wondering if there is anything else I need be aware of.
I am interested to know what parameters TV.spin should be·passed to do this successfully.· It requires passing in a parameter table of 14 longs - one of these contains a mode bit (bit 0 selects NTSC/PAL) and of course the pin group and nibble would also need to be correctly selected but I'm wondering if there is anything else I need be aware of.

Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
tvparams long 0 'status long 1 'enable long %001_0101 'pins long %0001 'mode long 0 'screen long 0 'colors long x_tiles 'hc long y_tiles 'vc long 10 'hx long 1 'vx long 0 'ho long 0 'vo long 0 'broadcast long 0 'auralcogi've got the mode-long set to 0001, my DVD-Recorder is now able to display the signal (PAL), but the image my TV display is to small. It looks like it is scaled at ~50%.
I tryed to change the hx and vx-params but i got many problems with this.
Can someone help me with this?
thanks very much!
Propwell, if you're using PAL, I usually add 2 to an ntsc's HX value, to get roughly the same size [noparse]:)[/noparse] ie, try using 12 for a PAL hx value [noparse]:D[/noparse]
Hope this helps.
Baggers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
And is this the highes resolution and imagequality i can get for PAL-TV?
do i understand it right: at the %0000 in de DAT-Block, the
first bit is for "chroma" (0/1)
second bit is for "interlace" (0/1)
third bit is for ntsc/pal (0=NTSC, 1=Pal)
and the fourth bit is for "swap" ?
Or did i missunderstand the whole thing?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
%0000 ' mapped to bits %3210
bit 0 = PAL = %0001 /NTSC = %0000
bit 1 = Interlace = %0010 /Non-interlace = %0000
bit 2 = Strip Chroma from broadcase = %0100, / Don't strip Chroma = %0000 ' I've never used this option, [noparse]:D[/noparse]
bit 3 = Strip Chroma from baseband = %1000, / Don't strip Chroma = %0000 ' I've never used this option either [noparse]:)[/noparse]
so for example
NTSC = %0000 + %0000 '( or just simply = %0000 ' or 0 )
PAL = %0001 + %0000 '( or just simply = %0001 ' or 1)
NTSC_with_Interlace = %0000 + %0010 '( or just simply = %0010 ' or 2)
PAL_with_Interlace = %0001 + %0010 '( or just simply = %0011 ' or 3)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
but is there no way to view the Propeller-Image on the whole TV-Screen? At the moment it looks like this (see the attachment)
And thanks a lot for your great help!!!
as for the help, no worries ;D
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
to
to
which is shorter than
[noparse]:)[/noparse]
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
here me actual code:
PUB start | i, j, k, kk, dx, dy, pp, pq, rr, numx, numchr 'start tv longmove(@tv_status, @tvparams, paramcount) tv_screen := @screen tv_colors := @colors tv.start(@tv_status) 'init colors repeat i from 0 to 63 colors[noparse][[/noparse] i ] := $00001010 * (i+4) & $F + $2B060C02 'init tile screen repeat dx from 0 to tv_hc - 1 repeat dy from 0 to tv_vc - 1 screen[noparse][[/noparse]dy * tv_hc + dx] := display_base >> 6 + dy + dx * tv_vc + ((dy & $3F) << 10) 'init bouncing lines i := 1001 j := 123123 k := 8776434 repeat i from 0 to lines - 1 x[noparse][[/noparse] i ] := ?j // 64 y[noparse][[/noparse] i ] := k? // 48 repeat until xs[noparse][[/noparse] i ] := k? ~> 29 repeat until ys[noparse][[/noparse] i ] := ?j ~> 29 'start and setup graphics gr.start gr.setup(x_tiles, y_tiles, x_tiles<<3 , y_tiles<<3 , bitmap_base)DAT tvparams long 0 'status long 1 'enable long %001_0101 'pins long %0001 'mode long 0 'screen long 0 'colors long x_tiles 'hc long y_tiles 'vc long 12 'hx long 1 'vx long 0 'ho long 0 'vo long 0 'broadcast long 0 'auralcoghm but it shifts the colums anyway
as this bit defines the layout of tiles on screen to point to their part of the bitmap
'init tile screen repeat dx from 0 to tv_hc - 1 repeat dy from 0 to tv_vc - 1 screen[noparse][[/noparse]dy * tv_hc + dx] := display_base >> 6 + dy + dx * tv_vc + ((dy & $3F) << 10)▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
Each buffer is now $3740 not $3000, so you want to update _stack. This uses about 28K of ram.
and change bitmap_base and display_base to:
bitmap_base = $1180
display_base = $48C0
tv_vc and tv_hc are set in the longmove. To avoid confusion, I would recommend not using them and use x_tiles and y_tiles.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
http://www.propgfx.co.uk/forum/·home of the PropGFX Lite
·
I understood it like this:
- change bitmap_base and display_base
- do i have to change the stack like this:
and if so, what is the reason for exactly?
I'm really sorry for annoying you with these stupid questions, but i really don't know how to deal with that problem [noparse]:([/noparse]