C PROGRAM SHOWMOVIE.FT C ---------------- C C PETER LEMKIN C IMAGE PROCESSING UNIT, DCBD C NATIONAL CANCER INSTITUTE C NATIONAL INSTITUTES OF HEALTH C 9000 ROCKVILLE PIKE C BETHESDA, MD. 20014 C C JUNE 8, 1978 C FEB 17, 1977 C C INTRODUCTION C ------------ C SHOWMOVIE.FT IS A CHAINED PROGRAM USED WITH BMON2 C IT RECEIVES ITS ARGUMENTS FROM THE CD AREA AND THE IBM1,IHGH1 C IBM2,IHGH2, JBM, JHGH VARIABLES IN COMMON. COMMON IS RESTORED C FIRST BEFORE THE FUNCTION (TO BE INSERTED INTO THE BODY) IS C EVALUATED. AFTER THE FUNCTION IS PERFORMED, COMMON C IS SAVED AND BMON2 IS CHAINED BACK TO. C ANY COMPUTATIONS ARE DONE, THE ARGUMENTS ARE THEN CHECKED C C SHOWMOVIE - request a list of BM movie frames C and then put them into the movie list. Control the rate from Pot 0. C If /M then display mask for that image. C OPDEFS C ------ S OPDEF TADI 1400 S OPDEF DCAI 3400 C S OPDEF MQA 7501 S OPDEF MQL 7421 S OPDEF KRS 6034 S OPDEF BSW 7002 C C S OPDEF HPL 6360 S OPDEF HSR 6321 S OPDEF VPL 6362 S OPDEF VSR 6323 C C S OPDEF FBW3 6343 C C DIMENSION IATOD(16) C C C [1] INITIALIZATION WRITE(1,995) WRITE(3,995) 995 FORMAT(' SHOWMOVIE 6/8/78 - 4:01PM') ET=TIMER(0) C C [2] DEFINE BMOMNI CALLS MCLRMOVIE=14 MINSMOVIE=15 MRUNMOVIE=16 MSAMPLE=31 C C C [3] SETUP THE MOVIE WRITE(1,101) 101 FORMAT(' ENTER FRAMES (BM NAMES, /M FOR MASK) 1/LINE.' 1/,' NULL TO TERMINATE.') C C C [3.1] RESET THE MOVIE CALL BMOMNI(0,0, 0,0,0,JUNK,MCLRMOVIE) NFRAMECOUNT=1 C C C [3.2] GET THE NAMES. 320 CURSYM=' ' WRITE(1,1321)NFRAMECOUNT,CURSYM, 1321 FORMAT(' [',I3,']',A1) CALL BCDSPEC IF(KINFILE)321,400,321 C C CHECK THE SPEC S \321, TAD \KINFILE S TAD (-0215 /-"BM" S SZA CLA S JMP \900 /ILL FORMED, ASK AGAIN S TAD \KINFILE# S BSW S AND (77 S TAD (-60 S SPA S JMP \900 /ILL FORMED S TAD (-D8 S SMA S JMP \900 /ILL FORMED S TAD (D8 S DCA \MEM /SAVE MEMORY # C C TEST FOR "H" S TAD \KINFILE# S AND (77 S TAD (-0010 /"@H" S SNA CLA S IAC S DCA \IBYTE C C GO INSERT IT INTO THE LIST WRITE(3,1322)NFRAMECOUNT,(KINFILE(LSNEW),LSNEW=1,2) 1322 FORMAT(' [',I3,'] ',2A2) GOTO 330 C C C ILL FORMED S\900, CLA WRITE(1,901) 901 FORMAT(' ILL FORMED BM SPEC!, TRY AGAIN!') GOTO 320 C C C [3.3] TRY AND INSERT IT INTO THE LIST UP TO 384 FRAMES LONG 330 NFRAMECOUNT=NFRAMECOUNT+1 IF(NFRAMECOUNT-384)333,333,331 331 WRITE(1,332) 332 FORMAT(' USED ALL FRAMES, STARTING THE MOVIE!') GOTO 400 C C INSERT IT 333 CALL BMOMNI(MEM,IBYTE,0,ISW(13),NFRAMECOUNT,JUNK,MINSMOVIE) GOTO 320 C C C [4] RUN THE MOVIE AT P0 [0:31]*0.1 FRAMES/SEC RATE. LOOK AT C FBW3[11] TO EXIT 400 CALL BMOMNI(0,0, 0,0,0, IATOD,MSAMPLE) KNOB0=IATOD(9)/32 C NTIMES=1 CALL BMOMNI(0,0, 0,KNOB0,NTIMES,JUNK,MRUNMOVIE) C C TEST IF RETURN IF CLASS KEY 11 S FBW3 S AND (0001 S SNA CLA S JMP \400 /CONTINUE C C C C C [999] RETURN GOTO 998 999 WRITE(1,996) 996 FORMAT('BAD BM SPECIFICATION!') 998 ET=TIMER(1) CALL CHAIN('BMON2') END