[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lo-Res Hijinks ... Enjoy!
- Subject: Re: Lo-Res Hijinks ... Enjoy!
- From: "Craig Bower" <to.email.me@post.a.request.message>
- Date: Fri, 03 Jun 2005 03:43:04 GMT
- Newsgroups: comp.sys.apple2
- References: <C9wne.31214$9A2.23366@edtnps89> <7hIne.21$0f2.191@news.oracle.com>
- Reply-to: "Craig Bower" <to.email.me@post.a.request.message>
- Xref: g2news1.google.com comp.sys.apple2:11574
"Martin Doherty" <martin.doherty@undisclosed.com> wrote in message
news:7hIne.21$0f2.191@news.oracle.com...
> Thanks Craig, I had a quick play - I love what you are doing with lo-res
> graphics. Though sometimes treated as the poor cousin, I like its
> colourfulness & update speed.
>
> I was intrigued by SCROLL.DEMO, I can be viewing it as a vertical
> scrolling background, then by throwing a mental switch I see it scrolling
> horizontally. I'm curious to know the algorithm you used for scrolling the
> 'background' pixels without disturbing the 'foreground'.
>
> Martin
Hi Martin,
Thanks for checking it out!
I'm a big fan of Lo-Res, and seeing what I can make it do. Hi-Res
always seemed too sluggish (and complex) for my brain to work with,
so I naturally tend to play from $0400 - $07FF for personal enjoyment.
The Scroll.Demo uses nothing fancy in the way of masks or algorithms
to create the effect. In actuality, it's simply storing 4-views of, and
redrawing the LoRes screens 4-times per full "cycle" of the display
colors in the background. If you watch it closely, you'll see a sort
of "hiccup" every four cycles, where I load the accumulator with,
and check for the keyboard strobe pressed to indicate a requested exit.
Think of it much like an animated GIF, where you store multiple frames
with slight differences and then display them sequentially to achieve the
effect of animation. In the case of Scroll.Demo, 90% of the animation
is "programmed" from 1 picture that I originally drew in "LoDraw" and then
used a routine (applesoft no less) to color shift the background pixels
colors from 1-2, 2-3, 3-4, and 4-1 again.
If you want to, you can speed the display rate up incredibly by altering
the following routine after the demo is relocated to $3FFD:
5083:A9 80 ; LDA #$80
5085:20 A8 FC ; JSR $FCA8 (Monitor "wait" routine)
Just change the byte at $5084 to anything from $00 - $FF and it
will adjust the "wait" time before displaying the next picture.
Although, at very low values, it updates the screen so fast, that you'll
see it scrolling in reverse and sometimes, basically just freezing on
the screen as it updates too quickly for you to notice the changes.
If you'd like, I could disassemble the source for it, comment it up
and post it for you.
Later,
Craig