| |
Strepto
Registered: Dec 2015 Posts: 11 |
Kefrens bars
I've been thinking about kefrens bars on the c64.
How do you think it is implemented?
Perhaps using repeated char lines and update the chars using cycle exact timing? |
|
| |
Dano
Registered: Jul 2004 Posts: 234 |
Yes exactly that's how it is done usually.
Having no badlines you have all cycles per line available which is enough to paint one bar per line. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
To be precise, the standard approach is to use linecrunching in char mode.
The last rasterline of a char row is repeated, without badlines.
You then draw over the char patterns right within the raster routine, so make sure you write exclusively before or after the individual chars are displayed.
Bonus points for putting the charset to $0000, so 32 of the 40 char patterns are in zeropage, allowing for wider bars.
Extra bonus points for using sprites at the top and a repeated char row at the bottom (with open Y-border), so you get 216 lines of effect. |
| |
Smasher
Registered: Feb 2003 Posts: 520 |
hey, I'm not a fan of Kefrens bars, but cool to have you back in bizz Strepto! :) |
| |
HCL
Registered: Feb 2003 Posts: 728 |
@Krill: :) |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
repeating last row is now not stretching but linecrunch ?! or that is the same timing that results in bitmap move up ? |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: repeating last row is now not stretching but linecrunch ?! or that is the same timing that results in bitmap move up ?
Linecrunch is what is used for moving the bitmap up, but what really happens is that the last pixel line of a char is displayed only, so you skip the 7 pixel lines, because of that, the next char line is drawn higher than normal, repeat that and you scroll bitmap up. Here the same technique is used but instead of moving bitmap data, the whole screen is just these pixel lines from 7th line of a char and that line is modified to look like kefrens. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
yes I get all that, I was asking why is Krill calling a stretcher linecrunch, probably same routine with different result in different gfxmode. I havent coded linecrunch, but have done kefrens. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting OswaldI was asking why is Krill calling a stretcher linecrunch Mostly because the term "stretcher" is rather ambiguous, as it could be repeated badlines, repeated char rows (without badlines), linecrunching, or something i just forgot. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
linecrunch as I understood it, reduces whole char rows to a single rasterline, what is being stretched ? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Oswaldlinecrunch as I understood it, reduces whole char rows to a single rasterline, what is being stretched ? The same rasterline will be repeated, as there is no DMA (badline) to fetch new char data, and RC will remain at 7. Thus, there is stretching. |
... 12 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 - Next |