NEW AUTO 3,1 *-------------------------------------- GFX.Open >PUSHW L.DEV.GFX >PUSHBI 0 >SYSCALL Open bcs .9 >STA.G hDevGFX bra GFX.TEXT .9 rts *-------------------------------------- GFX.Close >LDA.G hDevGFX beq .9 >SYSCALL Close .9 rts *-------------------------------------- GFX.TEXT ldy #S.PS.hStdIn lda (pPS),y tax lda hFDs-1,x bra GFX.IOCTL GFX.TEXT.RTS clc rts *-------------------------------------- GFX.GR >LDA.G hDevGFX beq GFX.TEXT.RTS GFX.IOCTL >PUSHA >PUSHBI IOCTL.CONTROL >PUSHWZ >SYSCALL IOCTL rts *-------------------------------------- * (Y X C) *-------------------------------------- GFX.PLOT ldx #S.CB.CMD.SETPIXEL jsr GFX.WriteX lda pStack clc adc #8 sta pStack clc rts *-------------------------------------- * (Y2 X2 Y1 X1 C) *-------------------------------------- GFX.RECT ldx #S.CB.CMD.FILLRECT jsr GFX.WriteX lda pStack clc adc #12 sta pStack clc rts *-------------------------------------- GFX.WriteX ldy #1 lda (pStack) sta (pStack),y lda #S.CB.M.C16 sta (pStack) >PUSHBI S.CB.OP.SET txa >PUSHA >PUSHB.G hDevGFX >PUSHBI IOCTL.WRITE lda pStack clc adc #2 tay lda pStack+1 adc #0 >PUSHYA >SYSCALL IOCTL clc DHGR.DRV bug ? rts *-------------------------------------- *-------------------------------------- *-------------------------------------- MAN SAVE usr/src/bin/forth.s.gfx LOAD usr/src/bin/forth.s ASM