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


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

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




Hi.

This is my first, for some reason unworking, version.
Probably someone sees the error or improves this.

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