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 > any more breakthroughs?
2007-04-30 14:54
Oswald

Registered: Apr 2002
Posts: 5094
any more breakthroughs?

at DEM I wrote:

"We're so close to the limits, that there's no way to make any more breakthroughs."

Cruzer replied:

"So untrue. More like we have become so old and contend with what we have, that no one bothers to try making any more breakthroughs. Actually I think that's not even true. There has been several breakthroughs since DEM."


what do you think?
2007-04-30 15:31
Conrad

Registered: Nov 2006
Posts: 849
It is true that the majority of tricks behind the VIC/CIA chips are now discovered. It's just a matter of "presenting" these tricks in different ways (by graphical design). Noticed how a selection of demos today are more based on storyline nowadays?

At least there is still the passion for already discovered effects, otherwise the c64 scene would of been dead a long time ago.
2007-04-30 15:45
Cruzer

Registered: Dec 2001
Posts: 1048
Define breakthrough :)

Guess if you define it as something as revolutionary as Graham's picture distorter from Parts/Oxyron, which almost made me fell out the window from Raz's 6th floor dorm room, when I first saw it in 1995, then you might be right. There hasn't been anything that impressive since, or before for that matter. But there has been lots of smaller breakthroughs since then IMO, and they continue to this day.

Not just in presenting the same effects in a better way, but actually making them better, and coming up with new effects as well. Maybe not new VIC tricks - but there's a lot more to an actual effect than a VIC trick. There's no VIC chip in a PC, and it's still possible to make new effects there, with the same old gfx modes.

There is an upper limit to what's possible on any computer of course, but who knows how close we are to it? It's not like anyone has tried out every possible 2^$80000 bit combinations of the C64's memory.
2008-10-06 14:39
algorithm

Registered: May 2002
Posts: 705
There have been fairly recent breakthroughs in VIC trickery

41 Char mode
50 Pixel X expanded sprites
9 Sprites in one Line

Perhaps just creating a simple routine which writes random bytes (or read from kernal) and placing them into $d011, sprite registers etc quickly and looping may discover some additional tricks etc. Something such as

sei
ldx #$00
1 lda $e000,x
sta $d016
inx
jmp 1

This would result in some of the side borders opening, some lines fully blanked etc.

2008-10-06 14:50
JackAsser

Registered: Jun 2002
Posts: 2014
I think X'2008 will show us some breakthroughs...
2008-10-06 14:55
doynax
Account closed

Registered: Oct 2004
Posts: 212
There's a great deal of room left in applying well-known techniques to do impressive new things.
No one would seriously argue that game development has gone anywhere near the limits yet. So why not take some of those old hardware hacks and figure out how to apply them in useful ways for games?
2008-10-06 15:26
null
Account closed

Registered: Jun 2006
Posts: 645
Quote: I think X'2008 will show us some breakthroughs...

I'm pretty sure about that actually. Just a feeling, but still...

------------------------------------
http://zomgwtfbbq.info
2008-10-06 16:29
The Human Code Machine

Registered: Sep 2005
Posts: 112
Quote: I think X'2008 will show us some breakthroughs...

Yep, we won't come empty handed...
2008-10-06 16:38
Sander

Registered: Jan 2002
Posts: 496
Quote: Yep, we won't come empty handed...

That is great news :)
2008-10-06 17:05
Archmage

Registered: Aug 2006
Posts: 185
I am confident that the c64 scene will experience a significant breakthrough on the upcoming party.
2008-10-06 17:13
Yazoo

Registered: Nov 2006
Posts: 227
Quote: Yep, we won't come empty handed...

as i expected... when mdg attends a party after so many years i guessed they dont come empty handed. thats really great news.
2008-10-06 17:16
chatGPZ

Registered: Dec 2001
Posts: 11386
you are just speculating for free obstler, admit it! :o)
2008-10-06 22:49
FATFrost
Account closed

Registered: Sep 2003
Posts: 211
dammit! i can't wait to see what happens at x2008!!!
2008-10-07 01:48
Krill

Registered: Apr 2002
Posts: 2980
Yes, i expect great things from X. And yes, there is still room for improvement. Whether that even be a breakthrough or not is a question of definition. In my book, there's still lots to be done on the technical side. (But then there's that degree to be made for me before i can throw in my weight, but just enjoying the show for a while is nice, too. :D)
2008-10-08 15:38
algorithm

Registered: May 2002
Posts: 705
Perhaps the long awaited 'meet crest' with some vic breakthroughs?
2008-10-08 15:56
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Perhaps the long awaited 'meet crest' with some vic breakthroughs?

I bet 5 free X-beers (service included) that it won't happen. :D
2008-10-08 16:26
Oswald

Registered: Apr 2002
Posts: 5094
Quote: I bet 5 free X-beers (service included) that it won't happen. :D

so free beer and blowjobs?
2008-10-08 22:05
Shadow
Account closed

Registered: Apr 2002
Posts: 355
I don't think there are any major hardware tricks to discover, and if there are they are probably of the more esoteric kind that is cool, but doesn't really open up any new possibilties.

I mean for example the 50 pixels wide sprite trick by Crossbow is a seriosuly impressive piece of VIC-trickery, but it won't have much 'breakthrough' in the sense that it will be a much used part of demos compared to older breakthroughs like border opening, FLI, FPP etc. etc.

Perhaps there are more breakthroughs to come on the algorithm side, ie. some new clever way to fill or shade vectors etc.

I think for example the dithervectors in "Natural Wonders" was kind of a breakthrough in that sense.
2008-10-09 10:04
Frantic

Registered: Mar 2003
Posts: 1648
I still think that someone need to invent full screen petscii, with freely usable petscii chars/colors all over the screen... ;)

Yeah!? ;)

No... ok..
2008-10-09 11:29
Cruzer

Registered: Dec 2001
Posts: 1048
Pretty much agree with Shadow. There probably aren't any major VIC tricks to discover, but it's still possible to do something that looks like a new VIC trick, or makes most coders think "WTF" for a while, until they figure it out. There's definitely also a lot to discover in terms of algorithms and optimization, and especially in combinations of VIC tricks and routines that are normally done with software only.

I know this because of my unreleased routines and list of ideas for new effects, where for at least some of them I think I would consider them breakthroughs if I saw them without having coded them myself.

So that's why I disagree that we should be very close to the limits in terms of what effects can be done. Still endless possibilities in making stuff that looks new, even though it uses wellknown VIC tricks, or doesn't even use any at all. The biggest limitation is our imagination, not the hardware.
2008-10-09 13:46
Archmage

Registered: Aug 2006
Posts: 185
Word.
2008-10-09 13:56
Sander

Registered: Jan 2002
Posts: 496
The biggest limitation is our imagination, not the hardware.
That should go on a tile :)
2008-10-13 05:54
majorsky
Account closed

Registered: Jun 2004
Posts: 6
Dear all,

I would like to know, when the following things were first used:
- 41 Char mode
- 50 Pixel X expanded sprites
- 9 Sprites in one Line

I am currently quite interested in the history of VIC coding and the three things mentioned above seem to be the last things, which were invented, am I right?

2008-10-13 07:23
Shadow
Account closed

Registered: Apr 2002
Posts: 355
50 pixel and 9 sprites are both from Krestage 3.
2008-10-13 09:24
Devia

Registered: Oct 2004
Posts: 401
but i't not really 9 sprites in one line, now is it?
2008-10-13 09:42
assiduous
Account closed

Registered: Jun 2007
Posts: 343
it is,the first sprite fetched for the next line is displayed in the right border.
2008-10-13 10:08
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: but i't not really 9 sprites in one line, now is it?

9 sprites in one RASTER line, correct. 8 sprites in one SPRITE fetch line.

About 41 chars, it was SoundDemon who exploited this, but I don't think he was first. Splitting using $d016 is common and have been used frequently to make 'holes' in $3fff-gfx etc. And it's not reallt 41 chars, it's 40 + 7 pixels.
2008-10-13 10:13
Frantic

Registered: Mar 2003
Posts: 1648
I think this collection of info on such stuff needs an update:

http://codebase64.org/doku.php?id=base:demo_world_records_and_w..

Anyone? :)
2008-10-13 11:50
HCL

Registered: Feb 2003
Posts: 728
Yeah, the 41 chars were just bogus. Just holes in the picture :/.
2008-10-15 06:11
majorsky
Account closed

Registered: Jun 2004
Posts: 6
Hi there...

as I wrote above, I was interested in the latest VIC effects. I digged into Krestage 3 a little bit using X64 Debug version and have two questions:

1. I think 50pixel wide sprites are done by manipulating the Multicolor bits of the sprites.
Am I right?
But why does this work? Has anyone found out?

2. At the bottom of the screen it does look like sprite 0 being displayed in the left for one rasterline and then in the right for one rasterline.
Is this the case or is the VIC showing the sprite on both positions in EVERY rasterline because of internal behaviour?

Thanks in advance!
2008-10-15 06:33
Oswald

Registered: Apr 2002
Posts: 5094
#2: the following is just theory I dont know atmo where sprite fetches exactly happen, but the places are hardwired thats sure:

line x+0: vic reads sprite #1 data on right border
line x+1: sprite #1 gets displayed on left border
line x+1: change X coo, and after sprite #1 read on right border you can display it again.

as said visible rasterlines and "sprite raster lines" do not match. sprite fetches for one rasterline happen on the right and left border, on the right of the line to be displayed -1 and on the line to the left.

in ascii art:


0  1  2  3  .... 60 61 62 63
s4 s5 s6 s7          s0 s1 s2 s3


s0-s3 reads are for the next line, s4-s7 for the current
2008-10-15 07:56
majorsky
Account closed

Registered: Jun 2004
Posts: 6
Puhhh... difficult to understand to be honest...
I understand now, how the sprite is displayed twice BUT how can you show different sprite designs on the same line, if there is only one sprite data fetch per line?!

Does anyone have some more info about the 50 pixel wide thing?
2008-10-15 08:11
Oswald

Registered: Apr 2002
Posts: 5094
Quote: Puhhh... difficult to understand to be honest...
I understand now, how the sprite is displayed twice BUT how can you show different sprite designs on the same line, if there is only one sprite data fetch per line?!

Does anyone have some more info about the 50 pixel wide thing?


for the left sprite you use the fetch wich happens on the previous line for sprite #1 ( this is on the previos line on the right) and for the right sprite you use the fetch which happens on the current line.



------------------------------------- spr#1fetch ------------
spr#1show-------------------------- spr#1fetch -- spr#1show



see only one fetch per line.

some1 tell perff for god's sake to use fixed with font inside the code tags :)
2008-10-15 08:20
majorsky
Account closed

Registered: Jun 2004
Posts: 6
OK, so this means, the sprite data can only be changed every second line for both.

Therefore:

---------------------------------- spr#1fetch(a)----------
spr#1show(a)--------------------- spr#1fetch(b)-spr#1show(b)
spr#1show(b)--------------------- spr#1fetch(c)-spr#1show(c)
spr#1show(c)--------------------- spr#1fetch(d)-spr#1show(d)

(x) shows the sprite data, which is fetched and displayed.

But, this scheme would not allow the different shape of SPrite 1 in the left and in the right.

Therefore, to allow something like in Krestage 3, it must be the following:

---------------------------------- spr#1fetch(a)----------
spr#1show(a)--------------------- spr#1fetch(b)-spr#1show(a)
spr#1show(b)--------------------- spr#1fetch(c)-spr#1show(b)
spr#1show(c)--------------------- spr#1fetch(d)-spr#1show(c)

Am I right?
2008-10-15 10:15
assiduous
Account closed

Registered: Jun 2007
Posts: 343
how can you do spr#1show(a) after spr#1fetch(b) ? b would have overwritten a. you cant do spr#1show(b) twice in a row either as sprite shift registers are emptied as a sprite is displayed.

the fetches for sprites 0-2 occur in the line preceding the display,for sprites 3-7 in the same line. it is important to note that the sprites in Krestage3 are displayed EVERY 2ND LINE! so the mechanism is simple: in the raster line preceding the first line when the sprites are displayed the sprite0 is fetched as the leftmost one,then in the line displaying the sprite contents the sprite0 is fetched in the right border and immediately displayed as the magic sprite "#9". as it wouldnt allow to display sprite0 in the next line anymore(the shift register is empty at this point!) the line coming after is blank and sprite0 contents fetched during this blank line account for the leftmost sprite in the next "display-line".

so the correct representation of this phenomenon would look as follows:

---------------------------------- spr#0fetch(a)----------
spr#0show(a)--------------------- spr#0fetch(b)-spr#0show(b)
---------------------------------- spr#0fetch(c)----------
spr#0show(c)--------------------- spr#0fetch(d)-spr#0show(d)

hope this helps
2008-10-15 11:07
majorsky
Account closed

Registered: Jun 2004
Posts: 6
Ok, I already saw, that I was wrong.
Also, I didn't know, that displaying empties the shift registers...

Now, I understand!

Thanks.
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
BYB/Hokuto Force
Chesser/Blazon
Da Snake
Rub_0201
Fred/Channel 4
Paul Bearer
blitzed
DivertigO
t0m3000/hf^boom!^ibx
Guests online: 134
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Webmasters
1 Slaygon  (9.6)
2 Perff  (9.6)
3 Sabbi  (9.5)
4 Morpheus  (9.4)
5 CreaMD  (9.1)

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