| |
Conrad
Registered: Nov 2006 Posts: 839 |
Working with bad lines
hi.
Could someone help me with how to detect the bad lines properly and how to avoid them for raster based routines such as side borders. Would adjusting $d011 at each bad line be the best way? |
|
| |
Style
Registered: Jun 2004 Posts: 498 |
Badlines occur anywhere between raster line $30 and $f9 (from memory) where SCROLY (ie the lower 3 bits of $d011) match the lower 3 bits of $d012.
Yes, you can avoid them by never allowing SCROLY to equal the lower 3 bits of $d012. However, this will FLD the screen downwards so you wont be able to have anything on screen except sprites.
|
| |
Oswald
Registered: Apr 2002 Posts: 5034 |
I think there's no such easy solution u want to get. |
| |
Ninja
Registered: Jan 2002 Posts: 408 |
Maybe this thread can help you, too?
Screen with no Badlines |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
You can still open the side borders on a badline, however you can't have more than 6 sprites on that line. No need to remove the badlines just to open the sideborder, unless you need those last two sprites. |
| |
HCL
Registered: Feb 2003 Posts: 719 |
@radiantx: Hmm, here at my place 4 sprites is maximum if you want open sideborder on a normal badline.. Also you can not use *any* 4 sprites, but only the 4 lowest priority (d015 = $f0). |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
HCL: Really? I had a chat with Clarence about this some half a year ago, and IIRC he claimed six was the maximum, but I may be mixing things up. (Upd.: Most probably, as a more in-depth look at the timing charts reveal 4 is the maximum, and Clarence would know about these things.) |
| |
Oswald
Registered: Apr 2002 Posts: 5034 |
is it so hard to admit your mistake, was it nessesary to point a finger at Clarence ? |
| |
Conrad
Registered: Nov 2006 Posts: 839 |
HCL is right, you have to have the last 4 ($f0) sprites switched on for sideborder WITHOUT FLD (so you can make those nice sideborder DYCPs/pics/plasmas etc) and for side border with FLD (the 1001 crew way :) you have to have all 8 sprites switched on for it to work. I've never seen a demo with sideborder using SIX sprites before. |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Oswald: "I may be mixing things up" + "Most probably" = point a finger at Clarence? |
| |
Scout
Registered: Dec 2002 Posts: 1568 |
Quote: Oswald: "I may be mixing things up" + "Most probably" = point a finger at Clarence?
It's just a baaaad case of
![](http://img267.imageshack.us/img267/9292/osnr8.png)
---
8Bit Mayhem - The C64 Scenemusic Podcast
http://8bitmayhem.untergrund.net |
| |
Danzig
Registered: Jun 2002 Posts: 431 |
@crd: not exactly true iirc... you can use any 4 sprites but NOT sprite0 (f.e. $d015=$1e). and it is NOT necessary to use all 8 sprites for "escos"-like spriteroutines but makes sense ;)
and maybe you should f.e. take a look at this:
Spritemania
count the sprites and you will get 7 :D but ofcourse this is the good old "anti-badline" trick f.e. vision/crest used for his sideborder-dycp over sideborder-logo...
|
| |
tlr
Registered: Sep 2003 Posts: 1737 |
Exilon/MDT used that trick in Bonanza aswell. |
| |
Danzig
Registered: Jun 2002 Posts: 431 |
@tlr: not the same, this one is "just" opening the sideborder in the linecrunching-routine... it's NOT displaying any grafik in that area (bit 4,5 & 6 set in $d011)... that lc-sb-effect was done dozens of times (f.e. censor wonderland) |
| |
tlr
Registered: Sep 2003 Posts: 1737 |
Quote: @tlr: not the same, this one is "just" opening the sideborder in the linecrunching-routine... it's NOT displaying any grafik in that area (bit 4,5 & 6 set in $d011)... that lc-sb-effect was done dozens of times (f.e. censor wonderland)
Wrong part. I mean in the one with the Tetris picture with sprite scroller over.
I think it was 7 sprites but maybe it's fewer, I don't remember exactly.
EDIT: just checked, it is 7 sprites (part 2). It has some bugs, but it is that same technique.
I guess he wanted to get it released before anyone else did it. :)
|
| |
Codey
Registered: Oct 2005 Posts: 79 |
Quote: HCL is right, you have to have the last 4 ($f0) sprites switched on for sideborder WITHOUT FLD (so you can make those nice sideborder DYCPs/pics/plasmas etc) and for side border with FLD (the 1001 crew way :) you have to have all 8 sprites switched on for it to work. I've never seen a demo with sideborder using SIX sprites before.
when i first saw escos i was absolutely baffled. i never knew they used fld to make the timing so simple. makes sense now. |
| |
MagerValp
Registered: Dec 2001 Posts: 1060 |
Escos uses the escos trick, not FLD. With a little $d011 twiddling, you get open top/bottom borders, open screen, but no badlines (and no char/bitmap gfx) and sprites visible. All you need then is $d016 on every line for the sideborder, and a simple plex.
|
| |
JackAsser
Registered: Jun 2002 Posts: 1997 |
Yes, escos simply open the top/bottom border and at the same time disable the display => all the screen becomes top/bottom border which you open, so you get classic $3fff everywhere + sprites visible. There is a thread about this aswell FYI. |
| |
Conrad
Registered: Nov 2006 Posts: 839 |
Ah... NOW I see how it works... I just didn't know what ESCOS actually was until now! It's pretty obvious! Oh how ashamed I am with what I discussed!! =(
Anyway, I've managed to work out how side border routines work now, so thanks very much for your advices! :) |
| |
Copyfault
Registered: Dec 2001 Posts: 467 |
@JA: it's the thread about a "screen with no badline"; ninja already pointed to it here in this thread.
@HCL: hmm, counting cycles gives me four and a half sprites ;p
CF |
| |
Oswald
Registered: Apr 2002 Posts: 5034 |
copy, including the cycles needed for the code ? |
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
@Danzig: Nopes, you can not use any sprites. Sprites 2,3,5,7 for example will not allow open sideborder on badlines. |
| |
Danzig
Registered: Jun 2002 Posts: 431 |
@graham: i ment "in a row" but since if haven't ever tested it all maybe i'm wrong. just can remember using 1-4 and 4-7 but it's all sooo long ago |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Blocking thos badlines is oldschool stuf ;-)
![](http://whoahdude.com/redbrand/phun/badlines01.jpg) |
| |
Oswald
Registered: Apr 2002 Posts: 5034 |
LOL :D |