Re: Convert to 83asm!!


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

Re: Convert to 83asm!!



Travis and I will try it tomorow at lunch.  Yes, we are insane.  We program
in hex code without a complier.

Grant

>This is the source to the small, usefull utility called program hider.
>All it does is display text, it would be soo easy to convert.  I need it
>for the 83 because everybody else at my school has an 83 and they need
>it for class.
>D_ZT_STR = displays a zero termination string in normal text at current
>location
>set 3,(iy+05) = write inverse text
>res 3,(iy+05) = write normal text
>Somebody, please convert this! It is easy!!
>
>#INCLUDE "ti82.h"
>
>STATUS = TEXT_MEM+1  ;the only variable
>
> .ORG START_ADDR
> .DB "Program Hider",0
>
>        jp FIRST
>          ld a,1
>        ld (STATUS),a
>MAIN:
>        HALT
>        call GET_KEY  ;get key press into a
>        cp $03
>        jr z,RIGHT
>        cp $02
>        jp z,LEFT
>        cp 15
>        jr z,QUIT
>        jr MAIN
>QUIT:
>        RET
>RIGHT:
>        ld a,(STATUS)
>        inc a
>          ld (STATUS),a
>        cp 4
>        jp z,FIRST
>        cp 3
>        jp z,LAST
>        cp 2
>        jp z,MIDDLE
>LEFT:
>        ld a,(STATUS)
>        dec a
>        ld (STATUS),a
>          cp 0
>        jp z,LAST
>        cp 1
>        jp z,FIRST
>        cp 2
>        jp z,MIDDLE
>FIRST:
>        ROM_CALL(CLEARLCD)  ;clear screen
>        ld a,1
>        ld (STATUS),a
>        ld hl,$0000
>        ld (CURSOR_ROW),hl  ;screen row
>        ld hl,EXEC
>        SET 3, (IY+05)
>        ROM_CALL(D_ZT_STR)
>        RES 3, (IY+05)
>        ld hl,$0500
>        ld (CURSOR_ROW),hl
>        ld hl,EDIT
>        ROM_CALL(D_ZT_STR)
>        ld a,10
>          ld (CURSOR_COL),a  ;screen column
>          ld a,0
>          ld (CURSOR_ROW),a
>        ld hl,NEW  ;string to display
>        ROM_CALL(D_ZT_STR)
>        jp MAIN
>MIDDLE:
>        ROM_CALL(CLEARLCD)
>        ld hl,$0000
>        ld (CURSOR_ROW),hl
>        ld hl,EXEC
>        ROM_CALL(D_ZT_STR)
>        ld hl,$0500
>        ld (CURSOR_ROW),hl
>        SET 3, (IY+05)
>        ld hl,EDIT
>        ROM_CALL(D_ZT_STR)
>        RES 3, (IY+05)
>        ld a,10
>          ld (CURSOR_COL),a
>          ld a,0
>          ld (CURSOR_ROW),a
>        ld hl,NEW
>        ROM_CALL(D_ZT_STR)
>        jp MAIN
>LAST:
>        ROM_CALL(CLEARLCD)
>        ld a,3
>        ld (STATUS),a
>        ld hl,$0000
>        ld (CURSOR_ROW),hl
>        ld hl,EXEC
>        ROM_CALL(D_ZT_STR)
>        ld hl,$0500
>        ld (CURSOR_ROW),hl
>        ld hl,EDIT
>        ROM_CALL(D_ZT_STR)
>        ld a,10
>          ld (CURSOR_COL),a
>          ld a,0
>        ld (CURSOR_ROW),a
>        SET 3,(IY+05)
>        ld hl,NEW
>        ROM_CALL(D_ZT_STR)
>        ld hl,$0001
>        ld (CURSOR_ROW),hl
>        ld hl,NUMBER1
>        ROM_CALL(D_ZT_STR)
>        RES 3,(IY+05)
>        ld hl,$0201
>        ld (CURSOR_ROW),hl
>        ld hl,CREATE
>        ROM_CALL(D_ZT_STR)
>        jp MAIN
>
>
>EXEC:
>        .db "EXEC",0
>EDIT:
>        .db "EDIT",0
>NEW:
>        .db "NEW",0
>NUMBER1:
>        .db "1:",0
>CREATE:
>        .db "Create New",0
>
>.end
>.end