BEWARE FILE FOR APL-BASIC-20 V2(435) September 1979 COPYRIGHT (C) 1976,1979 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED. THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. APL.BWR V2(435) Page 2 APL.BWR -- BEWARE File for V2(435) September 1979 The following patches must be made to field-image PA1050 version 3A(307) to allow APL version 2 to function correctly on the DECSYSTEM-20: 1. To make a linefeed echo as a linefeed instead of a carriage return, linefeed pair, patch the CCOC word: FCOC2/ 52532,,565125 should be 52532,,525125 2. To insure that control characters echo as "up-arrow letter" on input but are sent to the terminal unmolested on output, be sure that the following instructions are present: TTYST0+5/ TRZA 2,300 TRO 2,300 3. TCO 4.2239 must be installed to allow /BS/DUMP I/O to mag tape: Problem: The MTCHR. UUO returns 0 in the left half of the AC instead of the length of the record last read. Diagnosis: PA1050 was never taught to do this. Solution: Get the length of the last record in bytes and divide by the bytes per word based on the data mode since MTCHR. expects the record length in words. Edit 326 puts the following code in from MTCHR3-2 to MTCHR1: PUSH P,C ;(326) SAVE DENSITY GDSTS ;(326) GET DEVICE STATUS MTCHR4: ;(326) HLRZS C ;(326) RIGHT-JUSTIFY BYTE COUNT PUSH P,C ;(326) SAVE BYTE COUNT MOVEI B,.MORDM ;(326) READ TAPE DATA MODE (JFN ALREADY SET) MTOPR ;(326) SHOULD NEVER RETURN 0 == SYSTEM DEFAULT ERJMP RETZER ;(326) SHOULDN'T HAPPEN HLRZ B,TPRDMT(C) ;(326) GET BYTES PER WORD POP P,C ;(326) GET BYTE COUNT IDIV C,B ;(326) CONVERT BYTES TO WORDS SKIPE D ;(326) ROUND UP TO NEXT HIGHER WORD AOS C ;(326) IF NEEDED POP P,A ;(326) GET DENSITY HRL A,C ;(326) PUT IN WORD COUNT JRST STOTC1 ;RETURN ANSWER MTCHR3: GDSTS ;(326) GET DEVICE CHARS (JFN ALREADY SET) LDB B,[POINT 2,B,28] ;(326) GET DENSITY APL.BWR V2(435) Page 3 SKIPN B ;(326) IS IT 0 ? MOVEI B,3 ;(326) YES, MAKE IT 3 PUSH P,B ;(326) SAVE DENSITY JRST MTCHR4 ;(326) C ALREADY SET BY GDSTS MTCHR1: MOVEI D,17 ;SEARCH FOT THIS DEV INITED To install a patch in PA1050, do the following: @GET PAT ! get PAT.EXE v3A(307) @DDT DEBUG$G ! $ is an ESCape PAT$: FCOC2/ 52532,,565125 52532,,525125 TTYST0+5/ TRZA 2,300 ! hit linefeed TRO 2,300 MAKEPF$G output file: $ [End of APL.BWR]