/OS/8 HANDLER TO EMULATE SYKES 7250 FLOPPY DISK ON LSI-11 // A DEATFP MDOURA. B,XAYPSS E K#9 909B051 2 LBU1J Y,769 15 / O/ LNRIN, BOB SCHOR JULY, 1978 // / USED IN CONJUNCTION WITH LSI-11 RUNNING "SYKES", WHICH CAUSES PDP-11 TAO/EP AP TR BOYKES DISK, AND TO WRITE SYKES-FORMAT FLOPPY FILE S R/TS/NRAESFII VP AAREALIL ELTANF RETCEEBEPW -NP DLD8NSAL1 -II S1 TNIHM LH // T NFIREECHACA REATSCICRI-T S- / S/ 1K =1P1 66K 1 IS IPPPF -DAF8IGLHS HI / G U P1 1 T=6 1 6 N2EAS TD PC -OP,D1O1LR EPWP-8 FLAG TG/ 1E6=141 R 6EE EICR V OFPPM1-DN 1 TI,AOO CRWLGIEL N AF G/T / HE INTERFACE HAS ONLY ONE FLAG FOR EACH DEVICE, SO NCYRONOUS I/O I S O/ PTNSO LIS EBO .VWH,EEY RHNSNRCSOO/ UCOI A BNCAEPOCSLMDHIU,ENS TGI H C E/C NTOPFEOM "T S"ARNEA" ADL"SEEVVICE. //S ARMEATWS TOIFT NRAERFFS MROLRSE V A. / WHEN FLAG IS RAISED, MEANS SLAVE HAS DATA TO SEN D S/ VL TEANR ESA RFTDSTAAASTER. /W NH L E AF IGIRSDSAM,ENE MSATA ESSHRC APCADTEF ERFOGIE/ N / MASTER CAN "VOLUNTARILY" BECOME SLAVE BY WAITINGR OLAG, BUT NOT /CA TECGIPA N,TDU AITBEM ADMLTISYETW ICI NH TGASO VLASESTTN UDDANO I IGFT/SRRTS NRAE F. /SLAVE CAN "DEMAND" TO BASTER BY SENDING ANY DATA, THEN WAITING FO R L/ AFIWG CHGSHLNITSATH E AYWNE-LTMD EOL"DEASH"V A TDSTAASO DE N ./ /NEEDLETS SAY, BOTH MASTER AND SLAVE HAVE TO BE SYNCHRONIZED-- T H/SMERTAU E SMOKTWWNNH O EG TRNITEO H E"ENMD DAOF"TMR H ASE VLIWE CHS HNI/SAGH LCETNH GA OEASFSTT/ U / IF THE PDP-8 "START" SWITCH IS PRESSED, ITS FLAG GETS LOWERED AND THE /PP 1-DL 1 AFTGGRSEED. HENCE THE DEFAULT INITIALIZATION IS PDP- 8 A/ ESM RTPP,1-DL 1EAS .VSM OTOTF H ATEFNRSESR RDEAEO N NH IOETOP TSP I EESE/SWNIT, THE PDP-11 AS MASTER, SO THAT AFTER BOTH PROGRAMS EXIT, THE /PP 1-DE 1IMR NASMSRTA .EET D H1PPP1-GR MROS AEY" SKPE"TEXTSCHA THE PDP- 8 S/ A IESMWRTNH T ES II ITRFA SELC DLDA,E NNMD DASMSRTAT EUASFST O SIRFET L H.SL/UIO AD ETRYLDEABA ME T S,IRHWT LSLRISULT IN ITS IGNORING THE FIRST /MC NMOFDAMR H OPET-D 8PIW, CH IHWASSAL YE"ATSR "EIW, CHYMHE AA BLFS E GYIR/O NDEEHITFT STRME. // / SYKES DISK CONVENTIONS - - D/P8/-OPW D RF O2T1I(B BSS,M0S L1 B) 1SOITDSESRA AI AOP BR EFT YS / BYTE 1 BITS 2 3 4 5 6 7 TB/2EYB SI T 8 19 10 1 ? ? ? ?/C / OMMANDS - - 7/ 06 E 0TSRC,EAL ORE U TITFENEARR CEE( TSFSSRE POINTERS) /X TX4CR SKATE/,OCE R/ARIWD TRMCENMOPDARA A IAL( YWNSSITEPN RA SI )/S D0NEERI/E CETVYPB-REI/A 603 TERMINATE I OUPUTTING PARTIAL BUFFER ON WRITE P //T OORC-O L- / A/ LNH EDRFR SISITSUSR EEE",TSH " ETNSN DEOTSO WSRWF DR OKATE/COCSNFTRMATIO N 4/ X ATX CRMNKRBU E X=1&X,7 R 7 OF70M(6-CD AIE LM )/Y YE4SO TNC BRM URYE &= 7Y3F M,O-R1 6E2DM(I)CL/A READ/WRITEYY & 40 (0 = READ, 40 = WRITE) /RF V OYEED R8PPO - RW ODTDFTAABO TE NR ESAERFTDROO FR MR Y OSKSP E-D()1P 1 D,P8/-NPII TEIT A REQUEST BY SENDING A NULL (0) WORD. TWO BYTES ARE THEN TNR/ESAERFTDROO FR MR D OEE(IRTDNMY EH BRETDE R/AEIWI T TBET)E HCVD .I BOE/ RFIEENTXFGIMR H OHETDA RLNA,ET ME"AIR"TNS EE I.NS/ T / /IT HSHDA RLNS EN IRTICFE EA TD/OOB8S"Y IB "LU .DSI T TCRSE CONFORMS TO THE DCE/PRSOTIINITN H /OEH8SDA OBN KOAC,EPH2RT", IB "LUE DICS.OT/ N / IN ADDITION TO USING BUILD TO ADD THE HAED TO THE SYSTEM, WE MUST TELL PIP H O/NMWBYACL KOEASN RH ODETIE ,CVS EO AOLF:WL/ S G . TSEYISP P / .ODT /3 561X/5 XX6 X/WHERE 55 (136NN) IS THE DEVICE TYPE, 7046 = -476 (DECIMAL) BLOCKS // / /TI FENEARO CDTIIE TNFNII O S/ SKP11= 6161 /SKIPP-8 FLAG HIG H U 1TP6=121 S 6DE/C NO AD T1PP - E1G1 16T 4=6R1/D AREF MPOD1P1N-I O TC A / MCI/LESEALSONE UNFDIIISOT/ NXF IMID R=XIS ZIN/ XDIN ERSITUTNICC,ONO TUTWSUHISTOPK I X IIFRXME TJI =P M /I B0UUSONRIET TEI/X // EJECT ER/BLOCK FOR HANDLER // N -NN B=M UR EFNOAEHL DS RNLII FE / DEVICE XXXX TWO-WORD GROUP NAME (6-BIT ASCII) /E CVDYEIYY O-WORD DEVICE NAME (6-BIT ASCII) BD/D CIE CVNCEOTOBLRCL O K T/I B01 I=F- ERLTTSCEUR UD / BITS 3-8 = 55 DEVICE TYP E E/ RN FFSET OFFSET OF HANDLER ENTRY FROM START OF PAGE / A 0 SLOTTO WSRWL DYWAZSAOE / R 0 / * 0/ -1 /1 HANDLER S 11 /GROUP NAME DIE CV1DED XIE/ CVMNE A 5E4 0F5/E LTISC-URRU,TDEEDC I5V E5 SYKES-200 /ENTRY OFFSET 0 L/ YWAZSA0E R A0S ZERO // / MAIN BODY OF HANDLER H //D NRAEAL SELRADCESLAO FO L LS W- - / JMS I ENTRY NF/LTC/ RNF ICU OTNCNORO / I/ 0TB F0= O PIR,UN TRF1U OUTO P T B//S T-I1= U5NE BOM 1R -F8R2ORW ODCSEDORTR TS NRAE/F /BITS 6-8 = MEMORY FIELDR ORANSFE R B/ FU EFB RFU/ EFDARSRD E BS C/O L TKST/RGANLIBK CUONE B MR / JMP ERR /ERROR RETURN LOCATION .(/ ..N )MO/ ARURN, I/O COMPLETE * / 0 0/2 / O TEN,RNE YPTGAA TMRSEER R OFEUM S R/ SYKES, 0 /ENTRY POIN T L CAC L R L FBD/L IRU UDT ENERTRFCTION T A I(DCFC D D F ANCTFRISC/E VOAFR URT ENTR AD K7600 /ISSUE "RESET" TO DEVICE SJ O M 1TE/1 NS TDPPO1-DTA1 I SYKES /GET FUNCTION WORD AD E C MTA/P VS IEI T XKDY SSTE AD I SYKES /GET BUFFER ADDRESS AD U CTFB/RPVS PEANO RTI E X DEI // / SBO C8ONL BKMSURREAC VENTOR EDTENSI EOKTY CSASR/TKC ERMOURNEAB FS LSLSOW-O-/ /CE OHA8S L /KOBS C5 IW62DO LNR, EACH SYKES SECTOR IS 128 BYTES LON G I/ ENSA C CEPPH -DRW8TDOEA TSK W TBO,EYH SEETR R4EAE OCS RTRPSS E /OOB8 CLB K/C ONL BKMSU START FROM 0, TRACK AND SECTOR NUMBERS FROM 1 A/ CEATH CRSHK2 A2 3D6(IE LMCS)ATE SOC/ R U H TS / TRACK = (BLOCK * 4)/32 + / SECTOR = MOD (BLOCK * 4, 32) + 1 I/DS/INVOIIW L LECBCPAMSOIDLEYHBE RA EDPEUTSR TTBCNAO/I AD R CKATI CTN/LIIEIAU ZIOQTETDT AKSI EYE/SBTGCL CKONO U LTCR LL*T/ 4I DX TRACK /INCREMENT QUOTIENT FIRS T A (DT2- S 3TU/CRBDTAII RSV O A M/SCK FOR NEGATIVE PJ - M/3.OL O APT( 0D0243 +1A+M /ECKERSOOTCA M MDDN CA SECTOR XI Y DSKS/ E / NOTE THAT TRACK AND SECTOR NOWRM TO THE ABOVE CONVENTION, WITH THE /DA IID OT ON04FO 0E TOCSTRTMO EA T KH IAETRP ROPTIPCEAMO DAM/ N / NOW PROCESS FTNON WOR D A/TT PDMRE/R TVEEFI CENOUI TN RAL /* 2 TRANSFORMS IT TO WORD COUNT, R/W BIT TO LIN K N KDA07 /06VS OEAYN O L RWUTDBIT S Z ASK/ IS IP WF0=CF, LU I-LDEFE L ARC D AMI/E K A-O W (DURO)CT N DCA WDCNT /AND SAV E A TDTPE R MRE/VITFEECU N N KDA 7 A/0 VSEFE LITBD I AST( FDDBC/L ICU DF DOTTABD FAF URDE CA TEMP /SAVE AND EXECUT E MT PEFC,/ DTS U EEFBFRFLI E D/T IS POINT, SET-UP IS FINISHE D A/ LNH EDTRRNUEN R)O(S WO IR TRREO OTIP/ N / START ACTUAL I/O BY ISSUING TRACK AND SECTCO MANDS T / DAAR TKECGT/ CTA RK TAD (400 /MAKE COMMAND J M 1TS/1ONS TDEDO IE CVS E LLZ/K NTISL LAIHR SWT/I0B ,=A E R,WDITE DT 4 A/0KKM WEATR CEIMO DAMF NI I NLTSK E D AETSO T/C IRU BDCLERSOOTCA M MDJN MS TO11 /SEND TO DEVICE D //P S IO READ OR WRITE BLOCK S N/SC LASL/P IOKTR WE T I JMP READ /GO READ C //E MEOH E ROITR WEOTLSBKNCOE DC I VE /TRANSFERS BIRE TO DEVIC E I/R,WEATTI UDBT P/F TREOGW DORRBF FMF URJE MS BYTEIT /BREAK UP INTO BYTES AND SEND BYTE TO DEVICE /BRING LINK, BIT 8 OF PDP-8 WORD, INTO A C M BSJEY ITE/T NSCSDDOEY N TBI E XFDURBTBP/P MUUBE FPF NRIROEKT 40, 40 /CONSTA DUMMY "AND" AC / LEC SALC RFCA O XNRTTEEI M Z SDIWT NCC/N UWO DTR OS JMP WRITE /AND LOOP C //E MEOH E ROITXFE MTOARER Q /ST ITU ,D0A6/( S3S IERUENTIEMT A JMS TO11 /SEND TO DEVICE XI Y DSKSB EPU/A M SPRET ORTRRNUEK R 7 711 ,7C7/S NNOA T,MTUADD" TINR FCTH,/ LTS N ERSITUTNICI ODEF L I XSE ETK/Y DSNEARR U TN / U/SO/RIBT UE NOCTIAP RKAWP DTRROF MPOD P8T-NTI S O/ TTR EAT4SRO HI TGNS, DEWLS EOB8RSI / T BYTEIT, 0 RR / TTR EAO TGR4 HIR T RDT CA TEMP /SAVE TEMPORARIL Y A TDTPE DM73 K 7PE/N EBEOEY 'TRWS TOJ H S1MO/T N1ETS DD IOV EETC AD TEMP /RESTORE A C X IETBTTEYA I N/IED TXTW,LHIKI N NADAOTATED 4 TIMES //C / OME HERE TO READ BLOCKS FROM DEVICE P //T OORCIO TL SS DONUEN LTLYTB RE UOQTESAED, AETDN A"M SDARMESTUS" /CA TECY P-TBIPE RAET,BNHOE MCL"EEASA"VIG A N/ READ, JMS TO11 /SEND NULL BYTE TO REQUEST DATA, STATUS SWITC H U PDEMAND MASTER STATUS J M OFS1MRG 1 E/BATEY T D N3A( 7E7K /PBE S8T I CLL RTL /MOVE THEM U P T LRO/ O T8PTD 8PPI - TBD S E P /AND SAVE J M OFS1MRG 1 E/CSTDOEY N TBR E RST/V ODH NEWNOI OWTO LRBE S4T I RTR DA 1 N/7(LO KYNPE O ERWL ETB4 TID TEMP /COMBINE WITH UPPER 8 C IADU TFB/RPDA A N VSI E XFDURBTBP/P MUUBE FPF NRIROEKT 70, 70 /CONSTANT, DUMMY "AND" SJ ATM1 /NOW WAIT FOR 11 TO BECOME MASTER AGAIN I S CWZ NDO/TTUCO NSRW D P MEJR DNAAL/ PDO O JMP SQUIT /TERMINATE AT END OFOCK // / SUBROUTINES FOR PDP-11 COMMUNICATION // 1 OST D1NAE TS 1C O,I1A,WSETRR U TSTNIAW CH ACE L,NRIUL HKCGNN AD E / O,1T1U 1TE/ NS AD TC 1OJ 1 SIMA1W1WT/T IOAF1 TR A1 EOC CT7P K 600, 7600 /CLEAR, ALSO USEFUL CONSTANT IE TTX1O R 1UE/ AT CLEAR, LINK UNCHANGE D R/F1/MWO T1IFA SR,O1H1T NCECTAPAE OSW D R / R1OF 1M , M0JW TSI A1A1W /TRIO1F1O TE S DGN ET11 HE WOR D X IEOFT1MRR 1UE/ RTTWNWHIDO N RC I/ A / WAIT11 WAITS FOR 11 FLAG TO COME UP IPF/-D 1P I1SMSRTAM,ENE 1SAHS ACCEPTED PDP-8'S OFFERIN G F/ D I8PPS -A IESM RTAM, NE 1SSH1F ARFOGIEO NPRF-D T8PAO EC PC T/R / OUTINE MAINTAINS AC AND LINK, LEICHECKING KEYBOARD FOR CTRL C F/ R IBOT LUCRESUET,R H YKEABE ROURDNTOCEI A BNIEENMLEAIBDT EYRA/LNPI"C PGM+J. " 2TIAA1W+2 WITH "JMP .-1" A /W1 T I, 10 SKP11 /CHECK FLA G M .PJ + K/2 IS IPTNFE OYARC,DCH KKE B E D T IAXW1 T/I I1XWE NTE1H1L F GMAUPC D C MTACPES AEA/C VU ANRDKGI B ECD CHK K BRR/D ABEK D AND K177 /KEEP ASCII DT 2 A-0(/30EC CHRFK OC=3LT RA CK1 7 /MASK OFF CARRIE S N CAS L S APK/F IO ICTNLT RJ C P3M+J./ P MFRITCC L TAD TEMPAC /RESTORE A C M WPJTA +1I/11NC NTO UITIE G O/C /ERMEOH CE LNR,TCE RR UTT ON 8O//S FC I D0FCG TO/OO 8S / I XKE 0T6/7 W0O!N!/! /T C A R, K R1TK/CRA 0 /SECTOR UTFB RP 0,U/ EFBPRFNO RTIW E N C D, T O0W /DURO CTEN T MPAC, 0 /TEMPORARILY HOLDS AC DURIND KBD REA D // / $$ $