« XyWWWeb »

XyWrite Apps and Info on the WWW

[Last-2018-04-23 20:30--CLD]

Download filesNew!> = recent revision or new release] and obtain advanced information about the XyWrite Word Processor, especially XyWrite IV for DOS (and XyWrite for Microsoft Windows v3.x+), with particular attention to:

featuring the Almost-All-Inclusive XyWWWeb Jumbo U2 customization file for XyWrite 4+, and including a select archive of XyWrite III+ (and NotaBene) files and programs. You can also use this page to join the XyWrite Discussion Group mailing list. Additional miscellaneous XyWrite-related resources can be found here.

vDosPlus PC+DOS Emulator

 Available as of 12 March 2018:
New!> Version 5.01 of the vDosPlus Installer for XyWrite and Nota Bene for DOS

Wengier Wu’s vDosPlus, an x86 PC and DOS emulator for Windows, allows XyWrite 4, XyWrite III+, and Nota Bene for DOS to run under the latest versions of Microsoft Windows (including 64-bit Windows). It includes many useful features, such as long filenames (LFNs) and enhanced keyboard and display support. Wengier has been incredibly responsive to requests for features and modifications from members of the XyWrite community, and we are grateful to him for his efforts on our behalf. Donations to Wengier are accepted at vdosplus.org.

New!> vDosPlus for XyWrite v5.01 is the latest update of Kari Eveli’s vDosPlus installer designed specifically for setting up XyWrite|NB. It installs the most recent release of the 2017.08.01 (a/k/a Summer ’17) branch of vDosPlus, and incorporates Wengier’s updates through the installer date. It takes less than five minutes to get your existing Xy|NB setup running—simply launch the installer and follow the prompts.

Download the vDosPlus Installer for XyWrite v5.01

Acknowledgment: vDosPlus is derived from Jos Schaar’s vDos, and would not be possible without Jos’s ground-breaking work. The Centennial Edition of the XyWrite installer is fully compliant with the vDos software protection protocol. Users of vDosPlus are urged to consider registering or making a donation at Jos’s site.

The Jumbo XyWWWeb.U2 File
(Almost) All XyWWWeb Programming in One Big Library!
(updated for vDosPlus)

Current Release: 2018-04-23[changelog]


XyWWWeb.U2 uses Registry file XyWWWeb.REG, first introduced on 18 September 2002. If you’ve never configured XyWWWeb.REG, the Jumbo U2 automatically sets up a working Registry for you, via a call to frame XyWebU2.int, which you add to your STARTUP.INT. Depending on which U2 routines you use and your personal preferences, you may need to edit this basic XyWWWeb.REG, but it will at least get you started. If you already have a Registry, U2 does not touch it, but you may need to manually add new settings to it for use by more-recent U2 routines. (U2 prompts you to add required user variables.) For further information, consult readme-u2.pdf, also part of XYWWEBU2.ZIP, before commencing installation.

New!> Set a Personal Default Argument for Any Frame: As of U2 release 2017-11-13, you can establish a default argument for any frame by setting a User Variable in the XYWWWEB.REGistry, in the form framename=default_arg. See REG-READ.ME for additional information.

U2 Extras: External Windows and DOS programs (freeware, all) used by U2 routines are now collected and updated in a separate ZIP archive, U2EXTRAS.ZIP. Unzip all files into the directory that contains EDITOR.EXE.

XY4.DLG: A few routines formerly contained in U2 have been moved to the DiaLoG file, where they are more comfortable for technical reasons. Download an updated (2/29/04) XY4.DLG file, suitable for both XyWrite 4 and XyWin. UnZIP it, quit XyWrite, replace your current DLG file (REName XY4.DLG to your current DLG filename, if necessary), then restart XyWrite. The DLG update includes bug fixes and new functionality, with no deprecation of original “factory” services.

Attention XyWriters and Notabenieri:
Download and install the whole XyWWWeb library on your own machine. It’s freeware. Memory consumption is negligible. Rapid indexing of all routines by framename, with functional descriptions, is built-in. Instructions for using most routines are accessible with a simple command (“HELP routinename<Helpkey>”). XYWWEBU2.ZIP contains five core files: readme-u2.pdf (containing installation and general instructions), XYWWWEB.INF (help texts), XYWWEBU2.REG (REGistry of User Variables for new U2 users), REG-READ.ME (information about REGistry configuration), and XYWWWEB.U2 (the Jumbo U2 library of XPL programs). A revision history, changelog.pdf, is also included. Additionally, XYWWEBU2.ZIP contains several Windows EXEcutable and other binary files used by various U2 routines. Un-ZIP the entire package into your main XyWrite subdirectory (the same directory that contains Editor, i.e. EDITOR.EXE, XWEXE.EXE, or NOTABENE.EXE), then read (please!) the README (including Quick-Start Instructions for current U2 users), as well as REG-READ.ME (in the ZIP file), before proceeding. Installation should take less than fifteen minutes. You can readily integrate (append) your own programs into XyWWWeb’s U2. A dynamic programming library like XYWWWEB.U2 is blazingly fast, concise, and much easier to use than standalone programs. You never need to remember a RUN filename, or a LDPM or LDSGT keystroke. U2 is always available, adaptable, and incredibly powerful. Try it and see for yourself.


This XyWWWeb page is emphatically unaffiliated with The Technology Group, the owner and publisher of XyWrite, SmartWords, and other products and their associated trademarks, or with Nota Bene, the owner and publisher of the Nota Bene word processor and related products and their associated trademarks.

Please note that we do not provide technical support for XyWrite or Nota Bene. Requests for help with XyWrite should have been directed to The Technology Group before it went belly-up. Now your only hope is the XyWrite Discussion Mail List. For help with Nota Bene, read Nota Bene’s Support Policy.
Big Print

All files located at this site are freely distributable, unless otherwise noted. We assert a copyright over any program of which we are jointly or separately the author. Any program written by Carl and/or Robert must be distributed intact and unaltered. THERE ARE NO WARRANTIES WHATSOEVER; YOU ASSUME ALL RISKS. Those risks are real. These programs may not be adequately documented, they may not work with your setup, they may not be transparently easy to use (especially if you are a novice or unskilled at XPL programming), and some of them are experimental, unfinished, and/or buggy. We offer them, as-is, as a service and a stimulant only. We are willing to give limited support (for our programs only) on request, but only insofar as it encourages you to start programming / adventuring / configuring on your own. Criticism and suggestions are really important to us; don’t be shy, drop us a line.

Please read before proceeding

Software Requirements and Technical Support for All XyWWWeb Programs:

1) XyWrite IV for DOS, XyWrite for Microsoft Windows v3.x, or NotaBene for Windows. XyWrite III+ lacks the power & flexibility of XyWrite IV for DOS. We knew 3+ inside-out and we know 4 even better. There’s no comparison. We do not provide support to 3+ users. Our preferred WP is XyWrite IV for DOS. For complete compatibility, upgrade to the latest maintenance release (v4.018) — or install it for the first time. XyWrite for Windows v4.13 is buggy, but it’s also powerful, and if your workplace needs to be modern, it’s a choice (NotaBene for Windows is a better choice). Be aware, however, that performance of many XyWWWeb programs on the XyWin|NotaBene platforms is erratic. We are not prepared to resolve all XyWin|NotaBene problems, but we’d like to hear about them.
We continue to evaluate NotaBene for Windows for XPL compatibility. Based on the testing we have done so far, and on reports from Nota Bene users, many if not most XyWWWeb programs work very well under NBWin.

2) XYWWWEB.U2 must be installed. Download it here and read the instructions in XYWWWEB.TXT. XYWWWEB.U2 (known informally as “U2”) is an integral part of the XyWrite Help system. It extends the power of your word processor by means of XPL (XyWrite’s amazing programming language). See PARSEFRM.DOC for full information about the Help system, and the underlying considerations that XYWWWEB.U2 addresses (there are many excellent reasons to organize XyWrite programming using the U2 Help system, and virtually no drawbacks). XYWWWEB.U2 installs quickly & painlessly. We do not provide support if XYWWWEB.U2 is not installed.

3) Important:  Configure your browser so that links to files with extension .ZIP  cause those files to be Saved to Disk, not displayed by the browser.

4) How to MErge new program frames into your preexisting U2 Help file. Skim this important info

5) The XyWWWeb FAQ. “What To Do When Programs Don’t Work Out-of-the-Box”. Weep, then consult our in-process pharmacopoeia (Rev.11/22/97)

Glossary of Terms and Symbols

Components of XYWWWEB.U2

Character Identification, Conversion, and Balance

Command Manipulation

Common Resources (mostly associated with Programming, Math, etc.)

The “Common Resource” frames are usually called from other programs, but can also be run independently, e.g. to perform on-the-fly calculations or conversions. They are distributed throughout this page, with the notation “(Common Resource)”. The instructional Help frame shared by all these routines is HELP COMMON or HELP COMRES<Helpkey>.

Directory and File Management

DOS- and Windows-specific programs




Information and Documentation

Internet, LANs, and HTML

KeyBoarD File

Legal Tools

Math and Science

Operating System Management

OS/2-Specific Programs

Printing (PostScript, Etc.)

Programming (XPL)

  • WEEKDAY: Display current weekday|date|time on PRompt line

  • New!> CAD,CAD/*,STE,ENCRYPT,DECRYPT: CAll and Decrypt|STore and Encrypt files; Encrypt|Decrypt files from|to disk
  • DEC: Generic decode command Automatically detects the type of encoding (Base64, Quoted-Printable or XPLCODE) and decodes accordingly
  • New!> ENC,ENCB,DEC,ENCO,DECO,QPENC,QE,QPDEC,QD Encode|Decode with XPLNCODE or Quoted-Printable (AutoIt)
  • B64D,B64E: Base64 encode|decode via Windows (certutil.exe)
  • BD,BE: Base64 encode|decode via DOS (Karl Hahn's MIME.COM)
  • DECODE: XPLDCODE.PM v2.0b Native XPL DeCODE for E-mail
  • ENCODE: XPLNCODE.PM v2.0c Native XPL eNCODE for E-mail
  • FIXHELP: Bug fix for XPL in XyWin and NBWin
  • New!> HEXENC, HEXDEC[/NV]: Encode file|DeFined block to 2-digit hexadecimal bytes [HEXENC]; decode HEXENC output back to original [HEXDEC]. HEXDEC/NV saves output to disk without MErging it into a XyWrite window -- for decoding binary files
  • HEXDUMP, SCREENDUMP, HXD: Display hex dump of file, DeFined block, or current screen (uses Maël Hörz’s excellent HxD hex editor if HxD.exe is present in Editor’s directory; otherwise uses hexdump.exe, included in XYWWEBU2.ZIP)
  • HEXENCODE,HEXDECODE: Convert DeFined text to|from HTML hexadecimal codes
  • QPD*: Quoted-Printable Decode
  • QPE*: Quoted-Printable Encode
  • SHORTSTK: Save Stack
  • New!> U2ENC,U2DEC Inline Encrypt|Decrypt for XyWrite files|text files using 128-bit IDEA encryption
  • XMUC: Moronic Native XPL UuenCode
  • XMUD: Moronic Native XPL UuDecode
  • XMXC: Moronic Native XPL XxenCode
  • XMXD: Moronic Native XPL XxDecode
  • XYENC,XYDEC,XYENCODE.PM: Wally Bass’s XYENCode/XYDECode Utilities with XPL “front end” for Xy3+/Xy4/Nota Bene for Windows. Fast encoding/decoding of XPL programs for E-mail. Download XYENC.ZIP here; unzip all files into the directory that contains EDITOR.EXE (in Nota Bene, into the directory that contains SWSYS.DLL). See the ReadMe for usage instructions.

  • ALLFUNCS: Write all valid XyWrite 3-byte functions
  • CMFUNC: Put function on CMline in true form
  • FNSE: SEarch forth-and-back for function
  • FUNCARRAY: Save an array of all funcs to S/G 50
  • FUNCARRAYMN: Save a compact array of all func mnemonics to S/G 50
  • FUNCTIONS Table of functions (with current «VA_func» assignments, i.e. the actual key in KBD file to which function is assigned, if any). Command: TABLE FUNCTIONS
  • FUNCTABLE: Generate a table of all funcs (S/G 50 Out)
  • FUNCTEST*: Test for valid 2-char function (formerly FTEST)
    Output in S/G 50; «SV50,1»=legal func; «SV50,0»=not a func
    FuncTest/NV suppresses PRompt on EXit
  • KEYSTROKES: List current .KBD assignments for functions
  • PFUN: Insert real 3-byte function, either in Text or on CMline
  • PFUNC: A slicker PFUN command, with support for multiple funcs, backspace editing, and real (3-byte) funcs on CMline
  • TYFUNC: Execute functions by typing their 2-character mnemonic names
  • UNKCODE: Convert keyboard-file code to XPL (cf. KCODE)

    Help Frames:
  • *: TRAPNAME traps nonexistent framenames in any Help file, e.g. U2. This frame must be the last frame, at the end of the Help file. Don’t use in U2 with Command Override|Customization (it can’t coexist)!
  • FLIST: List Help frames called in any XPL file (fast!)
  • HELP,LINK,BACK: Locate help frame, or search for topic, in XYWWWEB.INF, with safety net for non-existent frame|search_$tring. Also execute a XyperLink, and then (optionally) jump BACK
  • HF: Put Help Frame template
  • HLIST: Generate a sorted list of frame names in the loaded U2 file or any Help file. Optionally, limit list to frame names containing a string or matching a regular expression. Indispensable
  • LOADAS: Load current file as a Help file of any type (DG|HL|U1-U9). Convenient for testing Help routines
  • New!>HLP,LNK,BAC: Pared-down variants of HELP,LINK,BACK
  • LOADHELP,LH: SAve and LOAD Edited (Altered) Help file (DG|HL|MN|U#). Critical for editing U2 under Xy4-DOS and NBWin
  • NABFRM*: Help frame locator
  • NXF: Go to next (NXF) or previous (NXF B[ACK]) frame in Help file
  • SETUV*: Assist user to set User Variable(s) in XyWWWeb.U2
  • SORTFRAMES: Sort Help frames; locate duplicate frames
  • USEANY,DG,HL,U#: Pass arguments to and run frames in any loaded Help file (syntax: framename[ arg[,arg...]])
  • USERVARBACKUP,UVB: Backup User-Variables in Help File. Automatically maintain your personal User Variable settings when you update XYWWWEB.U2 versions
  • USERVARRESTORE,UVR: Restore User-Variables in Help File
  • New!> XLINK: Compose a XyperLink in a separate window; command XLINK<Helpkey> again to insert it in text

  • New!> AUKEY: Put AutoIt key names by pressing keys
  • BALPAIRSOFNT: Check for balanced pairs of «NT1» and «NT0»
  • CASG: Call contents of any Save/Get (a/k/a text macro) into an editing screen
  • New!> CHKCrLf: Check for stray CrLfs in XPL code («CP» to End_of_File)
  • CHKSEQ: Check sequence and usage of numerical Save/Gets in XPL code
  • DOEND: Check for Balanced DO|SELECT...END pairs in Rexx scripts
  • ERRCODE,ERR: Recall most recent error code|Obtain error message associated with any numerical code|Search error messages that contain a specified string|List all status messages
  • FUNCTEST*: Test for valid 2-char function (formerly FTEST)
    Output in S/G 50; «SV50,1»=legal func; «SV50,0»=not a func
    FuncTest/NV suppresses PRompt on EXit
  • HILITELB: View LaBels|Go_Labels in PMs in Colors
  • IFENDIF,IFEI,IFEI2: Check for Balanced «IF...«EI» pairs in XPL PMs, with option to display structured (indented) listing of conditional nests. An extremely useful programmer’s tool
  • ITER*: ITERATE.PM Time multiple iterations of DeFined XPL code|Test speed of alternative coding methods
  • KEYCODE: Press any key and get its Key number («VA$KC»)
  • LISTSAVS: Table all current initialized permanent Save/Gets #|@|&
  • New!> MRI: View a list of Save/Get contents 01-999 on EXit from an XPL program (debugging tool). Cf. XRAY
  • POS: Put current CursorPosition on CMline, for later JuMP (return) to «CP». Handy little utility
  • SCAN*: Press any key and get its SCan code («VA$SC»)
  • SGDIAG: Save/Get [Macro] Diagnostics (enhancement of DLG frame “MacroDiag”)
  • SHOW3: Show underlying characters of 3-byte string
  • SK: Enhanced func SK to show one S/G in range 0-9|A-Z or 100-1999
  • SPECIALLISTS: List internal system "?xx" variables: AG AR AS BO CA CD DB DC DR DZ FO FN FR GR IG JR MA MT PC PP PR SB SD SG SK SP SS ST SZ WI WP (normally accessible only via DLG K-frames)
    • SPCLLST: Get one internal system "?xx" variable
  • SYNTAX: Check syntax and guillemet balance of current file
  • TLOOPS: Timed-loop benchmark tests for Xy4|XyWin
  • TRUE*,EXIST: Test truth of XPL statement or EXIST statement on CMline
  • USURP,USURPB: Identify smallest “ordinary” Save/Get available for use by the currently-executing XPL routine. Identifies an uninitialized or empty Save/Get if available (S/G 50 out).
  • V3: View components of 1-, 2-, or 3-byte character under cursor
  • XRAY: Report runtime content of Save/Gets. A sophisticated program debugging tool (Cf. XPOLL)
    • XPOLL: XRAY variant that lists contents of Save/Gets after a program runs. Works without modification of subject code
  • SHOWSG01: Display contents of Save/Get 01

    Save/Get Manipulation:
  • CLEARSGTS: Clear Save/Gets specified Individually and/or in Ranges, with optional eXclusions [S/G 50 In]
  • DECLARESGTS,DECLSGTS: Declare (Initialize) Save/Gets specified Individually and/or in Ranges, with optional eXclusions [S/G 50 In]
  • GETPATH: (Common Resource) Put “d:\path” of directory|filespec|VAriable in S/G 50
  • GETSVGET,GETSV: Reveal the content of a Save/Get
  • GRABDFVA: Grab default value from loaded SETTINGS file
  • GT,PV,SU,SV,SX: Execute XPL commands GT|PV|SU|SV|SX from CMline
  • HIDE:*,AUTOHIDE: “Hide” S/G contents in S/G 739. Prevent child processes from overwriting specified Save/Gets. AUTOHIDE automatically HIDEs Initialized Save/Gets in Transient Ranges 01-49,51-99
    • UNHIDE: Restore hidden S/G values (LIFO)
    • HIDEDEMO: Demo for HIDE|UNHIDE frames
    • CACHE:*,UNCACHE:*: “Cache” or Retrieve S/G contents to|from disk (helpers for HIDE/UNHIDE; prevents Out-of-Memory)
  • HILITE: View S/G numbers in PMs in Reverse_video
  • LDNB: Emulate LDPM in NBWin XPL (syntax: filename,S/G)
  • LDPMDEF,LDF: LDPM DeFine blocks to a key or “ampersand” Save/Get
  • MAKE3BYTER,M3: Generate any conceivable 3-byte char. A companion program to PUTCHAR
  • New!> MRI: View a list of Save/Get contents 01-999 on EXit from an XPL program (debugging tool). Cf. XRAY
  • MSG:*: “Make Save/Gets” concatenation tool
  • NAME2NUMBER: Translate Named to Numbered Save/Gets. Write your programs with named Save/Gets, e.g. «SVgreeting,Hello», then automatically translate discursive names to executable numeric form, e.g. «SV01,Hello»
  • NIL: NoOp frame, useful for reducing size of Save/Get memory buffer, esp. “Special” [internal] S/Gs *26, *27, *29
  • RANGE: Create table of Save/Gets [and eXclusions], specified Individually and/or in Ranges (nnn,nnn-nnn,...), with optional eXclusions (...,Xnnn,Xnnn-nnn,...) [S/G 50 In/Out]
  • REGDATA*: Fetch Data Spec (User Variable) from XYWWWEB.REG, the XyWWWeb REGistry file
  • REGEDIT*: Edit | View | Check integrity of XYWWWEB.REG. Also jumps from U2 to the REG
  • New!> REGVAL: View current value of XYWWWEB.REG user variable.
  • SEELDSGT: Display LDSGT library as ordinary file
  • STORESGT: Store|Restore Save/Get Contents to|from Disk
  • SVFILE: SaVe file contents as string to programming (01-1999) or “ordinary” (0-9|A-Z) Save/Get
  • TABLEOF256CHARS,MASC*: (Common Resource) Put complete 1-byte Ascii charset 0-255 in S/G 628, for use in XPL
  • TRIOVARS: Save common S/G values for TRIO frames
  • XRAY: Report runtime content of Save/Gets. A sophisticated program debugging tool (see also XPOLL)

    VAlues and VAriables
  • AE*,EXPAND*: Expand VAriable statements, Save/Get contents and user-created abbreviations for use on the CMline
  • ALLVAS: Put all valid VAs pertaining to current file (3+,Sig,4,Win) at EOF
  • ARRAYVA: Create VAriable Array. Creates (if valid) «VA{1}{1}»,«VA{1}{2}»,«VA{1}{3}»...«VA{127}{127}»
  • ARRAYVADIR: CreateVAriableArray within a directory. Creates (if valid) VA{1}{1},VA{1}{2},VA{1}{3}...VA{127}{127}
  • KEYCODE: Press any key and get its Key number («VA$KC»)
  • SCAN*: Press any key and get its SCan code («VA$SC»)
  • SIZ: Change "@SIZ(«ISnnnn»)" to "«VA|nnnn»"


  • ADDWD,DELWD: Add|Delete word under cursor (or DeFined list of words or word pairs) to|from the loaded SPell file
  • ASPELL,ASP: SPELL with non-English Microlytics or PCLEX Dictionaries under ANSI (NBWin|ANSIfied Xy4-DOS)
  • New!> ASPL: Spell-check with Aspell
  • GOTHES: Handler for PCLEX and Microlytics Thesauri. Works around numerous spell-system bugs, to prepare current file for thesaurus lookup
  • PCLEXSPL,PS: Toggle PCLEX Dictionaries
  • Roget International Thesaurus (Crowell, 1911), plus XyWrite Dictionary Lookup Engine. The Project Gutenberg Etext, programmed for Xy4|XyWin|NBWin
  • Roget Thesaurus Lookup Engine for III+|NotaBene v3|v4.x
  • Toggle between Microlytics and PCLEX multilingual thesauri/spellers. Includes improved PCLEX thesaurus frame. A complete package of homebrew .U2 and .DLG frames for Xy4DOS and Signature (and possibly XyWin and NBWin), but not including PCLEX dictionaries, which were supplied in national Sig distributions (scan your disk for filenames *.DIC), and are available as freeware from IBM in 27(!) different flavors: Catalan, Czech, Danish, Dutch (permissive spelling version), Dutch (restrictive spelling version), Dutch (South African Afrikaans version), English (Australia), English (United Kingdom), English (United States), Finnish, French (Canada), French (National), German (National reform; lacks thesaurus, whereas old non-reform version has thesaurus capability), German (Swiss), Greek, Hungarian, Icelandic, Italian, Norwegian (Bokmal), Norwegian (Nynorsk), Polish, Portuguese (Brazil), Portuguese (National), Russian (DBCS, apparently no thesaurus), Spanish, Swedish, and Turkish (alternate FTP site). PCLEX spellers/thesauri — alternatives to the default Xy4-DOS Microlytics wordlist, which still can be used alongside them — require four special DLLs for operation under Xy4-DOS, and one special DLL under XyWin, SmartWords, or NotaBene for Windows (PCLEX spellers do not work with Xy3). For information and installation information, see SPELLERS.DOC, inside this SIG_THES.ZIP package.
    N.B.: Fatal problems with PCLEX dictionaries operating under NBWin are apparent, and require further investigation.
    Author’s Query : If you own, or know of, additional Microlytics dictionaries (apart from US English, UK English, German, French, Italian, and Catalan), please drop me a note!
  • SPLPREP: Prepare current file for PCLEX spelling
  • TOGGLEDCT,TD: Toggle Microlytics and PCLEX spellers


    • AE*,EXPAND*: Expand VAriable statements, Save/Get contents and user-created abbreviations for use on the CMline
    • ALARM (Rexx): Set Alarms|Reminders from CMline (requires XyShell)
    • New!> ALRM (AutoHotKey): Set Alarms|Reminders from CMline (requires installed AutoHotKey or AHK.EXE in Editor’s directory; AHK.EXE is included in XYWWEBU2.ZIP)
    • BANNER,B2: Screen Saver with configurable message (requires XyShell)
    • BLANK: Blank the screen, with optional message & password
    • BLANK2: Blank the screen, with optional moving message (no phosphor burn) and/or password (requires XyShell)
    • CAL: Display a pop-up CALendar of any month. CAL defaults to display the current month (today is highlighted); argument “mm/[yy]yy” displays any alternate month in range AD 1583-9999 (year defaults to "[20]yy")
    • DAYSPAST: Calculate days between two dates in year range 1583-9999
    • DEADLINE,DDL,DAYS,DOW,DOW/NV,DOY,DOY/NV,JDN,JDN/NV: Date Calculator v2. Days to/from dates|Days between Dates|Day of Week|Day of Year
    • DIAL: Telephone Dialer for Voice Calls. DIAL.PM v2.1h for Xy4|XyWin. Dial Number at CursorPosition. Added: fine-tuned defaults; a DOS|OS/2 switch; REDIAL.PM rewritten for greater flexibility and more accurate timing. Employ in .KBD file thus: nn=NOJM,(,2,.,P,r,s,K,b,d,A,r,g,),d,i,a,l,NO
      • REDIAL: ReDial a number repeatedly until you manually BreaK (Ctrl-Break|Ctrl-Pause|Ctrl-ScrollLock)
    • DS: Put date-time stamp in form [yyyy-mm-dd=DoW=h:mm]
    • DUMPEM,DUMPFN: List contents of footnotes and other embedded commands (LB|NT etc.) to UNTITLED screen
    • END: Go to EOF and ‘disappear’ the text. Put [optional] password in «SV01,pw»
    • Undocumented Freestanding Use of Word-4-Word Text Conversion Filters [listed herewith] distributed with Xy4-DOS. Permits conversions between formats without using XyWrite (or even XyWrite documents). N.B.: Enables easy conversion between Xy3(+) and other formats. Instructions+Necessary Links
      Note that, until 2000, additional and/or newer filters were available (free) from Hungarian institutional server ftp://ftp.iif.hu/, including HTML, Rich Text Format, WordPerfect v6.1, and MSWord for Windows v7.0 (which generates excellent MSWord v8.0-compatible output), as well as the newest XyWrite formats. Many XyWrite users possess these filters, which were provided in both .EXE (Xy4-DOS) and .DLL (XyWin) formats.

      To employ these filters successfully, we strongly recommend that you follow the detailed instructions for DOS-only use, i.e. that you NOT use XyWrite Menus for either export (the “Save As” method) or import, because lack of available memory incapacitates these filters
    • GETXYOS: Make your XyWrite set-up OS-aware! This essential XPL utility identifies the operating system to XyWrite, enabling programs to branch intelligently in a multi-OS environment
    • HOLIDAYS,HOL.CA,HOL.US,HOL.??: List U.S.|Canadian|other holidays (dates and days of week) for any year
    • LIST.COM from Software@Buerg Computers. The classic DOS file viewer, by Vernon D. Buerg (shareware). Indispensable, period.
    • LIST,LIST2,HV,VW: LIST|HyperView|[any file viewer] DF block, screen or file, DIRlist file, or @SaveGet#
    • LOG,L: Record time-stamped text entries from the command line
    • New!> METRIC: Convert MM CM MeTer KM/DI IN FT YD MI|LiTer/ON(fluid) PT QT GaL|GM KG/OZ LB ToN; “metric/” inserts value at cursor position
    • MINITRUE: Powerful DOS Search/Replace Utility. A freeware hybrid of grep, sed, more/less. Multiple files. Bells & whistles galore, great for your toolkit.
    • XyWWWebsite: Oxford English Dictionary (OED) on CD-ROM in a 16- or 32-bit Windows environment: Hard-disk installation, bugs, word processing macros, networking, fonts, etc.
      U2 interfaces for the OED:
      • DDEOED: Lookup DeFined word in the OED. For XyWin only
      • OED: Launch an OED definition inquiry (Xy4+, NBWin; OS/2 requires XyShell)
      • OEDDOS: Launch an OED definition inquiry (Xy4+, NBWin)
    • PORTABLE.PM (ZIP archive - 3KB): Freestanding (RUN-style) program that creates path-free versions of your STARTUP.INT and SETTINGS.DFL files, enabling a “portable” XyWrite setup that can be copied to any directory without the need to modify path statements in these two key files. For XyWrite 4 (DOS). (Download ZIP file here. [screenshot])
    • POSTAGE: Calculate U.S. domestic 1st-class postage
    • POSTAGE2: Calculate domestic postage worldwide
    • RHUD: Xy4DOS Interface for the Random House Unabridged Dictionary of the English Language, Second Edition. RHUD.PM, for Xy4-DOS only, looks up the word under the cursor, or the first word on the command line (if XyWrite’s cursor is on the CMline); RHUD pops up over the Xy4 screen. RHUD.PM works with the first edition of the R.H.U.D. CD-ROM, CDRM1097300, 1993, “Version for Macintosh, DOS, and Windows”, originally bundled with hardcover copies of “R.H.U.D., 2nd Edition” (check your used bookstore — this is an eye-popping adjunct to XyWrite); RHUD.PM does not work with subsequent MSWindows-only CD-ROMs of R.H.U.D., which were both bundled and sold separately
    • ROGET: Roget’s Thesaurus (1911, but still great). Generic Lookup Engine for Roget Thesaurus, q.v.
    • SETSLEEPRATE: Set 1-second counter value for pause|sleep
    • TIMER: Use XyWrite’s built-in stopwatch function
    • TIME: Get the local time in over 150 cities around the world
    • New!> VANE: Get plain-text weather reports from 9,000+ locations worldwide
    • New!> VER,VER/R: Report DOS version information on PRompt line. VER/R reports extended DOS version information in vDosPlus
    • WEATH*,MAP: Get weather|map for any lcation via Google
    • XST*: XSTREET: Manhattan cross street locator
    • XyLite Emergency Word Processing System. Patch a real system together from the Internet
    • YEAR: Display a pop-up calendar of any 12-month period. YEAR defaults to display the next twelve months; argument "[m]m/[yy]yy" displays any alternate 12-month period in range AD 1583-9999, commencing from the specified month (year defaults to "[20]yy")
    • ZIPVIEW*,ZV*: View ZIPfile internal directory, then Read|List|eXtract|Save constituent file

    XyWrite System Management

    • CASG: Call contents of any Save/Get (a/k/a text macro) into an editing screen
    • COLROW: Change columns,rows of DOS text-mode display (options are 80,25 80,43 80,50 132,25 132,43 132,50)
    • COLROWUV: Change columns,rows of Ultravision text-mode display (options are 80,25 80,36 80,50 80,63 94,25 94,36 94,50 94,63 108,25 108,43 120,25 120,43 132,25 132,44)
    • DEL26: Delete the first 1Ah|Ascii-26|Control-Z|“EOF” character from current text file. Delete a single Ascii-26 encountered anywhere in a file, replacing it with an Ascii-5 (spade symbol). Use sequentially to remove all Ascii-26s from a file. Ascii-26s usually prevent XyWrite from displaying any subsequent text
    • ZAP26: Zap terminal 1Ah|Ascii-26|Control-Z|“EOF” from current text file. Eliminate the end-of-file character (and delete all text between Ascii-26 and true EOF); tiny and fast!
    • ZAP1A,ZAPPR: Same as ZAP26; uses ZAP1A.A3X (AutoIt script)
      • SA: SAve file without Ascii-26 EoF marker (uses ZAP1A.A3X)
    • ZAPEoF: Same as ZAP26; uses ZAPEoF.EXE
    • DMFONT: Set NBWin eXPanded [Codes], Draft, and Page-Line Mode to any font, Regular, SZ=18. Fix for NBWin draft font, which is too small. Optional trick installs small characters on CMline, large chars in Text
    • EF!TG: Func EF if cursor on marker, else func TG
    • FILEMENU: CAll a File from a Menu of Filenames. A “favorites” file list
    • FINDFRM: Find frames in DG|HL|MN|U1|U2|U3|U4 by keyword or $tring
    • FINDKEY: Find key assignment(s) in .KBD file for any $tring|func
    • FINITO: Save the Stack, then Quit (For users of STACK.PM Only)
    • FLIST: List Help frames called in any XPL file (fast!)
    • GetDD: Get DeFine Display value: S/G50 In=MD value (cf. TABLE COLOR<Helpkey>), S/G50 Out=«VADD» “GetDD/NV”=no PRompts
    • GOFILEDD,GFD: Set current d:\path to current File|DIR_Display Drive:\Directory
    • GOXYDD,GXD: Set current d:\path to Editor’s Drive:\Directory
    • KEYSTROKES: List current .KBD assignments for functions
    • KILLMEM: Kill unnecessary memory-hog Save/Gets
    • KILLMEM2, $Z: Free up Save/Get memory on the fly (adjunct to KILLMEM)
    • LOADNO: Load a dummy Help file of any type (DG|HL|MN|U1-U9)
    • PRSCMLINE: Pass CMline “framename[ argument[,arg...]]<Helpkey>” to U2. Primary interface between direct keyed input and U2
    • PRSDEFINE: Pass DeFined “framename[ argument[,arg...]]” to U2 from Text. Interface between text file and U2
    • PRSEXE50: Execute S/G 50 as command+args or U2 .framename+args
    • PRSEXECM: Execute CMline as command or U2 .framename. Replacement for func XC:
    • PRSKBDARG: Pass “framename argument[,arg...]NO” to U2 from .KBD file. Interface between KeyBoarD file and U2
    • PATH&FN: Parse Path & Filename into S/G 50
      Input: «SV50,D:\PATH\FILENAME.EXT»
      Output: «SV50,D:\PATH\,FILENAME.EXT»
      Path = «VA@50,1», Filename = «VA@50,2»
    • PRSPRMPT: Solicit U2 “framename[ argument[,arg...]]” via PRoMPT line. Secondary interface between direct keyed input and U2
    • PRSSG50: Pass S/G 50 to U2 as “framename[ argument[,arg...]]<Helpkey>”
    • SCRNREST: Restore exact screen appearance. Input: S/G 50=top_of_screen[HM ]|bottom_of_screen[BS ]|current_CursorPosition, e.g. «SV50,4068|4561|4328»
    • SEELDSGT: Display LDSGT library as ordinary file
    • SETDT: Set VA$DT DisplayType 0|1|2|4|8|9|10|12|16|17|18|20|24|25|26|28
    • SETSI: Write test screen to console for setting SI VAriable. Adjust the width of XyWrite graphical (func WZ) displays
    • SETWZ: Set Graphic View to a single user-specified color
    • SLEEP: Accurate XySleep (cf. Rexx “SysSleep” command)
    • TESTPRS: Test all functions of the “Prs” family of Help frames
    • TG: Enhanced replacement for pure func TG. ToGgle between eXPanded view and the view previously displayed
    • TICKER,TICKER/*: Display a ticker-style scrolling status-line message [DOS only]
    • UND: Set|restore UnderLine. Requires file UNDERLN.EXE in EDITOR directory
    • U2MENU: Create a fixed menu of often-used (or rarely-used!) framenames, commands, etc.
    • USEANY,DG,HL,U#: Pass arguments to and run frames in any loaded Help file (syntax: framename[ arg[,arg...]])
    • XQUIT: Save Stack (if present) and session information (via SAVESESS), then Quit
    [Return to Top of Page]

  • XyWrite III+ (and NotaBene) Files and Programs

    [Return to Top of Page]

    The XyWrite Discussion Group

    We encourage all serious XyWriters to obtain a live subscription to the XyWrite Mail List; there is real strength in numbers. To subscribe to the list, use this form:

    Enter your email address:
    You can also follow the discussion via RSS (drag the link into your news aggregator).

    Please note that on 16 June 2009 the Mail List moved to FreeLists.org. For many years it was hosted by the (now defunct) list server at the Center for Computer Analysis of Texts (CCAT) at the University of Pennsylvania, and managed by Prof. Nathan Sivin. The list is now run by Carl Distefano and Robert Holmgren.


    Use XySearch (http://users.datarealm.com/xywwweb/xysearch.cgi) to locate and read individual Mail List messages and discussion threads in the XyWWWeb Archive, which contains about 23,000 messages concerning XyWrite. Since the first electronic XyWrite forum was established in 1987, a dazzling variety of problems have been aired and usually resolved. Indeed, almost all questions that arise in the course of XyWrite use have already been asked (often many times, and answered in staggering detail), so query the Archives before you query “live”! You still may wish to pursue an issue on the Mail List, but you’ll be much better informed if you peruse these messages first.

    	XySearch homepage (full access to all indices and messages):
    Access an individual message or index directly (from a website, an Email message, etc): http://users.datarealm.com/xywwweb/xysearch.cgi?xywrite/year_or_forum/message_or_index_file e.g. http://users.datarealm.com/xywwweb/xysearch.cgi?xywrite/1997/msg02088.htm
    Query the XySearch engine directly: http://users.datarealm.com/xywwweb/xysearch.cgi?query=keywords&modifiers e.g. http://users.datarealm.com/xywwweb/xysearch.cgi?query=inappropriate+posts&max=100

    Other Archives

    A searchable archive of XyWrite list messages from June 2009 is available at FreeLists.org.
    [Return to Top of Page]

    Other Sites and Sources

  • The Technology Group [TTG] of Baltimore, formerly at http://www.tgrp.com, was the publisher of XyWrite. TTG went out of business on 12 September 2001. If anyone can supply a contact with a former principal of TTG (e.g. Kenneth B. Frank, President), please notify XyWWWeb. TTG was the sole source of official support for XyWrite products
  • www.XyWrite.com: many useful XyWrite-related files, including Y2K-patched versions of Editor, XyWrite 3 and 4 printer drivers, Word-4-Word document format converters, Speedo fonts, Application Notes, and much more
  • Kari Eveli’s XyWrite Utilities, with copious information on running XyWrite in a variety of virtual environments
  • Diane Fisher’s rewarding, XyWrite3-only !xyWise/!xyWiz/!xyWWWiz/PostScript & ... site. Annie knows her stuff: an authentic XyWrite guru, worth a long look. Lots of ideas and idiosyncratic programming; plus XyWrite==>PostScript expertise
  • NotaBene’s Web Page
  • the NotaBene mail list (notabene@h-net.msu.edu). Send one-line subscription requests to listserv@h-net.msu.edu:
      SUB NOTABENE Jane Doe<cr> (use your real name)
    After you send the above message, the listserv will send you an e-mail asking you to confirm that you want to subscribe. To do so, reply to that e-mail with only the word ‘ok’ in the message.
  • A NotaBene Miscellany, a well-organized collection of FAQs, downloads and links maintained by Rick Penticoff and Mary Bernard.
  • The Latin Page: Latin-English, English-Latin lookups, in the great Latin Dictionary, founded on E. A. Andrews’ translation of Wm. Freund’s Latin-German dictionary, “revised, enlarged, and in great part rewritten” by Charlton T. Lewis and Charles Short (Oxford at the Clarendon Press, 1879) [classical Greek, and Italian — and Shakespeare too!]
  • [Return to Top of Page]

    Carl L. Distefano
    Robert J. Holmgren