Re: A83: Background routine...


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

Re: A83: Background routine...




the only practical application of a scrolling background is for a fighting
game

-Harper Maddox

jerky@ebicom.net
IRC nick: Geori
ICQ: 1214597

-----Original Message-----
From: Scott Dial (Revenant) <homosapian@geocities.com>
To: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
Date: Monday, September 07, 1998 10:51 AM
Subject: Re: A83: Background routine...


>
>I have to say I hate people like that, but how is this gonna help much
>if you are making a game? By doing this you have to have a full fledge
>picture for each piece of screen. That's way too big to use for a
>side/vertical scroller. I have one that uses sprites for a side scroller
>and would do the same thing for a game. Except it keeps crashing. If you
>want to debug it and use it then cool.
>
>James Matthews wrote:
>>
>> I know my tutorials are slow coming out, but senior year + college
>> apps + ThinkQuest + Monopoly (programming) + chicks...um, tutorials
>> are waaaay down there :)...anyway, here is my Background tutorial.
>>  Thanks to Movax (ey?)....
>>
>> Tutorial 39: Scrolling Background.
>> More Game Techniques.
>> Introduction.
>> Well, after attempt after attempt at finding or writing a decent
>> scrolling routine.  I'm talking to Movax, and he's like "Hold on", 5
>> minutes later I'm running a perfect scrolling routine he'd just
>> written (don't you hate people like that! =Ž).  Thanks a lot to Hannes
>> "Movax" Edfeldt.
>>
>> New Commands.
>>
>> _getk - I've covered this briefly before.  Here's the formal
>> cover…like BASIC getkey.  Returns value of the key to OP1.  Values are
>> shown the Ti-manual.
>>
>> The Code.
>>
>>  ld    hl,picture ;Load your pic.
>>  ld de,PLOTSSCREEN
>>  ld bc,768
>>  ldir
>>  call  _grbufcpy_v
>>
>> loop:
>>  call _scrollright
>>  call _grbufcpy_v
>>
>>  call    _getk    ; Key to OP2.
>>  call    _op2toop1
>>  call    _convop1
>>  cp  45 ; If clear…
>>  jp      nz,loop ;
>>  ret
>>
>> _ScrollRight:
>> ld de,12
>> ld hl,8e29h-1
>> ld b,64 ; 64*12=768 bytes to rotate
>> _loop1:
>> push hl ; Test if there's a bit to wrap around
>> add hl,de
>> ld a,(hl)
>> and 00000001b
>> sub 00000001b
>> ccf
>> pop hl
>>
>> inc hl ; We'll waste space here to gain some speed
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl ; We'll waste space here to gain some speed
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>> inc hl
>> rr (hl)
>>
>> djnz _loop1
>>
>>  ret
>>
>> picture:
>> ;Put your picture here.
>>
>> .end
>> END
>>
>> Conclusion.
>> Thanks again to Movax for this routine!  This should help all of you
>> game freaks out there!  If you come up with a better routine that
>> scrolls left/right, up/down, or all directions, please contact me!
>>  Thanks.
>>
>> {button , Klink(Scrolling;Movax;Graphics)} Related Topics.
>>
>> Addition:  if you come up w/a routine that is *well documented*
>> contact me :)...
>>
>> Later,
>>
>> James Matthews (matthews@tkb.att.ne.jp)
>>
>> ICQ: 7413754
>> http://home.att.ne.jp/gold/tomcat21/index.html
>> http://library.advanced.org/18242/
>
>--
>Scott Dial
>revenant_1@hotmail.com
>ICQ#3608935
>


Follow-Ups: