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 > FASTER 3D GRAPHICS
2004-10-26 06:24
Stingray
Account closed

Registered: Feb 2003
Posts: 117
FASTER 3D GRAPHICS

I've heard it said before that the way the VIC chip addresses memory (8x8 cells) makes it slower fo rendering graphics because of the extra calculations needed. So what way would you have had the Commodore engineers design an alternative addressing mode so that 3D graphics could be calculated quicker? I would realy appreciate your ideas on this.
 
... 185 posts hidden. Click here to view all posts....
 
2010-03-07 11:42
Stingray
Account closed

Registered: Feb 2003
Posts: 117
First of all thanks for all the input, the input you guys have made has shaped the direction of this project and given me the inspiration to see this project through to the end.

Quoting PopMilo
I don't remember, is VIC in a socket or soldered ?

The VIC is socketed on every C64 (thank you Commodore), as far as I know anyway. I believe the SID is also socketed on every C64.

Quoting PopMilo
Yes, at least in port of Yoomp from Atari :)

Eor filling doesn't help in that case but repeating lines without cpu time would save thousands of cycles each frame...

I checked out Yoomp, very cool game. Are you going to port it? If you are going to port it I will try and help with the hardware. That game would be great for C64 & with nice SID music.

Quoting Krill
I think what this implies is actually having display lists akin to what's implemented on Atari8. (See http://en.wikipedia.org/wiki/ANTIC)

Quoting Oswald
yes, a display list would be bloody cool.

I have had this in mind for some time, I have been reluctant to include it in the spec for fear of disappointing ppl in the case that I don't not implement it in the end.

I was leaving this as on of those things I could do at the end after having done everything else I have already committed to doing with the project. But when I hear you guys and Krill say stuff like the followingQuoting Krill
Yes, and while we're at it, why not have an easy sideborderless mode where the expansion would flip the $d016 38/40 column bit at the right x positions twice each line automatically? Or the same with $d017 to stretch sprites? Or similar with $d011 for easy FLI/repeated badlines/linecrunching? Oh the possibilities! :)
Really inspires me to make sure I include this kind of thing, in fact I am now thinking I will do it, permitting I have enough real estate in the CPLD and enough time (I have now imposed a Deadline of sorts for this project on myself).

Quoting Martin Piper
I have a suspicion that having a display list writing to VIC registers during bad lines might not be so easy. This is because the VIC is controlling the whole of the memory bus and bandwidth, i.e. both phis, for the period of the bad line fetches. This is why the CPU is paused during a bad line.


You are 100% spot on Martin, while AEC is low, Vic can not be written to.

BTW, Can we call this something other then a Display List? We can come up with a better name then what those Atari guys use can't we? I have never really thought of what I had i mind as a Display List but more of a Direct Loader. Lets say the there are 19656 cycles per screen (the first being at the very start of the first raster). You can say, ok load VIC register $21 with #$01 on cycle 3150 etc.. Keeping in mind two things, that you can not do this on a bad cycle + you can't have 6510 write to VIC at the same time (If both write to VIC at once 6510 will be ignored). You will also gain a few cycles on a badline for Direct Loading as you could still Direct Load while BA is low.

Just to put it a simpler way, you can load any value into any VIC register on any of the 19656 cycles that make up a screen, as long as it's not a badcycle.

It would even be possible to change the background color (or any VIC register) on every cycle!! as long as not on a badcycle. The more I think about the more we need this, in fact I'm kinda thinking now that If I don't include this I am kind of wasting the project.

Is "Direct Loader" a good enough name for this part of the circuit?

Also will this allow PopMilo to port his game? I guess he would use the Direct Loader to FLD??
2010-03-07 11:56
Stingray
Account closed

Registered: Feb 2003
Posts: 117
VIC X (VIC eXpanded / VIC eXtreme): 2 VOTES
BAD VIC : 1 VOTES
Notorious V.I.C : 1 VOTES
Alien VIC : 1 VOTES (My own vote)
VIC ENHANCER : 0 VOTES
VIC UNLEASHED : 0 VOTES
VIC INTERCEPTOR : 0 VOTES
VIC AAA (Awesome Addressing Add-on) : 0 VOTES

VIC-X is winning!

Need a couple more ppl to vote on a name.

BTW, if I am a bit slow at responding for a few days, I'm not being rude, I am just really getting stuck in to this project ;)
2010-03-07 12:27
Graham
Account closed

Registered: Dec 2002
Posts: 990
Atari8 display lists do not have the ability to write to any register. You are mixing up Amiga Copper with A8 display lists.
2010-03-07 12:29
Martin Piper

Registered: Nov 2007
Posts: 634
Quoting stingray
Is "Direct Loader" a good enough name for this part of the circuit?


It is. Or "Copper". :)

I would definitely use the system for everything related to VIC effects. Opening the borders, multiplexing really tight sprite formations, nice expanded graphics screens. Leaving the CPU free to do all the calculation, it would be marvelous.
2010-03-07 12:52
Stingray
Account closed

Registered: Feb 2003
Posts: 117
Quoting Graham
Atari8 display lists do not have the ability to write to any register. You are mixing up Amiga Copper with A8 display lists.


Yep, I probably am. Thanks Graham.
2010-03-07 13:25
Oswald

Registered: Apr 2002
Posts: 5020
"Is "Direct Loader" a good enough name for this part of the circuit?"

yeah, but the data Direct Loader loads I'd still call a display list :) maybe register list, thats a bit closer to whats happening.
2010-03-07 13:37
Graham
Account closed

Registered: Dec 2002
Posts: 990
A display list is just what the name says: a list of modes to display. No registers involved. Some circuit doing register loads is not a display list.
2010-03-07 13:51
Oswald

Registered: Apr 2002
Posts: 5020
graham, for god's sake please stop being mr smartass.

1. nobody said display list can write to video regs
2. it doesnt matter if strictly speaking registers are involved or not what happens is almost the same. (and I suggested register list because in stingray's implementation registers would be involved!)
3. a display list is more than JUST a list of modes. (interrupts, bitmap start addy, blank lines, scrolling)
2010-03-07 14:55
Krill

Registered: Apr 2002
Posts: 2847
While "VIC-X" sounds cool in English, it's definitely got some drawbacks if you understand German. But then there's a classic demo effect called "wanking", too.. :D

"VIC-X" is still the best name so far.. :)
2010-03-07 14:56
PopMilo

Registered: Mar 2004
Posts: 145
Quoting stingray

...Just to put it a simpler way, you can load any value into any VIC register on any of the 19656 cycles that make up a screen, as long as it's not a badcycle...

This sounds like 'keep hardware simple and let the software do all the extra stuff', and I like it :)

This would make sprite multiplexing easy :)

I would only add that if it is possible you should make more registers available for change. For example some kind of relative address offset that would be one byte and would be added to current VIC memory fetch address in every cycle.

Then It would be possible to duplicate lines with only changing that offset once each line - 200 cycles for making Nx100 resolution instead of thousands needed so far...

Wait .... If that register is internal on your device than these kinds of 'internal writes' maybe don't need to take cycles from CPU ?

Any help from hardware will boost any existing 3d project out there and inspire new ideas :)
Previous - 1 | ... | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 - 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
𝘁𝗡𝗚/FairLight
csabanw
Smasher/F4CG
E$G/hOKUtO fOrcE
Andy/AEG
Guests online: 180
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 Memento Mori  (9.6)
10 Bromance  (9.5)
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 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Graphicians
1 Sulevi  (10)
2 Mirage  (9.8)
3 Lobo  (9.7)
4 Mikael  (9.7)
5 Archmage  (9.7)

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