Artifact 7154b7f9677b4cd6f00e6a4085d0df1a35ac438eb13b7869d8a0f754c9eeb891:
- File
psl-1983/3-1/windows/display-char.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1486) [annotate] [blame] [check-ins using] [more...]
- File
psl-1983/windows/display-char.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1486) [annotate] [blame] [check-ins using]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % DISPLAY-CHAR.SL % % Author: Alan Snyder % Hewlett-Packard/CRC % Date: 8 October 1982 % % This file defines MACROS. Load it at Compile Time! % % Display characters are ASCII characters that are "tagged" with display % enhancement bits. They are used by the Windows package. This file defines % macros for creating and manipulating display characters. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (load fast-int) (put 'INVERSE-VIDEO 'enhancement-bits 1) (put 'BLINK 'enhancement-bits 2) (put 'UNDERLINE 'enhancement-bits 4) (put 'INTENSIFY 'enhancement-bits 8) (dm dc-make-enhancement-mask (form) (setf form (cdr form)) (let ((mask 0) bits) (for (in keyword form) (do (if (setf bits (get keyword 'enhancement-bits)) (setf mask (| mask bits)) (StdError (BldMsg "Undefined enhancement: %p" keyword)) ))) (<< mask 8))) (defmacro dc-make-font-mask (font-number) `(<< ,font-number 12)) (defmacro display-character-cons (enhancement-mask font-mask char-code) `(| (| ,enhancement-mask ,font-mask) ,char-code)) (defmacro dc-enhancement-mask (dc) `(& ,dc 16#F00)) (defmacro dc-enhancement-index (dc) % Use this to index an array. `(& (>> ,dc 8) 16#F)) (defmacro dc-font-mask (dc) `(& ,dc 16#F000)) (defmacro dc-font-number (dc) `(>> ,dc 12)) (defmacro dc-character-code (dc) `(& ,dc 16#FF))