Login

Subversion Repositories NedoOS

Rev

Rev 1210 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

;   6.1.97  PYXEL
; 19.11.94  -1 byte
; 29.10.94  ROM
; 24.11.92  -BEEP
; 10.11.92  -CR^..
; 17.10.92  -INIWT
;  13.9.92
; 20.02.91

; wtro.asm (tbwt.as)

;=156/239

ttyout  EQU     #A
g_tydv  EQU     #13
l_im2   EQU     #1E

       if 0
$STR
        LD      C,ttyout
1$
        LD      A,(HL)
        CP      #D
        RET     Z

        RST     16
        INC     HL
        JR      1$
;-----
$G_SCR
        LD      HL,$PAPER
        EXX
$EMPTY  RET
;-----
$WTPOS
        LD      A,(IX+1)
        ADD     A,H
        LD      H,A
        LD      A,(IX+6)
        ADD     A,L
        LD      L,A
EPOS1
        LD      ($XYpos),HL
        LD      B,H
        LD      C,L
        CALL    sPRAD
E_POS
        EXX
        LD      ($xypos),DE
        EXX
        RET
;-----
$UNVAN
        PUSH    HL
        EXX
        POP     HL
        LD      B,A
        EX      AF,AF'
1$
        LD      A,(HL)
        CP      -1
        JR      Z,2$

        CP      B
        JR      Z,2$

        INC     HL
        INC     HL
        INC     HL
        JR      1$
;-----
2$
        INC     HL
        LD      C,(HL)
        INC     HL
        LD      B,(HL)
        PUSH    BC
        EXX
        EX      AF,AF'

        RET
       endif
;-----
sLWT
;101(65):lwt   - ╨а╨░╤Б╨┐╨╡╤З╨░╤В╨║╨░ ╨╖╨░╨┤╨░╨╜╨╜╨╛╨│╨╛ ╨║╨╛╨╗╨╕╤З╨╡╤Б╤В╨▓╨░ ╤Б╤В╤А╨╛╨║ ╨▓ ╨╛╨║╨╜╨╡; A - ╨╜╨╛╨╝╨╡╤А ╤Б╤В╤А╨╛╨║╨╕ (╨╜╨░╤З╨░╨╗╨░), IX - ╨▓╨╡╨║╤В╨╛╤А ╨╛╨║╨╜╨░, HL - ╨░╨┤╤А╨╡╤Б ╤Б╤В╤А╨╛╨║ ╤В╨╡╨║╤Б╤В╨░ ╨┤╨╗╤П ╨┐╨╡╤З╨░╤В╨╕, B - ╨║╨╛╨╗╨╕╤З╨╡╤Б╤В╨▓╨╛ ╤Б╤В╤А╨╛╨║, ╨║╨╛╤В╨╛╤А╨╛╨╡ ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨╛ ╤А╨░╤Б╨┐╨╡╤З╨░╤В╨░╤В╤М
        LD      D,B ;lines to print
        INC     D
        LD      E,(IX+7) ;menuwid
        LD      C,(IX+6) ;menux_chrs
        ADD     A,B
        ADD     A,(IX+1) ;y
        LD      B,A ;last y
        JR      PRWT
;-----
       if 0
$ADRWT
        PUSH    IX
        POP     HL
        LD      DE,8
        ADD     HL,DE
$LENWT
        LD      D,(IX+2)
        DEC     D
        LD      E,(IX+7)
        LD      A,(IX+1)
        ADD     A,D
        LD      B,A
        LD      C,(IX+6)
       endif
PRWT
        PUSH    BC
PRWT0
        DEC     D ;lines to print
        POP     BC
        RET     Z

        CALL    PRWT5
        PUSH    BC
        LD      B,E ;menuwid
PRWT1
        LD      A,(HL)
        CP      3
        JR      Z,PRWT6

        CP      #D
        JR      Z,PRWT2

        CALL    sPRCHR
        INC     HL
        DJNZ    PRWT1

        LD      A,(HL)
        CP      #D
        JR      NZ,PRWT0

        INC     HL
        JR      PRWT0
;-----
PRWT2
        LD      A," "
        CALL    sPRCHR
        DJNZ    PRWT2

        INC     HL
        JR      PRWT0
;-----
PRWT6
        LD      A," "
        CALL    sPRCHR
        DJNZ    PRWT6

        DEC     D ;lines to print
        POP     BC
        RET     Z

        CALL    PRWT5
        PUSH    BC
PRWT3
        LD      B,E ;menuwid
        JR      PRWT6
;-----
PRWT5
        LD      A,D ;lines to print
        PUSH    BC
        EXX
        POP     BC
        SUB     B ;last y
        NEG
        LD      B,A
        JP      sPRAD ;setxy
;-----
       if 1 ;todo textmode
AWTCM
        ADD     A,(IX+1) ;hinty
        LD      B,A
        PUSH    BC
        CALL    sWATRB
        POP     BC
        LD      A,C
        LD      B,(IX+3)
        RET
;-----
;99(63):awt   - ╨Я╨╛╨┤╨║╤А╨░╤И╨╕╨▓╨░╨╡╤В ╤Б╤В╤А╨╛╨║╤Г ╨▓╨╜╤Г╤В╤А╨╕ ╨╛╨║╨╜╨░, c ╤А╨░╨╝╨║╨╛╨╣. ╨Т╤Е╨╛╨┤: IX = ╨░╨┤╤А╨╡╤Б ╨▓╨╡╨║╤В╨╛╤А╨░ ╨╛╨║╨╜╨░, A = ╨╜╨╛╨╝╨╡╤А ╤Б╤В╤А╨╛╨║╨╕, ╨║╨╛╤В╨╛╤А╤Г╤О ╨╜╨╡╨╛╨▒╤Е╨╛╨┤╨╕╨╝╨╛ ╨┐╨╛╨┤╤Б╨▓╨╡╤В╨╕╤В╤М (╨╜╤Г╨╝╨╡╤А╨░╤Ж╨╕╤П ╨╛╤В 1), B = ╤Ж╨▓╨╡╤В
sAWT
        LD      C,B ;color
        CALL    AWTCM
AWT_1
        LD      (DE),A
        INC     DE
        DJNZ    $-2
        RET
;-----
;100(64):awtc  - ╨Я╨╛╨┤╨║╤А╨░╤И╨╕╨▓╨░╨╡╤В ╤Б╤В╤А╨╛╨║╤Г ╨▓╨╜╤Г╤В╤А╨╕ ╨╛╨║╨╜╨░, ╨╜╨╡ ╨╖╨░╤В╤А╨░╨│╨╕╨▓╨░╤П ╤А╨░╨╝╨║╤Г, IX=╨▓╨╡╨║╤В╨╛╤А ╨╛╨║╨╜╨░, A=╨╜╨╛╨╝╨╡╤А ╤Б╤В╤А╨╛╨║╨╕, B=╤Ж╨▓╨╡╤В
sAWTC
        LD      C,B
        CALL    AWTCM
        DEC     B
        DEC     B
        INC     DE
        JR      AWT_1
       endif
;-----
sDRAW
        LD      B,L
        LD      A,(IX+4)
DRAW_1
        LD      (DE),A
        INC     E
        DJNZ    $-2

        RET
;-----
       if 0
$PYXEL
       LD   DE,#5800
        ADD     HL,DE
        EX      DE,HL
        JR      DRAW_1
       endif
;-----
sWATRB ;TODO ╨┐╨╡╤А╨╡╨┤╨╡╨╗╨░╤В╤М ╨┐╨╛╨┤ textmode
        LD      C,(IX)
        CALL    sADDR
        EXX
        LD      A,D
        AND     #18
        RRCA
        RRCA
        RRCA
        OR      #58
        LD      D,A
        RET
;-----
sAT_NEXT ;TODO ╨┐╨╡╤А╨╡╨┤╨╡╨╗╨░╤В╤М ╨┐╨╛╨┤ textmode
        EX      AF,AF'
        LD      A,E
        SUB     L
        ADD     A,#20
        LD      E,A
        JR      NC,$+3

        INC     D

        EX      AF,AF'

        RET
;-----
sATRB ;TODO ╨┐╨╡╤А╨╡╨┤╨╡╨╗╨░╤В╤М ╨┐╨╛╨┤ textmode
        PUSH    AF
        EXX
        LD      C,E
        LD      A,D
        RRCA
        RRCA
        RRCA
        AND     3
        OR      #58
        LD      B,A
        POP     AF
        LD      (BC),A
        EXX
        RET
;-----
sADDR ;TODO ╨┐╨╡╤А╨╡╨┤╨╡╨╗╨░╤В╤М ╨┐╨╛╨┤ textmode
        LD      A,B
        RRCA
        RRCA
        RRCA
        AND     #E0
        LD      L,A
        LD      A,B
        AND     #18
        OR      #40
        LD      H,A
        LD      B,0
        ADD     HL,BC
        EX      DE,HL
        EXX
        RET
;-----
sSPACE ;TODO ╨┐╨╡╤А╨╡╨┤╨╡╨╗╨░╤В╤М ╨┐╨╛╨┤ textmode
       if PRSTDIO
        push bc
        push de
        push hl
        push ix
        ld a,' '
        call sendchar
        pop ix
        pop hl
        pop de
        pop bc
        ret
       else
        EXX
        XOR     A
        LD      B,D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        LD      (DE),A
        INC     D
        INC     E
        JR      Z,$+3
        LD      D,B

        EXX
        RET
       endif
;-----
       if 0
$CLS
        OR      A
        JR      NZ,1$

        LD      HL,#4000
        LD      BC,#17FF
        CALL    2$
        LD      A,($PAPER)
        CALL    1$
        LD      BC,$ABORD
        LD      A,($BORD)
        AND     7
        OUT     (C),A
        RET
;-----
1$
        LD      HL,#5800
        LD      BC,#2FF
2$
        LD      (HL),A
        LD      E,L
        LD      D,H
        INC     DE
        LDIR
        RET
       endif
;-----

       if 0
; 29.10.94  16:41 ROM
; 24.11.92   0:13 -BEEP
; 13.11.92   1:20 DI, EI
; 11.11.92  21:15 Y_+^ON
; 29.11.90  22:30

; hmnwt.as
;=242/346/329/351
$Y____
        DI
        EXX
        LD      BC,($XYpos)
;Setcr
        LD      A,B
        LD      ($XSCRS+1),A
        LD      A,($BYTST)
        LD      B,A
        XOR     A

        ADD     A,C
        DJNZ    $-1

        LD      ($XSCRS),A
        EXX
        CALL    $PUTCR
        OR      -1
        LD      HL,$CURS
        LD      C,l_im2
        RST     16
        CALL    $ONCUR
        EI
        RET
;-----
$N____
        DI
        XOR     A
        LD      HL,$CURS
        LD      C,l_im2
        RST     16
        PUSH    AF
        CALL    $GETCR
        POP     AF
        EI
        RET
;-----
$CONYX
        PUSH    DE
        POP     HL
        SRL     H
        RR      L
        SRL     H
        RR      L
        SRL     H
        RR      L
        LD      A,D
        AND     #18
        OR      #47 ;7-NOMER  BYTE V LITERE ,PO KOTOROI POLZAET KURSOR
        LD      H,A
        RET
;______
$INNI
        LD      A,($BYTST)
        LD      B,A
        LD      DE,($XSCRS)
        RET
;-----
        IF      0

        DEFB    -1,#1F,1,1
VCT
        DEFB    2,3,15,20

        LD      IX,VCT
        CALL    $EWINI

        CALL    $UPSCR
        CALL    $UPSCR
        CALL    $UPSCR
        CALL    $UPSCR
        CALL    $UPSCR
        CALL    $UPSCR
        RET
        ENDIF

; 24.10.91  03:11 PSKOV

;      rolwt.as

;LFT    EQU  -4
;RT     EQU  -3
Delay   EQU     -2
Scroll  EQU     -1;8,4,2 OR 1
X_COOR  EQU     0 ;UPlefr UGL
Y_COOR  EQU     1 ;KOORD.
Y_SIZE  EQU     2 ;RAZMER
X_SIZE  EQU     3 ;OKNA

$EWINI
        LD      A,(IX+Delay)
        LD      ($SPD+2),A
        LD      ($CDE+1),HL

        LD      B,(IX+Scroll)
        LD      C,B
        LD      A,16

        RRCA
        RRC     C
        JR      NC,$-3

        LD      ($UPSCR+1),A
        LD      ($DWSCR+1),A
        LD      C,B
        LD      H,(IX+Y_SIZE)
        DEC     H
        DEC     H
        LD      D,(IX+Y_COOR)
        INC     D
        LD      E,(IX+X_COOR)
        INC     E
        LD      A,H
        LD      ($Z2^+1),A
        RLCA
        RLCA
        RLCA
        SUB     B
        LD      ($UP+1),A
        LD      ($DOWN+1),A
        LD      A,(IX+X_SIZE)
        DEC     A
        DEC     A
        LD      ($LDIRR+1),A
        EX      DE,HL
        PUSH    HL
        CALL    1$
        LD      ($UPDE+1),HL

        CALL    $INCH
        DJNZ    $-3

        LD      ($UPHL+1),HL
        POP     HL
        LD      A,H
        ADD     A,D
        LD      H,A
        CALL    1$
        CALL    $DECH
        DEC     H
        LD      ($DNDE+1),HL
        LD      B,C

        CALL    $DECH
        DEC     H
        DJNZ    $-4

        LD      ($DNHL+1),HL
        RET
;-----
1$
        LD      A,H
        RRCA
        RRCA
        RRCA
        XOR     L
        AND     #E0
        XOR     L
        LD      L,A
        LD      A,H
        AND     #18
        OR      #40
        LD      H,A
        RET
;-----
$INCH
        INC     H    ; ROM
        LD      A,7
        AND     H
        RET     NZ

        LD      A,#20
        ADD     A,L
        LD      L,A
        RET     C

        LD      A,H
        SUB     8
        LD      H,A
        RET
;**;**
       endif