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 > How do you get chars in top and bottom border?
2019-08-03 01:07
ZIG

Registered: Feb 2004
Posts: 37
How do you get chars in top and bottom border?

I have seen some demos, starting with One Year Camelot (One Year Camelot 3) and again in the Camelot entry of DOTY2013 (Demo of the Year 2013) where there is text or logos in the top and bottom border - and it's not sprites as it covers the full area in high-res. How is this possible if you can only use one byte in $3FFF? I get that you could change $3fff on every line, like in the first screen of Science 451 demo Splended! (Splended!) but One Year Camelot and others I am referring to are not doing this afaik.

Any ideas?
2019-08-03 07:06
Raistlin

Registered: Mar 2007
Posts: 680
You should immediately go hunt out a tool called “C64 Debugger”. It’s fantastic - and will allow you to see exactly how various things are done.

Just as a quick answer, as i’m on holiday and can’t check the particular demo you mention, I suspect that the “chars” will be a combination of expanded sprites (2x1 pixels) and $3fff (to mask out some pixels).
2019-08-03 09:00
Rastah Bar
Account closed

Registered: Oct 2012
Posts: 336
Here's two more great examples:
https://youtu.be/Ha0SYfMF0Pw?t=472
https://youtu.be/A0PygkgfuIQ?t=1798
2019-08-03 11:11
T.M.R
Account closed

Registered: Dec 2001
Posts: 749
Quoting ZIG
I have seen some demos, starting with One Year Camelot (One Year Camelot 3)


There's two different routines in play; the scroller is interlaced (so the sprites are standard 2:1 ratio pixels, pause VICE then single frame advance to see the two sets of sprite definitions) and the flicker is partially hidden by the dark sprite colour.

The arrows are using the ghostbyte, writing to it and then $d021 as the next command; if the horizontal smooth scroll is all the way over to the right and those two stores are right next to each other (as in STA $3FFF / STY $D021) they will look to have happened one cycle apart. Panoramic's Mentalic does the same thing in the last part to get the I in the lower border and the first part of Krestage uses it for the upscrollers I think?

Quoting ZIG
How is this possible if you can only use one byte in $3FFF? I get that you could change $3fff on every line, like in the first screen of Science 451 demo Splended!


The ghostbyte isn't limited to one change per line so there's quite a few things it can be used for; have a look at Irrational by Chorus for the lower border logo in the first part, there are writes to the ghostbyte one cycle after the screen starts and one cycle before it ends to draw the first I and last L.
2019-08-03 11:37
WVL

Registered: Mar 2002
Posts: 902
I remember that the OYCiii method uses $d016 to 'cut holes' in the $3fff Ghostbyte. That way you can only make solid characters,so no 'O' or 'A'.
2019-08-03 12:06
Digger

Registered: Mar 2005
Posts: 437
There's also a trick that Crossbow had invented (also used by Cruzer in GULBdata). It uses multicolour x-expanded sprites (where 1 color set to black), and sprite priority combined with $xfff.
2019-08-03 12:30
T.M.R
Account closed

Registered: Dec 2001
Posts: 749
TL;DR version: the ghostbyte, got to love it. =-)
2019-08-03 13:06
Rastah Bar
Account closed

Registered: Oct 2012
Posts: 336
Quoting WVL
I remember that the OYCiii method uses $d016 to 'cut holes' in the $3fff Ghostbyte. That way you can only make solid characters,so no 'O' or 'A'.

I think the vertical border scrollers in Krestage use that method as well.
2019-08-03 16:07
Knight Rider

Registered: Mar 2005
Posts: 131
Also the border scroller in More than you Deserve uses the ghostbyte
2019-08-03 21:39
Digger

Registered: Mar 2005
Posts: 437
@Rastah Bar: Ghostbyte border scroll in Krestage uses ECM and $39ff. But I have no idea how Crossbow is doing it though.
2019-08-10 04:05
ZIG

Registered: Feb 2004
Posts: 37
Awesome read. Will check some of the examples provided.

J
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
Mike
DnP
Rub_0201
Didi/Laxity
visionvortex
Steffan/BOOM!
Guests online: 87
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 Layers  (9.6)
2 No Listen  (9.6)
3 Party Elk 2  (9.6)
4 Cubic Dream  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.7)
4 Acidchild  (9.7)
5 Cash  (9.6)

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