Transcript
Page 1: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

THE

TARBELL

CASSETTE

INTERFACE

TARBELL ELECTRON ICS20620 S. Leapwood Ave., Suite P

Carson, California 90746(213) 538-4251

Page 2: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

TABLE OF CONTENTS

PAGE

1. Specifications2. Interface History and Sales Pitch3. Selecting a Cassette Unit for Digital RAcording4. The Kansas City (Byte!Lancaster/CUTS) Format

5. Parts List6. Assembly Instructions7. Assembly Drawings8. Modifications9. Soldering, Cleaning, and Installation Notes10. Initial Adjustment Instructions

11. Operating Instructions12. Bootstrap and Sync Code Generator Programs13. Output Routine With Checksum14. Input Routine With Checksum15. How to Save and Load Data From a BASIC Program16. Controlling the Start-Stop Function

17. Theory of Operation - Output Section18. Theory of Operation - Input Section19. Schematic - Output Section20. Schematic - Input Section21. Timing Diagram22. Pin Function List

23. If You Have Problems24. Ideas For Using the Cassette Interface25. Modifications on Cassette BASIC CSAVE and CLOAD26. Processor Technology Software Package #1 Modified27. Writing Programs For the Cassette Interface28. Interrupt Control29. PHI-DECK Adapter Information

30. 74f.LOO, 7403, 74L11, 74()4., 74L04, 7406, 7425, 7408, 74L3031. 74L73 , 7473, 74L7432. 74L75 , 74L8633. 7496, DM813134. 74L164 , NE55535. 8T20

36. Customer Evaluation and Registration

January 14, 1977

Page 3: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

TMd:H.·lL ELECl H~)I\ilC3'-"""""""0 c L ~ .. ",~ dr'" (:, .. ;'.,.. f.)LU\..)L d. COj.JhdO -\,8., v •. ,·.·" I

Carson, Cdi[f.>rnia 90746(213) 538·4251

THE TARBELL CASSETTE INTERFACE (FOR ALTAIR 8800 USERS)

SPEED: UP TO 540 BYTES PER SECOND (2200 BITS PER INCH).187 BYTES PER SECOND FOR TARBELL STANDARD 800 BITS/INCH.30 BYTES PER SECOND FOR "BYTE/LANCASTER" STANDARD.

ENCODING METHOD: PHASE-ENCODED (EXCLUSIVE-OR OF CLOCK AND DATA).SELF-CLOCKING (CLOCK VARIES ALONG VITH TAPt SPEED).USED ON MY OWN SYSTEM FOR THE LAST 4 YEARS.CAN BE USED TO GENERATE "BYTE/LANCASTER" TAPIS.

CASSETTE. WILL WORK WITH MOST AUDIO CASSETTE UNITS. MAY BE ADAPTEDTO AUTOMATIC DIGITAL CASSETTE UNITS. WILL ALSO WORKWITH REGULAR REEL-REEL TAPE RECORDERS. I HAVE BEE~ USINGA REALISTIC (RADIO SHACK) CTR-19 AND A u.c. PENNY 6536'($39.95). TAPE SHOULD BE OF LOW-NOISE TYPE.

8192 BYTE LOAD TIME. 15 SEC' 540 BYTES PER SECOND.43 SEC' 187 BYTES PER SECOND.4 MINUTES' 30 BYTES PER SECOND.

DEVICE-CODE EASILY SELECTED WITH ON-BOARD DIP-SVITCH.

STATUS. 4 EXTRA STATUS LINES AVAILABLE FOR INPUT.

CONTROL: 4 EXTRA CONTROL LINES AVAILABLE FOR OUTPUT" WHICH MAYBE USED TO DRIVE RELAYS FOR EXTRA CASSETTE UN11S;2 SPARE IC SLOTS TO LET YOU DO YOUR OVN THING.

COMPATIBILITY: PLUGS DIRECTLY INTO ALTAIR 8800 OR IMSAI 8080.HAS SERIAL-PARALLEL AND PARALLEL-SERIAL CONVERSIONON BOARD. PATCHES PROVIDED FOR POPULAR SOFT_ARE.

SOFTWARE: COMES WITH COMPLETE SET OF INPUT/OUTPUT SUBROUTI~ES"

BOOTSTRAP" AND "BYTE STANDARD" (LANCASTER) SOFTWARE.

COST: S120 rOR COMPLETE KIT" S175 ASSEMBLED AND CHECKED-OUT.

MANUALsASSEMBLY INSTRUCTIONS AND DRAWING" PARTS AND PIN FUNCTION LISTSSOLDERING, CLEANING" AND INSTALLATION NOTESI OPERATING INSTRUCTIONSINITIAL AD~STMENT PROCEDURES, INPUT/OUTPUT ROUTINES WITH CHECkSUMBOOTSTRAP PROGRAM AND TEST-STREAM GE~ERATOR PROGRAM .

PARTS I

ALL RESISTORS" CAPACITORS, AND INTEGRATED CIRCUITSCASSETTE CABLE, RIBBON CABLE" AND DIP CONNECTORLOW-NOISE CASSETTE WITH TEST STREAMDOUBLE-SIDED BOARD WITH PLATED-THRU HOLES AND GOLD EDGE CONHEeTOR

-. ~.~

WARRANTY I IF NOT COMPLETELY SATISFIED, RETURN BOARD FOR REFUNDOR FREE REPAIR WITHIN 90 DAYS AFTER PURCHASE.

FIRST DELIVERIES WERE MADE IN SEPTEMBER, 1975. DELIVERY IS1 TO 3 WI&~S AFTER RECEIVING ORDER. THE 2S-PAGE MANuAL IS AVAILABLEAT $4. 'CAtIFORNIA RESIDENTS PLEASE ADD 61 SALES TAX. MAJ<ECHECK OR MONEY ORDER PAYABLE TO TARBELL ELECTRONICS.

t

Page 4: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

HISTORY AND SALES PITCH

I HAVE BEEN USING AN INEXPENSIVE AUDIO CASSETTE RECORDER INMY HOME-DESIGNED COMPUTER SYSTEM SINCE 1972. 1 HAVE OVER600 FILES ON CASSETTESI MOSTLY ABOUT 4 ~YTES EACH.MY ESTIMATE IS THAT THE ERROR RATE IS LESS THAN 1 ERROR IN110001000 BITS. I SAY THIS BECAUSE I CAN USUALLY RECORD 304 KBYTE FILES ON ONE SIDE OF A C-60 CASSETTE WITHOUT ANY ERRORS.THIS INTERFACE GAVE ME VERY GOOD SERVICE WHILEI WAS WRITING THE DISX OPERATING SYSTEM FOR MY 500 XBYTE DISK.SINCE I STARTED USING MY DISX SYSTEM A FEW YEARS AGOI THECASSETTE HAS SERVED AS BACKUP STORAGE - A RELIABLE PLACETO STORE DATA AND PROGRAMS AFTER THEY ARE DEBUGGED.

THE ENCODING METHOD I USE IS VERY SIMPLEI AND HAS BEEN INUSE IN INDUSTRY FOR QUITE SOME TIME. PICTURE A SHIFT REGISTERWHICH IS LOADED WITH THE DATA TO BE RECORDED. THE REGISTERIS THEN CLOCKED WITH A SQUARE WAVE. THE OUTPUT OF THE SHIFTREGISTER IS EXCLUSIVE-ORED WITH THE CLOCXI PRODUCING THEBI-PHASE DATA. THIS DATA GOES DIRECTLY TO THE CASSETTERECORDER'S INPUT. THE MOST DIFFICULT PART OF THE PROCESS 15RECOVERING THE DATA. MANY LONG HOURS WERE SPENT STUDYING THISPROBLEM AND TRYING DIFFERENT METHODS. IN THE ORIGINAL INTERFACETHIS WAS ACCOMPLISHED WITH A 760 HIGH-SPEED COMPARATORI A 14121NON-RETRIGGERABLE ONE-SHOTI AND A DOUBLE-GLITCH GENERATOR HADEWITH AN EXCLUSIVE-OR GATE. SINCE THENI THE 8T20 HAS BEEN DEVELOPEDJWHICH COMBINES THESE THREE FUNCTIONS ON A SINGLE CHIPI AND IS THEUNIT USED IN THE ALTAIR INTERFACE.

THE PRESENT DESIGN IS EVEN MORE RELIABLE THAN THE PREVIOUS ONEIAND IS CAPABLE OF RECORDING AND RECOVERING ERROR-FREE DATA ATA RATE OF 540 BYTES PER SECOND ON A STANDARD AUDIO CASSETTERECORDER. (YESI THAT IS OVER 2200 BITS PER INCHI) I AH STILLIHOWEVERI ENCOURAGING USERS TO EXCHANGE DATA RECORDED AT 181BYTES PER SECOND C1500 BITS PER SECONDI 800 BITS PER INCH).THE MAIN ADVANTAGE OF THIS METHOD OVER OTHERS IS IT'S ABILITY TOWITHSTAND A LARGE AMOUNT OF WOW AND FLUTTERI WHICH MAY BE INTRODUCEBY CHEAP RECORDERSI AND STILL RECOVER THE DATA RELIABLY. THISFEATURE STEMS FROM THE SELF-CLOCKING NATURE OF THE RECORDED SIGNAL:THE RECOVERED CLOCK VARIES RIGHT ALONG WITH THE DATAl SO THAT THtSPEED VARIATIONS ARE ESSENTIALLY IGNORED. THE MAIN DISADVANTAGEOF THIS METHOD IS THAT IT REQUIRES GOOD LOW-NOISE TAPEI AND ADECENT FREQUENCY RESPONSE ON THE CASSETTE UNIT. THE CASSETTE UNITI'VE BEEN USING LATELY Cu.C. PENNY 16536) HAS A FREQUENCY RESPONS£80-81000 HZ. THE MOST IMPORTANT PART 15 THE HIGH END. THESEREQUIREMENTS ARE DUE TO THE HIGH SPEED OF THE INTERFACE 1 AND WOULDBE THE SAME FOR ANY HIGH SPEED DEVICE.

THE SPEED MAY NOT SEEM VERY IMPORTANT TO YOU NOW. BUT A GOODPORT ION OF YOUR TIME IS GO ING TO BE SPENT SAV ING AND LOAD INGDATAl PROGRAMSI AND OTHER TEXT. THERE IS A WORLD OF DIFFERENCEBETWEEN LOADING BASIC AT SAYI 30 BYTES/SEC C4 MINUTES), ANDAT 187 BYTES/SEC C40 SEC). IT DOESN'T SEEM LIKE MUeHl BUTWHEN YOU HAVE TO DO IT OVERI AND OVER, AND OVER •••• IT GETSTO BE A BIT MUCH. ESPECIALLY WHEN YOU'RE DEVELOPING YOUR OWNPROGRAMSI AND THEY TEND TO RUN AMUCK AND WIPE OUT CORE.THINK ABOUT ITI THEN BUY THE TARBELL CASSETTE INTERFACE.THE ONLY METHOD PROVEN WITH TIME. ASX YOUR FRIEND WHO HAS ONE.

2

Page 5: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

SELECTING A CASSETTE UNIT FOR DIGITAL RECORDING

FIRST OF ALL~ THE MOST EXPENSIVE CASSETTE RECORDERSARE NOT NECESSARILY THE BEST FOR RECORDING DIGITAL DATA.THERE ARE SEVERAL FACTORS THAT COMBINE TO HAKE A GOODUNIT FOR THE HOBBYIST'

1. IT SHOULD HAVE A GOOD HIGH-FREQUENCY RESPONSE,PREFERABLY UP TO AT LEAST B,OOO HZ.

2. IT SHOULD HAYE A TONE CONTROL, SO THAT THE INHERENTFREQUENCY RESPONSE HAY BE REALIZED. '

3. ALTHOUGH AUTOMAT IC VOLUME CONTROL IS MORE CONVENIENTFROM AN OPERATIONAL POINT OF VIEW, IT ALSO REQUIRESA FEW SECONDS OF SETTLING TIME BEFORE STARTING to RECORD.

4. IF IT DOES NOT HAVE AUTOMATIC VOLUME CONTROL, IT IS GOOD TOHAVE A RECORDING LEYEL METER. THIS ALLOWS EASlER ADJUSTMENTFOR THE CORRECT RECORDING LEYEL.

5. IT IS YERY IMPORTANT TO HAYE A DIGITAL COUNTER. THISMAKES IT POSSIBLE TO QUICKLY LOCATE THE DESIRED PROGRAMAMONG SEVERAL.

6. IT SHOULD BE CAPABLE OF RUNNING DIRECTLY ON THE AC LINE.BATTERIES TEND TO MAKE THE MOTOR GET SLOWER AS THEY YEAR.

7. IT 15 HANDY TO HAVE AN AUXILLIARY INPUT, SO THAT A FAIRLYHIGH LEVEL MAY BI FED TO TaE RECORDER, AND NOlSE kEPt-TOA MINIMUM.

8. A REMOTE INPUT ~CK IS VALUABLE TO CONTROL START-STOPDURING ASSEMBLER AND COMPILER OPERATIONS.

9. JACKS FOR MIC~ AUX, REMOTE, AND EARPHONE ARE USUALLY INGLVE>ID,BUT YOU SHOULD CHECK TO MAKE SURE THEy ARE THERE~ ANYfAY.. .

10. LOW WOW AND FLUTTER CHARACTERISTICS ARE IMPORTANT, BUT AREHUCH MORE IMPORTANT WHEN USING AN ASYNCRONOUS INTERfACE,WHICH IS NOT SELF-CLOCKING.

11. IF IT IS DESIRED TO DO AUTOMATIC REWIND, FAST-FORWARD,AND RECORD/PLAYBACK SWITCHING UNDER PROGRAM CONTROL, YOUMUST PURCHASE A RECORDER THAT HAS THESE FACILITIES. A_OTHERFEATURE TO LOOK FOR ON THIS TYPE OF UNIT IS A-WAY to ~EP'·'

TRACK OF WHERE YOU ARE ON THE CASSETTE TAPE.

12. PEOPLE HAVE EXPERIENCED PROBLEMS WITH PANASONIC RECORDERS.I AM PRESENTLY RECOMMENDING THE J.C. PENNEY MODEL 6536 - ­AT $39.95 AS THE BEST BUY 1 KNOW,' AND SEVERAL PEOPLE AREUSING THEM WITH MY INTERFACE WITH GOOD RESULTS. OTHER .,BRANDS THAT I KNOW HAYE BEEN SUCCESSFUL ARE SONY ANO"REALlSTIC.

, ..- ...

OF COURSE, NONE OF THE ABOVE ITEMS IS ABSOLUTELY NECESSARY FORRECORDING DIGITAL DATA ON AN AUDIO CASSETTE. BUT THE MORE OFTHESE REQUIREMENTS THAT ARE FILLED, THE MORE CAPABLE YOUR­UNIT WILL BE, AND THE EASIER IT WILL 81 TO USE.

3

Page 6: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

USING THE TARBIJ..L CAGSETTE INTE..TU'ACE ]'OR 'rRE KANSAS CITY ]'OR11AT

Some time ago, there was a meeting of various cassette interfacemanl.1faet;urern to deter.nine a. ct1"ul<1cu'd for exc}wnf,e of prOcrr..ffisand data on cnssett(;s <.:u:lonC; computer hobb;yists. The formatth::lt "JaS proposed nr; a result of the me0ting is Fl modifiedversion of the coding technique <leE;cribed by Don I'LlllCrlstcrin the first iss1..l.c of "BYTE" nCJ.[~o.zine. In this format, euch8-1)it lwt;e if; \Jritten. on tnpe in an Bf3;ynC:1'ODOUS for;';~it, w':i,thOlle ctart bit (zero), B data bits (zero or one), and two stopbits (onBs). A one is defined as 8 cycles at 2400 bits persecond, ano. a zero is defLlcd cw 4 cycl CE.'. at 1.<00 bi .,~.s persecond. J'his provid0s a do.ta transfer speed of 300 be.ud, Ot'a little 10[;.8 than ,,0 bytes per second, and may be generatedand decoded using a variety of. toc)1Ulquos.

Since the st<mdard is fairly Hlm:, it suggests that IDs.ny peoplemay \>/8nt to have t\'10 method~;; available. One that pro,\Tides' forthe Kannas Cit/y (BY'TE!J.lRllcastor) format, and another tba t ismuch faster, to speod program loading and development. TheTarbell Cnssette Interface may easily be modified for bothmethods.

First, ·the output oscillfitor frequency will he.ve to be raiBedfrom 3000 hz to 4800 hz. '1.'h1::.o is because a higher bj.t densityis required of the tape, although the actual data transfer rateis much slo'.<ler. A. one ma.y be gcneratE'd. by writing B vlOrd (Ifall zeroes (00000000), and a zero may be generated bJ~ writinga ''lord of al1jernatin(5 ones and. zeroes (01010101). An output;subroutine converts ee.ch byte to be "lritten in this fOI'lllat :frOIDparallel to serial foI'4\ (requ.ired only for this format).

On the input side, the adjustment of the potentiometer eR8)will have to be changed for the higher frequency" ':rhe syr.cdetector circuit(IC's 9 and 10) will hRve to be changed sothat it recosnizes the alternating bit pattern as a sync bytein addition to the normal s;ync byte of E6 (hex). An inputsubroutine converts each byte from it's serial fortJ. to It'sparallel form (required only for this format).

Using. the method outlj.ned above, the Tarbell Cassette Interfacecan be modified so that a double-pole, single-throw switchwill determine which frequency will be used. The softwaredetermines the format. Another alternative is to change tothe higher frequency permanently, so that no switch isnecessary. The disadvantage of this is that you would haveto readjust the potentiometer to read tapes made with thestandard ;000 hz oscillator (187 bytes per second), and thata slightly higher frequency response is required on the partof your recorder.

A description of the hardware modifications, and listingsof the subroutines for the operations described above areavailable upon request. Please include a self-addressedstamped envelope.

4

Page 7: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE INTERFACE P;\I1T S LIST

INTEGHATED CIHCUITSREF NOS DESCRIPTION QTY PT NO +S GND -5

1 QUAD 2-INPUT AND 1 7408 1/~ 72 DUAL .J-}( FLIP-FLOP 1 71J73 4 1 13 8-BIT SHIFT nEG ISTER 1 7'~LI64 14 74,,23 DUAL TYPE-D FL IP-FLOP 2 74L7/~ 14 76 5 "VOLT REGULATOR 1 U13091<7,,13.,19,,25 QUItO 2-INPUT NAND DIG I~ 7/103 14 78,,29 DUAL ..I-I; FLIP-FLOP 2 HL73 Lj 1 15 B I -]) InECT 1ON,~L Ot:E-SHOT 1 £;T20 16 8 49,,31 hEX HNERTEH 2 7 L1LO/t 14 710 8·· 1N?lTT 1~{,ND 1 7/j L30 14 711: 1 '111-'LE 3'- II·;PUT MW I 7/jLll 1'1 720 HE>: INVEHTEH 1 7 /104 1/1 '/21 .. 27 s-n IT SHIFT HEGISTER 2 7/.. 9C) 5 1222 *T II'IER 1 NE555 8 126 QUAD 2- INPUT NAND 1 7/1LOO 14 728 . DUAL 4- INPUT Non 1 7/j25 14 730 QUAD EXC LUS IV1:>-OR 1 74L86 14 732 6-BIT COl~P{l.FMTORS 1 01'18131 16 B34 QUAD LATCH 1 7L!L75 5 1235 HEX INVERTER BUFF'ER O/C 1 7406 14 7

Cl"C5"ClO-CI5 • 1 MFD CAPAC ITORC6 .02 1'1I"D CAPACITORC7 .033 011 $039 l·WD CAP,;.C ITORC8 *.01 NrD CAP/-\C ITonC9 28 OR 25 1"11"1) C/,;PAC ITORC16 2200 PI" CAPACITORC17 .0 I l'JFD CI-iPAC ITon

RIR2R3R4R5R6R7R8R9RIO-RI7

CRICR2CR3

51

"1PI

PCICSI

2.!! HOHN RESISTOR (RED"Yl:;LLO\oJ"H)::O)4.7 KOHN RESISTOR (YELLOW"VIOLETJRED)I. fi KOIIM RES ISTOR (BROWN .. GHEEN .. RED)330 OHM RESISTOR (ORANGE"ORANGE"BROWN)220,OHM RESISTOR lW (RED"RED"BROWN)

*27 KOHM RESISTOR (RED"VIOLET .. ORANGE)*APPROX 10 !-;QHM RES ISTOR CBRO\lTN,BLA.CK.. ORANGE)

50 EOHN POTENT IONETER100 OHM RES ISTOR CBHOWN"Bl.J'I.G K"HROWN)1 KaHN RES lSTOR (BRDWN"Bl.ACh.. RED)

IN914 SIGNAL DIODEIN750 4.7 VOLT ZENEn DIODEl.IGHT-EMITTING DIODE

DIP-SWITCHDIP-SOCKETDIP-PLUG2 CASSETTE COAX CABLESFLAT RIBBON CABl.EPRINTED CIRCUIT BOARDSCOTCH LOW-NOISE CASSETTETO-3 I NSUl...AT ING WAFER.2 SETS OF 4-40 NUTS" SCREWS" AND WASHERS

* THE ITEMS MARXED WITH AN ASTERISK ARE MATCHED AND BAGGED SEPARATELY.74LS MAY BE SUBSTITUTED FOR 741. SERIES IC'S IN MOST CASES.

If

Page 8: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

78

wC-Q,~

IoUQ-I

oC,v'l

Page 9: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

a iQWI QUIMq¢'lIs- ..uCaaL_a.,. •a D

~

"- ... \,.

~.clz ',. !- It I u.I. I .

~too Ico! QII.

C1M ,- ! --'I ;. I

'"Dr: - olDi1M D a

~ ~ a"lDIj I-l1li._0 Z-'I

>- Z u.I... zm ...'It 0:Ii 1M- A-

IAI ..:~en :z:

Co!) ,W :..,;' 0en h·

C - U-1MD.D.~

Z

-ZD.

'"C:z:

'"u-00

1M...0Z

7..

Page 10: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

ASSEMBLY INSTRUCT IONS

/1. TAm: OUT ALL THE PARTS AND CHECK THEN AGAINST THE PARTS 1.1ST.IF THERE ARE ANY PAnTS ~I~SING, Dnop us A NOTE, AND WE WILL'SEND THEM TO you. NOTE Tl!.~T THE NE555" 10]( (APPROX.) RESISTOR ..27K RESISTOR, AND .01 MFD CAPACITOR WHICH ARE PACKAGED IN"THESEPERATE BAG fI!\E i-m.TeBED FOR 1500 HZ AND (.nE: ~'lAHKED U IT1IASTERI$hS ON THE: PAtlTS LIST. OTHER COllI"ONI-:NTS USED FOR TI-lESEWILL CAUSE THE OUTPUT TO RUN AT A DIfFERENT FREQUENCY. "

2. USING THE AS5El'!;~LY DRI\HING ON PAGE 7 .. INSERT TIlE DISC'~ETf,

cor:PONl::NTS WP,G '..1ITH CIiPl\C 110ns, rn;:s ISion~~ .. LED". DljJ··<·!,; ITCH)INTO 'lEE rR PHOPER LOG[~.T10;)5. ON THE LIGliT··)::nITT H!G D~'DE <LHI) ..THE RED l,EAD GOES TO 1m:: m:s r~Ton. IF TnF. hEY) HAS BEi::!-) nUDDEDOFF THE LEi\D .. USE AN Omli::n:n 1'0 DETEm1INE HHIGH LEt.!) GOES TOTHE RES ISiDR. 'fHE IN750 Z:C:I'lF~H DIODE (SWILL GLJ.iSS "DL7J ICE)SHOULD BE r·;OUNTED VI l.TIl THI: U NE SIDE TO';iAHD '{HE LEFT ~. THE1N914 D IODE (OTHJ~;:l 51·1.'\LL Gl..ASS DEV ICE) SHOULD DE NOUNTED tJ ITETHE LINE SIDE TOP{.RD "HE 1301T01-1. THE ONLY CtlPf.~CnOR milCH .SHOULD DE Oli Inn'ED IN 1\ PAr,T ICUt.An DIRECT !ON IS THE F I ~:rERCAPl\C nOR C9 .. UHICH SHOULD BE HOUNTED lJ l'rH THE PLUS 5 IDE TOi:1fl.RDTHE Ll:FT ~ AS r-li~,,{l{sD ON THE BOARD. THE D1.P"SOGlffiT SHOULD BEMOUNTED IN THE Jl POS IT ION" AS IS SHOUN ON Trlr.: ASSE1'JDLY DHMllNG.

3. INSERT' ALl. TllE WTEGRATED CIRCUITS Cle'S> <SHALL Bl.JICll: DEVICESAim ONE LAnGE t'lETAL DEVICF.)' INTO THEIn-PROPER LOCf.T.T.ONS ASam IGt1TED BY T1::::: A5SE)";DLY DEP.\:! ING AND THE PAnTS L.IST. NOTE 'fHllTIe 1.'5 <8T20) IS ORIEtJ'TI~D UITH PW ! AT UPPI':H RIGHT .. i';HEREl\S ALLTHE OTHii:RS ARE ORIeNTED H!TH PIN! It.T LOlmn l.EFT. THEBE tinE 2,.,rAYS TO TELL io}HICH IS pm 1 ON AN .Ie. ON SOl1E.. " THERE1S '(~ Si,jfU~L

D01' BY PIN 1. Ohl OTHERS, TBEf.. E ISs\" NOTCH AT ONE EtJ!) OF THE lC ..AND PIN 1 IS ON THE LOiJEH LEFT \t!HEN THE NOTCH IS AT THE' LEFT •..BE SUFm TO PUT THE NICA INSUL./\TOH UtmEH THE HEGUl.A.TOR <IC 6)'BEFORE HOUNTING IT. BE SURE TO PUT IC 6 IN SO THAT THE SCREUHOLES LINE up" AND- THEN INSTALL THE SCREi4S .. " ITH THE \U~SHERS

UNDER THE NUTS. BE SURE THAi THE WASHERS DON'T TOUCH THE TR{~CE

ON SIDE B OF'THE PC BOARD, AND THAT CAPACITOR-C9 IS NOT TOUC~WGANY PART OF IC 6. . -

4. INSTALL THE SEVEN JUMPER WIRES, PREFERABLY USING SMALL INSULATEDS INGLE~STRAND COPPER 'IN IRE. THE .JUt1PER WIRES ARE MARIQ:;D· ON THEASSEMBLY DRAWING IN r~AVY BLACK LINES. FIVE OF TIffiM (~E ALSOMARKED ON THE BOARD WITH NATCHING LETTERS· <A,B"C"D"E) BESIDETHEIR' HOLES. NOTICE THAT THE BOTTOM OF JUMPER D GOES TO THE HOLEABOVE THE "Ott. THERE ARE TWO MORE VERT ICAL JUMPERS DOWN NEXTTO THE CONNECTOR. THE LAST IS A SHORT ONE <E>" BELOW IC 30"TO SELECT THE OUTPUT PHASE. MINE IS CONNECTED BETWEEN THE CENTERAND LEFT HOLES" AS SHOWN IN THE SCHEMAT IC. THIS MAY HAVE TO" BECHANGED LATER" AS NOTED IN THE ADJUSTMENT' PROCEDURE. ".

5. CONSULT THE INSTALLATION NOTES FOR INSTRUCTIONS ABOUT THE CASSETTE. -CABLES.

6. SE~ THE MODIFICATION SHEET (PAGE 8> FOR ANY LATE MODIFICATIONS.REVISION C HAS ALL MODIFICATIONS THROUGH MOD. 16. BE SURE"THATALL MODIFICATIONS WHICH ARE NOT ON YOUR REVISION' ARE-INSTALLED.

6

Page 11: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

MODIFICATIONS ON THE TARBELL CASSETTE INTERFACE AS OF SEPT I~ 1976.

INCLUDED ON REVISION B:

I. RESISTOR RI HAS BEEN CHANGED TO A 2.4 KOHM RESISTOR.2. ON THE OUTPUT VOLTAGE DIVIDER~ RIO IS RECOMMENDED TO BE

I KOHM FOR AUXILLIARY CASSETTE INPUTS~ INSTEAD OF 10 KOHM.

INCLUDED ON REVISION C:

3. A.I MFD CAPACITOR HAS BEEN ADDED IN PARALLEL WITH Rl1.THIS IMPROVES RELIABILITY WITH SOME TYPES OF RECORDERS.

-4. A I KOHM RESISTOR HAS BEEN ADDED BETWEEN PINS 10 AND 14OF IC 35. THIS PROVIDES PULL-UP TO DRIVE THE 7475 LATCH.

5. THE TRACE TO PIN 8 OF IC 5 (GROUND) HAS BEEN CUT AND ALINE RUN DIRECTLY TO THE GROUND EUS ON THE BOTTOM. THISELIMINATES CROSS-TALK FROM THE NE555 OSCILLATOR.

6. A 2200 PF CAPCITOR SHOULD BE ADDED BETWEEN PINS 6 AND 8 ONIC 5. THIS REDUCES THE EFFECTS OF HIGH-FREQUENCY NOISEGENERATED IN SOME COMPUTERS.

INCLUDED ON REVISION D:

7. ADD A .01 MFD CAPACITOR BETWEEN PINS 15 AND 8 OF IC S.8. ADD A IK RESISTOR BETWEEN PINS 12 AND 14 OF IC 30.9. CONNECT ONE SIDE OF A IX RESISTOR TO 5 VOLTS~ THE OTHER TO

IC29-7&10~ IC2-14&3&7&10~ IC8-14&3&7.10. CONNECT ONE SIDE OF A IK RESISTOR TO 5 VOLTS~ THE OTHER TO

IC23-4& 10& 13.II. CONNECT ONE SIDE OF A 1K RESISTOR TO 5 VOLTS~ THE OTHER TO

IC4-13&10~ IC3-9.12. CONNECT PIN I TO PIN 2 ON IC3.

THERE HAVE BEEN SEVERAL QUESTIONS REGARDING THE USE OF RATESHIGHER THAN THE STANDARD 167 BYTES PER SECOND. CHANGES AREREQUIRED ON BOTH THE INPUT AND OUTPUT SECTIONS. ON THE INPUTSECTION~ THE POTENTIOMETER THAT IS PROVIDED ON THE BOARD MAYBE ADJUSTED TO CHANGE THE FREQUENCY. ON THE OUTPUT SECTION~

ANY OF THREE COMPONENTS MAY BE CHANGED TO CHANGE THE FREQUENCY:R6~ R7~ OR C8. IF YOU WANT TO OPERATE AT TWO FREQUENCIES~ FOREXAMPLE A HIGHER ONE~ AND THE STANDARD~ IT IS FEASIBLE TO INSTALLA SWITCH FOR THE ABOVE ME~lIONED COMPONENTS. FOLLOWING 'OULD BEA REASONABLE PROCEDURE FOR EXPERIMENTING WITH THE HIGHER RATES:

1. REDUCE THE VALUE OF R6~ R7~ OR C8 BY ABOUT THE AMOUNT YOUWANT TO INCREASE THE FREQUENCY.

2. USE THE CASSETTE OUTPUT ROUTINE AND A STOP WATCH TO VERIFYTHAT THE INCREASE IN OUTPUT SPEED HAS BEEN ATTAINED.

3. USE THE SYNC GENERATOR PROGRAM TO MAKE A TAPE WITH A LONGSTREAM OF SYNC BYTES AT THE NEW FREQUENCY.

4. PLAY IT BACK~ ADUUST ING THE POT FOR THE LED TO COME ON.CLOSER ADJUSTMENT OF THE CASSETTE VOLUME CONTROL MAY ALSOBE NECESSARY.

5. THE.l CAPACITOR MODIFICATION MENTIONED IN ITEM 3 ABOVE WILLALSO HAVE TO BE REDUCED ACCORDINGLY.

8

Page 12: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

SOLDERING, CLEANING, AND INSTALLATION NOTES

SOLDERING:

Be sure to use good resin-core solder. Acid-core solder willcorrode. Use a small soldering element, preferably about 27watts. Keep your tip clean by wiping on a sponge. Apply heatto the joint first, then solder, then remove solder, then removethe heat (soldering iron). Don't leave the heat applied to theconnection more than a few seconds at a time. Some of thecomponents can be destroyed b:'l too much heat, especial1;>" theintegrated circuits (IC's). Be sure there is a smoot~l flow ofsolder over the complete connection, and that the joint looksshiny.

CLEANING:

After you finish soldering, there will be many small conductiveparticles on the board which you car.....'1ot ahrays see. Take asmall pointed instrument of some so,rt, such as a jeweler'sscrewdriver, and scrape between all printed wiring which isclose together, such as those leading to the IC pins. Thismay take some time, but it is well worth it. Then scrub thebottom (side B) of the board with alcohol. Then visuallyinspect the board under a strong light, and again remove anydangerous looking pnrticles.

INSTALLATION:

First set the dip-switches to the following positions:

1-off, 2-off, 3-on, 4~off, 5-off, 6-on, 7-off (input phase inversion)

Switches 1 through 6 correspond to address bits 2 through 7respectively, and off is a one, on is a zero. Address bit1 can be either way, as it is ignored by the present interface.Address bit 0 is zero for status/control, and one for data.Therefore, the switch settings above correspond to deviceaddress 011011XX (most significant bit first), where X indicatesbits that can be either way. This is the device select codethat is used in all software for the cassette interfacethat is supplied by Tarbell Electronics.

Then insert the board into the 100-pin socket, being surethat the component side of the board is to the right (Altair)or front (IMSAI) as viewed from the front of the computer.Then install ~he ribbon cable between the dipconnector onthe interface board and the 25-pin connector slot in the rear.Then install the coax cables between the 25-pin connector andthe cassette recorder. The coax cables may also be connecteddirectly between the interface board and the recorder. Seethe pin function list page for the proper connections.

Q

Page 13: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

INITIAL AD~USTMENT INSTRUCTIONS

THIS INTERFACE WAS DESIGNED TO BE AS EASY AS POSSIBLE TO GET UPAND GO ING. THERE ARE, HOWEVER, SOME INIT IAL AD~USn;ENTS TO BE~~DE, AFTER WHICH 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 TOTHE MAXIMUM (BEST HIGH-FREQUENCY RESPONSE) POSITION.

3. TURN YOUR VOLUME CONTROL TO A MIDDLE POSITION.

4. TURN THE POTENT IOMETER ON THE INTERFACE TO A MIDDLE POS IT ION.

5. PRESS THE "PLAY" BUTTON ON YOUR RECORDER.

6. IF THE LED (RED LIGHT) ON THE INTERFACE DOES NOT COMEON AFTER A FEV SECONDS, AD~ST YOUR VOLUME AND THEINTERFACE POTENTIOMET~R UNTIL THE LIGHT COMES ON.

7. IF THE LED STILL DOESN'T COME ON, CHANGE SWITCH 07(INPUT PHASE REvERSAL)-ON THE DIP-SWITCH TO THEOPPOSITE POSITION, THEN REPEAT STEP 6.

8. IF THE LED STILL DOESN'T COME ON AFTER AD~USTING

YOUR VOLUME AND THE INTERFACE POT, SOMETHING ISWRONG WITH YOUR RECEIVER SECTION.

9. WHEN THE LED COMES ONE, tHIS INDICATES THAT THE RECEIVERIS OPERATING PROPERLY, AND IS DETECTING THE CONTINUOUS STREAMOF SYNC BYTES WHICH IS ON THE TEST TAPE. FURTHEn ADJUST BOTHTHE VOLUME CONTROL AND THE INTERFACE POT SO T~.T YOU CAN TURN

. EACH OF THEM FROM SIDE TO SIDE A LITTLE WITHOUT THE LIGHTGOING OUT. THE LIGHT SHOULD BE VERY STABLE, WITH NO FLICKER.

NOTE: SINCE THE LED ONLY STAYS ON WHEN IT IS DETECTINGCONTINUOUS SYNC B)iES, IN NORMAL OPERATION (WITHREAL DATA) IT WILL ~UST FLICKER ONCE IN A WHILE.

I. RUN THE SYNC CODE GENERATOR PROGRAM WITH YOUR RECORDERIN RECORD MODE, ONTO A BLANK TAPE.

2. TRY THE PROCEDURE ABOVE. IF THE LIGHT DOES NOT COME ONCONTINUOUSLY, YOU MAY BE RECORDING AT TOO HIGH OR TOOLOW A LEVEL. TRY DIFFERENT LEVELS UNTIL YOU FIND THEBEST PLACE. YOU ALSO MAY BE RECORDING IN THE OPPOSITEPt~SE. IF SO, CHANGE THE vUMPER FROM PIN 9 TO PIN 8ON IC 23.

NOTE: IF YOU ~VE AN OSCILLOSCOPE, IC 4 PIN 11 SHOULD SHOWA NICE CLEAN WAVE FORM, WITH ABOUT 25% DUTY CYCLE.ALTHOUGH THERE MAY BE LONG-TERM vITTER, BECAUSE OF THEFLUTTER AND WOW ON THE CASSETTE RECORDER, FAST vITTERON THE EDGES OF THE WAVE-FORM SHOULD BE FAIRLY SMALL.THE LESS THIS HIGH-SPEED ~ITTER IS, THE MORE TOLERANCEYOUR INTERFACE WILL HAVE TO TAPE SPEED VARIATIONS.

10

Page 14: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE I~TERFACE O?ERATI~G I~STRUGTIONS

TEESE INST~UCTIO~S PEnTAIN TO OPEqATING THE I~TERFACE WITHAN ORDINARY ATlDIO CASSETTE RECORDER, AND ASSUI'JETliAT THEPROPER SOFTWARE (PROG~A~S, SUBROUTINES) IS IN ThE CO~PUTER

TO COt'H'lUK ICATE \oJ ITE THE lNTERFACE.

TO PERFORM AN OUTPUT (SAVE, WRITE) OPERATION:

1. IF' YOun VOLTJrJE COr:TROL HAS At<.' EFFECT ON THE RECORDINGFUNCTIO~, FIRST TUqN IT ALL TEE WAY DOWN.

2. GET TO THE POI~T I~ YOUR PR03RAM WEERE ALL IT TAKES ISA PUSH OF A EUTTOt~ TO START It\TO TEE CASSETTE OUTPUT ROUT Il"E.

3. USE FAST-FORWARD OR REWIND TO MOVE TO ThE DESIRED LOCATIONON THE CASSETTE TAPE.

4. START YOU~ CASSETTE RECORDING.

5. IF YOUR VOLUt':E CONTROL HAS AN EFFECT DURII\G RECORD, SLO\'LYINCREASE THE VOLUt'lE um IL YOUR INDICATOR SHOWS A CORRECTRECORDING LEVEL.

6. WAIT FOR ABOUT 5 SECONDS TO RECORD LEADER.

7. PUSH THE nUTTOt: TEAT STARTS THE OUTPUT ROUT INE ON ThERECORDER. (THIS NIGHT BE ThE CARRIAGE-RETURN AFTER"CSAVE" IN BAS IC, OR TEE FRONT-PAI":EL "RUN" BUTTOIli FORSTAND-ALONE PROGRANS.)

8. WHEN THE PROGRAM INDICATES THAT THE DATA TRANSFER ISCOMPLETE, STOP YOUR CASSETTE RECORDER.

TO PERFORM AN INPUT (LOAD~ READ) OPERATION:

1. BE SUo.E YOUR VOLUI':E COI\TROL IS AT THE POSIT lOt: TEAT YOULEFT IT IN THE ADJusn:El\T PROCEDURE.

2. GET TO THE POINT IN YOUR PROGRA~ WEERE ALL IT TAhES ISA PUSH OF A BUTTON TO START INTO ThE CASSETTE IN~UT ROUT1NE.

3. USE FAST-FORWARD OR REWIND TO MOVE TO THE DESIRED LOCATION. ON THE CASSETTE TAPE. THIS ShOULD BE'A FEW SECONDS INTO

THE LEADER OF A PREVIOUS RECORDING.

4. START YOUR CASSETTE IN THE PLAYBAC K t-iODE.

5. PRESS THE BUTTON WHICH CAUSES THE INPUT ROUTINE TO STARTRUNNING. (IN BASIC~ THIS MIGhT BE TEE CARRIAGE-RETURNAFTER A CLOAD~ OR THE FRONT-PANEL "RUN" BUTTON FORSTAND-ALONE PROGRAMSI SUCH AS BOOTSTRAPS.)

6. WHEN THE PROGRAM INDICATES THAT THE DATA TRANSFER ISCOMPLETEI STOP YOUR CASSETTE RECORDER.

NOTE: AUTAYS BE SURE THAT ALL MEMORY INTO WHICH PROGRANS ORDATA 15 TO BE READ~ IS UNPROTECTED FIRST.

11

Page 15: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE BOOTSTRAP PROGRAM

THIS PROGRAM LOADS DATA STARTING AT ZERO AND KEEPS ON GOING.THERE IS NO COUNT OF BYTES, AND NO CHECKSUM. IT IS ASSt~BLED

TO RUN AT 2FOO <HEX), DUT MAY DE ASSEMBLED TO RUN ANYWHERE,PROVIDED THAT IT DOES NOT LOAD DATA OVER ITSELF. USE THESECOND HAND ON YOUR WATCH TO DETERt-:1NE 1I0W LONG' TO WAIT' UNT ILSTOPPING THIS PROGRAM. ALLOW ABOUT '45 SECONDS TO LOAD AN .8 J<BYTE BLOCK. ' ,

2FOO 3E 10 !'IV I A,10H SET BIT 4 OF A • 1.2F02 D3 6£ OUT CASC RESET INTERFACE.2F04 21 00 00 LXI H,O PUT STARTING ADbRESS IN H,L.2F07 DB 6E LOOP IN CASC READ STATUS.2F09 E6 10 ANI 10H CLEAR ALL BUT BIT 4.2F08 C2 07 2F ~NZ LOOP WAIT IN LOOP UNTIL READY.2FO£ DB 6F IN CASD READ A DATA BYTE~

2FI0 FB EI SIGNAL OPERATOR.-2Fll 77 MOV M,A PUT DATA INTO MEMORY.2F12 23 INX H INCREMENT MEMORY POINTER.2F13 C3 07 2F JMP LOOP REPEAT THE ABOVE OPERATION.

CASC EQU 6EH CASSETTE'STATUS PORT.' - ..CASD EQU 6FH CASSETTE DATA PORT.

END

NOTE: IF YOU HAVE AN IMSAI OR ALTAIR WITH AN OUTPUT PORT ON THEFRONT PANEL (8 LEDIS), YOU CAN USE'THE BOOTSTRAP PROGRAM"F'OR TROUBLESHOOT ING THE INPUT SECT ION WITH THE' FOLLOW INGMODIFICATION: AT INSTEAD OF "SUBSTITUTE' -

- 2FI0 El <FB) CMA (2F)2Fll MOV M,A (77) OUT (03)2F12 INX H (23) LEDS (FF)

SYNC CODE GENERATOR PROGRAM

THIS PROGRAM MAY BE USED TO GENERATE A CONTINUOUS STREAM OFE6 (HEX), THE SAME AS IS ON THE SUPPLIED CASSETTE. IFYOUFIND THAT THE RECEIVED STREAM IS INVERTED FROM THE ONESUPPLIED, YOU MAY CHANGE THE CIRCUIT SO THAT IC23-8 IS HOO~D

TO THE 74L86 INSTEAD OF IC23-9. THIS VILLMAKE YOUR RECORDI'NGSTHE SAME PHASE AS MINE. " .

0000 DB 6E LOOP IN CASC READ STATUS.0002 E6 20 ANI 20H LOOK AT BIT' 5.0004 C2 00 00 JNZ LOOP WAIT UNTIL READY.0007 3E E6 WI A,OE6H GET SYNC"BYTE.0009 D3 6F OUT CASD WRITE IT ONTO· CASSETTE.OOOB C3 00 00 JMP LOOP RE~EAT;

, , - ' .CAse EQU 6EH 5TATUS·-PORT.CASD EQU 6FH DATA PORT.

END

12

Page 16: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE INTERFACE OUTPUT ROUTINE

THIS PROGRAM WRITES A BLOC~ OF MEMORY OUT ONTO CASSETTE TAPE.THE PROGRAM IS ASSEt-:BLED TO START AT 3100 (HEX)~ BUT MAY BEREASSEMBLED TO START ANYWHERE. THE BLOC~ STARTING ADDRESS ISLOCATED AT ADDRESS 3104 (HEX). THE BLOC~ LENGTH (2 BYTES) ISLOCATED AT ADDRESS 3107 (HEX). THE PROGRAM WILL WRITE A "\1" ONTHE COMMENT DEVICE WHEN IT IS THROUGH WITH IT'S DATA TRANSFER.

3100310331063109310B310031 103112311531163119311A311B311 C311 D311 F3120312331243127312831283120312F3132313331353137313A313B3130313E313F3140314131423143

31 43 3121 00 0001 00 20IE 003E 3CCD 32 313E E6CD 32 317ECD 32 3183SF23DB3E 00B8C2 15 31B9C2 15 3178CD 32 313E 57D3 01C3 2F 31F5DB 6EE6 20C2 33 31F1D3 6FC9000000000000

LXILXILXI~WI

r-;VICALL1"lV ICALL

LOOP MOVCALLADDMOVIt\XDCXEVICl'lPl.1~;Z

OjPJ!'JZt",OVCALLI-;V IOUT

WAIT Jt-:PCOUT PUSHCLOP I t\

ANIJNZPOPOUTRETooooo

STA~ 0CASD EQU

SP .. STA~H"O8 .. 2000HE.. OA,,3CHCOUTA"OE6HCOUTA.. l-lCOUTEE.. AHBA.. OBLOOPCLOOPA.. ECOUTA....W..1WAITPSWCASC20HCLOPPSWCASD

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.INCREt-:ENT MEMORY POINTER.DECREMENT COUNTER.!'lAKE A=O.IF 8 NOT = 0 ..

REPEAT LOOP.IF C ).\;OT = 0 ..

REPEAT LOOP.OTP.ERWISE~ GET CHECKSUMAl\D OUTPUT IT.WRITE "w" (END OF WRITE).PRINT Ol\ CONSOLE.WAIT HERE WHEN DONE.SAVE A AND FLAGS.READ CASSETTE STATUS.CLEAR ALL BUT alT 5.TRY AGAIN IF NOT READY.RESTORE A AND FLAGS.OUTPUT DATA TO CASSETTE.RETURN FROM COUTo

Page 17: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE INTERFACE IN~UT ROUTINE

THIS PROGRAM READS A BLOCK OF BYTES FROM CASSETTE INTO MEMORY.THE PROGRAM IS ASSEMBLED TO START AT 3100 CHEX)~ BUT ~~Y BEREASSE!-lBLED TO START ANYHHERE~ ALTHOUGH CARE SHOULD BE TAKENTO 11I:51.1'1.E TEAT THE DATA IT IS READING DOES NOT WRITE OVER THEPROGRArl ITSELF. TH IS f-1AY BE ACCOMPLISHED BY LOCAT ING THEpT:lOGRAr" 1htt,ED lATELY BELOH OR A BLOC K LENGTH ABOVE THE DATATO BE READ IN. THE START ING ADDRESS FOR THE BLOCK IS LOCATEDg' ADDRESS 3185 (HEX). THE 8LOCK LENGTH IS LOCATED IN ADDRESS3188 (HEX) (THO BYTES).

3180312231843187318/\..318C318E3190319331953196319731983199319A319C319D31AO31Al31A431A631A831AB31AD31AE318031B3318531B7

3E 10D3 6E21 00 0011 00 2006 00D3 6EE6 10C2 8C 31D3 6F7780Ll7

23IE3E 00BAC2 BC 31B8C2 8C 31DB 6EE6 10C2 A4 31DB 6FB83E 45C2 85 31C6 02D3 01C3 87 31

LOOP

CHEK

ERRENDCASCCASDCRTD

MVIOUTLXILXIMVIINANIJNZINMOVADD!'lOVINXDCXMVICI1PJNZcr1PJNZINAt: IJNZINCLPMV IJI,}ZADIOUTJt,;pEQUEQUEQU

Pu 10HCASCH.. OD~2000H

8 .. 0CASC10HLOOPCASDM~A

83~A

HDA.. ODLOOPELOOPCASC10HCHEKCASD8A~"E"

E11R2CRTDEND6EH6FH01H

14

SET BIT 4 OF A=l.RESET INTERFACE.GET STARTING ADDRESS.GET BLOCK LENGTH.SET CHECKSUM = O.READ CASSETTE STATUS.LOOK AT BIT 4.WAIT IF NOT READY.READ DATA FROM CASSETTE.PUT DATA INTO MEMORY.ADD CHECl{SUI-l TO A.PUT IT 8ACK IN B.INCREMENT MEMORY POINTER.DECREMENT COU~TER.

CLEAR A.IF D KGT ::; O~

READ 1';ORE.IF E NOT ::; o~

READ I-lORE.READ STATUS.LOOK AT BIT 4.WAIT IF NOT READY.READ CHECI{SU!"••COl"lPARE TO 8.PUT CODE FOR "E" IN A.IF CHEC I~SU!"lS NOT EQUAL.. ERROR.ADD A 2 TO l"iAKE "G" IF EQUAL.PH INT "E" FOR "G".WAIT HERE WEEN DONE.CASSETTE STATUS/CONTROL PORT.CASSETTE DATA PORT.CONSOLE DATA PORT.

Page 18: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

1 REM THIS PR0GRAM SHewS H0W T0 SAVE DATA "NT" A CASSETTE2 REM AND L0AD IT BACK INTS MEM0RY FR0M A PR0GRAM RUNNING3 REM UNDER 8K BASIC 3.1. IT ALLSWS Y8U T8 ENTER LINES 8'4 REM TEXT FReM THE CeNSeLE KEYBeARD, SAVE THEM 8N CASSETtE,5 REM L0AD THEM BACK INT0 MEM8RY, AND PRINT THEM.10 CLEAR 3000:L-SO:DIM A$(SO):REM RESERVE FeR UP T0 50 LINES.20 CC=110sCDcl11:REM CASSETTE ceNTRSL AND DATA peRT NUMBERS.30 TS="I" IREM END-0F-F ILE CHARACTER.40 0=100100 INPUT "C0MMAND"JCS110 IF CS="ENTER" THEN 1000120 IF CSc"PRINT" THEN 2000130 IF C$c"SAVE" THEt.J 3000140 IF C$="GET" THEN 4000900 PRINT" INVALID C0MMAND." IG0T0 lao1000 REM ENTER TEXT FR0M THE C8NSeLE KEYB0ARD1020 F0R N=l T0 L:REM ENTER A MAXIMUM eF L LINES.1030 INPUT BS:REM READ A LINE FReM KEYBeARD.1040 IF BS="I" THEN 1070 IREM A S TERMINATES THE INPUT.1050 AS(N)=BS:NEXT NIREM PUT LINE INT0 BUFFER.1070 NaN-1IGeT" 100:REM N-THE NUMBER 0F LINES ENTERED.2000 REM PRINT THE BUFFER AREA 0N THE CeNS0LE.2010 FeR I-I T0 N:PRlNT A$(I)sNEXT l:GeTe 1003000 REM SAVE THE BUFFER 0NT0 CASSETTE TAPE.3010 SS=CHRS(195)+CHRS(230)sREM 5S-START & SYNC BYTES.3019 REM CHANGE THE C0NS0LE BUTPUT R0UTINE F0R CASSETTE.3020 P0KE 1230,CC:peKE 1232,32:P0KE 1236,CD3030 F0R I-I T0 N3040 F0R K-l T0 DaNEXT KaREM DELAY FeR ceUNT 0F D.3050 BS=SS+AS(I)aREM HSSK START & SYNC BYTES Te LINE.3060 PRINT BS:REM WRITE LINE SNT0 CASSETTE.3070 NEXT I3080 BS-SS+T$:REM H0eK START & SYNC BYTES T0 TERMINAT8R.3065 FeR Kel T0 DaNEXT KaREM DELAY F0R C0UNT 0F D.3090 PRINT BSaREM WRITE THE END-SF-FILE MARK.3099 REM CHANGE CSNSeLE R0UTINE BACK T8 N8RMAL.3100 PSKE 1230,OaP0KE 1232,128:PSKE 1238,13110 GST0 1004000 REM GET TEXT FRSM CASSETTE AND PUT INTI BUFFER.4010 REM CHANGE C0NS0LE INPUT R8UTINE FeR CASSETTE.4011 peKE 1241,CC:PlKE 1243,16aP0KE 1248,CDIP0KE 1232,04012 P0KE 1238,2554020 F0R 1=1 T0 L4030 0UT CC,16aREM RESET CASSETTE INPUT SECTISN.4040 INPUT B$:REM READ A LINE 0' TEXT FR8M CASSETTE.4050 IF BS-TS THEN 40804060 AS (I )-BS4010 NEXT I4080 N-l-14090 REM CHANGE CeNSSLE ReuT INE BACK T8 NSRMAL.4091 P8KE 1241,OaP8KE 1243,IIP8KE 1248,IIP0KE 1232,1284092 P8KE 1238,14100 GST0 1008K

15

Page 19: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

SAVING AND LOADING DATA TO AND FROM CASSETTE FROM BASIC PROGRAMS

It is quite often desireable to save and load data to and fromcassette, while running a BASIC program. For example, you mighthave a nice inventory program running in BASIC, but it's of limitedutility if there is no way to save the inventory on cassette forovernight storage. You can leave the computer running, but if thereis an interruption in power, or a computer failure, your inventoryis lost. Other applications include accounts receivable, mailinglists, and payroll.

There are several ways of handling this function, depending on theversion of BASIC you use. Some versions of BASIC have a commandwhich can save and load a numerical array to and from cassette.ALTAIR- DISK BASIC is one of these. The only problem with thisway, is that DISK BASIC is fairly large, and that strings have tobe converted to numerical arrays. Another way is describedexplicitly by a program on page 15 of the Tarbell Cassette Interfac~...,Manual. In this method, the console (TTY, CRT) routines are modifi .by POKE commands, so that they are temporarily cassette I/O routinesThen the PRINT and INPUT statements may be used to transfer the datAfter the data is transferred, POKE statements restore the consoleroutines to their original form. The disadvantage here is thatdifferent versions of BASIC have their console I/O routines indifferent places, so the program has to be adapted when changingfrom one version to another.

Another possibility is to POKE the data into an unused area of memo~The USR function then is used to transfer to your own output routin~

(possibly an adaptation from one in the manual). This routine only:needs to transfer a block of memory onto tape. The USR function cbe used with a different argument to run an input routine, then theBASIC program can retrieve the data with the PEEK function. The maproblem with this method is that the I/O routines generally have toloaded seperately, and are not yet written and tested.

Still another way is to use a general purpose monitor program. Thiprogram would also be loaded seperately, but might reside in read­only-memory (ROM). The monitor would handle all input/outpli:i functiincluding console and cassette I/O. {lne of the commands in themonitor is to assign different functions to different I/O devicesthan normally handle these functions. For example, the consolefunction could be assigned to the cassette interface instead of theTTY. Then PRINT and INPUT statements could be used for I/O to andfrom cassette.

The monitor described above is presently under development byTarbell Electronics. In addition to the Assign command, it hascommands for dumping and loading memory, checking records forerrors, and moving data from one area in memory to another.

15A

Page 20: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CONTROLLING THE START-STOP (REMOTE) FUNCTION ON YOUR CASSETTE

MOST CASSETTE RECORDERS HAVE A REMOTE CONTROL INPUT. MEANTFOR CONTROL FROM A MICROPHONE SWITCH. THIS FACI~ITY CAN BEOPERATED BY A COMPUTER PROGRAM TO START AND STOP THE TAPEAUTOMATISALLY.. ACCORDING TO THE NEEDS OF THE PROGRAM.THIS IS PARTICULARLY IMPORTANT IF THE AMOUNT OF DATA ON TAPE ISMORE THAN WILL FIT INTO MAIN MEMORY ALL AT ONCE. IN THIS CASE..THE DATA MAY BE "BLOCKED"; THAT IS, GAPS MAY BE INSERTED BETWEENBLOCKS OF DATA, WHICH ALLOW TIME FOR THE TAPE TO START AND STOP.THE PROGRAM MAY THEN START THE TAPE., READ SOME DATA, STOP THETAPE., WORK ON THE DATA., START ANOTHER TAPE, WRITE SOME DATA.. ANDSTOP THE TAPE. THIS PROCESS MAY BE REPEATED um IL AL1. THE DATAIS PROCESSED. SOME EXAMPLES WHERE THIS OPERATION MIGHT BENECESSARY ARE AS FOLLOWSa1) AN ASSEMB1.ER, WHERE THB SOURCE IS LARGER THAN MEMORY, MAY

READ SOURCE FROM ONE TAPE AND WRITE MACHIN. CODE TO ANOTHER.2) A COMPILER., IN THE SAME SITUATION.3) A MERGING PROGRAM, WHERE AN OLD FILE IS UPDATED VITH CHANGES

TO FORM A NEW FILE. .

THE CIRCUIT FOR CONTROL~ING ONE TAPE UNIT IS SHOWN BELOW.

ro ~£!'I'TI! INP...1joN CAS r~ rrf'

IN 71'0

THESE ROUTINES MAY BE USED FOR STARTING AND STOPPING THE CASSETTEBEFORE AND AFTER INPUT AND OUTPUT OPERATIONSa

START LDA CTLS GET CONTROL STATUS BYTE.ORI 01 SET BIT 0 • ONE.STA CTLS UPDATE CONTROL STATUS BYTE.OUT CASC START THE TAPE.CALL DELAY WAIT FOR TAPE TO GET UP TO SPEED.RET RETURN CNEXT DO YOUR 110) •

STOP

CTLSCASC

LOA CT1.S GET CONTROL STATUS BYTE.AND OFEH SET BIT 0 TO ZERO.STA CTLS UPDATE CONTROL STATUS BYTE.OUT CASC STOP THE TAPE.RET RETURN FROM I/O ROUTINE.

DB 0 CONTROL STATUS BYTE.EQU 6EH CASSETTE CONTROL PORT.

THE START-UP DELAY IS DETERMINED BY YOUR RECORDER, ANDSHOULD BE LONGER BEFORE A WRITE THAN BEFORE A READ OPERATION.

NOTE I A MODULE WHlCH ALLOWS THE CONTROL OF UP TO FOUR CASSETTERECORDERS WITH A TARBELL CASSETTE INTERFACE IS AVAILABLEFROMr RO-CHE SYSTEMS, 1101 MAMMOTH AVE.. VAN NUYS, CA '1485.

16 .

Page 21: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

THEORY OF CASSETTE INTERFACE OPERATION

OUTPUT SECT ION

TNE PURPOSE OF THIS SECTION IS TO CONVERT 8-BIT PARALLELBYTES FROM THI CO~UTtR TO A SERIAL BI-PHASE !NCODED DATASTREAM FOR THE RECORDER. THE NESS5 (IC 21) IS CONNECTEDAS AN OSCILLATOR TO OSCILLATE AT TWIC! THE FREQUENCY 0'THE REQUIRED CLOCK RATE. FOR 800 BITS PER INCH. THE C~'CK

RATE NEEDS TO BE 1500 HZ FOR A RECOADER RUN~ING AT I 1/8INCHES PER SECOND. SO IC 22 RUNS AT 3000 HZ. DETEaSINEDBY THE MATCHED SET OF COMPONENTS CIC 22. C8. R6. AND R1).THE OUTPUT ON PIN 3 IS FED TO A J-K FLIP-FLOP. VHICH DI9IDEST5E FREQUENCY BY TWO. THE MAIN FUNCTION OF THIS F.LIP-FLOPIS TO MAKE THE WAVE-FORM PERFECTLY SYMMETRICAL. tHISSQUARE-WAVE 15 THEN FED TO AN INPUT OF THE"ExCLUSIVE-ORGATE AT IC 30 PIN 6.

IC 32. THE DM8131. 15 A 6-BIT DIGITAL COMPARATOR. IT'S PURPOSEIS TO COMPARE THE ADDRESS ON BITS 2 THROUGH 1 OF THl: ADDRESS BOSWITH THE SETT ING ON THE DIP SWITCH. WHEN THEY MATCH. THE OUTPUTAT PIN 9 GOES LOW. INDICATING THAT THIS DEVICE IS BEING SELECTED.THIS SIGNAL IS INVERTED AND AND!D WITH THE waITE SIGNAL ARD tHESTATUS OUTPUT SIGNAL ON tHE aus. THIs PRODUCES A HIGH OutPUT AtIC 14 PIN 6 WHEN THIS DEVICE IS BEING WRITTEN TO.

THIS SIGNAL IS IN TURN ANDED WITH ADDRESS BIT 0 TO STROBE DATAINTO THE SHIFT RESISTER CIC 26 PIN 6 AND IC 20 PUtS 4 AJID 2).THE DATA IS SHIFTED OUT OF THE SHIFT REG I$TER BY·THE C1.0CKPREVIOUSLY MENTIONED. THE SHIFT REGISTER IS MADE OP OF lC'S21# 21. AND 23. DATA ENTERS AT THE aOT1'OM AND IS SHIFTED OUTTOWARD THE RIGHT. WHERE IT IS COMalNED WITH THE CLOCK TO FORMTHE BI-PHASE SIGNAL FOR tHE RECORDER.

THE FIRST EIGHT OUTPUTS OF THE SHIFT REGISTER ARE FED INTOIC 28. SINCE A ZERO IS BEING FED INTO T:RE LEFT tHD OF THESHIFT REGISTER FOR EACH SHIFT (IC 21 PIN 9)# THESE LEFTEIGHT BITS WILL ALL BECOME ZERO AFTER 8 SHIFTS. AT TftlS TIMSTHE OUTPUTS AT IC 28 PINS 6 AND 8 WILL BOTH BE HIGH# CAUSIW&THE OUTPUT AT IC 14 PIN 8 TO GO HIGH. tHIS SIGNAL .ILL BEUSED BY THE COMPUTER TO DETERMINE WHEN THI INtERrACE NEEDSMORE OUTPUT DATA.

WHEN ADDRESS BIT 0 IS LOV. THE OUTPUT AT IC 14 PIN 6 ANnED WITHIC 31 PIN e CAUSES A HIGH OUTPUT AT IC 35 pta 10. THIS STROBESBITS 0# 1# 2. AND 3 ON THE DATA BUS UITO THE LATCH OF lC 34.THE OUTPUTS OF THIS LATCH ARE autFa&D WITH IC 35# dD APPEAR ATPINS 2# 4# 6# AND 8. TH£SE ARE THEN FID TO THE DIP-SOCKET.IF DATA BUS BIT 4 IS HIGH# A PULSE APPEARS AT PIN.• OF lC 26.THIS IS USEn TO RESET THE COUNTER Ia THE INPUT SECTION.

Page 22: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

THEORY OF OPERATION

INPUT SECTION

THE PURPOSE OF THIS SECTION IS TO, CONVERT THE BI-PHASE AUDIOSIGNAL COMING FROM THE CASSETTE RECORDER TO a-BIT PARALLELBYTES FOR THE COMPUTER. THE AUDIO SIGNAL COMING DJtlECTL't FROMTHE CASSETTE EARPHONE OR SPEAKER OUTPUT IS TERMINATD BY THE100 OHM RESISTOR AND FED THROUGH THE .02 CAPACITOR TO THEINPUT OF THE 8T20 (IC 5 PINS 6 AND 7). THIS l~PUT HAS ABUILT-IN VOLTAGE-DIVIDERI WHICH BIASES THE DC LEVEL TO AGOOD MIDWAY TTL REFERENCE VOLTAGE BETWEEN ONE AND ZERO.THIS IS ONE INPUT OF A HIGH-SPEED COMPARITOR. THE OTHERINPUT (lC 5 PIN 5) IS CONNECTED THROUG~ A RESISTOR DIVIDERAND A IN914 DIODE TO ONE OF THE COMPARITOR OUTPUTS (IC 5 PIN 9).THIS PROVIDES A SMALL AMOUNT OF HYSTERESIS TO COMBAT NOISEPROBLEMS. THE OTHER OUTPUT OF TfiE COMPARITOR (IC 5 PIN 1)15 EXCLOSIV~-ORED WITH SWITCH 7 ON THE DIP-SWITCH TO PROVIDEA WAY TO INVERT THE INPUT DATA STREAM. TH1S 15 THEN FED TOA D-TYPE FLIP-FLOP (IC 4 PIN 12).

MEANWHILEI INSIDE IC 51 THE OUTPUTS OF THE COMPARITOR SECTION AREFED TO AN EDGE-DETECTORI WHICH DETECTS BOTH POSITIVE AND NEGATIVE­GOING TRANSITIONS. THE OUTPUT OF THIS DETECTOR IS tHEN USED TOTRIGGER A STABLE NON-RETRIGGERABLE ONE-SHOT. THE CAPACITOR FORTHIS ONE-SHOT IS BETVEEN PINS 12 AND 14 OF Ie 51 AND THE RESISTORIS TIlE 50 KOHM POTENT IOMETi~R. T~ OUTPUT OF THE ONE-SHOT IS THERECOVERED CLOCK (IC 5 PINS 10 AND 11>. THIS IS FED TO THREEDIFFERENT PLACES. 1) IC 4 PIN 111 WHERE IT TRIGGERS THE FLIP-'~OP

TO RECOVER THE SERIAL DATA STREAM, 2) IC 3 PIN 8 WHERE IT ISUSED TO SHIFT THE SERIAL-PARALLEL SHIFT-REGISTER, 3) IC 29 PIN1 AND IC 26 PIN 13 1 WHERE IT IS USED TO STEP THE 8 COUNTER.

IN A START-UP POSITIONI IC 29 PIN 12 IS ZEROI HAVING BEEN RESETEITHER BY THE RESET SWITCH OR BY A RESET COMMAND FROM THE PROGRAM.THIS STOPS THE CLOCK FROM TRIGGERING THE 8 COUNTER, WHICH HASALSO BEEN RESET. AS THE SERIAL STREAM FLOWS THROUGH THE SHIFT­RESISTER (IC 3), IT IS CONTINUALLY INSPECTED BY THE SYNC DECOD£RMADE UP OF IC'S 9 AND 10. WHENEVER A SYNC CODE APPEARS IN THESHIFT REGISTEftl IC 10 PIN 8 GOES LOW. THIS LIGHts TUE SYNC LEDAND ALSO ALLOWS THE FLIP-FLOP AT IC 9 PIN 12 TO GO HIGH. tHISALLOWS THE CLOCK TO AP~EAR AT IC 26 PIN 11, AND TRIGGER THE 8COUNTER. WHEN THE COUNTER HAS COUNTEr> TO -81' IC 8 PIN 12 GOESHIGH,T'UGGERING THE READY tLIP-FLOP AT IC 8 ~IN 9. THIS READYCONDITION INDICATES TO THE COMPUTER THAT THERE IS A BYTE IN THESHIFT REG lSTErt READY TO READ. THE COMPUTER MAY THEN READ THISBYTE THROUGH GATES OF IC'S 13 AND 19.

IN ORDER TO READ DATA THE SIGNAL AT POINT B, WHICH COMES FROMTHE OUTPUT SECT ION IS AlmED WITH THE TWO INPUT GATE SIGNALSPDBIN AND SINP (IC 14 PINS 131 1 AND 2). WHEN ADDRESS BIT 0IS HIGHI THIS SIGNAL 15 ANDED WITH IT TO GATE DATA FROM THESHIFT REGISTER ONTO THE INPUT DATA BUS (IC 1 PIN 3). WHENenDRESS BIT 0 IS LOW, THIS SIGNAL IS ANDED WITH IT to GATEVARIOUS STATUS BITS ONTO THE INPUT DATA BUS. FOOR OF THESEINPUTS ARE GENERAL-PURPOSE, ~D COME' FROM THE DIP-SOCKET. THEOTHERS ARE PICKED UP AT IC 25 PIN 3 (INPUT STATUS), AND tC 25PIN 6 <OUTPUT STATUS).

18

Page 23: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

­•

..., 2/1 +8V 6IS C • II DIS (II) ~V

II 2JLIl_

a fir) CII cl-aClO_

D III+-!) GNO

C!tIC"'"'

....I IS .. IS

Go 0. S' 0.. 0. 0. '''0 SERIALa.-TA- /I~ 27 - • JI-IO/I 0 ' or • • c ,.

TO CASSETTE2 • • ."•

II'

O~ 002 00.. D06CNl DOI lIII)OO3 (>II) D05 foo) 007 ':'

CItJ - C») C80J

GENERAL - PCJRPOSE

~...- COWROC. LINES~ JI -8-7-6-5

1, , 8 /I f5V ..,V "1.·'-1-D)A7 " ..• ,AS /l1li

.. ..12 • a~)A5 III .. lll ,. /I " ... •c.M ". , ..... ~.

(;JI) A3 0'_

"., *'1:- ~

""A2II

/I ~1O. 11-.....0

llell.."

C'l'J'JPiiir...)$OUT .MATCHED PlltRTS

P,JA SEE INSTRUCTIONS

A/I T

'P

CdSS£TTE INTERFACE CXITPUT SECTION

Page 24: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

2~DI4

(gJ)

--'

I ..~=;!. ".I'" R"

12 Q.EO~"'5

ELR, 1$

Rf7

cue10

6~~/~B~/~~ 13 13 I~, 19 19\,n.. 9 2 ~ 12 ,

J===1 [8

/3 3 1 I,

lfj/.... 2QC<;:QQQQ.. ".~'·f"!j,11 8 3~ 7J:L. 164

=1=-__-=====~ ~9f~-----~~+S I I lr-----DC

(qs) aw (fD) (42J~r.I (slI es.v (431'

DID OIl C12 DI3 DI4 DIS DIS au

l. ~3~ 13

'TI4 1

8

J

;1'~II•

CUi

6II

-

3

~.co3Jl5't~ 12

(95) (Ii') {4/1 (42)

DIfb CII DI2 D13

2f;1'13t;t2. Jnl.. fl9

JI-I -2 -3 -4GENERAL - PURPOSE••PATUS LINES

£ .....

~

I IRS.22d

.. <'<' I ,w.l 1CR':v /C IN I 750

g,..

-16V -=...(SI'

PF£SET , Ao to[DB(r.t

1t3

1.5/C1

Rt

,Ie 7~

I I ~;,7rrs"7 ri~........-I--.JI\I\N'l---T -=

.L

~':L 04~TAC6 c.,.CASSETTE JI-/5 .02

1t9 Cl6

100 .ocmT

8

PDSN(14)

SINP(..~ I

A(J3

C7!l

D6

+SV

1N • nR80 50/(

~,+sv 2~/(

Page 25: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

C.ASSETTE' INTr;R'fA":''- rrMIN& DIAq'RAN

$EP.IIrL 8 JNA R. 'f 0;' TA

,e Z P... 9

Cl-oCI< - (PIN i:-, )

- tJ~ 2 M~ (PI"J l' -<t)

'J.PH1tS~ ro rAPE: ('Jo-~ )

1'1 I 1 1 1 I ~ I 0 I 1-1 .1 I 0 I 1 r 1 I 1-1 a I 0 It' J r

LJLJLflSl..-\l\- J 1 \ L I--. .---. . nJlLLSl-J

I\U J) '0 FRo"" TA ,,(' JVV~\

--c- _:_-

I - j •!--__J __l l.. _i : i i \__ L __J_--'----'-- .

IlECo"'SEOCLo CIt (f-t, J

RE"(l)VERED Bl·PHME(Jo-',)~JU---U--' r-LJL--f1~l_n_~

N _ i ! I . I I ~ I !' J... E~£ De.TECToR oU'TfuT Yo I 1 j ,~-l_L- ; ! I

lllJI~~Fuu'LJI1-"U----U-1t

-= riE:CO~£"~E:'J> ~ Poi! PATA ('f-") (XNVA t.ID l--1 ERE) ) I I 1)

~ c:. l.0 c...- r s r .... f K0 i' E" VH i" 'i (" A'-! ZR. F I I~ S T Dt'I~ ~ ;'j,>, rJ.; i?"•

Page 26: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

CASSETTE INTERFACE PIN FUNCTIONS

Jl (DIP SOC KET)

12345678

GP STATUS IN BIT 0GP STATUS IN BIT 1GP STATUS IN BIT 2GP STATUS IN BIT 3GP CONTROL OUT BIT 3GP CONTROL OUT BIT 2GP CONTROL OUT BIT 1GP CONTROL OUT 8IT a

16151413121 110

9

GROUNDDATA FROM CASSETTESPARESPARE+5 VOLTSSPAREDATA TO CASSETTEGROUND

NOTES: GP STANDS FOR GENERAL-PURPOSEDATA FRO~ CASSETTE SHOULD BE CONNECTED TO EARPHONE JACKDATA TO CASSETTE SHOULD BE CONNECTED TO AUXILLIARY JACK.IF ~I KE JAC E IS USED" OR IF THE RECORDER ONLY OPERATES 91THAUTOMATIC VOLUME CONTROL ON RECORDf THEN DIVIDER RESISTORSMAY HAVE TO BE CHANGED FOR THE PROPER RECORDING LEVEL.THE DIVIDER RESISTORS ARE RIO AND Rl!.

P2 (8800 BUS PINS)

1 +8V29 ADDRESS LINE #530 ADDRESS LINE #431 ADDRESS LINE #335 DATA OUT LINE #136 DATA OUT LINE #036 DATA OUT LINE #439 DATA OUT LINE #540 DATA OUT LINE 1641 DATA IN LINE 1242 DATA IN LINE 1343 DATA IN LINE 1745 OUT46 INP50 GROUND51 +8V52 -16V75 RESET -NOT77 WRITE-NOT78 DATA BUS', IN79 ADDRESS LINE 1081 ADDRESS LINE 1282 ADDRESS LINE 1683 ADDRESS LINE 1768 DATA OUT LINE 1289 DATA OUT LINE 1390 DATA OUT LINE 1791 DATA IN LINE 1492 DATA IN LINE 1593 DATA IN LINE 1694 DATA IN LINE 1195 DATA IN LINE 10JOO GROUND 22

Page 27: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

IF YOU CANNOT MAKE AT LEAST TEN 8X-BYTE TRANSFERS WITH NO ERRORS~

YOU HAVE A PROBLEM~ AND THE ITEMS BELOW MAY BE OF SOME HELP:

1. CHECK TO MAKE SURE THAT ALL THE COMPONENTS AND JUMPERS AREIN THEIR PROPER LOCATIONS~ AND THAT THEY ARE ORIENTED ASSHOWN IN THE ASSEMBLY DRAWING.

2. MAKE SURE THAT THE BOARD IS CLEAN~ ESPEC IALLY THAT THEREIS NO FLUX RESIDUE BETWEEN IC PINS OR OTHER CLOSE LINES.

3. DEMAGNETIlE AND CLEAN THE RECORD/PLAYBACK HEAD ON YOUR RECORDER.

4. WHEN YOU PLUG IN THE BOARD~ BE SURE THAT THE PINS ONTHE BOARD EDGE CONNECTOR LINE UP WITH THE PINS IN THEMOTHERBOARD CONNECTOR.

s. HAVE YOU TRIED BOTH PHASES WITH THE PHASE SWITCH, ANDARE THE OTHER SETTINGS ON THE DIP-SWITCH CORRECT?

6. YOU SHOULD BE ABLE TO ADJUST THE VOLUME ON YOUR RECORDER BY ABOUT50% DURING PLAYBACK~ AND STILL HAVE THE SYNC LIGHT LIT WHEN READINGTHE SYNC STREAM. IF IT DOESN'T LIGHT AT ALL~ THERE IS PROBABLYSOME GROSS PROBLEM ON THE BOA~D, SUCH AS A BAD PLATED THROUGH HOLE,A SOLDER BRIDGE~ OR A BAD INTEGRATED CIRCUIT. IF YOU ARE USING ATAPE DECK THAT HAS ONLY A PREAMP~ YOU MAY NEED TO ADD AN EXTRASTAGE OF AMPLIFICATION IN ONE OF THE EXTRA IC SLOTS.

7. IF YOU HAVE AN OSCILLOSCOPE, THE BEST PLACE TO LOOKTO SEE HOW THE RECEIVER INPUT SECTION IS OPERATING IS ATIC 4, PIN 11. THIS SIGNAL SHOULD BE FAIRLY CLEAN~ WITHSOME OVERALL JITTER~ DUE TO THE TAPE WOW AND FLUTTER, ANDSOME HIGH-SPEED JITTER ON THE EDGE OF THE WAVEFORM. IT ISTHIS HIGH-SPEED JITTER THAT yOU SHOULD TRY TO MAKE A MINIMUM.

8. IF YOU HAVE A VIDEO INTERFACE~ OR OTHER ~OURCE 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 (RIO, HII> FORYOUR PARTICULAR RECORDER? IF YOU ARE ABLE TO RECOVERTHE SYNC STREAM I WROTE SATISFACTORILY, BUT ARE HAVINGTROUBLE WITH RECORDINGS YOU MAKE YOURSELF~ THE LEVELGOING FROM THE INTERFACE TO THE RECORDER MAY BE TOOHIGH OR TOO LOW~ ESPECIALLY IF YOU HAVE AUTOMATIC LEVELC·ONTROL. YOU MAY ALSO WANT TO TRY OPERAT ING WlTHOUT C15.

11. HAVE YOU CHECKED YOUR +5 VOLT POWER? TOO MANY BOARDS IN YOURCOMPUTER 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 MICROPHONE~ BE SURE IT IS NOTACTIVE WHILE YOU ARE MAKING A RECORDING (THE J.C. PENNY HAS ASWITCH ON THE TONE CONTROL WHICH CUTS OFF THE INTERNAL MIC).

14. IF YOU STILL HAVE PROBLEMS~ PLEASE RETURN THE UNIT~ PREFERABLYVITH YOUR CASSETTE RECORQER~ AND 1 WILL GET IT OPERATING PERFECTLYWITHOUT CHARGE. THE REPAIR TURNAROUND TIME IS 1 TO 3 WEEKS.

15. IF YOU ARE COMPLETELY DISSATlSFIED~ YOU MAY RETURN THE INTERFACEFOR A COMPLETE REFUND WITHIN 90 DAYS AFTER YOU ACCEPTED DELl~ERY.

~'2

Page 28: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

IDEAS FOR USING THE CASSETTE INTERFACE

S~ING AND LOADING PROGRAMS

PROGRAMS MAY BE TOGGLED INTO MEMORY# LOADED FROM PAPER TAPE# ORLO~ED BY SOME OTHER MEANS. THEY MAY THEN BE DUMPED ONTO CASSETTEUSING THE CASSETTE OUTPUT ROUTINE. THE OUTPUT ROUTINE ITSELF MAYBE DUMPED ALONG WITH THE OTHER PROGRAM# SO THAT IT WILL- BE AltA 11.ABLELATER FOR FURTHER DUMPS. ROUTINES HAY THEN at LOADED FROM CASSETTE~

MOil)! l' IED# AND DUMPED BACK OUT TO CASSETT£ IN A CONT INUOUS PROCESS OFDEVELOPMENT. .

USING A BACKUP

A BACKUP IS A METHOD OF MAKING SURE THAT VALUABLE PROGRAMS ORDATA IS NOT LOST. ONE SIMPLE WAY OF PROVIDING A BACKUP IS TORECORD A PARTICULAR PROGRAM IN TWO DIFFERtNT PLACES ON THE SAMETAPE# OR ON TWO DIFFERENT TAPES. YOU MAY WANT TO GO BACK ANDFORTH BETWEEN THE TWO COPIES# EACH TIME THE PROGRAM IS CHANGED.IN THIS WAY, YOU ALWAYS HAVE A COpy OF THE LAST PROGRAM, ANDONLY THE MOST RECENT CHANGES ARE LOST IF A POWER FAILURE OROTHER EQUIPMENT TROUBLE DEVELOPS DURING THE PROCESS OF SAVING.

STARTING AND STOPPING AUTOMATICALLY

MOST AUDIO CASSETTE RECORDERS HAVE AN INPUT LABELED "REMOTE".TH!IS IS NORMALLY OPERATED FROM A SWITCH ON THE MICROPHONE, SOTHAT THE RECORDER CAN BE STARTED AND STOPPED WHILE DICTATING.THIIS INPUT CAN BE USED TO START AND STOP THE RECORDER UNDER .PROGRAM CONTROL FROM THE COMPUTER. ONE OF THE 4 EXTRA CONTROLLI~ES COMING FROM THE CASSETTE INTERFACE (DI~-SOCkET PINS 5, 6171 OR 'S) CAN BE USED TO DRIVE A RELAY WHICH WOULD HAVE ITSCO~TACTS CONNECTED TO THE RECORDER REMOTE JACK. TaE HAINREQUIREMENTS ARE THAT THE 40 MA AVAILABLE FROM' THE CONTROL l.INEBE ABLE TO DRIVE THE RELAY, AND THAT THE RELAY CONTACTS ARE ABLETO HANDLE THE CURRENT INTO THE REMOTE JACK, WHICH CAN BE AS HIGHAS ONE AMPERE.

OPERATING WITH MORE THAN ONE CASSETTE RECORDER

SOMETIMES IT IS DESIREABLE TO OPERATE WITH TWO OR MORE CASSETTEUNlTS. WITH THE TARBELl. CASSETTE INTERFACE, IT IS ALaEADYPOSSIBLE TO READ FROM ONE CASSETTE RECORDER, WHILE WRITING OWTOANOTHER. THIS IS BECAUSE THE INPUT AND OUTPUT SECT 10ilS AREENt IRELY INDEPENDENT 1 AIJD MAY BE PROGRAMMED SEPERAT!LY. l' ITIS DESIRED TO READ FROM ONE OF TVO UNITS, AND VRITE ONTO A~OTBlR,

SUeH AS DURING A MERGING OPERATION, RELAYS MAY 8E USED TO' SWITCH­BAeK AND FORTH BETWEEN THE TWO INPUT UNITS, UNDER CONTROL OF' OlltOF. THE 4· CONTROL LINES. IF, HOWEVER, IT IS NEC!:SSARY TO READ ­SI~LTANEOUSLY FROM TWO DIFFERENT UNITS, OR WRITE DIFFERENTINFORMATION ONTO TWO UNITS AT THE S~ TIME, It VILLS! IECESSARYTO HAVE TVO CASSETTE INTERFACES. .

24

Page 29: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

MOD IF ICAT IONS ON CASSETTE BASIC FOR CSAVE AND CLOADUSING TARBELL CASSETTE INTERFACE

8X BASIC 3.2 12K BASIC 3.2 DISK BASIC

ADDR OLD NEW ADDR OLD NEW AODR OLO NEW ADOR OLD NEt"

1008 06 6E 155A 06 6E OE5S 06 FA IDFE DB OB1009 E6 £6 155B E6 E6 OE59 D2 67 IDFF 06 6E100A 01 10 155C 01 10 OE5A FA DE IEOO E6 E6100B C2 C2 155D C2 C2 OE5B 67 3E lEOI 80 20100C 07 07 155E 59 59 OE5C OE 19 IE02 C2 C21000 10 10 1551' 15 15 OE5D 78 CD IE03 FE FElODE DB DB 1560 08 D8 OE5E CD I'D IE04 10 10100F 07 6F 1561 07 61' OE5F FA ID lE05 1'1 1'1

OE60 10 21' lE06 03 D31016 06 6£ 1568 06 6E OE61 CO CO IE07 07 61'1017 £6 £6 1569 E6 E6 OE62 FA FD lE08 C9 C91018 80 20 156A 80 20 OE63 ID ID lE09 06 061019 C2 C2 1568 C2 C2 OE64 C3 C3 lEOA 01 01lOlA 15 15 156C 67 67 OE65 74 74 lEOB FE FE101B 10 10 1560 15 15 OE66 OE OE lEOC 2E 2E10lC Fl Fl 156E 1'1 Fl DE67 DE 3E 1EOO CA CA10lD D3 03 1561' D3 03 OE68 OLj 10 lEOE 12 12101E 07 6F 1570 07 61' OE69 CD 03 lEOF DE DE10lF C9 C9 1571 C9 C9 OE6A 1'0 6E lEI0 E5 E51020 ES E5 1572 E5 E5 OE68 ID 00 1Ell 3E CO1021 3£ CD 1573 3E CD OE6C 88 00 1E12 03 1'01022 D3 14 1574 03 66 OE60 C2 00 lE13 CD 101023 CD 10 1575 CO 15 OE6E 67 00 lE14 1'0 3E1024 14 3E 1576 66 3E OE6F OE 00 lEIS 10 E61025 10 E6 1577 15 E6 OE70 OD 00 lE16 CO CO

OE71 C2 00 lE17 FA FD1053 06 3E 15A5 06 3E OE72 69 00 lE18 10 1D1054 03 10 15A6 03 10 OE73 OE 001055 CD D3 15A7 CD 03 OE74 1'7 1'7 1E48 06 3E1056 07 6E 15A8 59 6E lE49 03 101057 10 00 15A9 15 00 101'0 08 DB lE4A CO 031058 D6 00 15AA 06 00 101'1 06 6E lE48 1'0 6E1059 D3 00 15AB 03 00 101'2 E6 E6 lE4C ID 0010SA C2 00 15AC C2 00 101'3 01 10 lE4D 06 001058 A3 00 15AO AS 00 IOF4 C2 C2 lE4E 03 0010SC 10 00 ISAE 15 00 10FS 1'0 1'0 lE4F C2 0010SD 05 00 15AF 05 00 101'6 10 10 lE50 48 00lOSE C2 00 15BO C2 00 101'7 DB DB lE51 IE 00105F AS 00 15Bl A7 00 IDr8 07 6F lE52 05 001060 l' 00 15B2 15 00 lE53 C2 00

lE54 4A 00lE55 IE 00

2!

Page 30: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

PROCESSOR TECHNOLOGY SOFTWARE PACKAGE #1

Modified for Low Memory and Cassette by Fred Clark,Modified for Tarbell Oassette by Don Tarbell.

The main purpose of this software is to allow development of assembly­language programs. Programs may be entered from the keyboard in standardassembly-language format, edited, assembled, and saved on cassette ineither source or machine format. These programs may be then loaded backinto ~emory at some future time for listing, 'editing or running. Followineis a summary of the commands. All address and byte information is in hex.

OFlL

FILES

FILE /NAME/ AAAA

FILE /NAME/ 0FILE /NAME/FILE

ASSM AAAAASSM AAAA BBBBOUSTSFILLFIL

DUMP SSSS EEEEEXEC AAAAEXEC /NAME/Em'R AAAALIST NNNNDELT NNNN MMMMNNNN (text entered)

-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.-Makes the named file the current file.-Prints the starting and ending addresses of thecurrent file, and it's name.

-Lists the name, starting &ending address for eachof the files in the system. Current file at top.

-Dumps the contents of memory fromSSSS to EEEE.-Executes the machine-language program at address AAAA.-Searches the cassette for named file, loads and exec.-Enter data into memory: B1 B2 B3 B4/-Lists the current file starting at line NNNN.-Deletes lines NNNN through MMMM from current file.-Enter a line of text into the current file. Alwaysuse 4 decimal digits. It works similar to BASIC,in that the numbered lines are ordered automatically.

-Assembles current file into address AAAA.-Assembles at address AAAA, but puts code at BBBB.-Execute a customer (user) routine at address EOOO.-Save the current file on cassette.-Load the current file from cassette. The name of

the file on tape must match the name of the currentfile. Be sure there is enoQgh room in memory.

-Oheck a cassette file written with the SFIL commandabove, for errors, without overwriting current file.

AFIL -Append a file from cassette to the current file.SAVE SSSS DEE -Save a block of memory from SSSS to EEEE on cassette.LOAD SSSS -Load a block of memory from cassette starting at SSSS.~ SSSS -Check a cassette file written with SAVE command.NAME /NAMEI -Rename the current file to NAME.RNU11 N -Renumber the cur.ent file b~_ increment N.NLIS NNNN -l.ists the current file at NNNN without line numbers.This software is useful, but may not be completely free of bugs. Itloads into the first 4096 bytes of memory, and uses about 2048 bytesfollOWing, for tables and scratch pad. Ctl-C escapes from any printing.Ot1-W freezes printing until another character is typed. The packageis available from Tarbell Electronics for the prices listed below:

Oassette Tape with software and instructions:A reassembled and patched (updated) listing:

15.00.,.00

26

Page 31: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

WRITING PROGRAMS FOR THE CASSETTE INTERFACE

SOMETIMES IT IS NECESSARY TO WRITE ASSEMBLY OR MACHINE LANGUAGEPROGRAMS FOR A PARTICULAR INTERFACE. THE CLASS OF PROGRAMSWE ARE TALKING ABOUT HERE ARE CALLED "DRIVERS". THESE WOULD BEREQUIRED FOR LINKAGE TO A PIECE OF SOFTWARE FOR WHICH PATCHESARE NOT PROVIDED IN THE MANUAL.

THIS INTERFACE IS A SYNCRONOUS DEVICE. ONE OF THE IMPLICATIONSOF THIS IS THAT DATA OR PROGRAMS ARE MOST EFFICIENTLY WRITTEN ASA CONTIGUOUS BLOCKI RATHER THAN AS SEPERATE BYTES. THERE ARE A FEWRULES 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 001 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 SPEED I

IS 187 BYTES PER SECOND. THIS MEANS THAT ANY LOOP .THAT THEPROGRAM GOES THROUGH WHICH IS BETWEEN BYTESI MUST LAST LESSTHAN 5.3 MILLISECONDS. AN AVERAGE INSTRUCTION TIME ON THE8080 WITH NO WAIT STATES IS 2 CYCLESI OR 1 MICROSECOND. THUSITHERE SHOULD BE NO MORE THAN ABOUT 5300 INSTRUCTION EXECUTIONSBETWEEN BYTES BEING SENT OUT. THIS IS NORMALLY NOT A PROBLEM.

4. A SIMILAR CONSTRAINT MUST BE OBSERVED WITH RESPECT TO THEINPUT SOFTWAREI WHICH SHOULD BE ABLE TO ACCEPT DATA AS FASTAS IT IS BEING MADE READY BY THE INTERFACE.

THERE ARE SITUATIONS IN WHICH THE DATA CANNOT BE PROVIDED ORACCEPTED FAST ENOUGH BY THE SOFTWARE. ONE EXAMPLE OF THIS ISDATA WHICH IS BEING GENERATED BY A PROGRAM RUNNING IN BASIC.THIS PROBLEM IS SOLVED BY SENDING THE DATA OUT AND READING ITIN A LINE AT A TIMEI WITH NULLS IN BETWEEN. THE PAGE ENTITLED"HOW TO SAVE AND LOAD DATA FROM A BASIC PROGRAM" IS A SAMPLEPROGRAM THAT SHOWS HOW TO DO THIS. THERE ARE AT LEAST TWOOTHER WAYS TO HANDLE THIS PR6BLEM: 1) SEND EACH BYTE AS ASEPERATE BLOCK WITH IT'S OWN START AND SYNC BYTES. 2) ACCUMULATEBYTES IN A BUFFER AREA OF MEMORYI AND START AND STOP THE CASSETTERECORDER UNDER CONTROL OF THE COMPUTER WHEN IT IS TIME TO DUMPAND 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 THECHECKSUM SYSTEM THAT IS DEMONSTRATED OK THE PAGES ENTITLED"OUTPUT ROUT INE WITH CHECKSUl-'J" AND" INPUT ROUT INE WITHCHECKSUM". THERE ARE MANY SYSTEMS POSS IBLEI EACH PROV IDINGDIFFERENT KINDS AND LEVELS OF PROTECTIONI AND BOOKS HAVEBEEN WRITTEN ABOUT THESE.

2. IT IS SOMETIMES HANDY TO HAVE AN IDENTIFIERI SUCH AS ANAMEI WRITTEN ALONG WITH THE FILE ONTO CASSETTE. ANEXAMPLE IS THE ONE-LETTER NAME GIVEN TO ALTAIR BASICPROGRAMS WHEN WRITING TO CASSETTE.

3. ANOTHER ITEM THAT IS USEFUL IS A WAY FOR THE PROGRAMTO TELL HOW LONG THE FILE IS. A ONE OR TWO-BYTE HEADERTO INDICATE LENGTH OF A FILE OR BLOCK IS SOMETIMES USED.IN THE MODIFIED PROCESSOR TECHNOLOGY SOFTWARE PACKAGE 11THAT I SUPPORT I BLOCKS ARE PRECEEDED BY ONE LENGTHBYTE THAT MAY BE FROM 1 TO 255. A LENGTH OF ZEROINDICATES THE END OF THE FILE.

4. A "TYPE BYTE" IS A UNIQUE BYTE FOR A PART ICULAR FORMATOF FILEI SO THAT A SOPHISTICATED LOADER MAY DISTINGUISHBETWEEN DIFFERENT TYPESI AND LOAD THEM APPROPRIATELY.I USE A 90 (HEX) TYPE BYTE IMMEDIATELY FOLLOWING THESYNC BYTE ON THE PROC. TECH. SOFTWARE.

; 27

Page 32: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

Vc~1"oR~j)

I N7ER~lJlIf

L fNeS

VI"vt I'lIZvI3\II..,.

vrfVIGt1/11

P1. ""1'

TO(>N~

flFTU€S(

Eb(£ PI"'S

I

~![Y1'0 •.•1••.

()pr'ON~ r"'vn~~

2

USING TID; TARBELL CASSETTE INTEHFACE UNDER IN'1'EJ:U'1UPT CO?{THOIJ

There is ~o ~uilt-in pr~~is~on for interrupts in the desicn.However, lt 15 not too Qlfflcult to make a moJificRtion totl:e board to r:rovide for interrupts. Tw'o bits in the controlL.ne reSH3t;er, 8re used as in~,errupt;-enab1e flip-flo}"s. I:; .. ~~rlCCSfiS2T7 to Ju:::tnll c-'no:'1:er 74 03 quad ?-inl:'ut OT)(.?n-(~(.,:1 f'~,tjT'

Ii;:.ND P.,",:;.., in cn(; () f t h., ;:: rare F~ I,e- <:" t: 0'" <; ·2 t ~'l ~E:' tt"'~' (' f' •. }l("....... . .... ...- -...;, . ~.J.... _. .L.,;,..... ' v _ ,) _ t I,

bo"'rcL The c:;rc',lit di.'lsram bplow ShC)"vIf; holtl 'C0 ('.onni.'(;t;-tlw7403: -

l!.!!Ai5'h7gq10

II

13

(C6NTIt~L BIT 0) Ie 3Cf PiN" -----f~

(IIZECflIfFA RFADY) Ie s~ "N CJ

(COtJ'TA'l. rIITI) Ie 3", p".llf -----f

(ollTPvr ItEIt)'(.) re:. 1'#, PIN t

If you do not have a vectorec interrupt caru, conne~t ~heoutput .pins 3 and 6 to the edge connector pin 73. Aninterrupt will then be caused when the follov,ring condit::onsare true: 1) Interrupts are enabled with an BI instruction.2) Control bit a is high ,md the receiver is ready with feninput bvte; or control bi"t"1 is }1:5h 9.nd the translLitter j sready f;r anoutput byte. Both condi'B.Ons 1 and 2 must betrue for an interrupt to be caused~

_If you do have a vectored interrupt card, connect t;he 011-;-,'il~

pins 3 and 6 to one of the edse connector pins 4~5,6,7,8,9,

10, or 11, dependin(; on what level you ''lant the cassetteinterface. Be sure that you have the correct 901ari.ty tocause an interrupt. The output at pins 3 and 6 C0es :.nwto cause an interrupt. If you have a vectored inter':'l!~'t;

card that requires a high-going signal to CRuse en :ntE'T"ruf't,you may use the extra gate shown above to invert the line.Read your manual on your interrput board to me.ke sure.

There" is not enough room here to explain how to use thE'interrupt system, but the following lines show how to enableand disable the two interrput bits on this board.

enable receiver interrupt: MVI A,1OUT 6EH

enable transmitter interrupt: MVI A,2OUT 6EH

enable both interrupts: MYI A"OUT 6EH

disable both interrupts: MVI A,OOUT 6EH

28

Page 33: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

PRELll1INARY PHI-DECK ADAljT~'R INFOHMATION

We have purchased the introductory variable-speed PHI-DECKpacka~e, which includes the deck, control electronics, powersupply, and control box. We have been experimenting with anadapter which connectn between the Tarbell Cassette Interface,the read-write hends, and the control electronics. Thisadapter provides st~!rt-stop, fonmI'd, rewind, Hnd fast-forwardcontrol for the PHI-DECK from the 'larbell Casse-cte Interface.It also includes read-write electronics for one chan..'1cl. Itis still in the experimental staGe, but speeds of 1000 bytesper second have been att<lined. The information is bejIlgprovided here for those "/ho would like to experiment furtheralong these lines. The circuit is not guaranteed to worE. foryour application, and vrill probably not be exactly wk'v weend up with for our use. As progress is ronde, furtherrefinements will be published, including more supportinGsoftware.

,,,,,'( 1'1 It til.G.'-11"J',y

nL "i"'" :11- 1>1MfA H' ~t:A~ p#l~It.'" TD

r"TE(F-Ac "8bJl.. tNTEIl Fl10 1Nf, 'f

~.,,~(oft/ilt.... t3IT J ItJIJ,'f

lOOk1.1) Fl>lt. ~fA~ 'fOAHI r:oA waiTE 1'f 10011:.. /(

(' /ZAuJJ 1) n-<t 3' 1- , (/t#uf<.lP

-,<.oNTA,&lL,Nf:STO

PHI·1)£(..1

LOOP IN FFH DB FF Read Sense Switches.OUT 6EH D3 6E Write to Control Port.IN 6EH DB 6E Read Status Lines.OUT FFH D3 FF Write To Display Lights.JMP LOOP 03 00 00 Do it allover again.

Sense switch 3 should be up for read, 'down for

The simple program below is handy for experimenting. Flip senseswitch 2 up momentarily to pulse the control line.

Control Tables1 sO functiono 0 RUNo 1 STOP1 0 FF1 1 REW

write.

29

Page 34: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

'~L" RND

.J!:L- + 5 VOG

"""lp\JT<;. ~. I~II"T'

A e y

0 0 II 0 I

0 I ,J I 0~

~

~~.5VOC

7

~ 7l.fLOO/TOi03 NAND/OR

A~--.3...-y&~

y- 5(ASC.O)

x- OON"T CARE

'V- S(A+S+C+DI

INPUT~ Ol./TPUT 1S A Be D y I1)C)(XX

rl0000000001000100010001000

~I001 I I

o I I \ I 0

''''l.as NOR/AND

8

..JL +5 VDC.,~

A--...

B~--\

C -=--40-=---1

S ~----'

TiiDLJT OUTPUTA yI 00 I

.-A

~ +SVDC

Y

7~O~/'~LOq/7~O~ INVERTER

Y·ABCDEF6H

SEE TRUTH TABLETABLE. FOR. l'iL00I7,",03n------- y

AaC ----"!..---Jo-_.

DfF-X--i__

6H~5VDC

Y.. A&

INPUTS OUTPU'T

A B y

0 0 0I 0 00 I 0I I I

l'fO~ ANO

~IO~

iQ---u-l.II

. I~

~+SVDC

~

A~3 Va 2

30

Page 35: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

la .I OUT~~J Q INPUT5

Cl<CLR c.1< ;r 1< -3..._~

1$0 ~ lC )( 0 I

I .flo 0 NO CfMNG[

I ..n... I 0 0

7 J" Q ...L-I ..f1..o I 0

CK10 l< Q. 8 I 1l.. I I Q Q.

eLR, NO CH/\N(,E: IN OUTPUTUNTIL .ALLING Et>GE orCLOCK

..!i.-.S VDC)C. DON'T CARE

II

~ 7'1p3171(13 T-\( FLI p. FLOP

"WITH CL.tAB

PR0 Q S

3 CK

G,

el.R.

10

PRoI~ 0 Q

IICI<:

Q 8

CU.

15

1'4+$ VDC,

~

31

INI'Vi~ OUTPUTS'LR PR CK 0 a Q

I 0 X X I 00 I X X 0 I0 0 X- x ILLfGALI I ... \ I 0I I ... 0 0 I

NO CHANGoE. IN OUTPUTUNTIL R.ISING. EDf;E OFCl.OCK

x- DON'T CARE

l'iLl'1 p- TYP~ El.lp· Et.QeWITH PRESET AND CLEAR.

Page 36: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

lLtL'~ 4.j-81'1" BiSTABLE LAT<.H

2. D Q.1(,

Q

13 EN6

3 IS0 Q

Q I~

....L- ... S VDe

IZ

~

7 D Q.

a.

"q

INPUTS o lITPUTS

ENG 0 Q. Q0 X Q.o Go

I 0 0 I1 t I 0

X' DON'T C.ARE

~, TH£ 5TA"TE OF QBE-fORE. ENB IS5£1 LOW

A~'(8~

INPVTS OUTPUT

A B y

0 0 01 0 ,0 I I1 I 0

'(,AG8

~2

II13

7~L8' EXCLVS\ltE -OR

32

Page 37: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

OIl SER ~ "SVDCZ IS'3 A QA

~ 12B Q8 13~, C QC I0 GO IQ..E QE8 ENB PI CK

ClR

Ir.

5ER' 5£R\AL. DATA Il'Il'Vf. DAiA I~ MovED FROM ~ERIAL INPUTTO QA AFTE.R THE. FIRST CLOC.L<.

A·B· PARALLEL DATA INrUT. DATA LS PRESENT ONA~SOClA1'E'D OUT?Ur tA_QJi} .D,F"TER CloVe.\(, 'IF tv',OD~

15 SHlnE'D FROM PARALLEL •• Df,TA WU,t. MOVE TOWARDSQE ON EACl-i FOLLOWING C\.O<:. K.

ENB P r ENABLE PARALLEL MOOE. WH£N ~ET. REGI STER I~

IN PARALl EL MODE. WHEN RESET, REGISTER I ~ INSERIAL MODE.

CI<· CLOCK. NO CHANGE. IN OUTPUT UNTIL RI5IN(; WGEOF Ct..OCK.

CLR· CL.EAR. WHEN RESET ALL OUTPUTS ARf. FORCE.D TOTO RESE T" WITHOUT REGARDS TO AN's" OTHERINPUT.

QA-a.E ·OUTPUn. ALL OUnUH U5ED FOR PARALLE.LOUTPUT. FOR 5ERIAL OUTP\.iT,OIJE Of" THE ouTPUTS15 U~ED DEPENDING- ON THf LENGTH DESIRED.

J"''' s-an )HIFT REG.lsTER

...!i- +S VOC

~

33

IF BI THROUe;, tH, ARE BIT· FOR- 0 IT EQUALTO THE 61T5 RE.5e:T ON TI THROUC.H no, Q ISRESET. FOR ALL OTHER CONDITIONS Q. 15 5ET

S. !tTROBE. WHEN SET Q. 15 Ol5ABLEO

DM813' (i-B'T COMPAR'TOR

Page 38: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

~ +,voc

A,e· !lERIAl. OAT A IN PVT$. ONE Or: THE. TWOMU~T 8E !:IE T TO ENAel.E THt OrKER.DATA I~ PRE-SENT AT QA AfTER ONI:.ClOtK AND f10VES TOWARD Q.H ONEACH FUL,.LOWlf-cG CI.OCK.

CK. CLOC.K. N.O CHT\NC:rE IN OUTPUT UNTIl.kl~1N6 t DGrE Of CI..OCl<

CLR,CLEAR. WHEN RESET1.,.. ALL OUiPUTSARE. RHET WITHOU I REGARO) TOTO OTHER INPUTS.

Q.A- QH. OUTPun. DATA IS MOVE.D ~ROM AAND 8 TO QA ON EACH CL.OC.K ANDTHE DATA AT QA IS MOVED TOWAROSQ.-I.

a-ellT FARALl.E.L-OUT ~HIFT REGI!IE&

• Vee. S COMTROL

TWll'§ COMPARITOP-ft

- COMPARITOR TRIGG E.R.a

'Ii; '?

FLIP-FLOP OUTPUT OUTPUT~TACrE -r

RGE7

RE!lET h..,'Ii;7

NUS'" TIMEI\

34

Page 39: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

\I.e

7

POSITIVE EDGETRIGGE.R E.NABlE

NEGrATlVE: EI)6EiRIGGE.R ENABLE

TIMING COMPON£H'N,.......,......Il" IS

3 CLEAR

I~-Vee ..SVDC

~ -s VOG

8

~ 8120 BIDIRECTIONAL. ONE-SHOT

LJPIN 2. SElPIN " RESET

PIN e I'ESETPIN IS $ET

PIN 2 511PIN 13 SET

L ONE-S~OT··ON"'T1Mf IS OE1ERMINEDr BY TIMING COMPONENTS CQNNEClEPTO PINS It, 1'4~ ANO 15:

alto BIDIRECTIONAL- ONE-SHOT INPutAND OVlPUT WAVE.FORMS

LIMITEROUTPVT A

L1MI,.ER_1 r-1OV1PUT A 1-.__I 11-.__

ONE-SHOTOUTPUT Q

ONE· SHOTOVTPUT Q. _

ONE·SHOTOUTPUT 0.

Page 40: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

DEAR CUSTOMER ..

THANK YOU VERY MUCH FOR PURCHASING A CASSETTE INTERFACE.1 AM INTERESTED TO KNOW WHAT KIND OF PROGRESS YOU HAVE I&ADEWITH YOUR TARBELL CASSETTE INT£RFAC£. 1 WOULD REALLY APPRICaATJ;IT IF YOU WOULD TAKE TIME TO FILL THIS QUESTIONAIRE OUT. T.15WILL HELP ME TO PROVIDE YOU WITH BETTER SERVICE 18 THE FUTURE.

DID YOUR INTERFACE ARRIVE IN A REASONABLE LENGTH OF TIIII:' US NO

WERE ANY OF THE ITEMS DAMAGED IN SHIPMENT? YES NO

WAS THE QUALITY OF WORKMANSHIP ON THE BOARD REASONABLE?

HAVE YOU SrARTED CONSTRUCTION YET?

WERE ANY OF THE ITEMS MISSING? IF SO.. WHAT? YES NO

YES .0

YES aTO

HAVE YOU HAD ANY PROBLEM UNDERSTANDING THE MANUAL? WHERE? YES NO

WERE THE COMPONENTS OF REASONABLE QUALITY? WHAT WASN'T? YES NO

HAVE YOU COMPLETED THE CONSTRUCTION YET?

HAVE YOU TESTED THE INTERFACE YET?

WHAT IS THE MAKE AND MODEL OF YOUR RECORDER'I

HAVE YOU ENCOUNTERED ANY PROBLEMS? WHAT?

IF THERE WERE PROBLEMS .. ARE THEY FIXED? IN WHAT WAY?

HAVE YOU FOUND ANY OF THE ADJUSTMENTS CRITICAL? WHICH?

ARE YOU DISATISFIED IN ANY WAY WITH THE UNIT? HOW?

YES NO

YES NO

us alO

YES NO

YES NO

VIS )10

DO YOU HAVE ANY SUGGESTIONS FOR IMPROVEMENT OF THE DESIGN YES NO

WHAT DO YOU FEEL IS THE MA~OR DISADVANTAGE OF THIS UNIT?

HAVE YOU DEVELOPED ANY SOFTWARE OR HARDWARE RELAT IVE TO THEINTERFACE THAT MIGHT BE OF USE TO OTHER PEOPLE? WHAT?

HAVE YOU TRIED PACKING DENSITIES HIGHER THAN THE STANDARD800 BITS/INCH? WHAT DENSITY? WITH WHAT RESULTS?

WHAT IS YOUR NAME .. ADDRESS .. AND PHONE NUMBER?

DO YOU MIND IF I GIVE OUT YOUR NAME TO OTHER CASSETTE tlSERS?

PLEASE USE THIS SPACE.. AND THE REVERSE SIDE.. IF NECESSAR~.. TOMAKE ANY COMMENTS ON THE INTERFACE THAT MAY BE: HELPFUL.

SINCERELY..

.!Jp..JJ~ ~DONALD E. TARBELL144 MIRALESTE DRIVE 1106 36MIRALESTE.. CALIF. 90732

Page 41: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

T A1 BE LLMO DE T A::' ES

P.T. SOFT,'1A"~ E#1 : BLOCK LENGTH 1000HSTNH ING ADDR ESS OOOOH

NEEDS A 1024 BYTE BLOCK OF MEMORY @ 10aOHWHEN USED A5 A3SEMBLER. BE 3UHE TO INCLUDE IN THE PROGRAM THE LINES

PS W E) U 6SP [Ju 6

'MSAI 6K BAS Ie BLOCK LENGTH 2000HSTA1T ING ADD~ E3S OOOOH

I/O SETUP IMSAI THESE TAPES

STATUS PORTDATA PORTT BERDA

32BIT 7BIT 1

o1BIT 181 T 0

IMSAI : BITS ACTIVE HIGH THESE TAPES: BITS ACTIVE LOitTHE TAPES SUPPLIED f\~E ON THE OLD I.IITS STANDA1D••TO CONVERT TO THE IMSAI SUB3TITUTE A3 FOllO?/S:

ADCRESS IM5AI THESE004A 03 00004E 03 0000A7 03 0000A9 02 01OOAA C2 CAi 8 Fe 03 0018 Fa 02 011SF9 CA C21929 03 00192A lF 071926 02 OA1930 02 011AOF 03 00I A1 I 02 011A 12 C8 C')lA14 02 01IMS,td ASSEI.\BLEK. EDITOR M~D MONITOR1/.I5AI SOFT,~ARl:. DEV ELOP:·\EiH Pt.GK/J.GEAS IMSAI CONFIGURED 30FnIA~E

ANDAR E PR ES ENT ON THE TAPES

BAS IC PROGRAMS:12K PROGRAi:'S RUN ON MITS 12K VERSION 3.2SK CHESS RUNS ON MITS 8K V 3.2

C HE CKEK S RUNS 0 N MIT .3 8 K V 3. 1.

ALL A:1 E LOADED IN V IA THE C LOAD COMr<lAND. TO MODIFY YOUR MITS BA3 Ie.CONSULT YOUR TARBELL I<lANUAL FOR THE PATCHE3.A>

Page 42: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

TARBELL ELECTRONICS20620 S. Leapwood Ave., Suite P

Carson, California 90746(213) 538·4251

INSTRUCTIONS FOR CASSETTE READ-ONLY MEMORY PROGRAM 1 CROMPl)AUG 12" 1976

THIS PROGRAM, WHICH WILL RUN IN EITHER READ-ONLY OR READ-WRITEMEMORY, ALLOWS THE USER TO PERFORM THE 6 FUNCTIONS LISTED S£L09:. _. .. -

LETTER EXAMPLE DESCRIPTION

ECSoI1.

E3000CI00020E7S020000000110003000L47DF1257

EXECUTE PROGRAM AT 3000 (HEX).CHEC K CHEC KSUM ot CASSETTE REtORD.GENERATE SYNC STREAM. .OUTPUT RECORD OF LENGTH 2000, STARTING AT 0010.INPUT RECORD OF LENGTH' 1000, STAIlT 18G At 3000.'­LOAD AND EXECutE, LENGTH 41DF, STAaTING AT laS'.

~ . . - . ,. .-HAV~ THE CASSETTE RECORDER RUNNING BEFORE TYPING THE LASTCHARACTER OF THE C, 0, I" OR L COMMANDS, SINCE THE"LAstCHARACTER IS WHAT STARTS THE TRANSF£R GOING. IF"AN E 15PRINTED AFTER THE TRANSFER" IS MADE ON A C" 1, OR L COMMAND,THIS INDICATES AN ERROR HAS BEEN DETECTED. OTHERWISE,1D-C,OR I WILL BE PRINTED AFT£R THE TRA5SFtR•. IN TBE CASE"Or"THE-1. COMMAND" IF THERE AR£ NO ERRORS" THE PROGRAM"'ULL AUTOMAtICALLYSTART EXECUTING AT THE STARTING ADDRESS SPECIFIED IN THE COMMAND •

.~ . ..THE SECOND AND THIRD BYTES OF THIS PROGRAM SPECIFY WHERE THESTACK IS LOCATED" AND SHOULD BE THE TOP OF SOME"HANDOM-ACe!SS~MORY CNOT READ-ONLY MEMORY) WHICH IS NOT USED FOft OTHeR THINIS.THE. STACK WILL THEN EXPAND DOWN FOR ABOUT 8 OR 10 BYTES FROfl"THIS ADDRESS.

Page 43: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

ASS!': FFOO E400

FFOO 0005 *FFOO 0010 *** READ-0NLY t-lEt·:0RY PR0GRAN ***FFOO 0015 *FFaO 31 00 EC 0020 START LXI SP .. OECOOH SET STACK PTR.FF03 3E OD 0034 WJI A.. ODh PRINT CR .. LF.F'F05 CD 5f! FF' 0036 CALL PTCNFFOB 3E Oti 0038 I1V I A.. OAEFFOA CD 58 FF 0040 CALL PTCN 0N CflNSfllLE.FFOD 3E 3F 0042 £';'11 A '?' PRINT .,?"...FF'OF CD 52 FF 0043 CALL PTCN' 0N C0NS0LE.FF12 CD 6 11 FF 0050 CALL RDCN READ KEYE0ARD.n~lS FE lIS 0060 CPI 'E' IF E ..FFI? CC 36 FF 0070 CZ ExEC EXECUTE A PR0GRA!').FF IP, f'E 43 0080 CPI 'C' IF C..F'F1C CC 80 FF 0090 CZ CINR G0 T0 INPUT R0t1TINE.FF'IF FE 53 0100 CPI 'S' IF S ..FF21 CC 73 FF 0110 CZ CSyt-JC G0 T0 SYNC GEN.FF:;:Jll FE 4F 0120 CPI ' 6' IF 0 ..F:::*25 CA 78 FF 0130 JZ C0UTR G0 T0 CASS 0UT.FF29 FE 49 0140 CPI ' I' IF I ..FF2S CC BO FF 0150 CZ cum 80 T0 CASS IN.FF2E 7£ 4C 0160 CPI ' L' IF L..FF30 CC DO FF 0170 CZ eI~JR De A L0AD & G0.FF33 C3 00 FF' 0200 JI'iP START START 0VER.FF36 6000 >,<

FF36 6010 *** EXECUTE THE PR0GRA1"J AT TEE ADDRESS ***?F'36 6020 *FF36 CD 3.D, F'F 6030 EXEC CALL AhEX READ ADDRESS FR0!",' KB.FF39 E9 6040 PCEL JUHP T0 IT.F'F3A 7000 *FF3A 7002 *** ceKVEHT UP T0 4 hEX DIG ITS T0 BINARY II<FF3A 7004 *FF3A 21 00 CO 7005 ABEX LXI H.. O GET A 16-BIT ZER0.FF3D OE 04 7008 l'NI C.. 4 C0UNT 0F 4 DIGITS.FF3F CD 64 ?F 7009 AEE1 CALL RDCN READ A BYTE.FF42 29 7010 DAD H SHIFT 4 LEFT.FF43 29 7012 DAD hFF4L, 29 7014 DAD EF'F45 29 7016 DAD HFF46 CD 50 FF 7018 CALL AHSI C0NVERT TIO BINARY.FF49 85 7020 ADD LFF4A 6F 7022 1,;BV L.. AFF4B OD 7024 DCR C LI DIGITS?FF4C C2 3F FF 7026 JNZ AHE1 EEEP READING.FF4F C9 702B RET RETURN FR~N AHEX.FF50 7100 *FF50 7102 *** CiZNVERT AN ASCII DIGIT T0 HEX ***FF50 7104 *FFSO D6 30 7106 AES 1 sur 42 ASCII BIAS.F'F52 FE OA 7108 cpr 10 DIG IT 0-10FF54 D8 7110 RCFF55 D6 07 7112 SUI 7 ALPEA BIAS.FFS7 C9 7114 RET RETURN FR0N AHS 1 •FFSB 8000 *FF58 8002 *** PRIl\T REGISTER A 0N C0NS0LE ***

Page 44: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

FF5b 8004 >I<

Ff5 e F5 8006 PTCN PUSH pSvl SAVE REG A.FF'S 9 DB 00 8008 PTL0P !rli C£NC READ PRINTER STATU ..FFSB E6 80 8010 ANI BOh IF BIT 7 N0T 0 ..FF"5D C2 59 FF 8012 JNZ PTLli:P \,rIA IT TILL IT IS.Fr60 Fl 8014 pep PS~\f THEN REceVER A..1'1'61 D3 01 8016 fiUT C0ND AND PH"INT IT.FF63 C9 8018 RET RETURN FRfJ~'l PTCN.FF"64 8100 *?F'SLj 6102 *** READ FR0!·; C01-:5 0LE Te· :'~EG ISTER A ***FF'64 810/-1 *f?S4 DB 00 8106 RDCN IN C01-:C READ EEYB0ARD STATr;??66 E6 01 8108 ANI 1 IF BIT 1 N0T 0 ..Fr6 F C2 64 FF 8110 J~':Z RDCN REPEAT UNTIL IT IS.FF6B DB 01 81 12 IN cel'~D READ FR0N hEYE0ARD.FF6D E6 7: 8114 At: 1 7FE STRIP 0FF NSa.FF6F' CD 5L FF C115 Ci\LL PTCN ECE0 0NT0 PRIl\TER.?F72 C9 Ed 16 RET RETURN F:''U:Jl'! RDCI\.F?73 Cl18 C0NC 2QU 0 C0NS0LE STATUS P0R.??73 8120 CeND EQU 1 ClZNS0LE DATA P0RT.?F73 9100 *?F73 9102 *** SYNC C0DE GE1!EC\.AT 0? PR.0GRAI, ***FF73 9103 *F'F'73 3£ T7':" 9104 CSYNC lWI A.. OE6h WRITE SYNC BYTE~.)

FF'75 CD ALl FF' 9106 CALL CIWT el'.T It CASSETTE.FF78 C2 73 FF 910E: Jr,,? CSYNC KEEP D~Ir\G IT.F'?7B 9200 *'F?7:5 9202 ",*", CP,SSETTE INTERFACE 0UTPUT R0UTINE ***:7'F''7D 9204 *FF71':; CD 31\ FF 9206 CCUTn CALL f~HEX RE/-\.D BLeC}; LEI'GTh.FF'7E EB 9210 XChG PUT INT0 D.. E.F?7F CD 3{\ FF 9212 CALL AHEX READ START ING ADR.FFF2 06 00 9216 HVI a.. o START ChECXSUN = o.?FELJ CD ALI FF 9220 CALL C0UT START BYTE 0UT.FFc'7 3E E6 9222 Ell I ,; .. OE6H SEr\D SYNC BYTEF"?F9 CD 1\4 F'P"' 9224 CALL C£.UT T0 CASSETTE.FrEe 7E 9226 CCL0P l-:ev A.. ~.j GET DATA FR01', ~;Et',~l'l

F'F€D CD ALL FF' 922£; CALL CIWT SEND T0 CASSETTE.F?90 CO 9230 ADD B ADD T0 CHECESUl-'i.F'F91 47 9232 ~10V B.. AFF"92 23 9234 HJX H INCREt<lENT P0 INTER.F'F'93 13 9236 DCX D DECREIJJEr~T CWNTEH.F'F'94 97 9238 SUB .L\ CLEAR A.FF'95 31-\ 9240 CJvlp D IF' D NeT = 0 ..FF96 C2 BC FF' 9242 JNZ C0L0P REPEAT Le.0P.FF'99 BB 9244 Cl',P E IF E Ne.T = 0 ..F'F'9A C2 BC F'F' 9246 JNZ CiZLlZP REPEAT LICliiP.F'F9D 7& 9248 l"10V A.. E GET ChEChSm,j.FF9E CD ,11.1-1 1'1' 9250 CALL C0UT eUTPUT IT.FF'AI C3 00 F'F' 9252 JUT' START GET Al~0TEER C01'lhA.N~

F'FALI F5 925 Lj CWT PUSh ?Sl,J SAVE. J-)' AND FLAGS.FFA5 D3 6E 9256 CU;P I!( CASC READ CASSETTE STATr;F'FA7 E6 20 9258 ANI 2011 L00K AT BIT 5.FFA9 C2 AS F'F' 9260 Jl\Z CU)P TRY AGAIN?FFAC Fl 9262 HI' PS'W REST0RE A.FF'AD D3 6F 9263 0UT CASD SEND DATA T0 CASSETTE.F'FAF C9 9264 RET HETURN FR£iH C0UT.FFBO 9300 *FF'EO 9302 *** CASSETTE INPUT R0UT U:E ***FFEO 9304 *FFEO F5 9310 CINR PUSE PSi<i SAVE C01\iTR0L CHAR.F'F'S 1 3E 10 9320 liN I A.. I0H USE BIT 4 IN REG AF'FE3 D3 6E 9330 eUT CASC 10 RESET CASS INT.FFB5 CD 31\ FF 9340 CALL AHE" READ BL0CE LEI\GTH.FF'S 8 EB 9350 XCHG PUT INT0 D.. E.FF39 CD 3P. FF 9360 CALL A}IEX READ STARTING ADDRESS.

Page 45: Tarbell Cassette Interface - amaus.org Cassette... · THE TARBELL CASSETTE INTERFACE TARBELL ELECTRONICS 20620 S. Leapwood Ave., Suite P Carson, California 90746 (213) 538-4251

F,FBC Fl 9365 Pf,P PSW' GET C()NTR0LCHAR.FF3D E5 9370 PUSH H SAVE STARTING ADJ)RESSFFEE F5 9375 PUSH, PSW UNDER C0NTp,.0L CHAR.FFSF 06 00 9380 NVI B.. O SET CHECKSUE = o.FFel CD F2 FF 9390 CILfiP CALL CIN READ A BYTE FRlZl1'l CASSoFFG/-l 4F 9400 r·H:JV C.. A SAVE IT IN REG C.FFC5 Fl 9410 PlOP PSW GET C0NTR0L CHAR.FFC6 F5 9420 PUSH PSW SAVE IT BACK.FFC7 FE 43 9430 CPI 'C' IS IT A C?FFG9 79 9440 foll2iV A .. e GET BACE DATA BYTE.FFCA C,0, c@ FF 9450 JZ CIN0 IF C.. DlON'T STfiRE IT.FFCD 77 9460 [-j0V N.. A IF N0T .. De: ST0RE IT.FeCE 80 9470 CIN0 ADD B ADD T0 CHEChSUt-".FFCF I: 7 9480 L0V B.. AFFDO 23 9490 INX H I NCREt·1ENT PI3 INTER.1'FDI IE 9500 DCX D DEGREr/lENT Cl2iUNTER.FFD2 97 9510 SUB A CLEAR A.FFD3 3ft 9520 CNP D IF D N0T = 0 ..FFDLJ C2 Cl FF 9530 JNZ CIL0P READ !>j0RE.FFD? 33 9540 eMP E IF E N0T = 0 ..FFDB G2 el FF 9550 JNZ CILlOP READ MiORE.FFDB GD F2 FF 9560 CALL eIN READ LAST BYTE.FFDE B8 9570 GMP B C0MPARE T0 CHECKSUN.?FDF 3£ /15 9580 lW I A.. 'E' PRINT E FeR ERRl2iR.FFEI C2 EC FF 9590 Jl\'Z CEliR .. PRINT N0W IF ERRI2JR.FFE;4 Fl 9600 P0P PSW REC0VER CTL CHAR.FFE5 FE 4C 9610 CPI ' L' IF IT'S N0T L..F;:"E7 C2 EC ?F' 9620 JNZ CEflR D0N'T"EXECUTE.FFEt'. El 9630 pep H eTHt:mJ ISE .. EXECUTEFFE3 E9 9640 PGHL AT STARTING ADDRESS.FFEC CD 58 F'F 9660 CERR CALL PTCN PRINT C.. E.. I2IR I.FFE? C3 00 FF' 9690 Jl',;P STARTFFF2 DB 6E 9700 CIN IN CASC READ STATUS.F?FLl £6 10 9710 AKI 10H L00I; AT BIT 4.F'FF'6 C2 F'2 FF 9720 JNZ CIN WAIT UNTIL L01i1.FFF9 D~' 6F 9730 IN CASD READ DATA FR0M CASS.D

FFFB C9 9740 RET RETURN FR0N CIN.FFFC 9996 CASD EQU 6FH CASSETTE DATA PIOHT.FFFC 9997 CASC EQU 6EH CASSETTE STATUS P0HT.FFFC 9998 PSiV' EQU 6FFFC 9999 SP EQU 6?


Top Related