Login

Subversion Repositories NedoOS

Rev

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


GRFPAL
        LD B,16
GRFPAL0 ;
        PUSH DE
        LD C,(HL) ;G
        INC HL
        LD D,(HL) ;R
        INC HL
        LD E,(HL) ;B
        INC HL
;%grbG11RB
        RR C
        RLA
        RR D
        RLA
        RR E
        RLA
        RR C
        RLA
        ADD A,A
        ADD A,A
      ;OR 3 ;for set bits
        RR D
        RLA
        RR E
        RLA
        POP DE
        CPL
        LD (DE),A
        INC DE
         ld (de),a
         inc de
        DJNZ GRFPAL0
        RET

GRF2ATM
        LD DE,grfadr+#84
        ld a,(user_scr0_high) ;ok
        CALL GRFFIELD
        ;CALL SETPG0
        EXD
;hl=was atr
        CALL GRFREATR
      ;LD HL,grfatr
      ;LD DE,grfatr+1
      ;LD BC,80*200-1
      ;LD (HL),7
      ;LDIR
        ld a,(user_scr0_low) ;ok
        LD DE,grfatr
GRFFIELD
        SETPG32KHIGH ;CALL SETPG
        LD HL,(grfadr+#80) ;YX
        LD B,H
        SRL L
        LD H,#C0
        jr NC,$+4
        LD H,#E0
        INC B
        DEC B
        jr Z,GRFFIELDY0
        LD DE,40
        ADD HL,DE
        DJNZ $-1
GRFFIELDY0
        LD A,(grfadr+#82) ;wid
        LD B,A
GRFFIELD0 ;
        PUSH BC
        CALL GRF2ATMPP
        LD A,H
        XOR #20
        LD H,A
        BIT 5,H
        jr NZ,$+3
        INC HL
        POP BC
        DJNZ GRFFIELD0
        RET

GRF2ATMPP
        PUSH HL
        LD BC,40
        LD A,(grfadr+#83) ;hgt
        LD LX,A
GRF2ATM1 ;
        LD A,(DE)
        INC DE
        LD (HL),A
        ADD HL,BC
        DEC LX
        jr NZ,GRF2ATM1
        POP HL
        RET

GRFREATR
        PUSH HL ;was atr
        LD A,(grfadr+#83) ;hgt
        LD E,A
        LD D,0
        LD A,(grfadr+#82) ;wid
        LD B,A
        LD HL,grfatr
        PUSH HL
        ADD HL,DE
        DJNZ $-1
        LD (grfend),HL ;wid*hgt+grfatr
        POP DE ;grfatr
        POP HL ;was atr
GRFREATR0
        LD B,(HL)
        INC HL
        LD A,(HL)
        INC HL
        LD (DE),A
        INC DE
        DJNZ $-2
        EXD
grfend=$+1
        LD BC,0
        OR A
        SBC HL,BC
        ADD HL,BC
        EXD
        jr C,GRFREATR0
        RET