[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