diff --git a/library/BIGBITMAPS b/library/BIGBITMAPS
index cf176f5b..d8638ffe 100644
--- a/library/BIGBITMAPS
+++ b/library/BIGBITMAPS
@@ -1,12 +1,15 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
 
-(FILECREATED "26-Oct-2021 14:51:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;7| 110451 
+(FILECREATED " 9-Jul-2022 09:41:26" 
+|{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>BIGBITMAPS.;12| 108851 
 
-      |changes| |to:|  (FNS UNCOLORIZEBITMAP COLORIZEBITMAP \\BWTOCOLORBLT)
-                       (VARS BIGBITMAPSCOMS)
-                       (MACROS |\\SFInvert|)
+      :CHANGES-TO (VARS BIGBITMAPSCOMS)
+                  (FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM \\GENERIC.DSPCREATE.BIGBM 
+                       \\DSPCREATE.BIGBM)
+                  (MACROS |\\SFInvert|)
 
-      |previous| |date:| "13-Jun-2021 14:02:38" |{DSK}<home>larry>medley>library>BIGBITMAPS.;5|)
+      :PREVIOUS-DATE "26-Oct-2021 14:51:38" 
+|{DSK}<users>kaplan>local>medley3.5>working-medley>library>BIGBITMAPS.;6|)
 
 
 ; Copyright (c) 1991, 1993-1994 by Venue.
@@ -25,7 +28,10 @@
              \\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
         (FNS \\DRAWCIRCLE.BIGBM \\FILLCIRCLE.BIGBM \\DRAWELLIPSE.BIGBM \\DRAWCURVE.BIGBM 
              \\DRAWLINE.BIGBM.DASH \\DRAWLINE.BIGBM.NODASH)
-        (FNS DSPCREATE DSPDESTINATION |\\SFFixY| |\\SFFixDestination| |\\SFFixClippingRegion|)
+        (FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM)
+        (DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM
+                                                 '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?)))
+        (FNS DSPDESTINATION |\\SFFixY| |\\SFFixDestination| |\\SFFixClippingRegion|)
         (FNS \\SW2BM BITMAPHEIGHT BITMAPWIDTH |\\SFFixFont| BITSPERPIXEL)
         (FNS COLORIZEBITMAP \\BWTOCOLORBLT UNCOLORIZEBITMAP)
         (DECLARE\: DONTEVAL@LOAD DOCOPY (P (MOVD '\\ORG.BITBLT 'ORG.BITBLT)
@@ -61,19 +67,22 @@
 (DECLARE\: EVAL@COMPILE 
 
 (PUTPROPS |GetNewFragment| MACRO ((LIST)
-                                          (PROG1 (CAR LIST)
-                                              (SETQ LIST (CDR LIST)))))
+                                  (PROG1 (CAR LIST)
+                                      (SETQ LIST (CDR LIST)))))
 )
 
 (DECLARE\: EVAL@COMPILE 
 
 (PUTPROPS |\\SFInvert| MACRO ((|BitMap| \y)
 
-                                 (* |;;| "corrects for the fact that alto bitmaps are stored with 0,0 as upper left while lisp bitmaps have 0,0 as lower left.  The correction is actually off by one (greater) because a majority of the places that it is called actually need one more than corrected Y value.")
+         (* |corrects| |for| |the| |fact| |that| |alto| |bitmaps| |are| |stored| |with| 
+         0\,0 |as| |upper| |left| |while| |lisp| |bitmaps| |have| 0\,0 |as| |lower| 
+         |left.| |The| |correction| |is| |actually| |off| |by| |one|
+         (|greater|) |because| \a |majority| |of| |the| |places| |that| |it| |is| |called| 
+         |actually| |need| |one| |more| |than| |corrected| Y |value.|)
 
-                                      (IDIFFERENCE (|fetch| (BITMAP BITMAPHEIGHT) |of| 
-                                                                                            |BitMap|)
-                                             \y)))
+                              (IDIFFERENCE (|fetch| (BITMAP BITMAPHEIGHT) |of| |BitMap|)
+                                     \y)))
 )
 )
 
@@ -1104,43 +1113,19 @@
 )
 (DEFINEQ
 
-(DSPCREATE
-  (LAMBDA (DESTINATION)                               (* \; "Edited 20-Jul-90 19:11 by matsuda")
+(\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM
+  (LAMBDA (DESTINATION)                                     (* \; "Edited  9-Jul-2022 09:24 by rmk")
+    (\\DTEST (COND
+                ((|type?| BIGBM DESTINATION)
+                 (CAR (|fetch| (BIGBM BIGBMLIST) OF DESTINATION)))
+                (T DESTINATION))
+           'BITMAP)))
+)
+(DECLARE\: DONTEVAL@LOAD DOCOPY 
 
-    (* |;;| "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
-
-    (LET (DSTRM)
-         (COND
-            ((NULL DESTINATION)
-             (SETQ DESTINATION |ScreenBitMap|))
-            (T                                               (* \; "DESTINATION is accepted BITMAP or BIGBM.\\DTEST causes error when object to be tested is not BITMAP.")
-               (\\DTEST (COND
-                           ((|type?| BIGBM DESTINATION)
-                            (CAR (|fetch| (BIGBM BIGBMLIST) OF DESTINATION)))
-                           (T DESTINATION))
-                      'BITMAP)))
-         (SETQ DSTRM (|create| STREAM
-                            USERCLOSEABLE _ NIL
-                            OUTCHARFN _ (FUNCTION \\DSPPRINTCHAR)
-                            IMAGEDATA _ (|create| \\DISPLAYDATA)
-                            IMAGEOPS _ \\DISPLAYIMAGEOPS
-                            DEVICE _ |DisplayFDEV|
-                            ACCESS _ 'OUTPUT))               (* \; 
-                                        "initial x and y positions are 0 when the data is created.")
-         (DSPFONT DEFAULTFONT DSTRM)                         (* \; 
-                    "dspfont can win since the (default) display imageops are filled in the stream")
-         (DSPDESTINATION DESTINATION DSTRM)              (* \; 
-                        "dspdestination calls \\SFFixFont, which presumes there is a font present.")
-         (DSPFONT DEFAULTFONT DSTRM)
-
-         (* |;;| "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH.  It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed.  The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it.  rrb")
-
-         (DSPRIGHTMARGIN (MAX SCREENWIDTH (BITMAPWIDTH DESTINATION))
-                DSTRM)
-         (DSPSOURCETYPE 'INPUT DSTRM)
-         (DSPOPERATION 'REPLACE DSTRM)                       (* \; 
-            "called to cause the updating of the bitblt table from the fields initialized earlier.")
-         DSTRM)))
+(MOVD '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM '\\GENERIC.DSPCREATE.DESTINATION.BITMAP?)
+)
+(DEFINEQ
 
 (DSPDESTINATION
   (LAMBDA (DESTINATION DISPLAYSTREAM)                 (* \; "Edited 22-Sep-89 13:53 by takeshi")
@@ -1714,15 +1699,15 @@
 )
 (PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994))
 (DECLARE\: DONTCOPY
-  (FILEMAP (NIL (3215 47913 (BIGBITMAPP 3225 . 3371) (BITBLT.BIGBM 3373 . 14196) (BITMAPCREATE.BIGBM 
-14198 . 15540) (BITMAPCREATE 15542 . 17144) (BITMAPCOPY 17146 . 17681) (BLTSHADE.BIGBM 17683 . 20819) 
-(BITBLT 20821 . 22469) (\\ORG.BITBLT 22471 . 34040) (\\BLTSHADE.DISPLAY 34042 . 43280) (
-\\RESHOWBORDER1 43282 . 47911)) (47914 71192 (\\DRAWCIRCLE.BIGBM 47924 . 51287) (\\FILLCIRCLE.BIGBM 
-51289 . 55335) (\\DRAWELLIPSE.BIGBM 55337 . 59857) (\\DRAWCURVE.BIGBM 59859 . 63709) (
-\\DRAWLINE.BIGBM.DASH 63711 . 68070) (\\DRAWLINE.BIGBM.NODASH 68072 . 71190)) (71193 86768 (DSPCREATE 
-71203 . 73633) (DSPDESTINATION 73635 . 77533) (|\\SFFixY| 77535 . 83257) (|\\SFFixDestination| 83259
- . 84442) (|\\SFFixClippingRegion| 84444 . 86766)) (86769 94855 (\\SW2BM 86779 . 91803) (BITMAPHEIGHT 
-91805 . 92303) (BITMAPWIDTH 92305 . 92797) (|\\SFFixFont| 92799 . 93771) (BITSPERPIXEL 93773 . 94853))
- (94856 110209 (COLORIZEBITMAP 94866 . 97676) (\\BWTOCOLORBLT 97678 . 104271) (UNCOLORIZEBITMAP 104273
- . 110207)))))
+  (FILEMAP (NIL (3546 48244 (BIGBITMAPP 3556 . 3702) (BITBLT.BIGBM 3704 . 14527) (BITMAPCREATE.BIGBM 
+14529 . 15871) (BITMAPCREATE 15873 . 17475) (BITMAPCOPY 17477 . 18012) (BLTSHADE.BIGBM 18014 . 21150) 
+(BITBLT 21152 . 22800) (\\ORG.BITBLT 22802 . 34371) (\\BLTSHADE.DISPLAY 34373 . 43611) (
+\\RESHOWBORDER1 43613 . 48242)) (48245 71523 (\\DRAWCIRCLE.BIGBM 48255 . 51618) (\\FILLCIRCLE.BIGBM 
+51620 . 55666) (\\DRAWELLIPSE.BIGBM 55668 . 60188) (\\DRAWCURVE.BIGBM 60190 . 64040) (
+\\DRAWLINE.BIGBM.DASH 64042 . 68401) (\\DRAWLINE.BIGBM.NODASH 68403 . 71521)) (71524 71893 (
+\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 71534 . 71891)) (72025 85168 (DSPDESTINATION 72035 . 
+75933) (|\\SFFixY| 75935 . 81657) (|\\SFFixDestination| 81659 . 82842) (|\\SFFixClippingRegion| 82844
+ . 85166)) (85169 93255 (\\SW2BM 85179 . 90203) (BITMAPHEIGHT 90205 . 90703) (BITMAPWIDTH 90705 . 
+91197) (|\\SFFixFont| 91199 . 92171) (BITSPERPIXEL 92173 . 93253)) (93256 108609 (COLORIZEBITMAP 93266
+ . 96076) (\\BWTOCOLORBLT 96078 . 102671) (UNCOLORIZEBITMAP 102673 . 108607)))))
 STOP
diff --git a/library/BIGBITMAPS.LCOM b/library/BIGBITMAPS.LCOM
index 919e15a9..a6454f38 100644
Binary files a/library/BIGBITMAPS.LCOM and b/library/BIGBITMAPS.LCOM differ
diff --git a/sources/LLDISPLAY b/sources/LLDISPLAY
index 7e2d3b8c..dc0b0564 100644
--- a/sources/LLDISPLAY
+++ b/sources/LLDISPLAY
@@ -1,11 +1,12 @@
-(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10 FORMAT XCCS)
-(FILECREATED " 8-Aug-2021 00:19:22" 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;7 268927 
+(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-      changes to%:  (FNS READBITMAP)
+(FILECREATED " 9-Jul-2022 12:08:02" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16 269372 
 
-      previous date%: " 1-Aug-2021 23:41:37" 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;6)
+      :CHANGES-TO (FNS \COMMON.DSPCREATE)
+
+      :PREVIOUS-DATE " 8-Jul-2022 23:44:51" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;13)
 
 
 (* ; "
@@ -17,20 +18,20 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (RPAQQ LLDISPLAYCOMS
        [(DECLARE%: DONTCOPY (EXPORT (RECORDS PILOTBBT \DISPLAYDATA DISPLAYSTATE DISPLAYINFO)
                                    (MACROS \GETDISPLAYDATA)))
-                                                             (* ; 
-                                    "User-visible records are on ADISPLAY --- must be init'ed here")
+                                                             (* ; 
+                                      "User-visible records are on ADISPLAY --- must be init'ed here")
         (INITRECORDS BITMAP PILOTBBT REGION \DISPLAYDATA)
-        [COMS                                                (* ; "BITMASKS")
+        [COMS                                                (* ; "BITMASKS")
               (FNS \FBITMAPBIT \FBITMAPBIT.UFN \NEWPAGE.DISPLAY INITBITMASKS)
               (OPTIMIZERS \FBITMAPBIT)
               [EXPORT (DECLARE%: DONTCOPY (MACROS \BITMASK \4BITMASK \NOTBITMASK \NOT4BITMASK)
                              (GLOBALVARS BITMASKARRAY NOTBITMASKARRAY 4BITMASKARRAY NOT4BITMASKARRAY)
                              (CONSTANTS (WORDMASK 65535]
               (DECLARE%: DONTEVAL@LOAD DOCOPY (P (INITBITMASKS]
-        [COMS                                                (* ; "init cursor")
+        [COMS                                                (* ; "init cursor")
               (FNS \CreateCursorBitMap)
               (DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (CursorBitMap (\CreateCursorBitMap]
-        [COMS                                                (* ; "bitmap functions.")
+        [COMS                                                (* ; "bitmap functions.")
               (FNS BITBLT BLTSHADE \BITBLTSUB \GETPILOTBBTSCRATCHBM BITMAPCOPY BITMAPCREATE BITMAPBIT
                    BLTCHAR \BLTCHAR \MEDW.BLTCHAR \CHANGECHARSET.DISPLAY \INDICATESTRING \SLOWBLTCHAR
                    TEXTUREP INVERT.TEXTURE INVERT.TEXTURE.BITMAP BITMAPWIDTH READBITMAP 
@@ -45,15 +46,15 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
               (FNS BITMAPBIT.EXPANDER)
               (FNS \BITBLT.DISPLAY \BITBLT.BITMAP \BITBLT.MERGE \BLTSHADE.DISPLAY \BLTSHADE.BITMAP)
               (FNS 
-                   (* ;; "For SunLoadup")
+                   (* ;; "For SunLoadup")
 
                    \BITBLT.BITMAP.SLOW)
               (FNS 
-                   (* ;; " punt case for C funcs.bitblt_bitmap,bitshade.bitmap")
+                   (* ;; " punt case for C funcs.bitblt_bitmap,bitshade.bitmap")
 
                    \PUNT.BLTSHADE.BITMAP \PUNT.BITBLT.BITMAP)
               (FNS 
-                   (* ;; "from SUMEX-AIM")
+                   (* ;; "from SUMEX-AIM")
 
                    \SCALEDBITBLT.DISPLAY \BACKCOLOR.DISPLAY)
               (DECLARE%: DONTCOPY (CONSTANTS (\DisplayWordAlign 16)
@@ -66,15 +67,19 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
               (VARS (\BBSCRATCHTEXTURE)
                     (\PILOTBBTSCRATCHBM))
               [DECLARE%: DONTEVAL@LOAD DOCOPY (P (MOVD? 'BITBLT 'BKBITBLT]
-                                                             (* ; 
-                                        "macro for this file so that BITBLT can be broken by users")
+                                                             (* ; 
+                                          "macro for this file so that BITBLT can be broken by users")
               (EXPORT (DECLARE%: DONTCOPY DONTEVAL@LOAD DOEVAL@COMPILE
                              (P (PUTPROP 'BITBLT 'MACRO '(= . BKBITBLT]
-        (COMS                                                (* ; "display stream functions")
+        (COMS                                                (* ; "display stream functions")
               (FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET)
-              (FNS DSPCREATE DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination
+              (FNS DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination 
                    \SFFixClippingRegion \SFFixFont \SFFIXLINELENGTH 
                    \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY)
+              [COMS (FNS \SIMPLE.DSPCREATE \COMMON.DSPCREATE)
+                                                             (* ; 
+                                                       "MOVD? so we don't trash a later redefinition")
+                    (P (MOVD? '\SIMPLE.DSPCREATE 'DSPCREATE]
               (FNS \MEDW.XOFFSET \MEDW.YOFFSET)
               (FNS \DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT 
                    \DSPLINEFEED.DISPLAY \DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY 
@@ -86,14 +91,14 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
               (INITVARS (PROMPTWINDOW T)
                      (\WINDOWWORLD NIL)
                      (\MAINSCREEN NIL)))
-        [COMS                                                (* ; "Stub for window package")
+        [COMS                                                (* ; "Stub for window package")
               (INITVARS (\TOPWDS)
                      (\SCREENBITMAPS))
               (P (MOVD? 'NILL '\TOTOPWDS))
               (DECLARE%: DONTCOPY EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS. 
                                                               .WHILE.CURSOR.DOWN.)
                                                       (ADDVARS (GLOBALVARS \TOPWDS]
-        (COMS                                                (* ; "DisplayStream TTY functions")
+        (COMS                                                (* ; "DisplayStream TTY functions")
               (FNS TTYDISPLAYSTREAM)
               (EXPORT (OPTIMIZERS TTYDISPLAYSTREAM))
               (FNS DSPSCROLL PAGEHEIGHT)
@@ -114,13 +119,12 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
               (EXPORT (GLOBALVARS BELLCNT BELLRATE TTYBACKGROUNDFNS \DisplayStoppedForLogout 
                              \CARET.UP)
                      (MACROS \CHECKCARET)))
-        [COMS                                                (* ; 
-                                                           "transformation related functions.")
+        [COMS                                                (* ; "transformation related functions.")
               (FNS \DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION \DSPUNTRANSFORMY 
                    \DSPUNTRANSFORMX \OFFSETCLIPPINGREGION)
               (DECLARE%: DONTCOPY (EXPORT (MACROS \DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM 
                                                  \OFFSETLEFT]
-        [COMS                                                (* ; "screen related functions")
+        [COMS                                                (* ; "screen related functions")
               (FNS UPDATESCREENDIMENSIONS \CreateScreenBitMap)
               (DECLARE%: DONTEVAL@LOAD DOCOPY (P (UPDATESCREENDIMENSIONS))
                      (INITVARS (SCREENHEIGHT 808)
@@ -132,7 +136,7 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
                             (ColorScreenBitMap NIL)))
               (GLOBALVARS \OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap)
               (DECLARE%: DONTEVAL@LOAD DOCOPY (P (CURSOR.INIT]
-        [COMS                                                (* ; "initialization")
+        [COMS                                                (* ; "initialization")
               (INITVARS (\DISPLAYINFOALIST))
               (FNS \CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY 
                    \MOVE.WINDOWS.ONTO.SCREEN \UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO
@@ -155,43 +159,45 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
 
 (DATATYPE PILOTBBT ((PBTDESTLO WORD)
-                        (PBTDESTHI WORD)
-                        (PBTDESTBIT WORD)
-                        (PBTDESTBPL SIGNEDWORD)
-                        (PBTSOURCELO WORD)
-                        (PBTSOURCEHI WORD)
-                        (PBTSOURCEBIT WORD)
-                        (PBTSOURCEBPL SIGNEDWORD)
-                        (PBTWIDTH WORD)
-                        (PBTHEIGHT WORD)
-                        (PBTFLAGS WORD)
-                        (NIL 5 WORD))
-                       (BLOCKRECORD PILOTBBT ((NIL 7 WORD)
-                                              (NIL BITS 4)
-                                              (PBTGRAYOFFSET BITS 4)
-                                              (PBTGRAYWIDTHLESSONE BITS 4)
-                                              (PBTGRAYHEIGHTLESSONE BITS 4)
-                                              (NIL 2 WORD)
-                                              (PBTBACKWARD FLAG)
-                                              (PBTDISJOINT FLAG)
-                                              (PBTDISJOINTITEMS FLAG)
-                                              (PBTUSEGRAY FLAG)
-                                              (PBTSOURCETYPE BITS 1)
-                                              (PBTOPERATION BITS 2)
-                                              (NIL BITS 9)))
-                       [ACCESSFNS PILOTBBT ([PBTSOURCE (\VAG2 (fetch PBTSOURCEHI of DATUM)
-                                                              (fetch PBTSOURCELO of DATUM))
-                                                   (PROGN (replace PBTSOURCEHI of DATUM
-                                                             with (\HILOC NEWVALUE))
-                                                          (replace PBTSOURCELO of DATUM
-                                                             with (\LOLOC NEWVALUE]
-                                            (PBTDEST (\VAG2 (fetch PBTDESTHI of DATUM)
-                                                            (fetch PBTDESTLO of DATUM))
-                                                   (PROGN (replace PBTDESTHI of DATUM
-                                                             with (\HILOC NEWVALUE))
-                                                          (replace PBTDESTLO of DATUM
-                                                             with (\LOLOC NEWVALUE]
-                       (SYSTEM))
+                    (PBTDESTHI WORD)
+                    (PBTDESTBIT WORD)
+                    (PBTDESTBPL SIGNEDWORD)
+                    (PBTSOURCELO WORD)
+                    (PBTSOURCEHI WORD)
+                    (PBTSOURCEBIT WORD)
+                    (PBTSOURCEBPL SIGNEDWORD)
+                    (PBTWIDTH WORD)
+                    (PBTHEIGHT WORD)
+                    (PBTFLAGS WORD)
+                    (NIL 5 WORD))
+                   (BLOCKRECORD PILOTBBT ((NIL 7 WORD)
+                                          (NIL BITS 4)
+                                          (PBTGRAYOFFSET BITS 4)
+                                          (PBTGRAYWIDTHLESSONE BITS 4)
+                                          (PBTGRAYHEIGHTLESSONE BITS 4)
+                                          (NIL 2 WORD)
+                                          (PBTBACKWARD FLAG)
+                                          (PBTDISJOINT FLAG)
+                                          (PBTDISJOINTITEMS FLAG)
+                                          (PBTUSEGRAY FLAG)
+                                          (PBTSOURCETYPE BITS 1)
+                                          (PBTOPERATION BITS 2)
+                                          (NIL BITS 9)))
+                   [ACCESSFNS PILOTBBT ([PBTSOURCE (\VAG2 (fetch PBTSOURCEHI of DATUM)
+                                                          (fetch PBTSOURCELO of DATUM))
+                                               (PROGN (replace PBTSOURCEHI of DATUM
+                                                         with (\HILOC NEWVALUE))
+                                                      (replace PBTSOURCELO of DATUM
+                                                         with (\LOLOC NEWVALUE]
+                                        (PBTDEST (\VAG2 (fetch PBTDESTHI of DATUM)
+                                                        (fetch PBTDESTLO of DATUM))
+                                               (PROGN (replace PBTDESTHI of DATUM with (\HILOC 
+                                                                                             NEWVALUE
+                                                                                              ))
+                                                      (replace PBTDESTLO of DATUM with (\LOLOC 
+                                                                                             NEWVALUE
+                                                                                              ]
+                   (SYSTEM))
 
 (DATATYPE \DISPLAYDATA 
           (DDXPOSITION DDYPOSITION DDXOFFSET DDYOFFSET DDDestination DDClippingRegion DDFONT 
@@ -214,15 +220,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
           DDLeftMargin _ 0 DDRightMargin _ SCREENWIDTH DDXPOSITION _ 0 DDYPOSITION _ 0 DDXOFFSET _ 0
           DDYOFFSET _ 0 DDClippingRegion _ (create REGION)
           DDDestination _ ScreenBitMap DDXSCALE _ 1 DDYSCALE _ 1 DDTexture _ 0
-          [ACCESSFNS ([DDFOREGROUNDCOLOR (PROG ((VAL (fetch (\DISPLAYDATA DDCOLOR) of DATUM))
-                                                )
+          [ACCESSFNS ([DDFOREGROUNDCOLOR (PROG ((VAL (fetch (\DISPLAYDATA DDCOLOR) of DATUM)))
                                                (OR (FIXP VAL)
                                                    (BITMAPP VAL)
                                                    (AND (NULL VAL)
                                                         1)
                                                    (CAR VAL)
-                                                   (MAXIMUMCOLOR (BITSPERPIXEL (fetch
-                                                                                (\DISPLAYDATA 
+                                                   (MAXIMUMCOLOR (BITSPERPIXEL (fetch (\DISPLAYDATA
                                                                                        DDDestination)
                                                                                   of DATUM]
                       (DDBACKGROUNDCOLOR (OR (fetch (\DISPLAYDATA DDTexture) of DATUM)
@@ -302,18 +306,17 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \GETDISPLAYDATA MACRO [ARGS (COND
-                                                 [(CADR ARGS)
-                                                  (SUBPAIR '(STRM STRMVAR)
-                                                         ARGS
-                                                         '(\DTEST (fetch (STREAM IMAGEDATA)
-                                                                     of (SETQ STRMVAR
-                                                                             (\OUTSTREAMARG STRM)))
-                                                                 '\DISPLAYDATA]
-                                                 (T (SUBST (CAR ARGS)
-                                                           'STRM
-                                                           '(\DTEST (fetch (STREAM IMAGEDATA)
-                                                                       of (\OUTSTREAMARG STRM))
-                                                                   '\DISPLAYDATA])
+                                         [(CADR ARGS)
+                                          (SUBPAIR '(STRM STRMVAR)
+                                                 ARGS
+                                                 '(\DTEST (fetch (STREAM IMAGEDATA)
+                                                             of (SETQ STRMVAR (\OUTSTREAMARG STRM)))
+                                                         '\DISPLAYDATA]
+                                         (T (SUBST (CAR ARGS)
+                                                   'STRM
+                                                   '(\DTEST (fetch (STREAM IMAGEDATA)
+                                                               of (\OUTSTREAMARG STRM))
+                                                           '\DISPLAYDATA])
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -467,41 +470,41 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 
 (DEFOPTIMIZER \FBITMAPBIT (BASE X Y OPERATION HEIGHTMINUS1 RASTERWIDTH)
-                              `((OPCODES MISC7 1)
-                                ,BASE
-                                ,X
-                                ,Y
-                                ,[COND
-                                    ([OR (AND (LISTP OPERATION)
-                                              (EQ (CAR OPERATION)
-                                                  'QUOTE]
-                                     (SELECTQ (EVAL OPERATION)
-                                         (INVERT 0)
-                                         (ERASE 1)
-                                         (READ 2)
-                                         3))
-                                    (T `(SELECTQ ,OPERATION
-                                            (INVERT 0)
-                                            (ERASE 1)
-                                            (READ 2)
-                                            3]
-                                ,HEIGHTMINUS1
-                                ,RASTERWIDTH NIL))
+                          `((OPCODES MISC7 1)
+                            ,BASE
+                            ,X
+                            ,Y
+                            ,[COND
+                                ([OR (AND (LISTP OPERATION)
+                                          (EQ (CAR OPERATION)
+                                              'QUOTE]
+                                 (SELECTQ (EVAL OPERATION)
+                                     (INVERT 0)
+                                     (ERASE 1)
+                                     (READ 2)
+                                     3))
+                                (T `(SELECTQ ,OPERATION
+                                        (INVERT 0)
+                                        (ERASE 1)
+                                        (READ 2)
+                                        3]
+                            ,HEIGHTMINUS1
+                            ,RASTERWIDTH NIL))
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: DONTCOPY 
 (DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \BITMASK MACRO ((N)
-                                  (\WORDELT BITMASKARRAY (LOGAND N 15))))
+                          (\WORDELT BITMASKARRAY (LOGAND N 15))))
 
 (PUTPROPS \4BITMASK MACRO ((N)
-                                   (\WORDELT 4BITMASKARRAY (LOGAND N 3))))
+                           (\WORDELT 4BITMASKARRAY (LOGAND N 3))))
 
 (PUTPROPS \NOTBITMASK MACRO ((N)
-                                     (DECLARE (GLOBALVARS NOTBITMASKARRAY))
-                                     (\WORDELT NOTBITMASKARRAY (LOGAND N 15))))
+                             (DECLARE (GLOBALVARS NOTBITMASKARRAY))
+                             (\WORDELT NOTBITMASKARRAY (LOGAND N 15))))
 
 (PUTPROPS \NOT4BITMASK MACRO ((N)
-                                      (\WORDELT NOT4BITMASKARRAY (LOGAND N 3))))
+                              (\WORDELT NOT4BITMASKARRAY (LOGAND N 3))))
 )
 
 (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1482,14 +1485,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 
 (CL:DEFUN FINISH-READING-BITMAP (STREAM)
 
-(* ;;; "The syntax for bitmaps is")
+(* ;;; "The syntax for bitmaps is")
 
-   (* ;; "#*(width height [bits-per-pixel])XXXXXX...")
+   (* ;; "#*(width height [bits-per-pixel])XXXXXX...")
 
-(* ;;; "where WIDTH and HEIGHT are the dimensions of the bitmap, BITS-PER-PIXEL can be omitted if it is equal to one, and the X's are single characters between @ and O (in ASCII), each representing four bits.  There will be exactly (* (ceiling (* WIDTH BITS-PER-PIXEL) 16) 4) characters for each row of the bitmap and exactly HEIGHT rows.  Note that there are no spaces allowed between the * and the (, between the ) and the first X, or anywhere inside the string of X's.  Also, the character after the last X must not be of type OTHER.")
+(* ;;; "where WIDTH and HEIGHT are the dimensions of the bitmap, BITS-PER-PIXEL can be omitted if it is equal to one, and the X's are single characters between @ and O (in ASCII), each representing four bits.  There will be exactly (* (ceiling (* WIDTH BITS-PER-PIXEL) 16) 4) characters for each row of the bitmap and exactly HEIGHT rows.  Note that there are no spaces allowed between the * and the (, between the ) and the first X, or anywhere inside the string of X's.  Also, the character after the last X must not be of type OTHER.")
 
-(* ;;; 
-"When we enter this function, called from HASH-STAR, the stream should be pointing at the (.")
+(* ;;; "When we enter this function, called from HASH-STAR, the stream should be pointing at the (.")
 
    (LET
     ((DIMENSIONS (READ STREAM)))
@@ -1499,11 +1501,11 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
     (DESTRUCTURING-BIND
      (WIDTH HEIGHT &OPTIONAL (BITS-PER-PIXEL 1)
             &REST EXTRAS)
-     DIMENSIONS                                              (* ; "Parsing the dimensions.")
+     DIMENSIONS                                              (* ; "Parsing the dimensions.")
      (IF (OR (NOT (FIXP WIDTH))
-                 (NOT (FIXP HEIGHT))
-                 (NOT (FIXP BITS-PER-PIXEL))
-                 (NOT (NULL EXTRAS)))
+             (NOT (FIXP HEIGHT))
+             (NOT (FIXP BITS-PER-PIXEL))
+             (NOT (NULL EXTRAS)))
          THEN (CL:ERROR "Bad bitmap dimension specification: ~S" DIMENSIONS))
      (LET
       ((BITMAP NIL)
@@ -1512,56 +1514,56 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
                                   16)))
       [IF *READ-SUPPRESS*
           THEN (CL:DOTIMES (I (CL:* HEIGHT QUAD-CHARS-PER-ROW 4))
-                       (CL:READ-CHAR STREAM))
+                   (CL:READ-CHAR STREAM))
         ELSE (SETQ BITMAP (BITMAPCREATE WIDTH HEIGHT BITS-PER-PIXEL))
-              (SETQ BASE (FETCH BITMAPBASE OF BITMAP))
-              (LET [(STREAM (\GETSTREAM STREAM 'INPUT]
-                   (CL:DOTIMES (ROW HEIGHT)
-                       [IF (ZEROP (FETCH (STREAM CHARSET) OF STREAM))
-                           THEN                          (* ; "Do it the quicker way")
-                                 (CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
-                                     (LET [(NIB00 (- (\BIN STREAM)
-                                                     (CHARCODE @)))
-                                           (NIB01 (- (\BIN STREAM)
-                                                     (CHARCODE @)))
-                                           (NIB10 (- (\BIN STREAM)
-                                                     (CHARCODE @)))
-                                           (NIB11 (- (\BIN STREAM)
-                                                     (CHARCODE @]
-                                          (IF (OR (NOT (<= 0 NIB00 15))
-                                                      (NOT (<= 0 NIB01 15))
-                                                      (NOT (<= 0 NIB10 15))
-                                                      (NOT (<= 0 NIB11 15)))
-                                              THEN (CL:ERROR 
-                                                "Illegal character in bitmap contents specification."
-                                                              ))
-                                          (\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
-                                                                      NIB01))
-                                          (\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
-                                                                      NIB11)))
-                                     (SETQ BASE (\ADDBASE BASE 1)))
-                         ELSE                            (* ; "Somewhat slower...")
+             (SETQ BASE (FETCH BITMAPBASE OF BITMAP))
+             (LET [(STREAM (\GETSTREAM STREAM 'INPUT]
+                  (CL:DOTIMES (ROW HEIGHT)
+                      [IF (ZEROP (FETCH (STREAM CHARSET) OF STREAM))
+                          THEN                               (* ; "Do it the quicker way")
                                (CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
-                                   (LET [(NIB00 (- (READCCODE STREAM)
+                                   (LET [(NIB00 (- (\BIN STREAM)
                                                    (CHARCODE @)))
-                                         (NIB01 (- (READCCODE STREAM)
+                                         (NIB01 (- (\BIN STREAM)
                                                    (CHARCODE @)))
-                                         (NIB10 (- (READCCODE STREAM)
+                                         (NIB10 (- (\BIN STREAM)
                                                    (CHARCODE @)))
-                                         (NIB11 (- (READCCODE STREAM)
+                                         (NIB11 (- (\BIN STREAM)
                                                    (CHARCODE @]
                                         (IF (OR (NOT (<= 0 NIB00 15))
-                                                    (NOT (<= 0 NIB01 15))
-                                                    (NOT (<= 0 NIB10 15))
-                                                    (NOT (<= 0 NIB11 15)))
+                                                (NOT (<= 0 NIB01 15))
+                                                (NOT (<= 0 NIB10 15))
+                                                (NOT (<= 0 NIB11 15)))
                                             THEN (CL:ERROR 
                                                 "Illegal character in bitmap contents specification."
-                                                            ))
+                                                        ))
                                         (\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
                                                                     NIB01))
                                         (\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
                                                                     NIB11)))
-                                   (SETQ BASE (\ADDBASE BASE 1)))])]
+                                   (SETQ BASE (\ADDBASE BASE 1)))
+                        ELSE                                 (* ; "Somewhat slower...")
+                             (CL:DOTIMES (QUAD QUAD-CHARS-PER-ROW)
+                                 (LET [(NIB00 (- (READCCODE STREAM)
+                                                 (CHARCODE @)))
+                                       (NIB01 (- (READCCODE STREAM)
+                                                 (CHARCODE @)))
+                                       (NIB10 (- (READCCODE STREAM)
+                                                 (CHARCODE @)))
+                                       (NIB11 (- (READCCODE STREAM)
+                                                 (CHARCODE @]
+                                      (IF (OR (NOT (<= 0 NIB00 15))
+                                              (NOT (<= 0 NIB01 15))
+                                              (NOT (<= 0 NIB10 15))
+                                              (NOT (<= 0 NIB11 15)))
+                                          THEN (CL:ERROR 
+                                                "Illegal character in bitmap contents specification."
+                                                      ))
+                                      (\PUTBASEBYTE BASE 0 (LOGOR (LLSH NIB00 4)
+                                                                  NIB01))
+                                      (\PUTBASEBYTE BASE 1 (LOGOR (LLSH NIB10 4)
+                                                                  NIB11)))
+                                 (SETQ BASE (\ADDBASE BASE 1)))])]
       BITMAP))))
 (DECLARE%: EVAL@COMPILE 
 
@@ -1580,14 +1582,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 
 (PUTPROPS \INVALIDATEDISPLAYCACHE MACRO ((DISPLAYDATA)
 
-         (* This marks the character-printing caches of the displaystream as invalid.
-       Needed when the font or Y position changes)
+         (* This marks the character-printing caches of the displaystream as invalid.
+         Needed when the font or Y position changes)
 
-                                                 (freplace (\DISPLAYDATA DDCHARSET) of 
-                                                                                          DISPLAYDATA
-                                                    with MAX.SMALLP)
-                                                 (freplace (\DISPLAYDATA DDCHARSETASCENT)
-                                                    of DISPLAYDATA with MAX.SMALLP)))
+                                         (freplace (\DISPLAYDATA DDCHARSET) of DISPLAYDATA
+                                            with MAX.SMALLP)
+                                         (freplace (\DISPLAYDATA DDCHARSETASCENT) of DISPLAYDATA
+                                            with MAX.SMALLP)))
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -1595,13 +1596,13 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 
 (DEFOPTIMIZER BITMAPBIT (&REST ARGS)
-                            (BITMAPBIT.EXPANDER ARGS))
+                        (BITMAPBIT.EXPANDER ARGS))
 
 (DEFOPTIMIZER BITMAPP (Y)
-                          `((OPENLAMBDA (X)
-                              (AND (type? BITMAP X)
-                                   X))
-                            ,Y))
+                      `((OPENLAMBDA (X)
+                          (AND (type? BITMAP X)
+                               X))
+                        ,Y))
 (DEFINEQ
 
 (BITMAPBIT.EXPANDER
@@ -2760,61 +2761,58 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \DSPGETCHARWIDTH MACRO ((CHARCODE DD)
-                                          (\FGETWIDTH (ffetch (\DISPLAYDATA DDWIDTHSCACHE)
-                                                         of DD)
-                                                 CHARCODE)))
+                                  (\FGETWIDTH (ffetch (\DISPLAYDATA DDWIDTHSCACHE) of DD)
+                                         CHARCODE)))
 
 (PUTPROPS \DSPGETCHARIMAGEWIDTH MACRO ((CHARCODE DD)
-                                               (\FGETIMAGEWIDTH (ffetch (\DISPLAYDATA 
-                                                                                   DDCHARIMAGEWIDTHS)
-                                                                   of DD)
-                                                      CHARCODE)))
+                                       (\FGETIMAGEWIDTH (ffetch (\DISPLAYDATA DDCHARIMAGEWIDTHS)
+                                                           of DD)
+                                              CHARCODE)))
 
 (PUTPROPS \DSPGETCHAROFFSET MACRO ((CHARCODE DD)
-                                           (\GETBASE (ffetch (\DISPLAYDATA DDOFFSETSCACHE)
-                                                        of DD)
-                                                  CHARCODE)))
+                                   (\GETBASE (ffetch (\DISPLAYDATA DDOFFSETSCACHE) of DD)
+                                          CHARCODE)))
 
-(PUTPROPS \CONVERTOP MACRO ((OP)                 (* rrb "14-NOV-80 11:14")
-                                                             (* Only for alto bitblt !!)
-                                    (SELECTQ OP
-                                        (replace 0 of NIL with NIL)
-                                        (PAINT 1)
-                                        (INVERT 2)
-                                        (ERASE 3)
-                                        0)))
+(PUTPROPS \CONVERTOP MACRO ((OP)                             (* rrb "14-NOV-80 11:14")
+                                                             (* Only for alto bitblt !!)
+                            (SELECTQ OP
+                                (replace 0 of NIL with NIL)
+                                (PAINT 1)
+                                (INVERT 2)
+                                (ERASE 3)
+                                0)))
 
 (PUTPROPS \SFInvert MACRO ((BitMap y)
 
-         (* corrects for the fact that alto bitmaps are stored with 0,0 as upper left 
-       while lisp bitmaps have 0,0 as lower left.
-       The correction is actually off by one (greater) because a majority of the 
-       places that it is called actually need one more than corrected Y value.)
+         (* corrects for the fact that alto bitmaps are stored with 0,0 as upper left 
+         while lisp bitmaps have 0,0 as lower left.
+         The correction is actually off by one (greater) because a majority of the places 
+         that it is called actually need one more than corrected Y value.)
 
-                                   (IDIFFERENCE (fetch (BITMAP BITMAPHEIGHT) of BitMap)
-                                          y)))
+                           (IDIFFERENCE (fetch (BITMAP BITMAPHEIGHT) of BitMap)
+                                  y)))
 
 (PUTPROPS \SFReplicate MACRO [LAMBDA (pattern)
-                                       (LOGOR pattern (LLSH pattern 8)
-                                              (SETQ pattern (LLSH pattern 4))
-                                              (LLSH pattern 8])
+                               (LOGOR pattern (LLSH pattern 8)
+                                      (SETQ pattern (LLSH pattern 4))
+                                      (LLSH pattern 8])
 
 (PUTPROPS \SETPBTFUNCTION MACRO [OPENLAMBDA (BBT SourceType Operation)
-                                          (PROGN (replace (PILOTBBT PBTOPERATION) of BBT
-                                                    with (SELECTQ Operation
-                                                                 (ERASE 1)
-                                                                 (PAINT 2)
-                                                                 (INVERT 3)
-                                                                 0))
-                                                 (replace (PILOTBBT PBTSOURCETYPE) of BBT
-                                                    with (COND
-                                                                ((EQ (EQ SourceType 'INVERT)
-                                                                     (EQ Operation 'ERASE))
-                                                                 0)
-                                                                (T 1])
+                                  (PROGN (replace (PILOTBBT PBTOPERATION) of BBT
+                                            with (SELECTQ Operation
+                                                     (ERASE 1)
+                                                     (PAINT 2)
+                                                     (INVERT 3)
+                                                     0))
+                                         (replace (PILOTBBT PBTSOURCETYPE) of BBT
+                                            with (COND
+                                                    ((EQ (EQ SourceType 'INVERT)
+                                                         (EQ Operation 'ERASE))
+                                                     0)
+                                                    (T 1])
 
 (PUTPROPS \BITBLT1 MACRO ((bbt)
-                                  (BitBltSUBR bbt)))
+                          (BitBltSUBR bbt)))
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -2899,40 +2897,6 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 (DEFINEQ
 
-(DSPCREATE
-  [LAMBDA (DESTINATION)                                 (* ; "Edited  1-Aug-2021 23:41 by rmk:")
-
-    (* ;; "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
-
-    (LET (DSTRM)
-         [COND
-            ((NULL DESTINATION)
-             (SETQ DESTINATION ScreenBitMap))
-            (T (\DTEST DESTINATION 'BITMAP]
-         (SETQ DSTRM (create STREAM
-                            USERCLOSEABLE _ NIL
-                            OUTCHARFN _ (FUNCTION \DSPPRINTCHAR)
-                            EOLCONVENTION _ CR.EOLC
-                            IMAGEDATA _ (create \DISPLAYDATA)
-                            IMAGEOPS _ \DISPLAYIMAGEOPS
-                            DEVICE _ DisplayFDEV
-                            ACCESS _ 'OUTPUT))               (* ; 
-                                        "initial x and y positions are 0 when the data is created.")
-         (DSPFONT DEFAULTFONT DSTRM)                         (* ; 
-                    "dspfont can win since the (default) display imageops are filled in the stream")
-         (DSPDESTINATION DESTINATION DSTRM)              (* ; 
-                         "dspdestination calls \SFFixFont, which presumes there is a font present.")
-         (DSPFONT DEFAULTFONT DSTRM)
-
-         (* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH.  It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed.  The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it.  rrb")
-
-         (DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
-                DSTRM)
-         (DSPSOURCETYPE 'INPUT DSTRM)
-         (DSPOPERATION 'REPLACE DSTRM)                       (* ; 
-            "called to cause the updating of the bitblt table from the fields initialized earlier.")
-         DSTRM])
-
 (DSPDESTINATION
   [LAMBDA (DESTINATION DISPLAYSTREAM)
     (DECLARE (GLOBALVARS \DISPLAYIMAGEOPS \4DISPLAYIMAGEOPS \8DISPLAYIMAGEOPS \24DISPLAYIMAGEOPS
@@ -3141,6 +3105,75 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 (DEFINEQ
 
+(\SIMPLE.DSPCREATE
+  [LAMBDA (DESTINATION)                                      (* ; "Edited  8-Jul-2022 19:47 by rmk")
+                                                            (* ; "Edited  1-Aug-2021 23:41 by rmk:")
+
+    (* ;; "Creates a simple stream-of-type-display on the DESTINATION bitmap or display device. To be replaced by \GENERIC.DSPCREATE on WINDOW.")
+
+    [COND
+       ((NULL DESTINATION)
+        (SETQ DESTINATION ScreenBitMap))
+       (T (\DTEST DESTINATION 'BITMAP]
+    (\COMMON.DSPCREATE DESTINATION])
+
+(\COMMON.DSPCREATE
+  [LAMBDA (DESTINATION FDEV IMAGEOPS OLDDSP)                 (* ; "Edited  9-Jul-2022 12:07 by rmk")
+                                                            (* ; "Edited  1-Aug-2021 23:41 by rmk:")
+
+    (* ;; "Common core of \SIMPLE.DSPCREATE on LLDISPLAY and \GENERIC-DSPCREATE on WINDOW.  Parameters cover the small differences of the core functionality.")
+
+    (* ;; "OLDDSP, if given, must be a displaystream that gets smashed with the new field values, used apparently to recreate an old window on a new screen. Presumably is was previously created by a non-OLDDSP call to this function.")
+
+    (LET [(DSTRM (IF OLDDSP
+                     THEN 
+                          (* ;; "Preserve everything here, functions below do other updates. Maybe some of this smashing should be uninterruptable?")
+
+                          (CL:UNLESS (DISPLAYSTREAMP OLDDSP)
+                                 (\ILLEGAL.ARG OLDDSP))
+                          (replace (STREAM DEVICE) of OLDSTREAM with (OR FDEV DisplayFDEV))
+                          (replace (STREAM IMAGEOPS) of OLDSTREAM with (OR IMAGEOPS \DISPLAYIMAGEOPS)
+                                 )
+                          OLDDSP
+                   ELSE 
+                        (* ;; "Maybe should get the STRMBOUTFN from the FDEV?")
+
+                        (create STREAM
+                               USERCLOSEABLE _ NIL
+                               STRMBOUTFN _ (FUNCTION \DSPPRINTCHAR)
+                               IMAGEDATA _ (create \DISPLAYDATA)
+                               IMAGEOPS _ (OR IMAGEOPS \DISPLAYIMAGEOPS)
+                               DEVICE _ (OR FDEV DisplayFDEV)
+                               ACCESS _ 'OUTPUT
+                               READONLY-EXTERNALFORMAT _ T]  (* ; 
+                                          "initial x and y positions are 0 when the data is created.")
+         (DSPFONT DEFAULTFONT DSTRM)                         (* ; 
+                      "dspfont can win since the (default) display imageops are filled in the stream")
+         (DSPDESTINATION DESTINATION DSTRM)                  (* ; 
+                           "dspdestination calls \SFFixFont, which presumes there is a font present.")
+
+         (* ;; "RMK:  I don't know why there were 2 calls to DSPFONT, taking this one out:")
+
+         (* ;; "(DSPFONT DEFAULTFONT DSTRM)")
+
+         (* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH.  It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed.  The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it.  rrb")
+
+         (DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
+                DSTRM)
+         (DSPSOURCETYPE 'INPUT DSTRM)
+         (DSPOPERATION 'REPLACE DSTRM)                       (* ; 
+              "called to cause the updating of the bitblt table from the fields initialized earlier.")
+         DSTRM])
+)
+
+
+
+(* ; "MOVD? so we don't trash a later redefinition")
+
+
+(MOVD? '\SIMPLE.DSPCREATE 'DSPCREATE)
+(DEFINEQ
+
 (\MEDW.XOFFSET
   [LAMBDA (XOFFSET DISPLAYSTREAM)                     (* ; "Edited 17-Apr-94 23:32 by sybalsky")
 
@@ -3352,65 +3385,60 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
 
 [PROGN (PUTPROPS \INSURETOPWDS DMACRO [OPENLAMBDA (DS)
-                                                (OR (EQ DS \TOPWDS)
-                                                    (COND
-                                                       ((FMEMB (DSPDESTINATION NIL DS)
-                                                               \SCREENBITMAPS)
-                                                        (\TOTOPWDS DS])
-       (PUTPROPS \INSURETOPWDS MACRO ((DS)           (* For non-window implementations)
-                                              (PROGN)))]
+                                        (OR (EQ DS \TOPWDS)
+                                            (COND
+                                               ((FMEMB (DSPDESTINATION NIL DS)
+                                                       \SCREENBITMAPS)
+                                                (\TOTOPWDS DS])
+       (PUTPROPS \INSURETOPWDS MACRO ((DS)                   (* For non-window implementations)
+                                      (PROGN)))]
 
 (PUTPROPS .WHILE.TOP.DS. MACRO [(FIRST . REST)
-                                        (PROG (DISPINTERRUPT SOFTCURSORUP)
+                                (PROG (DISPINTERRUPT SOFTCURSORUP)
 
-         (* FIRST should be a displaystream and a variable.
-       This macro may also take a soft cursor down, similar to the way 
-       .WHILE.CURSOR.DOWN. does, but only if FIRST's destination is the same as the 
-       soft cursor's destination. *)
+         (* FIRST should be a displaystream and a variable.
+         This macro may also take a soft cursor down, similar to the way 
+         .WHILE.CURSOR.DOWN. does, but only if FIRST's destination is the same as the soft 
+         cursor's destination. *)
 
-                                              [COND
-                                                 (\SOFTCURSORP (SETQ SOFTCURSORUP
-                                                                (AND \SOFTCURSORUPP
-                                                                     (EQ (DSPDESTINATION NIL 
-                                                                                FIRST)
-                                                                         \CURSORDESTINATION)))
-                                                        (COND
-                                                           (SOFTCURSORUP (SETQ DISPINTERRUPT
-                                                                          (\GETBASE \EM.DISPINTERRUPT
-                                                                                 0))
-                                                                  (\PUTBASE \EM.DISPINTERRUPT 0 0)
-                                                                  (\SOFTCURSORDOWN]
-                                              (\INSURETOPWDS FIRST)
-                                              (PROGN . REST)
-                                              (COND
-                                                 (SOFTCURSORUP (\SOFTCURSORUPCURRENT)
-                                                        (\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
+                                      [COND
+                                         (\SOFTCURSORP (SETQ SOFTCURSORUP
+                                                        (AND \SOFTCURSORUPP (EQ (DSPDESTINATION
+                                                                                 NIL FIRST)
+                                                                                \CURSORDESTINATION)))
+                                                (COND
+                                                   (SOFTCURSORUP (SETQ DISPINTERRUPT (\GETBASE 
+                                                                                    \EM.DISPINTERRUPT
+                                                                                            0))
+                                                          (\PUTBASE \EM.DISPINTERRUPT 0 0)
+                                                          (\SOFTCURSORDOWN]
+                                      (\INSURETOPWDS FIRST)
+                                      (PROGN . REST)
+                                      (COND
+                                         (SOFTCURSORUP (\SOFTCURSORUPCURRENT)
+                                                (\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
 
 (PUTPROPS .WHILE.CURSOR.DOWN. MACRO [(FIRST . REST)
-                                             (PROG (DISPINTERRUPT SOFTCURSORUP)
+                                     (PROG (DISPINTERRUPT SOFTCURSORUP)
 
-         (* This macro should wrap around any code that draws or bitblts directly from 
-       or to a screen bitmap. E.g. DRAWGRAYBOX in HLDISPLAY which puts up a shadow box 
-       during GETREGION. The purpose of this macro is that a soft
-       (e.g. color) cursor's bits not be taken to be screen bits while FIRST & REST 
-       are done. *)
+         (* This macro should wrap around any code that draws or bitblts directly from or 
+         to a screen bitmap. E.g. DRAWGRAYBOX in HLDISPLAY which puts up a shadow box 
+         during GETREGION. The purpose of this macro is that a soft
+         (e.g. color) cursor's bits not be taken to be screen bits while FIRST & REST are 
+         done. *)
 
-                                                   [COND
-                                                      (\SOFTCURSORP (SETQ SOFTCURSORUP \SOFTCURSORUPP
-                                                                     )
-                                                             (COND
-                                                                (SOFTCURSORUP (SETQ DISPINTERRUPT
-                                                                               (\GETBASE 
-                                                                                    \EM.DISPINTERRUPT
-                                                                                      0))
-                                                                       (\PUTBASE \EM.DISPINTERRUPT 0
-                                                                              0)
-                                                                       (\SOFTCURSORDOWN]
-                                                   (PROGN FIRST . REST)
-                                                   (COND
-                                                      (SOFTCURSORUP (\SOFTCURSORUPCURRENT)
-                                                             (\PUTBASE \EM.DISPINTERRUPT 0 
-                                                                    DISPINTERRUPT])
+                                           [COND
+                                              (\SOFTCURSORP (SETQ SOFTCURSORUP \SOFTCURSORUPP)
+                                                     (COND
+                                                        (SOFTCURSORUP (SETQ DISPINTERRUPT
+                                                                       (\GETBASE \EM.DISPINTERRUPT 0)
+                                                                       )
+                                                               (\PUTBASE \EM.DISPINTERRUPT 0 0)
+                                                               (\SOFTCURSORDOWN]
+                                           (PROGN FIRST . REST)
+                                           (COND
+                                              (SOFTCURSORUP (\SOFTCURSORUPCURRENT)
+                                                     (\PUTBASE \EM.DISPINTERRUPT 0 DISPINTERRUPT])
 )
 
 (ADDTOVAR GLOBALVARS \TOPWDS)
@@ -3512,10 +3540,10 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 (* "FOLLOWING DEFINITIONS EXPORTED")
 (DEFOPTIMIZER TTYDISPLAYSTREAM (&REST X)
-                                   (COND
-                                      ((NULL (CAR X))
-                                       '\TERM.OFD)
-                                      (T 'IGNOREMACRO)))
+                               (COND
+                                  ((NULL (CAR X))
+                                   '\TERM.OFD)
+                                  (T 'IGNOREMACRO)))
 
 (* "END EXPORTED DEFINITIONS")
 
@@ -3601,9 +3629,9 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (DEFMACRO \MAYBE-DRIBBLE-CHAR (DISPLAY-STREAM CHARCODE)
    "if we are dribbling, then dribble this character"
 
-   (* ;; "*DRIBBLE-OUTPUT* is a per-process special.")
+   (* ;; "*DRIBBLE-OUTPUT* is a per-process special.")
 
-   (* ;; "Only dribble if *DRIBBLE-OUTPUT* is not NIL, and IS a stream; the NIL check is for speed, since the STREAMP is something like 30 of the time spent printing to the exec window!!")
+   (* ;; "Only dribble if *DRIBBLE-OUTPUT* is not NIL, and IS a stream; the NIL check is for speed, since the STREAMP is something like 30 of the time spent printing to the exec window!!")
 
    `(AND *DRIBBLE-OUTPUT* (STREAMP *DRIBBLE-OUTPUT*)
          (EQ ,DISPLAY-STREAM (TTYDISPLAYSTREAM))
@@ -4029,7 +4057,7 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (DECLARE%: EVAL@COMPILE 
 
 (PUTPROPS \CHECKCARET MACRO ((X)
-                                     (AND \CARET.UP (\CARET.DOWN X))))
+                             (AND \CARET.UP (\CARET.DOWN X))))
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -4129,21 +4157,21 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (DECLARE%: DONTCOPY 
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
 
-(PUTPROPS \DSPTRANSFORMX MACRO ((X DD)               (* transforms an x coordinate into 
-                                                           the destination coordinate.)
-                                        (IPLUS X (fetch (\DISPLAYDATA DDXOFFSET) of DD))))
+(PUTPROPS \DSPTRANSFORMX MACRO ((X DD)                       (* transforms an x coordinate into the 
+                                                             destination coordinate.)
+                                (IPLUS X (fetch (\DISPLAYDATA DDXOFFSET) of DD))))
 
-(PUTPROPS \DSPTRANSFORMY MACRO ((Y DD)               (* transforms an y coordinate into 
-                                                           the destination coordinate.)
-                                        (IPLUS Y (fetch (\DISPLAYDATA DDYOFFSET) of DD))))
+(PUTPROPS \DSPTRANSFORMY MACRO ((Y DD)                       (* transforms an y coordinate into the 
+                                                             destination coordinate.)
+                                (IPLUS Y (fetch (\DISPLAYDATA DDYOFFSET) of DD))))
 
-(PUTPROPS \OFFSETBOTTOM MACRO ((X)                   (* gives the destination coordinate 
-                                                           address of the origin.)
-                                       (fetch (\DISPLAYDATA DDYOFFSET) of X)))
+(PUTPROPS \OFFSETBOTTOM MACRO ((X)                           (* gives the destination coordinate 
+                                                             address of the origin.)
+                               (fetch (\DISPLAYDATA DDYOFFSET) of X)))
 
-(PUTPROPS \OFFSETLEFT MACRO ((DD)                    (* returns the x origin of display 
-                                                           data destination coordinates.)
-                                     (fetch (\DISPLAYDATA DDXOFFSET) of DD)))
+(PUTPROPS \OFFSETLEFT MACRO ((DD)                            (* returns the x origin of display 
+                                                             data destination coordinates.)
+                             (fetch (\DISPLAYDATA DDXOFFSET) of DD)))
 )
 
 (* "END EXPORTED DEFINITIONS")
@@ -4476,8 +4504,8 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 )
 (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE 
 
-(PUTPROPS DISPLAYINITIALIZEDP MACRO (NIL             (* always initialized now)
-                                                 T))
+(PUTPROPS DISPLAYINITIALIZEDP MACRO (NIL                     (* always initialized now)
+                                         T))
 
 (PUTPROPS DISPLAYSTARTEDP MACRO (NIL \DisplayStarted))
 )
@@ -4528,42 +4556,43 @@ Copyright (c) 1981-1990, 1993-1994, 2021 by Venue & Xerox Corporation.
 (PUTPROPS LLDISPLAY COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 
 1989 1990 1993 1994 2021))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (20544 23212 (\FBITMAPBIT 20554 . 21014) (\FBITMAPBIT.UFN 21016 . 22035) (
-\NEWPAGE.DISPLAY 22037 . 22172) (INITBITMASKS 22174 . 23210)) (25257 25766 (\CreateCursorBitMap 25267
- . 25764)) (25883 84971 (BITBLT 25893 . 36283) (BLTSHADE 36285 . 37063) (\BITBLTSUB 37065 . 47200) (
-\GETPILOTBBTSCRATCHBM 47202 . 47817) (BITMAPCOPY 47819 . 48395) (BITMAPCREATE 48397 . 49957) (
-BITMAPBIT 49959 . 58346) (BLTCHAR 58348 . 58964) (\BLTCHAR 58966 . 59468) (\MEDW.BLTCHAR 59470 . 64348
-) (\CHANGECHARSET.DISPLAY 64350 . 67308) (\INDICATESTRING 67310 . 68506) (\SLOWBLTCHAR 68508 . 75604) 
-(TEXTUREP 75606 . 75876) (INVERT.TEXTURE 75878 . 76152) (INVERT.TEXTURE.BITMAP 76154 . 77689) (
-BITMAPWIDTH 77691 . 78063) (READBITMAP 78065 . 80575) (\INSUREBITSPERPIXEL 80577 . 80872) (
-MAXIMUMCOLOR 80874 . 81015) (OPPOSITECOLOR 81017 . 81196) (MAXIMUMSHADE 81198 . 81409) (OPPOSITESHADE 
-81411 . 81590) (\MEDW.BITBLT 81592 . 84969)) (84973 90288 (FINISH-READING-BITMAP 84973 . 90288)) (
-91551 92032 (BITMAPBIT.EXPANDER 91561 . 92030)) (92033 140567 (\BITBLT.DISPLAY 92043 . 115282) (
-\BITBLT.BITMAP 115284 . 124383) (\BITBLT.MERGE 124385 . 126638) (\BLTSHADE.DISPLAY 126640 . 133740) (
-\BLTSHADE.BITMAP 133742 . 140565)) (140568 149888 (\BITBLT.BITMAP.SLOW 140578 . 149886)) (149889 
-166270 (\PUNT.BLTSHADE.BITMAP 149899 . 156995) (\PUNT.BITBLT.BITMAP 156997 . 166268)) (166271 169711 (
-\SCALEDBITBLT.DISPLAY 166281 . 167914) (\BACKCOLOR.DISPLAY 167916 . 169709)) (174029 176302 (
-DISPLAYSTREAMP 174039 . 174647) (DSPSOURCETYPE 174649 . 175658) (DSPXOFFSET 175660 . 175979) (
-DSPYOFFSET 175981 . 176300)) (176303 192604 (DSPCREATE 176313 . 178417) (DSPDESTINATION 178419 . 
-181522) (DSPTEXTURE 181524 . 181686) (\DISPLAYSTREAMINCRXPOSITION 181688 . 181975) (\SFFixDestination 
-181977 . 183155) (\SFFixClippingRegion 183157 . 185329) (\SFFixFont 185331 . 186381) (\SFFIXLINELENGTH
- 186383 . 187879) (\UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD 187881 . 189694) (\SFFixY 189696 . 192602))
- (192605 194799 (\MEDW.XOFFSET 192615 . 193756) (\MEDW.YOFFSET 193758 . 194797)) (194800 202726 (
-\DSPCLIPPINGREGION.DISPLAY 194810 . 195556) (\DSPFONT.DISPLAY 195558 . 197928) (\DISPLAY.PILOTBITBLT 
-197930 . 198079) (\DSPLINEFEED.DISPLAY 198081 . 198652) (\DSPLEFTMARGIN.DISPLAY 198654 . 199385) (
-\DSPOPERATION.DISPLAY 199387 . 200411) (\DSPRIGHTMARGIN.DISPLAY 200413 . 201258) (
-\DSPXPOSITION.DISPLAY 201260 . 202117) (\DSPYPOSITION.DISPLAY 202119 . 202724)) (207496 212532 (
-TTYDISPLAYSTREAM 207506 . 212530)) (212851 213881 (DSPSCROLL 212861 . 213561) (PAGEHEIGHT 213563 . 
-213879)) (213926 216948 (\DSPRESET.DISPLAY 213936 . 216946)) (217508 238146 (\DSPPRINTCHAR 217518 . 
-225356) (\DSPPRINTCR/LF 225358 . 238144)) (238147 238739 (\TTYBACKGROUND 238157 . 238737)) (238740 
-242027 (DSPBACKUP 238750 . 242025)) (242211 242467 (COLORDISPLAYP 242221 . 242465)) (242468 244539 (
-DISPLAYBEFOREEXIT 242478 . 243304) (DISPLAYAFTERENTRY 243306 . 244537)) (244919 249451 (
-\DSPCLIPTRANSFORMX 244929 . 245518) (\DSPCLIPTRANSFORMY 245520 . 246245) (\DSPTRANSFORMREGION 246247
- . 246779) (\DSPUNTRANSFORMY 246781 . 247041) (\DSPUNTRANSFORMX 247043 . 247303) (
-\OFFSETCLIPPINGREGION 247305 . 249449)) (250757 253344 (UPDATESCREENDIMENSIONS 250767 . 251396) (
-\CreateScreenBitMap 251398 . 253342)) (253903 267062 (\CoerceToDisplayDevice 253913 . 254326) (
-\CREATEDISPLAY 254328 . 256168) (DISPLAYSTREAMINIT 256170 . 259314) (\STARTDISPLAY 259316 . 262227) (
-\MOVE.WINDOWS.ONTO.SCREEN 262229 . 264421) (\UPDATE.PBT.RASTERWIDTHS 264423 . 266205) (\STOPDISPLAY 
-266207 . 266699) (\DEFINEDISPLAYINFO 266701 . 267060)) (267670 268431 (INITIALIZEDISPLAYSTREAMS 267680
- . 268429)))))
+  (FILEMAP (NIL (20598 23266 (\FBITMAPBIT 20608 . 21068) (\FBITMAPBIT.UFN 21070 . 22089) (
+\NEWPAGE.DISPLAY 22091 . 22226) (INITBITMASKS 22228 . 23264)) (25191 25700 (\CreateCursorBitMap 25201
+ . 25698)) (25817 84905 (BITBLT 25827 . 36217) (BLTSHADE 36219 . 36997) (\BITBLTSUB 36999 . 47134) (
+\GETPILOTBBTSCRATCHBM 47136 . 47751) (BITMAPCOPY 47753 . 48329) (BITMAPCREATE 48331 . 49891) (
+BITMAPBIT 49893 . 58280) (BLTCHAR 58282 . 58898) (\BLTCHAR 58900 . 59402) (\MEDW.BLTCHAR 59404 . 64282
+) (\CHANGECHARSET.DISPLAY 64284 . 67242) (\INDICATESTRING 67244 . 68440) (\SLOWBLTCHAR 68442 . 75538) 
+(TEXTUREP 75540 . 75810) (INVERT.TEXTURE 75812 . 76086) (INVERT.TEXTURE.BITMAP 76088 . 77623) (
+BITMAPWIDTH 77625 . 77997) (READBITMAP 77999 . 80509) (\INSUREBITSPERPIXEL 80511 . 80806) (
+MAXIMUMCOLOR 80808 . 80949) (OPPOSITECOLOR 80951 . 81130) (MAXIMUMSHADE 81132 . 81343) (OPPOSITESHADE 
+81345 . 81524) (\MEDW.BITBLT 81526 . 84903)) (84907 90093 (FINISH-READING-BITMAP 84907 . 90093)) (
+91215 91696 (BITMAPBIT.EXPANDER 91225 . 91694)) (91697 140231 (\BITBLT.DISPLAY 91707 . 114946) (
+\BITBLT.BITMAP 114948 . 124047) (\BITBLT.MERGE 124049 . 126302) (\BLTSHADE.DISPLAY 126304 . 133404) (
+\BLTSHADE.BITMAP 133406 . 140229)) (140232 149552 (\BITBLT.BITMAP.SLOW 140242 . 149550)) (149553 
+165934 (\PUNT.BLTSHADE.BITMAP 149563 . 156659) (\PUNT.BITBLT.BITMAP 156661 . 165932)) (165935 169375 (
+\SCALEDBITBLT.DISPLAY 165945 . 167578) (\BACKCOLOR.DISPLAY 167580 . 169373)) (173230 175503 (
+DISPLAYSTREAMP 173240 . 173848) (DSPSOURCETYPE 173850 . 174859) (DSPXOFFSET 174861 . 175180) (
+DSPYOFFSET 175182 . 175501)) (175504 189699 (DSPDESTINATION 175514 . 178617) (DSPTEXTURE 178619 . 
+178781) (\DISPLAYSTREAMINCRXPOSITION 178783 . 179070) (\SFFixDestination 179072 . 180250) (
+\SFFixClippingRegion 180252 . 182424) (\SFFixFont 182426 . 183476) (\SFFIXLINELENGTH 183478 . 184974) 
+(\UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD 184976 . 186789) (\SFFixY 186791 . 189697)) (189700 193547 (
+\SIMPLE.DSPCREATE 189710 . 190260) (\COMMON.DSPCREATE 190262 . 193545)) (193648 195842 (\MEDW.XOFFSET 
+193658 . 194799) (\MEDW.YOFFSET 194801 . 195840)) (195843 203769 (\DSPCLIPPINGREGION.DISPLAY 195853 . 
+196599) (\DSPFONT.DISPLAY 196601 . 198971) (\DISPLAY.PILOTBITBLT 198973 . 199122) (
+\DSPLINEFEED.DISPLAY 199124 . 199695) (\DSPLEFTMARGIN.DISPLAY 199697 . 200428) (\DSPOPERATION.DISPLAY 
+200430 . 201454) (\DSPRIGHTMARGIN.DISPLAY 201456 . 202301) (\DSPXPOSITION.DISPLAY 202303 . 203160) (
+\DSPYPOSITION.DISPLAY 203162 . 203767)) (207957 212993 (TTYDISPLAYSTREAM 207967 . 212991)) (213296 
+214326 (DSPSCROLL 213306 . 214006) (PAGEHEIGHT 214008 . 214324)) (214371 217393 (\DSPRESET.DISPLAY 
+214381 . 217391)) (217429 217952 (\MAYBE-DRIBBLE-CHAR 217429 . 217952)) (217953 238591 (\DSPPRINTCHAR 
+217963 . 225801) (\DSPPRINTCR/LF 225803 . 238589)) (238592 239184 (\TTYBACKGROUND 238602 . 239182)) (
+239185 242472 (DSPBACKUP 239195 . 242470)) (242656 242912 (COLORDISPLAYP 242666 . 242910)) (242913 
+244984 (DISPLAYBEFOREEXIT 242923 . 243749) (DISPLAYAFTERENTRY 243751 . 244982)) (245356 249888 (
+\DSPCLIPTRANSFORMX 245366 . 245955) (\DSPCLIPTRANSFORMY 245957 . 246682) (\DSPTRANSFORMREGION 246684
+ . 247216) (\DSPUNTRANSFORMY 247218 . 247478) (\DSPUNTRANSFORMX 247480 . 247740) (
+\OFFSETCLIPPINGREGION 247742 . 249886)) (251202 253789 (UPDATESCREENDIMENSIONS 251212 . 251841) (
+\CreateScreenBitMap 251843 . 253787)) (254348 267507 (\CoerceToDisplayDevice 254358 . 254771) (
+\CREATEDISPLAY 254773 . 256613) (DISPLAYSTREAMINIT 256615 . 259759) (\STARTDISPLAY 259761 . 262672) (
+\MOVE.WINDOWS.ONTO.SCREEN 262674 . 264866) (\UPDATE.PBT.RASTERWIDTHS 264868 . 266650) (\STOPDISPLAY 
+266652 . 267144) (\DEFINEDISPLAYINFO 267146 . 267505)) (268115 268876 (INITIALIZEDISPLAYSTREAMS 268125
+ . 268874)))))
 STOP
diff --git a/sources/LLDISPLAY.LCOM b/sources/LLDISPLAY.LCOM
index e2aa806d..9659fefc 100644
--- a/sources/LLDISPLAY.LCOM
+++ b/sources/LLDISPLAY.LCOM
@@ -1,10 +1,12 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
-(FILECREATED " 6-Sep-2021 16:23:29" ("compiled on " 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;10) " 6-Sep-2021 15:59:15" 
-"COMPILE-FILEd" in "FULL  6-Sep-2021 ..." dated " 6-Sep-2021 15:59:21")
-(FILECREATED " 8-Aug-2021 00:19:22" {DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;7
- 268927 changes to%: (FNS READBITMAP) previous date%: " 1-Aug-2021 23:41:37" 
-{DSK}<Users>kaplan>Local>medley3.5>git-medley>sources>LLDISPLAY.;6)
+
+(FILECREATED " 9-Jul-2022 12:08:03" ("compiled on " 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16) " 8-Jul-2022 23:54:51" 
+"COMPILE-FILEd" in "FULL  8-Jul-2022 ..." dated " 8-Jul-2022 23:54:57")
+(FILECREATED " 9-Jul-2022 12:08:02" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;16 269372 :CHANGES-TO (FNS 
+\COMMON.DSPCREATE) :PREVIOUS-DATE " 8-Jul-2022 23:44:51" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>LLDISPLAY.;13)
 (RPAQQ LLDISPLAYCOMS ((DECLARE%: DONTCOPY (EXPORT (RECORDS PILOTBBT \DISPLAYDATA DISPLAYSTATE 
 DISPLAYINFO) (MACROS \GETDISPLAYDATA))) (* ; 
 "User-visible records are on ADISPLAY --- must be init'ed here") (INITRECORDS BITMAP PILOTBBT REGION 
@@ -30,40 +32,41 @@ EXPORT (MACROS \DSPGETCHARWIDTH \DSPGETCHARIMAGEWIDTH \DSPGETCHAROFFSET \CONVERT
 P (MOVD? (QUOTE BITBLT) (QUOTE BKBITBLT)))) (* ; 
 "macro for this file so that BITBLT can be broken by users") (EXPORT (DECLARE%: DONTCOPY DONTEVAL@LOAD
  DOEVAL@COMPILE (P (PUTPROP (QUOTE BITBLT) (QUOTE MACRO) (QUOTE (= . BKBITBLT))))))) (COMS (* ; 
-"display stream functions") (FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET) (FNS DSPCREATE 
+"display stream functions") (FNS DISPLAYSTREAMP DSPSOURCETYPE DSPXOFFSET DSPYOFFSET) (FNS 
 DSPDESTINATION DSPTEXTURE \DISPLAYSTREAMINCRXPOSITION \SFFixDestination \SFFixClippingRegion 
-\SFFixFont \SFFIXLINELENGTH \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY) (FNS \MEDW.XOFFSET 
-\MEDW.YOFFSET) (FNS \DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT 
-\DSPLINEFEED.DISPLAY \DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY \DSPRIGHTMARGIN.DISPLAY 
-\DSPXPOSITION.DISPLAY \DSPYPOSITION.DISPLAY) (P (MOVD? (QUOTE \ILLEGAL.ARG) (QUOTE \COERCETODS)) (
-MOVD? (QUOTE NILL) (QUOTE WFROMDS)) (MOVD? (QUOTE NILL) (QUOTE WINDOWP)) (MOVD? (QUOTE NILL) (QUOTE 
-INVERTW))) (INITVARS (PROMPTWINDOW T) (\WINDOWWORLD NIL) (\MAINSCREEN NIL))) (COMS (* ; 
-"Stub for window package") (INITVARS (\TOPWDS) (\SCREENBITMAPS)) (P (MOVD? (QUOTE NILL) (QUOTE 
-\TOTOPWDS))) (DECLARE%: DONTCOPY EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS. 
-.WHILE.CURSOR.DOWN.) (ADDVARS (GLOBALVARS \TOPWDS))))) (COMS (* ; "DisplayStream TTY functions") (FNS 
-TTYDISPLAYSTREAM) (EXPORT (OPTIMIZERS TTYDISPLAYSTREAM)) (FNS DSPSCROLL PAGEHEIGHT) (INITVARS (
-\CURRENTTTYDEVICE (QUOTE BCPLDISPLAY))) (FNS \DSPRESET.DISPLAY) (COMS (INITVARS (*DRIBBLE-OUTPUT* NIL)
-) (FUNCTIONS \MAYBE-DRIBBLE-CHAR) (FNS \DSPPRINTCHAR \DSPPRINTCR/LF)) (FNS \TTYBACKGROUND) (FNS 
-DSPBACKUP) (INITVARS (\CARET.UP)) (DECLARE%: DONTEVAL@LOAD DOCOPY (VARS (BELLCNT 2) (BELLRATE 60) (
-\DisplayStoppedForLogout) (TtyDisplayStream))) (FNS COLORDISPLAYP) (FNS DISPLAYBEFOREEXIT 
-DISPLAYAFTERENTRY) (EXPORT (GLOBALVARS BELLCNT BELLRATE TTYBACKGROUNDFNS \DisplayStoppedForLogout 
-\CARET.UP) (MACROS \CHECKCARET))) (COMS (* ; "transformation related functions.") (FNS 
-\DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION \DSPUNTRANSFORMY \DSPUNTRANSFORMX 
-\OFFSETCLIPPINGREGION) (DECLARE%: DONTCOPY (EXPORT (MACROS \DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM
- \OFFSETLEFT)))) (COMS (* ; "screen related functions") (FNS UPDATESCREENDIMENSIONS 
-\CreateScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (UPDATESCREENDIMENSIONS)) (INITVARS (
-SCREENHEIGHT 808) (SCREENWIDTH 1024) (\OLDSCREENHEIGHT 808) (\OLDSCREENWIDTH 1024) (\MaxScreenPage -1)
- (ScreenBitMap (\CreateScreenBitMap SCREENWIDTH SCREENHEIGHT)) (ColorScreenBitMap NIL))) (GLOBALVARS 
-\OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (
-CURSOR.INIT)))) (COMS (* ; "initialization") (INITVARS (\DISPLAYINFOALIST)) (FNS 
-\CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY \MOVE.WINDOWS.ONTO.SCREEN 
-\UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO) (DECLARE%: EVAL@COMPILE DONTCOPY (ADDVARS (
-DONTCOMPILEFNS \UPDATE.PBT.RASTERWIDTHS))) (EXPORT (MACROS DISPLAYINITIALIZEDP DISPLAYSTARTEDP) (
-GLOBALVARS \DisplayStarted \DisplayStreamsInitialized \DisplayInitialed WHOLEDISPLAY WHOLESCREEN 
-SCREENWIDTH SCREENHEIGHT)) (ADDVARS (GLOBALVARS WHOLESCREEN)) (FNS INITIALIZEDISPLAYSTREAMS) (
-DECLARE%: DOCOPY DONTEVAL@LOAD (VARS (\DisplayStarted NIL) (\LastTTYLines 12)) (P (
-INITIALIZEDISPLAYSTREAMS) (DISPLAYSTREAMINIT 1000)))) (PROP FILETYPE LLDISPLAY) (DECLARE%: 
-DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA)))))
+\SFFixFont \SFFIXLINELENGTH \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD \SFFixY) (COMS (FNS 
+\SIMPLE.DSPCREATE \COMMON.DSPCREATE) (* ; "MOVD? so we don't trash a later redefinition") (P (MOVD? (
+QUOTE \SIMPLE.DSPCREATE) (QUOTE DSPCREATE)))) (FNS \MEDW.XOFFSET \MEDW.YOFFSET) (FNS 
+\DSPCLIPPINGREGION.DISPLAY \DSPFONT.DISPLAY \DISPLAY.PILOTBITBLT \DSPLINEFEED.DISPLAY 
+\DSPLEFTMARGIN.DISPLAY \DSPOPERATION.DISPLAY \DSPRIGHTMARGIN.DISPLAY \DSPXPOSITION.DISPLAY 
+\DSPYPOSITION.DISPLAY) (P (MOVD? (QUOTE \ILLEGAL.ARG) (QUOTE \COERCETODS)) (MOVD? (QUOTE NILL) (QUOTE 
+WFROMDS)) (MOVD? (QUOTE NILL) (QUOTE WINDOWP)) (MOVD? (QUOTE NILL) (QUOTE INVERTW))) (INITVARS (
+PROMPTWINDOW T) (\WINDOWWORLD NIL) (\MAINSCREEN NIL))) (COMS (* ; "Stub for window package") (INITVARS
+ (\TOPWDS) (\SCREENBITMAPS)) (P (MOVD? (QUOTE NILL) (QUOTE \TOTOPWDS))) (DECLARE%: DONTCOPY 
+EVAL@COMPILE (EXPORT (MACROS \INSURETOPWDS .WHILE.TOP.DS. .WHILE.CURSOR.DOWN.) (ADDVARS (GLOBALVARS 
+\TOPWDS))))) (COMS (* ; "DisplayStream TTY functions") (FNS TTYDISPLAYSTREAM) (EXPORT (OPTIMIZERS 
+TTYDISPLAYSTREAM)) (FNS DSPSCROLL PAGEHEIGHT) (INITVARS (\CURRENTTTYDEVICE (QUOTE BCPLDISPLAY))) (FNS 
+\DSPRESET.DISPLAY) (COMS (INITVARS (*DRIBBLE-OUTPUT* NIL)) (FUNCTIONS \MAYBE-DRIBBLE-CHAR) (FNS 
+\DSPPRINTCHAR \DSPPRINTCR/LF)) (FNS \TTYBACKGROUND) (FNS DSPBACKUP) (INITVARS (\CARET.UP)) (DECLARE%: 
+DONTEVAL@LOAD DOCOPY (VARS (BELLCNT 2) (BELLRATE 60) (\DisplayStoppedForLogout) (TtyDisplayStream))) (
+FNS COLORDISPLAYP) (FNS DISPLAYBEFOREEXIT DISPLAYAFTERENTRY) (EXPORT (GLOBALVARS BELLCNT BELLRATE 
+TTYBACKGROUNDFNS \DisplayStoppedForLogout \CARET.UP) (MACROS \CHECKCARET))) (COMS (* ; 
+"transformation related functions.") (FNS \DSPCLIPTRANSFORMX \DSPCLIPTRANSFORMY \DSPTRANSFORMREGION 
+\DSPUNTRANSFORMY \DSPUNTRANSFORMX \OFFSETCLIPPINGREGION) (DECLARE%: DONTCOPY (EXPORT (MACROS 
+\DSPTRANSFORMX \DSPTRANSFORMY \OFFSETBOTTOM \OFFSETLEFT)))) (COMS (* ; "screen related functions") (
+FNS UPDATESCREENDIMENSIONS \CreateScreenBitMap) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (
+UPDATESCREENDIMENSIONS)) (INITVARS (SCREENHEIGHT 808) (SCREENWIDTH 1024) (\OLDSCREENHEIGHT 808) (
+\OLDSCREENWIDTH 1024) (\MaxScreenPage -1) (ScreenBitMap (\CreateScreenBitMap SCREENWIDTH SCREENHEIGHT)
+) (ColorScreenBitMap NIL))) (GLOBALVARS \OLDSCREENHEIGHT \OLDSCREENWIDTH \MaxScreenPage ScreenBitMap) 
+(DECLARE%: DONTEVAL@LOAD DOCOPY (P (CURSOR.INIT)))) (COMS (* ; "initialization") (INITVARS (
+\DISPLAYINFOALIST)) (FNS \CoerceToDisplayDevice \CREATEDISPLAY DISPLAYSTREAMINIT \STARTDISPLAY 
+\MOVE.WINDOWS.ONTO.SCREEN \UPDATE.PBT.RASTERWIDTHS \STOPDISPLAY \DEFINEDISPLAYINFO) (DECLARE%: 
+EVAL@COMPILE DONTCOPY (ADDVARS (DONTCOMPILEFNS \UPDATE.PBT.RASTERWIDTHS))) (EXPORT (MACROS 
+DISPLAYINITIALIZEDP DISPLAYSTARTEDP) (GLOBALVARS \DisplayStarted \DisplayStreamsInitialized 
+\DisplayInitialed WHOLEDISPLAY WHOLESCREEN SCREENWIDTH SCREENHEIGHT)) (ADDVARS (GLOBALVARS WHOLESCREEN
+)) (FNS INITIALIZEDISPLAYSTREAMS) (DECLARE%: DOCOPY DONTEVAL@LOAD (VARS (\DisplayStarted NIL) (
+\LastTTYLines 12)) (P (INITIALIZEDISPLAYSTREAMS) (DISPLAYSTREAMINIT 1000)))) (PROP FILETYPE LLDISPLAY)
+ (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA)))))
 (/DECLAREDATATYPE (QUOTE BITMAP) (QUOTE (POINTER WORD WORD WORD WORD)) (QUOTE ((BITMAP 0 POINTER) (
 BITMAP 2 (BITS . 15)) (BITMAP 3 (BITS . 15)) (BITMAP 4 (BITS . 15)) (BITMAP 5 (BITS . 15)))) (QUOTE 6)
 )
@@ -120,18 +123,18 @@ NIL $ldk
 ()
 (RPAQ CursorBitMap (\CreateCursorBitMap))
 BITBLT :D8
-(L (11 CLIPPINGREGION 10 TEXTURE 9 OPERATION 8 SOURCETYPE 7 HEIGHT 6 WIDTH 5 DESTINATIONBOTTOM 4 DESTINATIONLEFT 3 DESTINATION 2 SOURCEBOTTOM 1 SOURCELEFT 0 SOURCE) F 19 \SCREENBITMAPS) ®D£jb¿E£jb
+(L (11 CLIPPINGREGION 10 TEXTURE 9 OPERATION 8 SOURCETYPE 7 HEIGHT 6 WIDTH 5 DESTINATIONBOTTOM 4 DESTINATIONLEFT 3 DESTINATION 2 SOURCEBOTTOM 1 SOURCELEFT 0 SOURCE) F 19 \SOFTCURSORUPP F 20 \CURSORDESTINATION F 21 \SCREENBITMAPS) ¢D£jb¿E£jb
 ¿Ggð²NCdÃ²¿GCDEFGGG
ghHÉ.É¹GHDEFGGGlIð@@dÃ²]¿A£jb¿B£jb¿@¹AºB»Fµ3@Èb¿Gµ@Èb¿±É@ÈBÙ½dMñ²ì¿M°è@ÈAÙ¼dLñ²É¿L°ÅghÉ0X¢±…A¦HÉ
 b¿B§HÉ
-b¿HÉ¹AHÉØbHÈ"¾dNñ¡¿NºBHÉØbHÈ$_¿dOñ¢¿O»FµNHÈ#JÙb¿Gµ%HÈ%KÙb¿G¥HÉ6b¿Fjñ´	Gjñ³4hHÈ%KÙ_¿dOñ²Ö¿O°ÑHÈ#JÙ_¿dOñ²­¿O°¨CdÃ¢±Ï¿@	¢±ªh__¿`²>`´h@gh
-`ð_²`È_¿`jÍ¿¿@gh_`ð³hO
-W&—O	¿IABCDEFGGGGGJK
O´‚±^¿`OÍ¿±JIABCDEFGGGGGJK
gh_@Cð’±ð@	¢±æC	¢±Õ@dC
-¢±Ê¿h__ _"¿`²>`´h@gh
-`ð_"²`È_ ¿`jÍ¿¿@gh_`ð³hO
-W&—O	¿IABFG
+b¿HÉ¹AHÉØbHÈ"¾dNñ¡¿NºBHÉØbHÈ$_¿dOñ¢¿O»FµNHÈ#JÙb¿Gµ%HÈ%KÙb¿G¥HÉ6b¿Fjñ´	Gjñ³4hHÈ%KÙ_¿dOñ²Ö¿O°ÑHÈ#JÙ_¿dOñ²­¿O°¨CdÃ¢±É¿@	¢±¤h__¿`²8W&´h@gh
+W(ð_²`È_¿`jÍ¿¿@gh_`ð³hO
+W*—O	¿IABCDEFGGGGGJK
O´‚±X¿`OÍ¿±DIABCDEFGGGGGJK
gh_@Cð’±ê@	¢±àC	¢±Ï@dC
+¢±Ä¿h__ _"¿`²8W&´h@gh
+W(ð_"²`È_ ¿`jÍ¿¿@gh_`ð³hO
+W*—O	¿IABFG
 _jdFGgg
-¿O"Ÿ¿`O Í¿OjdODEFGGGGG
@	¿OÉ.É_$¿IABODEFGGGGGJKlO$h(893 TOTOPW 886 BKBITBLT 850 \SOFTCURSORUPCURRENT 841 BKBITBLT 818 BITMAPCREATE 806 \TOTOPWDS 795 DSPDESTINATION 777 \GETSTREAM 764 \SOFTCURSORDOWN 730 DSPDESTINATION 725 \GETSTREAM 685 WOVERLAPP 673 WINDOWP 663 WINDOWP 648 \GETSTREAM 636 \BITBLT.BITMAP 597 \SOFTCURSORUPCURRENT 584 \BITBLT.BITMAP 558 \TOTOPWDS 547 DSPDESTINATION 529 \GETSTREAM 516 \SOFTCURSORDOWN 482 DSPDESTINATION 477 \GETSTREAM 440 WINDOWP 214 \GETSTREAM 61 \GETSTREAM 49 \BLTSHADE.BITMAP)
-(908 IMAGEOPS 901 STREAM 856 \EM.DISPINTERRUPT 835 REPLACE 830 INPUT 784 \TOPWDS 771 OUTPUT 755 \EM.DISPINTERRUPT 745 \EM.DISPINTERRUPT 735 \CURSORDESTINATION 719 OUTPUT 710 \SOFTCURSORUPP 703 \SOFTCURSORP 642 OUTPUT 603 \EM.DISPINTERRUPT 536 \TOPWDS 523 OUTPUT 507 \EM.DISPINTERRUPT 497 \EM.DISPINTERRUPT 487 \CURSORDESTINATION 471 OUTPUT 462 \SOFTCURSORUPP 455 \SOFTCURSORP 429 BITMAP 404 \DISPLAYDATA 380 \DISPLAYDATA 345 \DISPLAYDATA 328 \DISPLAYDATA 305 \DISPLAYDATA 294 \DISPLAYDATA 277 \DISPLAYDATA 266 \DISPLAYDATA 256 \DISPLAYDATA 226 \DISPLAYDATA 219 STREAM 208 OUTPUT 189 BITMAP 169 BITMAP 155 BITMAP 140 BITMAP 110 BITMAP 77 IMAGEOPS 70 STREAM 55 OUTPUT 28 BITMAP 18 TEXTURE)
+¿O"Ÿ¿`O Í¿OjdODEFGGGGG
@	¿OÉ.É_$¿IABODEFGGGGGJKlO$h(881 TOTOPW 874 BKBITBLT 838 \SOFTCURSORUPCURRENT 829 BKBITBLT 806 BITMAPCREATE 794 \TOTOPWDS 783 DSPDESTINATION 765 \GETSTREAM 752 \SOFTCURSORDOWN 721 DSPDESTINATION 716 \GETSTREAM 679 WOVERLAPP 667 WINDOWP 657 WINDOWP 642 \GETSTREAM 630 \BITBLT.BITMAP 591 \SOFTCURSORUPCURRENT 578 \BITBLT.BITMAP 552 \TOTOPWDS 541 DSPDESTINATION 523 \GETSTREAM 510 \SOFTCURSORDOWN 479 DSPDESTINATION 474 \GETSTREAM 440 WINDOWP 214 \GETSTREAM 61 \GETSTREAM 49 \BLTSHADE.BITMAP)
+(896 IMAGEOPS 889 STREAM 844 \EM.DISPINTERRUPT 823 REPLACE 818 INPUT 772 \TOPWDS 759 OUTPUT 743 \EM.DISPINTERRUPT 733 \EM.DISPINTERRUPT 710 OUTPUT 697 \SOFTCURSORP 636 OUTPUT 597 \EM.DISPINTERRUPT 530 \TOPWDS 517 OUTPUT 501 \EM.DISPINTERRUPT 491 \EM.DISPINTERRUPT 468 OUTPUT 455 \SOFTCURSORP 429 BITMAP 404 \DISPLAYDATA 380 \DISPLAYDATA 345 \DISPLAYDATA 328 \DISPLAYDATA 305 \DISPLAYDATA 294 \DISPLAYDATA 277 \DISPLAYDATA 266 \DISPLAYDATA 256 \DISPLAYDATA 226 \DISPLAYDATA 219 STREAM 208 OUTPUT 189 BITMAP 169 BITMAP 155 BITMAP 140 BITMAP 110 BITMAP 77 IMAGEOPS 70 STREAM 55 OUTPUT 28 BITMAP 18 TEXTURE)
 ()
 BLTSHADE :D8
 (L (7 CLIPPINGREGION 6 OPERATION 5 HEIGHT 4 WIDTH 3 DESTINATIONBOTTOM 2 DESTINATIONLEFT 1 DESTINATION 0 TEXTURE)) [AdÃ²¿@ABµjCµjDEFG
ghHÉ.É¹@HBµjCµjDEFd¥H
@@ -168,7 +171,7 @@ BITMAPCREATE :D8
 NIL
 ( 102 "bits in BITMAP -- too big" 88 131066)
 BITMAPBIT :D8
-(P 15 SOFTCURSORUP P 14 DISPINTERRUPT P 13 DD P 12 TY P 11 TX P 6 bitmapbase P 5 oldword P 4 HEIGHT P 3 OLDVALUE P 2 WORDX P 1 BITX P 0 NBITS I 3 NEWVALUE I 2 Y I 1 X I 0 BITMAP F 16 \SCREENBITMAPS) ò°
+(P 15 SOFTCURSORUP P 14 DISPINTERRUPT P 13 DD P 12 TY P 11 TX P 6 bitmapbase P 5 oldword P 4 HEIGHT P 3 OLDVALUE P 2 WORDX P 1 BITX P 0 NBITS I 3 NEWVALUE I 2 Y I 1 X I 0 BITMAP F 16 \SOFTCURSORUPP F 17 \CURSORDESTINATION F 18 \SCREENBITMAPS) ì°
 @Ã¢±+@ÈXjAñ’±A@Èýñ¢±üjBñ’±õB@È\ýñ¢±åHkð²[Cdjð²¿@ÉABkLkÙ@Èh8³@ÉABlLkÙ@Èh8@ÉABlLkÙ@Èh8@É@ÈBÙkÙ@ÈÚÐ^C²jCñ¯C@È	ñ–C	¿Hdkð²c¿AââââZNJÐÈ]`Alå_¿_ÉOl
 OØÐÈYCµMIåjð² jjð�NJÐMImÿæåÍ¿°èNJÐMIäÍ¿°Ýklð²mAlçYdââââZNJÐÈ]d`Alå_¿_ÉOl
 OØÐÈå[C²NJÐMKæCllAlåÙÚ
@@ -177,27 +180,27 @@ BITMAPBIT :D8
 [C—NACKoH
 0
@ghbÉ0_AO
 _BO
-_O¢±þºd¢±þµ `²3`´h@
-`ð_²`È_¿`jÍ¿¿@`ð³h@
-W –@	¿OÉOOCû_¿Ož¿`OÍO(739 \SOFTCURSORUPCURRENT 711 \TOTOPWDS 701 DSPDESTINATION 684 \SOFTCURSORDOWN 650 DSPDESTINATION 613 \DSPCLIPTRANSFORMY 603 \DSPCLIPTRANSFORMX 579 \GETSTREAM 563 ERROR 550 \PUTBASE24 539 \GETBASE24 435 LRSH 415 LLSH 382 \GETBASEFIXP 275 \GETBASEFIXP 220 \ILLEGAL.ARG 212 MAXIMUMCOLOR)
-(745 \EM.DISPINTERRUPT 719 \DISPLAYDATA 691 \TOPWDS 675 \EM.DISPINTERRUPT 665 \EM.DISPINTERRUPT 655 \CURSORDESTINATION 641 \SOFTCURSORUPP 634 \SOFTCURSORP 593 \DISPLAYDATA 586 STREAM 573 OUTPUT 375 ARRAYP 366 ARRAYP 352 4BITMASKARRAY 268 ARRAYP 259 ARRAYP 245 BITMASKARRAY 205 BITMAP 186 BITMAP 174 BITMAP 166 BITMAP 154 BITMAP 139 BITMAP 127 BITMAP 112 BITMAP 98 BITMAP 84 BITMAP 57 BITMAP 35 BITMAP 18 BITMAP 8 BITMAP)
+_O¢±þºd¢±þµ `²-W ´h@
+W"ð_²`È_¿`jÍ¿¿@`ð³h@
+W$–@	¿OÉOOCû_¿Ož¿`OÍO(733 \SOFTCURSORUPCURRENT 705 \TOTOPWDS 695 DSPDESTINATION 678 \SOFTCURSORDOWN 647 DSPDESTINATION 613 \DSPCLIPTRANSFORMY 603 \DSPCLIPTRANSFORMX 579 \GETSTREAM 563 ERROR 550 \PUTBASE24 539 \GETBASE24 435 LRSH 415 LLSH 382 \GETBASEFIXP 275 \GETBASEFIXP 220 \ILLEGAL.ARG 212 MAXIMUMCOLOR)
+(739 \EM.DISPINTERRUPT 713 \DISPLAYDATA 685 \TOPWDS 669 \EM.DISPINTERRUPT 659 \EM.DISPINTERRUPT 634 \SOFTCURSORP 593 \DISPLAYDATA 586 STREAM 573 OUTPUT 375 ARRAYP 366 ARRAYP 352 4BITMASKARRAY 268 ARRAYP 259 ARRAYP 245 BITMASKARRAY 205 BITMAP 186 BITMAP 174 BITMAP 166 BITMAP 154 BITMAP 139 BITMAP 127 BITMAP 112 BITMAP 98 BITMAP 84 BITMAP 57 BITMAP 35 BITMAP 18 BITMAP 8 BITMAP)
 ( 557 "unknown bits per pixel size.")
 BLTCHAR :D8
 (I 1 DISPLAYSTREAM I 0 CHARCODE) 2@d—¿j@ñ¡@…@	AdghÉ0(47 \BLTCHAR 30 \GETSTREAM 17 \ILLEGAL.ARG)
 (42 \DISPLAYDATA 35 STREAM 24 OUTPUT)
 ()
 \BLTCHAR :D8
-(P 0 A0241 I 2 DISPLAYDATA I 1 DISPLAYSTREAM I 0 CHARCODE) (AghbÉ.ÉZ@ABlH(11 \GETSTREAM)
+(P 0 A0448 I 2 DISPLAYDATA I 1 DISPLAYSTREAM I 0 CHARCODE) (AghbÉ.ÉZ@ABlH(11 \GETSTREAM)
 (25 IMAGEOPS 18 STREAM 5 OUTPUT)
 ()
 \MEDW.BLTCHAR :D8
-(L (2 DISPLAYDATA 1 DISPLAYSTREAM 0 CHARCODE) F 7 \SCREENBITMAPS) p@lÿå\¿BdÉ>@ãð¨@ã
+(L (2 DISPLAYDATA 1 DISPLAYSTREAM 0 CHARCODE) F 7 \SOFTCURSORUPP F 8 \CURSORDESTINATION F 9 \SCREENBITMAPS) p@lÿå\¿BdÉ>@ãð¨@ã
 ¿BÉ—@A
 BÉ[BÉ0LÐÈØYBÉñŸKBÉñ™l
A
-°ÃBKBÉLÐÈØ¿BÉ¸KHØ»IHØYBÈ#Xñ‘H¹KBÈ"Xñ‘K€HºIJñ´‚±™BÉ*XÈ	jð’±‡h]¾`²0`´hA
-`ð^²`È½`jÍ¿¿A`ð³hA
-W–A	¿HJÍ¿HIJÙÍ¿HBÉLÐÈJØKÙÍ¿Hjv¿N�¿`MÍih(261 \SOFTCURSORUPCURRENT 222 \TOTOPWDS 212 DSPDESTINATION 195 \SOFTCURSORDOWN 164 DSPDESTINATION 68 \DSPPRINTCR/LF 35 \SLOWBLTCHAR 23 \CHANGECHARSET.DISPLAY)
-(267 \EM.DISPINTERRUPT 202 \TOPWDS 186 \EM.DISPINTERRUPT 178 \EM.DISPINTERRUPT 169 \CURSORDESTINATION 155 \SOFTCURSORUPP 148 \SOFTCURSORP 132 PILOTBBT)
+°ÃBKBÉLÐÈØ¿BÉ¸KHØ»IHØYBÈ#Xñ‘H¹KBÈ"Xñ‘K€HºIJñ´‚±“BÉ*XÈ	jð’±�h]¾`²*W´hA
+Wð^²`È½`jÍ¿¿A`ð³hA
+W–A	¿HJÍ¿HIJÙÍ¿HBÉLÐÈJØKÙÍ¿Hjv¿N�¿`MÍih(255 \SOFTCURSORUPCURRENT 216 \TOTOPWDS 206 DSPDESTINATION 189 \SOFTCURSORDOWN 161 DSPDESTINATION 68 \DSPPRINTCR/LF 35 \SLOWBLTCHAR 23 \CHANGECHARSET.DISPLAY)
+(261 \EM.DISPINTERRUPT 196 \TOPWDS 180 \EM.DISPINTERRUPT 172 \EM.DISPINTERRUPT 148 \SOFTCURSORP 132 PILOTBBT)
 ()
 \CHANGECHARSET.DISPLAY :D8
 (P 4 \INTERRUPTABLE P 2 BM P 1 CSINFO P 0 PBT I 1 CHARSET I 0 DISPLAYDATA) Š@É*@ÉÉAàÐÉµA@Éh"@IÉ¿@IÉ¿@IÉ0¿@A>¿IÉºHJÈàààànÿÿåÍ¿@È'IÈ
@@ -215,18 +218,17 @@ BLTCHAR :D8
 (75 ^ 52 %# 16 SI::RESETUNWIND)
 ( 81 "" 58 "")
 \SLOWBLTCHAR :D8
-(P 16 CSINFO P 15 HEIGHTMOVED P 14 YPOS P 13 SOFTCURSORUP P 12 DISPINTERRUPT P 11 SOURCEBIT P 10 WIDTH P 9 DESTBIT P 8 PILOTBBT P 7 CURX P 6 RIGHT P 5 LEFT P 4 NEWX P 2 DD P 1 CHAR8CODE P 0 ROTATION I 1 DISPLAYSTREAM I 0 CHARCODE F 17 \SCREENBITMAPS) T@@lÿåYAÉ0ZdÉÈXdjð¢±‡€JÉ_JÉIÐÈØ\JÉñ²l
A
-¿JÉ_JÉIÐÈØ¼JL¿OJÉØ_¿JÈ"dOñ¢¿O½JÈ#LJÉØ»dKñ‘¿K¾JÉ*_¿NMñ¢±OÈ	jð’±
-M_¿NMÙ_¿JÉIÐÈMØOÙ_¿JÉÈdkð³adlð²¿Oàà_¿Oàà_¿Oàà_°Ddlð²¿Oààà_¿Oààà_¿Oààà_°$lð²lOÚ_¿lOÚ_¿lOÚ_„¿ 
`²3`´hA
-`ð_²`È_¿`jÍ¿¿A`ð³hA
-W"–A	¿OOÍ¿OOÍ¿OOÍ¿Ojv¿OŸ¿`OÍ¿±·0JÉ_¿JÉIÐÈ_¿JÉÉ@ãàÐÉµ
@ãJÉh_ ¿HdlZð²;¿AOOØ
+(P 16 CSINFO P 15 HEIGHTMOVED P 14 YPOS P 13 SOFTCURSORUP P 12 DISPINTERRUPT P 11 SOURCEBIT P 10 WIDTH P 9 DESTBIT P 8 PILOTBBT P 7 CURX P 6 RIGHT P 5 LEFT P 4 NEWX P 2 DD P 1 CHAR8CODE P 0 ROTATION I 1 DISPLAYSTREAM I 0 CHARCODE F 17 \SOFTCURSORUPP F 18 \CURSORDESTINATION F 19 \SCREENBITMAPS) N@@lÿåYAÉ0ZdÉÈXdjð¢±�€JÉ_JÉIÐÈØ\JÉñ²l
A
+¿JÉ_JÉIÐÈØ¼JL¿OJÉØ_¿JÈ"dOñ¢¿O½JÈ#LJÉØ»dKñ‘¿K¾JÉ*_¿NMñ¢±OÈ	jð’±M_¿NMÙ_¿JÉIÐÈMØOÙ_¿JÉÈdkð³adlð²¿Oàà_¿Oàà_¿Oàà_°Ddlð²¿Oààà_¿Oààà_¿Oààà_°$lð²lOÚ_¿lOÚ_¿lOÚ_„¿ 
`²-W"´hA
+W$ð_²`È_¿`jÍ¿¿A`ð³hA
+W&–A	¿OOÍ¿OOÍ¿OOÍ¿Ojv¿OŸ¿`OÍ¿±·0JÉ_¿JÉIÐÈ_¿JÉÉ@ãàÐÉµ
@ãJÉh_ ¿HdlZð²;¿AOOØ
 ¿O ÉjJÉIÐÈAJÉO È
 ÙkØOO È
 O ÈØO
°Hnð²8AOOÙ
 ¿O ÉjJÉIÐÈAJÉO ÈÙJÉO È
-O ÈØO
‰o	h(592 ERROR 581 BKBITBLT 539 \DSPYPOSITION.DISPLAY 520 BKBITBLT 477 \DSPYPOSITION.DISPLAY 455 \CREATECHARSET 396 \SOFTCURSORUPCURRENT 361 \TOTOPWDS 351 DSPDESTINATION 334 \SOFTCURSORDOWN 300 DSPDESTINATION 275 SHOULDNT 55 \DSPPRINTCR/LF)
-(402 \EM.DISPINTERRUPT 341 \TOPWDS 325 \EM.DISPINTERRUPT 315 \EM.DISPINTERRUPT 305 \CURSORDESTINATION 291 \SOFTCURSORUPP 284 \SOFTCURSORP 111 \DISPLAYDATA 83 \DISPLAYDATA)
-( 587 "Not implemented to rotate by other than 0, 90 or 270")
+O ÈØO
‰o	h(586 ERROR 575 BKBITBLT 533 \DSPYPOSITION.DISPLAY 514 BKBITBLT 471 \DSPYPOSITION.DISPLAY 449 \CREATECHARSET 390 \SOFTCURSORUPCURRENT 355 \TOTOPWDS 345 DSPDESTINATION 328 \SOFTCURSORDOWN 297 DSPDESTINATION 275 SHOULDNT 55 \DSPPRINTCR/LF)
+(396 \EM.DISPINTERRUPT 335 \TOPWDS 319 \EM.DISPINTERRUPT 309 \EM.DISPINTERRUPT 284 \SOFTCURSORP 111 \DISPLAYDATA 83 \DISPLAYDATA)
+( 581 "Not implemented to rotate by other than 0, 90 or 270")
 TEXTUREP :D8
 (I 0 OBJECT) @d3 ³Ã´@Èkð´@NIL
 (18 BITMAP 10 BITMAP)
@@ -274,7 +276,7 @@ OPPOSITESHADE :D8
 NIL
 ()
 \MEDW.BITBLT :D8
-(P 9 A0244 P 8 A0243 P 7 SOURCEBOTTOMTRANSFORMED P 6 SOURCELEFTTRANSFORMED P 3 SRCWIN P 2 A0242 P 1 DD P 0 DSTWIN I 11 CLIPPINGREGION I 10 TEXTURE I 9 OPERATION I 8 SOURCETYPE I 7 HEIGHT I 6 WIDTH I 5 DESTINATIONBOTTOM I 4 DESTINATIONLEFT I 3 DESTINATION I 2 SOURCEBOTTOM I 1 SOURCELEFT I 0 SOURCE F 10 \SCREENBITMAPS) 
+(P 9 A0451 P 8 A0450 P 7 SOURCEBOTTOMTRANSFORMED P 6 SOURCELEFTTRANSFORMED P 3 SRCWIN P 2 A0449 P 1 DD P 0 DSTWIN I 11 CLIPPINGREGION I 10 TEXTURE I 9 OPERATION I 8 SOURCETYPE I 7 HEIGHT I 6 WIDTH I 5 DESTINATIONBOTTOM I 4 DESTINATIONLEFT I 3 DESTINATION I 2 SOURCEBOTTOM I 1 SOURCELEFT I 0 SOURCE F 10 \SCREENBITMAPS) 
 @	³C	ªo	¿@Ã²Z@²WCi
 CghÉ0HÉ2ÉHºHÉ2@ABCDEFGGGGGABlJ±–CÃ´‚±¯C´‚±¨@i
 !@ghÉ0AIÉØµABIÉØµBKÉ2ÉJ_¿KÉ2IÉNOCDEFGGGGGNIÈ"¼dLñ¡¿LOIÈ$½dMñ¡¿MlO±Þ@
@@ -313,28 +315,28 @@ BITMAPBIT.EXPANDER :D8
 NIL
 ( 32 (OPCODES MISC4 6))
 \BITBLT.DISPLAY :D8
-(L (11 CLIPPINGREGION 10 TEXTURE 9 OPERATION 8 SOURCETYPE 7 HEIGHT 6 WIDTH 5 DESTINATIONBOTTOM 4 DESTINATIONLEFT 3 DESTINATION 2 SOURCEBOTTOM 1 SOURCELEFT 0 SOURCEBITMAP) F 48 \SCREENBITMAPS) “0ðð@dÃ²[¿A£jb¿B£jb¿AºB»Fµ3@Èb¿Gµ@Èb¿±Í@ÈBÙ½dMñ²ì¿M°è@ÈAÙ¼dLñ²É¿L°ÅghÉ0X¢±‰@¹A¦HÉ
+(L (11 CLIPPINGREGION 10 TEXTURE 9 OPERATION 8 SOURCETYPE 7 HEIGHT 6 WIDTH 5 DESTINATIONBOTTOM 4 DESTINATIONLEFT 3 DESTINATION 2 SOURCEBOTTOM 1 SOURCELEFT 0 SOURCEBITMAP) F 48 \SCREENBITMAPS F 49 \SOFTCURSORUPP F 50 \CURSORDESTINATION) �0ðð@dÃ²[¿A£jb¿B£jb¿AºB»Fµ3@Èb¿Gµ@Èb¿±Í@ÈBÙ½dMñ²ì¿M°è@ÈAÙ¼dLñ²É¿L°ÅghÉ0X¢±‰@¹A¦HÉ
 b¿B§HÉ
-b¿HÉb¿AHÉØbHÈ"¾dNñ¡¿NºBHÉØbHÈ$_¿dOñ¢¿O»FµNHÈ#JÙb¿Gµ%HÈ%KÙb¿G¥HÉ6b¿Fjñ´	Gjñ³4hHÈ%KÙ_¿dOñ²Ö¿O°ÑHÈ#JÙ_¿dOñ²­¿O°¨CdÃ¢±Ï¿I	¢±ªh__¿`²>`´h@gh
-`ð_²`È_¿`jÍ¿¿@gh_`ð³hO
-W`—O	¿@ABCDEFGGGGGJK
O´‚± ¿`OÍ¿±Œ@ABCDEFGGGGGJK
gh_IdCð’±"	³I¢±,Id	¢±¿C	¢±øIdC
-¢±í¿I	ÉÉ.C	ÉÉ.ð¢±Èh__ _"¿`²>`´hIgh
-`ð_"²`È_ ¿`jÍ¿¿Igh_`ð³hO
+b¿HÉb¿AHÉØbHÈ"¾dNñ¡¿NºBHÉØbHÈ$_¿dOñ¢¿O»FµNHÈ#JÙb¿Gµ%HÈ%KÙb¿G¥HÉ6b¿Fjñ´	Gjñ³4hHÈ%KÙ_¿dOñ²Ö¿O°ÑHÈ#JÙ_¿dOñ²­¿O°¨CdÃ¢±É¿I	¢±¤h__¿`²8Wb´h@gh
+Wdð_²`È_¿`jÍ¿¿@gh_`ð³hO
+W`—O	¿@ABCDEFGGGGGJK
O´‚±”¿`OÍ¿±€@ABCDEFGGGGGJK
gh_IdCð’±	³I¢±&Id	¢±¿C	¢±òIdC
+¢±ç¿I	ÉÉ.C	ÉÉ.ð¢±Âh__ _"¿`²8Wb´hIgh
+Wdð_"²`È_ ¿`jÍ¿¿Igh_`ð³hO
 W`—O	¿@ABFG
 _jdFGgg
 ¿O"Ÿ¿`O Í¿OjdODEFGGGGG
I	¿I²hI
 hO
-ð¢±ü°)OÉ0_JÉ_L¿O`ð³hO
+ð¢±ö°)OÉ0_JÉ_L¿O`ð³hO
 W`—O	¿DOJÉØb¿EOJÉØb
-¿OJÈ"_B¿OJÈ$_F¿OJÈ#_H¿OJÈ%_D¿G²nOBGOJÉØ_(¿dO(ñ¢¿O(_B¿OFGOJÉØ_*¿dO*ñ¢¿O*_F¿OHO(GØ_$¿dO$ñ’¿O$_H¿ODO*GØ_&¿dO&ñ’¿O&_D¿OLÈ_N¿@È_PONð³2OPkð²@jON	ON°ONkð¢±Ñ@ON	
-b¿DdOBñ¢¿OB_B¿EdOFñ¢¿OF_F¿F�DFØdOHñ’¿OH_H¿GžEGØdODñ’¿OD_D¿DAÙ_>¿EBÙ_@¿JOBO>Ù_,¿dO,ñ¢¿O,djñ¡¿j_B¿KOFO@Ù_.¿dO.ñ¢¿O.djñ¡¿j_F¿@ÈOHO>Ù_0¿dO0ñ’¿O0JFØ_2¿dO2ñ’¿O2_H¿@ÈODO@Ù_4¿dO4ñ’¿O4KGØ_6¿dO6ñ’¿O6_D¿OHOBñ¢±õODOFñ¢±ìG¦OJÉb¿ON	_R¿Gdgð²~¿Gd²¿ONkð™G	b�G£OR°JGd3 —ORåORæ°<Ã²G`µld
+¿OJÈ"_B¿OJÈ$_F¿OJÈ#_H¿OJÈ%_D¿G²nOBGOJÉØ_(¿dO(ñ¢¿O(_B¿OFGOJÉØ_*¿dO*ñ¢¿O*_F¿OHO(GØ_$¿dO$ñ’¿O$_H¿ODO*GØ_&¿dO&ñ’¿O&_D¿OLÈ_N¿@È_PONð³2OPkð²@jON	ON°ONkð¢±Ë@ON	
+b¿DdOBñ¢¿OB_B¿EdOFñ¢¿OF_F¿F�DFØdOHñ’¿OH_H¿GžEGØdODñ’¿OD_D¿DAÙ_>¿EBÙ_@¿JOBO>Ù_,¿dO,ñ¢¿O,djñ¡¿j_B¿KOFO@Ù_.¿dO.ñ¢¿O.djñ¡¿j_F¿@ÈOHO>Ù_0¿dO0ñ’¿O0JFØ_2¿dO2ñ’¿O2_H¿@ÈODO@Ù_4¿dO4ñ’¿O4KGØ_6¿dO6ñ’¿O6_D¿OHOBñ¢±ïODOFñ¢±æG¦OJÉb¿ON	_R¿Gdgð²~¿Gd²¿ONkð™G	b�G£OR°JGd3 —ORåORæ°<Ã²G`µld
 
 °ONkð©GON
 †G	b¿ONdkð³)¿GON
-°gð²ONdkðœ¿G	b¿ONkð³ONOBÚ_B¿ONOHÚ_H¿ONO>Ú_>¿h_8_:¿`²4`´hO
-`ð_:²`È_8¿`jÍ¿¿O`ð³hO
-W`—O	¿`/ODOFÙ_T¿OHOBÙ_V¿OLÈODO@ØÙ_X¿OBO>Ø_Z¿@ÈODÙ_\¿OB_^¿`OVÍ¿`OTÍ	¿Ggð²"`@O^O\OLOZOXOVOTGG
° `@O^O\OLOZOXOTGGG
O:Ÿ¿`O8Í¿°.OÉ.É_<¿@ABODEFGGGGGJKlO<h(1877 \SOFTCURSORUPCURRENT 1868 \BITBLTSUB 1836 \BITBLT.MERGE 1701 \TOTOPWDS 1690 DSPDESTINATION 1671 \SOFTCURSORDOWN 1637 DSPDESTINATION 1576 INSURE.B&W.TEXTURE 1552 COLORTEXTUREFROMCOLOR# 1532 \ILLEGAL.ARG 1524 COLORNUMBERP 1508 INVERT.TEXTURE.BITMAP 1498 BITMAPCREATE 1450 INSURE.B&W.TEXTURE 1416 MAXIMUMSHADE 1183 UNCOLORIZEBITMAP 1178 COLORMAP 1160 COLORIZEBITMAP 1153 MAXIMUMCOLOR 927 \TOTOPWDS 916 DSPDESTINATION 869 DSPDESTINATION 861 DSPDESTINATION 850 TOTOPW 843 BKBITBLT 807 \SOFTCURSORUPCURRENT 798 BKBITBLT 775 BITMAPCREATE 763 \TOTOPWDS 752 DSPDESTINATION 734 \GETSTREAM 721 \SOFTCURSORDOWN 687 DSPDESTINATION 682 \GETSTREAM 633 \INSUREWINDOW 618 \INSUREWINDOW 607 WOVERLAPP 595 WINDOWP 584 WFROMDS 570 WINDOWP 555 \GETSTREAM 543 \BITBLT.BITMAP 504 \SOFTCURSORUPCURRENT 491 \BITBLT.BITMAP 465 \TOTOPWDS 454 DSPDESTINATION 436 \GETSTREAM 423 \SOFTCURSORDOWN 389 DSPDESTINATION 384 \GETSTREAM 347 WINDOWP 117 \GETSTREAM)
-(1905 IMAGEOPS 1898 STREAM 1883 \EM.DISPINTERRUPT 1843 \SYSPILOTBBT 1811 \SYSPILOTBBT 1803 MERGE 1791 PILOTBBT 1786 \SYSPILOTBBT 1776 PILOTBBT 1771 \SYSPILOTBBT 1753 BITMAP 1728 BITMAP 1679 \TOPWDS 1662 \EM.DISPINTERRUPT 1652 \EM.DISPINTERRUPT 1642 \CURSORDESTINATION 1627 \SOFTCURSORUPP 1620 \SOFTCURSORP 1559 TEXTURE 1503 \BBSCRATCHTEXTURE 1488 \BBSCRATCHTEXTURE 1479 BITMAP 1427 MERGE 1123 BITMAP 1050 \DISPLAYDATA 1020 \DISPLAYDATA 999 \DISPLAYDATA 987 \DISPLAYDATA 975 \DISPLAYDATA 963 \DISPLAYDATA 950 \DISPLAYDATA 936 \DISPLAYDATA 905 \TOPWDS 893 \DISPLAYDATA 884 STREAM 813 \EM.DISPINTERRUPT 792 REPLACE 787 INPUT 741 \TOPWDS 728 OUTPUT 712 \EM.DISPINTERRUPT 702 \EM.DISPINTERRUPT 692 \CURSORDESTINATION 676 OUTPUT 667 \SOFTCURSORUPP 660 \SOFTCURSORP 640 STREAM 625 STREAM 549 OUTPUT 510 \EM.DISPINTERRUPT 443 \TOPWDS 430 OUTPUT 414 \EM.DISPINTERRUPT 404 \EM.DISPINTERRUPT 394 \CURSORDESTINATION 378 OUTPUT 369 \SOFTCURSORUPP 362 \SOFTCURSORP 336 BITMAP 311 \DISPLAYDATA 287 \DISPLAYDATA 252 \DISPLAYDATA 235 \DISPLAYDATA 212 \DISPLAYDATA 201 \DISPLAYDATA 184 \DISPLAYDATA 173 \DISPLAYDATA 161 \DISPLAYDATA 129 \DISPLAYDATA 122 STREAM 111 OUTPUT 92 BITMAP 72 BITMAP 58 BITMAP 43 BITMAP 15 BITMAP)
+°gð²ONdkðœ¿G	b¿ONkð³ONOBÚ_B¿ONOHÚ_H¿ONO>Ú_>¿h_8_:¿`².Wb´
hO
+Wdð_:²`È_8¿`jÍ¿¿O`ð³hO
+W`—O	¿`/ODOFÙ_T¿OHOBÙ_V¿OLÈODO@ØÙ_X¿OBO>Ø_Z¿@ÈODÙ_\¿OB_^¿`OVÍ¿`OTÍ	¿Ggð²"`@O^O\OLOZOXOVOTGG
° `@O^O\OLOZOXOTGGG
O:Ÿ¿`O8Í¿°.OÉ.É_<¿@ABODEFGGGGGJKlO<h(1859 \SOFTCURSORUPCURRENT 1850 \BITBLTSUB 1818 \BITBLT.MERGE 1683 \TOTOPWDS 1672 DSPDESTINATION 1653 \SOFTCURSORDOWN 1622 DSPDESTINATION 1564 INSURE.B&W.TEXTURE 1540 COLORTEXTUREFROMCOLOR# 1520 \ILLEGAL.ARG 1512 COLORNUMBERP 1496 INVERT.TEXTURE.BITMAP 1486 BITMAPCREATE 1438 INSURE.B&W.TEXTURE 1404 MAXIMUMSHADE 1171 UNCOLORIZEBITMAP 1166 COLORMAP 1148 COLORIZEBITMAP 1141 MAXIMUMCOLOR 915 \TOTOPWDS 904 DSPDESTINATION 857 DSPDESTINATION 849 DSPDESTINATION 838 TOTOPW 831 BKBITBLT 795 \SOFTCURSORUPCURRENT 786 BKBITBLT 763 BITMAPCREATE 751 \TOTOPWDS 740 DSPDESTINATION 722 \GETSTREAM 709 \SOFTCURSORDOWN 678 DSPDESTINATION 673 \GETSTREAM 627 \INSUREWINDOW 612 \INSUREWINDOW 601 WOVERLAPP 589 WINDOWP 578 WFROMDS 564 WINDOWP 549 \GETSTREAM 537 \BITBLT.BITMAP 498 \SOFTCURSORUPCURRENT 485 \BITBLT.BITMAP 459 \TOTOPWDS 448 DSPDESTINATION 430 \GETSTREAM 417 \SOFTCURSORDOWN 386 DSPDESTINATION 381 \GETSTREAM 347 WINDOWP 117 \GETSTREAM)
+(1887 IMAGEOPS 1880 STREAM 1865 \EM.DISPINTERRUPT 1825 \SYSPILOTBBT 1793 \SYSPILOTBBT 1785 MERGE 1773 PILOTBBT 1768 \SYSPILOTBBT 1758 PILOTBBT 1753 \SYSPILOTBBT 1735 BITMAP 1710 BITMAP 1661 \TOPWDS 1644 \EM.DISPINTERRUPT 1634 \EM.DISPINTERRUPT 1608 \SOFTCURSORP 1547 TEXTURE 1491 \BBSCRATCHTEXTURE 1476 \BBSCRATCHTEXTURE 1467 BITMAP 1415 MERGE 1111 BITMAP 1038 \DISPLAYDATA 1008 \DISPLAYDATA 987 \DISPLAYDATA 975 \DISPLAYDATA 963 \DISPLAYDATA 951 \DISPLAYDATA 938 \DISPLAYDATA 924 \DISPLAYDATA 893 \TOPWDS 881 \DISPLAYDATA 872 STREAM 801 \EM.DISPINTERRUPT 780 REPLACE 775 INPUT 729 \TOPWDS 716 OUTPUT 700 \EM.DISPINTERRUPT 690 \EM.DISPINTERRUPT 667 OUTPUT 654 \SOFTCURSORP 634 STREAM 619 STREAM 543 OUTPUT 504 \EM.DISPINTERRUPT 437 \TOPWDS 424 OUTPUT 408 \EM.DISPINTERRUPT 398 \EM.DISPINTERRUPT 375 OUTPUT 362 \SOFTCURSORP 336 BITMAP 311 \DISPLAYDATA 287 \DISPLAYDATA 252 \DISPLAYDATA 235 \DISPLAYDATA 212 \DISPLAYDATA 201 \DISPLAYDATA 184 \DISPLAYDATA 173 \DISPLAYDATA 161 \DISPLAYDATA 129 \DISPLAYDATA 122 STREAM 111 OUTPUT 92 BITMAP 72 BITMAP 58 BITMAP 43 BITMAP 15 BITMAP)
 ()
 \BITBLT.BITMAP :D8
 (L (13 CLIPPEDSOURCEBOTTOM 12 CLIPPEDSOURCELEFT 11 CLIPPINGREGION 10 TEXTURE 9 OPERATION 8 SOURCETYPE 7 HEIGHT 6 WIDTH 5 DESTINATIONBOTTOM 4 DESTINATIONLEFT 3 DESTBITMAP 2 SOURCEBOTTOM 1 SOURCELEFT 0 SOURCEBITMAP) P 18 \INTERRUPTABLE) ð0CÈ[CÈ\j]d^@È_CÈZG²QMG_¿dOñ¢¿O½NG_¿dOñ¢¿O¾JGGØ_¿dOñ’¿OºKGGØ_¿dOñ’¿O»DdMñ¡¿M½EdNñ¡¿N¾F™DFØdJñ‘¿JºGšEGØdKñ‘¿K»DAÙXEBÙYGdjñ¡¿jMHÙ_¿dOñ¢¿O½Gdjñ¡¿jNIÙ_¿dOñ¢¿O¾@ÈJHÙ_¿dOñ’¿OGFØ_¿dOñ’¿Oº@ÈKIÙ_ ¿dO ñ’¿O GGØ_"¿dO"ñ’¿O"[JMñ´dNñ¡hGgð²WGµnÿÿ°K3 ›Gnÿÿånÿÿæ°<Lkð©GL
@@ -354,13 +356,13 @@ NIL
 (158 INPUT 136 ERASE 131 TEXTURE 111 REPLACE 106 INPUT 58 ERASE 53 TEXTURE 33 REPLACE 28 INPUT 6 REPLACE)
 ()
 \BLTSHADE.DISPLAY :D8
-(L (7 CLIPPINGREGION 6 OPERATION 5 HEIGHT 4 WIDTH 3 DESTINATIONBOTTOM 2 DESTINATIONLEFT 1 STREAM 0 TEXTURE) F 14 \SCREENBITMAPS) `à
AÉ0]A`ð³hA
+(L (7 CLIPPINGREGION 6 OPERATION 5 HEIGHT 4 WIDTH 3 DESTINATIONBOTTOM 2 DESTINATIONLEFT 1 STREAM 0 TEXTURE) F 14 \SCREENBITMAPS F 15 \SOFTCURSORUPP F 16 \CURSORDESTINATION) Zà
AÉ0]A`ð³hA
 W–A	¿BMÉØbCMÉØbMÈ"¸MÈ$ºMÈ#»MÈ%¹G²`HGMÉØ_¿dOñ¢¿O¸JGMÉØ_¿dOñ¢¿OºKOGØ_¿dOñ’¿O»IOGØ_¿dOñ’¿O¹MÉ\dÈ^BdHñ¡¿H¸CdJñ¡¿JºD™BDØdKñ‘¿K»E™CEØdIñ‘¿I¹KHñ´IJñ¡h@	dgð¨dgð²¿@¤MÉ6°RNkð³G@Ni°;dgð§dgðš¿@N	å°(dgð“¿@°gðœNkð¨@N
 µ@	bNkð³NHÚ¸NKÚ»@N
-b¿h__¿`²3`´hA
-`ð_²`È_¿`jÍ¿¿A`ð³hA
-W–A	¿IJÙ_¿`KHÙÍ¿`OÍ	¿`hHhLHLÈIÙOgFµMÉ@NMÉÚMÉ

¿Ož¿`OÍi(594 \SOFTCURSORUPCURRENT 585 \BITBLTSUB 489 \TOTOPWDS 479 DSPDESTINATION 462 \SOFTCURSORDOWN 428 DSPDESTINATION 398 COLORTEXTUREFROMCOLOR# 376 \ILLEGAL.ARG 368 COLORNUMBERP 335 MAXIMUMSHADE 309 COLORNUMBERP 271 TYPENAME 37 \TOTOPWDS 27 DSPDESTINATION)
-(600 \EM.DISPINTERRUPT 577 \DISPLAYDATA 568 \DISPLAYDATA 554 TEXTURE 543 BITMAP 532 \SYSPILOTBBT 522 PILOTBBT 517 \SYSPILOTBBT 506 PILOTBBT 501 \SYSPILOTBBT 469 \TOPWDS 453 \EM.DISPINTERRUPT 443 \EM.DISPINTERRUPT 433 \CURSORDESTINATION 419 \SOFTCURSORUPP 412 \SOFTCURSORP 355 LISTP 344 BITMAP 325 FIXP 317 SMALLP 285 NEW-ATOM 277 LITATOM 211 BITMAP 202 \DISPLAYDATA 138 \DISPLAYDATA 112 \DISPLAYDATA 95 \DISPLAYDATA 86 \DISPLAYDATA 77 \DISPLAYDATA 68 \DISPLAYDATA 57 \DISPLAYDATA 45 \DISPLAYDATA 17 \TOPWDS 8 STREAM)
+b¿h__¿`²-W´hA
+W ð_²`È_¿`jÍ¿¿A`ð³hA
+W–A	¿IJÙ_¿`KHÙÍ¿`OÍ	¿`hHhLHLÈIÙOgFµMÉ@NMÉÚMÉ

¿Ož¿`OÍi(588 \SOFTCURSORUPCURRENT 579 \BITBLTSUB 483 \TOTOPWDS 473 DSPDESTINATION 456 \SOFTCURSORDOWN 425 DSPDESTINATION 398 COLORTEXTUREFROMCOLOR# 376 \ILLEGAL.ARG 368 COLORNUMBERP 335 MAXIMUMSHADE 309 COLORNUMBERP 271 TYPENAME 37 \TOTOPWDS 27 DSPDESTINATION)
+(594 \EM.DISPINTERRUPT 571 \DISPLAYDATA 562 \DISPLAYDATA 548 TEXTURE 537 BITMAP 526 \SYSPILOTBBT 516 PILOTBBT 511 \SYSPILOTBBT 500 PILOTBBT 495 \SYSPILOTBBT 463 \TOPWDS 447 \EM.DISPINTERRUPT 437 \EM.DISPINTERRUPT 412 \SOFTCURSORP 355 LISTP 344 BITMAP 325 FIXP 317 SMALLP 285 NEW-ATOM 277 LITATOM 211 BITMAP 202 \DISPLAYDATA 138 \DISPLAYDATA 112 \DISPLAYDATA 95 \DISPLAYDATA 86 \DISPLAYDATA 77 \DISPLAYDATA 68 \DISPLAYDATA 57 \DISPLAYDATA 45 \DISPLAYDATA 17 \TOPWDS 8 STREAM)
 ()
 \BLTSHADE.BITMAP :D8
 (L (7 CLIPPINGREGION 6 OPERATION 5 HEIGHT 4 WIDTH 3 DESTINATIONBOTTOM 2 DESTINATIONLEFT 1 DESTINATIONBITMAP 0 TEXTURE) P 10 \INTERRUPTABLE) ú 	jXdYAÈZAÈ[AÈ\dkð‘h¼G²IHG½dMñ¡¿M¸IG¾dNñ¡¿N¹KGGØ_¿dOñ’¿O»JGGØ_¿dOñ’¿OºB£jb¿C£jb¿BdHñ¡¿H¸CdIñ¡¿I¹D™BDØdKñ‘¿K»E™CEØdJñ‘¿JºKHñ´JIñ¡h@	dgð¨dgð²{¿L²q@µ	L	ŽLiµ@	bLµ‚±ù
@@ -421,34 +423,18 @@ Q
 (145 ERASE 138 INVERT 121 INVERT 110 PAINT 99 ERASE 86 \DISPLAYDATA 77 \DISPLAYDATA 53 INVERT 43 INPUT 32 \DISPLAYDATA 23 \DISPLAYDATA 16 STREAM 5 OUTPUT)
 ()
 DSPXOFFSET :D8
-(P 0 A0256 I 1 DISPLAYSTREAM I 0 XOFFSET) 'AghbÉ.É\@AlH(11 \GETSTREAM)
+(P 0 A0463 I 1 DISPLAYSTREAM I 0 XOFFSET) 'AghbÉ.É\@AlH(11 \GETSTREAM)
 (25 IMAGEOPS 18 STREAM 5 OUTPUT)
 ()
 DSPYOFFSET :D8
-(P 0 A0257 I 1 DISPLAYSTREAM I 0 YOFFSET) 'AghbÉ.É^@AlH(11 \GETSTREAM)
+(P 0 A0464 I 1 DISPLAYSTREAM I 0 YOFFSET) 'AghbÉ.É^@AlH(11 \GETSTREAM)
 (25 IMAGEOPS 18 STREAM 5 OUTPUT)
 ()
-DSPCREATE :D8
-(P 0 DSTRM I 0 DESTINATION F 8 DEFAULTFONT) k€@µ
-`b„¿ldjÏ0¿dg(¿djÏ¿`dj6¿dk.¿dk,¿`dkÏ
-¿¹dI*¿dj¿d`¿odnÿdhºdJ
-¿d`¿dj¿dj¿dj¿dj¿»dK0¿d`.¿d`
-¿dnÿÿÍ5¿`¼dLÍ4¿dh2¿dg*¿dg&¿dg$¿`½dMÍ¿dj¿dj¿dkÏ¿djÍ¿dlÏ¿dh¿djÏ¿dg
-¿XWH
-@H
-WH
-`@È_¿^Oó‘N�OH
-gH
-gH
-H(359 DSPOPERATION 348 DSPSOURCETYPE 337 DSPRIGHTMARGIN 306 DSPFONT 298 DSPDESTINATION 291 DSPFONT 281 \SETACCESS)
-(353 REPLACE 342 INPUT 317 BITMAP 311 SCREENWIDTH 276 OUTPUT 225 FILELINELENGTH 217 \STREAM.NOT.OPEN 208 \STREAM.NOT.OPEN 199 \EOSERROR 182 \STREAM.DEFAULT.MAXBUFFERS 167 DisplayFDEV 158 \DISPLAYIMAGEOPS 123 ScreenBitMap 93 SCREENWIDTH 69 |PILOTBBTTYPE#| 48 |\DISPLAYDATATYPE#| 34 \DSPPRINTCHAR 18 BITMAP 10 ScreenBitMap)
-( 101 -16383)
 DSPDESTINATION :D8
-(P 4 CL::$$TYPE-VALUE P 3 CL::$$TYPE-VALUE P 2 CL::$$TYPE-VALUE P 1 \INTERRUPTABLE P 0 DD I 1 DISPLAYSTREAM I 0 DESTINATION F 5 XDisplayFDEV) 
-AghbÉ0XdÉ@¢±åA@JÃ²@@Èdkð—¿`°5dlð—¿`°(dlð—¿`°lð•`ŽˆJÃ´U
+(P 4 CL::$$TYPE-VALUE P 3 CL::$$TYPE-VALUE P 2 CL::$$TYPE-VALUE P 1 \INTERRUPTABLE P 0 DD I 1 DISPLAYSTREAM I 0 DESTINATION F 5 DisplayFDEV F 6 \4DISPLAYFDEV F 7 XDisplayFDEV F 8 \8DISPLAYFDEV F 9 \24DISPLAYFDEV) ýAghbÉ0XdÉ@¢±ØA@JÃ²2@Èdkð“¿U°,dlð“¿V°#dlð”¿W°lð’W�‰JÃ´W
 ¿A@KÃ²A@Èdkð—¿`°:dlð—¿`°-dlð—¿`° lð–`°ŒKÃ´`.¿H@¿@LÃ—HA
-…LÃ(254 \SFFixDestination 213 SHOULDNT 119 SHOULDNT 14 \GETSTREAM)
-(261 SCREEN 246 BITMAP 227 \XDISPLAYIMAGEOPS 220 SCREEN 206 \24DISPLAYIMAGEOPS 195 \8DISPLAYIMAGEOPS 182 \4DISPLAYIMAGEOPS 169 \DISPLAYIMAGEOPS 157 BITMAP 149 BITMAP 139 STREAM 126 SCREEN 113 \24DISPLAYFDEV 102 \8DISPLAYFDEV 89 \4DISPLAYFDEV 76 DisplayFDEV 64 BITMAP 56 BITMAP 46 STREAM 28 \DISPLAYDATA 21 STREAM 8 OUTPUT)
+…LÃ(241 \SFFixDestination 200 SHOULDNT 105 SHOULDNT 14 \GETSTREAM)
+(248 SCREEN 233 BITMAP 214 \XDISPLAYIMAGEOPS 207 SCREEN 193 \24DISPLAYIMAGEOPS 182 \8DISPLAYIMAGEOPS 169 \4DISPLAYIMAGEOPS 156 \DISPLAYIMAGEOPS 144 BITMAP 136 BITMAP 126 STREAM 112 SCREEN 64 BITMAP 56 BITMAP 46 STREAM 28 \DISPLAYDATA 21 STREAM 8 OUTPUT)
 ()
 DSPTEXTURE :D8
 (I 1 DISPLAYSTREAM I 0 TEXTURE) 	@A
@@ -478,8 +464,8 @@ NIL
 (56 %%SYNONYM-STREAM-DEVICE 26 FONTDESCRIPTOR 5 STREAM)
 ()
 \UPDATE-SYNONYM-STREAM-LINELENGTH-FIELD :D8
-(P 7 SI::%%$$MAP-FIRST-SUBLIST P 6 X P 1 SI::%%$$MAP-FIRST-LIST P 0 NEWLENGTH I 0 DISPLAYSTREAM) o@Èa`ÉYOµI^É	²'NÉ	@ð²NHÍ¿`ÉZµ`É\µO_°Ç[ÉNð”KHÍ¿J°Þ]ÉNð”MHÍ¿L°Ø(41 CL:SYMBOL-VALUE 31 BOUNDP)
-(65 %%TWO-WAY-STREAM-DEVICE 55 %%ECHO-STREAM-DEVICE 10 %%SYNONYM-STREAM-DEVICE)
+(P 7 SI::%%$$MAP-FIRST-SUBLIST P 6 X P 1 SI::%%$$MAP-FIRST-LIST P 0 NEWLENGTH I 0 DISPLAYSTREAM F 8 %%SYNONYM-STREAM-DEVICE F 9 %%ECHO-STREAM-DEVICE F 10 %%TWO-WAY-STREAM-DEVICE) f@ÈaWÉYOµI^É	²!NÉ	@ð²NHÍ¿WÉZµWÉ\µO_°Í[ÉNð”KHÍ¿J°á]ÉNð”MHÍ¿L°Ø(38 CL:SYMBOL-VALUE 28 BOUNDP)
+NIL
 ()
 \SFFixY :D8
 (P 4 BM P 3 CHARTOP P 2 TOP P 1 Y P 0 PBT I 1 CSINFO I 0 DISPLAYDATA) È@É*@É@ÉØ’
@@ -487,6 +473,28 @@ I@A
 ]Í'¿MØ[@É\ÉLÈLÈ@È%dKñ‘¿Kdjñ¡¿jZÙÚÐ¾HNÒÍ¿HNÓÍ¿AÉ\ÉLÈ@KJÙdjñ¡¿jdnÿÿñ“¿nÿÿ_B¿OÚÐ_¿HOÒÍ¿HOÓÍ¿HJI@AÈ_Í@¿OÙ@È$_¿dOñ¢¿OÙdjñ¡¿jÍ	hNIL
 (152 PILOTBBT 140 PILOTBBT 88 PILOTBBT 77 PILOTBBT 49 BITMAP 38 BITMAP 11 \DISPLAYDATA)
 ()
+\SIMPLE.DSPCREATE :D8
+(I 0 DESTINATION) @µ
+`b†¿@	(22 \COMMON.DSPCREATE)
+(15 BITMAP 7 ScreenBitMap)
+()
+\COMMON.DSPCREATE :D8
+(P 2 DSTRM I 3 OLDDSP I 2 IMAGEOPS I 1 FDEV I 0 DESTINATION F 5 DisplayFDEV F 6 OLDSTREAM F 7 DEFAULTFONT) ÀCµ‚±nldjÏ0¿dg&¿`dj6¿dk.¿dk,¿`dkÏ
+¿HdI*¿dj¿d`¿odnÿdhHdI
+¿d`¿dj¿dj¿dj¿dj¿HdI0¿Bµ`HdI.¿AµUHdI
+¿dkÏ0¿dnÿÿÍ5¿`HdIÍ4¿dh2¿dg*¿dg$¿`HdIÍ¿dj¿dj¿dkÏ¿dkÏ¿djÍ¿dlÏ¿dh¿djÏ¿HdÉ
+Éhµg
+¿Hdg
+¿!WJ
+@J
+`@È¼[Ló²3K°1	¦C	¿VAµU
+¿VBµ`.¿C°¬LJ
+gJ
+gJ
+J(444 DSPOPERATION 433 DSPSOURCETYPE 422 DSPRIGHTMARGIN 381 \ILLEGAL.ARG 374 DISPLAYSTREAMP 347 DSPDESTINATION 340 DSPFONT 328 \SETACCESS 314 \EXTERNALFORMAT)
+(438 REPLACE 427 INPUT 409 \DISPLAYIMAGEOPS 401 STREAM 388 STREAM 358 BITMAP 352 SCREENWIDTH 323 OUTPUT 309 :DEFAULT 300 FDEV 233 FILELINELENGTH 225 \STREAM.NOT.OPEN 216 \EOSERROR 195 \STREAM.DEFAULT.MAXBUFFERS 153 \DISPLAYIMAGEOPS 112 ScreenBitMap 78 SCREENWIDTH 50 |PILOTBBTTYPE#| 29 |\DISPLAYDATATYPE#| 21 \DSPPRINTCHAR)
+( 86 -16383)
+(MOVD? (QUOTE \SIMPLE.DSPCREATE) (QUOTE DSPCREATE))
 \MEDW.XOFFSET :D8
 (P 1 \INTERRUPTABLE P 0 DD I 1 DISPLAYSTREAM I 0 XOFFSET) NAd²EghÉ0HÉ@²@d3²¿H@¿H		¿	(75 \ILLEGAL.ARG 68 \ILLEGAL.ARG 61 \SFFixClippingRegion 14 \GETSTREAM)
 (35 \DISPLAYDATA 26 \DISPLAYDATA 19 STREAM 8 OUTPUT)
@@ -573,8 +581,8 @@ DSPSCROLL :D8
 (45 OFF 36 OFF 23 \DISPLAYDATA 16 STREAM 5 OUTPUT)
 ()
 PAGEHEIGHT :D8
-(L (0 N) F 0 \#DISPLAYLINES F 1 \CURRENTDISPLAYLINE) P@3—@c¿jc¿NIL
-NIL
+(L (0 N) F 0 \#DISPLAYLINES) P@3š@c¿j¿NIL
+(14 \CURRENTDISPLAYLINE)
 ()
 (RPAQ? \CURRENTTTYDEVICE (QUOTE BCPLDISPLAY))
 \DSPRESET.DISPLAY :D8
@@ -623,20 +631,20 @@ expand-\MAYBE-DRIBBLE-CHAR :D8
 (543 STREAM 537 STREAM 511 STREAM 505 STREAM 400 \MACHINETYPE 378 STREAM 372 STREAM 268 STREAM 262 STREAM 195 STREAM 189 STREAM 113 STREAM 107 STREAM 63 CHARTABLE 53 CHARTABLE 10 \CARET.UP)
 ( 421 ((880 . 2500)))
 \DSPPRINTCR/LF :D8
-(P 15 SOFTCURSORUP P 14 DISPINTERRUPT P 13 KEPTWIDTH P 12 HGHT P 11 DBITMAP P 10 BKGRND P 9 WDTH P 8 LFT P 7 X P 6 CLIPREG P 5 FONT P 4 ROTATION P 3 Y P 2 AMOUNT/BELOW P 1 BTM P 0 DD I 1 DISPLAY-STREAM I 0 CHARCODE F 16 \SCREENBITMAPS F 17 \TERM.OFD) åAdW"ð²¿¿`–A	¿AÉ0QHÉ¢±THÉÈ\jð’±>HÉ
+(P 15 SOFTCURSORUP P 14 DISPINTERRUPT P 13 KEPTWIDTH P 12 HGHT P 11 DBITMAP P 10 BKGRND P 9 WDTH P 8 LFT P 7 X P 6 CLIPREG P 5 FONT P 4 ROTATION P 3 Y P 2 AMOUNT/BELOW P 1 BTM P 0 DD I 1 DISPLAY-STREAM I 0 CHARCODE F 16 \SOFTCURSORUPP F 17 \CURSORDESTINATION F 18 \SCREENBITMAPS F 19 \TERM.OFD) ÙAdW&ð²¿¿`–A	¿AÉ0QHÉ¢±NHÉÈ\jð’±8HÉ
 @l
ð²AHÉ2[•AkK¿LdlZð•¿N°nðœNNØmÿØ‰o	A
-¿HÉLdlZð—¿jHÉÙ°nð“HÉ‰o	Ø_¿HÉ¢±®LdlZð²,¿OHÉØHÈ#HÉÈ	ÙÙZjñ°5nð²*HÈ"HÉÈ	ØOHÉØÙZjñ„¢±F`
HÈ"_¿HÉ_¿HÈ$¹HÈ%IÙ_¿HÈ#OÙ_¿HÉ6_¿ `²3`´hA
-`ð_²`È_¿`jÍ¿¿A`ð³hA
-W –A	¿JOñ›hjdOOIO°eLlZð²3OOJØIOOIOJÙ_Ogg
+¿HÉLdlZð—¿jHÉÙ°nð“HÉ‰o	Ø_¿HÉ¢±¨LdlZð²,¿OHÉØHÈ#HÉÈ	ÙÙZjñ°5nð²*HÈ"HÉÈ	ØOHÉØÙZjñ„¢±@`
HÈ"_¿HÉ_¿HÈ$¹HÈ%IÙ_¿HÈ#OÙ_¿HÉ6_¿ `²-W ´hA
+W"ð_²`È_¿`jÍ¿¿A`ð³hA
+W$–A	¿JOñ›hjdOOIO°eLlZð²3OOJØIOOIOJÙ_Ogg
 ¿hjdOOOØ°,OOIOOJØIOJÙOgg
 ¿hjdOOIJOggO
¿OŸ¿`OÍ¿LlZð”OJÙƒOJØ_�OA
-±b@l
ð²HÉ2[•AkK¿HÉA
-¿HÉHÉØ»HÉ¢±'HÈ$YHÉÈ	ØKHÉØÙZjñ¢±üPHÈ"_¿HÉ_¿HÈ%IÙ_¿HÈ#OÙ_¿HÉ6_¿ `²3`´hA
-`ð_²`È_¿`jÍ¿¿A`ð³hA
-W –A	¿JOñ�hjdOOIOO°0OOIOOIJØOOJÙgg
+±\@l
ð²HÉ2[•AkK¿HÉA
+¿HÉHÉØ»HÉ¢±!HÈ$YHÉÈ	ØKHÉØÙZjñ¢±öPHÈ"_¿HÉ_¿HÈ%IÙ_¿HÈ#OÙ_¿HÉ6_¿ `²-W ´hA
+W"ð_²`È_¿`jÍ¿¿A`ð³hA
+W$–A	¿JOñ�hjdOOIOO°0OOIOOIJØOOJÙgg
 ¿hjdOOIOJggO
¿OŸ¿`OÍ¿KJØ[€KA
-h(993 DSPYPOSITION 968 \SOFTCURSORUPCURRENT 959 BKBITBLT 929 BKBITBLT 875 \TOTOPWDS 865 DSPDESTINATION 848 \SOFTCURSORDOWN 814 DSPDESTINATION 673 DSPXPOSITION 638 DSPXPOSITION 600 \SOFTCURSORUPCURRENT 591 BKBITBLT 561 BKBITBLT 514 BKBITBLT 454 \TOTOPWDS 444 DSPDESTINATION 427 \SOFTCURSORDOWN 393 DSPDESTINATION 303 SHOULDNT 187 ERROR 145 DSPYPOSITION 139 ERROR 25 \CARET.DOWN 12 \STOPSCROLL?)
-(974 \EM.DISPINTERRUPT 951 REPLACE 946 TEXTURE 923 REPLACE 918 INPUT 855 \TOPWDS 839 \EM.DISPINTERRUPT 829 \EM.DISPINTERRUPT 819 \CURSORDESTINATION 805 \SOFTCURSORUPP 798 \SOFTCURSORP 776 \DISPLAYDATA 757 \DISPLAYDATA 746 \DISPLAYDATA 726 \DISPLAYDATA 716 FONTDESCRIPTOR 709 \DISPLAYDATA 700 \DISPLAYDATA 688 \DISPLAYDATA 654 \DISPLAYDATA 606 \EM.DISPINTERRUPT 583 REPLACE 578 TEXTURE 555 REPLACE 550 INPUT 508 REPLACE 503 INPUT 434 \TOPWDS 418 \EM.DISPINTERRUPT 408 \EM.DISPINTERRUPT 398 \CURSORDESTINATION 384 \SOFTCURSORUPP 377 \SOFTCURSORP 355 \DISPLAYDATA 338 \DISPLAYDATA 327 \DISPLAYDATA 316 \DISPLAYDATA 290 \DISPLAYDATA 279 FONTDESCRIPTOR 272 \DISPLAYDATA 264 \DISPLAYDATA 243 FONTDESCRIPTOR 236 \DISPLAYDATA 228 \DISPLAYDATA 219 \DISPLAYDATA 197 \DISPLAYDATA 152 \DISPLAYDATA 89 \DISPLAYDATA 62 FONTDESCRIPTOR 55 \DISPLAYDATA 43 \DISPLAYDATA 32 STREAM 18 \CARET.UP)
+h(981 DSPYPOSITION 956 \SOFTCURSORUPCURRENT 947 BKBITBLT 917 BKBITBLT 863 \TOTOPWDS 853 DSPDESTINATION 836 \SOFTCURSORDOWN 805 DSPDESTINATION 667 DSPXPOSITION 632 DSPXPOSITION 594 \SOFTCURSORUPCURRENT 585 BKBITBLT 555 BKBITBLT 508 BKBITBLT 448 \TOTOPWDS 438 DSPDESTINATION 421 \SOFTCURSORDOWN 390 DSPDESTINATION 303 SHOULDNT 187 ERROR 145 DSPYPOSITION 139 ERROR 25 \CARET.DOWN 12 \STOPSCROLL?)
+(962 \EM.DISPINTERRUPT 939 REPLACE 934 TEXTURE 911 REPLACE 906 INPUT 843 \TOPWDS 827 \EM.DISPINTERRUPT 817 \EM.DISPINTERRUPT 792 \SOFTCURSORP 770 \DISPLAYDATA 751 \DISPLAYDATA 740 \DISPLAYDATA 720 \DISPLAYDATA 710 FONTDESCRIPTOR 703 \DISPLAYDATA 694 \DISPLAYDATA 682 \DISPLAYDATA 648 \DISPLAYDATA 600 \EM.DISPINTERRUPT 577 REPLACE 572 TEXTURE 549 REPLACE 544 INPUT 502 REPLACE 497 INPUT 428 \TOPWDS 412 \EM.DISPINTERRUPT 402 \EM.DISPINTERRUPT 377 \SOFTCURSORP 355 \DISPLAYDATA 338 \DISPLAYDATA 327 \DISPLAYDATA 316 \DISPLAYDATA 290 \DISPLAYDATA 279 FONTDESCRIPTOR 272 \DISPLAYDATA 264 \DISPLAYDATA 243 FONTDESCRIPTOR 236 \DISPLAYDATA 228 \DISPLAYDATA 219 \DISPLAYDATA 197 \DISPLAYDATA 152 \DISPLAYDATA 89 \DISPLAYDATA 62 FONTDESCRIPTOR 55 \DISPLAYDATA 43 \DISPLAYDATA 32 STREAM 18 \CARET.UP)
 ( 182 "Only rotations supported are 0, 90 and 270" 134 "Only rotations supported are 0, 90 and 270")
 \TTYBACKGROUND :D8
 (P 0 X F 1 \LINEBUF.OFD) DQÉ`ð²/`²``ð¥¿`ŠdjHµô(65 \BACKGROUND 39 WAIT.FOR.TTY)
@@ -732,10 +740,10 @@ NIL
 NIL
 ()
 \CREATEDISPLAY :D8
-(P 0 FDEV I 0 DISPLAYNAME) a `d@¿djÏ¿djÏ¿djÏ0¿dg¿dg¿dgD¿dg¿dg^¿dgF¿dg¿dgb¿dg`¿dg¿dg¿dg
-¿dg¿dg¿dg,¿dg.¿dg0¿dgT¿dg>¿dg@¿gh¹dI¿d`h¿dgR¿dgP¿dgN¿dgH¿dgB¿dg<¿dg:¿dg*¿dg ¿dg¿dg¿dg¿X@H
-H(349 \DEFINEDEVICE)
-(338 \GENERIC.RENAMEFILE 329 NILL 320 NILL 311 NILL 302 NILL 293 \GENERIC.READP 284 \ILLEGAL.DEVICEOP 275 NILL 266 \GENERIC.CHARSET 257 \ILLEGAL.DEVICEOP 248 \IS.NOT.RANDACCESSP 239 \IS.NO.RANDACCESSP 230 *DEFAULT-EXTERNALFORMAT* 216 OFF 208 \NONPAGEDBOUTS 199 \ILLEGAL.DEVICEOP 190 \PAGEDBACKFILEPTR 181 \ILLEGAL.DEVICEOP 172 \DSPPRINTCHAR 163 \ILLEGAL.DEVICEOP 154 NILL 145 NILL 136 NILL 127 \CREATEDISPLAYA0023 118 \CREATEDISPLAYA0021 109 \ILLEGAL.DEVICEOP 100 NILL 91 \GENERATENOFILES 82 NILL 73 \ILLEGAL.DEVICEOP 64 \CREATEDISPLAYA0014 55 NILL 46 NILL 37 NILL 7 |FDEVTYPE#|)
+(P 0 FDEV I 0 DISPLAYNAME F 2 *DEFAULT-EXTERNALFORMAT*) ] `d@¿djÏ¿djÏ¿djÏ0¿dg¿dg¿dgD¿dg¿dg^¿dgF¿dg¿dgb¿dg`¿dg¿dg¿dg
+¿dg¿dg¿dg,¿dg.¿dg0¿dgT¿dg>¿dg@¿gh¹dI¿dRh¿dgR¿dgP¿dgN¿dgH¿dgB¿dg<¿dg:¿dg*¿dg ¿dg¿dg¿dg¿X@H
+H(345 \DEFINEDEVICE)
+(334 \GENERIC.RENAMEFILE 325 NILL 316 NILL 307 NILL 298 NILL 289 \GENERIC.READP 280 \ILLEGAL.DEVICEOP 271 NILL 262 \GENERIC.CHARSET 253 \ILLEGAL.DEVICEOP 244 \IS.NOT.RANDACCESSP 235 \IS.NOT.RANDACCESSP 216 OFF 208 \NONPAGEDBOUTS 199 \ILLEGAL.DEVICEOP 190 \PAGEDBACKFILEPTR 181 \ILLEGAL.DEVICEOP 172 \DSPPRINTCHAR 163 \ILLEGAL.DEVICEOP 154 NILL 145 NILL 136 NILL 127 \CREATEDISPLAYA0023 118 \CREATEDISPLAYA0021 109 \ILLEGAL.DEVICEOP 100 NILL 91 \GENERATENOFILES 82 NILL 73 \ILLEGAL.DEVICEOP 64 \CREATEDISPLAYA0014 55 NILL 46 NILL 37 NILL 7 |FDEVTYPE#|)
 ()
 DISPLAYSTREAMINIT :D8
 (P 2 TTYFONTHEIGHT P 1 TTYHEIGHT P 0 TTYFONT I 0 N F 3 TtyDisplayStream) «chS
@@ -750,10 +758,11 @@ Z`S
 (167 \LastTTYLines 155 SCREENHEIGHT 148 SCREENHEIGHT 133 SCREENWIDTH 115 SCREENWIDTH 91 FONTDESCRIPTOR 76 SCREENHEIGHT 62 \LastTTYLines 52 \TopLevelTtyWindow 47 \DEFAULTTTYDISPLAYSTREAM 35 ScreenBitMap 27 FONTDESCRIPTOR)
 ()
 \STARTDISPLAY :D8
-(P 2 \INTERRUPTABLE P 1 W P 0 OLDWINDOWS F 3 \MAINSCREEN F 4 \WINDOWWORLD F 5 WINDOWBACKGROUNDSHADE) H``ðœ``ð³AT²>	¸``ó«``ó–H	¿HŒdI	µò``
+(P 2 \INTERRUPTABLE P 1 W P 0 OLDWINDOWS F 3 \MAINSCREEN F 4 \WINDOWWORLD F 5 \CURSORDESTINATION F 6 \CURSORDESTRASTERWIDTH F 7 \CURSORDESTWIDTH F 8 \CURSORDESTHEIGHT) @``ðœ``ð³AT²>	¸``ó«``ó–H	¿HŒdI	µò``
 É`È
-¿ijd``hSµC````ÈH²LU	¿H	°:`¿S`¿S`¿°–dI	µò``h(299 \OPENW1 243 REVERSE 236 CHANGEBACKGROUND 142 SHOWDISPLAY 113 \CreateScreenBitMap 90 \CLOSEW1 76 \MOVE.WINDOWS.ONTO.SCREEN 45 REVERSE 40 OPENWINDOWS 7 UPDATESCREENDIMENSIONS)
-(324 \OLDSCREENWIDTH 319 SCREENWIDTH 314 \OLDSCREENHEIGHT 309 SCREENHEIGHT 283 SCREENHEIGHT 278 SCREEN 269 SCREENWIDTH 264 SCREEN 255 ScreenBitMap 250 SCREEN 227 \CURSORDESTRASTERWIDTH 220 BITMAP 215 ScreenBitMap 210 \CURSORDESTHEIGHT 205 SCREENHEIGHT 200 \CURSORDESTWIDTH 195 SCREENWIDTH 190 \CURSORDESTINATION 185 ScreenBitMap 177 WHOLESCREEN 172 WHOLEDISPLAY 162 SCREENHEIGHT 157 SCREENWIDTH 149 \DisplayStarted 135 BITMAP 130 ScreenBitMap 123 BITMAP 118 ScreenBitMap 108 SCREENHEIGHT 103 SCREENWIDTH 68 SCREENHEIGHT 63 \OLDSCREENHEIGHT 56 SCREENWIDTH 51 \OLDSCREENWIDTH 29 \OLDSCREENHEIGHT 24 SCREENHEIGHT 17 \OLDSCREENWIDTH 12 SCREENWIDTH)
+¿ijd``hSµ;`c
+`c`c`ÈcH²P`	¿H	°:`¿S`¿S`¿°ždI	µò``h(291 \OPENW1 235 REVERSE 228 CHANGEBACKGROUND 142 SHOWDISPLAY 113 \CreateScreenBitMap 90 \CLOSEW1 76 \MOVE.WINDOWS.ONTO.SCREEN 45 REVERSE 40 OPENWINDOWS 7 UPDATESCREENDIMENSIONS)
+(316 \OLDSCREENWIDTH 311 SCREENWIDTH 306 \OLDSCREENHEIGHT 301 SCREENHEIGHT 275 SCREENHEIGHT 270 SCREEN 261 SCREENWIDTH 256 SCREEN 247 ScreenBitMap 242 SCREEN 223 WINDOWBACKGROUNDSHADE 211 BITMAP 206 ScreenBitMap 199 SCREENHEIGHT 192 SCREENWIDTH 185 ScreenBitMap 177 WHOLESCREEN 172 WHOLEDISPLAY 162 SCREENHEIGHT 157 SCREENWIDTH 149 \DisplayStarted 135 BITMAP 130 ScreenBitMap 123 BITMAP 118 ScreenBitMap 108 SCREENHEIGHT 103 SCREENWIDTH 68 SCREENHEIGHT 63 \OLDSCREENHEIGHT 56 SCREENWIDTH 51 \OLDSCREENWIDTH 29 \OLDSCREENHEIGHT 24 SCREENHEIGHT 17 \OLDSCREENWIDTH 12 SCREENWIDTH)
 ()
 \MOVE.WINDOWS.ONTO.SCREEN :D8
 (P 4 REG P 3 YFACTOR P 2 XFACTOR P 1 W I 0 WINDOWS) Ú@Hµ+h´&```ëZ``ë[@HµAhYÉLLØmÿØ`óµLLØmÿØ`ó•Iµ¥i°¢HX°™Yd	ð²\Ii
diff --git a/sources/WINDOW b/sources/WINDOW
index 4d68fa92..dd5729f3 100644
--- a/sources/WINDOW
+++ b/sources/WINDOW
@@ -1,12 +1,13 @@
 (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
 
-(FILECREATED "22-Jun-2022 20:19:26" 
-{DSK}<users>kaplan>local>medley3.5>working-medley>sources>WINDOW.;4 224622 
+(FILECREATED " 9-Jul-2022 11:10:09" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>WINDOW.;19 221116 
 
-      :CHANGES-TO (FNS CREATEW)
+      :CHANGES-TO (VARS WINDOWCOMS)
+                  (FNS \MEDW.DSPCREATE \GENERIC.DSPCREATE \GENERIC.DSPCREATE.DESTINATION.BITMAP?)
 
-      :PREVIOUS-DATE " 2-Aug-2021 00:44:48" 
-{DSK}<users>kaplan>local>medley3.5>working-medley>sources>WINDOW.;3)
+      :PREVIOUS-DATE " 8-Jul-2022 23:54:16" 
+{DSK}<users>kaplan>local>medley3.5>working-medley>sources>WINDOW.;15)
 
 
 (* ; "
@@ -96,6 +97,7 @@ Copyright (c) 1982-1988, 1990-1994, 1999-2000, 2021 by Venue & Xerox Corporation
                      (\SCREENTYPES '((1 MEDLEY OPEN-SCREEN CREATESCREEN CLOSE-SCREEN NILL)
                                      (2 MEDLEY-COLOR-4)
                                      (4 MEDLEY-COLOR-8)
+                                     y
                                      (8 MEDLEY-COLOR-24)
                                      (16 X-MONO)
                                      (32 X-COLOR)
@@ -105,18 +107,15 @@ Copyright (c) 1982-1988, 1990-1994, 1999-2000, 2021 by Venue & Xerox Corporation
 
               (FNS \MEDW.CREATEW \MEDW.OPENW \MEDW.CLOSEW \MEDW.MOVEW \MEDW.RELMOVEW \MEDW.SHRINKW 
                    \MEDW.EXPANDW \MEDW.SHAPEW \MEDW.REDISPLAYW \MEDW.BURYW \MEDW.TOTOPW 
-                   \MEDW.DSPCREATE \GENERIC.DSPCREATE \MEDW.GETWINDOWPROP \MEDW.PUTWINDOWPROP 
-                   \MEDW.CURSOR)
+                   \MEDW.DSPCREATE \GENERIC.DSPCREATE \GENERIC.DSPCREATE.DESTINATION.BITMAP? 
+                   \MEDW.GETWINDOWPROP \MEDW.PUTWINDOWPROP \MEDW.CURSOR)
               (FNS \GENERIC.CURSOR)
               (DECLARE%: EVAL@COMPILE DONTCOPY (EXPORT (MACROS WINDOWOP)))
               (DECLARE%: DONTEVAL@COMPILE DONTEVAL@LOAD DOCOPY 
 
-                     (* ;; 
-            "Take care of installing the generic DSPCREATE over the simple one defined in LLDISPLAY.")
+                     (* ;; "Install the generic DSPCREATE over the simple one defined in LLDISPLAY.")
 
-                     (P (CL:UNLESS (EQUAL (GETD 'DSPCREATE)
-                                          (GETD '\GENERIC.DSPCREATE))
-                            (MOVD '\GENERIC.DSPCREATE 'DSPCREATE))
+                     (P (MOVD '\GENERIC.DSPCREATE 'DSPCREATE)
                         (CL:UNLESS (EQUAL (GETD 'CURSOR)
                                           (GETD '\GENERIC.CURSOR))
                             (MOVD '\GENERIC.CURSOR 'CURSOR))]
@@ -915,23 +914,22 @@ Middle button down moves closest corner.")
            WINDOW])
 
 (CREATEW
-  [LAMBDA (REGION TITLE BORDERSIZE NOOPENFLG PROPS)          (* ; "Edited 22-Jun-2022 20:18 by rmk")
-                                                           (* ; "Edited  7-Jan-94 11:16 by nilsson")
+  [LAMBDA (REGION TITLE BORDERSIZE NOOPENFLG PROPS)    (* ; "Edited  7-Jan-94 11:16 by nilsson")
 
     (* ;; "Generic CREATEW function.")
 
     (LET (SCREEN REG)
          (COND
             [(NULL REGION)
-             (PROMPTPRINT "Specify region for window" (CL:IF TITLE
-                                                          (CONCAT " %"" TITLE "%"")
-                                                          ""))
+             (PROMPTPRINT "Specify region for window")
+             (COND
+                (TITLE (PROMPTPRINT " %"" TITLE "%"")))
              (SETQ REGION (GETSCREENREGION MinWindowWidth MinWindowHeight))
              (SETQ SCREEN (fetch (SCREENREGION SCREEN) of REGION))
              (SETQ REG (COPY (fetch (SCREENREGION REGION) of REGION]
             ((type? REGION REGION)
              (SETQ SCREEN \CURSORSCREEN)                     (* ; 
-                                                     "Protect against user smashing REGION later on.")
+                                                   "Protect against user smashing REGION later on.")
              (SETQ REG (COPY REGION)))
             [(type? SCREENREGION REGION)
              (SETQ SCREEN (fetch (SCREENREGION SCREEN) of REGION))
@@ -2649,6 +2647,7 @@ Middle button down moves closest corner.")
 (RPAQ? \SCREENTYPES '((1 MEDLEY OPEN-SCREEN CREATESCREEN CLOSE-SCREEN NILL)
                       (2 MEDLEY-COLOR-4)
                       (4 MEDLEY-COLOR-8)
+                      y
                       (8 MEDLEY-COLOR-24)
                       (16 X-MONO)
                       (32 X-COLOR)
@@ -3259,95 +3258,54 @@ Middle button down moves closest corner.")
     WINDOW])
 
 (\MEDW.DSPCREATE
-  [LAMBDA (SCREEN DESTINATION OLDSTREAM)                (* ; "Edited  2-Aug-2021 00:44 by rmk:")
+  [LAMBDA (SCREEN DESTINATION OLDDSP)                        (* ; "Edited  9-Jul-2022 10:48 by rmk")
+                                                            (* ; "Edited  2-Aug-2021 00:44 by rmk:")
 
-    (* ;; "MEDLEY-WINDOW-SPECIFIC version of DSPCREATE.  This is what gets called by dispatch from \GENERIC.DSPCREATE.")
-
-    (* ;; "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
-
-    (LET ([DSTRM (OR OLDSTREAM (create STREAM
-                                      USERCLOSEABLE _ NIL
-                                      EOLCONVENTION _ CR.EOLC
-                                      IMAGEDATA _ (create \DISPLAYDATA]
-          (DESTINATION (OR (BITMAPP (fetch (SCREEN SCDESTINATION) of SCREEN))
-                           (BITMAPP DESTINATION)
-                           ScreenBitMap)))                   (* ; 
-                                        "initial x and y positions are 0 when the data is created.")
-         (with STREAM DSTRM (SETQ DEVICE (fetch (SCREEN WINFDEV) of SCREEN))
-                (SETQ ACCESS 'OUTPUT)
-                (SETQ STRMBOUTFN (FUNCTION \DSPPRINTCHAR))
-                (SETQ OUTCHARFN (FUNCTION \DSPPRINTCHAR))
-                (SETQ IMAGEOPS (fetch (SCREEN WINIMAGEOPS) of SCREEN))
-                (replace (\DISPLAYDATA DDDestination) of IMAGEDATA with DESTINATION))
-         (DSPFONT DEFAULTFONT DSTRM)                         (* ; 
-                    "dspfont can win since the (default) display imageops are filled in the stream")
-         (DSPDESTINATION DESTINATION DSTRM)                  (* ; 
-                         "dspdestination calls \SFFixFont, which presumes there is a font present.")
-         (DSPFONT DEFAULTFONT DSTRM)
-
-         (* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH.  It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed.  The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it.  rrb")
-
-         (DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
-                DSTRM)
-         (DSPSOURCETYPE 'INPUT DSTRM)
-         (DSPOPERATION 'REPLACE DSTRM)                       (* ; 
-            "called to cause the updating of the bitblt table from the fields initialized earlier.")
-         DSTRM])
-
-(\GENERIC.DSPCREATE
-  [LAMBDA (DESTINATION OLDDSP)                         (* ; "Edited 27-Dec-93 13:18 by nilsson")
-
-    (* ;; 
-  "GENERIC version of DSPCREATE.  This is installed when WINDOW is loaded by \GENERIC.DSPCREATE.")
+    (* ;; "MEDLEY-WINDOW-SPECIFIC version of DSPCREATE.  This is what gets called by dispatch from \GENERIC.DSPCREATE. If provided, OLDDSP can be created on a new screen.")
 
     (* ;; "Creates a stream-of-type-display on the DESTINATION bitmap or display device")
 
+    (\COMMON.DSPCREATE (OR (BITMAPP (fetch (SCREEN SCDESTINATION) of SCREEN))
+                           (BITMAPP DESTINATION)
+                           ScreenBitMap)
+           (fetch (SCREEN WINFDEV) of SCREEN)
+           (fetch (SCREEN WINIMAGEOPS) of SCREEN])
+
+(\GENERIC.DSPCREATE
+  [LAMBDA (DESTINATION OLDDSP)                               (* ; "Edited  9-Jul-2022 10:47 by rmk")
+                                                             (* ; "Edited  8-Jul-2022 21:16 by rmk")
+                                                           (* ; "Edited 27-Dec-93 13:18 by nilsson")
+
+    (* ;; "This generic version is installed as DSPCREATE when WINDOW is loaded, overriding the simpler version \SIMPLE.DSPCREATE in LLDISPLAY. We now branch on screens.")
+
+    (* ;; "This adds the undocumented OLDDSP argument, provided for calls from \MEDW.CREATEW to recreate an old window on a new screen.")
+
     (LET (DSTRM SCREEN)
          [COND
             [(NULL DESTINATION)
              (SETQ DESTINATION ScreenBitMap)
-             (SETQ SCREEN (for SC in \SCREENS suchthat (EQ DESTINATION
-                                                                       (fetch (SCREEN 
-                                                                                        SCDESTINATION
-                                                                                         )
+             (SETQ SCREEN (for SC in \SCREENS suchthat (EQ DESTINATION (fetch (SCREEN SCDESTINATION)
                                                                           of SC]
             ((type? SCREEN DESTINATION)
              (SETQ SCREEN DESTINATION))
-            (T (\DTEST DESTINATION 'BITMAP)
-               (SETQ SCREEN (for SC in \SCREENS suchthat (EQ DESTINATION
-                                                                         (fetch (SCREEN 
-                                                                                        SCDESTINATION
-                                                                                           )
-                                                                            of SC]
-         (COND
+            (T 
+               (* ;; "This is overlaid by BIGBITMAPS")
+
+               (\GENERIC.DSPCREATE.DESTINATION.BITMAP? DESTINATION)
+               (SETQ SCREEN (for SC in \SCREENS suchthat (EQ DESTINATION (fetch (SCREEN SCDESTINATION
+                                                                                       ) of SC]
+         [COND
             (SCREEN (SETQ DSTRM (WINDOWOP 'DSPCREATEFN SCREEN DESTINATION OLDDSP)))
             (T 
                (* ;; "NO SCREEN SPECIFIED, SO THIS IS TO A BITMAP.  FILL IT IN:")
 
-               (SETQ DSTRM (create STREAM
-                                  USERCLOSEABLE _ NIL
-                                  OUTCHARFN _ (FUNCTION \DSPPRINTCHAR)
-                                  IMAGEDATA _ (create \DISPLAYDATA)
-                                  IMAGEOPS _ \DISPLAYIMAGEOPS
-                                  DEVICE _ DisplayFDEV
-                                  ACCESS _ 'OUTPUT))         (* ; 
-                                        "initial x and y positions are 0 when the data is created.")
-               (DSPFONT DEFAULTFONT DSTRM)                   (* ; 
-                    "dspfont can win since the (default) display imageops are filled in the stream")
-               (DSPDESTINATION DESTINATION DSTRM)            (* ; 
-                         "dspdestination calls \SFFixFont, which presumes there is a font present.")
-               (DSPFONT DEFAULTFONT DSTRM)
-
-               (* ;; "the reference to SCREENWIDTH here is for historic reasons: until 3-feb-86 the default right margin was always SCREENWIDTH.  It should be the width of the destination and for any destination larger than the screen this is a serious bug and was fixed.  The MAX of the right value and SCREENWIDTH was left in because existing code might be assumine a large right margin for small bitmaps and auto-CR in without it.  rrb")
-
-               (DSPRIGHTMARGIN (MAX SCREENWIDTH (fetch (BITMAP BITMAPWIDTH) of DESTINATION))
-                      DSTRM)
-               (DSPSOURCETYPE 'INPUT DSTRM)
-               (DSPOPERATION 'REPLACE DSTRM)                 (* ; 
-            "called to cause the updating of the bitblt table from the fields initialized earlier.")
-               ))
+               (SETQ DSTRM (\COMMON.DSPCREATE DESTINATION]
          DSTRM])
 
+(\GENERIC.DSPCREATE.DESTINATION.BITMAP?
+  [LAMBDA (DESTINATION)                                      (* ; "Edited  9-Jul-2022 09:24 by rmk")
+    (\DTEST DESTINATION 'BITMAP])
+
 (\MEDW.GETWINDOWPROP
   [LAMBDA (SCREEN WINDOW PROP)                (* ; 
                                                 "Edited 27-Dec-93 11:41 by sybalsky:mv:envos")
@@ -3552,9 +3510,7 @@ Middle button down moves closest corner.")
 )
 (DECLARE%: DONTEVAL@COMPILE DONTEVAL@LOAD DOCOPY 
 
-(CL:UNLESS (EQUAL (GETD 'DSPCREATE)
-                  (GETD '\GENERIC.DSPCREATE))
-    (MOVD '\GENERIC.DSPCREATE 'DSPCREATE))
+(MOVD '\GENERIC.DSPCREATE 'DSPCREATE)
 
 (CL:UNLESS (EQUAL (GETD 'CURSOR)
                   (GETD '\GENERIC.CURSOR))
@@ -4031,41 +3987,42 @@ Middle button down moves closest corner.")
 (PUTPROPS WINDOW COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991 
 1992 1993 1994 1999 2000 2021))
 (DECLARE%: DONTCOPY
-  (FILEMAP (NIL (11536 26176 (WINDOWWORLD 11546 . 15299) (WINDOWWORLDP 15301 . 15601) (CHANGEBACKGROUND 
-15603 . 16640) (CHANGEBACKGROUNDBORDER 16642 . 17193) (TILE 17195 . 17787) (
-\TTY.CREATING.DISPLAYSTREAM 17789 . 18336) (\CREATE.TTY.OUTCHARFN 18338 . 18638) (
-\CREATE.TTYDISPLAYSTREAM 18640 . 21679) (HASTTYWINDOWP 21681 . 21961) (TTYINFOSTREAM 21963 . 22487) (
-CREATESCREEN 22489 . 25432) (\INSURESCREEN 25434 . 25683) (\BITMAPTOSCREEN 25685 . 26046) (MAINSCREEN 
-26048 . 26174)) (26823 44106 (WINDOW.MOUSE.HANDLER 26833 . 39628) (\PROTECTED.APPLY 39630 . 39878) (
-DOWINDOWCOM 39880 . 41900) (DOBACKGROUNDCOM 41902 . 43060) (DEFAULT.BACKGROUND.COPYFN 43062 . 44104)) 
-(44187 76265 (BURYW 44197 . 44485) (CLEARW 44487 . 44877) (CLOSEW 44879 . 45653) (\CLOSEW1 45655 . 
-46008) (\OKTOCLOSEW 46010 . 46369) (\INTERACTIVE.CLOSEW 46371 . 47194) (OPENW 47196 . 48251) (
-DOUSERFNS 48253 . 49414) (DOUSERFNS2 49416 . 49912) (\USERFNISDON'T 49914 . 50185) (\OPENW1 50187 . 
-50537) (CREATEW 50539 . 51998) (CREATEW1 52000 . 54278) (\CREATEW1 54280 . 55499) (OPENDISPLAYSTREAM 
-55501 . 55824) (MOVEW 55826 . 56041) (PPROMPT3 56043 . 56371) (\ONSCREENCLIPPINGREGION 56373 . 56924) 
-(RELMOVEW 56926 . 57224) (SHAPEW 57226 . 62145) (SHAPEW1 62147 . 64849) (\SHAPEW2 64851 . 67537) (
-RESHOWBORDER 67539 . 68050) (\RESHOWBORDER1 68052 . 72978) (TRACKW 72980 . 74095) (SNAPW 74097 . 75770
-) (WINDOWREGION 75772 . 76263)) (76266 76962 (MINIMUMWINDOWSIZE 76276 . 76960)) (78609 101874 (
-ADVISEWDS 78619 . 86562) (SHOWWFRAME 86564 . 88316) (SHOWWTITLE 88318 . 92352) (\STRINGWIDTHGUESS 
-92354 . 92713) (RESHOWTITLE 92715 . 97356) (TOTOPW 97358 . 97597) (\INTERNALTOTOPW 97599 . 98689) (
-\TTW1 98691 . 101291) (WHICHW 101293 . 101872)) (102003 104841 (WFROMDS 102013 . 104011) (NU\TOTOPWDS 
-104013 . 104449) (\COERCETODS 104451 . 104839)) (105484 112284 (WINDOWP 105494 . 105640) (
-INSURE.WINDOW 105642 . 105981) (WINDOWPROP 105983 . 106415) (WINDOWADDPROP 106417 . 108151) (
-WINDOWDELPROP 108153 . 108579) (GETWINDOWPROP 108581 . 109131) (GETWINDOWUSERPROP 109133 . 109560) (
-PUTWINDOWPROP 109562 . 110027) (REMWINDOWPROP 110029 . 111084) (WINDOWADDFNPROP 111086 . 112282)) (
-112488 120052 (CWINDOWPROP 112498 . 113503) (CGETWINDOWPROP 113505 . 118723) (\GETWINDOWHEIGHT 118725
- . 119633) (\GETWINDOWWIDTH 119635 . 120050)) (120053 135501 (OPENWP 120063 . 120341) (TOPWP 120343 . 
-120626) (RESHAPEBYREPAINTFN 120628 . 130880) (\INBETWEENP 130882 . 131098) (
-DECODE/WINDOW/OR/DISPLAYSTREAM 131100 . 133140) (GROW/REGION 133142 . 133705) (CLRPROMPT 133707 . 
-134111) (PROMPTPRINT 134113 . 134377) (OPENWINDOWS 134379 . 135163) (\INSUREWINDOW 135165 . 135499)) (
-135632 138881 (OVERLAPPINGWINDOWS 135642 . 137924) (WOVERLAPP 137926 . 138181) (ORDERFROMBOTTOMTOTOP 
-138183 . 138879)) (138930 143713 (\ONSCREENW 138940 . 139646) (\PUTONSCREENW 139648 . 140475) (
-\UPDATECACHEDFIELDS 140477 . 140741) (\WWCHANGESCREENSIZE 140743 . 142132) (CREATEWFROMIMAGE 142134 . 
-143097) (UPDATEWFROMIMAGE 143099 . 143711)) (144246 200110 (\MEDW.CREATEW 144256 . 148930) (
-\MEDW.OPENW 148932 . 151290) (\MEDW.CLOSEW 151292 . 152658) (\MEDW.MOVEW 152660 . 163272) (
-\MEDW.RELMOVEW 163274 . 163653) (\MEDW.SHRINKW 163655 . 171839) (\MEDW.EXPANDW 171841 . 174108) (
-\MEDW.SHAPEW 174110 . 178716) (\MEDW.REDISPLAYW 178718 . 180673) (\MEDW.BURYW 180675 . 181957) (
-\MEDW.TOTOPW 181959 . 183307) (\MEDW.DSPCREATE 183309 . 185813) (\GENERIC.DSPCREATE 185815 . 189279) (
-\MEDW.GETWINDOWPROP 189281 . 191519) (\MEDW.PUTWINDOWPROP 191521 . 198306) (\MEDW.CURSOR 198308 . 
-200108)) (200111 200731 (\GENERIC.CURSOR 200121 . 200729)))))
+  (FILEMAP (NIL (11550 26190 (WINDOWWORLD 11560 . 15313) (WINDOWWORLDP 15315 . 15615) (CHANGEBACKGROUND 
+15617 . 16654) (CHANGEBACKGROUNDBORDER 16656 . 17207) (TILE 17209 . 17801) (
+\TTY.CREATING.DISPLAYSTREAM 17803 . 18350) (\CREATE.TTY.OUTCHARFN 18352 . 18652) (
+\CREATE.TTYDISPLAYSTREAM 18654 . 21693) (HASTTYWINDOWP 21695 . 21975) (TTYINFOSTREAM 21977 . 22501) (
+CREATESCREEN 22503 . 25446) (\INSURESCREEN 25448 . 25697) (\BITMAPTOSCREEN 25699 . 26060) (MAINSCREEN 
+26062 . 26188)) (26837 44120 (WINDOW.MOUSE.HANDLER 26847 . 39642) (\PROTECTED.APPLY 39644 . 39892) (
+DOWINDOWCOM 39894 . 41914) (DOBACKGROUNDCOM 41916 . 43074) (DEFAULT.BACKGROUND.COPYFN 43076 . 44118)) 
+(44201 76084 (BURYW 44211 . 44499) (CLEARW 44501 . 44891) (CLOSEW 44893 . 45667) (\CLOSEW1 45669 . 
+46022) (\OKTOCLOSEW 46024 . 46383) (\INTERACTIVE.CLOSEW 46385 . 47208) (OPENW 47210 . 48265) (
+DOUSERFNS 48267 . 49428) (DOUSERFNS2 49430 . 49926) (\USERFNISDON'T 49928 . 50199) (\OPENW1 50201 . 
+50551) (CREATEW 50553 . 51817) (CREATEW1 51819 . 54097) (\CREATEW1 54099 . 55318) (OPENDISPLAYSTREAM 
+55320 . 55643) (MOVEW 55645 . 55860) (PPROMPT3 55862 . 56190) (\ONSCREENCLIPPINGREGION 56192 . 56743) 
+(RELMOVEW 56745 . 57043) (SHAPEW 57045 . 61964) (SHAPEW1 61966 . 64668) (\SHAPEW2 64670 . 67356) (
+RESHOWBORDER 67358 . 67869) (\RESHOWBORDER1 67871 . 72797) (TRACKW 72799 . 73914) (SNAPW 73916 . 75589
+) (WINDOWREGION 75591 . 76082)) (76085 76781 (MINIMUMWINDOWSIZE 76095 . 76779)) (78428 101693 (
+ADVISEWDS 78438 . 86381) (SHOWWFRAME 86383 . 88135) (SHOWWTITLE 88137 . 92171) (\STRINGWIDTHGUESS 
+92173 . 92532) (RESHOWTITLE 92534 . 97175) (TOTOPW 97177 . 97416) (\INTERNALTOTOPW 97418 . 98508) (
+\TTW1 98510 . 101110) (WHICHW 101112 . 101691)) (101822 104660 (WFROMDS 101832 . 103830) (NU\TOTOPWDS 
+103832 . 104268) (\COERCETODS 104270 . 104658)) (105303 112103 (WINDOWP 105313 . 105459) (
+INSURE.WINDOW 105461 . 105800) (WINDOWPROP 105802 . 106234) (WINDOWADDPROP 106236 . 107970) (
+WINDOWDELPROP 107972 . 108398) (GETWINDOWPROP 108400 . 108950) (GETWINDOWUSERPROP 108952 . 109379) (
+PUTWINDOWPROP 109381 . 109846) (REMWINDOWPROP 109848 . 110903) (WINDOWADDFNPROP 110905 . 112101)) (
+112307 119871 (CWINDOWPROP 112317 . 113322) (CGETWINDOWPROP 113324 . 118542) (\GETWINDOWHEIGHT 118544
+ . 119452) (\GETWINDOWWIDTH 119454 . 119869)) (119872 135320 (OPENWP 119882 . 120160) (TOPWP 120162 . 
+120445) (RESHAPEBYREPAINTFN 120447 . 130699) (\INBETWEENP 130701 . 130917) (
+DECODE/WINDOW/OR/DISPLAYSTREAM 130919 . 132959) (GROW/REGION 132961 . 133524) (CLRPROMPT 133526 . 
+133930) (PROMPTPRINT 133932 . 134196) (OPENWINDOWS 134198 . 134982) (\INSUREWINDOW 134984 . 135318)) (
+135451 138700 (OVERLAPPINGWINDOWS 135461 . 137743) (WOVERLAPP 137745 . 138000) (ORDERFROMBOTTOMTOTOP 
+138002 . 138698)) (138749 143532 (\ONSCREENW 138759 . 139465) (\PUTONSCREENW 139467 . 140294) (
+\UPDATECACHEDFIELDS 140296 . 140560) (\WWCHANGESCREENSIZE 140562 . 141951) (CREATEWFROMIMAGE 141953 . 
+142916) (UPDATEWFROMIMAGE 142918 . 143530)) (144089 196691 (\MEDW.CREATEW 144099 . 148773) (
+\MEDW.OPENW 148775 . 151133) (\MEDW.CLOSEW 151135 . 152501) (\MEDW.MOVEW 152503 . 163115) (
+\MEDW.RELMOVEW 163117 . 163496) (\MEDW.SHRINKW 163498 . 171682) (\MEDW.EXPANDW 171684 . 173951) (
+\MEDW.SHAPEW 173953 . 178559) (\MEDW.REDISPLAYW 178561 . 180516) (\MEDW.BURYW 180518 . 181800) (
+\MEDW.TOTOPW 181802 . 183150) (\MEDW.DSPCREATE 183152 . 183953) (\GENERIC.DSPCREATE 183955 . 185672) (
+\GENERIC.DSPCREATE.DESTINATION.BITMAP? 185674 . 185860) (\MEDW.GETWINDOWPROP 185862 . 188100) (
+\MEDW.PUTWINDOWPROP 188102 . 194887) (\MEDW.CURSOR 194889 . 196689)) (196692 197312 (\GENERIC.CURSOR 
+196702 . 197310)))))
 STOP
diff --git a/sources/WINDOW.LCOM b/sources/WINDOW.LCOM
index c17b7fc8..3337412b 100644
Binary files a/sources/WINDOW.LCOM and b/sources/WINDOW.LCOM differ
