| |
The Phantom
Registered: Jan 2004 Posts: 360 |
Turning screen off/on
Hey all...
Here I am with another perplexing question. Well, for me anyway.
I've been experimenting with code stuffs while having the screen turned off and am impressed with the results.
I was in deep conversation with Elwix last night, talking about this and he thinks it can be done. I myself, could not figure it out. So I'll ask the question, regardless of how it will make me look.
Is it possible to turn off say, HALF the screen while having graphics displayed on the other half?
I'm not looking for code, I just want to know if it is possible, and if you have done it, how difficult it was (if at all).
Thanks for taking the time to read this :D |
|
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Depends on which of the many possible halves you wish to be visible and which not. |
| |
T.M.R Account closed
Registered: Dec 2001 Posts: 749 |
Quoting The PhantomIs it possible to turn off say, HALF the screen while having graphics displayed on the other half?
No, the VIC-II won't let you mix and match like that. |
| |
algorithm
Registered: May 2002 Posts: 705 |
Just fake a blank screen area :-) alternatively you can use a similar method as in removing side borders. Which makes that whole line equivelant to d020. But need to do this every line with precise timing obviously |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Using d011 with a simple raster split won't cut it. Turning off the screen normally is done to remove bad lines and get more performance / more stable timing (as in digi playback). You can semi-turn of the screen by altering $d011 every 7th scan line to prevent bad lines from occur. This is essentially a variant of a trick called FLD. |
| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
You can turn on/off ALL screen area, setting (or clearing) the DEN bit of $D011 during an arbitrary cycle of raster line $30.
This work only for ALL screen area.
As stated by Algorithm, you can do just the opposite of the "open side border" trick, closing it for all screen lenght...
Badlines still where they are.
I suppose that "the thing that amazes you" is the fact that, with screen "turned off", no badlines are active, so you have more (cpu) time to "do things"... |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
inverse of sideborder removing logically shouldnt happen, hence there is side and middle border unit, right? any explanation on it ? trick shoud be done on the left border? |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: inverse of sideborder removing logically shouldnt happen, hence there is side and middle border unit, right? any explanation on it ? trick shoud be done on the left border?
It's completely logical. Just change the 38/40 column bit so the left side compare to stop rendering the border misses. |
| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
Quote: inverse of sideborder removing logically shouldnt happen, hence there is side and middle border unit, right? any explanation on it ? trick shoud be done on the left border?
Vic "turn on" border on cycle 56 and "turn off" border in cycle 17 of the next line.
Doing "the trick" here should keep border closed. |
| |
Perplex
Registered: Feb 2009 Posts: 255 |
Using the trick Jackasser mentioned you can also display a fullscreen hires bitmap image without badlines, though with the limitation that colours will be the same for each row. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting PerplexUsing the trick Jackasser mentioned you can also display a fullscreen hires bitmap image without badlines, though with the limitation that colours will be the same for each row. Hmm, it's different, i think. Jackasser's approach is moving the screen out of the way by setting YSCROLL in $d011 as rarely as possible, which is once for 7 raster lines. But your suggestion is a variant of line-crunching, which is setting $d011 every line, beginning in the last raster line of a char row.
The Phantom: What is it that you want to achieve? Generally Jackasser's suggestion is the easiest way to get rid of badlines in an arbitrary screen area while displaying graphics data in the remainder. There's also a way to turn off all badlines and thus graphics rendering with just a few writes to $d011 once a frame, so you can display sprites without badline interference. |
... 8 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |