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-02 18:18
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: ok, so a second set of 40 registers that can be used on every second row would do the trick?

Can you give simple explanation of dithering to me?

I can see the visual effect in the Demo, looks like you get diffrent shades, but how does it do that?


Yeps, a second set of registers for the odd rows would do the trick indeed.

Normal eor filling:

Line buffer:
11100000
00011100
00000011
00000000
00000000
00000000
00000000
00000000

After eor-filling:
11100000
11111100
11111111
11111111
11111111
11111111
11111111
11111111

Dither eor-filling, line buffer (2x thick lines, odd/even with 50% checker pattern):
10100000
01010100
00001010
00000001
00000000
00000000
00000000
00000000

Eor-Filling, even lines:
10100000
01010100
10101010
00000001
10101010
00000000
10101010
00000000

Eor-filling, odd lines also:
10100000
01010100
10101010
01010101
10101010
01010101
10101010
01010101
2010-03-02 19:07
PopMilo

Registered: Mar 2004
Posts: 146
@stingray: How hard would it be to implement graphic mode that would do something like 'repeat whole line N times' ?
To make 160x100, or 80x50 possible in pure hardware (no double STA's, and no cpu cycle steeling, and less memory needed).

I guess you can trick VIC to take data from same memory as last line?

It would be usefull for 3d...
2010-03-04 03:20
Stingray
Account closed

Registered: Feb 2003
Posts: 117
PopMilo,
It would be possible, would you really want to use the low res mode though?
2010-03-04 03:25
Stingray
Account closed

Registered: Feb 2003
Posts: 117
Quoting JackAsser
Yeps, a second set of registers for the odd rows would do the trick indeed.

So if I include the extra circuitry will you make your portal engine more awesome for it?

BTW Any chance of getting a bigger 3D area? that would be a cool Doom maze :)
2010-03-04 03:41
Stingray
Account closed

Registered: Feb 2003
Posts: 117
BTW, we really need a name for this project.

Ideas so far:

VIC X (for VIC eXpanded or VIC eXtreme)
VIC ENHANCER
VIC UNLEASHED
VIC INTERCEPTOR
VIC AAA (Awesome Addressing Add-on)
BAD VIC
or
Alien VIC!

Or we could even name it after someone, like in honor of someone who has made massive contributions to the C64. Or maybe just name parts of the circuit in honor of some ppl. Like maybe we could name the blitter circuit the ....?
2010-03-04 05:33
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Quoting JackAsser
Yeps, a second set of registers for the odd rows would do the trick indeed.

So if I include the extra circuitry will you make your portal engine more awesome for it?

BTW Any chance of getting a bigger 3D area? that would be a cool Doom maze :)


Sure, why not. However, for rapid testing I suggest to make a patch to VICE to test out your ideas, before actually implementing them in the HW. That would probably help you in prototyping, and it would certainly help me not coding in blind. :)
2010-03-04 09:18
Frantic

Registered: Mar 2003
Posts: 1648
I vote for "BAD VIC". :)

It has a nice 80s vibe to it. :)
2010-03-04 09:36
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: I vote for "BAD VIC". :)

It has a nice 80s vibe to it. :)


Maybe "Notorious V.I.C"?
2010-03-05 07:48
PopMilo

Registered: Mar 2004
Posts: 146
Quote: PopMilo,
It would be possible, would you really want to use the low res mode though?


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...
2010-03-06 09:26
Krill

Registered: Apr 2002
Posts: 2980
Quote: 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 think what this implies is actually having display lists akin to what's implemented on Atari8. (See http://en.wikipedia.org/wiki/ANTIC)

You set a memory pointer in the VIC to fetch register offset, write cycle number (i.e., the x position defined as the offset to the previous write) and value (3 bytes or less if restrictions like writing to $d011/16/17/18 (2 bits) only are applied), and write data given by that display list to the referenced VIC registers at the specified x position. (Re repeating lines: One of the extra registers would then determine which of the 8 lines per char line you want to display.)

You could actually use the so far unused border cycles reading the colour data 4-bit bus for that, although that'd make generating these lists a little harder and halve the maximum throughput. Alternative list modes would define fixed register or offset definitions outside the list to be able to trade off between list size and access range/write density.

The benefits are obvious: Having more VIC register writes per scanline, specifically in the bad lines, would delight every coder fancying smart VIC raster trickery and open up a whole new range of oldskool effects and cpu-cycle-cheap display modes :)
Previous - 1 | ... | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | ... | 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
Rub_0201
t0m3000/hf^boom!^ibx
E$G/HF ⭐ 7
iceout/Avatar/HF
fuzzybad
Paladin/G★P
Guests online: 128
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 X-Mas Demo 2024  (9.5)
7 Dawnfall V1.1  (9.5)
8 Rainbow Connection  (9.5)
9 Onscreen 5k  (9.5)
10 Morph  (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 Logo Graphicians
1 t0m3000  (10)
2 Sander  (9.8)
3 Mermaid  (9.5)
4 Facet  (9.4)
5 Shine  (9.4)

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