Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Turning screen off/on
2015-07-10 18:20
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
2015-07-10 18:35
Mixer

Registered: Apr 2008
Posts: 452
Depends on which of the many possible halves you wish to be visible and which not.
2015-07-10 18:36
T.M.R
Account closed

Registered: Dec 2001
Posts: 749
Quoting The Phantom
Is 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.
2015-07-10 18:47
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
2015-07-10 19:15
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.
2015-07-10 19:19
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"...
2015-07-10 19:48
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?
2015-07-10 20:03
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.
2015-07-10 20:03
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.
2015-07-10 21:24
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.
2015-07-10 22:47
Krill

Registered: Apr 2002
Posts: 2980
Quoting Perplex
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.
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
MWR/Visdom
Guests online: 109
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.6)
5 Facet  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.056 sec.