File: BAT50.PA of Disk: V50/Source/Source-Listing-PAL-1
(Source file text)
/BAT HANDLER DP FOR KBM V50 / / / / / / / / /COPYRIGHT (C) 1980 BY DIGITAL EQUIPMENT / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DATAPLAN GMBH. /DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR /IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DATAPLAN'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DATAPLAN. / /DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY /OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DATAPLAN. / / / / / / / / / / / /WVDM, DP, ZUERICH, 1-JAN-80 /NEW BAT HANDLER FOR 0S/8 V50 /THIS BAT HANDLER SUPPORT THE OLD READ-ONLY /FUNCTIONS, I.E. IT READS FROM THE BATCH /INPUT FILE UNTIL A DOLLAR IS FOUND AS FIRST /CHARACTER IN A LINE. THIS DOLLAR SIGNALS /THE END OF INPUT AND RETURN A SOFT ERROR /AND A 232 EOF CHAR TO THE CALLER. /IT IS NOW ALSO PERMITTED TO WRITE TO BAT /THIS WRITE FUNCTION WILL ALWAYS SUCCEED /IF UNDER BATCH AND WILL SET THE ERROR STATUS /OF THE BATCH MONITOR. THIS ERROR STATUS CAN /THEN BE TESTED WITH THE $SKIP CARD. VERSION="X&77 BIPCCL=7777 /BATCH MONITOR DEFINITIONS DOLFLG=7776 BATIN=5400 BATVFY=5600 *0000 -1;DEVICE BAT;DEVICE BAT;0220;BATDP-200;0;0 *0200 BATDP, VERSION CLA RDF TAD BATCDI DCA BATEX TAD BATISZ DCA ISZRET /RESET THE NORMAL RETURN 'ISZ' TAD I BATDP BT232, AND BT7700 CMA DCA BATCNT /THIS REALLY ONLY HAS A MEANING FOR READ TAD I BATDP AND BAT070 TAD BATCDF DCA BATDF /SET BUFFER DF BATISZ, ISZ BATDP TAD I BATDP DCA BATBUF /SET BUFFER ADDRESS ISZ BATDP /GO TO BLOCK # (IGNORED) BATCDI, CDF CIF 0 TAD I BATCCL AND BAT070 TAD BATCDF DCA BATACC /MAKE CDF TO BATCH MONITOR TAD I BATCCL /NOW TEST IF BATCH IS ACTIVE RAL BT7700, SMA CLA /*MUST STAY HERE* JMP BATERR /NO, ALWAYS ERROR BATACC, HLT /OK, CHANGE DF TO BATCH CLA IAC TAD BATACC DCA BATEXE /MAKE CIF BATCH FIELD TAD I BATTES /CHECK IF RICHY WROTE THIS TAD (-2214 /WELL, THE FIRST TIME THAT IS SZA CLA JMP BATERR /NO, WRONG BATCH MONITOR TAD BATCNT SPA CLA /WAS IT A WRITE FUNCTION? JMP BAT070 /NO, GO IN READ LOOP CLA STL RAR DCA I BATSLU /YES, SET BAT SLEW TO ERROR JMP ISZRET /GO TO NORMAL EXIT BATLUP, JMS BATGET /READ LOOP DCA I BATBUF /WORD 1 JMS BATGET DCA BATTMP /WORD 2 JMS BATGET RTL RTL DCA BATSHF /WORD 3 * 16 TAD BATSHF AND BT7400 TAD I BATBUF DCA I BATBUF /WORD 1 + 1/2 WORD 3 ISZ BATBUF BT7400, 7400 TAD BATSHF RTL RTL AND BT7400 TAD BATTMP DCA I BATBUF /WORD 2 + 1/2 WORD 3 ISZ BATBUF BAT070, 0070 /PROTECT WRAP-AROUND ISZ BATCNT /MOR TO GO? JMP BATLUP ISZRET, ISZ BATDP /NO, NORMAL EXIT OR SOFT ERROR IF WIPED BATEX, HLT ISZ BATDP /AND ONE MORE JMP I BATDP BATERR, CLA STL RAR /ERROR, SET AC=4000 JMP BATEX BATCNT, 0000 /READ COUNT BATBUF, 0000 /BUFFER ADDRESS BATSHF, 0000 /TEMP READ CHAR BATTMP, 0000 BATCCL, BIPCCL /BATCH MONITOR ADDRESSES BATSLU, DOLFLG BATTES, BATVFY BATGET, 0000 /INPUT STREAM READER BATALT, 0000 /GETS JMP SWITCH ON CR BATEXE, CIF 0 /GETS CIF BAT BATCDF, CDF 0 /CALLERS FIELD JMS I BATHND /CALL BATCH HANDLER JMP BATEOF /NO MORE INPUT DCA BATSHF TAD BATSHF TAD (-244 SNA JMP GOTDOL /WAS DOLLAR TAD (244-212 SNA JMP BATEXE /WAS LINEFEED TAD (212-215 SNA CLA JMP GOTCR /WAS CARRIAGE RETURN CLRSWI, DCA BATSWI /NORMAL CHAR, CLEAR CR SWITCH TAD BATSHF /GIVE BACK THIS CHAR BATDF, HLT /WITH BUFFER FIELD SET JMP I BATGET BATJMP, JMP BATNXT GOTCR, TAD BATJMP DCA BATALT /IF CR, GO TO BATNXT FOR NEXT CHAR SETSWI, CLA CMA /AND SET CR SWITH FOR DOLLAR RECOGNITION JMP CLRSWI BATNXT, DCA BATALT /ONCE ONLY JUMP TO HERE TAD (212 /MAKE LF FOR CR/LF GETOUT, JMP BATDF /ALSO LITERAL GOTDOL, TAD BATSWI /WAS LAST CHAR = CR ? SMA CLA JMP CLRSWI /NO, NORMAL CHAR AND CLEAR CR SWITCH TAD I BATCCL CLL RTR STL RTL DCA I BATCCL /YES, GIVE SIGNAL TO SHOW $ READ BATEOF, TAD BT232 /REPLACE $ BY EOF DCA BATSHF DCA ISZRET /WIPE OUT 'ISZ' FOR SOFT ERROR TAD GETOUT DCA BATEXE /GIVE BACK NULLS FOR REST OF BUFFER JMP SETSWI /KEEP CR SWITCH ON FOR NEXT CALL BATHND, BATIN BATSWI, 7777 $$$$$$$$$$$$$$$$