Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Nicron ! (Registered 2024-05-21) 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: 33
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: 575
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: 2854
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: 11147
Ah yes, idle-gfx. I only recall the VIC-Article using that term :)
2024-02-12 14:37
Krill

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

Registered: Apr 2002
Posts: 5028
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: 5028
@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: 11147
"read from precharged address byte" :)
2024-02-12 15:42
Frostbyte

Registered: Aug 2003
Posts: 174
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: 1381
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: 77
@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
rambo/Therapy/ Resou..
Soya/Fairlight
Nicron
Retroluzzer/Quantum
fandenvoldsk
Apollyon/ALD
A3/AFL
Airwolf/F4CG
cobbpg
Mibri/ATL^MSL^PRX
Guests online: 102
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 Bromance  (9.5)
10 Wonderland XII  (9.5)
Top onefile Demos
1 Layers  (9.6)
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 Logo Graphicians
1 Sander  (9.9)
2 Facet  (9.6)
3 Mermaid  (9.4)
4 Pal  (9.4)
5 Shine  (9.3)

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