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 / CPM / ZCPR33 / S-Z / V4LIBHLP.LBR / V4LIBS.HZP / V4LIBS.HLP
Text File  |  1989-05-01  |  6KB  |  130 lines

  1. ;
  2.      I   Introduction
  3.  
  4.      0    SYSLIB  - General Routines
  5.  
  6.      1    Z3LIB   - ZCPR3 Support & Access Routines
  7.  
  8.      2    VLIB    - Video support for ZCPR3 systems
  9.  
  10.      3    DSLIB   - Clock and File Stamp Support
  11. :I
  12.      Introduction to The Libraries, Version 4 
  13.  
  14. Version 4 of "The Libraries" is the culmination of over two
  15. years of work.  Beginning with the Version 3.6 libraries, each
  16. routine was optimized for performance on Z80 compatible micro-
  17. processors, and much restructuring was performed to reduce code
  18. size and increase functionality for programs using these new
  19. routines.  Some of the ground rules for this effort were:
  20.  
  21.  o  Convert source code to Zilog mnemonics and optimize
  22.     routines for execution on Z80 and HD64180 Processors
  23.  
  24.  o  Isolate unitialized Data into the DSEG where possible to
  25.     permit ROMming of programs and for future growth to the
  26.     Z280 processor
  27.  
  28.  o  Extract common code in routines to reduce redundancy
  29.  
  30.  o  Add routines and a new library to take advantage of
  31.     developments in Command Processors and Operating Systems
  32.     for CP/M-compatible computers
  33. The newer family of 8-bit processors such as the Z80, NSC-800,
  34. 64180 and Z180 are capable of much more than the older 8080 and
  35. 8085 chips.  Until now, they have been saddled with the
  36. inefficient routines in the older Version 3.6 libraries.  Since
  37. the majority of systems have migrated to the ZCPR3 Command
  38. Processor replacement which cannot operate on the older
  39. processors, sacrificing backward compatibility with the 8080
  40. was not considered a significant shortcoming.  In a like vein,
  41. CP/M 1.4 remnants have been deleted, requiring CP/M 2.2 or
  42. later "type" systems to operate correctly.
  43.  
  44. The original routines placed data as well as executable code in
  45. the Code Segment, or CSEG.  In some routines, several hundred
  46. bytes of uninitialized data was included in program code which
  47. served only to increase the size of the program image.  Another
  48. undesireable feature of this approach is that this practice
  49. will not be permitted in newer processors using the so-called
  50. protected mode of execution.  Moving data storage to a separate
  51. segment with the DSEG assembler directive will make programs
  52. portable to these newer systems, and allow them to be placed in
  53. Read Only Memory (ROM).  Because of initialization requirements
  54. in some modules, this goal could not be totally achieved.
  55.  
  56. Many cases of duplicate code were identified within library
  57. routines.  Such cases were simplified by extracting the common
  58. fragments, and linking them only once.  This feature is
  59. transparent and handled automatically by your linker.  Only one
  60. precaution is necessary with this scheme.  These extracted
  61. routine names generally begin with an "at" sign (@), and, with
  62. a few exceptions, are undocumented.  If you link your own
  63. library routines with the Version 4 Libraries, insure that no
  64. duplication of names occurs, or strange things will happen.
  65.  
  66. Correction of deficiencies and differences between Library
  67. routines and the documentation was also a high priority during
  68. this effort.  These Help files should exactly reflect routine
  69. parameters and functioning.  Where differences exist between
  70. the printed manual and these Help files, the Help files should
  71. be considered the more accurate.
  72.  
  73. The only deviation from the documentation is in routines where
  74. the A register returns a value of 0 with the Zero Flag Set (Z)
  75. on one condition, and the Zero Flag Reset (NZ) on the other
  76. condition.  For most routines, the Non-zero value is derived
  77. from a 0FFH value in the A register as specified in the printed
  78. documentation.  This should NOT be considered as an absolute,
  79. however, and in new development, you should consider any non-
  80. zero value as valid, not just 0FFH.  This change is reflected
  81. in these help files.
  82.  
  83. The area of robustness was also tackled, primarily for VLIB and
  84. Z3LIB, in an effort to minimize the adverse effects of running
  85. programs using those routines on systems not equipped with
  86. ZCPR3.  While not all areas could be made "bulletproof", they
  87. are considerably more tolerant than previous libraries.
  88.  
  89. Jay Sage, author of ZCPR 3.3 and 3.4, has contributed many
  90. routines to Z3LIB to use the additional features of the latest
  91. Command Processor Replacements.  His contributions also correct
  92. deficiencies in existing modules.  The new Z3LIB has also been
  93. updated to use the Extended Environment Description needed with
  94. NZCOM and ZCPR 3.4.  As such, some of the definitions and
  95. parameters have changed.  See specific Z3LIB Help for more
  96. details.
  97.  
  98. VLIB has been significantly modified with additional features
  99. and much faster operation.  Business graphics and Pull-Down
  100. Menus are among the added capabilities.  Details on the new
  101. Z3TCAP needed to take advantage of these routines are in the
  102. VLIB Help section.
  103.  
  104. Several enhancements have been made to SYSLIB routines.  Among
  105. the more significant are:
  106.  
  107.   - DFREE now additionally returns CP/M Plus Free Space
  108.   - xFN1 Filename print routines mask Most Significant Bits
  109.   - DIRQ/DIRQS routines call DBUFFER to reduce programming
  110.     requirements for additional support functions
  111.   - DIRF/DIRQ/DIRQS routines now ignore CP/M Plus Date Stamps
  112.   - New routines have been added for Filename comparisons, Hex
  113.     conversions and console output masking the MSB.  These
  114.     are documented in the SYSLIB Help file
  115.  
  116. A new library, DSLIB, has been created to provide tools for
  117. working with Clocks and File Time and Date stamping features
  118. provided by ZSDOS/ZDDOS, DateStamper(tm) and Digital Research's
  119. CP/M Plus (also known as CP/M 3.x).  Utility routines are also
  120. featured for conversions between a variety of different Date
  121. and Time formats.  For user programs, however, a standardized
  122. format patterned after Plu*Perfect Systems' DateStamper(tm) is
  123. used.  Directory routines patterned after those in SYSLIB will
  124. return File Date Stamps along with basic file information.
  125.  
  126. :0:SYSLIB.HLP
  127. :1:Z3LIB.HLP
  128. :2:VLIB.HLP
  129. :3:DSLIB.HLP
  130.