home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / emulate / systems / pc370 / doc / history.doc < prev    next >
Text File  |  1988-01-06  |  21KB  |  430 lines

  1.  
  2. HISTORY.DOC Summary PC/370 Release History
  3.  
  4.      MMS/370 R1.0 12/28/81 first beta test demo for Z80 CP/M-80
  5.  
  6.          Successful demo program assembly, link, and execute
  7.          completed on the following systems:
  8.  
  9.            1.  Radio Shack Model II with Lifeboat CP/M  v2.2.
  10.            2.  Cromemco system with Tarbell CP/M  v1.4.
  11.  
  12.      MMS/370 R1.1 01/04/82 first Distributor evaluation version
  13.                            sent to Lifeboat Assoc. for evaluation
  14.  
  15.      MMS/370 R1.2 12/20/82 second beta test
  16.  
  17.      MMS/370 R1.3 02/12/83 first user release
  18.  
  19.      A370
  20.         1.  Add XREAD, XPRNT, XDECI, XDECO, XFILI, XFILO, XDUMP
  21.         2.  Fix location 0 overlay processing missing END.
  22.         3.  Force E22 length error for 0 length program.
  23.      L370
  24.         1.  Force E08 memory error for 0 length segment.
  25.         2.  Fix incorrect SEARCH return code due to DEQ.
  26.         3.  Fix ORG error at end if no literals.
  27.         4.  Fix bad stack address at program entry with option G.
  28.         5.  Fix object code error when control Z is first byte of
  29.             physical block in concatenated object file.
  30.         6.  Allow alternate disk drive A for L370.LIB if not found
  31.             on specified drive for object file.
  32.      E370
  33.         1.  Add ASSIST support plus interactive debug log option.
  34.         2.  Add 370 instruction trace and instruction address stop.
  35.         3.  Add 370 address protection for CP/M and E370 areas.
  36.  
  37.      MMS/370 R2.2 05/04/83 second user release with new XA extensions
  38.  
  39.      A370
  40.        1.  27 new instructions added including BAS, BASR, MVCIN,
  41.            BSM, and BASSM.
  42.        2.  Fix made to handle explicit 256 byte SS instructions
  43.            correctly.
  44.        3.  Fix DC logic to surpress duplicate references to *.
  45.        4.  FIX SVC interface to save IX and IY for NEC PC MSDOS.
  46.      L370
  47.        1.  Fix stack pointer for execution for option G to prevent
  48.            initial call from storing address in program area.  Also
  49.            changed call in prefix to simple jump to emulator entry.
  50.      E370
  51.        1.  5 new non-privileged instructions supported along with
  52.            PSW address mode bit 17.
  53.        2.  The existing instructions LA, BAL, BALR, EDMK, and TRT
  54.            all have been modified to function correctly in both
  55.            24 and 31 bit addressing modes.
  56.        3.  Fix incorrect instruction length code in BAL 24 bit
  57.            mode .
  58.        4.  Fix incorrect EDMK address for single byte PD fields.
  59.        5.  Fix incorrect SS instruction processing when length is
  60.            over 128.
  61.        6.  Fix fixed point multiply and divided overflow when
  62.            result is negative.
  63.        7.  Fix sign of remainder for fixed and packed divide.
  64.        8.  Fix packed decimal compare for negative zero.
  65.        9.  Fix condition codes for multiply and divide exceptions.
  66.       10.  Fix Assist XREAD to correctly support 1 byte area.
  67.       11.  Fix arithmetic shift left overflow logic.
  68.       12.  Fix packed decimal divide to correctly detect overflow.
  69.  
  70.     MMS/370 R2.3 06/30/83 third user release with updated XA
  71.     extensions
  72.  
  73.      A370
  74.        1.  Add IPM and other new XA supervisor instructions
  75.      L370
  76.      E370
  77.        1.  Add IPM instruction
  78.        2.  Change XA mode PSW bit to 32 and display extended mode PSW
  79.            when in XA mode.
  80.        3.  Correct BSM logic to skip save when first register is 0.
  81.        4.  Add option to update 370 registers to MMDBUG command Y.
  82.        5.  Reduce size of E370 by 500 bytes by changing logic macros
  83.            to common subroutines for logical RR and RX instructions.
  84.  
  85.     MMS/370 R3.1 03/08/84 maintenance release with corrections
  86.  
  87.     A370
  88.       1.  Fix error created by V type address constant referencing
  89.           CSECT defined later in same assembly.
  90.       2.  Fix length attribute of CSECT/DSECT to always be 1.
  91.     L370
  92.     E370
  93.       1.  Fix error in XR and X exclusive OR logic introduced in R2.3
  94.           when logic was combined in 1 routine to save memory.
  95.       2.  Fix DP overflow logic to cause divide exception 0CB instead
  96.           of divide overflow.  Note divide exception cannot be masked
  97.           like overflow but SPIE can be used to handle it.
  98.       3.  Check for interrupt every 256 instructions even in kill
  99.           mode.
  100.       4.  Only trace IFL entries in 370 mode for N command.
  101.       5.  Fix NODBUG minimum storage replacement module for MMDBUG to
  102.           correctly NOP 370 TRACE calls.
  103.  
  104.     PC/370 R1.0 06/08/85 first freeware release for 8086 MSDOS systems
  105.  
  106.     A370
  107.     L370
  108.       1.  Force option F to always dynamically load E370.EXE. The
  109.           emulator can no longer be linked with 370 code since L370
  110.           does not process native 8086 assembler object code format.
  111.     E370
  112.       1.  Add SVC's 17-22 to handle extended MSDOS functions such as
  113.           time.
  114.  
  115.     PC/370 R1.1 11/11/85 maintenance release
  116.  
  117.     A370
  118.       1.  Allow lower case command line.
  119.       2.  Fix error for zero length data in DC for alignment.
  120.     L370
  121.       1.  Allow lower case command line.
  122.     E370
  123.       1.  Allow lower case debug command entry.
  124.       2.  Initialize register 13 to standard save area.
  125.       3.  Support 370 instruction address reset via J command.
  126.       4.  Only stop at IFL trace in 370 address stop mode.
  127.       5.  Attempt to close all files when exiting via <esc> command.
  128.     DOC
  129.       1.  Add documentation files describing trace id points.
  130.  
  131.     PC/370 R1.2 07/18/86 maintenance release plus SEE editor utility
  132.  
  133.     A370
  134.       1.  Drop form feed on first page heading.
  135.       2.  Translate lower case ASCII comments to upper case.
  136.       3.  Align column headings for cross reference and repeat
  137.           headings.
  138.       4.  Fix error when DC F coded without data - now issues error.
  139.       5.  Rearrange opening of files in pass 2 to insure that no more
  140.           memory is required in pass 2 than in pass 1.  This allows
  141.           number of symbols to directly determine maximum assembly
  142.           possible (SEE is within 30 symbols of maximum now).  Note
  143.           debug was removed from A370 (8k) to provide more symbol
  144.           space.  Also note in pass 2, ALC file buffer will be smaller
  145.           to provide room for object and print file buffers if
  146.           necessary to not exceed pass 1 memory usage.
  147.       6.  Tighten TITLE syntax to require correct leading quote.
  148.     L370
  149.       1.  Drop form feed on first page heading.
  150.       2.  Align column headings with data lines.
  151.       3.  Correct bug causing CSECT reference labels to be truncated.
  152.     E370
  153.       1.  Correct bug in XDECI ASSIST instruction to correctly input
  154.           negative numbers.
  155.       2.  Translate DDNAME to ASCII for SEARCH and DELETE SVC's.
  156.       3.  Reverse DMAS, DMAE, BLKE addresses during OPEN/CLOSE along
  157.           with EODAD and SYNAD addresses to support user defined
  158.           buffer.
  159.       4.  Change debug trace to only trace first ID after IFL in 370
  160.           mode.
  161.       5.  Support trace ID's IOF and ION to turn interrupts off and
  162.           on.
  163.       6.  Fix bug in IOS get text record routine which caused
  164.           premature end of file when DCB was within 128 bytes of
  165.           buffer area due to uninitialized register picking up DCB
  166.           address instead of DMA address during pending EOF
  167.           processing.
  168.       7.  Fix bug in IOS random write routine to increment block
  169.           pointer when writing blocks larger than 128 bytes.
  170.       8.  Change debug to not kill SVC 9 trace entries from 370 code.
  171.       9.  Add SVC 23 to perform RENAME using DCB with EBCDIC names.
  172.           (See SEE.ALC for example use and IHADCB extensions.)
  173.      10.  Add SVC 24 to microcode printing line of ASCII text on
  174.           screen with attribute colors. (used to more than double SEE
  175.           speed).
  176.      11.  Fix memory management to not allocate from last FQE unless
  177.           there is room for a remaining smaller FQE pointer.  Force
  178.           end of memory at x'FF00' to leave room for stack.
  179.      12.  Support S save/unsave debug command to protect current trace
  180.           ID while running in kill mode.  (very useful to obtain high
  181.           speed execution up to selected point in program).
  182.      13.  Save 8086 flags in high R0 for BIOS SVC's such as KEYBOARD.
  183.      14.  Add explicit EBCDIC/ASCII translation and line control
  184.           options to SVC's 0-24 via high bits of R2:
  185.             bit 0 - explicit control if on, else use option E
  186.             bit 1 - force EBCDIC translation if on, else use ASCII
  187.             bit 2 - force addition of line control, else none
  188.  
  189.             (For example ICM R2,8,=X'80' would force no translation
  190.              and no line control regardless of option E setting.)
  191.      15.  Fix debug N trace listing to translate SVC 9 EBCDIC Id's.
  192.  
  193.      DOC
  194.       1.  Add SEE.ALC source code utility to edit or browse an ASCII
  195.           text file in full screen color mode.  Keystrokes are
  196.           compatible with Turbo Pascal and PFS:WRITE.  The editor
  197.           supports files up to 512k.  SEE includes character graphics
  198.           to support line drawings and organizational chart drawings.
  199.           SEE also supports creation of session keystroke file (.KSF)
  200.           which can be reused to recreate SEE session with full screen
  201.           colors and with keyboard pause and wait control.
  202.       2.  Add PRINT.ALC source code utility to print source programs
  203.           and PC370.DOC documentation file with page control.
  204.       3.  Add information on electronic bulletin board and PC-SIG
  205.           distribution via disk #402.
  206.       4.  Add DW3NUM.ALC source code utility to insert line numbers on
  207.           all non-blank lines in a Displaywrite III text document.
  208.           Numbers are placed in left margin and reset at beginning of
  209.           each page.  This program serves as a model for other
  210.           utilities that could be written to process Displaywrite III
  211.           document files directly.  This utility squeezes file and
  212.           lists file on console in the process of inserting line
  213.           numbers.
  214.       5.  Drop form feed on first page heading for PRINTDOC.ALC.
  215.  
  216.     PC/370 R2.0 05/16/87 major update with 512 address space support
  217.  
  218.     A370
  219.       1.  Converted to EXE format with 64k data segment and buffer
  220.           segment.
  221.       2.  Now supports 3 times as many labels and literals.
  222.       3.  File handle I/O with pathing much more efficient.
  223.       4.  Fix error if DSECT's contain anything but DS instructions.
  224.       5.  Allow references to ENTRY symbols within same module.
  225.     L370
  226.       1.  Converted to EXE format with 64k data segment and buffers
  227.           segment.
  228.       2.  Now supports code modules up to 50k.
  229.       3.  File handle I/O with pathing much more efficient.
  230.       4.  New option M creates 370 MOD file without COM prefix.
  231.     E370
  232.       1.  Converted to EXE format running in high 64k segment.
  233.       2.  The standard instruction set plus ASSIST now supports
  234.           direct addressing up to the maximum available memory
  235.           under MS-DOS 2.0+ (512k+).
  236.       3.  Error in one byte overlapped pack instruction corrected.
  237.       4.  Error in BXH and BXLE with negative updated index values
  238.           fixed.
  239.       5.  Memory management now supports the full address space
  240.           using 8 byte free queue elements (4 byte address and
  241.           4 byte length).  ASCASF FQE chain pointer is located at
  242.           X'118'in new address space control block.  The same
  243.           registers for SVC 10 and 11 are used.
  244.       6.  File management support has been rewritten using MS-DOS
  245.           file handle I/O to support pathing and random or
  246.           sequential access to multiple files.  Each file can
  247.           have up to 64K buffer.  Maximum files open is
  248.           controlled by CONFIG.SYS FILES= parameter.  See
  249.           DOC\SYSTEM.DOC and CPY\IHADCB.CPY for more information.
  250.       7.  The interactive debug facility has been expanded to
  251.           provide additional support for virtual address space
  252.           separate from emulator address space.  The Z command
  253.           determines which address space functions refer to.  The
  254.           debug facility is included in A370 and L370 as well as
  255.           E370.  A new "I" command added, dumps full word counter
  256.           which is source record count in A370, logical object record
  257.           in L370, and 370 instruction counter in E370.  Address stop
  258.           on this word can be used to stop execution at any desired
  259.           point.  However, note that in kill mode, the counter may be
  260.           incremented more than once between trace ids preventing
  261.           address stop on equal from triggering.
  262.       8.  The interface between linked COM modules and the E370.EXE
  263.           emulator has been redesigned to use the MS-DOS standard EXEC
  264.           function instead of somewhat non-standard overlay load.  Now
  265.           the first 16 bytes of each linked COM module contains the
  266.           EXEC mainline which links to E370.EXE in the high 64k of
  267.           available memory.  E370.EXE initializes the virtual address
  268.           space origin 16 bytes past the beginning of the COM module
  269.           with executable code starting at X'210' into module or
  270.           relative X'200'.  COM mainline will abort if there is not
  271.           room for COM module plus 64k for E370.EXE.
  272.       9.  E370.EXE now supports SVC 25 to load any kind of file
  273.           including linked COM files into free memory.  See
  274.           DOC\SYSTEM.DOC and CPY\IHASCB.CPY.
  275.      10.  E370.EXE now supports SVC 26 an 27 for attach and detach of
  276.           COM 370 programs which run in their own relative address
  277.           spaces.  See DEMO\DEMOPSW series of demo programs for
  278.           example.
  279.      11.  Fix trace and PSW address of EX target instructions.
  280.  
  281.     PC/370 R2.0A 05/24/87 fixes to 2.0
  282.  
  283.     A370
  284.       1.  EQU's preceeding first CSECT caused 0 length blank CSECT
  285.           error.
  286.     L370
  287.     E370
  288.       1.  Error in Freemain svc 11 when releasing block between two
  289.           existing free blocks chained to third free block.
  290.       2.  I/O supervisor now takes SYNAD exit if bad RBA causes random
  291.           read or write to fail due to pointing beyond disk capacity.
  292.  
  293.     PC/370 R3.0  08/30/87 new macro preprocessor, floating point,
  294.           scientific subroutines, generic interrupt SVC, ASCII string
  295.           constants, MVS shell demo with SIO channel simulator
  296.     A370
  297.       1.  Support for E, D, and L floating point constants added.
  298.       2.  ASCII string constants in double quotes added and self
  299.           defining string constants fixed to handle C'''' etc.
  300.       3.  Error in DS or DC destroyed location counter causing
  301.           additional erroneous base errors in following instructions.
  302.       4.  Treat blank lines like comments instead of syntax errors.
  303.     L370
  304.       1.  Error in concatenating object files when previous file ends
  305.           exactly on 128 block boundary.
  306.       2.  Add option I to surpress all interrupts during execution.
  307.       3.  Add option P to surpress floating point even if 80x87 avail.
  308.     E370
  309.       1.  Floating point instructions added using 80x87.
  310.       2.  SVC's 28-35 added to assist use of ASCII strings, generic
  311.           interrupt to issue any MS-DOS or BIOS interrupt with user
  312.           defined PC registers, plus scientific subroutine assist
  313.           using 80x87 routines for square root, 2**X, tangent,
  314.           arctangent, logs.
  315.       3.  Fixed ASCII file output translation option (was translating
  316.           after write) in PUT svc.
  317.       4.  Correct ASCII/EBCDIC translation of left bracket and GE
  318.           symbols.
  319.       5.  Correct debug jump command to handle addresses over 64k in
  320.           370 mode.
  321.       6.  Correct MP to return specification error if L'A LE L'B, L'B
  322.           GT 8, or high bytes of A for length L'B not zero.
  323.  
  324.     PC/370 R3.1  09/02/87 maintenance to R3.0 based on user feedback
  325.  
  326.     A370
  327.       1.  Fix error in object code ORG when DS is used in multiple
  328.           CSECT module causing L370 link error due to ORG exceeding
  329.           length of CSECT (offset to start of non-zero CSECT was not
  330.           being subtracted to calculate relative CSECT ORG address).
  331.           Explicit ORG's worked fine, only a DS generated ORG caused
  332.           error.
  333.     L370
  334.     E370
  335.  
  336.     PC/370 R3.2  09/07/87 maintenance to R3.1 based on user feedback
  337.  
  338.     A370
  339.       1.  Allow maximum 80 character ALC source with seq. #.
  340.       2.  Fix label equated to CSECT/DSECT which caused L370 errors.
  341.       3.  Flag DC error for RLD's for DSECT labels which caused L370
  342.           errors.
  343.     L370
  344.     E370
  345.       1.  Fix ZAP to correct regression bug with R2.0 where any number
  346.           with zero in low nibble gives positive sign and zero
  347.           condition.
  348.  
  349.     PC/370 R4.0  11/08/87 maintenance to R3.1 based on user feedback
  350.  
  351.     A370
  352.       1.  Add support for COPY statement to include source code from
  353.           any MS-DOS path\filename.  The default suffix is CPY.
  354.     L370
  355.       1.  Add option B to create file identical to COM file but with
  356.           suffix BIN for use with Micro Focus COBOL.
  357.     E370
  358.       1.  Support resident option invoked by directly executing the
  359.           emulator EXE module.
  360.       2.  Support calls from Micro Focus COBOL in resident mode using
  361.           standard linkage conventions and V=R addressing mode.
  362.       3.  Modify OPEN logic to allow use of SYNAD exit even though
  363.           file may not be open due to error such as file not found.
  364.           Add error and function codes in R0 and R1 for use by SYNAD
  365.           exit in determining error (see LIB\SYNERROR.ALC).
  366.  
  367.     PC/370 R4.1  11/20/87 maintenance to R4.0 based on user feedback
  368.  
  369.     A370
  370.       1.  Correct ORG to correctly handle CSECT or DSECT name as well
  371.           as any relative expression (The code was only allowing
  372.           relative expression operand rather than special label type).
  373.     L370
  374.  
  375.     E370
  376.       1.  Correct serious bug in release 4.0 which stores 8 byte free
  377.           queue element directly after the end of each BIN module.
  378.           (This code to build free area behind COM modules can cause
  379.           COBOL run time system to crash after exiting from
  380.           subroutine depending on use of area overlayed).
  381.       2.  Add optional parameter to define size of system queue area
  382.           (SQA) memory in the resident emulator address space for use
  383.           by COBOL subroutines.  Size is in hex paragraphs and default
  384.           is 10 or 256 bytes.  Through use of SQA, COBOL subroutines
  385.           can now perform standard file I/O with dynamic buffer
  386.           allocation (See BAT\RUNCBL.BAT demo for example SQA and
  387.           I/O use).
  388.       3.  Enhance interactive debug to support resident reusability by
  389.           restoring all traces at beginning of each COM execution and
  390.           at beginning of all COBOL subroutines called with option D
  391.           specified at link edit.  Also toggle command K can be used
  392.           to restore traces at any point in program execution (This
  393.           allows quickly reaching a selected point in program and then
  394.           restoring traces for complete instruction tracing).
  395.       3.  Support user defined standard COBOL return code using value
  396.           in register 15 (low 16 bits) at exit.
  397.  
  398.     PC/370 R4.2  01/05/88 Micro Focus XM protected mode support
  399.  
  400.     A370
  401.     L370
  402.       1.  Add option U to allow undefined external references.
  403.     E370
  404.       1.  Support Micro Focus XM COBOL protected mode call to PC/370
  405.           assembler subroutine in BIN file (See USER.DOC for more).
  406.           The resident interrupt was moved from hex DC to hex 60.
  407.           (See PTF.DOC for fix to change interrupt # if it conflicts.)
  408.       2.  Fix 0C9 on CVB with negative zero packed decimal input.
  409.       3.  Correct EBCDIC to ASCII translate tables to handle
  410.           > { and [ conversion in both directions (half fixed in 3.0).
  411.       4.  Flag error for text file with LRECL<2.
  412.       5.  Fix SRP to use only low 6 bits in second operand for shift.
  413.           (If the 6 bit number was positive, 8 bits were used.)
  414.       6.  MVS standard parm list with address, half word count, and
  415.           EBCDIC parm field is now pointed to by R1 at entry.
  416.       7.  If floating point option is on and 80X87 is installed,
  417.           hardware assist is used for CVB and CVD to speed up
  418.           instruction by up to 4 times for large numbers.
  419.       8.  Add MVS program interruption element (PIE) control block
  420.           pointed to by R2 at entry to SPIE trap.  This allows full
  421.           recovery from trap without losing content of registers.
  422.           (See CPY\IHAPIE.CPY for more information.)
  423.       9.  Fix incorrect PSW on exception of executed instruction.
  424.      10.  Add SVC 36 to load overlay file at specified virtual
  425.           address.
  426.      11.  Add SVC 37 to define SVC user exit table.
  427.           See DEMO\DEMOTRAP.ALC for examples.
  428.      12.  Add production version of emulator E370P42.EXE without
  429.           interactive debug or ASSIST facility to save 10k.
  430.