Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

EDITON  DEFB 0
SPRN    DEFB 0
DIML    DEFB 0
EEX     EQU MAN
EEY     EQU MAN+1
EEF     EQU MAN+2
EET     EQU MAN+11
UNDO    DEFB 63

ESTAY   LD DE,(EEX) ;поставь спр
        LD (TX),DE
        CALL INFR
        JR C,ESTA1
        CALL CENTR
        CALL ALLSPF
        JR ESTAY
ESTA1   LD A,(XMAX)
        CP E
        RET C
        LD A,(YMAX)
        CP D
        RET C
        CALL GSP
        LD BC,(SPRN)
        CP C
        JR Z,ESTA2
        LD (UNDO),A
        EXX
        LD A,(SPRN)
        LD (HL),A
ESTA2   JP PXY

EDITOR  LD BC,#FEFE
        IN A,(C)
        CPL
        AND 3
        RET NZ
        LD B,#BF  ;редактор
;K/L - sprn-/+, J-pos pntr, ENTER - 8X2/4X4
;QAOP+Space - put spr & move (+K -pntr move), 1+2 -clear 16x16,3 -undo
        IN A,(C)
        CPL
        AND %11111
        OR A
        JR Z,XEE0
        LD (EDITON),A
        LD C,A
        XOR A
        LD (EET),A
        LD A,#C9
        LD (BEEP),A
        LD (ACT_0),A
        LD HL,SPRN
        RES 7,(HL)
        LD A,C
        RRA
        JR NC,XEE44
        LD HL,DIML
        LD A,(HL)
        XOR 1
        LD (HL),A
        PUSH AF
        CALL Z,SET4x4
        POP AF
        CALL NZ,SET8x2
        LD HL,0
        LD (EEX),HL
        CALL LCOUNT
        JP ALLSPF
XED1    RRA
        JR NC,XEE0
        LD HL,(PPX)
        LD (EEX),HL
        JP ALLSPF
XEE22   RRA
        RET C
XEE44   RRA
        JR NC,XEE3
        INC (HL)
        JR XEE0
XEE3    RRA
        JR NC,XED1
        DEC (HL)
XEE0    LD A,(EDITON)
        OR A
        RET Z
        LD A,(FLR)
        LD (EEF),A
        CALL CONTR
        LD A,(CONTRB)
        BIT 4,A
        CALL NZ,ESTAY
        LD A,(CONTRB)
        RRA
        JR NC,XEE4
        LD HL,EEY
        DEC (HL)
        LD A,#81
        CP (HL)
        JR NC,XEEe
        INC (HL)
        JR XEEe
XEE4    RRA
        JR NC,XEM
        LD HL,EEY
        INC (HL)
        LD A,(YMAX)
        CP (HL)
        JR NC,XEEe
        DEC (HL)
        JR XEEe
XEM     RRA
        JR NC,XEE1X
        LD A,(XMAX)
        LD HL,EEX
        INC (HL)
        CP (HL)
        JR NC,XEEe
        DEC (HL)
        JR XEEe
XEE1X   RRA
        JR NC,XEEE
        LD HL,EEX
        DEC (HL)
        LD A,(HL)
        CP #81
        JR C,XEEe
        INC (HL)
XEEe    LD HL,(EEX)
        LD (TX),HL
        CALL INFR
        JR C,XEEE
        CALL CENTR
        CALL ALLSPF
XEEE
XEE     CALL Xeee
        JP LOOPER
Xeee    LD A,2
        LD (HIGH),A
        CALL STS
        CALL MEM7
        LD HL,#01D
        LD (SX),HL
        LD A,(SPRN)
        CALL WB
        LD HL,#91D
        LD (SX),HL
        LD A,(EEX)
        CALL WB
        LD HL,#C1D
        LD (SX),HL
        LD A,(EEY)
        CALL WB
        LD HL,#31D
        LD (SX),HL
        CALL PT128
        LD HL,(EEX)
        LD (TX),HL
        CALL GSP
        PUSH AF
        CALL MEM7
        POP AF
        CALL WB
        LD HL,#1104
        LD (SX),HL
        LD A,(FLR)
        CPL
        ADD A,3
        CALL WB
        XOR A
        LD (HIGH),A
        CALL PT128
        LD A,(SPRN)
        AND #7F
        LD L,0
        SRL A
        RR L
        ADD A,#B0
        LD H,A
        LD DE,DSCR+256
        PUSH DE
        LD B,64
XEE7    INC HL
        LD A,(HL)
        LD (DE),A
        INC HL
        INC DE
        DJNZ XEE7
        CALL MEM7
        CHN$ NEG_
        LD HL,#110D
        LD BC,#204
        POP DE
        CALL PUTSIM
        LD A,#78
        CALL ATRBAR
        CALL STS
        CALL PT128
        LD BC,#F7FE
        IN A,(C)
        AND 7
        CP 4
        JR Z,EFILL
        CP 3
        RET NZ
        LD A,(UNDO)
        LD (SPRN),A
        JP ESTAY

EFILL   LD HL,(EEX);заполн 16X16
        LD A,H
        AND #F0
        LD H,A
        LD A,L
        AND #F0
        LD L,A
        LD (EEX),HL
        LD C,16
EFI0    LD B,16
EFI1    PUSH BC
        CALL ESTAY
        POP BC
        LD HL,EEX
        INC (HL)
        DJNZ EFI1
        LD A,(HL)
        SUB 16
        LD (HL),A
        INC HL
        INC (HL)
        DEC C
        JR NZ,EFI0
        JP ALLSPF