NEW AUTO 3,1 .LIST OFF *-------------------------------------- * BUT.New hParent,X1,Y1,HK,EV,pLabel,F 8 *-------------------------------------- BUT.New lda #S.OBJ.T.BUT jsr OBJ.Create bcs .9 >PULLA ldy #S.OBJ.F sta (ZPObjPtr),y ldy #S.BUT.pLabel jsr OBJ.PullWordY stx ZPPtr1 sta ZPPtr1+1 ldy #$ff .1 iny lda (ZPPtr1),y bne .1 tya inc inc ldy #S.OBJ.W sta (ZPObjPtr),y ldy #S.OBJ.H lda #1 sta (ZPObjPtr),y >PULLA ldy #S.BUT.EV sta (ZPObjPtr),y >PULLA ldy #S.BUT.HotKey sta (ZPObjPtr),y jsr OBJ.PullY1X1hParent jsr CONT.Insert bcs .99 lda hObj * clc rts .9 >POP 7 .99 rts *-------------------------------------- BUT.Run lda (pStack) Event ldy #S.BUT.HotKey cmp (ZPObjPtr),y beq .8 ldy #S.OBJ.S lda (ZPObjPtr),y bpl .9 lda (pStack) Event cmp #C.SPACE bne .9 .8 ldy #S.BUT.EV lda (ZPObjPtr),y clc rts .9 lda #0 sec rts *-------------------------------------- BUT.Draw ldy #S.BUT.pLabel lda (ZPObjPtr),y sta ZPPtr1 iny lda (ZPObjPtr),y sta ZPPtr1+1 ldx #SEQ.INVERSE-SEQS jsr LB.SeqOut ldx #C.SPACE ldy #S.OBJ.S lda (ZPObjPtr),y bpl .1 ldx #'[' .1 txa jsr LB.COut ldy #S.OBJ.InnerW lda (ZPObjPtr),y tax dex dex ldy #0 .2 lda (ZPPtr1),y beq .3 jsr LB.COut iny dex bne .2 .3 txa beq .5 lda #C.SPACE .4 jsr LB.COut dex bne .4 .5 ldx #C.SPACE ldy #S.OBJ.S lda (ZPObjPtr),y bpl .20 ldx #']' .20 txa jsr LB.COut .8 clc rts *-------------------------------------- MAN SAVE usr/src/lib/libtui.s.but LOAD usr/src/lib/libtui.s ASM