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