[A83] Re: porting help
[Prev][Next][Index][Thread]
[A83] Re: 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"
.include "ti83plus.inc" ;probably
.LIST
coord = statvars 
> .org 9327h
.org 9D93h              ;afaik
        xor     a
        jr      start
        .dw     0
        .dw     info
info:
        .db "ZMOUSE v1.1 by Bjay Jeon",0
start:
        bcall(_clrlcdfull)             ;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
        bcall(_GRBUFCPY_V)  ;or _grbufcpy, just look around in ti83plus.inc
        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
        bcall(_ClrLCDFull)
        ret
PIC:
    .db %01000000
    .db %01100000
    .db %01110000
    .db %01111000
    .db %01111100
    .db %01111000
    .db %01111100
    .db %01011000
;this should work.
.end
-- 
    Ronald Teune @School
    http://www.zeekoe.cjb.net
    http://ti.zeekoe.cjb.net
    Anything that's good&useful is made of chocolats
Sent through GMX FreeMail - http://www.gmx.net
Follow-Ups:
References: