[A83] porting help
[Prev][Next][Index][Thread]
[A83] porting help
I've been trying to covert this z80 asm routine to work with ion and am
having trouble. Could someone please help me? Here is the routine:
; ZMouse Sprite Routine v1.1 by TI Wizard (Bjay J. Jeon), 5/01/99
; ZMouse is a freeware! =)
.NOLIST
#define equ .equ
#define EQU .equ
#define end .end
#define END .end
.include "ti83asm.inc"
.include "tokens.inc"
.include "83asm.inc"
.LIST
coord = statvars
.org 9327h
xor a
jr start
.dw 0
.dw info
info:
.db "ZMOUSE v1.1 by Bjay Jeon",0
start:
call clrfullscrn
call gbufclr
ld hl,$0000
ld (coord),hl
set_screen1:
ld hl,plotsscreen
ld de,plotsscreen+1
ld (hl),0FFh
ld bc,383
ldir
ld hl,plotsscreen
ld de,savesscreen
ld bc,768
ldir
main_loop:
call sp_put
call _GRBUFCPY_V
call reset_screen
ld a,0fdh
out (1),a
in a,(1)
cp 191
jp z,quit
ld a,0ffh
out (01h),a
dec a
out (01h),a
in a,(01h)
bit 0,a
call z,Down
bit 1,a
call z,Left
bit 2,a
call z,Right
bit 3,a
call z,Up
ld a,0FFh
out (01h),a
jp main_loop
Down:
ld hl,coord+1
ld e,a
ld a,(hl)
cp 56
jp z,reset
inc (hl)
jp reset
UP:
ld hl,coord+1
ld e,a
ld a,(hl)
cp 0
jp z,reset
dec (hl)
jp reset
Right:
ld hl,coord
ld e,a
ld a,(hl)
cp 88
jp z,reset
inc (hl)
jp reset
Left:
ld hl,coord
ld e,a
ld a,(hl)
cp 0
jp z,reset
dec (hl)
reset:
ld a,e
ret
sp_put:
ld bc,(coord)
ld IX,PIC
;Partial Sprite Routine from AN PLUTO's
;Most are modified for speed and control purposes.
;Thanks AN PLUTO for this wonderful routine!
XORSPR:
ld a,05h
ld h,a
add a,b
add a,a
add a,b
ld l,a
add hl,hl
inc l
add hl,hl
ld b,7Ah
ld a,c
srl c
srl c
srl c
add hl,bc
and 00000111b
ld c,a
neg
add a,7
ld c,a
add a,a
add a,c
ld (Spr_Op+1),a
ld de,000Dh
ld b,8
Spr_Loop:
ld c,(IX+00h)
xor a
Spr_Op:
jr Spr_Op
srl c
rra
srl c
rra
srl c
rra
srl c
rra
srl c
rra
srl c
rra
srl c
rra
xor (hl)
ld (hl),a
ld a,c
dec hl
xor (hl)
ld (hl),a
add hl,de
inc IX
djnz SPR_Loop
ret
Reset_Screen:
ld hl,savesscreen
ld de,plotsscreen
ld bc,768
ldir
ret
quit:
call gbufclr
call clrscrn
call clrtxt
call clrfullscrn
ret
PIC:
.db %01000000
.db %01100000
.db %01110000
.db %01111000
.db %01111100
.db %01111000
.db %01111100
.db %01011000
.end
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
Follow-Ups: