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 > CSDb Entries > Release id #252024 : C64ColorRamDoubleBuffer
2025-04-17 17:50
Sokrates

Registered: Jun 2014
Posts: 16
Release id #252024 : C64ColorRamDoubleBuffer

Does anyone know who had this idea first?
What was the first implementation?
Are there any demos or games out there?
I only found this one:
https://www.gamesthatwerent.com/gtw64/balls-of-the-scrolling-th..

I will add this information to the documentation then.
 
... 28 posts hidden. Click here to view all posts....
 
2025-04-18 00:53
chatGPZ

Registered: Dec 2001
Posts: 11510
This isn't what this thread is about. At all. (I have to correct myself: its not fixed - it changes every now and then. It's still not double buffering though)
2025-04-18 02:33
Mr SQL

Registered: Feb 2023
Posts: 158
Quoting chatGPZ
This isn't what this thread is about. At all. (I have to correct myself: its not fixed - it changes every now and then. It's still not double buffering though)

Very cool I'm glad you understand.
Who says a buffer can't be compressed?
It's still double buffering if changes to the compressed buffer are mirrored uncompressed.
2025-04-18 10:26
Krill

Registered: Apr 2002
Posts: 3083
The technique is about actual double buffering in hardware.

Every other badline is skipped, so no DMA.

There are actual 8x16 tiles, and the skipped colour RAM rows can be updated lazily.

After update, the buffers are flipped by toggling displayed/skipped even/odd badlines.
2025-04-18 13:25
Mr SQL

Registered: Feb 2023
Posts: 158
Quoting Krill
The technique is about actual double buffering in hardware.

Every other badline is skipped, so no DMA.

There are actual 8x16 tiles, and the skipped colour RAM rows can be updated lazily.

After update, the buffers are flipped by toggling displayed/skipped even/odd badlines.

This is interesting. Where is the 2nd hardware buffer for the color RAM?
2025-04-18 14:14
Krill

Registered: Apr 2002
Posts: 3083
Quoting Mr SQL
Where is the 2nd hardware buffer for the color RAM?
Same $D800 range. The trick is to skip every other colour RAM char row when displaying the screen, then flip when the values in the invisible rows have been updated.
2025-04-18 14:42
chatGPZ

Registered: Dec 2001
Posts: 11510
Quote:
The technique is about actual double buffering in hardware.

That. And... if "building the video buffer from some other buffer in memory" would count as "double buffering", then "single buffer" rendering would be hard to achieve - since you always do this, in one way or another.
2025-04-18 15:10
Mr SQL

Registered: Feb 2023
Posts: 158
Quoting Krill
Quoting Mr SQL
Where is the 2nd hardware buffer for the color RAM?
Same $D800 range. The trick is to skip every other colour RAM char row when displaying the screen, then flip when the values in the invisible rows have been updated.


Great technique and description.

Quoting chatGPZ
... if "building the video buffer from some other buffer in memory" would count as "double buffering", then "single buffer" rendering would be hard to achieve - since you always do this, in one way or another.


The link I shared describes using timing to update colour RAM and graphics dynamically from the compressed buffers during the vertical blanks. This allows lazy updates similarly.
2025-04-18 15:23
chatGPZ

Registered: Dec 2001
Posts: 11510
It still has nothing to do with what is called "double buffering". Stop redefining whatever term to your liking. Waiting for vblank and then update quickly is the textbook case of "single buffer".
2025-04-18 16:10
Mr SQL

Registered: Feb 2023
Posts: 158
Quoting chatGPZ
It still has nothing to do with what is called "double buffering". Stop redefining whatever term to your liking. Waiting for vblank and then update quickly is the textbook case of "single buffer".


I think you misunderstood the description.

Yes waiting for vblank and then updating quickly is the textbook case of single buffer.

The link describes taking a frame to build the screen buffers first before they are rendered. That is textbook double buffering and increases available processing time.

The method is flexible and can fit into the vertical blanks using display lists (like ANTIC) to build the screen buffer in sections before rendering.
2025-04-18 16:19
chatGPZ

Registered: Dec 2001
Posts: 11510
You are just in your usual loop of redefining well established terms into whatever you think they mean.

Hint: the above described way is pretty much the only way double-buffering of color ram can be achieved on the C64. There is no other. None. Nada. Zero. Whatever you did it is not it.

Comprende?
Previous - 1 | 2 | 3 | 4 - 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
AlexC
MCM/ONSLAUGHT
El Topo/Triad
Guests online: 199
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.5)
5 Facet  (9.5)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.153 sec.