home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / DOC / Z4.TXT < prev    next >
Text File  |  2000-06-30  |  14KB  |  659 lines

  1. .op
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                               ZCPR3
  10.  
  11.                              and the
  12.  
  13.                        EVOLUTION TO ZCPR4
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                     Trenton Computer Festival
  22.  
  23.                          April 11, 1987
  24.  
  25.  
  26.                           RICHARD CONN
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.              --------------------------------------
  36.  
  37.    ZCPR3, SYSLIB, Z3LIB, VLIB, TERM III, DISCAT, Z-System, ZOS
  38.  
  39.                  are Trademarks of Echelon, Inc.
  40.  
  41.      Turbo Modula-2 is a Trademark of Borland International
  42.                     (or Echelon -- not sure)
  43.  
  44.        Ada is a Trademark of the US Department of Defense,
  45.                     Ada Joint Program Office
  46.  
  47. .he                ZCPR3 and the Evolution to ZCPR4
  48.  
  49.  
  50.  
  51.  
  52.               ZCPR4 is a continuation of many years
  53.  
  54.         of work, effort, and giving to the Public Domain
  55.  
  56.                     and the "User Community"
  57.  
  58.  
  59.  
  60.  
  61.                               ZCPR1
  62.                    (a group effort in the PD)
  63.  
  64.                                 |
  65.                                 V
  66.  
  67.                               ZCPR2
  68.                 (an individual effort in the PD)
  69.  
  70.                                 |
  71.                                 V
  72.  
  73.                               ZCPR3
  74.          (an individual effort, in the "User Community")
  75.  
  76.                                 |
  77.                                 V
  78.  
  79.                         ZCPR3 Commercial
  80.           (an effort by Echelon and myself, commercial)
  81.  
  82.                 |                                | 
  83.                 V                                V
  84.  
  85.          ZCPR 3.3 et al    <- Today ->         ZCPR4
  86.      (an effort by Echelon,             (an individual effort,
  87.       commercial and "User")              release unknown)
  88.  
  89.  
  90.  
  91.  
  92.                    The Magnitude of the Effort
  93.  
  94.                    is Increasing Dramatically
  95.  
  96.  
  97.  
  98.  
  99.  
  100.          Files
  101.          -----
  102.  
  103.      1000 or more   |                             * ZCPR4
  104.                     |
  105.           900       |
  106.                     |
  107.           800       |
  108.                     |
  109.           700       |
  110.                     |
  111.           600       |                        * ZCPR3 3.3
  112.                     |
  113.           500       |                   * ZCPR3
  114.                     |
  115.           400       |
  116.                     |
  117.           300       |              * ZCPR2
  118.                     |
  119.           200       |
  120.                     |
  121.           100       |
  122.                     |
  123.             1       |         * ZCPR1
  124.                     ---------------------------------------------
  125.  
  126.  
  127.  
  128.  
  129.      Note: I can't speak for the independent Echelon effort
  130.                     with ZCPR 3.3 and beyond
  131.  
  132.  Note: The ZCPR3 effort and beyond includes TERM III and beyond
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.                        ZCPR 3.3 and beyond
  146.  
  147.                         as well as ZCPR4
  148.  
  149.        represent a continued interest in the ZCPR concept
  150.  
  151.  
  152.  
  153.  
  154.  
  155.    The ZCPR concept continues to meet a part of my (our) needs
  156.  
  157.                                so
  158.  
  159.          there is a continued interest in supporting it
  160.  
  161.  
  162.  
  163.           ZCPR4 follows in the path of its predecessors
  164.  
  165.  
  166.  
  167.          UPWARD COMPATABILITY IS NOT AN ISSUE WITH ZCPR4!
  168.  
  169.          THE ISSUE WITH ZCPR4 IS THE DEVELOPMENT OF NEW
  170.  
  171.        AND REFINED CONCEPTS OVER THOSE OF ITS PREDECESSORS
  172.  
  173.  
  174.  
  175.                            Hypothesis
  176.                            ----------
  177.  
  178.          RETAINING A REQUIREMENT OF UPWARD COMPATABILITY
  179.  
  180.                    RESTRICTS FREEDOM OF GROWTH
  181.  
  182.  
  183. Compatability
  184. -------------
  185.     CP/M                      ZCPR1
  186.                    (a group effort in the PD)
  187.  
  188.                                 |
  189.                                 V
  190.  
  191.     CP/M                      ZCPR2
  192.                 (an individual effort in the PD)
  193.  
  194.                                 |
  195.                                 V
  196.  
  197.     CP/M                      ZCPR3
  198.          (an individual effort, in the "User Community")
  199.  
  200.                                 |
  201.                                 V
  202.  
  203. CP/M & ZCPR3            ZCPR3 Commercial
  204.           (an effort by Echelon and myself, commercial)
  205.  
  206.                                 | 
  207.                                 V
  208.  
  209.     CP/M                      ZCPR4
  210.              (an individual effort, release unknown)
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.                           A Digression
  219.                           ------------
  220.  
  221.  
  222.                To understand the philosophy of the
  223.  
  224.         Evolution to ZCPR4, it is necessary to understand
  225.  
  226.              the nature of my computing environment
  227.  
  228.  
  229.  
  230.  
  231.  
  232.                   My computing environment ...
  233.  
  234.  
  235.  
  236.  
  237.  
  238.               A Sketch of the Ongoing ZCPR4 Effort
  239.               ------------------------------------
  240.  
  241.  
  242.  
  243.      Concept                                      Vaporware?
  244.      -------                                      ----------
  245.  
  246.  1   No assembly required                             N*
  247.  
  248.  2   New basics
  249.  
  250.           ZCPR4 Command Processor                   Y/N*
  251.  
  252.           BDOS                                        Y
  253.  
  254.  3   New Libraries
  255.  
  256.           SYSLIB-like                                 N*
  257.  
  258.           Z3LIB- and VLIB-like                        Y
  259.  
  260.           Math                                        Y
  261.  
  262.           Interface                                   Y
  263.  
  264.           Communications Protocol                     Y
  265.  
  266.  4   Use of PDL                                       N*
  267.  
  268.           Automated Document Generation from PDL      Y
  269.  
  270.  5   Use of Both Assembly and Turbo Modula-2          N*
  271.  
  272.  6   New Command Line Interface and User Environment
  273.  
  274.           New Command Line Interface                Y/N*
  275.  
  276.           New Process Interface                     Y/N*
  277.  
  278.  7   Software Configuration Management Procedure    Y/N*
  279.  
  280.  8   New Applications Environments                  Y/N*
  281.  
  282.  
  283.  
  284.                 THESE CONCEPTS IN SOME DETAIL ...
  285.  
  286.  
  287.                               ZCPR4
  288.                                                   Vaporware?
  289.  1   No assembly required                             N*
  290.  
  291.  
  292.  
  293.                 ZCPR4 Command Processor and BDOS
  294.                 --------------------------------
  295.  
  296.     MAKEZ4   ZCPR4_image    ZCPR4_address    EnvDesc_address
  297.  
  298.                                 |
  299.                                 V
  300.  
  301.              ZCPR4.BIN (Command Processor and BDOS)
  302.  
  303.  
  304.  
  305.  
  306.                       ZCPR4 System Segments
  307.                       ---------------------
  308.  
  309.                   PRL (Page ReLocatable) Images
  310.  
  311.                          NO INSTALLATION
  312.  
  313.           CUSTOMIZATION BY VARIOUS MEANS (incl EnvDesc)
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.                            ZCPR4 Tools
  321.                            -----------
  322.  
  323.       EnvDesc_address et al Passed in Registers from ZCPR4
  324.  
  325.                          NO INSTALLATION
  326.  
  327.           CUSTOMIZATION BY VARIOUS MEANS (incl EnvDesc)
  328.  
  329.       All Interfaces Thru Libraries (no direct BDOS calls)
  330.  
  331.  
  332.                               ZCPR4
  333.                                                   Vaporware?
  334.  2   New basics
  335.  
  336.           ZCPR4 Command Processor                   Y/N*
  337.  
  338.           BDOS                                        Y
  339.  
  340.  
  341.  
  342. What Exists                   What is Vaporware
  343. -----------                   -----------------
  344.  
  345. Form of Command Processor     Final Form of Command Processor
  346.  
  347. Form of BDOS                  Final Form of BDOS
  348.  
  349. Form of EnvDesc               Final Form of EnvDesc
  350.  
  351. MAKEZ4
  352.  
  353. LDR for System Segments
  354.  
  355. INIT/LDR for System Segments  Final Form of INIT/LDR
  356.  
  357.  
  358.  
  359.  
  360.                               ZCPR4
  361.                                                   Vaporware?
  362.  3   New Libraries
  363.  
  364.           SYSLIB-like                                 N*
  365.  
  366.           Z3LIB- and VLIB-like                        Y
  367.  
  368.           Math                                        Y
  369.  
  370.           Interface                                   Y
  371.  
  372.           Communications Protocol                     Y
  373.  
  374.  
  375.  
  376.  
  377.      CHARACTERIZED BY SEPARATION OF PROGRAM AND DATA SPACES
  378.  
  379.               RESULTING CODE IS SMALLER THAN BEFORE
  380.  
  381.  
  382.  
  383.  
  384.                            Definitions
  385.                            -----------
  386.  
  387.      SYSLIB, Z3LIB, and VLIB - as under ZCPR3
  388.  
  389.      Math - integer, long integer (32 bit), floating point
  390.  
  391.      Interface - Command Processor and BDOS Interface
  392.                  (no BDOS calls by tools)
  393.  
  394.      Communications - data-link level protocols for XMODEM,
  395.                       YMODEM, Kermit, and Master/Server;
  396.                       higher-level protocols; finite-state
  397.                       machines
  398.  
  399.  
  400.  
  401.                               ZCPR4
  402.                                                   Vaporware?
  403.  4   Use of PDL                                       N*
  404.  
  405.           Automated Document Generation from PDL      Y
  406.  
  407.  
  408.                 USING THE PDL AND PRETTY PRINTER
  409.                 --------------------------------
  410.  
  411.     Consistent format and structure of code - Pretty Printer
  412.  
  413.            Automatic Document Generation - PDL Toolset
  414.  
  415.          Automatic Online Help Generation - PDL Toolset
  416.  
  417.         Automatic Design Details Generation - PDL Toolset
  418.  
  419.  Automatic Module Interface and Interrelationship - PDL Toolset
  420.  
  421.  
  422.  
  423. What is Vaporware?
  424. ------------------
  425.  
  426.      Pretty Printer                N*
  427.  
  428.      PDL Definition               Y/N*
  429.  
  430.      PDL Toolset                   Y
  431.  
  432.  
  433.  
  434.                            PDL SAMPLE
  435.                            ----------
  436.  
  437.  
  438. ;%BEGIN 0
  439. ;%Program: XXXXXX, SCAPSTR
  440. ;%Author: Richard Conn
  441. ;%Version: 1
  442. ;%Date: 1 Sep 86
  443. ;%Title:    Utilities 2
  444. ;%Subtitle: Capitalization
  445. ;%Module_Type: DI
  446. ;%Revision History:
  447. ;1. 1 Sep 86, Richard Conn
  448. ;    Initial Release
  449. ;%Description:
  450. ;
  451. ;  CAPSTR -- Capitalize String Pted to by HL
  452. ;    This routine simply capitalizes the <NULL>-terminated string
  453. ; pointed to by HL.  No Registers are affected.
  454. ;
  455. ;%END
  456.  
  457.     public    capstr
  458.     ext    caps
  459.  
  460. ;%BEGIN 1 
  461. ;%Label
  462. ;%END
  463. CAPSTR:
  464.     push    af        ;save regs
  465.     push    hl
  466. CAPSLP:
  467.     ld    a,(hl)        ;get char
  468.     or    a        ;done?
  469.     jr    z,capsdn
  470.     call    caps        ;capitalize it
  471.     ld    (hl),a        ;put it back
  472.     inc    hl        ;pt to next
  473.     jr    capslp
  474. CAPSDN:
  475.     pop    hl        ;get regs
  476.     pop    af
  477.     ret
  478.  
  479.     end
  480.  
  481.  
  482.  
  483.                               ZCPR4
  484.                                                   Vaporware?
  485.  5   Use of Both Assembly and Turbo Modula-2          N*
  486.  
  487.  
  488.  
  489.                HIGHER-ORDER LANGUAGE USE IMPROVES
  490.  
  491.                 PRODUCTIVITY AND MAINTAINABILITY
  492.  
  493.            WITH SOME SACRIFICE IN SIZE AND EFFICIENCY
  494.  
  495.  
  496.  
  497.  
  498.          THE SACRIFICE CAN BE CONTROLLED AND MINIMIZED!
  499.  
  500.  
  501.                             Decision
  502.                             --------
  503.  
  504.               I Can't Have Ada for my ZCPR4 System
  505.  
  506.                                So
  507.  
  508.                      I'll Use Turbo Modula-2
  509.  
  510.  
  511.            Desired Features of Ada and Turbo Modula-2
  512.            ------------------------------------------
  513.                                              In Ada?   In TM2?
  514.      Package/Module Structure                   Y         Y
  515.           Definition/Implementation Modules               Y
  516.           Visible/Hidden Package Parts          Y
  517.  
  518.      Separate Compilation                       Y         Y
  519.  
  520.      Exception Handling                         Y         Y
  521.  
  522.      Strong Type Checking                       Y         Y(1)
  523.  
  524.      Good Development Environment               Y(2)      Y
  525.        with Integrated Editor
  526.  
  527.      Tasking                                    Y         Y(3)
  528.  
  529.      Generics                                   Y         N
  530.  
  531.      DoD Support and Funding                    Y         N
  532.  
  533.   1 - Type Checking is weaker in Turbo Modula-2
  534.   2 - My particular Ada development environment is good (EMACS)
  535.   3 - Tasking is weaker in Turbo Modula-2
  536.  
  537.                       TURBO MODULA-2 SAMPLE
  538.                       ---------------------
  539.  
  540. definition module CalSupX;
  541. from CalDefs import
  542.     MONTH,        (* Types *)
  543.     DAY,
  544.     MDAY,
  545.     YEAR,
  546.     DATE,
  547.     CNPTR;
  548.  
  549.     PROCEDURE SetLeapYear (InYear : YEAR);
  550.     PROCEDURE DayOfWeek (InDate : DATE) : DAY;
  551.     PROCEDURE FindDate (InDay : MDAY; InMonth : MONTH; Start : CNPTR;
  552.         var Found : CNPTR) : boolean;
  553.  
  554. end CalSupX.
  555.  
  556. implementation module CalSupX;
  557.  
  558.        PROCEDURE SetLeapYear (InYear : YEAR);
  559.        begin
  560.           (* ... Detail Left Out ... *)
  561.        end SetLeapYear;
  562.  
  563.        (* DayCount determines the number of days since 1 Jan of the current
  564.           year *)
  565.        PROCEDURE DayCount (InDate : DATE) : INTEGER;
  566.        var
  567.            ndays : INTEGER;
  568.            imonth : MONTH;
  569.            prevmonth : MONTH;
  570.        begin
  571.                (* ... Detail Left Out ... *)
  572.        end DayCount;
  573.  
  574.        (* DayOfWeek determines the day of the week by the following
  575.           technique:  ... Detail Left Out ...
  576.        *)
  577.        procedure DayOfWeek (InDate : DATE) : DAY;
  578.           (* ... Detail Left Out ... *)
  579.        end DayOfWeek;
  580.  
  581.        PROCEDURE FindDate (InDay : MDAY; InMonth : MONTH; Start : CNPTR;
  582.            var Found : CNPTR) : boolean;
  583.           (* ... Detail Left Out ... *)
  584.        end FindDate;
  585.  
  586. end CalSupX.
  587.  
  588.  
  589.  
  590.  
  591.                               ZCPR4
  592.                                                   Vaporware?
  593.  6   New Command Line Interface and User Environment
  594.  
  595.           New Command Line Interface                Y/N*
  596.  
  597.           New Process Interface                     Y/N*
  598.  
  599.  
  600.  
  601.  
  602.  
  603.                          IN DEVELOPMENT
  604.  
  605.  
  606.  
  607.                               ZCPR4
  608.                                                   Vaporware?
  609.  7   Software Configuration Management Procedure    Y/N*
  610.  
  611.  
  612.  
  613.  
  614.     SOME VERSIONS FROM OTHER APPLICATIONS EXIST AT THIS TIME
  615.  
  616.  
  617.  
  618.  
  619.                               ZCPR4
  620.                                                   Vaporware?
  621.  8   New Applications Environments                  Y/N*
  622.  
  623.  
  624.  
  625.  
  626.                           NUMEROUS ...
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.                 ZCPR3 and the Evolution to ZCPR4
  634.  
  635.  
  636.                          CLOSING POINTS
  637.                          --------------
  638.  
  639.  
  640.  
  641.           * ZCPR3 IS REAL
  642.  
  643.  
  644.           * ZCPR3 3.3 IS REPORTEDLY REAL
  645.  
  646.  
  647.           * ZCPR3 3.3 et al REPRESENT CONTINUED COMMERCIAL
  648.  
  649.                AND PUBLIC SUPPORT TO THE ZCPR3 USER COMMUNITY
  650.  
  651.  
  652.           * ZCPR4 IS A MIX OF REALITY AND VAPORWARE
  653.  
  654.                - EXCITING CONCEPTS
  655.  
  656.                - NO RELEASE DECISIONS AT THIS TIME
  657.  
  658.  
  659.