/ SIGIN2 JSB/JG 27.4.72 /INPUT SIGNAL ON DISK /TIMING BY REAL TIME CLOCK /FILE ORGANISATION BY PS 8 /OPTION =N DEFINES DESIRED LENGTH OF FILE IN OCT /IF NO =N IS GIVEN THE MAX AVAILABLE FILE LENGTH WILL /BE ALLOCATED /IF A FILE LONGER THAN THE MAX AVAILABLE FILE LENGTH /IS SPECIFIED BY =N NO ERROR DIAGNISTIC IS /GIVEN BUT THE PROGRAMM WILL RETURN TO THE COMMAND /DECODER FOR ANOTHER FILE SPECIFIACTION /RATE DEFINES THE S//AMPLING RATE FIELD 1 PAGE1=2600 AUTO=10 *PAGE1 SIGIN, SWAB CAF TAD (7606 DCA ARG1 CLA IAC JMS I (7700 /ENTER 3 ARG1, 0 ARG2, 0 /NAME OR -LENGTH JMP ERROR TLS TAD (JMP ENTRY2+1 DCA SIGIN+1 ENTRY2, JMP SIGIN CAM DCA ERFLAG DCA BFSEMP DCA TOTAL CMA /CLEAR BUFFER AREA TAD BFST DCA AUTO TAD M6000 DCA CLERCT CDF 0 DCA I AUTO ISZ CLERCT JMP .-2 CDF 10 TAD ARG1 /NEXT MULTIPLE OF FOUR CIA AND (3 DCA DSHIFT DCLS TAD DSHIFT /SET UP WC,CA FOR INIT XFER SNA JMP NOSHFT SHL 10 CIA DLWC CMA TAD BFST DLCA TAD COMWRD SKP NOSHFT, TAD COMWD2 /SEARCH TRACK ONLY DLDC TAD ARG1 /CLEAR 1.BLOCKS ON DISC DLDW DSKD JMP .-1 DSKE JMP .+3 ISZ ERFLAG DCLS TAD DSHIFT /STARTING ADDRESS ON DISK TAD ARG1 DCA CURBLK TAD DSHIFT /CHECK FILE LENGTH TAD ARG2 DCA MMXLEN CLL CML CMA TAD MMXLEN TAD I (7646 /LENGTH BY =N SNL CLA JMP .+3 JMS TPLNGS /TYPE AVAILABLE FILE LENGTH JMP SIGIN TAD I (7646 CIA SNA TAD MMXLEN CIA LSR 2 CIA DCA TFTOT TAD I RATEP CIA CLAB CLA TAD ENABLE CLOE CAM TAD RETRNP /SET UP RETURN ADDR IN SAMHAN DCA SMHNSR /FOR INIT OF SAMHAN TAD COMWRD DLDC TAD BFST /SET UP AUTO FOR INIT PHASE DCA AUTO TAD GAIN ADSC CLSA CLA JMP SMHNIN CLERCT, DSHIFT, 0 MMXLEN, 0 ERFLAG, 0 RATE, 320 /SAMPLING RATE ENABLE, 5640 RETRNP, INTDON COMWRD, 0 COMWD2, 200 GAIN, 0 /ADC SENSITIVITY AND CHANNEL 0 M6000, -6000 TEM, RATEP, 2122 /IN SIGOUT ERROR, TDC "R TDC "E TDC "C TDC "? TOOLGO *PAGE1+200 SAMHAN=JMS I . SMHNSR LOP1, TAD SYSRES /CHECK DISC ADDRESS CIA CLL TAD CURBLK SNL HLT SAMHAN TAD CURBLK DLDW SAMHAN TAD NRBLKS /UPDATE DISC ADDRESS TAD CURBLK DCA CURBLK SAMHAN /WAIT FOR END OF TF DSKD JMP .-2 DSKE /TF ERROR ? JMP TFOK ISZ ERFLAG DCLS TFOK, SAMHAN ISZ TOTAL ISZ TFTOT SKP JMP DUN SAMHAN ISZ TFBFCT JMP TIN1 JGLIN, TAD BFST DCA TFBFNX SAMHAN TAD BFNUM CIA DCA TFBFCT JMP TIN2 TIN1, TAD TFBFNX /UPDATE TRASFERBUF NEXT TAD BFLNG DCA TFBFNX TIN2, SAMHAN TAD BFLNG /SET UP WC AND CA FOR TRANSFER CIA DLWC SAMHAN CMA TAD TFBFNX DLCA SAMHAN LAS /CHECK SR BIT 11 RAR SNL JMP DUN SAMHAN KSF /INTERRUPT IF KEYBOARD STRUCK SKP TOOLSR TTOCLS, SAMHAN TAD BFSEMP /ANYTHING TO TRANSFER? SNA CLA JMP TTOCLS /NO, WAIT SAMHAN CLA CLL CMA /DECREMENT BUFSEMP TAD BFSEMP DCA BFSEMP /BFSEMP SHOULD BE CALLED BUFSFUL!!! SAMHAN JMP LOP1 CURBLK, 0 NRBLKS, 4 TFTOT, 0 /CNT FOR TOTAL NR OF BUFFERS TFBFCT, 0 SYSRES, 400 BFST, 1000 TFBFNX, 0 /ADDRES OF NEXT BUF TO BE TRANSFERRED BFNUM, 3 /NR OF BUFFERS IN CORE BFLNG, 2000 BFSEMP, 0 TOTAL, 0 GETSAM=JMS I . GTSMSR SMHNSR, 0 /HANDLES INPUT SAMPLES GETSAM ISZ SAMCNT /THIS INPUT BUF FULL? JMP I SMHNSR /NO, RETURN TO MAIN PROGRAMM GETSAM CLA IAC /FREE BUF AVAILABLE? TAD BFSEMP CMA TAD BFNUM SMA SZA CLA JMP IN3 TDC /NO, TYPE DIAGNOSTIC "O JMP IN2 IN3, GETSAM ISZ BFSEMP /UPDATE BFSFULL!!! SKP HLT /CATASTROPHIC HLT GETSAM ISZ SGBFCT /NEXT SIGNAL BUF IN LINE? JMP IN1 /YES SMHNIN, TAD BFST /START FOR INIT DCA SGBFNX /NEXT SIG BUF STARTS FROM BOTTOM OF GETSAM TAD BFNUM CIA DCA SGBFCT JMP IN2 IN1, TAD SGBFNX /NEXT SIG BUF IS IN LINE TAD BFLNG DCA SGBFNX GETSAM IN2, GETSAM TAD BFLNG CIA TAD EXTRAS DCA SAMCNT GETSAM CMA /AUTOINDECREG FOR GETSAM UPDATED TAD SGBFNX DCA AUTO JMP I SMHNSR SAMCNT, 0 SGBFNX, 0 SGBFCT, 0 EXTRAS, 6 *PAGE1+400 INTDON, CLA /SWITCH FILTER TAD SWWRD SO1 JMS TPLNGS TSTKB, LAS RAR SNL CLA JMP CHCKUP TOOLSR JMS PPM JMP TSTKB CHCKUP, LAS RAR SZL CLA JMP CLCKGO TOOLSR JMS PPM JMP CHCKUP CLCKGO, CLA CMA CLZE CAM TAD ENABLE CLOE CLSA CLA JMP JGLIN DUN, CLA TAD ERFLAG SNA JMP NOERR TDC "E TDC "= TAD ERFLAG TOCT NOERR, CAM TAD TOTAL SHL 2 CIA DCA I PLAYP1 /FILE LENGTH FOR PLAY TAD ARG1 DCA I PLAYP2 /STARTING ADDRESS O DISK TAD (NOERR DCA I PLAYP3 /RETURN TO SIGIN AFTER PLAYING TDC "C TDC "L TDC "O TDC "S TDC "E TDC "? KSF JMP .-1 KRS CHECK "Y JMP CLOSE DCA ACSAVE LINE TAD ACSAVE TOOLSR TOOLGO PLAYP1, 2011 /IN SIGOUT ARG2 PLAYP2, 2010 /ARG1 PLAYP3, 2442 /PLAYP ACSAVE, 0 SWWRD, 1 CLOSE, TCHAR KCC CAM TAD TOTAL SHL 2 DCA LENGTH IAC /DEC NR 1 JMS I (7700 /CLOSE 4 7606 LENGTH, 0 HLT END, CIF CDF 0 JMP I .+1 7600 *PAGE1+600 PPM, 0 /DISPLAY SIG AMPLITUDE IN MQ CLA CMA CLZE CLA TAD PPMCLE CLOE CLSA CLSK JMP .-1 ADSF JMP .-1 ADRB SPA CMA DCA SAMPLE TAD STATE CIA TAD SAMPLE SPA CLA JMP SMALL TAD SAMPLE DCA STATE SMALL, TAD STATE IAC SPA CLA JMP OVLOAD TAD STATE NMI TAD (1000 AND (6000 DCA SAMPLE /TEM USE SCA DCA SHIFT TAD SAMPLE LSR SHIFT, 0 MQL JMP UPDATE OVLOAD, CMA MQL ISZ CNT JMP .-3 UPDATE, TAD STATE TAD DECR DCA STATE JMP I PPM STATE, 0 SAMPLE, 0 DECR, -1 PPMCLE, 5500 GTSMSR, 0 ADSF JMP .-1 CLA CLSK JMP OK TSF SKP TLS CLSA CLA OK, ADRB CLSK JMP .-1 CDF 0 DCA I AUTO CDF 10 CLSA CLA JMP I GTSMSR CNT, TPLNGS, 0 TDC "N TDC "= TAD MMXLEN CIA TOCT JMP I TPLNGS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$