Tarbell_Cassette_Interface_Jan77 Tarbell Cassette Interface Jan77
Tarbell_Cassette_Interface_Jan77 Tarbell_Cassette_Interface_Jan77
User Manual: Tarbell_Cassette_Interface_Jan77
Open the PDF directly: View PDF .
Page Count: 55
Download | |
Open PDF In Browser | View PDF |
THE TARBELL CASSETTE INTERFACE Plugs directly into ALTAI R * 8800 or IMSAI 8080 Computer. Serial-Parallel and Parallel-Serial Conversion performed on board. It's fast - Up to 540 bytes per second (2200 bits per inch) with high-quality cassette recorder. 187 bytes per second (800 bits per inch) suggested s.tandard with medium quality ($39.95) recorder. 27 bytes per second (with modification) for Kansas City format. 1000 bytes per second @ 10 inches per second with PHI-DECK. Encoding method - Phase encoded self-clocking method requires only one channel, and withstands large amounts of wow and flutter. Has been used in the computer industry for many years. Can also be used to generate and detect Kansas City format tapes \~. ith small mod ification. Will work with most audio cassette recorders. Has been used with reel-reel tape recorders. Can easily be adapted to automatically (software) controlled digital cassette units. The J. C. Penny #6536 is presently being recommended ($39.95). Suggested tape is Scotch Low-Noise, High-Density audio tape. The device code (address) to which the interface responds is selectable in increments of 4 by an onboard dip-switch. ' . Four extra status lines are available to read external conditions. Four extra control lines are available, which may be used to drive relays for extra cassette units, startstop control, or controlled cassette drives, such as the PHI-DECK. Two spare IC slots are provided on the board to do your own thing. Software provided includes input/output driver routines, bootstrap, read-only memory program, and a ' BASIC program for saving and loading data. A Processor-Technology Software Package #1, which is an editor and assembler combined, and which has been extensively modified for saving and loading files to and from cassette, is available separately. The 37-page owner's manual includes assembly instructions and drawings, parts and pin-function lists, soldering, cleaning, and installation notes, operating instructions, initial adjustment procedures, notes about using the PH I-D ECK, start-stop control, interrupts, and writing programs for the cassette interface, the software mentioned above, and information about all the integrated circuits on the board. The parts provided include all resistors, capacitors, integrated circuits, cassette cables, ribbon cables, dip connector, low-noise cassette with test stream, and a high-quality double-sided board with platedthrough holes and gold-plated edge-connector fingers. The first deliveries were made in September, 1975. Delivery time is from one to three weeks after receiving order. If you are not completely satisfied with the operation of the cassette interface, for whatever reason, the unit may be returned for refund or free repair within 90 days after you purchased it. Kit price: $120. Assembled & 'Checked out: $175. ManIJal (inel): $4. California residents please add 6% sales tax. ·ALT AIR is a trademark/tradename of MITS, Inc. TARBELL ELECTRONICS - 20620 S. Leapw(Jod Ave., Suite P Carson, California 90746 ~ Phone (213) 538-4251 HISTeRY AND SALES PITCH I HAVE BEEN USING AN INEXPENSIVE AUDII CASSETTE RECIRDER IN MY HeME-DES IGNED CG!JtJPUTER SYSTEM SINCE 1912 • I HAVE IVER' 600 FILES eN CASSETTES" M8STLY ABIUT .. !. rE 43 ?FIC CC BO FF'lF FE 53 F F'~~ 1 CC 73 FF':3ft .... LIF EC FF FF FF F'F l4 r FF FF' F~' F:P2S C.C;. 7B FF FF29 FE 49 FF2S CC BO FF FF2E FE: I-iC FF30 CC 80 FF FF33 C3 00 FF FF36 FF36 :~F36 FF36 CD 3A FF FF39 £9 FF3.6. FF3A 1'F3A F1'3A 71'3D F'F3F 1'1'42 1'FL!3 FFill! FF45 F'F46 FF49 F1'4A 7F4B F'1'4C FF4F 1'F50 FF50 F'1'50 71'50 FF52 21 00 00 OE Oli CD 64 :1" 29 29 29 29 CD 50 FF 85 61' OD C2 3F FF C9 D6 30 F'\;'.... OA FF54 D8 1'F55 D6 07 FF5? C9 FF58 F1'58 0010 * *** READ-f)NLY l'iEt'H2lRY PR0GRAN *** 0015 * SET STACK PTR. 0020 START LXI SP"OECOOH PRINT CTt" LF. 0034 EV I A"ODE 0036 CALL PTCN 0032 NV I A .. Ofl.E (6N C0NS0LE. 0040 CALL PTCN OOLl2 PRINT "1" E'J I A " '?' . CALL FTeN0N CfZNSIZLE. 0043 0050 CALL RDCN READ KEYB0ARD. CPI • E' 0060 IF E" 0070 cz. EXEC EXECUTE A PR0GRAN. CPI ' C • 0080 IF Col 0090 CINR CZ G0 T0 INPUT R0UT INE. 0100 CPI IF Sol ' S• 0110 CZ CS"rNC G~ T0 SYNC GEI'~ • 0120 CP I IF 0" • 0' 0130 JZ ClZlJTR G0 T0 CASS eUT. 0140 CPI IF t 1• I" 0150 CZ Clt:JR G0 T0 CASS IN. 0160 CF I • L' IF L" 0170 e INR D0 A L0AD & Ge. cz Jr';p START 0200 START 0VER. 6000 6010 * EXECUTE THE PR,0GRAi'1 AT THE ADDRESS *** 6020 *** * READ ADDRESS FR0h- KB. 6030 EXEC CALL AhEX JUl'~P T0 IT. 6040 PCEL 7000 7002 * C((;NVERT UP T0 4 HEX DIGITS T0 BINARY * 7004 *** * GET A 16-BIT ZER0. 7005 AHEX LXI H.,O C,,4 7008 I'NI C0UNT £IF 4 DIGITS. 7009 AEEI C.~LL RDCN READ PI. BYTE. 7010 DAD H SHIFT 4 LEFT. 7012 DAD Ii 7014 DAD H DAD H 7016 C0NVERT T0 BINARY. 7018 CALL ABSl 7020 ADD L 7022 MW L"A 4 DIGITS? 7024 DCR C l{EEP READING. 7026 JNZ ABEl 7028 RET RETURN FR((;l'ij AHEX. 7100 * 7102 CQ;NVERT AN ASCII DIGIT T0 hEX *** 7104 *** * ASCII BIAS. SUI 4e: 7106 AESI DIG IT 0-10 7108 CPI 10 7110 HC ALPl-'..A BIAS. 7112 SU I 7 RETURN FRk?t'; ABS 1. 2.ET 7114 8000 8002 * PR II'~T REG ISTE2. A Itt,; C0NS0LE *** *** * FF'5B FF58 F5 FF'59 DB 00 ?F'5B E6 80 FF'5D C2 59 u FF'60 Fl FF'61 D3 01 F'F63 C9 F'F'64 *** * F'F64 F?64 DB 00 ?F'66 E6 01 F'F6F FFoB ?F6D FF6 F' FF72 C2 64 F'F DB 01 E6 7? CD 5 ~:, F'F C9 F'::'71 FF'73 F'F'73 * *** * :17'73 ??73 F'F73 8004 SAVE REG A. 8006 PTC~ PUSH PSW READ PRINTER STATUi 8008 PTL0P IK CeNC 8010 AN I SOE IF BIT 7 N0T 0" TAAIT TILL IT IS. 8012 Jl\Z PTL0P 8014 pep PSW THEN REceVER A" AND PR.'INT IT. 8016 0UT C0ND RETURN FR0M PTCN. 8018 RET 13100 :« 6102 READ FR0K C0NS0LE T0 REGISTER A *** 2104 READ 1 '1 CASSo RETURN FR0t-. CIN. CASSETTE DATA P0RT. CASSETTE STATUS P0RT. 5FOO 5FOO 5FOO 5FOO 5FOO 5FOO 5FOO 5FOO 5FOI 5F03 5F06 5F07 5FOA 5FOD 5FOE 5FII 5F14 5F15 5F16 5FI8 5FIB 5FIC 5FtE 5F21 5F22 5 F23 5F24 5F26 5F28 5F2B 5F2C 5F2E 5F2F 5F2f 5F2F 5F2F C5 OE CD OF DC 04 00 C2 CD Cl F5 3E C3 F5 3E CD F1 C9 F5 DB E6 C2 Fl D3 C9 08 IB SF 15 SF IB SF 06 SF 15 SF 00 IE SF 55 23 SF 6E 20 24 SF 6F 0010 0020 0030 0040 0050 0060 0070 0080 0090 0100 OliO 0120 0130 0140 0150 0160 0165 0170 0180 0190 0200 0210 0220 0230 0240 0250 0260 0270 0280 0290 0300 0310 0320 0330 0340 0350 ** KANSAS CITY 0UTPUT R0UTINE ** ** !OUTPUTS THE BYTE IN REGISTER A. ** * N!OTE: FREQUENCY IOF 0UTPUT 0SCILLAT0R * SH0ULD BE CHANGED T0 4800 HZ F0R * 0UTPUT FREQUENCIES 0F 2400 AND 1200 * F0R A 1 AND 0 RESPECTIVELY. 0CTIOBER 27" 1976 * B .. C. PUSH MVI CALL L00P RRC CC CNC OCR JNZ CALL P0P 0NE PUSH MVI JMP ZER0 PUSH MVI REST CALL PlOP RET C0UT PUSH IOL01OP IN ANI ":. JNZ "" PlOP 0UT RET CASC EQU CASD EQU EQU PSW EQU SP B C,,8 ZER0 0NE ZER0 C L00P 0NE B PSW A" 0 REST PSW A,,55H ClOUT PSW PSW CASC 20H 0L01OP PSW CASD 6EH 6FH 6 6 SAVE R£GISTERS GET BIT CIOUNT. 00 START BIT." LI00K AT LSB. IF 1" D0 A 1. IF 0" 00 A O. DECREMENT C0UNTER. 00 ALL 8 BITS. 010 TWIO ST0P B11S. REST0RE B"C. SAVE REGISTER A. GET 00000000 PATTERN. D0 REST 0F IT. SAVE REGISTER"A. GET 01010101 PATTERN. IOUTPUT TIO CASSETTE. RESTIORE REGISTER A. RETURN. SAVE REGISTER A. READ CASS. STATUS. LIOIOK AT lOUT RDY BIT. WAIT TILL READY. RESTIORE REGISTER A. 0UTPUT TIO CASSETTE. RETURN FRIOM ClOUT. CASS STATUS P0RT. CASS DATA peRT. 1 The frequency of the output oscillator may be changed from it's normal value of 3000 hz to 4800 hz by putting a resistor of about 14 kohms in parallel with R6 (27 kobm). 5F40 5F40 5F40 5F40 5F40 5F40 5F40 5F41 5 F43 5F45 5F47 5F4A 5F4C 5F4F 5F51 5F54 5F56 5F59 5F5B 5F5E 5F61 5F62 5F65 5F66 5F67 5 F6 8 5F69 5F6A 5 F6D 5F70 5 F71 5F72 5F73 5F75 C5 OE 3E D3 CD E6 CA FE CA FE CA FE CA C3 SF C3 37 78 IF 08 10 6E 73 3C 65 3C 65 14 61 28 61 41 0010 0020 0022 0025 0026 0030 0034 0035 0038 0039 0040 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0170 0180 0190 0200 0210 0220 0230 0240 0250 0260 0270 5F 5F 5F 5F 5F 5F 66 5F L17 OD C2 47 5F CD 73 5F 78 C1 C9 DB E6 5F77 C2 5F7A DB SF7C C9 5F7D 5F7D 6E 10 73 5F 6F ** KANSAS CITY INPUT R0UTINE ** ** READS lONE BYTE INT0 REGISTER A. ** * N0TE: IN 0RDER T0 USE THIS R~UTINE~ * MAKE THE CHANGES 0N Y0UR B0ARD * * AS SH0WN IN THE DIAGRAM BEL0W. PUSH B BLIN t-iV I BLe0P C~ C MV I A~ 10H 0UT CASC CALL CAS IN ANI 3GB 0f\!E ~Z CPI 3CH lONE JZ 1 L!H CPI ZER~ JZ CPI 28H ZER0 JZ BLlf-j ZER0 A REST 0NE REST CASUJ 0280 0290 0300 0310 0400 CASC 0410 CASD M~V RAR t'i0V DCR JNZ CALL t'l0V P0P RET IN ANI JNZ IN RET EQU EQU B~A C BL~0P CASIN CASC 10H CASIN CASD 6Eh 6FH SAVE B~C. SET C~UNT=8 BITS. RESET RECEIVER. READ A BYTE (BIT). L00K AT MIDDLE 4 BITS. IF XXOOOOXX~ BIT=I. IF XXllllXX~ BIT=I. IF XXOI01XX~ BIT=O. IF XXIOIOXX~ 8IT=0. MUST BE N~ISE. CLEAR CARRY. D0 REST LIKE 0NE. SET CARRY=l. GET Rl::SU LT. SHIFT CARRY INT0 MSB. PUT RESULT BACK. D0NE WITH BYTE? IF N0T~ KEEP READING. READ AN EXTRA BYTE. GET RESULT. REST 0RE B ~ C. RETURN. READ CASS STATUS. L00K AT INPUT BIT. WAIT TILL READY. READ DATA BYTE. RETURN FR0M CAS IN. STATUS/C0NTR0L P0RT. DATA P0RT. ? 2 10 3 5 6 Cut the traces going to pine 1 and 2 of Ie 9, install a 74L30 in one of the spare slots, and make the circuit look like this. +5V 11 4 12 lK 4 11 {)...--"1---4 5 2 3 2 4 6 +5V lK (--/V'I\M,. r TO Ie 35 PI n 13 This change will not affect the normal operation at 187 bytes/sec. 5EOO 5EOO 5EOO 5EOO 5EOO 5E03 5E05 5E08 5EOA 5EOD 5EOF 5E12 5E IS 5E17 5EIA 5E 1 C SElF 5E21 5E24 5E26 5E29 5 E2B 5E2E 5E30 5£33 5E36 5 E36 5E36 5 E36 5E39 5E3A 5E3A 5E3A 5 E3A 5 E3D 5E3F 5E42 5E43 5E44 5E45 5E46 5E49 5E4A 5E4B 5E4C 5E41'" 5E50 5E50 5E50 5E50 5E52 5E54 5E55 5E57 5E58 5E58 5 £58 31 3E CD 3E CD 3E CD CD FE CC FE CC FE CC FE CA FE CC FE CC C3 00 OD 58 OA 58 3F 58 64 45 36 43 9F 53 73 4F 7B 49 91'" 4C 9F 00 60 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E CD 3A 5E E9 21 OE CD 29 29 29 29 CD 85 6F OD C2 C9 00 00 04 64 5E 50 5E 3F 5E D6 30 FE OA D8 D6 07 C9 0005 0010 0015 0016 0020 0034 0036 0038 0040 0042 0043 0050 0060 0070 0080 0090 0100 0110 0120 0130 0140 0150 0160 0170 0200 ·6000 6010 6020 6030 6040 7000 7002 7004 7005 7008 7009 7010 7012 7014 7016 7018 7020 7022 7024 7026 7028 7100 7102 7104 7106 7108 7 110 71 12 7114 8000 8002 8004 **** READ-0NLY ~EM0RY PR0GRAM * rvj~D IF lED F~'R KANSAS-C ITY * *** * START L) lIritten on tape ill. an as;Yl1C:J.'on01J.s fOJ"":':at, 'with one ctEl.J:,t bi t (zero), 8 data bits (?ero or one), and two ~).top bits (ones). A one is defined as 8 cycles at 2 4 00 hits per secon.d) allrl H 7;ero is defined as 1+ cycles at 1200 ldt;f.) per second. J his p1'ovidf's R data transfer cpeed of 300 be.ud, 01.~ a little lCf_~8 than ~O by teD per second, and may be generated and. decod.ed using a variety of techniques. 1 Since the stnndard is fairly Blow, it suggests that many peoplc \'IB.n.t to have t\'IO methods available. One that, pro\rides for the Kaunas City (BYTE!J.Jaucastcr) format, and another tbat is much faster, to sreod :p:rogram. loadi.ng and developmcnt. The Tarbell Cassette Interface may f:asily be modified for both methods. may First, ·the output oscillf:-tor frequency \-Jill he.ve to be rai:3ed frC'Dl 3000 hz to 4800 hz. ~f.1his is because a higher bit density is requ.ired of the tape, although the actual dattl. transfer l'Hi.;e is much s10".",e1'. A onc may be generated. by "'1'i tine; a \vord of all zeroes (00000000), and a zero :may be generated by writing a ,,,ord of u11;ernating ones and zeroes (01010101). An out])ut; subroutine converts each byte to be \'lritten in this format from parallel to serial form (required only for this formt";!.t). On the input side, the adjustment of the potentiometer (R8) will have to be cha.ngcd for the higher frequency.. 'rhe syr'.c detector circ\lit(IC's 9 a.nd 10) will have to be changed so that it recognizes the al tel"'llEltj.ng bit pattern as a sync byte in addition to the normal sync byte of E6 (hex). An input subroutine converts each byte from it's serial form to it's parallel form (required only for this format). Using. the method outlined above, the Tarbell Cassette Interface can be modified so that a double-pole, single-throw switch will determine which frequency will be used. The software d.etermines the format. Another alternative is to change to the higher frequency permanently, so that no switch is necessary. The disadvantage of this is that you would have to readjust the potentiometer to read tapes made with the standard 3000 hz oscillator (187 bytes per second), and that a slightly higher frequency response is required on the part of your recorder. A description of the hardware modifications, and listings of the subroutines for the operations described above are· available upon request. Please include a self-addressed stamped envelope. 4 CASSETTE INTERFACE F~RTS LIST INTEGRATED CIRCUITS REF NOS DESCRIPTION 1 2 3 4,,23 6 7.d3" 19 .. 25 8,,29 5 9 .. 31 10 80 21,,27 ··-22 26 28 30 32 34 35 QUAD 2-INPUT AND DUAL J-K FLIP-FLOP 8-BIT SHIFT REGISTER DUAL TYPE,-D FLIP-FLOP 5-VOLT REGULATOR QUAD 2-INPUT NA~D ole DUAL J-}( FLIP-FLOP DI-DIRECTlONAL O~E-SHOT HEX I~VERTER eO. IN?UT l,,{-\ND 1QIPLE 3-I~PUT AND HEY INVERTER 5-BIT SHIFT REGISTER *TIMER QUAD 2-INPUT NAND "DUAL 4-INPUT NOR QUAD EXCLUSIV~-OR 6-BIT COMPARATORS QUAD LATe H HEX INVERTER BUFFER OIC QTY PT NO +5 GND "5 1 7408~-· 1 7/~73 1 2 1 4 7 'J L 164 -. 14 74 L7,:'''''', 14 UJ309l< 7/103 -1--',' 14 2 7/J 1 2 1 1 1 2 1 1 1 1 1 1 1 1/47 411 L 731 eT20 - 4 16 7 7 7 11 '/'lLO/, -[ 14 7/j L30 14 7 L J l~· 1 Ll I, 7lJ04 -, 7/)" l'~ 96 -...(. 5 ~ 8 NE:S55 8 7 7 '/ 12 1 7 7/lLOO -- 14 7/J25"- 14 7 74LB6-- 14 7 01·18131' 16 8 7L,L75 - 5 1'4 12 7 7 /406 - 4 7 -tl-C5"CIO-C15 .1 MFD CAPACITOR -C6 .02 MFD CAPACITOR --C7 .033 OH 0039 NF'D CAP,)'C ITOR ,"'C8 *.01 f"oirD CAP/-iC ITOH '''C9 22 OR 25 MF'D Ct,;PAC ITOR -C16 2200 PF CAPACITOR ... C17 .01 NFD CAPACITOH ~Rl -R2 .:.:..R3 -R4 ~ R5 - R6 --R7 -R8 -R9 -RIO-RI7 ·'CRI CR2 ~ CR3 SI-" ..11 ......--. PI PCI -- cst- 2.·4 HO liN RES 1. S'rOR (RED" YELL(nl" }\F':D ) 4.7 KOHN RESISTOR (YELLOW"VIOLET~nED) 1.5 KOHM RES ISTOR (BROWN"GHEr~N"RED) 330 OHM nESISTOR tORANGE"ORANGE"BROWN) 220.0HM RESISTOR lW (RED"RED"BRQWN) *27 KOHM RESISTOR (RED"VIOLET"ORANGE) *APPROX 10 EOHM RES I STon (BRO\JTN"BI...ltC K., ORANGE) 50 EOHM POTENT !Ol'1ETER 100 OHM RES ISTOR UJHOWN"BU\CK"BRO~N) 1 KOHM RES .tSTOR CBROWN"BL.AC1{"RED) IN914 SIGNAL DIODE IN750 4.7 VOLT ZENEn DIODE LIGHT-EMITTING DIODE DIP-SWITCH DIP-SOCKET DIP-PL.UG ~2 CASSETTE COAX CABLES .~ FLAT RIBBON CAl3LE PRINTED CIRCUIT BOARD SCOTCH LOW-NOISE CASSETTE ,...." TO-3 I NSULAT ING WAFER. --- 2 SETS OF 4-40 NUTS" SCREWS" AND WASHtnS * THE ITEMS MARKED WITH AN ASTERISK ARE MATCHED AND BAGGED SEPARATELY. 741..S MAY BE SUBSTITUTED FOR 741.. SERIES IC'S IN MOST CASES. 5 - .... • ASSEMBLY DRAWING NOTE: 1(5 HAS PIN 1 IN UPPER RIGHT REST IN LOWER LEFT. COMPONENT SIDE ASSEMBLY INSTRUCTIONS i. 2. TAJ{E OUT ALL THE PARTS AND CHECK T11E1-1 AGAINST THE PARTS LIST. IF THEnE ARE ANY PARTS MI~SING" Dnop US A NOTE" AND WE WILL' SEND THEM TO YOU. NOTE TIL~T THE NE555.. 10 I{ (APPROX.) RES ISTOR of 27}{ RESISTOR" AnD .01 HFD CAP/leITOR HHICH ARE PACKAGED IN"THE SEPERATE BAG N"d~ l-1{~iCHED FOR 1500 HZ {\.ND (lm::l-1ARl\ED UITH ASTERIS}{S ON THE: PAHTS LIST ~ OTB!:R COI)PON~::NTS USl:W FOR' THESE \.YILL CAUSE THE OUTPUT TO nUN .l\T Ii. DIFFERENT FHEQUENCY. " t, ........# . USING THE AS5Et"!;:),LY DRI\HING ON PAGE 7" INSERT THE DlSC'~r::TF. Cor1PON:t::lJT S CBl\G 'HT H Cf,P.'\C ITORS.. rn:s I STOR~~.. LED J' D 1P .-':~ I,; J TCM) INTO 'fEE TR F'ROPER LOG~:r IO~JS. ON THE LIGhT'-EIHTl' !JiG D!·nE (LE.D)" 1.. E""'D GOl;''- T'O '1"l'T' I~'PS JC:Ton 1" I:·r'J)" I,illS I"F"P J·~tT';n~"D L..,..,·'· TI n~t;..;- RFr. ~/ ..' I~ ~ ~ Co . f . '"'J"'r. ! Ll~, ~L~ ...n. ~,.~r..... .~ .l..,.:J".JL; • • OFF THE: LEl'.D.t USE AN om'li:1'1::R TO DETEnllINE HHICll LEtd) GOES TO THE RESISTOR. THE lN750 ZE1'JER DlODE (St1f'ILL GLASS'rH:'!ICE) '-_' SHOULD BE r-;OUNTED ~1 1.T11 THE LiNE SIDE TO';iI\HD THE U:FT .. · THE IN914 DIODE (OTHEH St:ll\LL GL1;SS DEVICE) SHOtILDBF. l,;(ll'N'l'ED lHTH, THE J.. INS S IDE TOiT{~BD THE BOTT 011. THE ONLY Cl%.?~tC ITOR HEICH' SHOULD BE OH!r:r,'TED IN 1\ pfl.r~TICULhR DIRECT!ON IS THE FILTER CAPtlC ITOR C 9" HHICH SHOULD BE NOUl-lTED \;i I'rH 1'Hr~ PLUS SIDE 1'OHARD', THE LEFT ~ AS l-lAiiJ{SD ON THE BOARD. THE D]p .. socm;:T S110ULD BE MOUNTED IN THE J1 POS IT ION" AS IS SHOHN Orr THe: ASSEtJDLY DHMJ ING. ;".,. J# .,,;:) .. . . - .. _..... ..... .. ' " , 3. INSEnj'ALI. THE IlJTEGRATED CIRCUITS (IC'S) (SI,iALL BLACK DEVICES AND ONE L.AnGE NETAL DEV ICE) , INTO °tHE In - PROPER LOCt.'l' J.ONS AS' IND I.CtSED BY Tl:E.ASSEEDLY DRP.~J ING AN),) 1'HE PARTS LIST. NOTE '!'HAT I(re5-'(8~!;2'O) !SORIEHTED.lJ~T~I ..?Jlt_!, __~!YJ'I:!·;XL.J:~";r~ 17l!EREAS ALL THE OTHERS ARE ORIENTED iHTH jENTS TO BE ~~DE, AFTER ~HICH THERE NEED NEVER BE ANY MORE. 1. PUT THE TEST CASSETTE INTO YOUR CASSETTE RECORDER. 2. IF YOUR RECORDER HAS A TONE CONTROL, TURN IT TO THE MAXIMUM (BEST HIGH-FREQUENCY RESPONSE) POSITION. 3. TURN YOUR VOLUME CONTROL TO A t-l1DD1.E POS IT ION. 4. TURN THE POTENTIOMETER ON THE INTERFACE TO A MIDDLE POSITION. 5. PRESS THE· "PLAY" BUTTON ON YOUR RECORDER. 6. IF THE ·LED (RED LIGHT) ON THE INTERFACE DOES NOT CONE ON AFTER A FEW SECONDS, ADJUST YOUR VOLUME AND THE INTERFACE POTENT I Ol'mTE.R UNT IL THE LIGHT COMES ON. 7. IF THE LED STILL DOESN'T COME ON, CHANGE SWITCH #7 (INPUT PHASE REVERSAL) - ON THE D IP-SW ITCH TO THE OPPOSITE POSITIONI THEN REPEAT STEP 6. 8. IF THE LED STILL DOESN'T COME ON AFTER ADJUSTING YOUR VOLUME AND THE INtERFACE POT, SOHETHING IS WRONG WITH YOUR RECEIVER SECTION. 9. WHEN THE LED COMES ONE, tHIS INDICATES THAT THE RECEIVER IS OPERATING PROPERLY, AND IS DETECTING .THE CONTINUOUS STREAM OF SYNC BYTES WHICH IS ON THE TEST TAPE. FURTHER ADJUST BOTH THE VOLUt-1E CONTROL AND THE INTERFACE POT SO THAT YOU CAN TURN . EACH OF THEt-1 FROM S IDE TO S IDE A LITTLE WITHOUT THE LIGHT GOING OUT. THE LIGHT SHOULD BE VERY STABLE, WITH NO FLICKER. NOTE: SINCE THE LED ONLY STAYS ON WHEN IT IS DETECTING CONTINUOUS SYNC BYTES, IN NORMAL OPERATION (WITH REAL DATA) IT WILL JUST FLICKER ONCE IN A WHILE. 1. RUN THE SYNC CODE GENERATOR PROGRAM WITH YOUR RECORDER IN RECORD MODE, ONTO A BLANK TAPE. . 2. TRY THE PROCEDURE ABOVE. IF THE LIGHT DOES NOT COME ON CONTINUOUSLY, YOU MAY BE RECORDING AT TOO HIGH OR TOO LOW A LEVEL. TRY DIFFERENT LEVELS UNTIL YOU FIND THE BEST PLACE. YOU ALSO MAY BE RECORDING IN THE OPPOSITE PJIASE. IF SO, CHANGE THE JUNPER FROM PIN 9 TO PIN 8 ON IC 23. NOTE: IF YOU HAVE AN OSCILLOSCOPE, IC 4 PIN 11 SHOULD SHOW A NICE CLEAN WAVE FORM, WITH ABOUT 25% DUTY CYCLE. ALTHOUGH THERE MAY BE LONG-TERM ~ITTER, BECAUSE OF THE FLUTTER AND WOW ON THE CASSETTE RECORDER, FAST ~ITTER ON THE EDGES OF THE WAVE-FORM SHOULD BE FAIRLY SMALL. THE LESS THIS HIGH-SPEED JITTER IS, THE MORE TOLERANCE YOUR INTERFACE WILL HAVE TO TAPE SPEED VARIATIONS. 10 CASSETTE I~TERFACE O?ERATI~G I~STRUCTIONS TEESE INSTRUCTIO~S PEnTAIN TO OPEqATING THE I~TERFACE WITH AN ORD INAny ATJD 10 CASSETTE RECORDER, AND ASSm';ETliAT THE PROPER SOFTWARE (PROG~A~S, SU3~OUTINES) IS IN ThE CO~PUTER TO COMMUNICATE WITH THE lNTERFACE. TO PERFO~M AN OUTPUT (SAVE, WRITE) OPERATION: 1. IF YOUH VOLTJr'lE COr:T!WL rAS AN EFFECT ON THE RECORDING FUr\CT IOr~, F nST TU 11N IT ALL TEE II,TAY DOT.~I\. 2. GET TO TEE PO a:T H: YOTJ1. PR03RAN HEERE ALL IT TAEES IS A PUSH OF A BUTTOt~ TO START It(TO TEE CASSETTE OUTPUT ROUT Il\E. 3. USE FAST-FOR~ARD OR REWIND TO MOVE TO THE DESIRED LOCATION ON THE CASSETTE TAPE. 4. START S. IF YOUR VOLUt'~E COt~TROL HAS AN EFFECT DURIl\G RECORD., SLO',~LY INCREASE THE VOLUr-:E UKT IL YOUR INDICATOR ShO't!S A CORRECT RECORD ING LEVEL. 6. WAIT FOR ABOUT 5 SECONDS TO RECORD LEADER. 7. PUSH THE !3UTTOt~ TEAT STARTS THE OUTPUT ROUT INE ON ThE RECORDER. (THIS MIGHT BE THE CARRIAGE-RETURN AFTER "GSAVE" IN BAS IC.,· OR TEE FRONT-PAI,EL "RUN" BUTTOili FOR STAND-ALONE PROGRAMS.) 8. . YOU~ CASSETTE RECORDING. ''''HEN THE PROGRAt1 INDICATES TEAT THE DATA TRANSFER IS CO~PLETE, STOP YOUR CASSETTE RECORDER. TO PERFORM AN IKPUT (LOAD., READ) OPERATIOili: IO~~ 1. BE SURE YOUR VOLur";E COKTROL IS AT ThE POS IT LEFT IT IN THE ADJUST~E~T PROCEDURE. 2. GET TO THE POINT IN YOUR PROGRA~ WEERE ALL IT TAhES IS A PUSH OF A BUTTO~ TO START INTO ThE CASSETTE INPUT ROUTINE. 3. USE FAST-FORTJJARD OR REtVIt-;D TO 1-lOVE TO THE DES IRED LOCAT ION ON THE CASSETTE TAPE. THIS SHOULD BE'A FEW SECONDS INTO THE LEADER OF A PREVIOUS RECORDING. 4. START YOUR CASSETTE IN THE PLAYBACK NODE. S. PRESS THE BUTTON WHICH CAUSES THE INPUT ROUTINE TO START RUNNING. lENT -MEI10RY PO lNTER. REPEAT THE ABOVE OPERATION. . .CASSETTE-STATUS--PORT.CASSETTE DATA PORT. IF YOU HAVE AN IMSAI OR ALTAIR WITH AN OUTPUT PORT ON THE FRONT PANEL (8 LED'S)" YOU CAN USE-THE BOOTSTRAP PROGRAMFQn TROUBLESHOOTING THE INPUT SECTION WITH THE-FOLLOWING MODIFICATION: AT iNSTEAD OF 'SUBSTITUTE- . . 2FI0 El (FS) CMA (2F'2Fl1 MOV M"A (77) OUT (03) 2F 12 tNX H (23) LEOS CFF) SYNC CODE GENERATOR PROGRAM THIS PROGRAM MAY SE USED TO GENERATE A CONTlNUOUS STREAM OF E6 (HEX)" THE SAME AS IS ON THE SUPPLIED CASSETTE. IFYOU FJND THAT THE RECEIVED STREAM IS INVERTED FROM THE ONE SUPPLIED" YOU MAY CHANGE THE CIRCUIT SO THAT IC23-8 IS HOOXED TO THE 74L86 INSTEAD OF IC23-9. THIS WILL MAl\E YOUR -RECORDU~GS THE SAME PHASE AS MINE. -. . OOOQ 0002 0004 0007 '0009 OOOS DB E6 C2 3E D3 C3 6E 20 00 00 E6 6F 00 00 LOOP IN ANI ..INZ MVX OUT ..1MP CASe EQU CASD EQU END CASC 20H LOOP A"OE6H CASD LOOP 6EH 6FH I AI/" (; rt ;/ i p.' '1 s 12 READ STATUS. LOOK AT -BIT" 5. WAIT UNTIL READY.. GET SYlIIC-BYTE._ WRITE IT ONTO' CASSETTE. - .REPEAT~ STATUS·-PORT. DATA PORT. It f): l)if' rJ'~il/,'" /7 p.v;-,.J Y"p ("A~ CASSETTE INTERFACE OUTPUT ROUTINE THIS PROGRAM WRITES A BLOCH OF MEMORY OUT ONTO CASSETTE TAPE. THE PROGRAM IS ASSEMBLED TO START AT 3100 (HEX)" BUT MAY BE REASSEMBLED TO START ANYWHERE. THE BLOCK STARTING ADDRESS IS LOCATED AT ADDRESS 3104 (HEX). THE BLOCK LENGTH (2 BYTES) IS LOCATED AT ADDRESS 3107 (HEX). THE PROGRAM WILL WR ITE A "W" ON THE COMMENT DEVICE WHEN IT IS THROUGH WITH IT'S DATA TRANSFER. 3100 3103 3106 3109 310B 310D 3110 3112 3115 3116 3119 311A 311B 311 C, 311D 311 F 3120 3123 3124 3127 3128 3128 312D 312F 3132 3133 3135 3137 313A 313B 313D 313E 313F 3140 3141 3142 3143 31 21 01 IE 3E CD 3E CD 7E CD 83 5F 23 OB 3E B8 C2 B9 C2 78 CD 3E D3 C3 F5 DB E6 C2 Fl D3 C9 00 00 00 00 00 00 43 00 00 00 3C 32 E6 32 31 00 20 31 31 32 31 LXI LXI LXI MV I MVI CALL MVI CALL LOOP MOV CALL AD"D MOV U::x 00 DCX t·;V I Cr-'lP SP"STAK H"O B,,2000H E"O A,,3CH COUT A"OE6H COUT A"M COUT E E"A H B A"O B J~,;Z LOOP Cr-;P C 15 31 JNZ t-':O 'J 32 31 57 01 2F 31 CALL LOOP A"E COUT l'WI AlltW" 15 31 6E 20 33 31 6F OUT WA IT Jt-:P COUT PUSH CLOP 11\ ANI JNZ POP OUT RET 1 WAIT PSW CASC 20H CLOP ?SW CASD a a a a a STAH 0 CASD EQU 6FH 13 SET STACK POINTER. GET BLOCK ADDRESS. SET BLOCK LENGTH = 8192. SET E=O. GET START BYTE. OUTPUT START BYTE TO CASSETTE. GET SYNC BYTE. OUTPUT SYNC BYTE TO CASSETTE. GET A DATA BYTE FROM MEMORY. OUTPUT DATA BYTE TO CASSETTE. ADD E (CHE.CKSUM) TO A. PUT NEW CHECKSUM INTO E. INCREMENT MEMORY POINTER. DECREMENT COUNTER. NAKE A=O. IF B NOT = 0" REPEAT LOOP. IF C 1\OT 0" REPEAT LOOP. OTEERWISE" GET CHECKSUM AKD OUTPUT IT. WRITE "IN" (END OF WRITE). PRINT ON CONSOLE. W.AIT HERE WHEN DONE. SAVE A AND FLAGS. READ CASSETTE STATUS. CLEAR ALL BUT BIT 5. TRY AGAIN IF NOT READY. RESTORE A AND FLAGS. OUTPUT DATA TO CASSETTE. RETURN FROM COUT. = CASSETTE INTERFACE INPUT ROUTINE TH I S PEOGRAt1 READS A BLOC K OF BYTES FRON CASSETTE INTO MEMORY. TEE p?OGp.Ar~ IS ASSEMBLED TO START AT 3100 (HEX) .. BUT l'lAY BE REASSEr'lBLED TO START ANYHHERE .. ALTHOUGH CARE SHOULD BE TAKEN TO H:SU?E T EAT THE DATA IT IS READ ING DOES NOT WR ITE OVER THE Pl-10G"lAIJ ITSELF. THIS Iv1AY BE ACCOMPLISHED BY LOCATING THE P~OG2AV IMMEDIATELY BELOW OR A BLOCK LENGTH ABOVE THE DATA TO BE ~EAD IN. THE STARTING ADDRESS FOR THE BLOCK IS LOCATED n: ADDEESS 3185 (HEX). THE BLOCK LENGTH IS LOCATED IN ADDRESS 31fj8 (HEY) (TWO BYTES). 3180 31 E'2 3184 31 fn 3lt;A 3I8C 318E 3190 3193 3195 3196 3197 3198 3'199 319A 319C 319D 31AO 31Al 31A4 31A6 31A8 31AB 31AD 31AE 3lBO 31B3 31B5 31B7 3E 10 D3 6E 21 00 00 1 1 00 20 06 00 D3 6E E6 10 (, C2 8C 31 DB 6F 77 80 L17 23 13 3E BA C2 BB C2 DB E6 C2 DB B8 3E C2 C6 D3 C3 00 8C 31 8C 31 6E 10 A4 31 6F 45 B5 31 02 01 B7 31 MVI OUT LXI LXI HVI LOOP IN ANI JNZ IN MOV ADD Ivl0V INX DCX A .. IOH CASC H.. O D.. 2000H B .. O CASC 10H LOOP CASD M.. A B B .. A H D tWI A .. O CI-1P D JNZ LOOP CNP E JNZ LOOP CASC 10H CHEK CASD CHE}( IN AIva JNZ IN CEP MVI B A .... E .. JI,}Z ADI ERR OUT END Jt':P CASC EQU GASD EQU C:=l.TD EQU 2 CRTD END 6EH 6FH OIH 14 SET BIT 4 OF A=l. RESET INTERFACE. GET STARTING ADDRESS. GET BLOCK LENGTH. SET CHECKSUl·1 = o. READ CASSETTE STATUS. LOOK AT BIT 4. WAIT IF NOT READY~ READ DATA FRON CASSETTE. PUT DATA INTO MEMORY. ADD CHEC l'~SUM TO A. PUT IT BACK IN B. INCREMENT MEMORY POINTER. DECREMENT COU~TER. CLEAR A. IF D NOT 0 .. READ EORE. IF E NOT = 0 .. READ hORE. READ STATUS. LO 0 K AT BIT 4. WAIT IF NOT READY. READ CHECI/~SU~; .• COfiiPARE TO B. PUT CODE FOR "E" IN A. IF ChECKSUMS NOT EQUAL .. ERROR. ADD A 2 TO IvlAKE "G" IF EQUAL. PH INT "E" FOR "G". WAIT HERE WHEN DONE. CASSETTE STATUS/CONTROL PORT. CASSETTE DATA PORT. CONSOLE DATA PORT. = I REM THIS PR0GRAM SHewS H0W T0 SAVE DATA INT0 A CASSETTE 2 REM AND L0AD IT BACK INT0 MEM0RY FR0M A PR0GRAM RUNNING 3 REM UNDER 8K BASIC 3.1. IT ALL0WS Y0U TI ENTER LINES IF 4 REM TEXT FR0M THE CINSeLE KEYBeARD4I SAVE THEM 0N CASSET'l'E4I 5 REM L0AD THEM BACK INT0 MEM0RY4I AND PRINT THEM. 10 CLEAR 3000:L=50:DIM AS(50):REM RESERVE F0R UP T0 50 LINES. 20 CC=IIO:CD=lll:REM CASSETTE C0NTReL AND DATA P0RT NUMBERS. 30 TS=ttX":REM END-eF-FILE CHARACTER. 40 D=100 100 INPUT "C0MMAND"JCS 110 IF CS="ENTER" THEN 1000 120 IF CS ="PH INT" THEN 2000 130 IF CS="SAVE" THEN 3000 140 IF CS="GET" THEN 4000 900 PRINT" INVALID C0MMAND." :GBT0 100 1000 REM ENTER TEXT FR0M THE C0NS0LE KEYBeARD 1020 FeR N=l 10 L:REM ENTER A MAXIMUM 0F L LINES. 1030 INPUT BS:REM READ A LINE FReM KEY80ARD. 1040 IF BS="X'* THEN 1070lREM A I TERMINATES THE INPUT. 1050 AS(N)-BS:NEXT N:REM PUT LINE INT0 BUFFER. 1070 N=N-1aG0T0 100:REM N=THE NUMBER 0F LINES ENTERED. 2000 REM PRINT THE BUFFER AREA eN THE ceNS0LE. 2010 F0R I-I T0 N:PRINT AS(I).NEXT 1:G0T0 100 3000 REM SAVE THE BUFFER eNT0 CASSETTE TAPE. 3010 SS=CHRS(195)+CHRS(230).REM SS-START & SYNC BYTES. 3019 REM CHANGE THE C0NS0LE 0UTPUT RIUTINE F0R CASSETTE. 3020 P0KE 12304lCC:P0KE 12324132:peKE 1238"CD 3030 F0R I-I T0 N 3040 F0R K-l T0 D:NEXT KaREM DELAY F0R C0UNT 0F D. 30508S=SS+AS(I)IREM H00K START & SYNC BYTES T0 LINE. 3060 PRINT 8S:REM WRITE LINE 0NT0 CASSETTE. 3070 NEXT I 3080 BS-SS+TSIREM H00K START & SYNC BYTES T0 TERMINATIR. 3085 F0R K-I T0 DINEXT K:REM DELAY F0R C0UNT 0F D. 3090 PRINT BS:REM WRITE THE END-0F-FILE MARK. 3099 REM CHANGE C0NS0LE R0UTINE BACK TI N0RMAL. 3100 P0KE 12304l0aP0KE 1232,,128aP0KE l238,,1 3110 G0T0 100 4000 REM GET TEXT FR0M CASSETTE AND PUT INT0 BUFFER. 4010 REM CHANGE C0NS0LE INPUT R0UTINE FeR CASSE'l'TE. 4011 peKE 1241 "CC :P0KE 124341 16·sPlKE 1248"CD sPIKE 1232~0 4012 P0KE 123841255 4020 F0R 1=1 Te L 4030 0UT CC,,16aREM RESET CASSETTE INPUT SEcTteN. 4040 INPUT BS:REM READ A LINE 0F TEXT FR0M CASSETTE. 4050 IF BS-TS THEN 4080 4060 AS(I)-BS 4010 NEXT 1 4080 N-J-1 4090 REM CHANGE CINS0L! R8UT INE BACK T8 NIRMAL. 4091 PIKE 1241410 'PIKE 1243~ IIPllCE 1248~ IIPll IS CONNECTED THROUGH A RESISTOR DIVIDER AND A lN914 DIODE TO ONE OF THE COMPARlTOR outPUTS (IC 5 PIN 9). THIS PROVIDES A SMALL AMOUNT OF HYSTERESIS TO COMBAT NOISE PROBLEMS. THE OTHER OUTPUT OF THE COMPARITOR (IC 5 PIN 1) IS EXCLUSIVE-ORED WITH SWITCH 7 ON THE DIP-SWITCH TO PROVIDE A WAT TO INVERT THE INPUT DATA STREAM. 1H1S IS THEN FED TO A D-TYPE FLIP-FLOP (IC 4 PIN 12). MEANWHILEI INSIDE IC 5~ THE OUTPUTS OF THE COMPARITOR SECTION ARE FED TO AN EDGE-DETECTOR~ WHICH DETECTS BOTH POS1TIVE AND NEGATIVEGOING TRANSITIONS. THE OUTPUT O~ THIS DETECTOR IS THEN USED TO TRIGGER A STABLE NON-RETRIGGERABLE OSE-SHOT. THE CAPACITOR FOR THIS ONE-SHOT IS BETVEEN PINS 12 AND 1~ OF IC 5, AND THE RESISTOR 15 THE 50 KOHM POTENT IOMETER. TH£ OUTPUT OF THE ONE-SHOT IS THE RECOVERED CLOCK (IC 5 PINS 10 AND 11). TiUS IS FED TO THREE DIFFERENT PLACES. 1) IC 4 PIN 11, WHERE IT TRIGGERS THE FLIP-FLOP TO RECOVER THE SERIAL DATA STREAM" 2) IC 3 PIN 8 WHERE IT IS USED TO SHIFT THE SERIAL-PARALLEL SHIFt-REGISTER" 3) lC 29 PIN 1 AND IC 26 PIN 13, WHERE IT IS USED TO STEP THE 8 COUNTER. IN A START-UP POSITION, IC 29 PIN 12 IS ZERO, HAVING BEEN RESET EITHER BY THE RESET SWITCH.OR BY A RESET COMMAND FROM THE PROGRAM. THIS STOPS THE CLOCK FROM TRIGGERING THE 8 COUNTER, WHICH HAS ALSO BEEN RESET. AS THE SERIAL STREAM FLOWS THROUGH THE SHIFTREa ISTER (IC 3), IT IS CONT lNUALLY INSPli:C'TED BY THE SYNC DECODER MADE UP OF IC' S 9 AND 10. WHENEVER A SYNC CODE APPEARS IN THE SHIFT REGISTEft, IC 10 PI~ 8 GOES LOW. THIS LIGHTS THE SYNC LED AND ALSO ALLOWS THE FLIP-FLOP AT IC~9 PIN 12 TO GO HIGH. THIS ALLOWS THE CLOCK TO APPEAR AT IC 26 PIN II, AND TRIGGER THE 8 COUNTER. WHEN THE COUNTER HAS COUNTEO TO-8,'IC 8 PIN 12 GOES HIGH" TRIGGERING THE READY tLIP-FLOP AT IC 8 PIN 9. TIUSREADY CONDITION INDICATES TO THE COMPUTER THAT THERE IS A BYTE IN THE SHIFT REG ISTER READY TO READ. THE COMPUTER MAY TIi£N READ THIS BYTE THROUGH GATES OF 1C'S 13 AND 19. IN ORDER ,TO READ DATA THE SIGNAL AT POINT B, WHICH COMES FROM THE OUTPUT SECTION IS ANDED WITH THE TWO INPUT GATE SIGNALS POBIN AND SINP (IC 14 PINS 13, 1 AND 2). WHEN ADDRESS BIT 0 IS HIGH, THIS SIGNAL IS AND ED WITH IT TO GATE DATA FROM THE SHIFT REGISTER ONTO THE INPUT DATA BUS (ICI PIlJ 3). WHEN ~DRESS BIT 0 IS LOW, THtS SIGNAL 15 ANnED WITH IT TO GATE VARIOUS STATUS BITS ONTO THE INPUT DATA BUS. FOOR OF THESE INPUTS ARE GENERAL-PURPOSE, AND COME' FROM THE DIP-SOCKET. THE OTHERS ARE PICKED UP AT IC 25 PIN 3 (INPUT STATUS', AND 1C 25 PIN 6 (OUTPUT STATUS). 18 tI, • 'L () J2' " •tJ. 6 .sv t.3S • 14 ~v (.&1 C UtI~ c• 2 )28 ,. ~S' It'- 51 ,I (/-5 F .. (/0-,. OJ GNO ~ (lOCI) ,. IS .. ~:~ • ~ 21 I ~ 'J I A • " "0. ' 71 lleH C ~" IC G. 0 I tJ I ..O. 0" 51 • ~ I ~..:'" R". lie I CJ( H" C • 27 A • I I~ 0- J --+---~-o tal 0 f 'I '1 c.J 6-' (D)A7 (.)AB Pt)~ (lWA4 ·CtI) A3 fII)A2 tn')Ptiii ..." ., .., . . II .. " " 5 ~ ., ., .!-",., .!...-.. " M.!.-. TI..!.-..!7.. 72 . ' " ,. I. n " I T. ilO -'!' .,... wr ~ 1/ '\. "'--+-_/-t2r;-Ql~'~_ _~ 23 .a ~ II • 'uo SERIAL 04 TA • _ (l).30)>=----iVV''-"-.....--~-----+ JI-IO I. 1 _~~/3 TO CASSETTE 1..-...... Itll • - . , 10 004 006 0') D05 (.to) 007 61) c,o) GENERAL - PURPOSE CONTROL LINES JI -8 -7 -6-5 1"1' 8 .. DOJ (JS' 001' C8I) 002 .L- ••• ..!..- , ~~ 2 3 ~li-=8:-.-_---.... . . _, c. ,.• ..L- C• -~ I " D02 0. 001 . , 003. J 0 C aA , D~ ~. , O. 0- WRITE PHASE SELECT AT TEST ]I It" II( It,l ~ IK ~ 10 t 0 2'. ~~ JS ~ ~ -----2 10 ' ~, 004 ... ()., CASSETTE INTERFACE IQ..!!. "• .~- lilt' ... IOK 22 ~ 10 ~ • 40 • J • IfESIT -.! OISCM 4IQ" ~ 1 09)AO.-,------------------------.-----~--+ 2D ')0 _)SOUT+---------------------------~ I ~'~~ 34 J' 2 '0 ·1 _It' "1( , ~ --If-''' • I • ~ • u-' DOtl • OUTPUT If_ our 1Jt1G GI'C) ~ I '" $C' Al I) -MATCHED PARTS SEE INSTRUCTIONS r 1'2.. 91,. ~ " -,.cx ~~ A SECTION -~ -0 'P (95) (tty) m(b GIl PD BIN (711) '¥B-l - A(/) (751 (Ill) DI2 DI3 /4 .L crt- SINp"(46) (41) J 7) f'.... ~ ..." { 0" 11 ~ ~ 17- 17 .... 2 1 13 ....... 5 12. ....) 8 ("') ~ 7 4 ~ -9 ~6 I J o ::: , p.-_/~3 9. ..,../2 5- 11 ~, \ -2 -3 4\ JI-I ." 1f,;TATUS 2 3 !i 10 9~ 8 l?' ~ -4 ~------~-+~------------------~~~ 8 ~--------~~~~------------~--~~~JJ~-1/ 5~ 5 GENERAL - PURPCSE -t5V r>. LINES .3" ~ :2 ~------------~~~~~-+----~~~--------~4 .AAA. N o SERIAL DATA FROM C6 5 +~--~~~~\I CASSEITE JI-15 J > R9 ~ .~~ ..l... Cl6 ::r: 100 ~ .lX122 ~ 8T2O .A 9 P /III "lol''S -5 CLF« 4 J ~ __________________________T_·/kA-__+I____+-~__________-._________c>_ ~!~ .... ~7. CR2 ,~ IN ~ ~ 750 +--r-.. -16 V•.I _ _ _ _ _. . -= (~' A <:_>-__....;9~ ~ J Q 12 ~C n 1 26 _ ~J Q~ ,~ I~~ """ J 'CK"o> ~ CK(J) L~ CK(\J K(\J !!KC\I --K ""-PrL2 -,CjL. 0 Itr,......-- Q~ "'""iJ I ....,C,a.. 2 a...'2--+---t r~~9 "7 r-= t-,C,.e.., .....,Cr-- ~K 2 K ~ 8 (7!0 INPUT SECTION .: - ~ C;rq, ~T~~.________~ro~)L-_,~j~------~---------------+-------4------~~--~~-~ CASSETTE hVTERFACE J L..! CKa> 5 C GA. S5 E: TT E: I't I '~2 P,., II CLOCI<-(PZN i~, ) 1 I INTtE'R'fA 1 I ~ I 0 I , .1 I 0 I 1 r 1 I I" t ~ I c> I 1 IJ r Lr1Sl--~L-n--r-1 L L ~ J"1 .. ,- N ... ebG~ DeTECToR' oU1'PUT )( _.!....-~...1--~-'----L !. I i I _____ I 1 i"__i._._J-..~. i \ \:1_____ 1"I ___ -'--~I---'!_-.J.- l' . __ 1_____ I :;_ _ ! ; 1 __ ~u--rJl.Jr--u1JtJL_rl~~u__u I CASSETTE INTERFACE PIN FUNCTIONS Jl CDIP SOCKET) 1 2 3 4 5 6 7 8 GP GP GP GP GP GP GP GP NOTES: STATUS IN BIT 0 STATUS IN BIT 1 STATUS IN BIT 2 STATUS IN BIT 3 CONTROL OUT BIT CONTROL OUT BIT CONTROL OUT BIT CONTROL OUT BIT 3 2 1 0 16 15 14 13 12 11 10 9 GROUND DATA FROM CASSETTE SPARE SPARE +5 VOLTS SPARE DATA TO CASSETTE GROUND GP STANDS FOR GENERAL-PURPOSE DATA FRO~ CASSETTE SHOULD BE CONNECTED TO EARPHONE ~ACK DATA TO CASSETTE SHOULD BE CONNECTED TO AUXILLIARY ~ACK. IF MIKE JACE IS USED" OR IF THE RECORDER ONLY OPERATES WITH AUT a r-jAT IC VOLUIvIE CONTROL ON RECORD., THEN DIV IDER RES ISTORS MAY HAVE TO BE CHANGED FOR THE PROPER RECORD1NG LEVEL. THE DIVIDER RESISTORS ARE RIO AND Rll. P2 C8800 BUS PINS) 1 29 30 31 35 36 38 39 40 41 42 43 45 46 50 51 52 75 77 78 79 81 82 83 88 89 90 91 92 93 94 95 100 +8V ADDRESS LINE #5 ADDRESS LINE 64 ADDRESS LINE #3 DATA OUT LINE #1 DATA OUT LINE #0 DATA OUT LINE #4 DATA OUT LINE #5 DATA OUT LINE 16 DATA IN LINE #2 DATA IN LINE #3 DATA IN LINE 17 OUT INP GROUND +8V -16V RESET-NOT WRITE-NOT DATA BUS", IN ADDRESS LINE 10 ADDRESS LINE 12 ADDRESS LINE 16 ADDRESS LINE 17 DATA OUT LINE 12 DATA OUT LINE 13 DATA OUT LINE 17 DATA IN LINE 14 DATA IN LINE IS DATA IN LINE 16 DATA IN LINE 11 DATA IN LINE 10 GROUND 22 IF YOU CANNOT MAKE AT LEAST TEN 8K-BYTE TRANSFERS WITH NO ERRORS, YOU HAVE A PROBLEM, AND THE ITEMS BELOW MAY 8E OF SOME HELP: 1. CHECK TO MAKE SURE THAT ALL THE COMPONENTS AND JUMPERS ARE IN THEIR PROPER LOCATIONS I AND THAT THEY ARE ORIENTED AS SHOW'N IN THE ASSENBLY DRAWING. 2. MAKE SURE THAT THE BOARD IS CLEAN, ESPECIALLY THAT THERE IS NO FLUX RESIDUE BETWEEN IC PINS OR OTHER CLOSE LINES. 3. DEMAGNETIZE AND CLEAN THE RECORD/PLAYBACK HEAD ON YOUR RECORDER. 4. WHEN YOU PLUG IN THE BOARD, BE SURE THAT THE PINS ON THE BOARD EDGE CONNECTOR LINE UP WITH THE PINS IN THE MOTHERBOARD CONNECTOR. 5. HAVE YOU TRIED BOTH PHASES WITH THE PHASE SWITCH, AND ARE THE OTHER SETTINGS ON THE DIP-SWITCH CORRECT? 6. YOU SHOULD BE ABLE TO ADJUST THE VOLUME ON YOUR RECORDER BY ABOUT 50% DURING PLAYBACKI AND STILL HAVE THE SYNC LIGHT LIT WHEN READING THE SYNC STREAM. IF IT DOESN'T LIGHT AT ALL, THERE IS PROBABLY SOME GROSS PROBLEM ON THE BOA~DI SUCH AS A BAD PLATED THROUGH HOLEI A SOLDER BRIDGEI OR A BAD INTEGRATED CIRCUIT. IF YOU ARE USING' A TAPE DECK THAT HAS ONLY A PREAMP, YOU MAY NEED TO ADD AN EXTRA STAGE OF AMPLIFICATION IN ONE OF THE EXTRA IC SLOTS. ' 7. IF YOU HAVE AN OSC I LLOSCOPEI THE BEST PLACE TO LOOK TO SEE HOW THE RECEIVER INPUT SECTION IS OPERATING IS AT IC 4, PIN 11. THIS SIGNAL SHOULD BE FAIRLY CLEANI WITH SOME OVERALL JITTERI DUE TO THE TAPE WOW AND FLUTTERI AND SOME HIGH-SPEED JITTER ON THE EDGE OF THE WAVEFORM. IT IS THIS HIGH-SPEED JITTER THAT YOU SHOULD TRY TO MAKE A MINIMUM. 8. IF YOU HAVE A VIDEO INTERFACEI OR OTHER SOURCE OF HIGH-FREQUENCY ,NOISE, TRY LOCATING IT FURTHER AWAY FROM THE CASSETTE INTERFACE. 9. ARE YOU SURE THAT YOUR-RECORDER HAS A FREQUENCY RESPONSE TO 8KHZ? 10. HAVE YOU USED THE PROPER VOLTAGE DIVIDER (RIOI Rll> FOR YOUR PARTICULAR RECORDER? IF YOU ARE ABLE TO RECOVER THE SYNC STREAM I WROTE SATISFACTORILYI BUT ARE HAVING TROUBLE WITH RECORDINGS YOU MAKE YOURSELFI THE LEVEL GOING FROM THE INTERFACE TO THE RECORDER ~~Y BE TOO HIGH OR TOO LOWI ESPECIALLY IF YOU HAVE AUTOMATIC LEVEL C-ONTROL. YOU MAY ALSO WANT TO TRY OPERAT ING WITHOUT C 15. 11. HAVE YOU CHECKED YOUR +5 VOLT POWER? TOO MANY BOARDS IN YOUR COMPUTER COULD INTRODUCE RIPPLE ON THIS SUPPLY. 12. DON'T USE DIGITALLY CERTIFIED TAPE, ONLY AUDIO LOW-NOISE TAPE. 13. IF YOUR RECORDER HAS AN INTERNAL MICROPHONEI BE SURE IT IS NOT ACTIVE WHILE YOU ARE MAKING A RECORDING (THE J.C. PENNY HAS A SWITCH ON THE TONE CONTROL WHICH CUTS OFF THE INTERNAL MIe). 14. IF YOU STILL HAVE PROBLEMSI PLEASE RETURN THE UNIT, PREFERABLY WITH YOUR CASSETTE RECORQER, AND I WILL GET IT OPERATING PERFECTLY WITHOUT CHARGE. THE REPAIR TURNAROUND TIME IS 1 TO 3 WEE-J(S. 15. IF YOU ARE COMPLETELY DISSATISFIED, YOU MAY RETURN THE INTERFACE FOR A COMPLETE REFUND WITHIN 90 DAYS AFTER YOU ACCEPTED DELIVERY. 23 IDEAS FOR USING THE CASSETTE INTERFACE SAVING AND LOADING PROGRAMS PROGRAMS MAY BE TOGGLED INTO MEMORY~ LOADED FROM PAPER TAPE~ OR LOADED BY SOME OTHER MEANS. THEY HAY THEN BE DUMPED ONTO CASSETTE USING THE CASSETTE OUTPUT ROUTINE. THE OUTPUT ROUTINE ITSELF MAY BE DUMPED ALONG WITH THE OTHER PROGRAM~ SO THAT IT VILL-BEAVAI1..ABLE LATER FOR FURTHER DUMPS. ROUTINES HAY THEN at LOADED FRO~ CASSEtTE~ MODIFIED, AND DUMPED BACK OUT TO CASSETTE IN A CONTINUOUS PROCESS OF DEVELOPMENT. " US ING A BACKUP A BACKUP IS A METHOD OF MAKING SURE THAT VALUABLE PROGRAMS OR DATA IS NOT LOST. ONE SIMPLE WAY OF ~OV IDING A BACKUP IS TO RECORD A PARTICULAR PROGRAM IN TWO DIFFERENT PLACES O~ THE SAME TAPE~ OR ON TWO DIFFERENT TAPES. YOU MAY WANT TO GO BACK AND FORTH BETWEEN THE TWO COPIES, EACH TIME THE PROGRAM IS CHANGED. IN THIS WAY~ YOU ALWAYS HAVE A COPY OF THE LAST PROGRAM~ AND ONLY THE MOST RECENT CHANGES ARE LOST IF A POWER FAILURE OR OTHER EQUIPMENT TROUBLE DEVELOPS DURING THE PROCESS OF SAVING. STARTING AND STOPPING AUTOMATICALLY MOST AUDIO CASSETTE RECORDERS HAVE AN INPUT LABELED "REMOTE". THIS IS NORMALLY OPERATED FROM A SWITCH ON THtMICROPHONE"sO THAT THE RECORDER CAN BE STARTED AND STOPPED-WHILE DICTATING. THIS INPUT CAN BE USED TO START AND STOP THE RECORDER UND£R . PROGRAM CONTROL FROM THE COMPUTER. ONE OF THE 4 EXTRA CONTROL LINES COMING FROM THE CASSETTE INTERFACE (DIP-SOCkET PINS 5" 6" 7" DRS) CAN BE USED TO DRIVE A RELAY WHICH WOULD HAVE ITS CONTACTS CONNECTED TO THE RECORDER REMOTE ~ACK. THI MAlN REQUIREMENTS ARE THAT THE 40 MA AVAILABLE FROM" THE CONTROL LINE BE ABLE TO DRIVE THE RELAY" AND THAT tHE RELAY CONTACTS ARE ABLE TO HANDLE THE CURRENT INTO THE REMOTE JACK" VHICH CAN BE' AS HIGH AS ONE AMPERE. OPERATING WITH MORE THAN ONE CASSETTE RECORDER SOMETIMES IT IS DEsIREABLE TO OPERATE WITH TWO OR MORE CASSETTE UNITS. WITH THE TARBELL CASSETTE UITERFACE" IT 15 ALREADYPOSSIBLE TO READ FROM ONE CASSETTE RECORDER" WHILE WRITING 0111'0 ANOTHER. THIS IS BECAUSE THE INPUT AND OUTPUT SECT IONS ARE ENT IRELY INDEPENDENT" .aJD MAY BE PROGRAMMED sEPERATELY. 'I,. IT IS DESIRED TO READ FROM ONE OF TWO UNITS" AND VRITE ONTO A80tHlR" SUCH AS DURING A MERGING OPERATION" RELAYS MAY aE USED TO'SWltCH" BACK AND FORTH BETWEEN THE TWO INPUT UNITS" ONDER CONTROL OF 'aNt OF THE 4 CONTROL LINES. IF" HOWEVER" If 15 NEC£ssARY TO READ -SIMULTANEOUSLY FROM TWO DIFFERENT UNITS~ OR WRITE DIFFERENT' INFORMATION ONTO TWO UNITS AT THE SAME TIME" 11 VILL'SE MECESSARY TO HAVE TWO CASSETTE INTERFACES. "--- 24 MOD IF ICAT IONS ON CASSETTE BASIC FOR CSAVE AND CLOAD USING TARBELL CASSETTE INTERFACE 8K BASIC 3.2 12K BAS IC 3.2 ADDR OLD NEW AOOR OLD NETJ 1008 1009 100A 100B 100C 1000 100E 100F 06 E6 01 C2 07 10 DB 07 6E E6 10 C2 07 10 DB 6F 155A 155B 155C 1550 lS5E 155F 1560 1561 06 E6 01 C2 59 15 DB 07 6E E6 10 C2 59 15 DB 6F 1016 1017 1018 1019 lOlA 101B 10lC 1010 101E 101F 1020 1021 1022 1023 1024 1025 06 E6 80 C2 15 10 F1 03 07 C9 £5 3£ 03 CD 14 10 6£ E6 20 C2 15 10 Fl D3 6,. C9 E5 CD 14 10 3E E6 1568 1569 156A 156B 156C 1560 156E 156F 1570 1571 1572 1573 1574 1575 1576 1577 06 E6 80 C2 67 15 Fl D3 07 C9 E5 3E D3 CD 66 15 6E E6 20 G2 67 15 Fl 03 6F C9 E5 CO 66 15 3E E6 1053 1054 1055 1056 1057 1058 1059 105A 105B 105C 1050 06 03 CD 07 10 D6 03 C2 A3 10 05 C2 3£ 10 D3 6E 00 00 00 00 00 00 00 00 00 00 15A5 15A6 15A7 15A8 15A9 15AA 15AB 15AC 15AD 15AE 15AF 15BO 15Bl 15B2 06 03 CD 59 15 D6 03 C2 A5 15 3E 10 D3 6E 00 00 00 00 00 00 00 00 00 00 lOSE 105F 1060 AS 19 as C2 A7 15 o IS K BAS IC AOOR OLO NEW 25 OE58 06 OES9 D2 OESA FA OESB 67 OE5C OE OE5D 78 OE5E CO OESF FA OE60 10 OE61 CO OE62 FA OE63 10 OE64 C3 OE65 74 OE66 OE OE67 DE OE68 OLl OE69 CO OE6A FO OE6B 10 OE6C B8 OE6D C2 OE6E 67 OE6F OE OE70 00 OE7! C2 OE72 69 OE73 OE OE74 F7 FA 67 OE 3E 19 CD FO 10 2F CO FD 10 G3 74 OE 3E 10 03 6E 00 00 00 00 00 00 00 00 00 F7 10FO IDFI 10F2 10F3 10F4 10F5 10F6 10F7 10T8 OB 6E E6 10 C2 Fa 10 DB 6,. DB 06 E6 01 C2 Fa 10 DB 07 AOOR OLO NE\.] 10FE IDFF 1EOO 1EOl lE02 1E03 lE04 lE05 1E06 lE07· lE08 lE09 IEOA 1EOB 1EOC 1EOO 1EOE IEOF 1E10 lEll 1E12 lE13 1E14 lEIS lE16 1E17 lE18 OB 06 E6 80 C2 FE ID Fl D3 07 C9 06 01 FE 2E CA 12 OE E5 3E D3 CO FO 10 CD FA ID OB 6E E6 20 C2 FE 10 Fl 03 6F C9 06 lE48 lE49 lE4A lE4B lE4C 1E4D lE4E lE4F 1E50 lE51 lE52 lE53 lE54 lES5 06 03 CD FO 10 06 03 C2 48 IE 05 C2 4A IE 3E 10 D3 6E 00 00 00 00 00 00 00 00 00 00 01 FE 2E CA 12 OE E5 GO FO ID 3E E6 CO FD ID PROCESSOH TECHNOLOGY SOFTWARE PACKAGE #1 Modified for Low Memory and Cassette by Fred Clark, Modified for Tarbell Cassette by Don Tarbell. The main purpose of this software is to allow development of assemblylanguage programs. Programs may be entered from the keyboard in standard assembly-language format, edited, assembled, and saved on cassette in either source or machine format. These programs may be then loaded back into memory at some future time for listing, editing or running. Following is a summary of the commands. All address and byte information is in hex. FILE /NAME/ AAAA -Creates a file of name NAME at address AAAA (hex). Up to six text files can be in memory at the same .. time. The file just created is the current file. -This command deletes the file named NAME. FILE /NAME/ 0 -Makes the named file the current file. FILE /NAME/ FILE -Prints the starting and ending addresses of the current file, and it's name. FILES -Lists the name, starting & ending address for each of the files in the system. Current file at top. DUMP SSSS EEEE -Dumps the contents of memory from SSSS to EEEE. EXEC AAAA -Executes the machine-language program at address AAAA. -Searches the cassette for named file, loads and exec. EXEC /NAME/ ENTR AAAA -Enter data into memory: B1 B2 B3 B4/ LIST NNNN -Lists the current file starting at line NNNN. DELT NNNN MMMM -Deletes lines NNNN through MMMM from current file. NNNN (text entered) -Enter a line of text into the current file. Always use 4 decimal digits. It works similar to BASIC, in that the numbered lines are ordered automatically. ASSM AAAA -Assembles current file into address AAAA. ASSM AAAA BBBB -Assembles at address AAAA, but puts code at BBBB. CUST -Execute a customer (user) routine at address EGOO. SFIL -Save the current file on cassette. -Load the current file from cassette. The name of LFIL the file on tape must match the name of the current file. Be sure there is enough room in memory. CFlL -Check a cassette file written with the SFIL command above, for errors, without overwriting current file. AFIL -Append a file from cassette to the current file. SAVE SSSS EEEE -Save a block of memory from SSSS to EEEE on cassette. LOAD SSSS -Load a block of memory from cassette starting at SSSS. CHEK SSSS -Check a cassette file written with SAVE command. NAME /NAME! -Rename the current file to NAME. RNUM N -Renumber the cureent file by increment N. NLIS NNNN ~ists the current file at NNNN without line numbers. This software is useful, but may not be completely free of bugs. It loads into the first 4096 bytes of memory, and uses about 2048 bytes following, for tables and scratch pad. Ctl-C escapes from any printing. Ctl-V freezes printing until another character is typed. The package is available from Tarbell Electronics for the prices listed below: Cassette Tape with software and instructions: A reassembled and patched (updated) listing: 26 #5.00 15.00 WRITING PROGRAMS FOR THE CASSETTE INTERFACE SOMETIMES IT IS NECESSARY TO WRITE ASSEMBLY OR MACHINE LANGUAGE PROGRAMS FOR A PARTICULAR INTERFACE. THE CLASS OF PROGRAMS WE ARE TALKING ABOUT HERE ARE CALLED "DR IVERS". THESE WOULD BE REQUIRED FOR LINKAGE TO A PIECE OF SOFTWARE FOR WHICH PATCHES ARE NOT PROVIDED IN THE MANUAL. THIS INTERFACE IS A SYNCRONOUS DEVICE. ONE OF THE IMPLICATIONS OF THIS IS THAT DATA OR PROGRAMS ARE MOST EFFICIENTLY WRITTEN AS A CONTIGUOUS BLOCKI RATHER THAN AS SEPERATE BYTES. THERE ARE A FEW RULES THAT MUST BE FOLLOWED WHEN WRITING SOFTWARE FOR THIS DEVICE: 1. THE FIRST BYTE MUST BE A "START BYTE" WHICH MAY BE ANY BYTE EXCEPT 00 1 FFI OR E6 (HEXADECIMAL). 2. THE SECOND BYTE MUST BE A "SYNC BYTE" WHICH MUST BE E6 (HEX). 3. THE SOFTWARE MUST BE ABLE TO DELIVER BYTES TO THE INTERFACE AS FAST AS IT CAN ACCEPT THEMI WHICH AT THE STANDARD SPEEDI IS 187 BYTES PER SECOND. THIS MEANS THAT ANY LOOP.THAT THE PROGRAM GOES THROUGH WHICH IS BETWEEN BYTESI MUST LAst LESS THAN 5.3 MILLISECONDS. AN AVERAGE INSTRUCTION TIME ON THE 8080 WITH NO WAIT STATES IS 2 CYCLESI OR 1 MICROSECOND. THUSI THERE SHOULD BE NO MORE THAN ABOUT 5300 INSTRUCTION EXECUTIONS BETWEEN BYTES BEING SENT OUT. THIS IS NORMALLY NOT A PROBLEM. 4. A SIMILAR CONSTRAINT MUST BE OBSERVED WITH RESPECT TO THE INPUT SOFTWAREI WHICH SHOULD BE ABLE TO ACCEPT DATA AS FAST AS IT IS BEING MADE READY BY THE INTERFACE. THERE ARE SITUATIONS IN WHICH THE DATA CANNOT BE PROVIDED OR ACCEPTED. FAST ENOUGH BY THE SOFTWARE. ONE EXAMPLE OF THIS IS DATA WHICH IS BEING GENERATED BY A PROGRAM RUNNING IN BASIC. THIS PROBLEM IS SOLVED BY SENDING THE DATA OUT AND READING IT IN A LINE AT A TIMEI WITH NULLS IN BETWEEN. THE PAGE ENTITLED "HOW TO SAVE AND LOAD DATA FROM A BASIC PROGRAM" IS A SAMPLE PROGRAM THAT SHOWS HOW TO DO THIS. THERE ARE AT LEAST TWO OTHER WAYS TO HANDLE THIS PR6BLEM: 1) SEND EACH BYTE AS A SEPERATE BLOCK WITH IT'S OWN START AND SYNC BYTES. 2) ACCUMULATE BYTES IN A BUFFER AREA OF MEMORYI AND START AND STOP THE CASSETTE RECORDER UNDER CONTROL OF THE COMPUTER WHEN IT IS TIME TO DUMP AND REFILL THE BUFFER. OTHER ITEMS TO BE CONSIDERED WHEN WRITING SOFTWARE: 1. SINCE TAPE IS AN IMPERFECT MEDIUMI IT IS GENERALLY USEFUL TO INCORPORATE AN ERROR-CHECKING SCHEMEl SUCH AS THE CHECKSUM SYSTEM THAT IS DEMONSTRATED O~ THE PAGES ENTITLED "OUTPUT ROUT INE WITH CHECKSUM" AND" INPUT ROUT INE WITH CHECKSUM". THERE ARE MANY SYSTEMS POSS IBLEI EACH PROVIDING DIFFERENT KINDS AND LEVELS OF PROTECTIONI AND BOOKS HAVE BEEN WRITTEN ABOUT THESE. 2. IT IS SOMETIMES HANDY TO HAVE AN IDENTIFIERI SUCH AS A NAMEI WRITTEN ALONG WITH THE FILE ONTO CASSETTE. AN E~AMPLE IS THE ONE-LETTER NAME GIVEN TO ALTAIR BASIC PROGRAMS WHEN WRITING TO CASSETTE. 3. ANOTHER ITEM THAT IS USEFUL IS A WAY FOR THE PROGRAM TO TELL HOW LONG THE FILE IS. A ONE OR TWO-BYTE HEADER TO INDICATE LENGTH OF A FILE OR BLOCK IS SOMETIMES USED. IN THE MODIFIED PROCESSOR TECHNOLOGY SOFTWARE PACKAGE 11 THAT I SUPPORTI BLOCKS ARE PRECEEDED BY ONE LENGTH BYTE THAT MAY BE FROM 1 TO 255. A LENGTH OF ZERO INDICATES THE END OF THE FILE. 4. A "TYPE BYTEtt IS A UNIQUE BYTE FOR A PART ICULAR FORMAT OF FILEI SO THAT A SOPHISTICATED LOADER MAY DISTINGUISH BETWEEN DIFFERENT TYPESI AND LOAD THEM APPROPRIATELY. I USE A 90 (HEX) TYPE BYTE IMMEDIATELY FOLLeWING THE SYNC BYTE ON THE PROC. TECH. SOFTWARE. 27 USING THE TARBELL CASSETTE INTEHFACE UNDER IN'I'EHRUPT CONTROL There iSz:0 1;>uilt-in pro:ris~on for interrupts in the design. However, 1t 18 not too dlff1cult to make a moJification to tl:e boarc:l to Frovide for interrupts. Two bits in the control LLne rE.'C1.ster. <1re used 3,S in:,errupt-enable flip-fl0l"s. I':~ .i~; r~~'(:'?fIS21'Y ~o l!l:2tnll cUl.0:'her 74 03 quad 2-inI'ut open-(~f): 1 ('~·t~)~ G~~D [vt~ In one Qf th~ s~are IO pcnitions at t~e tn~ of th~ bo...-:rc... The c:; r~il::it diG.bram below shm·[f; how to conn'~c t the 7403: (f:bNrtl6L BI1' 0) r, lllEtE1vell ~rADY) IC 3\' S", '" PIIJ" "N CJ I T~ 3 rc. 1'1, PIN S' ONt. 2 I>F Tl-1~S( (CoWT/Uc.. Sir ,) Ie 3"1 P"'IIS (oClTPIJT 1l.E~b'r) /..!l!.. '4 Vl6 EblE' PINS b vIZ. 7 v.I 3 'II "I 11 , 4l l![P! I" 1... .-. . opr,o",1w. rNvn~R. VII q vrr 10 VI" VI7 II Vct!-ro~fj) z NiER.~v-pr LINES - 73 P INT If you do not have a vec.torec. interrupt carel, connec,t ~jhe output .pins 3 and 6 to the edge connector pin 73. An interrupt will then be caused when the following conditions arc true: 1) Interrupts are enabled with an BI instruction. 2) Control bit is high and the receiver is ready with Em input byte; or control bit1 is h: gh 9,nd the transrr.i tter j s ready for anoutput byte. Both condit'i'ons 1 and 2 must be true for an interrupt to be causeu~ ° ,If you do have a vectored interrupt card, connect the cmi:I:il~, pins 3 and 6 to one of the edGe connector .'pins 4-,5,6,7,2,9, 10, or 11, depending on what level you want the cassette interface. Be sure that you have the correct polar:.ty to cause an interrup~. The output at pins 3 and 6 eOeS ~~W to cause an interrupt. If you have a vector'ed inteY.':~·uI,t; card that requires a high-going signal to cause an ;nte:'T'l1pt, you may use the extra gate shown above to invert the line-. Read your manual on your interrput board to make sure. There' is not enough room here to explain how to use thE' , interrupt system, but the following lines show how to enable and disable the two interrput bit,S on this board. enable receiver interrupt: MYI OUT A,1 6EH A,2 OUT 6EH enable transmitter interrupt: MYI A,3 enable both interrupts: MYI disable both interrupts: MVI A,O OUT 6El! 28 OUT 6EH PRELJl1INARY PHI-DECK ADAl)T!.'R INFORMATION We have purchased the introductory variable-speed PHI-DECK package, which includes the deck, control electronicn, power supply, and control box. We have been experimenting with an adapter which connects between the Tarbell Cassette In~erface, the read-write hends, and the centrol electronics. Thl.s adapter provides st~l1'·t-stop, fonmrATA "5o.,A.. ~_o'" :r~TE(FAc JI-IS" f(.€A'O 'Pltr II 7 H- TO ,SI> "'- f,NTE-.FA<· (NIf.y 10 'N'l,V 1001< 'fOA JOOIC .11'.( , <."'~. ~ lcfo/ES F"." 'f. foI'r€4 flo (. ~ f eTL •• r 1 --. (oNTIlH (..,NE 5 11- , TO t!T L ~/T I -;11- 7 e T L (lIT I> :fl-'; PHt~1)£C.K 11- , < ~----------------------------- 17-,3 ~ ~S~A 8.T' ::n-"l. ~-------------_ J" 7 - 1'1 < S-rA"f; $".... ,. T I D.T TO tt-M"lRff\cJ ~EWI~O F~ Sf foR ""'Att D B,T 2. 3(- 3 ~------------------< ]"7-,S 'SioP ~ l-TAS,T 3 ~------------ 17 - ,'- RuN STA ' $'." The simple program below is handy for experimenting. Flip sense switch 2 up momentarily to pulse the control line. Control Table LOOP IN FFH DB FF Read Sense Switches. 81 sO function OUT 6EH D3 6E Write to Control Port. o 0 RUN IN 6EH DB 6E Read Status Lines. o 1 STOP OUT FFH D3 FF Write To Display Lights. 1 0 FF J.MP LOOP C3 00 00 Do it allover again. 1 1 REW Sense switch 3 should be up for' read, down for write. 29 A~~y ~ ~ ~Y A &~ o SEE. TRUTH TABLE FOR 1&,(0& YtA.a.c V~A8C I o I , I 0 /I ~ L3 2 ...is.- ~ ~.SVDG 7 ~ + 5 VOC; '~LIJ AND 7l4LOO/7,,(03 NAND/OR A' S 2 A~Y C ~ o 5 5 3 V 0/000 ~ 8 12. A 13 7'40~/7'(LOq/7"tOG. 3 Y A~' It 2 V 0 I 0 x- DON°T \I ...!L +5' VDC ~ INVERTER y. ~(A8C.D) 1&.\L2.S NORlAND .:INPUTS OUTPVl A 0 I 0 I B 0 y 0 I 0 0 I I 0 A B n----,S=--_ Y F -n---i--- & , H ., ~ z; . I~ ~+SVDC 1l.f09 ANO 30 SEE TRVTH TABLE ~-t--...... E 10 ~ ~ CAR.E 7 o . I 0 " . 5(A+S+C +0) I C ...!L.f) , 0011 I o , , \ I fl 00000 00001 00010 00(00 10 INPUT OUTPUT y S A Be 0 IXXXX q ~+5VDC OVTPUTJ INPUTS lOo....... '- ~5VOG TABLE. FOR. 1"tL00I1~03 Y·ABCDEFGH . la CLR 0 --.......,,,. CK 10 K , CI.R Cl ;.-~8=--_ :r c\<. 1< x x )( I .flo 0 I I1. I 0 I lLo I , n.. I I -Q0 -. Q...I-NO CHANGE I I 0 0 \ G Q. NO CH;'\t-h;( IN OUTPUT UNTIL FALLING EDGE Of CLOCK ..!:1..-.5 VDC X. DON'T CAllE ~ 1"i L13/7c{13 r-K FLI P- FLOP WITH CLtA~ " PR Q. 5 CK Q CLR. INPUT'S lLR PR CI( 0 1 0 0 0 0 I I I I I X X X X x. X ... , 0 OUTPUTS Q Cl I 0 0 1 Il.LEGAL I 0 0 I NO CHANGE. IN OUTPUT VNTlL R.ISING. EDGE OF CLOCK 10 It aVTPV'r?_ IN"'UTS x- OON'T PR 0 II CARE G. CI( Q. 8 IS -,'" +5 VDC ~ 7I:\L]'1 Q-TYPE FblP· FI.QP W'TH PRE.SET' AND c:.LEAR 31 II Q INPUTS OUTPUTS ENG 0 Go Gi X Goo 0 Go 3 D Q Q ..L.. 8 I 2 o Q l"1L 105' ~-BIT BISTASLE INPUTS )[)-t-~ A 8 0 I 0 I I I o. )[)-t" )[Y- 0 OUTPUT y 0 I I 0 S )D " ~ ... SVDC ~ I I 0 Clo~ TH£ STA1E. OF Q +5 VDe 6 13 0 BE.fORE. ENB IS SEl LOW ~ 12 0 DON'T CARE ILf ~ A x~ 7 IS" , I I 13 ENS 7lfLS' 32 EXCLUSIVE -OR LATC,H ~--ISER A QA B QS C o QC QO E QE --f- IS 1113 12 ~ " IQ.. ENS P +5 VDe ------..... CK ClR ", SER" 5ER\A\' DATA INPUT. DATA \5 MOVEDFI10r., SERIAL INPUT TO QA AFTE.R THE. FIRST CLOC\<. DATA 15 PRESENT ON IA_Qt\) AFTER CLOCI(.!Fi"'.ODE 15 SHIFlE'D FROIVl ....r'~RALLEL. DAfA WI:LL MOVE TOWARDS QE ON £ACl-i FOLLOWING CLOCK. A-B- PARALLEL DATA INPUT. ASSOCIATED OUTPUT r ENABLE PARALLEL MODE. WHEN ~ET. REGI :iTER IS IN PARALL EL MODE. WHEt'" RE5ET, REGISTER I ~ IN SERIAL MODE. ENS P CI<- CLOCK. NO CHANGE. IN OUTPUT UNTIL RlSINGo EDGE OF CLOCK CLR" CL EAR. WHEN RESET ALL CUTPIJTS ARf. rORCED TO TO· RESET WITHovr REGARDS TO ANY OTHER INPUT. ALL OUTi>VT~ U~EO FOR PARALLE.L FOR ~ERIAL OUTPUT, ONE OF THE OUTPUTS DEPENDIN(' ON TH£ LENGTH DESIRED. QA-Q.E • OuTPUTS. OUTPUT. 15 U~£D 1..,', S-BIT ~HIFT REG\STER IF B\ THROU<:7 13(, ARE BIT- FOR- OIT EQUAl,. TO THE 81T5 RE.~E. T ON TI THROUGH TG., Q IS RESET. FOR ALL OTHER CONDITIONS Q. IS SET s= ..li- STROBE. WHEN SET Q. IS OISABLED +S VDe DMSI3I. 33 6-Blr COMPARITOR A,B" SERIAl. OAT A IN PVTS. ONE Or: THE. TWO MUH BE ~E T TO E.NABLE. THt Oi'HER. DATA IS PRE.SE N T AT QA AFTER ONE. CLOtK AND r"'lO'lES TOWARD Q.H ON EAC.H eK= CL.OC.K. FOLLOWI"~G kIS'N~ Cl.OCK. N.O CHAN<':rE IN OUTPUT UNTIL E Dc;,.E OF C.L.OCI<' CLR-CLEAR. WHEN RESET".. ALL OViPVTS ARE. RE~ET WITHOU, REGARO) TO TO OTHER INPUTS. ~ Q.A- GH" OVTPUT5. DATA IS MOVE.D F'ROM A AND B TO ClA ON EACH CLOCK AND THE. DATA AT QA IS MOVED TOWARl)$ +:5 VDC Q~. S-SIT PARALLEL.-OUT .. 18 VDe • -+J~-I Vee .s ~HIFT RE"~ru~, CONTROL COMPARITOR.I----....--..... t---i COMPA RI TOR 14-_ _ _ _ _ _ _ _T.!.R~\GG~~_~ 2. .....- - - - - -..... FLIP-FLOP OUTPUT 5TACrE OVTPUL_ 3 /),RGE 7 NfSSS 34 TI MER TIMING> COMPONENT.5 ~ I ., LIMITER 2 OUTPUT A POSITIVE: EDGE TRIGGE.R E.NABLE Ii. (I( IS II 10 L.IMITER NEGATIVE EI)GE , OUTPUT A 13 TRI~6E.R ENABL.£ 3 CLEAR It". - V e e .. SVDC - ~ -5 voe 8 ~ 81Z0 BIOIRECTIONAL ONE.-SHOT A 6 ~FER~~E ~-kt- INPUT S~NAL LlII'UTER OUTPVT A ~ I I LlMI'tER_1 OUTPUT A ....._---oJ ONE-SHOT ouTPUT Q. ONE-SHOT n OUTPUT Q _ _-" ...._ _ _-' '---_--'n___ ONE-SHOT OUTPVTQ, PIN 2. .sEl PIN I' RESET PIN e I\ES£T PIN" 5ET PIN 2 5ET PIN 13 5ET "ON""TlME \S DETERMINED r' - -. ONE-SHOT BY TlMIN(;' COMPONENTS CONNEC1Et> TO PINS 12.) 1'1.. AND IS: eTtO 8l0lRf.C.T10NAL ONE-~HOT AND OUlPUT WAVEFORMS INPUI DEAR CUSTOMER~ THANK YOU VERY MUCH FOR PURCHASING A CASSETTE INTERFACE. I AM INTERESTED TO kNOW WHAT KIND OF PROeRESS YOU HAVE MADE WITH YOUR TARBELL CASSETTE INTERFACE. I WOULD REALLY APPRIG1ATE IT IF YOU WOULD TAKE TIME TO FILL THIS QUESTIONAIRE OUT. THIS WILL HELP ME TO PROVIDE YOU WITH BETTER SERVICE IN THE FUTURE. DID YOUR INTERFACE ARRIYE IN A REASONABLE LENGTH OF TIME? YES NO WERE ANY OF THE ITEMS DAMAGED IN SHIPMENT? YES NO WERE ANY OF THE ITEMS MISSING? YES NO WAS THE QUALITY OF WORKMANSHIP ON THE BOARD REASONABLE? YES 1110 HAVE YOU STARTED CONSTRUCTION YET? YES )10 WHERE? YES HO IF SO~ WHAT? HAVE YOU HAD ANY PROBLEM UNDERSTANDING THE MANUAL? WERE THE COMPONENTS OF REASONABLE QUALITY? WHAT WASN'T? YES NO. HAVE YOU COMPLETED THE CONSTRUCTION YET? YES NO HAVE YOU TESTED THE INTERFACE YET? YES NO YES NO YES NO YES NO YES NO YES NO WHAT IS THE MAKE AND MODEL OF YOUR RECORDER? HAVE YOU ENCOUNTERED ANY PROBLEMS? IF THERE WERE PROBLEMS~ WHAT? ARE THEY FIXED? IN WHAT VAY? HAVE YOU FOUND ANY OF THE ADJUSTMENTS CRITICAL? ARE YOU DISATISFIED IN ANY WAY WITH THE UNIT? WHICH? HOV? DO YOU HAYE ANY SUGGESTIONS FOR IMPROVEMENT OF THE DESIGN WHAT DO YOU FEEL 15 THE MAJOR DISADVANTAGE OF THIS UNIT? HAVE YOU DEVELOPED ANY SOFTWARE OR HARDWARE RELAT IVE TO THE INTERFACE THAT MIGHT BE OF USE TO OTHER PEOPLE? WHAT? HAVE YOU TRIED PACKING DENSITIES HIGHER THAN THE STANDARD 800 BITS/INCH? WHAT DENSITY? WITH WHAT RESULTS? WHAT IS YOUR NAME" ADDRESS~ AND PHONE NUMBER? DO YOU MIND IF 1 GIVE OUT YOUR NAME TO OTHER CASSETTE USERS? PLEASE USE THIS SPACE" AND THE REVERSE SIDE~ IF NECESSARY.. TO MAKE ANY COMMENTS ON THE INTERFACE THAT MAY BE HELPfUL. SINCERELY" /Jp..J.J~~ DONALD E. TARBELL 144 MIRALESTE DRIVE 1106 MIRALESTE" CALIF. 90732 36
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Create Date : 2017:08:10 10:30:47-08:00 Modify Date : 2017:08:10 10:34:57-07:00 Metadata Date : 2017:08:10 10:34:57-07:00 Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Format : application/pdf Document ID : uuid:b4e218f6-5e68-f84b-8233-0d4591d8f7e8 Instance ID : uuid:4d8cfc80-d3ab-b340-95fe-c4dfe57586a6 Page Layout : SinglePage Page Mode : UseNone Page Count : 55EXIF Metadata provided by EXIF.tools