Re: A85: Problems
[Prev][Next][Index][Thread]
Re: A85: Problems
At 09:30 PM 11/8/97 -0700, Chris James wrote:
There are several things wrong:
>Well, I was trying to write my first zshell program, but it didn't seem to
>work right. In fact, it doesn't work at all. I was trying to display one
>pixel, and by pressing the arrow keys it would move around. But instead, a
>bunch of boxes keep getting displayed, and the only way I can stop it is by
>pressing 'on' twice. The first press turns off the calculator, and the
>second press turns it back on with all the weird characters on the screen
>(but still operational). Please help me correct my problem. Here is the
>asm file:
>
>#include "TI-85.H"
>
> .org
> .db "Move around",0
>
>init:
>
> ld a,4
> ld (5),a
** This should be out (5),a (Right now, you're actually trying to write 04
to the ROM :) ).
> ld a,10
> ld ($800C),a
> ld ($800D),a
** This will work, but in the future you should probably use different RAM
locations. $800C and $800D are the text cursor positions. And if you want
to write a value to two adjacent locations in ROM, it's more size efficient
to do:
ld hl,$0A0A ;0Ah = 10d
ld ($800C),hl
>
>draw:
> ROM_CALL(CLEARLCD)
> ld a,($800C)
> ld b,a
> ld a,($800D)
> ld c,a
> CALL_(PlotPixel)
>
>key:
>
> call GET_KEY
> cp $04
> jp z,up
> cp $01
> jp z,down
> cp $02
> jp z,left
> cp $03
> jp z,right
> cp $37
> ret z
> jp nz,key
** Every one of these should be jr's instead of jp's. (i.e. jr z,up and jr
nz,key). Quick optimization:
key:
call GET_KEY
cp $37
ret z
cp $01
jr z,down
cp $02
jr z,left
cp $03
jr z,right
cp $04
jr nz,key
up: ;continue from here
>
>up:
> ld a,($800D)
> inc a
> ld ($800D),a
> jr draw
>
>down:
> ld a,($800D)
> dec a
> ld ($800D),a
> jr draw
>
>left:
>
> ld a,($800C)
> dec a
> ld ($800C),a
> jr draw
>
>right:
> ld a,($800C)
> inc a
> ld ($800C),a
> jr draw
>
>end:
> .end
** The .end should be at the VERY end of your program, after PlotPixel.
Right now, PlotPixel probably isn't making it into the string.
>
>PlotPixel:
> ROM_CALL(FIND_PIXEL)
> ld de,$FC00
> add hl,de
> or (HL)
> ld (HL),a
> ret
>
>
--
Brian Leech
butvis@mindspring.com
ICQ UIN: 1355611
References: