Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Claustro ! (Registered 2019-12-10) You are not logged in 
CSDb User Forums


Forums > C64 Coding > Kefrens bars
2019-11-27 08:35
Strepto

Registered: Dec 2015
Posts: 4
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?
 
... 12 posts hidden. Click here to view all posts....
 
2019-11-28 00:10
JackAsser

Registered: Jun 2002
Posts: 1556
Quote: linecrunch crunches lines (char rows) down to a single rasterline, and this is used to move the screen upwards, so there should be badlines and not the same single rasterline displayed but in each rasterline a new char row in 1 pixel high glory ?

A DMA fetch != VC->VCBASE

With line crunch you avoid bad line condition by setting $d011&7 != $d017&7, then at cycle 59 you trigger bad line condition to avoid entering IDLE, then repeat. So basically you trick the VIC-chip into badline condition, but at the same time avoid the actual DMA.
2019-11-28 14:27
Oswald

Registered: Apr 2002
Posts: 4487
okay, some old c= hacking described it as really crunching down rows, and as I only ever used it for stretching (without knowing its the linecrunch effect) and not for moving screen, I didnt realize its really stretching. thanks :)
2019-11-28 16:25
Golara

Registered: Jan 2018
Posts: 168
Quote: okay, some old c= hacking described it as really crunching down rows, and as I only ever used it for stretching (without knowing its the linecrunch effect) and not for moving screen, I didnt realize its really stretching. thanks :)

Yeah, C64 names are weird, some refer to the visible effect (you can do 'FLD' in software I guess, just copy graphics down) others to the actual technique. Also using word "line" as in charline, "pixel" as actual one raster line... I always found "Different Y char position" so weird. It sounds awkward, but it's exactly what it is.

It's even better when you hear some scener and not just read it, cuz I pronouce all kids of stuff differently, for example FLI as just FLEE and not EF EL AY or DYSP as.. well, DYSP not DEE UAJ ES PEE
2019-11-28 17:43
Krill

Registered: Apr 2002
Posts: 1308
Quoting Golara
for example FLI as just FLEE and not EF EL AY or DYSP as.. well, DYSP not DEE UAJ ES PEE
As long as you don't pronounce "char" like "car"... =)
2019-11-28 18:31
ZeSmasher

Registered: Feb 2003
Posts: 367
Quote:
It's even better when you hear some scener and not just read it, cuz I pronouce all kids of stuff differently, for example FLI as just FLEE and not EF EL AY or DYSP as.. well, DYSP not DEE UAJ ES PEE


hehe lol. not only routine acronyms, my head automagically translates all your handles/groups in a very Italian way. so I'm in "effequattrocigi" while "milleunocriu'" were first in opening the sideborder. and poor "federation against copyright" sounded like "f**k" :)
I remember the good old days chatting with sceners over PSTN... if you called you needed minimum 10 minutes to make me understand who you were. ehm, sorry for that :)
2019-11-28 21:05
Street Tuff

Registered: Feb 2002
Posts: 57
https://bitbucket.org/streetuff/4krawall-final/src/master/kefre..
2019-11-29 00:18
CyberBrain
Administrator

Posts: 377
I included the source code in the zip-file for Kefrens Without For, if you want to have some example code to look at.
("igenigen code" means "againagain code" which means "speedcode" :))
2019-11-29 10:19
Oswald

Registered: Apr 2002
Posts: 4487
Quote: https://bitbucket.org/streetuff/4krawall-final/src/master/kefre..

that pha in the kernel is very sexy.
2019-11-29 12:33
Krill

Registered: Apr 2002
Posts: 1308
Quoting Oswald
that pha in the kernel is very sexy.
Both of them are! =)

In my contribution to Singles Collection Volume 2 *, i used chained rts to go from one bar-drawing snippet to the next. Saves a lot of table-lookup overhead and allows for immediate mask and pattern arguments. There's some trickery going on to have more than 128 return addresses on the stack (as there are 216 rather wide bars).

* You can load and run file "06*" directly, and do use x64sc (not x64) if you must resort to an emulator.
2019-11-29 13:31
dano

Registered: Jul 2004
Posts: 177
Quote: Quoting Oswald
that pha in the kernel is very sexy.
Both of them are! =)

In my contribution to Singles Collection Volume 2 *, i used chained rts to go from one bar-drawing snippet to the next. Saves a lot of table-lookup overhead and allows for immediate mask and pattern arguments. There's some trickery going on to have more than 128 return addresses on the stack (as there are 216 rather wide bars).

* You can load and run file "06*" directly, and do use x64sc (not x64) if you must resort to an emulator.


like i told you on BCC this is about as clever, tricky and beautiful as it can get. some hardcore adress brainfuck with that stack-split. :) was fun to analyse how you got this done. HCL and i took a somewhat easier approach though.
Previous - 1 | 2 | 3 - 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
csabanw
Guests online: 36
Top Demos
1 Uncensored  (9.7)
2 Unboxed  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.7)
5 Comaland 100%  (9.6)
6 Lunatico  (9.6)
7 The Shores of Reflec..  (9.5)
8 Rivalry  (9.5)
9 C=Bit 18  (9.5)
10 X Marks the Spot  (9.5)
Top onefile Demos
1 Instinct  (9.6)
2 Crystal Gazer  (9.6)
3 Dawnfall V1.1  (9.5)
4 Smile to the Sky  (9.5)
5 The Tuneful Eight [u..  (9.5)
6 Field Sort  (9.5)
7 Space Demo  (9.5)
8 The Tuneful Eight (U..  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Innervasion  (9.5)
Top Groups
1 Oxyron  (9.4)
2 PriorArt  (9.4)
3 Fossil  (9.4)
4 Booze Design  (9.4)
5 Censor Design  (9.4)
Top Swappers
1 Derbyshire Ram  (10)
2 Splatterhead  (9.8)
3 Zyron  (9.8)
4 Jerry  (9.8)
5 Walker  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2019
Page generated in: 0.047 sec.