Re: A89: LCD memory manipulation (in asm)
[Prev][Next][Index][Thread]
Re: A89: LCD memory manipulation (in asm)
I know I can quite easily test this, but since I am at school right now, all
I can do right now is ask.
----- Original Message -----
From: "Johan Eilert" <johei804@student.liu.se>
To: <assembly-89@lists.ticalc.org>
Sent: Tuesday, January 23, 2001 3:55 PM
Subject: Re: A89: LCD memory manipulation (in asm)
> On Tue, Jan 23, 2001, reukidodo wrote:
> >
> > Thank you for the information! Was this in a documentation that I
missed
> > somewhere?
>
> You're welcome. The information can be found in various hardware docs at
> http://alh.dhs.org/ti89/ . I believe the documents (esp. mine) can be
quite
> hard to understand though.
I have been there, and have it bookmarked. You are right when you say that
it is a bit hard to understand through the first few readings... I'll go
back over it some more... Again, thank you very much! =)
> > I had originally planned to use the extra memory around the visible LCD
as a
> > buffer, in order to make easy smooth scrolling, but now I can't figure
out
> > how to scroll left/right using lsl and lsr... are there other commands
that
> > let the end bit be carried over into the next byte?
>
> Use the ROXL and ROXR instructions, they rotate through the X flag.
>
> Eg.: The following loop "scrolls" an arbitrary amount of data one pixel to
> the right. The leftmost pixel is set to 0.
>
> move #0,ccr ; X=0
I'm not sure what ccr is... is it similar to SR = d7 in that ccr = aX?
> \loop
> roxr.w (a0)+ ; X -> (a0) -> new X
> dbra d0,\loop
Does roxr have a .l extension also? ie:
roxr.l (a0)+
I'm pretty sure that I'd have to put this in a loop within a loop to shift
the whole screen to the right by 16bits smoothly. ie:
move 15,d0 ;16bit to shift 15 down to 0
\outloop
;restore bg sprite (erase character so he doesn't scroll with the bg)
lea LCD_MEM,a0
move #1583,d1 ;(24words/line = 12longwords/line) * (100 + 2*16 lines) =
1584
\inloop
roxr.l (a0)+ ;shift screen by a bit
dbra d1,\inloop
;store bg sprite, replace w/ character
dbra d0,\outloop
My question is, wouldn't this code make the character (who doesn't shift
with the screen) appear to blink while scrolling?
> --
> Johan Eilert
-Miles Raymond EML: m_rayman@bigfoot.com
AIM: kilier2 ICQ: 13217756 IRC: Killer2
WWW: http://www.bigfoot.com/~m_rayman
References: