;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for MEDIUM-RESOLUTION-COLOR version 2.2 ;;; Reason: ;;; add filing, some frame-grabber stuff & misc., mostly for fed. ;;; Written 4-Mar-86 11:04:28 by PECANN at site LMI Cambridge ;;; while running on The Importance of Being Earnest from band 1 ;;; with Experimental System 110.90, Experimental Local-File 66.1, Experimental FILE-Server 18.1, Experimental Lambda-Diag 3.0, Experimental KERMIT 31.1, NIL Tiger 23.0, Experimental Unix-Interface 9.0, Experimental Window-Maker 1.0, Experimental ZMail 65.6, Experimental TCP-Kernel 39.4, Experimental TCP-User 62.2, Experimental TCP-Server 45.5, Experimental Tape 1.11, Experimental MEDIUM-RESOLUTION-COLOR 2.1, microcode 1368, SDU ROM 8, Patched from 110.31 Alphafork '86.3.3 by pc.. ; From file DJ: L.VIDEO-DEVICE.GREY; GREY-WINDOW.LISP#20 at 4-Mar-86 11:04:49 #8R GREY#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "GREY"))) (COMPILER::PATCH-SOURCE-FILE "SYS: VIDEO-DEVICE; GREY; GREY-WINDOW  " (DEFMETHOD (GREY-SCREEN :MOUSEBUTTON-GRAB-FRAME) (&OPTIONAL (CHAN 0) (MASK 0) (SCAN-MODE NIL) (EXT-SYNC NIL)) (IF (NOT SCAN-MODE) ;test SCAN-MODE flag (COND ((NOT EXT-SYNC) (WRITE-MODE (DPB CHAN 1402 44000201)) ;Enter FG MODE (PROCESS-SLEEP 3) (LOOP WHILE (NOT (ZEROP (TV:MOUSE-BUTTONS)))) (WRITE-MODE (DPB CHAN 1402 44000241))) ;Back to TV MODE (T (WRITE-MODE (DPB MASK 3010 (DPB CHAN 1402 44001202)));Enter FG MODE, externally sync'ed (PROCESS-SLEEP 3) (LOOP WHILE (NOT (ZEROP (TV:MOUSE-BUTTONS)))) (WAIT-FOR-VSYNC) (WRITE-MODE (DPB MASK 3010 ;Back to TV MODE, externally sync'ed (DPB CHAN 1402 44001242)));and still masked. (WAIT-FOR-VSYNC) ;When sure frame grabbing has stopped (WRITE-MODE (DPB CHAN 1402 44001242)))) ;clear mask field. (COND ((NOT EXT-SYNC) ;SCAN-MODE flag is set (WRITE-MODE (DPB CHAN 1402 44100201)) ;Enter FG MODE (PROCESS-SLEEP 3) (LOOP WHILE (NOT (ZEROP (TV:MOUSE-BUTTONS)))) (WRITE-MODE (DPB CHAN 1402 44100241))) ;Back to TV MODE (T (WRITE-MODE (DPB MASK 3010 (DPB CHAN 1402 44101202))) ;Enter FG MODE, externally sync'ed (PROCESS-SLEEP 3) (LOOP WHILE (NOT (ZEROP (TV:MOUSE-BUTTONS)))) (WAIT-FOR-VSYNC) (WRITE-MODE (DPB MASK 3010 ;Back to TV MODE, externally sync'ed (DPB CHAN 1402 44101242))) ;and still masked. (WAIT-FOR-VSYNC) ;When sure frame grabbing has stopped (WRITE-MODE (DPB CHAN 1402 44101242)))))) ;clear mask field. )) ; From file DJ: L.VIDEO-DEVICE.GREY; GREY-WINDOW.LISP#20 at 4-Mar-86 11:05:06 #8R GREY#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "GREY"))) (COMPILER::PATCH-SOURCE-FILE "SYS: VIDEO-DEVICE; GREY; GREY-WINDOW  " (DEFMETHOD (GREY-SCREEN :GRAB-FRAME-NOW) (&OPTIONAL (CHAN 0) (MASK 0) (SCAN-MODE NIL) (EXT-SYNC NIL)) (IF (NOT SCAN-MODE) ;test SCAN-MODE flag (COND ((NOT EXT-SYNC) (WRITE-MODE (DPB CHAN 1402 44000201)) ;Enter FG MODE (PROCESS-SLEEP 3) (WRITE-MODE (DPB CHAN 1402 44000241))) ;Back to TV MODE (T (WRITE-MODE (DPB MASK 3010 (DPB CHAN 1402 44001202)));Enter FG MODE, externally sync'ed (PROCESS-SLEEP 3) (WAIT-FOR-VSYNC) (WRITE-MODE (DPB MASK 3010 ;Back to TV MODE, externally sync'ed (DPB CHAN 1402 44001242)));and still masked. (WAIT-FOR-VSYNC) ;When sure frame grabbing has stopped (WRITE-MODE (DPB CHAN 1402 44001242)))) ;clear mask field. (COND ((NOT EXT-SYNC) ;SCAN-MODE flag is set (WRITE-MODE (DPB CHAN 1402 44100201)) ;Enter FG MODE (PROCESS-SLEEP 3) (WRITE-MODE (DPB CHAN 1402 44100241))) ;Back to TV MODE (T (WRITE-MODE (DPB MASK 3010 (DPB CHAN 1402 44101202))) ;Enter FG MODE, externally sync'ed (PROCESS-SLEEP 3) (WAIT-FOR-VSYNC) (WRITE-MODE (DPB MASK 3010 ;Back to TV MODE, externally sync'ed (DPB CHAN 1402 44101242))) ;and still masked. (WAIT-FOR-VSYNC) ;When sure frame grabbing has stopped (WRITE-MODE (DPB CHAN 1402 44101242)))))) ;clear mask field. )) ; From file DJ: L.VIDEO-DEVICE.GREY; GREY-WINDOW.LISP#20 at 4-Mar-86 11:05:17 #8R GREY#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "GREY"))) (COMPILER::PATCH-SOURCE-FILE "SYS: VIDEO-DEVICE; GREY; GREY-WINDOW  " (DEFMETHOD (GREY-SCREEN :LOAD-COLORMAP-FALSE-COLOR-ODD) () (DOTIMES (I 256.) (IF (ZEROP (LOGAND I 1)) (WRITE-COLOR-MAP I I I I NIL SELF) (COND ((LESSP I 128.) (WRITE-COLOR-MAP I (+ 128. I) (* I 2) (MAX (- I 64.) 0) NIL SELF)) ((LESSP I 192.) (WRITE-COLOR-MAP I (- 384. I) 255. (- I 64.) NIL SELF)) (T (WRITE-COLOR-MAP I (- 384. I) 255. (- I 64.) NIL SELF)))))) )) ; From file DJ: L.VIDEO-DEVICE.GREY; GREY-WINDOW.LISP#20 at 4-Mar-86 11:05:40 #8R GREY#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "GREY"))) (COMPILER::PATCH-SOURCE-FILE "SYS: VIDEO-DEVICE; GREY; GREY-WINDOW  " (DEFVAR *FILING-ARRAY* NIL "FOR LOADING AND SAVING IMAGES; THEY SHOULD ALWAYS BE `FASD'ED AS THIS SYMBOL") (DEFMETHOD (GREY-SCREEN :LOAD) (FILE) (LET (*FILING-ARRAY*) (LOAD FILE) *FILING-ARRAY*)) (DEFMETHOD (GREY-SCREEN :SAVE) (ARRAY FILE) (LET ((*FILING-ARRAY* ARRAY)) (COMPILER:FASD-SYMBOL-VALUE FILE '*FILING-ARRAY*))) (defmethod (grey-screen :blt) (from to) (blt from to)) (defmethod (grey-screen :grab-frame) () (grab-frame)) ))