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 > What is going on with those ghost bytes in the Ghost demo?
2024-02-11 21:07
chriz74

Registered: Apr 2009
Posts: 39
What is going on with those ghost bytes in the Ghost demo?

Can anyone explain what’s the catch?
 
... 29 posts hidden. Click here to view all posts....
 
2024-02-12 14:17
Raistlin

Registered: Mar 2007
Posts: 771
Quote: Still don’t know what is going on. Is it black masking of the second pixel row with black ones ?

The ghostbyte is a single byte in memory that “fills” the area uncovered by opening top/bottom border.. as well as various other areas all the way down the screen depending on D011 condition etc. That byte can be changed on each raster line of the screen and is used to “mask” all 40 chars across the screen on each line.

The ghostbyte can -only- be drawn as black.. hence why most demos using it will only have black screen/border so that the ghost byte is, umm, a ghost.
2024-02-12 14:25
Krill

Registered: Apr 2002
Posts: 3098
Quoting chriz74
Still don’t know what is going on. Is it black masking of the second pixel row with black ones ?
What Gpz and Raistlin said.

The pattern of black/transparent pixels is read by VIC when it's idle but still needs to display char row data (just POKE 53265,24 and look at the bottom of the display window within the borders).

VIC falls back to read data from an all-1s address within its bank, so $3fff (or $3bff with further ECM masking) and reads the byte to display from there.

Quoting chatGPZ
Now? It was commonly used since the 80s really :) I wouldnt even be able to name another term for it right now *shrug*
I used to call it just "idle byte (pattern)". =)

But yeah, "ghostbyte" has been used "informally" and is a lot catchier (and sillier). :D
2024-02-12 14:30
chatGPZ

Registered: Dec 2001
Posts: 11523
Ah yes, idle-gfx. I only recall the VIC-Article using that term :)
2024-02-12 14:37
Krill

Registered: Apr 2002
Posts: 3098
Quoting Krill
(or $3bff with further ECM masking)
*$39ff. =)
2024-02-12 14:48
Oswald

Registered: Apr 2002
Posts: 5127
Quote: Still don’t know what is going on. Is it black masking of the second pixel row with black ones ?

yes and if you are very clever you can even use the sprite priority to select if a sprite pixel is behind or infront of the ghost byte.


sprites can be put behind background pixels, but they will only show up behind '10' and '11' bitpais, they will show infront of '00' and '01'. put ghostbyte into multicolor mode, offset sprites and ghostbyte 1 hires pixel, and now you can fake hires looking scroller with sprites and ghostbyte.

(if I'm not wrong, I just recently read this trick who has that nice blog about demo effects)
2024-02-12 14:51
Oswald

Registered: Apr 2002
Posts: 5127
@Krill its not really an idle byte either, ghotbyte happens because VICII reading and displaying memory is hardwired so much that it cant just idle and not do it :P :)
2024-02-12 15:01
chatGPZ

Registered: Dec 2001
Posts: 11523
"read from precharged address byte" :)
2024-02-12 15:42
Frostbyte

Registered: Aug 2003
Posts: 184
I personally absolutely love the name "ghostbyte". It sounds something mythical and magical, rather than just-another-mundane-hardware-bug. :) In fact when I heard about it in early 90s I did think the 1337 coders were doing something that is simply impossible. Magical, even.
2024-02-12 16:16
ChristopherJam

Registered: Aug 2004
Posts: 1424
Yes, I always liked the name too.

but also
9:29 PM <cjam> Geisterbyte!
9:41 PM <Krill> cjam: Geistbyte :) it's but one ghost! :D

Works for me!


(and indeed, I was wondering if there was some sprite priority inversion/cookie cutter stuff going on in some of those parts)
2024-02-12 16:46
trident

Registered: May 2002
Posts: 101
@frostbyte: if the ghostbyte would have been white instead of black, then "the frostbyte" would have been a pretty cool name for it :)

as to the op's question: this article has an explanation of the various ghostbyte techniques used in the demo: https://github.com/trident64/c64/blob/main/unexpanded-border-sc..

and a presentation on the topic from last year's fjälldata here: https://scenesat.com/videoarchive/93fbf2f3-aab5-11ed-931f-00505..

The Ghost actually uses a range of different ghostbyte techniques in the different parts, some use masking, some use a shine-through approach.
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
bugjam
CA$H/TRiAD
DKT/Samar/sidDivers
Digger/Elysium
megasoftargentina
Guests online: 311
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 Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Acidchild  (9.7)
4 Cash  (9.6)
5 Violator  (9.6)

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