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....
 
2005-07-26 10:21
Oswald

Registered: Apr 2002
Posts: 5026
stingray: yes eor fill works that way, kewl solution :)
2005-07-26 10:37
Stingray
Account closed

Registered: Feb 2003
Posts: 117
awsome, thanks.
2005-07-26 10:38
Stingray
Account closed

Registered: Feb 2003
Posts: 117
Quote: it would have been nice to have line drawing, segment fill...

on the fly eor fill is hardcore :) wont it steal cycles from the cpu ? I mean if the cct fills the screen at each refresh, it would be nice if it wont steal each time cycles. If the case is so I would vote for only once fill in memory, then it wont again steal cycles in each frame. (leaving more time for the cpu to calc the next frame)

it would be also nice to have more than 2 buffers. guess its not much extra work to make it able to use all possible bitmap location.


Good point about the buffers. With the addressing hardware for the column formatting the lower 8 bits give the row location (0-199) the next 6 bits give the column (0-39) leaving two bits. So thatÂ’s four buffers for the column formatted screen (one in each bank). Well at least that is what I though until I started designing that part of the cct. The VIC sees the character rom In banks 0 & 2 which means my cct does as well. So that kills two of the buffers. You can still display the buffer but 16 of you columns will be character ROM :(

There are a couple of ways around this.

#1, add some logic between the PLA and the ram/rom control lines (at least I think that would fix it) but that could get very messy.

#2, Use 64k ram on the cct. Much simpler (this wouldn't add 64k to your C64, it would just reflect what is already in the 64's RAM). This would also make the cct a little more expensive.

If the extra work can be justified by the advantages I might consider doing it. I guess It all depends on how beneficial having the two extra buffers would be.

Oh yeh, and the EOR on the fly has no cpu overhead.
2005-07-26 10:59
Oswald

Registered: Apr 2002
Posts: 5026
leave the char rom stuff as it is. 2 visible buffers (excluding where char rom comes in) / vic bank is ok.

I thought only 2 fixed buffer is possible / whole 64k. That would be not good when it comes to designing memory usage.

btw, attribute memory reading (0400/d800) will be compatible?
2005-07-26 11:12
Stingray
Account closed

Registered: Feb 2003
Posts: 117
It is only two usable buffers for the entire 64k (one at 16k - 26k and one at 48K - 58k each taking up 10k instead of the normal 8k).

Hey, could you explain your question about "attribute memory reading" a bit more, I don't really understand what you mean but it sounds importaint.
2005-07-26 14:01
Oswald

Registered: Apr 2002
Posts: 5026
I mean that if you will translate the adresses when the vic wants to read color info from screen memory or d800.

btw would it be too big problem to use really onle 200 byte columns ? so more buffers would fit.

and if we stay with 256, it would be nice to be able to set where the 200 lines in that 256 starts, how about a wrap around system, so an offset 0-255 is definable into each 256 byte column ?
2005-07-27 16:56
A Life in Hell
Account closed

Registered: May 2002
Posts: 204
Quote: I mean that if you will translate the adresses when the vic wants to read color info from screen memory or d800.

btw would it be too big problem to use really onle 200 byte columns ? so more buffers would fit.

and if we stay with 256, it would be nice to be able to set where the 200 lines in that 256 starts, how about a wrap around system, so an offset 0-255 is definable into each 256 byte column ?


isn't $d800 actually physically inside the vic? that is to say, if you were going to translate accesses to that, wouldn't you need to translate them as cpuwrite->vic rather than vic->memread like the otherstuff?

just a thought that is probably embarrassingly wrong :)
2005-07-27 19:21
Oswald

Registered: Apr 2002
Posts: 5026
you're a bit right, prolly stringray wont translate d800 adresses, since those are done on a BUS dedicated to the vic. This means vic doesnt needs extra cycles to read d800, as it has an own bus to it.
2005-07-27 20:46
Graham
Account closed

Registered: Dec 2002
Posts: 990
There is only one bus to the VIC with 14 adress pins and 12 data pins.
2005-07-27 22:15
Oswald

Registered: Apr 2002
Posts: 5026
explain why it does not need extra cycles to read d800 ?
Previous - 1 | ... | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ... | 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
tlr
The Human Co../Maste..
Stratford/Xenon
iceout/Avatar/HF
Guests online: 84
Top Demos
1 Next Level  (9.8)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 No Bounds  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 Layers  (9.7)
2 It's More Fun to Com..  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Rainbow Connection  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Booze Design  (9.3)
3 Censor Design  (9.3)
4 Crest  (9.3)
5 Performers  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Elwix  (9.1)
5 A Life in Hell  (9.1)

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