[A83] Re: Aurora for 83+ [asm-window]
[Prev][Next][Index][Thread]
[A83] Re: Aurora for 83+ [asm-window]
ex de,hl exchanges the values in HL and DE with each other, so HL=DE and
DE=HL. That code should work if you put a RET at the end. The only
problem is I don't know if strings are zero-terminated when they're stored
in mem. (If they aren't, you program will continue displaying text until
it comes across $00) Anyone know?
>
>
>>Hi.
>>
>>This is my first, for some reason unworking, version.
>>Probably someone sees the error or improves this.
>
>Found the problem. h=dark/light/xor and was a 'random' number...
>Now I have another problem: how can I recall Str1? This is what I tried:
>
>
>.nolist
>#include "ion.inc" ;not that it's for Ion, just for portability
>.list
>#ifdef TI83P
> .org progstart-2
> .db $BB,$6D
>#else
> .org progstart
>#endif
>
>IMUN =12h
>tEOSEL =IMUN+23
>tString =tEOSEL+1 ; 2Ah '"'
>tStr1 =00h
>StrngObj =4
>
> bcall(_zeroop1)
> ld hl,Str1name
> bcall(_Mov9toOp1)
> bcall(_FindSym)
> ex de,hl ;?????
> bcall(_PutS)
>
>Str1name:
> .db StrngObj,tString,tStr1,0
>.end
>END
>
>>Thanks,
>> Ronald.
>>
>>.nolist
>>#include "ion.inc" ;not that it's for Ion, just for portability
>>.list
>>#ifdef TI83P
>> .org progstart-2
>> .db $BB,$6D
>>_RclVarSym =4AE3h
>>#else
>> .org progstart
>>_RclVarSym =?????
>>#endif
>>Left =saferam1
>>Right =Left+1
>>Under =Right+1
>>Top =Under+1
>>
>>#define ldb(xxxx) ld hl,xxxx \ ld b,(hl)
>>#define ldc(xxxx) ld hl,xxxx \ ld c,(hl)
>>#define ldd(xxxx) ld hl,xxxx \ ld d,(hl)
>>#define lde(xxxx) ld hl,xxxx \ ld e,(hl)
>>
>> ;some recalling...
>> call RCL_1
>> ld (hl),'L'
>> call RCL_2
>> ld (Left),a
>>
>> call RCL_1
>> ld (hl),'R'
>> call RCL_2
>> ld (Right),a
>>
>> call RCL_1
>> ld (hl),'U'
>> call RCL_2
>> ld (Under),a
>>
>> call RCL_1
>> ld (hl),'T'
>> call RCL_2
>> ld (Top),a
>>
>> ;draw the window!
>> ldb(Left)
>> ldc(Top)
>> ldd(Right)
>>; lde(Top)
>> ld e,c
>> bcall(_ILine)
>>
>>; ld b,(Left)
>>; ld c,(Top)
>>; ld d,(Left)
>> ld d,b
>> lde(Under)
>> bcall(_ILine)
>>
>>
>> ldb(Right)
>>; ld c,(Top)
>>; ld d,(Right)
>> ld d,b
>>; ld e,(Under)
>> bcall(_ILine)
>>
>>
>> ldb(Left)
>>; ld c,(Under)
>> ld c,e
>>; ld d,(Right)
>>; ld e,(Under)
>> bcall(_ILine)
>>
>> ;shadow1
>> inc b ;Left+2
>> inc b
>> dec c ;Under-1
>> inc d ;Right+2
>> inc d
>> dec e ;Under-1 again
>> bcall(_ILine)
>> dec c ;Under-2
>> dec e ;Under-2 again
>> bcall(_ILine)
>>
>> ;shadow2
>> ldb(Right)
>> inc b ;Right+1
>> ldc(Top)
>> dec c \ dec c ;Top-2
>> ld d,b ;Right
>> lde(Under)
>> dec e \ dec e ;Under-2
>> bcall(_ILine)
>>
>> inc b \ inc d ;Right+2
>> bcall(_ILine)
>>
>> ;b Right+2
>> ;c Top-2
>> ;d Right+2
>> ;e Under-2
>>
>> ldb(Left)
>> dec c \ dec c \ dec c \ dec c \ dec c ;T-7
>> dec d \ dec d ;R+0
>> ld e,c ;T-7
>>
>> ret
>>
>>
>>RCL_1:
>> bcall(_zeroop1)
>> ld hl,op1+1
>> ret
>>RCL_2:
>> bcall(_RclVarSym)
>> bcall(_ConvOp1)
>> ret
>>
>>.end
>>END
>>
>>
>>
>
>
>
>
_____________________________________________
Free email with personality! Over 200 domains!
http://www.MyOwnEmail.com