From 735108ecb7ea9d9f92936f0a4cd8acea8d8f56a9 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Wed, 29 Nov 2023 14:05:09 -0800 Subject: [PATCH] Pull in newer or missing library/*.tedit files (#1398) --- library/COLOR.TEDIT | Bin 178999 -> 50717 bytes library/Cash-File.tedit | Bin 0 -> 8098 bytes library/FX-80Driver.tedit | 40 +++++ library/HRule.tedit | Bin 0 -> 12841 bytes library/Kermit.tedit | Bin 0 -> 21170 bytes library/KeyboardEditor.tedit | Bin 0 -> 152132 bytes library/Match.tedit | 45 ++++++ library/MiniServe.tedit | Bin 0 -> 10616 bytes library/NSMaintain.tedit | Bin 0 -> 32266 bytes library/Press.tedit | Bin 0 -> 5758 bytes library/RS232.tedit | 141 ++++++++++++++++++ library/SameDir.tedit | Bin 0 -> 7230 bytes library/Spy.tedit | Bin 0 -> 58398 bytes library/SysEdit.tedit | Bin 0 -> 4566 bytes library/TableBrowser.tedit | Bin 0 -> 36740 bytes library/virtualkeyboards/KeyboardEditor.tedit | Bin 0 -> 152132 bytes 16 files changed, 226 insertions(+) create mode 100644 library/Cash-File.tedit create mode 100644 library/FX-80Driver.tedit create mode 100644 library/HRule.tedit create mode 100644 library/Kermit.tedit create mode 100644 library/KeyboardEditor.tedit create mode 100644 library/Match.tedit create mode 100644 library/MiniServe.tedit create mode 100644 library/NSMaintain.tedit create mode 100644 library/Press.tedit create mode 100644 library/RS232.tedit create mode 100644 library/SameDir.tedit create mode 100644 library/Spy.tedit create mode 100644 library/SysEdit.tedit create mode 100644 library/TableBrowser.tedit create mode 100644 library/virtualkeyboards/KeyboardEditor.tedit diff --git a/library/COLOR.TEDIT b/library/COLOR.TEDIT index 2a80139ef2c951bed8f0d84846642421b41bd7c8..061cc10ce7b3565df245cc716dc6492364ecbfef 100644 GIT binary patch literal 50717 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 V3%prCrb1bN(y%&^7DuFC38PS%B)+0)%z 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 diff --git a/library/Cash-File.tedit b/library/Cash-File.tedit new file mode 100644 index 0000000000000000000000000000000000000000..013a4137e85acb58601e816732557bf5a7a91eb5 GIT binary patch literal 8098 zcmeHLO>^7U6{X}jiR;qMG)X(1cG}k@O~@IEm1N6yGu_Y>XrZP^g`^z2nJggkQACUn z1^{g<%l?Y~mM;5CvgooiU38P_#y#f(cmPDpk)5=gmJ`v$#l7dAd+vQ7lkIxF=f(@w zbB`k@I#mbZbm{4MLmlX;r%%;Td)kS$+HP%as7`ydzuC2WR(<=`!YTljhkEgJvtI8w z@qDxEdRn=$a?~segGA|Is*+Icn|Dv?XdZbTd73qa`5{P+${#4 zQK{o)qJl6{lh9wFP%8SwO&~7#a#oIF9mOAI#5UAEhT_gqw`&bs^)~89;q;t@kQFMH zQX&l%R10VF$T@)vGi@`d#9M4So<>3b0?v&CCX`m zPf$KIO_otmK`2FP)d_t+3{nY8%LJKS&rMES^@i^}(wh_N!4=XtXy3Coi@|B+MKo2_ zQ3fao5J% zLdV_^x#>2ejLw${qiZ^-SGJ%POo0HbA&ER6lj�^f0Gomtod@u;A@v$2$us=bT zkKM2d2|8xd|I_o8t$7!_ELs>g0}{miz_5-gUb&ASSZU^x+0Kg4M8C~K=Pmzt{@Hxvg48UE6DhEit>9R2w7kVS4Rc<$=O_@Gw}^!sRB1> z-%SNF$9!6+PzH2*o#NF3w@BWvPNMJ$FMWY_BCHj2zmlUfzd>ayENvrDaCF9Du%YHl zxjbS0K?WJ21n+QNLs?TjMb|zPSr@!y@sbgw#|9F4dIkcX6FmC7#?Pfj&mN6cqjA{2 zYst}rUx(IkWdG4pJ!?F+hN?U0*#o=Z9jHco*uG-x}MUwi?{GhCREV zVT_0NJ!^23A{_PiO7E-(hwc8z9`x1Fx_i`X57nqQIJC^urxxj|18dJdIv_V|m?u9P zSwm5W7opMkAsFLV6S55t+K^{OHwd$HYYTd*o!ht7^_$Jqzp-z%_n>AfSN1S|2ol}F zfHDsexO+qG+)}%{<+!o+U@So-Ko9=6bwl0SLJvr#iNIIrFQP8q&Yso%pY0~}e(7f3 zKc|`J4gn@^G~nAb@Yc-m^y!xvV!y9*8W~Ftd$&T z?ec3ab50ffCKvrGkAiHvYFEs*!iY1UD#|)X;~W$-lV=e4Xz>eNn1Aik3sBz7&bj*x zIPqkz?P~4q+U2o5Zuez?@d9w~*52s!+M|)(DH+fD!S$!LE9Q1l z`*8}2k}75{i}bUK3VX%(TIvXhcWSR63~(jsV@=AZVk=S=enp-YTh{A!!CFUwSNDfU zJ*$QP1<~!Vm2wprB10{!J`KD<9+xvRb^QBENDQnX{SXGpn?uv^O3+u&BGGVBBqib+~&{M`2_=a4S7k!2k6B$`=Djx_W9s~?XZbcM*C~o za0w5TSn{NtU(CE1uZ%eusYJEkEI_oDW^3nJn`=r~flCa%hf+p|QIv z9DQZbng3^eVoSwBR-7t>#kMwcg9(zhFo^zAhP2<9eZIK|e68RzeX4RMsf>$B<^BiWi zJ}JGzi(D&1Y}9$5Fos_x!-}?YWvbwsdJUdoY%HrjW?oFaQnO*fr*np#K4v+Y6b8^( zWK*nA-DRP)aIV^@KeM#>f{K-(8zEp>y zQq)QbzhN}9oD)qQrSlb^yr|!5b@u4xHMK~ET7?}7)w*{Gcy5LhGNyIH5mf7Sl^)nEP%(?mLZ literal 0 HcmV?d00001 diff --git a/library/FX-80Driver.tedit b/library/FX-80Driver.tedit new file mode 100644 index 00000000..6479f012 --- /dev/null +++ b/library/FX-80Driver.tedit @@ -0,0 +1,40 @@ +1 Lisp Library Modules, Medley Release 1.0, FX-80DRIVER 1 Lisp Library Modules, Medley Release 1.0, FX-80DRIVER FX-80DRIVER 1 FX-80DRIVER 1 FX-80DRIVER 6 FX-80Driver(FX-80DRIVER NIL FX-80Driver NIL NIL 99) prints text and graphics on Epson FX-80-compatible printers. It implements a full device-independent graphics interface(GRAPHICS% INTERFACE NIL graphics% interface NIL NIL 99) for the FX-80, and can print source code, TEdit documents, bitmaps and windows at a variety of qualities and speeds. The FX-80Driver contains two printer drivers(PRINTER% DRIVERS NIL printer% drivers NIL NIL 99): a fast driver, for quick printing of draft-quality text, and a high-quality driver, for slower printing of mixed-font text and graphics. You can print early revisions of a document in fast mode, and then switch to high-quality mode for the final copy. The matrix shown in Figure 1 illustrates the capabilities of each mode: ((SKETCH "figure from {DSK}FX-80DRIVERS.TEDIT;1" VERSION 3 PRIRANGE (31 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.0 116.0 (PRI 1)) (WIRE ((96 . 184) (328 . 184)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 2)) (WIRE ((96 . 152) (328 . 152)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 100.0 (PRI 3)) (WIRE ((176 . 248) (176 . 48)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 100.0 (PRI 5)) (WIRE ((232 . 248) (232 . 48)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 7)) (WIRE ((96 . 120) (328 . 120)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 8)) (WIRE ((96 . 88) (328 . 88)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 9)) (WIRE ((96 . 216) (328 . 216)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.05 13.0 (PRI 10)) (TEXT (200.0 . 232.0) ("Fast") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((190.5 228.5 19 13)) BLACK)) ((0.05 13.0 (PRI 11)) (TEXT (280.0 . 232.0) ("High-quality") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((251.0 228.5 58 13)) BLACK)) ((0.05 13.0 (PRI 12)) (TEXT (96.0 . 192.0) ("TEdit") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 192 25 13)) BLACK)) ((0.05 13.0 (PRI 13)) (TEXT (96.0 . 160.0) ("Sketch") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 160 31 13)) BLACK)) ((0.05 13.0 (PRI 14)) (TEXT (96.0 . 128.0) ("Windows") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 128 43 13)) BLACK)) ((0.05 13.0 (PRI 15)) (TEXT (96.0 . 92.0) ("Lisp source" "code") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 105 50 13) (96 92 22 13)) BLACK)) ((0.05 13.0 (PRI 16)) (TEXT (96.0 . 64.0) ("Grapher") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 64 39 13)) BLACK)) ((0.05 13.0 (PRI 25)) (TEXT (202.0 . 200.0) ("monofont" "only") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((178.5 203.0 47 13) (192.0 190.0 20 13)) BLACK)) ((0.05 13.0 (PRI 26)) (TEXT (202.0 . 104.0) ("monofont" "only") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((178.5 107.0 47 13) (192.0 94.0 20 13)) BLACK)) ((0.05 12.0 (PRI 27)) (TEXT (280.0 . 168.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 165.0 21 12)) BLACK)) ((0.05 12.0 (PRI 28)) (TEXT (280.0 . 200.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 197.0 21 12)) BLACK)) ((0.05 12.0 (PRI 29)) (TEXT (280.0 . 136.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 133.0 21 12)) BLACK)) ((0.05 12.0 (PRI 30)) (TEXT (280.0 . 104.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 101.0 21 12)) BLACK)) ((0.05 12.0 (PRI 31)) (TEXT (280.0 . 72.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 69.0 21 12)) BLACK))) (93.0 45.0 238.0 206.0) 1.0 8 Figure 1. FX-80 printer drivers For historical reasons, FX-80 in this document refers to any and all of the Epson FX-80 family (FX-80% FAMILY% NIL FX-80% family% NIL NIL 99)of dot-matrix graphics printers. The module supports the FX-80, FX-85, FX-86 and FX-286. The Epson printers vary in speed and carriage width, but share a common command language. Requirements 1 RS232 or TTY cable (see the wiring diagrams in the Introduction of this manual). Serial interface card(SERIAL% INTERFACE% CARD NIL Serial% interface% card NIL NIL 99) in the printer. DLRS23C or DLTTY. Installation 1 FX-80 Serial Interface(FX-80% SERIAL% INTERFACE NIL FX-80% Serial% Interface NIL NIL 99) The FX-80Driver module requires that your Epson be equipped with a suitable serial interface (such as the Hanzon Universal Card(HANZON% UNIVERSAL% CARD NIL HANZON% Universal% Card NIL NIL 99)). The interface should be set up with XOn/XOff flow control enabled, 9600 baud or slower, 1 stop bit, 8 bit characters, no parity. (See The Hanzon Universal Card booklet for instructions on the DIP switch settings.) FX-80 DIP Switch Settings(FX-80% DIP% SWITCH% SETTINGS NIL FX-80% DIP% Switch% Settings NIL NIL 100) The FX-80 should have its DIP switches set as shown in Figure 2. ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (62 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.092 64.0 (PRI 61)) (GROUP (200.0 141.0 128.0 92.0) (((0.016 12.0 (PRI 29)) (BOX (248.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 30)) (BOX (200.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 31)) (BOX (216.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 32)) (BOX (232.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 33)) (BOX (232.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 34)) (BOX (216.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 35)) (BOX (248.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 36)) (BOX (200.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 38)) (BOX (312.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 39)) (BOX (264.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 40)) (BOX (280.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 41)) (BOX (296.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 42)) (BOX (296.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 43)) (BOX (280.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 44)) (BOX (312.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 45)) (BOX (264.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.05 12.0 (PRI 46)) (TEXT (208.0 . 144.0) ("1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((204.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 47)) (TEXT (224.0 . 144.0) ("2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((220.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 48)) (TEXT (240.0 . 144.0) ("3") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((236.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 49)) (TEXT (256.0 . 144.0) ("4") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((252.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 54)) (TEXT (272.0 . 144.0) ("5") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((268.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 55)) (TEXT (288.0 . 144.0) ("6") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((284.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 56)) (TEXT (304.0 . 144.0) ("7") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((300.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 57)) (TEXT (320.0 . 144.0) ("8") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((316.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 58)) (TEXT (264.0 . 224.0) ("Switch 1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((236.0 221.0 56 12)) BLACK))) (264 . 184))) ((0.092 49.25 (PRI 62)) (GROUP (61.5 141.0 98.5 92.0) (((0.05 12.0 (PRI 11)) (TEXT (104.0 . 144.0) ("1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((100.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 12)) (TEXT (120.0 . 144.0) ("2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((116.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 13)) (TEXT (136.0 . 144.0) ("3") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((132.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 14)) (TEXT (152.0 . 144.0) ("4") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((148.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 17)) (TEXT (72.0 . 192.0) ("on") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((65.0 189.0 14 12)) BLACK)) ((0.05 12.0 (PRI 18)) (TEXT (72.0 . 168.0) ("off") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((61.5 165.0 21 12)) BLACK)) ((0.016 12.0 (PRI 23)) (BOX (144.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (96.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (112.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (128.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (144.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (128.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (112.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (96.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.05 12.0 (PRI 37)) (TEXT (128.0 . 224.0) ("Switch 2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((100.0 221.0 56 12)) BLACK))) (112 . 184)))) (61.0 141.0 267.0 92.0) 1.0 8 Figure 2. FX-80 DIP switch settings Switch 1 says no automatic linefeed, no automatic paper feed, no buzz on paper-out, and to allow no software deactivation of the printer. Switch 2 says to use the USA character set, Pica type, allocate 2KB for user-defined characters, allow paper-out detection, and print zeros as zeros. Note: For the FX-85, -86 and -286 DIP switch settings, consult the corresponding Epson User's Manual. Software Load FX-80DRIVER.LCOM and the required .LCOM modules from the library. Store all of the font files (file names ending with .displayfont) corresponding to the fonts you wish to use on some convenient directory or directories. HQFX80-FONT-DIRECTORIES(HQFX80-FONT-DIRECTORIES (variable) NIL NIL NIL 100) should be a list that contains these directories; it should be the same as DISPLAYFONTDIRECTORIES(DISPLAYFONTDIRECTORIES (variable) NIL NIL NIL 100). Set FASTFX80-DEFAULT-DESTINATION(FASTFX80-DEFAULT-DESTINATION (variable) NIL NIL NIL 100) (determines where output to the FASTFX80 lineprinter device goes) and HQFX80-DEFAULT-DESTINATION(HQFX80-DEFAULT-DESTINATION (variable) NIL NIL NIL 100) (determines where output to the HQFX80 lineprinter device goes) to one of the following values; they need not be the same: Destination RS232 port TTY port file 1 Value {RS232} {TTY} FileName Speed 9600 max. 4800 max. n/a 1 Load the appropriate device driver for each of these destinations: DLTTY.LCOM for the TTY port, and DLRS232C.LCOM for the RS232C port. Run the function RS232C.INIT or TTY.INIT (as appropriate), and set the baud rate to match the setting on the printer. User Interface 1 You can set up the FX-80 to be your default printer, send FX-80 output to a file for later printing, or programmatically open an image stream that produces output on the FX-80. Having the FX-80 set up as your default printer means that you can print the contents of windows by selecting the HARDCOPY menu item on the window of interest. You can also use the HARDCOPY - TO A FILE submenu item to spool your output for later printing. And you can write programs that use the OPENIMAGESTREAM(OPENIMAGESTREAM (function) NIL NIL NIL 101) function to create FX-80 format graphics output. Printing in Fast Mode(PRINTING% IN% FAST% MODE NIL Printing% in% Fast% Mode NIL NIL 101) 1 You can print in fast mode by sending output to the printer FASTFX80 or by opening an image stream to a file with extension FASTFX80. This mode is called fast because it uses the printer's built-in font, which allows a tight encoding of the document to be printed. Fidelity to the original document is not as good as in high-quality mode. The following restrictions apply: ÿÿïf ÿSpecial characters (that is, most Xerox Network Systems extended characters, such as the bullet or dagger; see CharCodeTables, VirtualKeyboards in this manual) are ignored. ÿÿïf ÿOnly one font is supported (though roman, italic, and bold typefaces do work). ÿÿïf ÿGraphics (lines, underlines, bitmaps) are ignored. ÿÿïf ÿMultiple column output does work. Set FX-80 Fast Mode(ET% FX-80% FAST% MODE NIL et% FX-80% Fast% Mode NIL NIL 101) To set your default printer to be a fast mode FX-80(FAST% MODE% FX-80 NIL fast% mode% FX-80 NIL NIL 101), make the list (FASTFX80 FASTFX80) the CAR of the list DEFAULTPRINTINGHOST. Set FX-80 Destination(SET% FX-80% DESTINATION NIL Set% FX-80% Destination NIL NIL 101) To set the default destination of all output to {LPT}.fastfx80, set the variable FASTFX80-DEFAULT-DESTINATION to an appropriate file name string. See the table above; the file name could be that of a regular file like {DSK}SPOOLED-FAST-OUTPUT. Set FX-80 Page Size(SET% FX-80% PAGE% SIZE NIL Set% FX-80% Page% Size NIL NIL 101) To set the driver's page size to match the paper in the printer, set the two variables \FASTFX80.INCHES-PER-PAGE (page height in inches) and \FASTFX80.INCHES-PER-LINE (page width in inches) to appropriate values. The defaults are 11 and 8.5, respectively. These can be set in your Lisp INIT file. Print a File(PRINT% A% FILE NIL Print% a% File NIL NIL 101) Select the HARDCOPY command from the background (right-button) menu. The system first formats the file for printing. Then, when the FX-80Driver actually starts transmitting to the printer, a small abort window, bearing the name of the document and the name of the printer, will appear near the top of your screen. Abort a Print Job(ABORT% A% PRINT% JOB NIL Abort% a% Print% Job NIL NIL 101) Clicking on the item marked ABORT in the print window will cleanly terminate the printing of the document. Note: After aborting a print job, you may need to turn the printer off and back on to make sure that other files will print successfully. Printing in High-Quality Mode(PRINTING% IN% HIGH-QUALITY% MODE NIL Printing% in% High-Quality% Mode NIL NIL 102) 1 Print in high-quality mode by sending output to the printer HQFX80, or by opening an image stream on a file with type HQFX80. High-quality mode printing supports all of Xerox Lisp's device-independent graphics operations, as well as multiple font printing and the XNS extended character set. It prints at 72 dot-per-inch resolution. Fidelity to the original document is better than in fast mode, though printing speed is slower. Set HQ Mode(SET% HQ% MODE NIL Set% HQ% Mode NIL NIL 102) To set your default printer to be a high-quality FX-80, make the list (HQFX80 HQFX80) the CAR of the list DEFAULTPRINTINGHOST. You can use the PRINTERMENU module or your favorite structure editor to do this. Set Destination(SET% DESTINATION NIL Set% Destination NIL NIL 102) To set the default destination of all output to {LPT}.hqfx80, set the variable HQFX80-DEFAULT-DESTINATION to an appropriate file namestring. This could be "{TTY}", "{RS232}", or even the name of a regular file like "{DSK}spooled-hq-output". Set Page Size(SET% PAGE% SIZE NIL Set% Page% Size NIL NIL 102) To set the driver's page size to match the paper in the printer, set the two variables \HQFX80.INCHES-PER-PAGE (page height in inches) and \HQFX80.INCHES-PER-LINE (page width in inches) to appropriate values. The defaults are 11 and 8.5, respectively. These can be set in your Lisp INIT file. Print a File(PRINT% A% FILE NIL Print% a% File NIL NIL 102) Select the HARDCOPY command. The system first formats the file for printing. Then, when the FX-80Driver actually starts transmitting to the printer, a small abort window, bearing the name of the document and the name of the printer, will appear near the top of your screen. Note: After printing a document on HQFX80, you may need to turn the printer off and back on before you can print with FASTFX80 on that printer. Abort a Print Job(ABORT% A% PRINT% JOB NIL Abort% a% Print% Job NIL NIL 102) See above. FX Printer Compatibility(FX% PRINTER% COMPATIBILITY NIL FX% Printer% Compatibility NIL NIL 102) 1 (FX80-PRINT(FX80-PRINT (function) NIL NIL NIL 102) &KEY THING-TO-PRINT LANDSCAPE? COMPRESS? HIGH-QUALITY?) [Function] THING-TO-PRINT may be one of a window, bitmap, or file path name. If THING-TO-PRINT is a path name, the file will be treated as either a TEdit or Lisp source file, and printed in the appropriate style. In the window or bitmap cases, LANDSCAPE? specifies landscape printing (X-coordinates run down the left margin) when non-NIL; COMPRESS? specifies FX-80 compressed printing mode. If HIGH-QUALITY? is non-NIL and THING-TO-PRINT is a path name, output will be sent to the default high-quality FX-80 printer, otherwise to the default fast FX-80 printer. The LANDSCAPE?, COMPRESS?, and HIGH-QUALITY? arguments all default to NIL. Limitations 1 Landscape printing(LANDSCAPE% PRINTING NIL Landscape% printing NIL NIL 103) has not been implemented. Examples 1 Send text output to fast FX-80:(SEND% TEXT% OUTPUT% TO% FAST% FX-80 NIL Send% text% output% to% fast% FX-80 NIL NIL 103) (SETQ FX-80 (OPENIMAGESTREAM "{LPT}.FASTFX80")) (CL:FORMAT FX-80 "HELLO, WORLD~%%") (CL:CLOSE FX-80) Print source code on fast FX-80(PRINT% SOURCE% CODE% ON% FAST% FX-80 NIL Print% source% code% on% fast% FX-80 NIL NIL 103) (assuming the FastFX80 is not your default printer, but is on the list DEFAULTPRINTINGHOST): (LISTFILES (HOST FASTFX80) "{DSK}MYPROGRAM") Note: Source code is stored in pre-pretty-printed form on the file. The pretty-printer's default linelength (width of a line in characters) is normally 102, which is too wide for the FastFX-80s 8.5-inch wide page. To create source files which print nicely on the fast FX-80, you should set the variable FILELINELENGTH to a more appropriate value before you MAKEFILE. 70 works nicely on 8.5-inch paper with a standard font profile, though your mileage may vary. Print source code in the the fast FX-80 mode, assuming the FastFX80 is your default printer: (LISTFILES "{DSK}MYPROGRAM") Print TEdit file in fast FX-80 mode(PRINT% TEDIT% FILE% IN% FAST% FX-80% MODE NIL Print% TEdit% file% in% fast% FX-80% mode NIL NIL 103), assuming the FastFX80 is your default printer: (LISTFILES "{WAYCOOL:}GENSYM.TEDIT") Print text and graphics in high-quality mode:(PRINT% TEXT% AND% GRAPHICS% IN% % HIGH-QUALITY% MODE NIL Print% text% and% graphics% in% % high-quality% mode NIL NIL 103) (SETQ FX-80 (OPENIMAGESTREAM "{LPT}" 'HQFX80)) (MOVETO 300 300 FX-80) (CL:FORMAT FX-80 "HELLO, WORLD~%%") (DRAWCIRCLE 300 300 230 '(ROUND 8) NIL FX-80) (CL:CLOSE FX-80) Print source code in high-quality mode,(PRINT% SOURCE% CODE% IN% HIGH-QUALITY% MODE NIL Print% source% code% in% high-quality% mode NIL NIL 103) assuming the high-quality FX-80 is not your default printer, but is on the list DEFAULTPRINTINGHOST: (LISTFILES (HOST HQFX80) "{DSK}MYPROGRAM") Note: See the previous note regarding FILELINELENGTH and the fast FX-80. The same holds for high-quality FX-80 printing, and we recommend 70 as the value for FILELINELENGTH. Print source code in high-quality mode, assuming the high-quality FX-80 is your default printer: (LISTFILES "{DSK}MYPROGRAM") Print TEdit file in high-quality mode,(PRINT% % TEDIT% FILE% IN% HIGH-QUALITY% MODE NIL Print% % TEdit% file% in% high-quality% mode NIL NIL 104) assuming the high-quality FX-80 is your default printer: (LISTFILES "{WAYGNARLY:}MAGNUMOPUS.TEDIT") [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 99) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) <``¼Ì8¤àT<``àÀ €àT,HHà 5Hlàlà2llàà2H`à +à2HHà +à,llà,llà-llàT2Hlà +l,HHà +-àT2HTàT2Hlàl-$$àT-àT,HHà +2HHà È,HHà,HHà,HHà +3àÈT3ààT<lløÌ8¤øT-T-øäìT2ÌÌø ÈFøø PAGEHEADING VERSOHEADFøø PAGEHEADING RECTOHEADEøø PAGEHEADINGFOOTINGVEøø PAGEHEADINGFOOTINGR HELVETICA +CLASSIC +CLASSIC +CLASSICCLASSIC +TITAN + HELVETICA  HELVETICACLASSIC + HELVETICAMODERN +MODERN +MODERNMODERN TERMINAL +MODERN +MODERNMODERN +  HRULE.GETFNMODERN +  7 HRULE.GETFNMODERN + 7  HRULE.GETFNMODERN +   HRULE.GETFNMODERN +  + HRULE.GETFNMODERN (IM.INDEX.GETFNy 8IM.INDEX.GETFNv , 2IM.INDEX.GETFNH  0 SKIO.GETFN.2MODERN + "` 0IM.INDEX.GETFNµ     HRULE.GETFNMODERN Q  @IM.INDEX.GETFN     HRULE.GETFNMODERN BIM.INDEX.GETFN @IM.INDEX.GETFN „  7 KIM.INDEX.GETFNB \ SKIO.GETFN.2MODERN + (Š – Q     š 4IM.INDEX.GETFNCLASSIC +M 3IM.INDEX.GETFNCLASSIC +  9IM.INDEX.GETFNCLASSIC +G 7IM.INDEX.GETFNCLASSIC +|  % HRULE.GETFNMODERN    HRULE.GETFNMODERN C +    M   HRULE.GETFNMODERN ³ * ,IM.INDEX.GETFNCLASSIC +1 CIM.INDEX.GETFN  HRULE.GETFNMODERN U "  ¯  Q  5  $ =IM.INDEX.GETFN3 5IM.INDEX.GETFN(   AIM.INDEX.GETFNR o  ?IM.INDEX.GETFNX  A  /   /IM.INDEX.GETFN + ;IM.INDEX.GETFN J ‰ SIM.INDEX.GETFN  HRULE.GETFNMODERN ¯   -IM.INDEX.GETFNZ  T 3IM.INDEX.GETFNO 3  *   1IM.INDEX.GETFNX  z   /IM.INDEX.GETFN   ;IM.INDEX.GETFN GIM.INDEX.GETFN  HRULE.GETFNMODERN  'IM.INDEX.GETFNMODERN + 7 8 x  +P   +    }  +       HRULE.GETFNMODERN   9IM.INDEX.GETFN    HRULE.GETFNMODERN   YIM.INDEX.GETFN 0 $   [IM.INDEX.GETFNH  - 1 ( a ]  +# eIM.INDEX.GETFN1  +-. {IM.INDEX.GETFN  +/  $ . ' iIM.INDEX.GETFNQ   ++ & k  a  +' kIM.INDEX.GETFN:  +3$   QNÆzº \ No newline at end of file diff --git a/library/HRule.tedit b/library/HRule.tedit new file mode 100644 index 0000000000000000000000000000000000000000..69edd3836b421c7c1aaf42ee107b82d6226378e0 GIT binary patch literal 12841 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 literal 0 HcmV?d00001 diff --git a/library/Kermit.tedit b/library/Kermit.tedit new file mode 100644 index 0000000000000000000000000000000000000000..c08f9c2a4ea70d4f0ed258e3b1e2040b108d748c GIT binary patch literal 21170 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 KJzsz7Z~q%yCf3pb literal 0 HcmV?d00001 diff --git a/library/KeyboardEditor.tedit b/library/KeyboardEditor.tedit new file mode 100644 index 0000000000000000000000000000000000000000..88caf5cc1cff177ff711dd48ac6a3db71429db9c GIT binary patch literal 152132 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 FORM2). For example, (MATCH X WITH (FOO_$ 'A --) => (REVERSE FOO)) translates as: [PROG ($$2) (RETURN (COND ((SETQ $$2 (MEMB 'A X)) (SETQ FOO (LDIFF X $2)) (REVERSE FOO] Place markers in the pattern can be referred to from within FORM, e.g., the above could also have been written as (MATCH X WITH (!#1 'A --) => (REVERSE #1)). If -> is used in place of =>, the expression being matched is also physically changed to the value of FORM. For example, (MATCH X WITH (#1 'A !#2) -> (CONS #1 #2)) would remove the second element from X, if it were equal to A. In general, (MATCH FORM1 WITH PATTERN -> FORM2) is translated so as to compute FORM2 if the match is successful, and then smash its value into the first node of FORM1. However, whenever possible, the translation does not actually require FORM2 to be computed in its entirety, but instead the pattern match compiler uses FORM2 as an indication of what should be done to FORM1. For example, (MATCH X WITH (#1 'A !#2) -> (CONS #1 #2)) translates as (AND (EQ (CADR X) 'A) (RPLACD X (CDDR X))) Limitation 1 The pattern match facility does not contain some of the more esoteric features of other pattern match languages, such as repeated patterns, disjunctive and conjunctive patterns, recursion, etc. However, you can be confident that what facilities it does provide results in Lisp expressions comparable to those you would generate by hand. Examples 1 (MATCH X WITH (-- 'A --)) -- matches any arbitrary segment. 'A matches only an A, and the second -- again matches an arbitrary segment; thus this translates to (MEMB 'A X). (MATCH X WITH (-- 'A)) Again, -- matches an arbitrary segment; however, since there is no -- after the 'A, A must be the last element of X. Thus this translates to: (EQ (CAR (LAST X)) 'A). (MATCH X WITH ('A 'B -- 'C $3 --)) CAR of X must be A, and CADR must be B, and there must be at least three elements after the first C, so the translation is: (AND (EQ (CAR X) 'A) (EQ (CADR X) 'B) (CDDDR (MEMB 'C (CDDR X)))) (MATCH X WITH (('A 'B) 'C Y_$1 $)) Since ('A 'B) does not end in $ or --, (CDDAR X) must be NIL. The translation is: (COND ((AND (EQ (CAAR X) 'A) (EQ (CADAR X) 'B) (NULL (CDDAR X)) (EQ (CADR X) 'C) (CDDR X)) (SETQ Y (CADDR X)) T)) (MATCH X WITH (#1 'A $ 'B 'C #1 $)) #1 is implicitly assigned to the first element in the list. The $ searches for the first B following A. This B must be followed by a C, and the C by an expression equal to the first element. The translation is: [PROG ($$2) (RETURN (AND (EQ (CADR X) 'A) (EQ [CADR (SETQ $$2 (MEMB 'B (CDDR X] 'C) (CDDR $$2) (EQUAL (CADDR $$2) (CAR X] (MATCH X WITH (#1 'A -- 'B 'C #1 $)) Similar to the pattern above, except that -- specifies a search for any B followed by a C followed by the first element, so the translation is: [AND (EQ (CADR X) 'A) (SOME (CDDR X) (FUNCTION (LAMBDA ($$2 $$1) (AND (EQ $$2 'B) (EQ (CADR $$1) 'C) (CDDR $$1) (EQUAL (CADDR $$1) (CAR X] [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 183) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))E0HÌà +T0HHàT0´´àT3´´àØT3llààT2ÌÌøð2ÌÌøð5ðøäð2Hlàl/llà>llàx„œ¨>llàx„œ¨>llàx„œ¨>llàx„œ¨/HÌà +,llà3à(T3à(T8´´àØäð2´´àØ3ØØààT3ÀÀààT3¨¨ààT-àT-àT5HHàlx2HHàl/HHà/HHà +0$$àT2´´àØ2´ØàØ/´´à5´à¨´5HHàà5HHà +à0HHàT/`Ìà2Ìðàð5ÌàºÌ6$$ààT5làà5àà5llàà5HHà +à5llàà2llàà2HHà +à,HHà +,HHà,HHà0ÌÌøT-ÌÌøT-ÌÌøT5ÌøºÌ,ÌÌø/ÌÌø/ÌÌø,ÌÌø5ÌøºÌ,ÌÌø-T-øäìT3ø(TFøø PAGEHEADING VERSOHEADFøø PAGEHEADING RECTOHEADEøø PAGEHEADINGFOOTINGVEøø PAGEHEADINGFOOTINGR3ø(T HELVETICA +CLASSIC HELVETICA + HELVETICA HELVETICA TITAN +CLASSIC +TITAN +CLASSIC +TERMINAL +MODERN +MODERNMODERNMODERN MODERN +D HRULE.GETFNMODERN + D/ C HRULE.GETFNMODERN + C0BB HRULE.GETFNMODERN + AA HRULE.GETFNMODERN +   HRULE.GETFNMODERN 3 IM.INDEX.GETFNÁ 2N 2 #       HRULE.GETFNMODERN 1    HRULE.GETFNMODERN 1 +   HRULE.GETFNMODERN 0 /  +  /) /! .!..&/Ï     /+   # ‚  A  0 ! . . ./ .%. &/: CIM.INDEX.GETFN P /! .. .(/   /W .. ./ .!. . /C  .'. .- )IM.INDEX.GETFNMODERN + /"    $ .. .)/  J   - *IM.INDEX.GETFNMODERN +  ,  +      +    +  +    +  +   +  ,   + , U  *; %   4 * IIM.INDEX.GETFNy  )5IM.INDEX.GETFN$ #6  1 à %5IM.INDEX.GETFN HELVETICA +$I <1 < +G  =  [    < "     < ,  < %  <  : 7   (   Q  (  '    (g ( ,(    +  ( † 'h  b ,  = ; ";    " ( +    &    :0 %5IM.INDEX.GETFN"     > !J !    %! M 9 ! 4     !(  "    ! 8!8! 8!< B :  !   "  0 ! +  "   !     +  ‰ I  $  =! 8" %  !    +  !    +  !    +  !    +  "    4    ' - !   I - ! =! ;99! 6! 5449  !Š  !        È  )IM.INDEX.GETFN( B :       ¹  "  d ! —   *     6 ;  ,       % / /IM.INDEX.GETFN  H  $  Ø L   3 #C      + & + +    +IM.INDEX.GETFN  m      y i                + -  ' (   % "   ! # [     *      &  @/IM.INDEX.GETFNE HRULE.GETFNMODERN j         +/   $%< 2 .  J   ,?        M I M ,    +, +  HRULE.GETFNMODERN Q   HRULE.GETFNMODERN !   =   :      #    <     !#       $?      + C     5  &%*    7  '&.?% > >G\Ízº \ No newline at end of file diff --git a/library/MiniServe.tedit b/library/MiniServe.tedit new file mode 100644 index 0000000000000000000000000000000000000000..34eec7e56acbe9655e08e01153379a49b3cd3e7b GIT binary patch literal 10616 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 JfB);d9{|9FHOK$} literal 0 HcmV?d00001 diff --git a/library/RS232.tedit b/library/RS232.tedit new file mode 100644 index 00000000..c5ab2a4d --- /dev/null +++ b/library/RS232.tedit @@ -0,0 +1,141 @@ +1 Lisp Library Modules, Medley Release 1.0, RS232 1 Lisp Library Modules, Medley Release 1.0, RS232 RS232 1 RS232 1 RS232 6 The 1108 and 1186 each support two RS232(RS232 NIL NIL NIL NIL 219) ports. One of these ports is configured as Data Terminal Equipment, and is intended to be connected to modems or terminal ports on other computers. (On the 1108, this port is available only with the addition of the E30 option(E30% OPTION NIL E30% option NIL NIL 219).) The other port is configured as Data Communication Equipment, and is meant to drive printers or terminals. In this document, the DTE port is called the RS232 port(RS232% PORT NIL RS232% port NIL NIL 219), and the DCE port is called the TTY port(TTY% PORT NIL TTY% port NIL NIL 219). Lisp provides a stream-oriented interface to the RS232 hardware. Users' programs can open streams to the hosts {RS232} or {TTY}, and perform input or output using standard Lisp I/O functions, such as READ-BYTE(READ-BYTE (function) NIL NIL NIL 219), READ-CHAR(READ-CHAR (function) NIL NIL NIL 219), etc. Programs may use RS232 streams or TTY streams with the same programmatic interface. However, the RS232 port is preferred over the TTY if the application expects to handle large amounts of input data. In the 1108 and 1186, data entering the RS232 port is buffered independently of Lisp by the I/O processor (IOP). In addition, the RS232 software provides an additional layer of character buffering, freeing user programs from having to monitor the RS232 hardware frequently. No independent buffering is provided for data entering the TTY port. As a result, Lisp cannot guarantee to catch all characters received on this port. For this reason, the TTY port should be used primarily to drive output devices such as printers. Requirements 1 Hardware To connect to a modem or another device, you need an RS232 or TTY cable (see the wiring diagrams in the Introduction of this manual). For the 1108 only, you need the E-30 upgrade kit. For the RS232 port to operate correctly, the remote device must assert the standard RS232 signals DSR and CTS. This requirement means that the appropriate pins on the 1186 be driven high, either properly by connecting the 1186 side to the corresponding device side, or permanently by jumpering the pins. For the TTY port to operate correctly, the remote device must assert DTR and RTS. This requirement means that the appropriate pins on the 1186 be driven high, either properly by connecting the 1186 side to the corresponding device side, or permanently by jumpering the pins. Software You need the following .LCOM files in order to run this module successfully: DLRS232C or DLTTY (one of these is required) RS232MENU RS232CHAT or TTYCHAT, and KERMIT (these are optional). (See also the file dependencies enumerated in the Introduction of this manual.) Installation 1 Load the required .LCOM modules from the library. Run RS232C.INIT or TTY.INIT to set parameters. Using the RS232 Port 1 Support for the RS232 port is contained in the file DLRS232C.LCOM. Before using the RS232 port, it is necessary to initialize the RS232 hardware. The function RS232C.INIT is provided for this purpose: (RS232C.INIT(RS232C.INIT (function) NIL NIL NIL 220) BAUDRATE BITSPERSERIALCHAR PARITY NOOFSTOPBITS FLOWCONTROl) [Function] The arguments correspond to the port parameters (see below). Alternatively, the BAUDRATE argument can be an instance of the RS232C.INIT record. If BAUDRATE is NIL, the value of the global variable RS232C.DEFAULT.INIT.INFO is used in its place. This provides a means of automatically initializing the RS232 hardware without user intervention. RS232C.DEFAULT.INIT.INFO(RS232C.DEFAULT.INIT.INFO (variable) NIL NIL NIL 220) [Variable] This variable controls default initialization of the RS232 port. Its value may be set in the site INIT.LISP file, or in your INIT.LISP file. If RS232C.DEFAULT.INIT.INFO is not set when the RS232 module is loaded, its fields will be set to the following default values: BaudRate: 1200 BitsPerSerialChar: 8 Parity: NONE NoOfStopBits: 1 FlowControl: XOnXOff Programs may use the Lisp function OPENSTREAM as an alternative to calling RS232C.INIT directly, with the parameters bundled up into the PARAMETERS argument. For example, (RS232C.INIT 9600 8) can also be achieved by: (OPENSTREAM '{RS232} 'INPUT NIL '((BaudRate 9600) (BitsPerSerialChar 8)) (RS232C.SET.PARAMETERS(RS232C.SET.PARAMETERS (function) NIL NIL NIL 220) PARAMETERLIST) [Function] This function allows applications to change the settings of the RS232 hardware while the RS232 port is in use. PARAMETERLIST is an association list of parameter names and values. The following example sets the baud rate to 9,600 baud, and the character length to eight bits: (RS232C.SET.PARAMETERS '((BaudRate . 9600) (BitsPerSerialChar . 8))) The following is a list of legal parameter names and values: BaudRate 1186: 50, 75, 110, 150, 300, 600, 1200, 2400, 3600, 4800, 7200, 9600, 19200. 1108: all of the above, and 28800, 38400, 48000, 56000, 57600. BitsPerSerialChar 5, 6, 7, 8 bits of data. If 5 or 6 bits of data are sent, they should be DATA, not CHARACTER. Parity NONE, ODD, EVEN (1 parity bit). NoOfStopBits 1, 1.5, 2 (i.e., the stop bit may have a period equal to 1, 1.5 or 2 bit-widths). FlowControl NIL, NONE, XOnXOff, list. NIL and NONE: no flow control. XOnXOff: flow control using Xon and Xoff characters. For applications requiring XOn and XOff characters other than ^Q and ^S respectively, this parameter may be supplied as a list in the form: (1 ), where and represent the character codes (ASCII 1 - 127) of the characters which are to be treated as the XOn and XOff characters. The leading ©©1¹¹ signifies that flow control should be enabled; a leading ©©0¹¹ will program the RS232 port with the appropriate XOn and XOff characters, but leave flow control disabled. ModemControl This parameter should be a list of modem control signals to be enabled, such as DSR, CTS, DTR, DTR, RI and HS. The functions RS232MODEMCONTROL, RS232MODEMSTATUSP, and RS232MODIFYMODEMCONTROL provide finer control over the settings of modem signals (see below). DTR This parameter enables or disables the data terminal ready signal; it may be specified as T or NIL. RTS This parameter enables or disables the request to send signal; it may be specified as T or NIL. (RS232C.GET.PARAMETERS(RS232C.GET.PARAMETERS (function) NIL NIL NIL 221) PARAMETERLIST) [Function] The current settings for the RS232 port may be obtained at any time by calling this function. PARAMETERLIST should be a list of parameter names. RS232C.GET.PARAMETERS returns an association list of parameter names and values, in a format acceptable to RS232C.SET.PARAMETERS. (RS232C.SHUTDOWN(RS232C.SHUTDOWN (function) NIL NIL NIL 221)) [Function] The RS232 port is turned off by calling this function. It disables the RS232 port and closes any open streams on the devices. Using RS232 Streams(USING% RS232% STREAMS NIL Using% RS232% Streams NIL NIL 222) Programs may open streams to the RS232 port by calling OPENSTREAM(OPENSTREAM (function) NIL NIL NIL 222) with the file name {RS232}. The ACCESS argument to OPENSTREAM controls whether an INPUT or OUTPUT stream is returned. RS232 streams are unidirectional; to obtain a second stream open for the opposite access, call the function RS232C.OTHER.STREAM. Only one pair of RS232 streams may be open at a time; an error will result if you attempt to open more. (RS232C.OTHER.STREAM(RS232C.OTHER.STREAM (function) NIL NIL NIL 222) STREAM) [Function] STREAM should be an RS232 stream. If STREAM is open for INPUT, an RS232 stream open for OUTPUT is returned; conversely, if STREAM is open for OUTPUT, an RS232 stream open for INPUT is returned. The following Lisp functions are defined to work on RS232 streams open for the appropriate access: BIN(BIN (function) NIL NIL NIL 222), BOUT(BOUT (function) NIL NIL NIL 222), READP(READP (function) NIL NIL NIL 222), OPENP(OPENP (function) NIL NIL NIL 222), CLOSEF(CLOSEF (function) NIL NIL NIL 222), and FORCEOUTPUT(FORCEOUTPUT (function) NIL NIL NIL 222). (RS232C.CLOSE-STREAM(RS232C.CLOSE-STREAM (function) NIL NIL NIL 222) DIRECTION) [Function] This function closes one or both RS232 streams, so you don't need to have access to the streams to close them. DIRECTION can be one of INPUT, OUTPUT, BOTH, or NIL. The function closes the RS232 stream open in DIRECTION mode; if DIRECTION is BOTH or NIL the input and output streams will be closed, if they exist. RS232 streams are buffered. Input and output are performed in units of packets of data. The I/O processor collects incoming data into a packet, and makes that packet available to Lisp when one of the following conditions is true: The packet is filled. The frame time-out has expired. The frame time-out is the number of hundredths of a second that are allowed to occur between the reception of single characters. This parameter is automatically set by the RS232 module. Its value depends on the baud rate of the RS232 port. If the value is set too large, interactive applications such as Chat will suffer from uneven typeout; if the value is too small, a larger number of shorter packets may be exchanged between Lisp and the I/O processor, resulting in increased processing overhead. Lisp buffers data for output in packets of up to 578 characters. Output packets are sent to the RS232 port when one of the following conditions is true: The current output packet is full. The user program calls the FORCEOUTPUT(FORCEOUTPUT (function) NIL NIL NIL 222) function to force the current output packet to be sent. The output stream is closed. Applications that generate a large amount of output slowly may wish to reduce the size of outgoing packets. Although this will require additional processing overhead, it will cause output to occur more frequently without the program explicitly calling FORCEOUTPUT(FORCEOUTPUT (function) NIL NIL NIL 222). (RS232C.OUTPUT.PACKET.LENGTH(RS232C.OUTPUT.PACKET.LENGTH (function) NIL NIL NIL 222) NEWVALUE) [Function] This function returns the current setting of the variable that controls the maximum size of output packets. If NEWVALUE is supplied, the setting is changed to NEWVALUE. NEWVALUE may be a number between 1 and 578. Specifying a value is a matter of how long you are willing to wait at input time before you are assured of seeing incoming data. You can do a straightforward division to set the length (e.g., at 9600 baud, you get about 1 char/millisecond, so the maximum delay is 578ms; if you can tolerate only 1/4 second, then set it to 250 or so). (RS232C.READP.EVENT(RS232C.READP.EVENT (function) NIL NIL NIL 223) STREAM) [Function] Many RS232 applications are time-dependent. File transfer protocols such as Kermit and Modem depend on one or both sides of a file transfer detecting connection problems by means of time-outs. This function allows user programs to detect time-out conditions efficiently. STREAM should be an RS232 stream open for input. This function returns an event that a program may wait upon for input data to become available on the stream. The following example illustrates how a program could wait up to 10 seconds for a character to become available: [LAMBDA (STREAM) (LET ((EVENT (RS232C.READP.EVENT STREAM)) (TIMER (SETUPTIMER 10000))) (until (OR (READP STREAM) (TIMEREXPIRED? TIMER)) do (AWAIT.EVENT EVENT TIMER T) finally (RETURN (COND ((READP STREAM) (BIN STREAM] Using Modems(USING% MODEMS NIL Using% Modems NIL NIL 223) The following functions are useful for controlling modems: (RS232SENDBREAK(RS232SENDBREAK (function) NIL NIL NIL 223) EXTRALONG?) [Function] This function sends the out-of-band BREAK signal, for a period of 0.25 seconds; if EXTRALONG? is non-NIL, then the period is extended to 3.5 seconds. (RS232MODEMCONTROL(RS232MODEMCONTROL (function) NIL NIL NIL 223) SIGNALSONLST) [Function] This function is a Lambda-NoSpread function that sets the modem control lines to be ©©on¹¹ for the signals named in the list SIGNALSONLST; it returns the former setting of the lines. If SIGNALSONLST is not supplied (which is not the same as supplying NIL), then the control lines remain unchanged. The entries in SIGNALSONLST are symbol names for standard modem control lines; currently usable signal names are DTR and RTS. (RS232MODIFYMODEMCONTROL(RS232MODIFYMODEMCONTROL (function) NIL NIL NIL 223) SIGNALSONLST SIGNALSOFFLST) [Function] Changes only those modem control lines specified in the union of the two arguments; those in SIGNALSONLST are set to be on, and those in SIGNALSOFFLST are set off. Returns the former state just as (RS232MODEMCONTROL) does. (RS232MODEMSTATUSP(RS232MODEMSTATUSP (function) NIL NIL NIL 223) SPEC) [Function] Returns non-null if the reading of the modem status lines is consistent with the boolean form specified by SPEC; modem status signals currently supported are DSR, RI, and RLSD. SPEC may be any AND/OR/NOT combination over these signal names. Example: (RS232MODEMSTATUSP '(AND CTS (NOT RLSD))). (RS232MODEMHANGUP(RS232MODEMHANGUP (function) NIL NIL NIL 224)) [Function] This function takes whatever steps are appropriate to cause the modem to hang up. Generally, this means turning the DTR signal down for about three seconds, or until the DSR signal has gone down. Error Condition Reporting(ERROR% CONDITION% REPORTING NIL Error% Condition% Reporting NIL NIL 224) The RS232 port detects parity errors(PARITY% ERRORS NIL parity% errors NIL NIL 224), character framing errors(CHARACTER% FRAMING% ERRORS NIL character% framing% errors NIL NIL 224), lost characters(LOST% CHARACTERS NIL lost% characters NIL NIL 224), and a number of other unusual conditions. As the I/O processor delivers each input packet to Lisp, it reports when the packet was received without error. If an error did occur while the packet was being received, Lisp will report this fact by writing a message to RS232C.ERROR.STREAM. RS232C.ERROR.STREAM(RS232C.ERROR.STREAM (variable) NIL NIL NIL 224) [Variable] RS232 error conditions are reported on this stream. This stream is initially the PROMPTWINDOW. (RS232C.REPORT.STATUS(RS232C.REPORT.STATUS (function) NIL NIL NIL 224) NEWVALUE) [Function] There are circumstances in which the RS232 hardware believes it has encountered an error, when in fact it has not. A frequent cause is an incorrect parity setting in the RS232 port. Continually reporting RS232 errors is likely to slow RS232 processing severely. In cases where error reporting is not important, it is possible to disable error reports with the RS232C.REPORT.STATUS function. This function returns the current setting of status reporting, which may be one of the following: T Errors are reported on both input and output. NIL Errors are never reported. OUTPUT Errors are reported on output only. INPUT Errors are reported on input only. In addition, if NEWVALUE is supplied, the current setting of status reporting is changed to NEWVALUE. RS232TRACE(RS232TRACE NIL NIL NIL NIL 224) To help in debugging RS232 applications, it is possible to trace the data that is being sent out via the port. RS232 packets are traced using: (RS232C.TRACE MODE) [Function] MODE is one of PEEK, T, or NIL. If MODE is either T or PEEK, RS232C.TRACE opens a trace window in the mode selected. T indicates a full trace, with every byte being shown. PEEK is a less verbose trace, with every incoming packet shown as a "+" and every outgoing packet shown as a "!". NIL turns off the tracing. Clicking the left mouse button in the trace window will cycle between the modes. Òºÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿ€ÁãÇÀÿÿþßÿÿÿÿÿÿÿÿÿÿÿ€}¾Ý»wûÿÿÿþÿßÿÿÿÿÿÿÿÿÿÿÿ€}¿ýû÷ûÓ<~þÜÿÿÿÿÿÿÿÿÿÿ€}Ãýç÷ûÊíÛ¾Û¿ÿÿÿÿÿÿÿÿÿÿ€ýóûÏûßø>þØ?ÿÿÿÿÿÿÿÿÿÿ€}þïû¿ûÞmûþþÛÿÿÿÿÿÿÿÿÿÿÿ€}¾ß»ûÞíÛ¾þÛ¿ÿÿÿÿÿÿÿÿÿÿ€}ÁÁÇûß<~þÜÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€€€€€€€àà€€  €‚” €‚qŒg2 g8 €‚HR$¤ J ’ €‚AÐ$¤ J ’ €‚BR$¤ J ’ €‚A¬$œ 1@b €à$à€€€€€€€€€€€€à€€ €‚€‚qŒg2 g€‚HR$¤ J ”„€‚AÐ$¤ J ”„€‚BR$¤ J ”„€‚A¬$œ 1@d„€à$€€€€€€€€€€€€à€€ €‚€‚qŒg2 ã!€‚HR$¤ J ”¥A€‚AÐ$¤ J —9€‚BR$¤ J ”!A€‚A¬$œ 1@ã!€à$€€€€€€€€€€€€€€@@€@@€B„!B€B„!B€O“äù>O€€B„!B€€ €@@€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ RS232CHAT(RS232CHAT NIL NIL NIL NIL 225) The RS232CHAT module is a facility that permits the Chat library module to communicate over the RS232 port. Once it is loaded, you may chat to the host named RS232 to open a connection to the RS232 port. RS232CMENU(RS232CMENU NIL NIL NIL NIL 225) RS232CMENU is a utility that provides a menu interface to controlling the settings of the RS232 port. When loaded along with RS232CHAT, this utility may be invoked by choosing the "Set Line Parameters" entry in the options menu that appears if you select ©©Options¹¹ in the middle-button Chat menu. {>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøxñãÇþÿÿÿãÿÿÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàû·nÝ»þïÿûÿÝÿ¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàû·ný»þî:pÿÝÇ:yqÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàøyýã÷þíÙ»ÿ绿¹¶nÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàúþûýïþÛûÿûƒ¿»·sÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàûwwýßþýÛûÿÝ¿¿»·}ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàû·oÝ¿þýÛûÝ»·o»¶nÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàû¸àãƒþþ;üÿãÇÏŸ»¹qÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÀ`À`À`ÀÀ€ÀÀ`ÁÀ`C0{<x†Ø<à À``ÀÀ`ã0Ã`l†Ø6à À``Ã<Û`ãÇ/°ãÇ6ØpçmNy¶9ãØsǶ§<Û ÞxöÞ``ÆÍ¶Û`³m»0sm¶Ø9¶ÛyÛæm¶ØÛm¼íŒóÆm¶Û``ÇͶÞ`óm³0;m¿ØöÛmŸyÆ}¶ØÛm¶Ï¼ã Þm¶Û``Ïí¶Îûm³m™€ †Ûm˜Ùàa¶ØÛm¶Ìlð öm¶Û`Ìo<Ì`Ç1°óg˜xöÏyy¶=³Þsg¼Ç¼Û ÞlóÞ``À 0 `0€0``À 0à`À`À`À`À`À`À00`Ç€1àÃŒ0€ €ö€0€`ÆÀ1°$HÀÀ €†€€0`ÆÞlñ·¼æ'HÞWí° +ŒpÀ‡žWÎQ‡<¼À ‰Ž`džm±á™¶$’HÆvͰ +’I †Æq™›q¶Û6ÀRI`ÆÞm±·™ðä’HžfÏ +’Ià†Þg™Ÿa¶Û6žSÉ`Æöm±½™€$’H6fÇ ’I†öm™˜aŒ6Û6" `Çž<ñ—Œöà 0ff0 ŒHàöÞgŒÏaç¶y¶À!É`À0À`À ð`À`À`À`À`À`À0 À`ǰààÀ˜€à|„`Æ0À‘Ã@°`„`Æ3›c=ês`¢…¿À<ç†ß›N³ž9|aTå6D„âX`ǶÛc ¶ÎÛ`BB‘™¶Ç›3I$æÛmØ}Ý·fD´``Æ6ßã ¶ÌÛ¢E‘Ù¶ÆÛ8I<·Ûm˜a™¶p$´r˜`Æ6Ìà ¶ÌÛH‘Ù¶ÆÛI ¶m˜a™¶0äH‘„`Æ3ŒÁç6ls`âHŒç‡™³‰“Þ9Œ}˜æfHq`À``À`À`À`À`ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà The following commands are available in the RS232 menu: Apply This menu item changes the RS232 port settings according to the values of the fields in the rest of the menu. No changes are made to the RS232 hardware until this command is given. Abort Closes the RS232 menu and aborts any changes that could have been made. SendBreak Sends a normal (0.25 second) break signal. Requires confirmation, as this command could cause the modem connection to be broken. SendLongBreak Sends a long (3.5 second) break signal. As above, this requires confirmation. Hangup Tries to hang up the modem (by dropping DTR). Requires confirmation. The following fields are multiple choice items; when their labels are selected with the mouse, a menu of possible values for the field appears. Choosing a value from the menu will change the field; clicking off the menu will leave the field unchanged. Baud Rate Changes the BaudRate of the RS232 port. Parity Changes the Parity setting of the RS232 port. Character Length Changes the BitsPerSerialChar setting of the RS232 port. Flow Control Changes the FlowControl setting of the RS232 port. Stop Bits Changes the NoOfStopBits setting of the RS232 port. Report Errors Changes the RS232C.REPORT.STATUS setting of the RS232 port. File Transfer Using RS232(FILE% TRANSFER% USING% RS232 NIL File% Transfer% Using% RS232 NIL NIL 226) Files may be transferred using RS232CHAT and either the Kermit(KERMIT NIL Kermit NIL NIL 226) or Modem(MODEM NIL Modem NIL NIL 226) protocols. Using the TTY Port(USING% THE% TTY% PORT NIL Using% the% TTY% Port NIL NIL 226) 1 Support for the TTY port is contained on the file DLTTY.LCOM. The TTY port is designed to support low-speed communications with RS232 devices. The I/O processor(I/O% PROCESSOR NIL I/O% processor NIL NIL 226) offers no low-level support for input buffering. As a result, it is quite possible for newly received input characters to overwrite previously received but unread characters in the input hardware. The TTY port provides exactly one character's worth of buffering; each character must be read by Lisp before the next character is completely received. Note: No hardware flow control is provided on the TTY port. The Lisp TTY port service routines will obey received flow control commands, but will not generate flow control commands in response to increased input data rate. (TTY.INIT(TTY.INIT (function) NIL NIL NIL 226) BAUDRATE BITSPERSERIALCHAR PARITY NOOFSTOPBITS FLOWCONTROL) [Function] This function is very similar to the function RS232C.INIT. Before using the TTY port, the TTY hardware must be programmed with the proper characteristics for your application. Alternatively, the BAUDRATE argument can be an instance of the RS232C.INIT record. If BAUDRATE is NIL, the value of the global variable TTY.DEFAULT.INIT.INFO is used in its place. This provides a means of automatically initializing the TTY port hardware without user intervention. TTY.DEFAULT.INIT.INFO(TTY.DEFAULT.INIT.INFO (variable) NIL NIL NIL 226) [Variable] This variable controls default initialization of the TTY port. Its value may be set in the site INIT.LISP file, or in your INIT.LISP file. If TTY.DEFAULT.INIT.INFO is not set when the TTY package is loaded, its fields will be set to the following default values: BaudRate: 1200 BitsPerSerialChar: 8 Parity: NONE NoOfStopBits: 1 FlowControl: XOnXOff Programs may use OPENSTREAM as an alternative to calling TTY.INIT directly, with the parameters bundled up into the PARAMETERS argument as shown below. For example: (OPENSTREAM '{TTY} 'BOTH NIL '((BaudRate 9600) (BitsPerSerialChar 8)) (TTY.SET.PARAMETERS(TTY.SET.PARAMETERS (function) NIL NIL NIL 227) PARAMETERLIST) [Function] Applications may change the settings of the TTY hardware while the TTY port is in use. PARAMETERLIST is an association list of parameter names and values. For example, let's set the baud rate to 9600 baud and the character length to eight bits: (TTY.SET.PARAMETERS '((BaudRate . 9600) (BitsPerSerialChar . 8))) The following is a list of legal parameter names and values: BaudRate 50, 75, 110, 150, 300, 600, 1200, 2400, 3600, 4800, 7200, 9600, 19200. BitsPerSerialChar 5, 6, 7, 8. If 5 or 6 bits of data are sent, they should be DATA, not CHARACTERS. Parity NONE, ODD, EVEN ( 1 parity bit). NoOfStopBits 1, 2 (This parameter should be 1 except at 110 baud). FlowControl NIL, XOnXOff. For applications requiring XOn and XOff characters other than ^Q and ^S respectively, this parameter may be supplied as a list in the form:(1 ), where and are replaced by the character values of the XOn and XOff characters. The leading 1 signifies that flow control should be enabled; a leading 0 will program the TTY port with the appropriate XOn and XOff characters, but leave flow control disabled. Note: XOnXOff flow control is known to be reliable only up to 4800 baud. DSR This parameter enables or disables the data set ready signal; it may be specified as T or NIL. CTS This parameter enables or disables the clear to send signal; it may be specified as T or NIL. (TTY.GET.PARAMETERS(TTY.GET.PARAMETERS (function) NIL NIL NIL 228) PARAMETERLIST) [Function] The current settings for the TTY port may be obtained at any time by calling this function. PARAMETERLIST should be a list of parameter names. TTY.GET.PARAMETERS returns an association list of parameter names and values, in a format acceptable to TTY.SET.PARAMETERS. (TTY.SHUTDOWN(TTY.SHUTDOWN (function) NIL NIL NIL 228)) [Function] This function turns off (disables) the TTY port and closes any open streams on the device. Using TTY Streams(USING% TTY% STREAMS NIL Using% TTY% Streams NIL NIL 228) Programs may open streams to the TTY port by calling OPENSTREAM with the file name {TTY}. The ACCESS argument to OPENSTREAM may be INPUT, OUTPUT, or BOTH. Unlike RS232 streams, TTY port streams are not buffered, and a single stream may be used for both input and output. The generic Lisp input/output functions BIN, BOUT, READP, OPENP, and CLOSEF may be used on TTY port streams. TTYCHAT(TTYCHAT NIL NIL NIL NIL 228) TTYCHAT is a module that enables the Chat library module to communicate over the TTY port. No user-callable functions or user-settable variables are available in the TTYCHAT module. Once it is loaded, you may chat to the host named TTY to open a connection to the TTY port. TTYCHAT is contained on the file TTYCHAT.LCOM. Because the TTY port does no low-level input buffering, it is quite likely that many input characters will be lost while chatting at 1200 baud or higher. This package should only be used for non-critical applications, such as testing connections between the TTY port and low-speed printers. RS232CMENU(RS232CMENU NIL NIL NIL NIL 228) RS232CMENU is compatible with the TTY port as well. Certain RS232 port commands, such as SendBreak! are not available with the TTY port, and hence do not appear in the menu. Examples 1 Testing the Connection Between Two Xerox Lisp Machines(TESTING% THE% CONNECTION% BETWEEN% TWO% XEROX% LISP% MACHINES NIL Testing% the% Connection% Between% Two% Xerox% Lisp% Machines NIL NIL 228) To test for a working RS232 connection between Machine A (a Xerox 1108) and Machine B (a Xerox 1100, 1108, or 1186) by moving a file between them, proceed as follows: 1. Load RS232CHAT.LCOM on both machines. 2. Call RS232C.INIT to set up parameters. 3. Do RS232CHAT on both machines. You will be prompted for a window. Whatever you type on machine A should be echoed on machine B and vice versa. Testing the Connection Between Xerox Lisp Machines and a VAX Running VMS VAX side: Set baud rate at which files will be transferred on the VAX side using the VMS command SET. For example, to set to 1200 baud, type: SET TERM TTA1:/SPEED=1200/PERM 1108 side: Load RS232CHAT.LCOM Initialize: (RS232C.INIT 1200 8 NIL 1 NIL'RS232C) Then call (RS232CHAT) You should be able to use the Chat window like a VAX teletype terminal. By matching the baud rate on the VAX ( through SET TERM) with that on the 1108 (through RS232C.INIT), you can use any speed up to 9600 baud. [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 219) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))-3HHà àT3HHààT2HHàà.$$àTT3llààT3àÈT2øø2øø;ÌàÀÌäà8ÌàÀÌà5lløø5lløø8¨àœ¨à,HHà2llàÈ2$$àÈ2HHà +È9¨àœ¨àT3$$ààT3øøT3øøT,$$à5Hlà +là-àT-$$àT,„„à8„à +x„È5``àlà2HHàà2HHà +à3HHà àT2llàà2HHà à,llà,llà +,HHà +,HHà,HHà-àT-T-øäìTFøø PAGEHEADING VERSOHEADFøø PAGEHEADING RECTOHEADEøø PAGEHEADINGFOOTINGVEøø PAGEHEADINGFOOTINGR HELVETICACLASSICTITAN +TITAN +CLASSIC + HELVETICA HELVETICA CLASSIC + HELVETICA +MODERN +TERMINAL +MODERN +MODERNMODERNMODERN +MODERN ?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) +- HRULE.GETFNMODERN + +-/ , HRULE.GETFNMODERN + +,0 + + HRULE.GETFNMODERN + +* * HRULE.GETFNMODERN + +'' HRULE.GETFNMODERN&(IM.INDEX.GETFNã)IM.INDEX.GETFN¨)IM.INDEX.GETFN)%IM.INDEX.GETFN%Ò&IM.INDEX.GETFN &IM.INDEX.GETFN%Ý%ü ' HRULE.GETFNMODERN $†%2%1%$M#-" "7%P ' HRULE.GETFNMODERN $% ' HRULE.GETFNMODERN $¡ ! (IM.INDEX.GETFN:  ? $  #z!5IM.INDEX.GETFNMODERN +  c   f      # + 3 +  ; I!2IM.INDEX.GETFN   m — E =  + H ; + + + + + +% + +  + + + + + + +G + + +% + + + + + + + +¼7 + +  +o +G + + +Z + + + +V2IM.INDEX.GETFN   ^ 'V,IM.INDEX.GETFN  ~=IM.INDEX.GETFN7 +'IM.INDEX.GETFNCLASSIC +!  +‚h0IM.INDEX.GETFN +     c IM.INDEX.GETFN!IM.INDEX.GETFN"IM.INDEX.GETFN"IM.INDEX.GETFN#IM.INDEX.GETFN (IM.INDEX.GETFNCLASSIC +0IM.INDEX.GETFNMODERN + +   o 0   = è" ù š#  (IM.INDEX.GETFNCLASSIC +: ý (IM.INDEX.GETFNCLASSIC +8IM.INDEX.GETFN  p(& P/IM.INDEX.GETFN      +  2  4 -IM.INDEX.GETFN<+IM.INDEX.GETFN + + T +9.IM.INDEX.GETFN  + } 2 t c4IM.INDEX.GETFN  ]   J.IM.INDEX.GETFNMODERN + +  k‚ ++-IM.INDEX.GETFNMODERN +  ÅIIM.INDEX.GETFN$/IM.INDEX.GETFNGIM.INDEX.GETFN3IM.INDEX.GETFN!0IM.INDEX.GETFNMODERN +  `1IM.INDEX.GETFNMODERN + +  kn + +, + + + + +$ +$D + IM.INDEX.GETFN$”  + + + +    -7A(kd BMOBJ.GETFN3?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) + + IM.INDEX.GETFNÏ + IM.INDEX.GETFN- ¬ BMOBJ.GETFN3MODERN + +8 ½ O  ^ Ný 3 6 K A ? KIM.INDEX.GETFN>IM.INDEX.GETFN IM.INDEX.GETFN  =IM.INDEX.GETFN HRULE.GETFNMODERN ¢/IM.INDEX.GETFN`à %IM.INDEX.GETFN: + .  u $  #}2IM.INDEX.GETFN  b d   +3 +  F/IM.INDEX.GETFN   V ‘ B = + +N + + +' + + + + + + + +1 + + +Œù +L + +U + +T/IM.INDEX.GETFN   \ 'V )IM.INDEX.GETFN  [9IM.INDEX.GETFN5 +   +"IM.INDEX.GETFN6 % + IM.INDEX.GETFN® ' HRULE.GETFNMODERN 6IM.INDEX.GETFN§ EMH +Ž + + + +  +& +   H/! *)%( («´zº \ No newline at end of file diff --git a/library/SameDir.tedit b/library/SameDir.tedit new file mode 100644 index 0000000000000000000000000000000000000000..db81b69fb978993163e55e3c5e4621537df21faf GIT binary patch literal 7230 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 literal 0 HcmV?d00001 diff --git a/library/Spy.tedit b/library/Spy.tedit new file mode 100644 index 0000000000000000000000000000000000000000..b38516610190dcba32efacfb7acaab7901406949 GIT binary patch literal 58398 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 literal 0 HcmV?d00001 diff --git a/library/SysEdit.tedit b/library/SysEdit.tedit new file mode 100644 index 0000000000000000000000000000000000000000..0dc968165c71e7421eb25c9ac1893a3981af691e GIT binary patch literal 4566 zcmeHJ-E!Mh5SH8YClqxU28Jt`rA!8UCNZ{~pK__%$FZieWh6NyFkC3naU&{AMv@!c z7vWua44!}sE}7xBcV+h+Nw$cSrh#$;p5*wPJ-grTe!DBVsj7ybOu_JvV>g~dKk{Y) zPd1^?y@1cb;sJLP4$XRF6YL|Kb#zBfS-^(xmrdObP$KL1hJ0id5UMJk)ZZ0il1RzfR-7-0ip+p=piX9k}Ii_B>&ppH{OH3x+aTnJr9d8b{C3 zjR#}o3qy|+pol42IP=p}Q5YF;<|H9phxIqWHb+*Q$+Ae5ja;Yf2cZRM?5BCeTZ`=B z)hp$X4Fz5)ehSC3cv%aLWB$X8hiNe160|PSR97v$^J6~2`-DcLuVGl0-8P3zWrsu4 za_qWh7;3w3XqKfNZP}wCNmV^eQtVgJ$Hhz`5l>@xGNBsr@VOsHAtBe*&Z1>V8Hc4j z2X5$<%11p=u$qs8EKlGksqD=$t}|JiCH-)~&ZgA0mz zVH04-*(Tje!@b?s729C<(e}UB2LDg>KQ+}CHiCuEy}#QCwVHVR-%{==TePeED$dG{ ziu^9E6{k4n%Ab(rb;_GcPw64@4bokyT;M9X?mKUwd*=;wDd5+|Ad`Ek5H2P6Tjh7! zWuGM$NYbUH@{(43jUsK8%FCR*d-Sl)>Zhz1gDZ7QYZ(QJx)7zPddXfM7=2+Z^#ESX0)O50yJ@L$htYtx!ef=Obmkcrz>ar3`~DiQiu> zUVwa{-0qwB<{m5|EM)H%<_p;>+f}lKYXZ4}qd{v$x!1Es2CMHgr#q-9t8kHZG7)`~ z8Ma8UMhgna+qIC$u!OXZ0^x?Bh10vZA#}RAmJb3DAbGTOxGEBjc9A#5Bam*ARA5|= zw9L3jhLRwY+qnKjTarG+^}gP(>-dB1P?mviNJmnD2Dfl8cp-yNR~jgLxj}RFJ>>TY zMENVq7r8_PM?UC=au&ayMe>>IWrQtSJqtKTBF06>3VcK&;?4=)L!k)gEk^P2g+4?$ l*UnTF2@|7Czkf?Umf3uf`=CNmLu~w2kkxkW7sY(>^PkTcr)2;D literal 0 HcmV?d00001 diff --git a/library/TableBrowser.tedit b/library/TableBrowser.tedit new file mode 100644 index 0000000000000000000000000000000000000000..903450b4ae8671b242bc29b3a68d0bdbb76ca5d0 GIT binary patch literal 36740 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