File CONVER.AS (Source fil)

Directory of image this file is from
This file as a plain text file

10 START/L
20 ;			CONVER: COMMENT SECTION
30 ;
40 ;*************************************************************************
50 ;
60 ;START OF COMMENT SECTION
70 ;
80 ;
90 ;THIS IS A PROGRAM TO CONVERT DIBOL SOURCE CODE TO DIBOL DATA FILES SO 
100 ;THAT THE USER OF RXO2 DRIVES MAY COPY EXISTING DIBOL CODE FROM RXO1 
110 ;SINGLE DENSITY DISKETTES TO RXO2 DUAL DENSITY DISKETTES.  THE USER MUST
120 ;SPECIFY THE NAMES OF THE OUTPUT FILES AND THE LOGICAL UNITS.  THIS 
130 ;PROGRAM REQUIRES THAT THE SYSTEM BE SET UP SO THAT THE DATA DISK ON RX1
140 ;CONTAINS 15 LOGICAL UNITS OF 2 IN LENGHT.  THIS IS DONE WITH THE 'DFU'
150 ;PROGRAM (SEE SECTION 4 OF THE COS-310 SYSTEM REFERANCE MANUAL).  UP
160 ;TO 7 FILES MAY BE TRANSFERED IN ONE 'RUN' BUT A TOTAL OF 15 MAY BE TRANS-
170 ;FERED IN ALL.  THE MAXIMUM SIZE FOR AN INPUT SOURCE FILE IS 16 BLOCKS.
180 ;IF THE FILE IS TOO LONG YOU WILL HAVE TO CUT IT INTO SMALLER PEICES.
190 ;THE USER MAY SPECIFY UP TO 7 INPUT FILES BY THE 'RUN' COMMAND. 
200 ;
210 ;	FORMAT:
220 ;		.RUN CONVER,PROG1,PROG2,PROG3,PROG4,PROG5,PROG6,PROG7
230 ;
240 ;WHERE PROG1,PROG2, . . . ,PROG7 ARE DIBOL SOURCE FILES ON THE SYSTEM 
250 ;DEVICE.  
260 ;
270 ;THE OUTPUT FILE NAMES CAN ONLY BE FIVE CHARACTERS IN LENGTH BECAUSE THE
280 ;PROGRAM AUTOMATICALY ADDS THE $ TO THE BEGINING TO ELIMINAYE THE:
290 ;
300 ;		REPLACE FILENAME?
310 ;
320 ;THE USER DOES, HOWEVER, HAVE COMPLETE CONTROL OVER THE LOGICAL UNIT 
330 ;NUMBERS.
340 ;
350 ;
360 ;END OF COMMENT SECTION
370 ;
380 ;*************************************************************************
390 ;
400 START/L
410 ;			CONVER: DATA DIVISION
420 ;
430 ;*************************************************************************
440 ;
450 ;START OF DATA DIVISION
460 ;
470 ;
480 RECORD		,C		;RECORD TO HOLD OUTPUT SIZE
490 	SIZE	,D3
500 ;
510 RECORD		,C		;RECORD USED TO DETERMINE OUTPUT SIZE
520 	TRICK	,2A1
530 ;
540 RECORD	INPUT	,C		;RECORD FOR THE INPUT FILE
550 	INLINE	,A122
560 ;
570 RECORD	OUTPUT	,X		;RECORD FOR THE OUTPUT FILE  (OVERLAY)
580 	OUTLINE	,A122
590 ;
600 RECORD	NAMES	,C		;RECORD TO HOLD THE OUTPUT FILE NAMES
610 	NAME	,7A6		;AND THE LOGICAL UNIT NUMBERS
620 	NUMBER	,7D2
630 ;
640 RECORD		,C
650 	ALPHA	,A7
660 	TCHAR	,D2
670 	LOOP	,D1
680 	NAMEO	,A6
690 	UNITIN	,A3
700 ;
710 ;
720 ;END OF DATA DIVISION
730 ;
740 ;*************************************************************************
750 ;
760 PROC 2/L
770 ;			CONVER: PROCEDURE DIVISION
780 ;
790 ;*************************************************************************
800 ;
810 ;START OF PROCEDURE DIVISION
820 ;
830 ;
840 OPNCHK,
850 	DISPLAY (1,1,1)
860 	ON ERROR NOFILE		;ROUTINE TO CHECK IF INPUT FILE IS IN 
870 	INIT (01,SYS)		;THE 'RUN' LINE
880 INIT,
890 	DISPLAY (1,36,'CONVER')
900 	DISPLAY (2,1,'MAXIMUN OUTPUT FILE NAME IS FIVE CHARACTERS.')
910 	DISPLAY (3,1,'THE PROGRAM ADDS A $ TO FRONT OF SPECIFIED NAME.')
920 	DISPLAY (4,1,'PRESS <CAR RET> WHEN THERE ARE NO MORE NAMES.')
930 GETNAM,
940 	INCR LOOP
950 	DISPLAY (LOOP+5,1,'WHAT IS THE NAME FOR FILE # ')
960 	ALPHA(1,2)=LOOP
970 	DISPLAY (0,0,ALPHA(1,2))
980 	DISPLAY (0,0,' ? ')
990 ;
1000 	ALPHA=
1010 	ACCEPT (TCHAR,ALPHA)
1020 	IF (TCHAR.EQ.13) GO TO GETUNIT
1030 	DISPLAY (LOOP+5,1,2)
1040 	DISPLAY (0,0,7)
1050 	LOOP = LOOP-1
1060 	GO TO GETNAM
1070 GETUNIT,
1080 	IF (ALPHA(1,1).EQ.' ') GO TO START
1090 	DISPLAY (LOOP+5,44,'WHAT IS THE LOGICAL UNIT ? ')
1100 	ACCEPT (TCHAR,UNITIN)
1110 	IF (TCHAR.EQ.13) GO TO GOT IT
1120 	DISPLAY (LOOP+5,44,2)
1130 	DISPLAY (0,0,7)
1140 	GO TO GETUNIT
1150 GOTIT,
1160 	NAME(LOOP)=ALPHA(1,5)
1170 	NUMBER(LOOP)=UNITIN(1,2)
1180 	IF (LOOP.LT.7) GO TO GETNAM
1190 START,
1200 	DISPLAY (1,1,1)
1210 	DISPLAY (0,0,'PROCESSING OCCURING . . . PLEASE WAIT')
1220 	DISPLAY (15,1,0)
1230 	LOOP=
1240 IOLOOP,
1250 	INCR LOOP
1260 INITOUT,
1270 	NAMEO(1,1)='$'
1280 	NAMEO(2,6)=NAME(LOOP)
1290 	INIT (02,O,NAMEO,NUMBER(LOOP))
1300 READ,
1310 	XMIT (01,INPUT,EOF)
1320 	SIZE=(4096-64*#TRICK(3)-#TRICK(4))*2
1330 WRITE,
1340 	XMIT (02,OUTPUT(3,SIZE+2))
1350 	GO TO READ
1360 EOF,
1370 	FINI (01)
1380 	FINI (02)
1390 	DISPLAY (LOOP+5,1,'TRANSFER OF FILE ')
1400 	DISPLAY (0,0,NAMEO)
1410 	DISPLAY (0,0,' COMPLETED!')
1420 	DISPLAY (0,0,7)
1430 NEXT,
1440 	ON ERROR NOMORE
1450 	INIT (01,SYS)
1460 	GO TO IOLOOP
1470 NOFILE,
1480 	DISPLAY (1,1,2)
1490 	DISPLAY (0,0,'NO INPUT FILES IN RUN LINE!')
1500 	DISPLAY (0,0,7)
1510 	STOP
1520 NOMORE,
1530 	DISPLAY (LOOP+7,1,'FILE TRANSFER COMPLETEED!')
1540 ;
1550 ;
1560 ;END OF PROCEDURE DIVISION
1570 ;
1580 ;*************************************************************************
1590 ;
1600 ;
1610 ;END OF PROGRAM
1620 ;
1630 END,
1640 	END
1650 ;
1660 ;
1670 ;*************************************************************************



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search