| |
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? |
|
... 12 posts hidden. Click here to view all posts.... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
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. |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
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 :) |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
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 |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Golarafor 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"... =) |
| |
Smasher
Registered: Feb 2003 Posts: 520 |
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 :) |
| |
Street Tuff
Registered: Feb 2002 Posts: 88 |
https://bitbucket.org/streetuff/4krawall-final/src/master/kefre.. |
| |
CyberBrain Administrator
Posts: 392 |
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" :)) |
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
Quote: https://bitbucket.org/streetuff/4krawall-final/src/master/kefre..
that pha in the kernel is very sexy. |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting Oswaldthat 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. |
| |
Dano
Registered: Jul 2004 Posts: 234 |
Quote: Quoting Oswaldthat 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 |