.TITLE sho .IDENT /CONVOL/ ; ; SHO show START UP INITIALIZATION ; ; MACRO LIBRARY CALLS ; .MCALL CLOSE$,CSI$,CSI$1,CSI$2,EXIT$S,GCMLD$,NBOF$L .MCALL GCML$,GPRT$S,OPEN$R,OPEN$A,OPEN$W,OPEN$M .MCALL PUT$S,PRINT$ .MCALL FDBK$R,FDRC$R,READ$,WRITE$,WAIT$ ;BLOCK R/W .MCALL ALUN$S,GLUN$S,QIO$S,QIOW$S,WTSE$S CSI$ ;DEFINE CSI CONTROL BLOCK OFFSETS GCMLD$ NBOF$L ;define filename blk offsets ; ; LOCAL MACROS ; ; ERROR MESSAGE OUTPUT ; .MACRO MSGPUT NAM CALL $ERMSG .WORD MG'NAM .ENDM ; ; LOCAL DATA ; ; CSI CONTROL BLOCK ; CSIBLK:: .BLKB C.SIZE ; ; ; TASK MEMORY LIMITS ; .IF NDF RSTS LIMIT: .LIMIT ; .IFF .PSECT FOTBF1,GBL LIMIT: .BLKB 2048. ; .PSECT FOTBF2,GBL ELIMT: ; .PSECT .ENDC ;+ ; **-$START-START UP INITIALIZATION ;- ; ; ; ; $START::MOV SP,SPSAV ;SAVE INITIAL STACK POINTER OPEN$W #TTBLK ;OPEN COMMAND OUTPUT FILE BICB #GE.CLO,TTIBLK+G.MODE ;SET TO LEAVE COMMAND INPUT FILE OPEN IMAGE:: MOV SPSAV,SP ;RESET STACK POINTER ; 10$:; CLOSE$ #TTLDMY ;CLOSE INPUT FILE CLOSE$ #LSTBLK ;CLOSE LISTING FILE GCML$ #TTIBLK ;GET A COMMAND BCC 30$ CMPB #GE.EOF,G.ERR(R0); TOP LEVEL EOF? BNE 20$ CLOSE$ #TTBLK CLOSE$ #TTIBLK ;close cmd input file EXIT$S ; ; 20$: MSGPUT CMDE ;COMMAND ERROR BR 10$ 30$: MOV G.CMLD(R0),R1 ;GET BYTE COUNT BEQ 10$ CSI$1 #CSIBLK,TTIBLK+G.CMLD+2,R1;CHECK SYNTAX BCS 20$ ; ; ;***************************************************************** ; GET OUTPUT FILE SPECCIFICATION ;****************************************************************** ; 60$: clr $SWTHO ;clr switch states clr FUNMEO ;clr fun mem switch arg, default = all 3 MOV #1.,IMAGEO ;SET OUTPUT LOW movb #'A,COLMEO ;set color mem switch arg default to all CSI$2 #CSIBLK,OUTPUT,#SWTBLO BCC 71$ 70$: MSGPUT OFER ;OUTPUT FILE SPEC ERROR jmp 10$ 71$: BITB #CS.MOR!CS.WLD,C.STAT(R0) BNE 70$ ; ; ;***************************************************************** ; OPEN OUTPUT FILE ;****************************************************************** ; ; 83$: ALUN$S #5,#"CD,#SPCUNT ;assign lun #5 to CD,unit = 15 bcc 400$ ;go do I/O op's br 70$ ; ;************************************************************** ; SETUP FOR OUTPUT ;*************************************************************** ; 400$:; 450$: bitb #CS.EQU,CSIBLK+C.STAT ;test for input arg ? beq 451$ ;if none then set up display mux jmp 35$ ;if set then go get input ; ;***************************************************************** ; IF ONLY OUTPUT FILE SPECIFIED DO THE FOLLOWING TO SET UP DISPLAY ;****************************************************************** ; ; 451$:; ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; read state of COMTAL display screen control words ; modify them according to switches and then restore them ; to COMTAL comtrol registers ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 460$: jsr pc,shoDIS ;set up screen display BCC 461$ ;IF OK GO ON JMP 70$ ;ERROR IN ACESSING DATA BLK 461$: jmp IMAGE ;end command and get another ! ; ; ; ;***************************************************************** ; GET NEXT INPUT FILE SPECIFICATION ;****************************************************************** ; ; 35$: br image ;no input files allowed now .end $START ;go start me