[A83] Re: Aurora for 83+ [asm-window]


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

[A83] Re: Aurora for 83+ [asm-window]





>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
>
>
>