NEW AUTO 3,1 *-------------------------------------- * FILLRECT * 1 : OP (XOR,SET,ORA) * 2 : Mode * 3 : Color * 4 : SrcX1 * 6 : SrcY1 * 8 : SrcX2 * 10 : SrcY2 *-------------------------------------- FILLRECT jsr HLINE ldy CB.Cache+S.CB.Y1 cpy CB.Cache+S.CB.Y2 beq .8 .2 iny phy jsr LBUF.DrawAtY ply cpy CB.Cache+S.CB.Y2 bne .2 .8 rts *-------------------------------------- * 4 : SrcX1 * 6 : SrcY1 * 8 : SrcX2 * 10 : SrcY2 * 18 : S.CB.DstPtr = Size in Bytes to save this RECT *-------------------------------------- GETRECTBUFSIZE >LDYA CB.Cache+S.CB.X1 jsr DIVMOD7YA sta ZPTmpByte A = X1 div 7 >LDYA CB.Cache+S.CB.X2 jsr DIVMOD7YA inc A = (X2 mod 7) + 1 sec sbc ZPTmpByte (COL2+1)-COL1 tax lda CB.Cache+S.CB.Y2 sec sbc CB.Cache+S.CB.Y1 tay lda #0 jmp YAMultX *-------------------------------------- MAN SAVE usr/src/drv/dhgr.drv.s.rect LOAD usr/src/drv/dhgr.drv.s ASM