Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #179166 : Gumbo
2019-07-07 22:37
Raz
Account closed

Registered: Aug 2003
Posts: 16
Release id #179166 : Gumbo

Heya all

Gumbo

As you may have seen, we have released the (small, 9kb) one-file demo "Gumbo" at Gubbdata, and this marks my return to the scene after almost 25 years of absence. I have created this discussion thread to answer any questions you may have about the code.

A quick note on the shade-bobs/"heat-bobs", since I expected that is of most interest:
The entire trick behind this effect, is to have the bobs themselves move every frame (in IRQ), while the fader/cooler does its work behind the scenes (in main), in a pattern that fades/cools 1/4 of the screen in each pass (but all across the screen).

Both the bobs and the fader/cooler works directly on the 4x4 screen-buffers, and no additional matrix of "heat values" and/or double-buffers are needed. The bobs themselvs works by heating the space around them in the following pattern:

.byte $0,$0,$1,$1,$1,$1,$0,$0
.byte $0,$1,$2,$2,$2,$2,$1,$0
.byte $1,$2,$3,$4,$4,$3,$2,$1
.byte $1,$2,$4,$8,$8,$4,$2,$1
.byte $1,$2,$4,$8,$8,$4,$2,$1
.byte $1,$2,$3,$4,$4,$3,$2,$1
.byte $0,$1,$2,$2,$2,$2,$1,$0
.byte $0,$0,$1,$1,$1,$1,$0,$0

The maximum heat of each cell is $0f - the cooler works in the other direction by reducing the heat of each cell by 1. This is done one double cell (4x4) at the time (two nibbles), since it's trivially easy to pre-calculate the next value of any pair of nibbles beforehand, and build in the prevention of under-flows (e.g. $ff -> $ee, $e1 -> $d0 -> $c0 etc).

Notice: if you debug the code, you'll notice that the patterns flow in reverse, as char $ff is the "coolest" (transparent) since this makes hiding the FLI bug a complete non-issue. (as I wrote in the release notes, I coded this in 2011 as the first thing after I took up the c64 again, and this may be unnecessarily convoluted).

Anyhow, fire away with questions if you have them, and I'll do my best to answer.

Cheers
-Raz/Camelot - July 2019
2019-07-08 11:32
Oswald

Registered: Apr 2002
Posts: 5017
superb comeback, great code, congrats :)
2019-07-08 14:02
Raz
Account closed

Registered: Aug 2003
Posts: 16
@Oswald: Thanks =)
2019-07-09 11:20
HCL

Registered: Feb 2003
Posts: 716
Interesting facts about the heat-bobs. I did one also some 20 years ago with more accuracy than the typical heat-bob had in the 90's, but still in 8x8. This one looks alot better than how i remember mine, so then i can probably forget it now :). It looked fabulous on the GubbData screen, and it was one of the first ones that i had to check out closer when coming back home :) Thanx for the excellent work!!
2019-07-09 11:44
Smasher

Registered: Feb 2003
Posts: 512
Quote:
Anyhow, fire away with questions if you have them, and I'll do my best to answer.

hey, welcome back!
what about sharing the source?
2019-07-09 12:39
ChristopherJam

Registered: Aug 2004
Posts: 1370
Nicely done, Raz.

Could probably take a similar approach to the bob plotting too, just use ~17 tables, one for each of the possible pairs of increment values.
2019-07-09 21:40
Raz
Account closed

Registered: Aug 2003
Posts: 16
@HCL: Great to hear that you like the heat-bobs, and that they looked good on the big screen =) Did you release your own heat-bob routine? If so, in which demo?

I was away on vacation during the party, and didn't see the stream until recently - I was mortified to see the left-sideborder bug in the $d020 scroller :-/ As I wrote elsewhere, I simply didn't see it on my 1702 monitor. I can see, that you way back in 2005 created a post on exactly this topic ("real" screen limits), and I'm working on a fix based on your metrics: Screen limits

@ChristopherJam: I have been thinking along those lines - I would need to make even/odd-offset versions of the bob-tables (as I already now have even/odd versions of the bob-plotter code) - I haven't calculated the exact number of unique value-pairs, but ~17 as you wrote sounds about right. I have some ideas of new ways to take this effect, where I need a quicker plotter, and I'll certainly take this way of thinking into account. Also, I have realised that more than ~4 big bobs tends to clutter the screen - but here, again, I have some ideas =)

@ZeSmasher: My aim is to post the source-code eventually (it needs some clean-up, and it is currently too closely tied in to the GUMBO framework).

@All of you: Thanks for all the warm and friendly comments, it feels absolutely fantastic to get that kind of feedback from such great coders, and I feel hugely inspired to do more work - you have not seen the last of me.
2019-07-09 23:12
HCL

Registered: Feb 2003
Posts: 716
@Raz: No, i never released my heat-bobs, they were already sort of out of fashion. ..but now it seems *hot* again :D.. About d020-bug, yes i noticed that. Annoying, but easily fixed. You can easily verify such stuff in the vice-emulator also, use debug-mode for borders and you will see far more than any monitor can show.
2019-07-09 23:34
Raz
Account closed

Registered: Aug 2003
Posts: 16
@HCL: Aye, I've started using vice with -VICIIborders 1 or -VICIIborders 2 now =) ... At least I spotted the "grey half-pixel dot" problem on the c64c VIC-II revision and fixed that prior to release. (This I first saw on the actually hardware, before being tipped by Slammer, that x64sc emulates that as well).

Let's see, if this release marks the beginning of a new round of heat-bobs/shade-bobs craze =)
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
hedning/G★P
Alakran_64
CA$H/TRiAD
msolajic
iAN CooG/HVSC
Bert/RDS
Dr. Doom/RAD
MAT64
Hawk/New life
CreaMD/React
drokk54
Guests online: 125
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 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.9)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (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 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Newscopy  (9.1)
5 Elwix  (9.1)

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