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 > Picture without badlines.
2018-02-08 10:15
Golara
Account closed

Registered: Jan 2018
Posts: 212
Picture without badlines.

In the last part of Time Machine by Booze Design HCL says that the picture looks very colorful despite not having any badlines. How is that possible to have pictures without badlines ? Lack of badlines causes FLD effect, right ?
 
... 39 posts hidden. Click here to view all posts....
 
2019-11-13 13:59
JackAsser

Registered: Jun 2002
Posts: 1989
Just take a look at LFT's timing diagram.

In normal display the VIC will go to IDLE after RC=7 so what you wanna do is do bring in into bad line STATE (not trigger an actual badline). This has to be done after cycle 55 and before 58. This will increment RC and make it wrap to 0. During the next raster line the badline condition isn't set anymore and it will simply display the next row of bitmap using the old char data.
2019-11-13 15:11
Oswald

Registered: Apr 2002
Posts: 5017
Quote: Something doesn't quite add up then. If you're getting any kind of badline DMA, colour information should be read and applied. Can you post a binary of your code?

he can have a bad line from some other bank buffered by the VIC forever.
2019-11-13 15:13
Oswald

Registered: Apr 2002
Posts: 5017
btw I have code somewhere to repeat first char row's full 8 lines somewhere,would that be useful ? (not sure if works in bitmap mode) there must be even a topic about it, I asked here a few years ago.
2019-11-13 16:03
JackAsser

Registered: Jun 2002
Posts: 1989
Quote: he can have a bad line from some other bank buffered by the VIC forever.

Indeed, if you constantly avoid the bad line condition the char pointers are the same forever.
2019-11-13 16:13
Golara
Account closed

Registered: Jan 2018
Posts: 212
Quote: In fact, Golara, I was not seeking for extra cycles by removing badlines. My goal is to get rid of screen RAM due to memory constraints, so I can use 1 single VIC bank for 2 bitmaps, without screen RAM. And with the code I posted I succeeded in that. On the practical side, I have half badlines allover the screen.

Oh ok, then it makes some sense.. I actually tried doing it just now and I think it's possible. You need to make a badline condition when RC=7 on cycles 55-58. That will cause the last charline to be repeated. You then need to set the YSCROLL back to some other value... easier to explain in steps, so here's the recipe:

Get at least one badline in a frame to read in one line of chars (even from previous frame)!

Start with Y scroll 0 (badline at line $30, $38 etc..)
IRQ at line $30 + 7
set Y scroll to 7 (make badline) but at cycle 55-58
wait for line 30 + 8 + 1
set Y scroll to 0
IRQ at line $30 + 8 + 7
set y scroll to 7 (make badline) but at cycle 55-58
wait for line 30 + 16 + 1
set Y scroll to 0

see the pattern ? Still, not sure how viable it is, since you need to waste some cycles to stabilize the raster IRQ.
2019-11-13 16:31
Krill

Registered: Apr 2002
Posts: 2839
Quoting Oswald
he can have a bad line from some other bank buffered by the VIC forever.
Quoting JackAsser
Indeed, if you constantly avoid the bad line condition the char pointers are the same forever.
My point was that if there is badline DMA as ready. claims, the buffer (or parts thereof) will get updated pretty much by definition.
2019-11-13 18:17
ready.

Registered: Feb 2003
Posts: 441
well, I posted above the irq code that does it. It lacks of course the rest of the code like stabilized irq and so on. Irq is stabilized via CIA timer, basically CIA timer is the inverted horizontal raster position in terms of O2 cycles. Should you need more I can provide.
2019-11-14 08:56
HCL

Registered: Feb 2003
Posts: 716
The demo you're looking for is Bonanza.

Something that confuses this topic is that there are two different techniques to do pictures without badline, as was the original question:

First LineCrunch, which is used in the demo above, enables you to have open sideborders with up to 7 sprites, but needs to be triggered every rasterline. This effectively *eats* up the image, displaying only line 7 of each char. Thus you can also use it for moving pictures vertically, which is also displayed in the demo above.

Then you have the RepeatingChar, where you need only 2 writes to $d011 for each char-line. Not combinable with open sideborders, but sprites of course. I use this always! ..unless i need more than 4 color.. or i need open sideborder ..or i need more char buffers .. or..
2019-11-14 09:02
Oswald

Registered: Apr 2002
Posts: 5017
so no way to have *any* kind of gfx for a bigger area (stretched or not whatever) and open sideborder and 8 sprites ?
2019-11-14 11:03
HCL

Registered: Feb 2003
Posts: 716
Nope.. 3:rd part of Time Machine is pretty maxed out.. Different colors in each char "column", extended into sideborder using sprites and 12 moving sprites on top.

The last part looks similar, only the graphics is FPD-stretched there. Helluvalot more complicated :P
Previous - 1 | 2 | 3 | 4 | 5 - 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
Scrap/Genesis Project
Menace/Spaceballs
mutetus/Ald ^ Ons
jmin
Guests online: 79
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Newscopy  (9.1)
5 Elwix  (9.1)

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