12

See the beginning of https://www.youtube.com/watch?v=hmfLBAtGAKk. Here's a screenshot:

enter image description here

It basically clears characters pixel by pixel both horizontally and vertically.

Use sprites for the pixel by pixel cover and then clear complete characters at the right time? Or is there another way to do this?

11

You could do the sides with sprites, and clearing the characters at the right time, as you have said.

But the top and bottom, I would use something more like raster bars to do the top and bottom.

I would first prepare a tileset which is all blank, so that the characters won't show.

Then, when I get to the right scanline, (the one I want to cut off at the bottom that is), I would just set the background colour to be the same as the border, and also point the character map to this "invisible tileset". And obviously set the colour and characters back up again where you want to characters to show, at the top. I think this is the fastest way. It'll leave enough time for you to do your decrunch or precalcs or whatever.

7

The most simple way is to copy the lores screen on a hires screen (using the charactersetrom) and then just clear the pixels...

  • This is also seems like a great solution. In this case I guess you will need to do sort of double buffering in the sense that you render the bitmap to $2000-$3FFF and put the colors somewhere NOT in $0400-$07FF. Then you can switch to the bitmap mode by switching the mode and setting the setting screen ptr by poking at the $D018. – Nurpax May 14 '18 at 21:35
  • 2
    Good suggestion. But the problem with this solution is the image would need to be hires to show the characters, but would also need three colours in each character cell to shrink the border in (one background, one foreground, one border). That means you'd also need to do various tricks (sprites, rasterhacks) to get the same effect as on the video. – Wilson May 15 '18 at 15:47
1

Couldn't you do with a custom character set? That is, you arrange the characters smartly to recreate your initial screen, and then slowly "corrupt" your characters.

  • Character arrangement is not in my control. The screen can contain pretty much anything before the program is started. – Nurpax May 14 '18 at 22:32
  • 1
    No you can't. if you have two same characters on different places on the screen, they will both be altered. – EL Dendo May 14 '18 at 22:51
  • @El Dendo, yes, but it wasn't specified in the OP that he has no control over the character arrangements. While my approach might not be generic in that it could handle any combination of text on the screen, for the purpose of a demo where you choose what's on the screen it would probably work. – DrSchrott May 15 '18 at 2:35
  • I guess it was only implied. The screenshot and the video show this is a loading screen effect. – Nurpax May 15 '18 at 22:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.