A86: Re: Efficiency Problem Part III


[Prev][Next][Index][Thread]

A86: Re: Efficiency Problem Part III




Try looking at this routine

http://www.tfs.net/~electrum/menu.asm

-----Original Message-----
From: ZeromusMog@aol.com <ZeromusMog@aol.com>
To: assembly-86@lists.ticalc.org <assembly-86@lists.ticalc.org>
Date: Monday, December 14, 1998 11:25 PM
Subject: A86: Efficiency Problem Part III


>
>It's that time again! I have yet another problem with efficiency, as once
>again I seem to be inundated with useless, repetetive loops of code. This
>time, I am doing an "Inverse Menu" where the selected text appears to be
>inversed. Using this method, the screen visibly blinks when the cursor is
>moved up and down. There's got to be a faster, more efficient way.
>
>FightLoop:
> call CLS
> ld hl,FightTitle
> set textInverse,(iy+textflags)
> call _puts
> res textInverse,(iy+textflags)
> ld a,(LastOpFight)
> cp 0
> call z,InvText
> ld hl,$0201
> ld (_curRow),hl
> ld hl,Fi1
> call _puts
> res textInverse,(iy+textflags)
> cp 1
> call z,InvText
> ld hl,$0202
> ld (_curRow),hl
> ld hl,Fi2
> call _puts
> res textInverse,(iy+textflags)
> cp 2
> call z,InvText
> ld hl,$0203
> ld (_curRow),hl
> ld hl,Fi3
> call _puts
> res textInverse,(iy+textflags)
> cp 3
> call z,InvText
> ld hl,$0204
> ld (_curRow),hl
> ld hl,Fi4
> call _puts
> res textInverse,(iy+textflags)
> cp 4
> call z,InvText
> ld hl,$0205
> ld (_curRow),hl
> ld hl,Fi5
> call _puts
> res textInverse,(iy+textflags)
> cp 5
> call z,InvText
> ld hl,$0206
> ld (_curRow),hl
> ld hl,FBack
> call _puts
> res textInverse,(iy+textflags)
> jp FightButton
>
>... Code, fightbutton increases or decreases the LastOpFight value
>
>Fi1: .db "High School  ",0
>Fi2: .db "Swap Meet    ",0
>Fi3: .db "Comm. College",0
>Fi4: .db "MIT          ",0
>Fi5: .db "???          ",0
>FBack: .db "Back         ",0
>
>There must be an easier way... is there a way to inverse a portion of the
>screen?
>
>Thanks for the help!