Understanding TV.SPIN Initialization
I have only just started examining Graphics.Spin and how it initializes the TV.Spin object.
For the question, the following is excerpted from Graphics.Spin.
Why is the longmove necessary?
Shouldn't you be able to pass the address of tvparms in the DAT section, as in "tv.start(@tvparms)" ?
Lucidman
·
For the question, the following is excerpted from Graphics.Spin.
long tv_status '0/1/2 = off/visible/invisible read-only
long tv_enable '0/? = off/on write-only
long tv_pins '%ppmmm = pins write-only
...
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)
...
DAT
tvparams long 0 'status
long 1 'enable
long %001_0101 'pins
long %0000 'mode
Why is the longmove necessary?
Shouldn't you be able to pass the address of tvparms in the DAT section, as in "tv.start(@tvparms)" ?
Lucidman
·

Comments
Graphics.Spin could have two tv objects like the following...
·...right?
But each would need separate control blocks ... right?
What is keeping you from setting up two control blocks in the DAT section and not use up space in the VAR section?
Lucidman
·
Thanks for your patient answers.
Lucidman
I really do not know what I should admire more: Mike's patience, or his knowledge and experience....
Admire them equally as he is a true Gem.