{"id":16164616,"url":"https://github.com/johnsonjh/vedit","last_synced_at":"2025-10-27T12:09:54.819Z","repository":{"id":255564271,"uuid":"850518665","full_name":"johnsonjh/VEDIT","owner":"johnsonjh","description":"VEDIT ⧸ VEDIT‑PLUS for CP/M V2.33b (04/27/87) source code","archived":false,"fork":false,"pushed_at":"2024-09-09T08:06:08.000Z","size":49528,"stargazers_count":23,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-17T00:34:41.030Z","etag":null,"topics":["8080","cp-m","cpm","cpm-80","cpm-86","cpm80","cpm86","dos","editor","teco","text-editor","vedit","vedit-plus","z80"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnsonjh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T02:19:33.000Z","updated_at":"2025-03-05T20:52:50.000Z","dependencies_parsed_at":"2024-10-27T19:28:32.976Z","dependency_job_id":null,"html_url":"https://github.com/johnsonjh/VEDIT","commit_stats":null,"previous_names":["johnsonjh/vedit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2FVEDIT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2FVEDIT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2FVEDIT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonjh%2FVEDIT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnsonjh","download_url":"https://codeload.github.com/johnsonjh/VEDIT/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244325056,"owners_count":20435031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8080","cp-m","cpm","cpm-80","cpm-86","cpm80","cpm86","dos","editor","teco","text-editor","vedit","vedit-plus","z80"],"created_at":"2024-10-10T02:47:16.612Z","updated_at":"2025-10-27T12:09:49.766Z","avatar_url":"https://github.com/johnsonjh.png","language":"Assembly","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VEDIT ⧸ VEDIT‑PLUS for CP/M\n\n![VEDIT](img/2D596C6C-0224-4CD0-9BAF-5FF0FD0CB9A0.png)\n\n```\nCOMMAND: EV\nVEDIT PLUS Ver. 2.33b 04/27/87\n```\n\n## Table of Contents\n\n\u003c!-- toc --\u003e\n\n- [Overview](#overview)\n- [Introduction](#introduction)\n- [Building](#building)\n  - [Cross-development](#cross-development)\n  - [Build Example](#build-example)\n  - [Configuration Example](#configuration-example)\n- [Extras](#extras)\n  - [Older Source Code](#older-source-code)\n  - [Older Binaries](#older-binaries)\n- [Future](#future)\n- [License](#license)\n- [Documentation](#documentation)\n  - [Manual Source Code](#manual-source-code)\n  - [Older Manuals](#older-manuals)\n- [Links](#links)\n- [See Also](#see-also)\n\n\u003c!-- tocstop --\u003e\n\n## Overview\n\nThis is the source code for **VEDIT** ⧸ **VEDIT‑PLUS** for CP/M,\nversion 2.33b (04/27/87), the commercial text editing system and\n(TECO-derived) text-oriented programming language, produced by\nTheodore Green and Greenview Data Inc. (formerly CompuView Products,\nInc.) of Ann Arbor, Michigan.\n\nThis incarnation of VEDIT was created in 1979 and was commercially\nsupported until 1988 (when it was superseded by VEDIT 3.x) and is the\ndirect predecessor of the current [VEDIT](https://www.vedit.com/)\nproduct available from VEDIT, Inc.\n\nThis VEDIT ⧸ VEDIT‑PLUS source code can be assembled to produce\nbinaries compatible with various processors (8080, Z80, etc.) and\noperating systems (CP/M, MP/M, CDOS, etc.).\n\nHistorically, compatible VEDIT ⧸ VEDIT‑PLUS versions were adapted to\nrun on nearly any CP/M‑80, MP/M‑80, CDOS, CP/M‑86, MP/M‑86, Concurrent\nCP/M‑86, REAL/32, SCP 86‑DOS, MS‑DOS, MSX‑DOS, Cromix, Turbo DOS, and\nPC‑MOS/386 system.\n\nLater versions were available for CP/M‑68K, IBM 4960/FlexOS, IBM OS/2,\nUNIX/Xenix, QNX, and Microsoft Windows (both 16-bit Windows 3.1 and\n32-bit Windows 95/NT).\n\nCompanion programs (*i.e.* V‑PRINT, V‑SPELL, V‑COM, Z80‑8086\nTranslator, etc.) were also produced.\n\n## Introduction\n\n(*from the VEDIT User's Manual*)\n\nVEDIT is an editor designed to take full advantage of a CRT display\nto make your word processing and program development editing as fast\nand easy as possible.  VEDIT's \"Visual Mode\" offers true\n\"What-you-see-is-what-you-get\" type editing, which continuously\ndisplays a region of your file on the screen and allows any changes\nmade to the screen display to become the changes in the file.  You\ncan change the screen display by moving the displayed cursor to any\nplace in the file and then typing in new text or typing an edit\nfunction key.  These insertions, deletions, and corrections are\nimmediately seen on the screen and become the changes to the file.\n\nYou can also perform the common word processing operations of\nwrapping words at the end of lines and formatting paragraphs between\nright and left margins.  It is easy to print any portion of the text\nbeing worked on. Horizontal scrolling allows editing of very long\nlines.  Ten scratchpad buffers may be used for extensive \"cut and\npaste\" operations.  Powerful search and selective replace operations\nsimplify editing.  Other features, such as automatic indenting for\nstructured programming languages, simplify and enhance program\ndevelopment editing.\n\nVEDIT also provides a very flexible and powerful \"Command Mode\",\nwhich serves the dual purpose of separating the less commonly used\nfunctions from the \"Visual Mode\", and of making VEDIT a text oriented\nprogramming language.  Repetitive editing operations can be performed\nand blocks of text may be copied or moved within the current file and\nother files in an almost unlimited manner.  The extensive file\nhandling allows multiple files to be edited, split, and merged, other\nfiles to be viewed, and specified portions of other files to be\nextracted.  The command macro capability allows complex editing tasks\nto be performed automatically.  Examples of such tasks include\nnumerous search/replace operations on multiple files and source code\ntranslations.  The command macros can be saved on disk for future use.\nOnline help is available.\n\nYou can edit files of virtually any size with little concern over the\nactual size of the files.  You can also recover from common disk\nwrite errors, such as running out of disk space, by deleting files or\ninserting another disk.\n\nSince so many different hardware configurations, keyboards, editing\napplications, and personal preferences exist, VEDIT is supplied with\na customization (installation) program in order to let users create\nversions of VEDIT which are most suitable to their hardware,\nkeyboard, applications, and preferences.\n\n## Building\n\nCurrently, the full VEDIT‑PLUS (both Z80 and 8080) CRT\nconfigurations, along with the TRS‑80 Model II variants, have been\nbuilt and tested.  The Pπceon V‑100 memory mapped video variant has\nnot yet been tested.\n\nVEDIT ⧸ VEDIT‑PLUS is built using either the\n*Technical Design Labs, Inc.* Z80 Relocating/Linking Disk Assembler\n([*TDL ZASM*](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/TDL_ZASM.pdf))\nversion 2.21 (1978), or the\n*Phoenix Software Associates Ltd.* Macro Assembler\n([*PSA PASM*](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/PSA_PASM.pdf))\nversion 1.0 (1980).\n\nThe VEDIT ⧸ VEDIT‑PLUS sources are closely integrated with the TDL\nZASM ⧸ PSA PASM conditional build system, and rely heavily on the\nfeatures and quirks of these particular assemblers.\n\nTDL ZASM ⧸ PSA PASM, by default, outputs diagnostics to the CP/M\n`LIST` device, usually a line printer.  Be sure to have a list device\nconfigured and online if you need to examine the assembler output,\nor specify the appropriate options to generate a `PRN` file on disk.\n\n*Be aware that TDL ZASM ⧸ PSA PASM make minimal distinctions\nbetween non-fatal warnings and fatal errors in the build summary.\nSome (non-fatal) errors currently occur and are not of major concern.\nDetermining the actual error severity requires carefully examining\nthe output sent to the list device.*\n\nThe HEX output produced by these assemblers can be directly converted\nto an executable COM file using the `HEXCOM` utility.\n\nFor Z80 variants, the final (configured) executable can be reduced\nin size by about 25% while remaining directly executable using the\n`POPCOM` compressor.\n\n* Working versions of these tools are included in the [`dev`](dev)\n  directory of this repository for convenience — they are *not* an\n  official part of any VEDIT ⧸ VEDIT‑PLUS source distribution.\n\n### Cross-development\n\nThe following cross-development tools are highly recommended:\n\n* **ccom** is a cross-platform CP/M‑80 2.2 emulator *that supports\n  easily redirecting the list device output to a file*, suitable for\n  running the `ZASM`, `PASM`, and `HEXCOM` programs on a UNIX-like\n  host.  It is available as part of the\n  [Portable MINCE](https://github.com/johnsonjh/pmince) repository.\n\n* [**cpm**](https://github.com/jhallen/cpm) is *Joe Allen*'s portable\n  CP/M‑80 2.2 emulator.  Although it does not support saving the list\n  device output, it's `BDOS` simulation makes it suitable for running\n  the `POPCOM` executable compressor.\n\n* [**tnylpo**](https://gitlab.com/gbrein/tnylpo) is yet another\n  CP/M‑80 2.2 emulator, written by *Georg Brein*, with excellent\n  compatibility and curses-based VT‑52/VT‑100 terminal emulation.\n\nFull system simulators (*e.g.*\n[Z80PACK](https://www.icl1900.co.uk/unix4fun/z80pack/),\n[Open SIMH](https://opensimh.org/),\n[YAZE‑AG](https://www.mathematik.uni-ulm.de/users/ag/yaze-ag/), etc.)\nare also available and useful for cross-development.\n\n### Build Example\n\n```\nV\u003ePASM VEDPLUS.ASM\n\nPSA Macro Assembler [C12011-0102 ]\nC. 1980 by Phoenix Software Associates Ltd.\n\nVEDIT (0) or VEDIT PLUS (1) ?: 1\n\nFull version, Z-80, CRT           (1)\nFull version, Z-80, Memory mapped (2)\nFull version, 8080, CRT           (3)   note:Versions 1-8 have I/O polling\nFull version, 8080, Memory mapped (4)        set on and org. @ 0000H. CRT\nMini version, Z-80, CRT           (5)        versions are 24X80 while MEM\nMini version, Z-80, Memory mapped (6)        mapp`d versions are 16X64.\nMini version, 8080, CRT           (7)\nMini version, 8080, Memory mapped (8)        CRT emulation is always ON.\nFull version, Z-80, Model II, P\u0026T (9)\nFull version, Z-80, Model II, Gen (10)\nFull version, Z-80, Piiceon @ 90H (11)\nOther version made to custom specs.(12)\n       enter a version number (1 to 12) : 3\n\nINCLUDE PRINT FORMATTER? (0=NO) (1=YES): 1\n\nINCLUDE WINDOWS? (0=NO) (1=YES): 1\n\nDEMO VERSION? (0=NO) (1=YES): 0\n\nDEVELOPMENT VERSION?  (0=NO) (1=DEVELOPMENT) (2=ALPHA) (3=BETA): 0\n\nPRODUCE LISTING?  (0=NO) (1=YES) (2=CUSTOMER PATCH ONLY): 0\n\nVEDITT3\nVEDITIO\nVPLUSB1\nVEDITF1\nVEDITF2\nVEDITC1\nVPLUSE1\nVEDITC2\nVEDITC4\nVPLUSSR\nVEDIT-CP\nVPLUS-R1\nVEDITV0\nVEDITV1\nVEDITV2\nVEDITW1\nVEDITV3\nVEDITV4\nVEDITG2\nVEDIT\nVEDITT3\nVEDITIO\nVPLUSB1\nVEDITF1\nVEDITF2\nVEDITC1\nVPLUSE1\nVEDITC2\nVEDITC4\nVPLUSSR\nVEDIT-CP\nVPLUS-R1\nVEDITV0\nVEDITV1\nVEDITV2\nVEDITW1\nVEDITV3\nVEDITV4\nVEDITG2\n Errors Were Detected *****\n\nV\u003eHEXCOM VEDPLUS\n\nHEXCOM  VERS: 3.00\n\nFIRST ADDRESS 0100\nLAST  ADDRESS 89CD\nBYTES READ    833E\nRECORDS WRITTEN 12\n```\n\n* With any luck, you will now have a working (but not yet configured)\n  `VEDPLUS.COM` executable.\n\n### Configuration Example\n\nIn the following example we configure a `VEDIT` executable that will\nwork on most modern terminal emulators, such as `xterm`.  Many\nadditional options are available in the various menus.\n\n```\nV\u003eINSTALL VEDPLUS.COM VEDIT.COM\nINSTALL - Customization for VEDIT\nCopyright (c) 1985, 1987 CompuView Products, Inc.\nLast Change: Ted Green - April 20, 1987\n\nVEDIT Version Flags:\n1H: 8080 MM\n2H: 8086 MM\n4H: Crt versions\n8H: MS-DOS\n10H: CP/M-86\n20H: IBM\n40H: TI PC\n80H: TRS 80\n100H: Piiceon\n\n      Enter a version number: 4H\n\nVEDIT version: 233\n\n               MAIN MENU FOR VEDIT INSTALLATION\n\n      Keyboard Layout\n\n        1. Display or Print Keyboard Layout\n        2. Modify Keyboard Layout\n        3. Add Keystroke Macros to Layout\n\n      Operational Settings\n\n        4. Change Print Parameters (PP commands)\n        5. Change Edit Parameters (EP commands)\n        6. Change Edit Switch Settings (ES commands)\n        7. Change Visual Mode Interface\n        8. Change Command Mode Interface\n        9. Change File Handling Parameters\n\n      Machine Related Settings\n\n       10. Change Screen Display Parameters\n       11. Additional Memory Mapped Installation Features\n       12. Select CRT Terminal Type\n\n      Enter the option number or \"E\" to Exit: 12\n\n  Supported Computers and CRT Terminals:\n\n  1. ACT-IV                         17. DYNABYTE 57\n  2. ADDS REGENT 20, 25             18. EMULOG 200\n  3. ADDS REGENT 30, 35, 40, 60     19. FULCRUM VIO-X2\n  4. ADDS REGENT 100                20. HAZELTINE / VOLKER CRAIG ( ~ )\n  5. ADDS VIEWPOINT                 21. HAZELTINE / VOLKER CRAIG (ESC)\n  6. ADDS VIEWPOINT/3A PLUS         22. HEATH/ZENITH H19, H89\n  7. ADM-3A                         23. HP 125, 150\n  8. ADM-31                         24. HP 2621 - 2645\n  9. AMPEX DIALOGUE 80              25. HDS CONCEPT\n 10. ANSI X3.64                     26. IBM DISPLAYWRITER\n 11. BEEHIVE                        27. IBM 3101\n 12. CONTROL DATA CD-110            28. IBM PC (ANSI)\n 13. CONTROL DATA CD-722            29. IBM PC (CONC. CP/M-86)\n 14. DATAMEDIA                      30. IBM PC (CP/M-86)\n 15. DEC VT-100, VT-180, RAINBOW    31. INFOTON 100\n 16. DEC VT-52                      32. INTERTUBE II (UP TO VER. 1.7)\n 33. INTERTUBE II (LATER), III      49. TELERAY\n 34. ISC 8063 AND OTHERS            50. TELEVIDEO 910\n 35. KAYPRO ('83 MODELS)            51. TELEVIDEO 910 (DIM)\n 36. KAYPRO ('84 MODELS)            52. TELEVIDEO 910+, 925, 950\n 37. KIMTRON ABM 85                 53. TELEVIDEO 910+, 925, 950 (DIM)\n 38. LINWOOD BETA BANDIT            54. TELEVIDEO 912, 920\n 39. MORROW MDT 60                  55. TELEVIDEO 912, 920 (DIM)\n 40. NEC APC                        56. TELEVIDEO 914, 924 (REVERSE)\n 41. NORTH STAR ADVANTAGE           57. TI PROFESSIONAL (ANSI)\n 42. PERKIN ELMER 1251/1245         58. VICTOR 9000\n 43. PERKIN ELMER BANTAM 550        59. VOLKER-CRAIG 404\n 44. SD VDB 8024                    60. WYSE WY-100\n 45. SOROC IQ-120                   61. WYSE WY-50 (132 COLUMN)\n 46. SOROC IQ-140                   62. WYSE WY-50 (80 COLUMN)\n 47. SUPERBRAIN                     63. XEROX 820\n 48. TEC 500                        64. ZENITH Z-100\n\nType \"H\" if your terminal is not in the menu\n\nEnter the number of your terminal: 10\n\n[Main Menu] Enter the option number or \"E\" to Exit: E\n\nOk to save changes in VEDIT.COM (Y/N)? Y\n```\n\n* You will now have a working — and configured — `VEDIT.COM`\n  executable.\n\n## Utility Source\n\n* The [`utl`](utl) directory contains the source code for the tools\n  used to configure the editor, such as the installation and setup\n  programs. *Please note that we have not yet recovered the sources\n  for the 2.33 versions of these tools.*\n\n## Extras\n\n* The files that were shipped on the original CP/M‑80, CP/M‑86,\n  and DOS distribution media are included in the [`disk`](disk),\n  [`disk/86`](disk/86), and [`disk/dos`](disk/dos) directories,\n  respectively.\n  * This includes binaries for the `INSTALL` (and `INTCOM`) utilities\n    used to tailor the executable to your specific system.\n\n* Help files are included in the [`hlp`](hlp) directory.  These help\n  files should be verified and possibly modified to ensure the key\n  bindings (or other source customizations) match what you are\n  \"shipping to the customer\".\n\n* The [`zilint`](zilint) directory contains the final release of\n  CompuView's Z80‑8086 Translator macros.\n\n### Older Source Code\n\n* The [`oldsrc`](oldsrc) directory contains source code for older\n  versions of VEDIT ⧸ VEDIT‑PLUS.\n\n### Older Binaries\n\n* The [`oldbin`](oldbin) directory contains several older binary\n  versions of VEDIT ⧸ VEDIT‑PLUS.  These distributions may be\n  incomplete, but useful for \"archaeological\" purposes, or testing\n  on extraordinarily obscure or extremely memory constrained\n  platforms.\n\n## Future\n\n* Building these sources for CP/M‑86 or DOS should be possible:\n  * It seems that when building for 8086, the sources would be\n    further translated by means of a currently unknown program; many\n    such programs were historically commercially available, including\n    CompuView's own Translator (which, unfortunately, does *not*\n    include the required `MACx` source files as mentioned below).\n  * When trying to assemble with `P8086` defined, two missing source\n    files, `MAC1.ASM` and `MAC2.ASM`, are referenced.  It is assumed\n    that these files would have been part of the currently unknown\n    translation package (or cross-assembler software).\n  * Further investigation is required.  Once solved, the procedures\n    need to be worked out and properly documented.\n\n* Find VEDIT-PLUS 2.33b for DOS (or earlier releases) configured for\n  IBM PC memory mapped video hardware.\n\n* Find the source code for the latest versions of the `INSTALL`,\n  `INTCOM`, and other utilities.\n\n* Document `xterm`-compatible terminal settings for enabling arrow\n  directional keys, etc.\n\n* Add other CompuView products V-PRINT, V-SPELL, V-COM, etc. (sources\n  or binaries) to the repository.\n\n* Find and archive other ancient VEDIT ⧸ VEDIT‑PLUS distributions.\n\n* Collect and archive any significant commercial or community add-ons\n  or macros compatible with VEDIT ⧸ VEDIT‑PLUS up to 2.33b.\n\nCan you help with any of the above?  If you can, please open an\n[issue](https://github.com/johnsonjh/VEDIT/issues) and let us know.\n\n## License\n\n* VEDIT ⧸ VEDIT‑PLUS for CP/M is [freely redistributable for\n  non-commercial purposes](LICENSE).\n\n## Documentation\n\nVEDIT Manual (*1987*):\n\n* [Introduction](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/introduction.pdf)\n* [Tutorial](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/tutorial.pdf)\n* [User Guide](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/user_guide.pdf)\n* [Programming Guide](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/programming_guide.pdf)\n* [Installation](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/installation.pdf)\n* [Quick Reference](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/quick_reference.pdf)\n* [Index](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/index.pdf)\n\n### Manual Source Code\n\n* [VEDIT Manual (*1.40*, *1985*) Source Code](docsrc/1.40)\n\n### Older Manuals\n\n* [VEDIT Manual (*1980*)](doc/vdoc1980.txt)\n* [VEDIT Manual (*1981*)](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/Compuview_VEDIT_1981.pdf)\n* [VEDIT Manual (*1983*)](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/PT_VEDIT_Users_Manual_1983.pdf)\n* [VEDIT Manual (*1984*)](https://nbviewer.org/github/johnsonjh/VEDIT/blob/master/doc/VEDIT_Users_Manual_Nov84.pdf)\n\n## Links\n\n* [VEDIT, Inc.](https://www.vedit.com/)\n* [VEDIT History](https://web.archive.org/web/20130805180830/http://vedit.com/20Years.htm)\n* [Wikipedia: VEDIT](https://en.wikipedia.org/wiki/VEDIT)\n\n## See Also\n\nOther TECO-derived editing software was available for CP/M systems,\nincluding:\n\n* [PMATE](https://texteditors.org/cgi-bin/wiki.pl?PMATE)\n* [TED](https://geezer.org/sw/cpm/ted/)\n* [Z-TEL](https://usenet.trashworldnews.com/?thread=101928)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fvedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnsonjh%2Fvedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonjh%2Fvedit/lists"}