computer COMPLTf/? /V07*fS is continually seeking quality manuscripts on applications, trouble- shooting, interfacing, software, book reviews, fiction, cartoons and a variety of other com- puter-related topics. Articles should be a minimum of 800 words and a maximum of 3600 words long (about 15 pages typed double-space). Honorariums are based on an article's technical quality and its suitability for C./V.'s readership. Payment will range from 50C to $1 per typeset maga- zine column inch for all text and programs. No payment will be made for illustrations. All articles are subject to editing to fit space requirements and content needs of our reader- ship. Payment for articles which are accepted will be sent upon publication. Articles submitted to C./V. should be typed, double-space, with the author's name, address and the date in the upper left-hand corner of each numbered page. Authors should also include a one-sentence autobiographical state- ment about their job. professional title, previous electronic and/or computer experience under the article's title. Authors should retain a copy of each article submitted Photos, charts, programs and figures should be clearly labelled and referred to by number within the text of the manuscript. Only clear, glossy black and white photos (no Polaroid pictures) can be accepted. All photos should be taken with uniform lighting and sharp focus. Program listings should be recorded with the darkest ribbon possible on blank white paper. Articles which are not accepted will be returned.

Computer Notes Attn. Linda Btocki 2450 A!amo SE Atbuquerque, New Mexico 87106

CO/W(/7E/? /VOTES is published monthly by MITS, Inc., 2450 Alamo SE, Albu- querque, NIV), 87106, (505) 243-7821. A free year's subscription is included with every purchase of an Altair^ computer. Regular subscriptions can be ordered from the MITS Customer Service Dept. for $5 per year in the U.S. and $20 per year for overseas. Single copies are available for 50C each at all Altair Computer Centers. Entire contents copyright, 1977, IVIITS, Inc. Send articles, questions, comments and suggestions to Editor, COM- W7T/? /VOTES, MITS, Inc. @ M)TS, Inc. 1977 (Volume 2, Issue 10, April) 2450 Alamo, S.E., Albuquerque, New Mexico 87106 NOTE Altair is a trademark of MITS, Inc B!TS AND P!ECES By Sondra Koppenheffer

Computer Notes Subscriptions When updating BASIC, simply The above prices, which are Anyone who purchases an Altair take the difference between the two subject to change without prior directly from MITS or versions and add either a $15 (4K, notification, apply only to customers one of our dealers, will receive a 8K and Extended BASIC) or $25 (Disk who are eligible for minimum system free one-year subscription to Extended BASIC) copying charge plus price discounts. If you have not COMPUTER NOTES. However, after that $1 for postage and handling. purchased a minimum system from first year, subscriptions must be MITS or one of our dealers, you must purchased at our regular rate of $5 Updating: pay the full amount each time you per year in the U.S. and $20 per order BASIC. Any versions of BASIC year overseas. Beginning with sub- 4K to 8K BASIC other than those listed above that scriptions that expire in April, you have purchased, can be obtained 1977, we will send out renewal $15 difference only for a copying charge. notices one month prior to expira- + $15 copying charge tion. Due to the large volume of $1 postage 5 handling Mew Computer Pubtications mail we handle, we can only accept Total: $31 Emphasize Se)f-!nstruction one-year subscriptions to C.N. and send them all via bulk rate. 4K to Extended BASIC DYMAX now offers three new publications—YOUR , Refund Checks $90 difference INSTANT BASIC and CALCULATOR/ + $15 copying charge COMPUTER Magazine—specifically After a refund is requested, $1 postage 5 handling designed for home or classroom in- please allow up to three weeks for Total: $106 struction in computer opera- receipt of your check. If you don't tion, beginning programming and receive your check after three weeks, 4K to Disk Extended BASIC practical computing material for please contact us. educational purposes. $140 difference Backorders + $25 copying charge Written for the computer $1 postage $ handling novice, YOUR HOME COMPUTER intro- You may have noticed that when Total! $166 duces the reader to general micro- an item you purchased on your Bank- computer functioning and program- Americard or Master Charge was back- 8K to Extended BASIC ming in addition to some of the ordered, you received two customers' exciting happenings in personal receipts on the backordered items. $75 difference computing. Author James White has Don't worry! You're not being + $15 copying charge included such special features as: charged twice for your order. The $1 postage § handling two receipts are merely for our own Total: $91 - guidelines for selecting and records. Check your statement from building your own microcomputer the credit card company if you are 8K to Disk Extended BASIC - how to use your home computer in doubt. If you have any questions, - lists of computer clubs and stores contact the Accounting Department at $125 difference - personal computing periodicals MITS. + $25 copying charge - clearly defined terminology $1 postage 6 handling Software Total: $151 YOUR HOME COMPUTER is well- suited for classroom usage, because Extended BASIC to Disk Extended BASIC it is written in an easy-to-under- The following suggestions and stand style and includes review prices should help with the pur- $50 difference questions at the end of each chap- chase of software copies and updates. + $25 copying charge ter. $1 postage § handling Total: $76 INSTANT BASIC is written by Jerald Brown, one of the authors of the classroom-oriented text BASIC. Continued on Page Four

!NTmS!SSUE A! McGahon

Page Pat Godding tnspection Helps Avoid Teletype Interfacing Problems 2 Software Tidbits 3 KCACR increases Altair 680B's Potential 4 Bill Kuhn ^ Attair Disk Drive Alignment Permits Precise Operation 5 Sequential Data Files Best for Storing Routines 7 Glenn Wotf Designing Consumer-Peripherals System 8 Publications Provide Novice with Essential Information 10 Altair Computer Reproduces Voice: Complex Waveforms Made Simple 11 DDDC3S ACR Alignment Aids in Troubleshooting 15

2450 Alamo S.E. Altair AD/DA Subsystem Reads and Generates Analog Signals 18 Albuquerque, New Mexico 87106 ASDC Seeks User's Help 23 "MITS, Inc. 1977

ONE C/N APRtL. 1977 tnspection He!ps Avoid Game Corrected Te!etype [nterfacing Probtems By Doyl Watson The following corrections should be noted in BAGLES (Altair The Altair SIO and 2SI0 interface boards come from the factory with Software Library #5-6-761, see provisions for driving Teletype terminals. Before connecting the Tele- August issue of C.N.). In line type to the computer, however, some preliminary checks and adjustments 9090 an "=" should replace the "-." must be made to the Teletype. The following list includes some checks and adjustments that should be made as well as some diagnostics for Line 9030 should read LEN(C$)) checking the operation of your system. rather than (LEN(CS). This error is caused when, under certain cir- 1) Conversion of Teletype: This routine repeatedly prints cumstances, STR$(INT((D/BT-INT(D/ the character "U" or "*" on your BT))*BT)) is not equal to Q=INT Converting your Teletype from 60 Teletype until you press "STOP." ((D/BT-INT(D/BT))*BT): STR$(Q). milli-Amp half duplex to 20 milli- If the above program and your Therefore, the following patch will Amp full duplex operation is a echo routines run correctly, your result in a fix: simple process. If the unit is Teletype is free of any problems. a MITS call control, no conversion 9080 Q=(D/BT-INT(D/BT))*BT:B$= is necessary. If the call control 4) Visual Inspection: B$+STR$(Q):D=INT(D/BT): IFD= is a Teletype "Private Wire Call 01/BT THEN 9080 Control" (i.e. line-local, off knob), the conversion can easily If problems still exist, check be done because of the standard power, connections and fuses. New C!ub color-coded wiring. If your Teletype works in "LOCAL" but not "on line," the problem is Formed Remove the cover (see manual). in the call control circuit or in The call control has several 15- the I/O board. If the Teletype A new computer club was re- pin Molex connectors in the back. runs open "on line" but not in cently formed in Bloomington, Beneath them, with a protective local, short the Ground to the Indiana. The Bloomington Associa- covering, is the terminal block "Xmit" line of the 25-pin Molex tion for the Computer Sciences is where connections to the computer connector (pins 2 to 3). If this now holding regular meetings. For are made. Locate and remove the closes the circuit, the trouble is more information, contact club brown-yellow wire on the terminal in the computer and not in the president: block position 3 and remove the Teletype. If the problem also appears in "LOCAL," check the white-blue wire from 4. Connect Remy M. Simpson printing and tapes for garble. both wires to 5. Then remove the 901 East 13th St. purple wire from 8 and connect Bloomington, Ind. 47401 To check for garbled printing, it to position 9. (812)-339-1046 turn the Teletype switch to "off" and depress a key. Cautiously 2) Connection of Teletype to I/O rotate the plastic motor fan for- Card: ward until a definite pattern appears in the code bars under The 2SI0 or SIOC cards should be the carriage of the unit. The WACC-H connected as shown in Figure 1. code bars are numbered "S 1 2 3 Be sure to check the system oper- 4 5 7 6 8" from the back. (S is POSTPONED ation before replacing the cover. for spacing.) If the bar is raised, that bit is 1. 3) Proper Operation of the System: The second World Altair Com- Look for obvious broken, worn or puter Convention II, advertised on The operation of the computer- shorted parts. Don't try to re- the back cover of March COMPUTER Teletype combination can be pair any but the simplest pro- NOTES, has been postponed until tested with an "echo loop." blems. The Model 33 is an amaz- later this year. The major reason (Refer to the manuals on your ing but delicate piece of mech- for the postponement is time--the particular I/O board for manual anical hardware, and breaking a WACC-11 was scheduled too close to loading of echo routines.) part will not only cause more the NCC, which caused difficulties problems but will void your war- for people who wanted to attend both The following is a useful routine ranty. conventions. for transmitting characters from the sense switches to the Tele- Continued on Page Three type. We wish to thank everyone who expressed an interest in the WACC-11. We hope that you will continue your OCTAL ADDRESS 2SI0 (Instruction) SIOC support in the future. 000 076 333 ooi 003 377 002 323 323 Watch future issues of 003 020 (Control Channel)001 (Data Address) COMPUTER NOTES for more information 004 076 303 about the rescheduling of WACC-11. 005 021 000 006 323 000 007 Charles Olsen 010 333 press EXAMINE. Set up Public Relations 011 377 ASCII Code of the echo 012 323 013 A1S-A8. (01010101 is a 014 303 "U"_ and 10101010 is an "* 015 010 Press RUN DD0D3S 016 000 Examine to 000. Set 2450 Alamo S,E. up ASCII Code. (010 Albuquerque, New Mexico 10101 is a "U") RUN. 87106 12 3 4 5 6 7! (front)

(for an R0 set,

1 2 3 4 S 6 7

TWO Figure 1 C/N APRIL, 1977 of the character string stored in SOFT WARE T)DB!TS the variable A$ as the file name. By Mark Chamberlin All of the commands listed below are valid forms of CSAVE and CLOAD. 1. A fix for the EOR bug in the character file name. In Altair Altair 680 Assembler 1.0: BASIC 4.0, the commands are of the CSAVE"A" Save program A form: CL0AD"ABC" Load program A Due to an erroneous table entry CSAVE A$ Save program in the Altair 680 Assembler, the EOR CSAVE string expression and specified by opcode does not assemble properly. CLOAD string expression. leftmost char- This problem can be solved by simply acter of string using the Monitor's M command to A string expression is a formula in variable A$ deposit an SS^-, into location which, when evaluated, results in a CLOAD "3" + "FOO" Load program 3 03A7<-i6-. after the Assembler is character string. In its simplest CSAVE "3" Save program 3 loaded. My thanks to John E. Smith form, a string expression is merely of Colorado Springs, Colorado, for a quoted character. For example, By the way, programs CSAVED bringing this problem to the atten- the command CSAVE"A" would save the with 3.2 8K BASIC can be CLOADED tion of the MITS Software Department. program in memory on cassette under with 4.0 8K BASIC. However, 3.2 the name A. and 4.0 Extended cassette files are 2. Using CSAVE and CLOAD in 8800 not compatible. BASIC 4.0: Altair BASIC evaluates the string expression and uses the left- Altair BASIC 4.0 also supports A number of users of Altair most character of the resultant the csaving and cloading of numeri- BASIC 4.0 have asked about the use character string as the file name. cal data. The commands are of the of the CSAVE and CLOAD commands. So, CL0AD"ABC" is the same as form: CLOACA" because both commands load In earlier versions of Altair BASIC, CSAVE* array name these commands had the form CSAVEX the file named A from the cassette. CLOAD? array name and CLOADX, where X was a single CSAVE A$ uses the leftmost character where array name is the name of the tnspection He!ps Avoid array that contains the data to be Tetetype Interfacing Prob!ems saved or into which the data is to be loaded. CONTINUED The array used must be dimen- 5) Adjustment for the Printer The rangefinder is the gauge at sioned prior to using CSAVE* and Rangefinder: the left rear of the Teletype. CLOAD*. For example, the following To adjust the rangefinder, loosen program saves the numbers 0 through Refer to issue 3, section 574- the screw on the pointer plate 99 on the cassette. 122-100TC, Vol. II of the TTY to friction point. Raise and Manual. Note: The rangefinder lower the pointer until typing 10 DIM A (99) may need to be lowered near to errors occur. Then tighten the 20 FOR 1=0 to 99 "40" for the printer to be com- pointer in the center of this 30 A(I)=I patible with the MITS Call Control range. Unit. 40 NEXT I 50 CSAVE*A 60 END by—^ 0 0 0 0 1 1 1 1 The file saved on cassette is not be 0 0 1 1 0 0 1 1 named, so it may be read back into bg 0 1 0 1 0 1 0 1 any array of the same type and di- mension. In other words, the array b4 saved on tape in the example pro- b3 gram above could be read back into an array C, which had been dimen- bg sioned with the statement:

t 'V DIM C(99). C 0 0 NULL DCn 3 0 e p 0 0 0 1 S0M DC i : 1 A Q If the array type is incorrect, the results will be undefined. If 0 0 1 0 EQA DC 2 " 2 B R U L- f] - the size is not correct, Altair DC 3 c S 0 0 1 1 EOM # 3 - A - BASIC will do one of two things: (1) not read all of the data on the 0 1 0 0 EOT ^ 4 D 1 S STOP 4 I't cassette (if the array being loaded 0 1 0 1 MRU ERR % 5 E U .A into is smaller than the array on the cassette) or (2) continue to 0 6 F V S 1 1 0 RU SYNC 6 j- - search the tape for more data and BELL LEM 7 G w not return control to the terminal 0 1 1 1 (ap'os) 1 . (if the array being loaded into is 1 0 0 0 FE 8 H X G j So ( N larger than the array on the cas- 1 0 0 1 ^ Si ) 9 1 Y E sette) . * : J 1 0 1 0 LF S2 J Z Continued on Page Four 1 0 1 1 TAB h + ; K [ 1 1 0 0 FF S4 (comma) < L \ ACK 1 1 0 1 CR S5 hvpher ) = M ] (D 1 1 1 0 SO S6 pprindj! ^ N t ESC 1 1 1 1 SI S7 / ? 0 DEL

C/N APRIL, 1977 THREE SOFT WARE T)DB!TS CONTtNUED KCACR !NCREASES Disk BASIC Information:

A. Converting to 4.0: ALTA)R 68OB s POTENTIAL By Thomas Durston Program files saved under Altair Disk BASIC 3.4 can be con- verted for use under Altair BASIC 4.0 by following this simple proce- dure.

1) "Bring up" 3.4 BASIC 2) Load each program file and resave it in ASCII 3) "Bring up" 4.0 and load PIP from the 4.0 disk 4) Unload the 4.0 disk 5) Mount the 3.4 diskette containing the files to be converted 6) RUN PIP's CNV function on the 3.4 disk 7) All files on the 3.4 disk are now ready for use with 4.0. The Altair 680b has received Ail ICs are socketed. A complete yet another boost to its limitless set of documentation containing The CNV function in PIP 4.0 versatility. With the introduction diagnostic software, test point must be run to insure that the stop of the 680b-KCACR Audio Cassette waveforms, theory of operation and byte of each sector is in fact a 255 Interface, the Altair 68Ob continues a detailed operators section is (for details, see sector format, to be one of the most powerful also provided. page 118, Altair 4.0 BASIC manual). computers for the money. Data files created under 3.4 are Altair 680b CSAVE BASIC, avail- ready for use with 4.0 after the Designed to interface the 680b able on audio cassette, has been CNV function has been run on the with an audio cassette recorder/ developed for use with the KCACR. disk on which they reside. player, the 680b-KCACR enables mass It includes the standard functions storage and retrieval of data. The and operators of 680b BASIC, along B. Stop! UNLOAD that disk first! KCACR circuitry is based on the with the capability of storing and , making data loading software through the 680b- It is absolutely imperative transfers highly reliable without KCACR. that an UNLOAD command be issued any component adjustments and under before removing a diskette from its widely varying conditions. Check with your local dealer drive. It is also necessary to for prices and availability. issue a MOUNT command each time a Other design features include disk is placed in the drive. The Specifications a digital demodulator, CMOS logic following discussion will clear up allowing low power consumption, a any confusion about why these com- Frequencies used (self clocking) motor control circuit for starting mands must be used. and stopping tape motion and the use of test points at key circuit areas. LOCIG 1 = 2400 HZ Altair Disk BASIC dynamically LOGIC 0 = 1200 HZ allocates disk space for program and New Computer Publications data files. It is therefore neces- Data Rate: 300 BAUD (27 bytes/ sary for BASIC to know what portions Emphasize Se!f-!nstruction second) 36.67 ms per byte (3.3 of the diskette are in use and what CONTtNUED ms per bit) portions are free to be allocated Brown developed INSTANT BASIC for to new files. This information is the reader with no previous pro- Data Format: One start bit - logic 0 kept in a table in memory. The gramming experience. The book is Eight data bits table is constructed by the MOUNT written in a unique self-teaching Two stop bits - logic 1 command. style in the popular Altair BASIC (11 bits per byte) and DEC BASIC PLUS. It includes The UNLOAD command tells BASIC exercises that keep typing to a that the information in the disk minimum so that the reader can Demodulator allocation table is not current. focus his complete attention on Playback It also disables the disk drive. learning BASIC and developing good Speed (Diskettes should not be removed programming techniques. Self tests Tolerance: +20, -25% from recorded while the disk is enabled.) and activities are also included speed for checking progress. The allocation information Demodulator Input Levels differs for two different diskettes. CALCULATORS/COMPUTERS Magazine (Playback): 300MV peak to peak So, if a MOUNTed diskette is re- was developed to fill a distinct minimum (100MV RMS) moved from the drive and replaced void in the availability of prac- 10V peak to peak maxi- with another diskette without the tical computing material written mum (3.5V RMS) UNLOAD and MOUNT sequence, the allo- for educational purposes. The cation information in memory will be goal of CALCULATORS/COMPUTERS Demodulator incorrect. If a file is saved with Magazine is to search out material Input this incorrect information, the from equipment manufacturers, Impedance: 10K ohms existing files on the diskette will hobbyists, teachers, etc. and to probably be overwritten by the new present it in a form suitable for file. This situation leads to use in the home or the classroom. Modulator disaster! An attempt to access a Output Level: 30MV P-P (suitable for micro- file that has been overwritten in For more information about phone input) this manner produces a File Link any of these three new publica- Error. So remember, every time you tions, write to: change diskettes, do an UNLOAD and Modulator Output a MOUNT. Dymax P. 0. Box 310 Impedance: IK ohms CONTtNUED FOUR Menlo Park, Calif. 94025 C/N APRtL, 1977 A!tair Disk Drive A!ignment Permits Precise Operation

By Tom Woods and Glenn Wolf

Maintaining proper alignment of To adjust the cone clamping the Altair disk drive is essential mechanism, close the door and loosen for trouble free operation of the the four screws (7/64 alien bit) floppy disk. The alignment involves that are holding the beam clamp to the adjustment of the index pulse the shaft. Press firmly on the timing and head positioning (track support clamp and move the beam and skew). Necessary equipment clamp to the extreme right and left. includes an oscilloscope with an Make a pencil mark on both ends of A + B (differential mode), a CE the shaft. Center the beam clamp alignment diskette (available through between the two pencil marks. Exact MITS, Part Number 101661 at $40.00 centering of the beam clamp is essen- per disk), 1/4" nut driver, screw- tial for free motor spin. drivers and a mallet.

There are two types of alignment diskettes available. The track pos- itioning and patterns are slightly different, but the diskettes accom- Figure 1 Compliant Cone plish the same thing. We will be referring to the Dysan model 500 alignment diskette throughout this article. Support Clamp An important part of the align- (lift here) ment is the adjustment of the cone clamping mechanism for the FD-400 drive. (See Figure 1.) If the clamping force is low enough to allow the diskette to slip, the Beam Clamp oxide around the center hole may be scraped off the diskette and may build up on the cone. This loose oxide could contaminate the load pad, causing excessive wear to both pad and media. (Note: Slight scratching of the diskette at the cone clamping area is normal.)

Shaft 4= -a- Pencil Mark Pencil Mark Torque 15-18 KCACR tNCREASES ALTAtR 6SOB s POTENTIAL While pressing firmly on both sides of the beam clamp, open the CONTINUED door approximately 5/8" and tighten screws progressively. With the door Error Rate: Relative to quality of closed, rest one finger lightly on recorder and tape, both the support clamp and the com- typically less than 1 pliant cone. Use a force gauge to error in 10° bits READ pull upward on the end of the sup- with low noise audio port clamp until you detect a slight tape. relative motion between the cone and clamp. The clamping force should Power be 6 1/2 to 9 pounds. Make the pro- +8 Volts unregulated Requirements: per adjustments until the correct --220MA typical clamping force is obtained. -16 Volts unregulated --50MA typical (less than S watts total There are two different PC power) boards used in the PERTEC FD-400-- the 600-191 and the 600-321. These numbers are stamped on the PC board. Requires 1 slot in 680 bus. Place the unit on its side and Audio Cable attach the scope probes as follows: Connectors: Mini phone jacks, 3.5MM dia mounted on back 600-191 600-321 panel. T.P. 3 and 5 T.P. 4 and 5 Board A and B probes Address: F010 - Status § Control Sync probe (leading edge F011 - Read $ Write Data of index pulse) T.P. 14 T.P. 10 CONTINUED Ground clip T.P. 36 T.P. 1 C/N APRIL, 1977 FIVE Aitair Disk Drive AHgnment Permits Precise Operation CONTtNUED

Set up your scope for A + E with B inverted and then for EXT SYNC.

The following program, written by Steven Zook from the Computer Store in Santa Monica, California, permits loading and stepping of the head to the desired track under sense switch control.

After loading the program into memory, examine the starting location and run. A15 will load and unload the head while AS through A14 will control the step functions.

The first step in alignment is to apply the necessary power and control to seek track 0. Then man- ually twist the stepping screw (shaft) clockwise to the next track in. (this is 1/8 of a full revolu- tion) . You should hear the track 0 switch close approximately midway between track 0 and track 1. Upon the verification of track 0, step- in to track 38.

Insert the alignment diskette and load the magnetic head. CAUTION: Do not enable the write or erase modes of operation while a CE disk- ette is in the drive because align- ment data on the diskette may be destroyed. You should now observe the "cats-eye" pattern located at track 38. The desired, waveform should be a symmetrical pattern as shown in Figure 2 and 3.

If you notice an improper wave- form, twist the stepping screw slightly while you observe the scope pattern to see in which direction the head must move to correct the waveform. Loosen the two 1/4" hex h head mounting screws on the stepper motor approximately 1/8 turn. Place a blunt instrument against the end of the stepper motor and tap the motor sharply while observing the cats-eye pattern. When a symmetri- cal pattern is achieved (one lobe of the cats-eye being 80% of the other, minimum), tighten the mount- ing screws snugly.

Step to track 1 and set the oscilloscope horizontal time base to 20 usec/Div. You should now observe the index-sensor burst shown in Figure 4.

Reinsert the alignment diskette several times to check for constant registration. If the index burst shifts more than 40 us., the cone/ hub mechanism is faulty, or the alignment diskette has too large an opening. Use the average position of the index burst for making the following adjustments.

CONTINUED

SIX Sequentiai Data Fi!es Best for Storing Routines

By Chuck Vertrees

Once an assembly language "SAVE" PROGRAM routine has been debugged and is in the computer's memory, it's helpful 10 'MEMORY DUMP TO DISK to have a method to save the routine, WILL SAVE SPECIFIED LOCATIONS OF MEMORY IN SEQOENTIAL FILE particularly if it's a long one. FOR USE BY THE "RESTORE" PROGRAM. 20 DEFINT A-Z With Altair Disk Extended BASIC, 30 PRINT:PRINT:PRINT the routine can be stored as a pro- 40 PRINT"MEMORY DUMP AND SAVE TO DISK PROGRAM. gram file that uses explicit POKE 50 DN=0 statements. But for long routines, 60 PRINT:INPUT"WHICH DISK";DN 70 PRINT:PRINT"HERE ARE THE FILES CURRENTLY ACTIVE ON DISK";DN:PRINT this is a very slow, error-prone 80 FILESDN method. The best way to save a 90 PRINT:PRINT:PRINT routine is as a sequential data file. 100 LINEINPUT"FILE NAME YOU WISH SAVED UNDER 3 ;N$ 110 N$="I:"+N$ 120 0PEN"0",1,N$,DN With the two BASIC programs 130 PRINT#1,"IMAGEFILE" listed below, consecutive memory 140 PRINT locations can be stored in a disk 150 INPUT"STARTING MEMORY ADDRESS ";SA data file and restored from that 160 INPUT"ENDING MEMORY ADDRESS ";EA 170 PRINT#1,SA,EA same file. The first program, 180 PRINT:PRINT"SAVING " "SAVE," dumps memory between two 190 FORI=0TOEA-SA locations that you specify onto the 200 K=PEEK(SA+I) disk. The data is stored in a se- 210 PRINT#1,K 220 NEXTI quential file whose name you must 230 CLOSE specify. The program allows you to 240 PRINT:PRINT specify the disk upon which you 250 PRINT"FILE SAVED AS '";N$;"' AND CLOSED." want the file to be saved. Before 260 PRINT:PRINT:END specifying the locations for saving, it also shows what files are cur- rently on the specified disk.

When you specify a file name, the "SAVE" program adds "I:" to the file name. This is to help identify See "RESTORE" PROGRAM on page 10 those files created by the "SAVE" program, which are actually image files.

Continued on Page Eight

Attair Disk Drive Alignment usee, after the index pulse. To On the Floppy Disk drive cab- Permits Precise Operation adjust this pattern, loosen the inet, we had some complaints con- CONTINUED screws retaining the photo-transistor cerning ripple on the +5 volt power bracket, 1/4 turn and lightly tap supply. This problem causes inter- the bracket until the proper burst mittently erratic operation of the Step to track 76 and observe position is obtained. Then retight- disk system and is usually a result the index sensor burst. This burst en the bracket. of AC line voltage under 115 volts. must be within + 20 tisec. of the The problem is corrected by replac- position of the burst on track 1. Problems may occur when soft- ing T2 (small transformer) with MITS If the bursts are not within + 20 ware other than MITS Disk BASIC is Part Number 102620, which has more usee, of each other, position the used to write data on the diskette. conservative ratings. If you replace stepper motor (sideways to bring PERTEC has been supplying the FD-400 this transformer, please return the the burst into alignment. To posi- with trim erase generated internally original for warranty credit. The tion the stepper motor, insert a on the 600-321 PC board in the drive. new transformer may be identified flat bladed screwdriver between the If the MITS disk controller has a by dual primary windings, which must stepper motor frame and chassis. shorter trim erase time constant be parallelled for 110 volt opera- The screwdriver may be used as a than the FD-400, step commands will tion. Another fix is to parallel a lever to move the stepper motor in be enabled before the drive is ready. second 3300 Mf capacitor with the the desired direction. MITS Disk BASIC will automatically existing filter for the +5 volt relocate the desired track, but supply. Return to track 1 to ascertain other software drivers may have that the bursts are within 20 usee, trouble stepping after writing. The A new policy has been adopted of each other. If not, repeat the correct fix for this problem is to for the shipment of the Altair Disk previous procedure, always moving change the jumpers on the 600-321 Drive. The chassis and the PERTEC the bursts at track 76 to meet the PC board as follows: Disconnect W3 drive will be shipped in separate burst at track 1. Then go back and and install W4. (Refer to drawing boxes to insure proper alignment check the cats-eye and realign it #600-320 sheet 4 of the PERTEC FD- upon arrival. A change was also if necessary. Always recheck the 400 manual—available through MITS, made last year concerning the mount- cats-eye and bursts when you do any Part Number 101595, at $10.00 each). ing of the disk drive in the chassis. adjustments. A three-point stance is now used to The drive should maintain align- avoid warping of the drive chassis The beginning of the 40 usee, ment for at least 6 months under or any undue stress that may result burst should occur 40 usee. +_ 20 normal operating circumstances. in misalignment. See DISK EXERCISER PROGRAM on page 12 C/N APRIL. 1977 SEVEN Designing Consumer- Periphera!s System

By Thomas Durston

The design goals we formulated T^&s a/Lttate. appanad ^t the. in March 1975 for the Altair Fab/maty -LAAue. PIG1TAL PE3IGM. floppy-disk system were essentially the same as those formulated for other Altair products. Striving to keep our approach general at first, F!oppy-Disk System Partitions we decided to: Function on Two Boards - Design the hardware to interface the Altair SSOO computer to currently available floppy-disk drives -Design the hardware to allow efficient use of software -Design the system for low cost without sacrificing reliability -Complete the hardware design in a minimum time -Design for the simplest circuitry to allow easy troubleshooting -Create a product that a user can build from a kit -Use a minimum number of special components -Design a product that can operate from a variety of ac supply voltages and frequencies.

As a first step toward making these goals more specific, we had to define the system configuration, decide upon the most efficient read/write format and consider the software required to drive the system. After examining our options, we set these more specific design goals:

-Utilize hard-sectored formatting -Install one drive per cabinet, with provisions for connecting up to 16 drives in a system -Partition the disk controller into seven major circuit groups.

These groups include addressing circuits for communication with the computer, index/sector cir- cuitry, a Read Data circuit, Figure 1 disk-drive and controller status circuits, a Write Data circuit, a disk-drive-selection circuit Seqnentia) Data FHes As the data is POKED into and disk-drive function-control Best for Storing Routines memory, it is immediately PEEKED circuitry. CONTINUED back out and compared to the value just POKED. This is to check for Once you have specified (1) a ACHIEVING THE GOALS bad memory locations. If a bad particular disk, (if you don't spe- After we completed this location is detected, the program cify a disk, it assumes disk , initial design phase, we discovered will print a message to that effect that the required controller (2) the file name under which you and then stop. Otherwise, it will circuitry, which incorporates about want the memory locations saved, and acknowledge that the data has been 60 TTL ICs, was too dense to fit on (3) the starting and ending addresses, loaded and will stop. one of the 5" x 10" cards used the program saves those locations in When specifying the name of the in the Altair computer. So we split the data file and closes it. file to be loaded, it's not necessary the circuit functions--Disk Control- to type the "I:" in front of the ler Board One provides address The "RESTORE" works much the file name, as in the "SAVE" program. selection and also contains the same as the "SAVE" program but in The "RESTORE" program automatically three circuits that transfer informa- reverse. The setup dialogue for the adds this to each file name. tion to the Altair CPU (input instruc two programs is the same, except that the "RESTORE" program asks if tion), while Disk Controller Board Note: Both of these programs are you want to load the file. This Two handles outputs from the CPU written for a CRT. If you do not provides an opportunity to stop the (Fig. 1). Dividing the controller use a CRT, then you will probably actual loading of the file if some- functions this way has simplified want to eliminate a large portion thing is wrong with it. Any answer troubleshooting in the floppy-disk of the dialogue, because the pro- other than "Y" will cause the file system. grams are rather talky. not to be loaded into memory. CONTINUED EIGHT C/N APRiL, 1977 Ftoppy-Disk System Partitions Function on Two Boards

CONTINUED

Board One

Figure 2

Some of the seven circuit The other input circuitry on After investigating inter- groups (Fig. 2) were easily Imple- Board One is the status circuit, connect and wiring alternatives, mented. For the address selection which we also designed as simply we chose a method in which 0.1" logic on Board One, we used standard as possible. It consists of line center-pin connectors mate to 7400-type gates to decode the sys- drivers with their inputs connected sockets with crimp or solder pins; tem's eight address and four I/O to the various circuits as required the scheme allows a kit builder to status lines into the lines that by software and their outputs con- assemble typically expensive cables enable the six controller circuits. nected to the Altair data input bus, at good savings. For the inter- Designing the logic for the index/ To reduce noise in the system, the connect wiring, we chose twisted- sector circuitry and the Read Data +5 V Vcc supply for Board One con- pair flat cable to provide what we Circuit was tougher. We used syn- tains bypass capacitors, and all feel is the best noise immunity chronous logic where possible; where unused inputs are either grounded and signal transfer characteristics. timing delays Were required, we or connected to Vcc through IK achieved them through careful appli- pullup resistors. For a floppy-disk drive, we cation of one-shot multivibrators. selected; the Pertec FD-400, both We designed the timing circuits in The same design principles for its dc motor and performance the index/sector decoder to allow a used on Board One apply to Board characteristics (its dc motor is 20% variation in pulse width output, Two. We made the design of the insensitive to line frequency and we used 5% tolerance Mylar capa- Write Data circuit on Board Two variations and requires no drive citors to ensure accuracy and stab- completely synchronous, including belts) and its price. We designed ility. We also bypassed the Vcc the 9316 counters used to generate a power supply to accommodate the supply at each one-shot, using 0.1 the write clock and data timing. floppy's requirements and keep nf ceramic disk capacitors, and we This type of circuitry is highly special parts usage and cost to a located the timing components as stable and eliminates the ripple minimum; to simplify the design close as possible to their respec- through counting noise found in and guarantee supply stability we tive pins on the IC. The Read Data nonsynchronous logic. The disk- chose 7800-type voltage regulators. circuit utilizes the only monostable drive-select circuitry is uncom- The system's heatsinking utilizes multivibrator in the disk controller plicated; it consists of a 4-bit aluminum extrusions and a cooling that requires 10% accuracy, and 5% latch, a flip flop and a one-shot fan; external interconnections tolerance mica capacitors minimize timer. We designed^ the disk occur through DC-37 rectangular variations in it. The rest of the function-control circuit to connectors, chosen because of circuitry consists of logic connec- operate the individual disk drive availability, reliability and low ted synchronously to provide the functions; each function requires cost. sector count and the read data at least one timing circuit. As presented to the data input bus in before, we configured the required the computer. one-shot timers to allow for worst- Continued on Page Ten case variations.

C/N APRiL, 1977 N)NE RUBL!CAT!ONS PROV!DE NOV!CE W!TH ESSENTIAL )NFORW!AT!ON By Rich Haber Learning about for the first time requires a great deal of new information. Since the microcomputer field is still in its infancy, adequate literature is often difficult to obtain.

The following list of period- icals, books and computer clubs Sequentia) Data Fiies should help the novice computer CONTINUED enthusiast locate the most up-to- Best for Storing Routines date information. "RESTORE" PROGRAM BYTE Peterborough, NH 03458 Monthly, $12/year 10 'MEMORY RESTORE FROM DISK THIS PROGRAM LOADS MEMORY FROM A SAVED IMAGE FILE CREATED BY THE MEMORY "SAVE" PROGRAM BYTE, usually a very thick publication, emphasizes 20 DEFINT A-Z hardware, with articles on 30 CLEAR 300 40 PRINT:PRINT:PRINT"MEMORY RESTORE FROM DISK" microcomputer construction 50 DN=0 and design. Always compre- 60 PRINT:INPUT"WHICH DISK";DN hensive in its approach to 70 PRINT"HERE ARE THE FILES CURENTLY ON DISK";DN:PRINT any subject, BYTE occasion- 80 FILESDN 90 PRINT:PRINT:LINEINPUT"WHICH IMAGE FILE DO YOU WISH TO LOAD ? ";N$ ally devotes an entire issue 100 N$="I:"+N$ to a particular topic. 110 OPEN"I",#l,N$,DN 120 LINEINPUTtl,I$ 130 IF I$<>"IMAGEFILE" THEN PRINT:PRINT"NOT AN IMAGE FILE":PRINT:END 140 INPUT#1,SA,EA CREATIVE COMPUTING 150 PRINT:PRINT:PRINT"STARTING MEM ADDRESS IS",SA PO Box 789-M 160 PRINT"ENDING MEM ADDRESS IS",EA Morristown, NJ 07960 170 PRINT:LINEINPUT"DO YOU WISH THE FILE TO BE LOADED (Y OR N) ? ";M$ Bimonthly, Institutional—$15/year, 180 IF LEFT$(M$,1)<>"Y" THEN PRINT:PRINT"FILE NOT LOADED":PRINT:END 190 PRINT:PRINT"LOADING " :PRINT Individual—$S/year, Student—$6/ 200 FORI=0TOEA-SA year 210 INPUT#1,K 220 POKESA+I.K 230 KK=PEEK(SA+I) CREATIVE COMPUTING describes 240 IF KKOK THEN PRINT"MEMORY ERROR AT";SA+I:PRINT:END itself as "the magazine of 250 NEXTI recreational and educational 260 PRINT:PRINT"ALL THROUGH: LOAD OK." 270 CLOSE computing." Although it does 280 PRINT:END give equipment profiles, it is not specifically aimed at the Fioppy-Disk System Partitions electronic aspect of micro- computers. Written in a rather Function on Two Boards informal style, CREATIVE COM- CONTINUED PUTING includes fiction, games, puzzles, cartoons, book reviews, software and computer art.

KILOBAUD Peterborough, NH 03458 Monthly, $15/year

KILOBAUD, another new publica- tion, is an offshoot from "73," a popular amateur radio publi- cation. Although KILOBAUD includes both hardware and software articles, it leans more toward the former.

PERSONAL COMPUTING 167 Corey Road Brookline, MA 02146 Bimonthly, $8/year Figure 3 The resulting floppy-disk PERSONAL COMPUTING, a nen^ system (Fig 3) can store over 300K comer to the field, is a very bytes/diskette and has an access slick magazine that uses many time of less than one second. It colorful and interesting usually uses Altair Disk Basic graphics. It takes a general software, which resides in the approach to microcomputers and lower 20K of memory and provides usually includes fiction arti- disk utilization routines. The cles on the social implications system's two controller cards plug and applications of micro- into the computer's bus; all con- computers. trol, status and data I/O goes through three I/O ports dedicated CONTINUED to disk control. ON TWELVE TEN C/N APRIL, 1977 A!tair Computer Reproduces Voice; Compter Waveforms !V!ade Simpie By Bill Kuhn

An Altair 8800a doesn't look much like a tape recorder, and it usually doesn't function much like one either. But that didn't stop me from trying to record my voice on my Altair computer system.

First, I plugged 64K of memory and an Altair 88-AD/DA Converter into my chassis. Then I connected a microphone and microphone preamp to an analog input, and an amplifier and loudspeaker to the output of the Altair 88-AD/DA. Next, I connected a push button to one of the CA1 hand- shake lines, and toggled in 130g bytes of initialization and program.

Pressing the button to start the "record" section of the program, I spoke into the microphone: "Altair 8800," I said as I watched the address lights cycle through the full 64K. With growing anticipation, I pressed the button again to start the "playback" section of the pro- gram. Squeeeek! Derdul! Hummmmmm! Bzzzzt.! That didn't even vaguely resemble my voice. So I grounded the Altair 88-AD/DA input and tried again. Squeeeek, hummmmm!

I finally looked back at my program and discovered an error. After correcting the error, I tried recording my voice once again. This time, the computer played back: "Altair 8800." "Neat!," I said. "Neat!," replied my computer.

Obviously, there are less ex- pensive devices on the market other than the Altair 8800 computer for recording voice. So why the big deal? My experiment illustrates that complex waveforms, like the sound of my voice, can be acquired, digitized, stored, retrieved and output again in analog form. Since this complex voice waveform can be stored, it can be analyzed or pro- cessed by the computer. If the computer can output such a complex waveform, any type of waveform that can be written in an equation can be generated at almost any speed.

The software included in this article causes the Altair computer and the Altair 88-AD/DA to sample the incoming analog signal at approximately 32 thousand times per second. This sample rate will fill the memory of a full 64K machine in about two seconds. However, it is faster than necessary for voice intelligibility.

CONTINUED ON THIRTEEN

C/N APRIL, 1977 ELEVEN PUBUCATIONS PROVtDE Attair Disk Drive AHgnmewt NOViCE W)TH ESSENTiAL Permits Precise Operation tNFORMATiON CONTINUED CONTtNUED

sees INTERFACE Southern California. Computer Society DISK EXERCISER PR0SMH Box 54751 Los Angeles, CA 90054 ADDRESS CODE HHmoniC Monthly, $10 membership includes year's subscription ooo 333 H) (CHANNEL) SCCS INTERFACE is the official 001 377 publication of the Southern 002 346 ANI (DATA) California Computer Society. It's a small but professional 003 017 magazine with about six general 004 127 NO? D,A interest articles geared toward 005 172 K07 A,D the beginner. 006 323 OUT (CHANNEL) 007 010

INTERFACE AGE 010 33! IN (CHANNEL) 13913 Artesia Blvd. 011 010 Cerritos, CA 90701 012 Monthly, $10/year 074 ma A 013 312 JZ / 000005 INTERFACE AGE describes itself 014 005 as a magazine about "micro- 015 000 computing for home and small 016 333 IN (CHANNEL) business." The articles are very detailed and technically 017 010 oriented. But they provide 020 346 ANI (DATA) important information on many 021 002 new developments in hardware 022 302 JNZ / 000016 and software. 023 016 Books on Microcomputer Design and 024 000 Operation: 025 076 HVI A,/ COS 026 002

INTRODUCTION TO MICROCOMPUTERS, 027 323 our (caman.) VOLUMES I AND II 030 011

Adam Osborne 031 333 IN (CHMEEL) Osborne § Associates 032 010 304 pp., $7.50 each 033 346 ANC (DATA) Detailed explanation of micro- 034 100 computer architecture. Volume 035 302 JNZ / 000016 I is generalized. II deals 036 016 with real microprocessors. 03? 000 MICROPROCESSORS AND MICROCOMPUTERS 040 006 HVI B,/ 000 Branko Soucek 041 000 John Wiley S Sons 042 IB (CHANNEL) 607 pp., $23 333 043 377 A very comprehensive introduc- 044 007 RLC tion to the field. Covers- 045 267 0R& A binary system, digital logic, 046 037 RAR machine language instructions, interfacing and representative 047 117 MC? C,A microprocessors. Not over- 050 076 HVI A.,/004 priced, considering its scope. 051 004 INTRODUCTION TO MICROCOMPUTERS AND 052 322 JSC /00005? MICROPROCESSORS 053 057 Barna & Porat 054 000 John Wiley & Sons 055 076 HVI A,/ 010 108 pp., $10.50 056 010 A textbook. Methodical approach 057 323 OCT (CHANNEL) to hardware and software. 060 011

061 333 IN (CHANNEL) MICROCOMPUTER PRIMER 062 010 Waite ii Pardee Howard M. Sams 063 074 ma A 224 pp., $7.95 064 312 JZ /000005 065 005 Good introduction to computer 066 000 hardware, architecture and peripherals. 067 075 DCR A 070 34s ANI (DATA) CONTINUED CONTINUED

TWELVE C/N APRtL, 1977 Aitair Computer Reproduces Voice: Compiex Waveforms tV!ade Simp)e CONTINUED Initialization (for Voice Digitizing Experiment) In general, for A to D conver- sion of this type, the input signal Location Contents Mnemonic Comments should be sampled at about three or four times the maximum frequency of 000 257 XRA Acc. Zero Accumulator interest. Voice is quite recogniz- 1 323 able and intelligible with a 3KHz 2 100 maximum frequency, so a sample rate 3 323 of lOKHz might be a good compromise. 4 101 Since most people's ears are sensi- 5 323 tive to lOKHz, a lowpass filter with 6 102 a 3 dB point of 3 KHz should be used. 7 323 This filter limits the amount of 010 104 sample frequency that will come 1 323 through. 2 106 3 057 CMA All l's to Acc. In the playback part of the 4 323 program, read the sense switches to 5 103 determine the playback rate. 002g 6 323 gives nearly one-to-one playback. 7 105 Larger numbers slow down the play- 020 323 back, causing some unusual effects. 1 107 2 076 MVI Acc. Load Accumulator Immediate 3 054 DATA The schematics of the hardware 4 323 and a listing of the software I used 5 100 for the voice digitizing experiment 6 323 follow, 7 102 030 323 1 104 CONTINUED 2 323 ON FOURTEEN 3 106

A!tair Disk Drive Aiignment PUBLICATIONS PROViDE Permits Precise Operation NOViCE WiTH ESSENTIAL CONTtNUED

C/N APRIL. 1977 THIRTEEN Attair Computer Reproduces Voice: Comptex Waveforms Made Simpte CONTtNUED

Program for Voice Digitizing Experiment

Loc. Contents Loc. Contents

040 333 IN-s ^Wait for 100 027 RAL Wait for 1 104 [Status 1 322)JNC Status 2 027 RAL (start function 2 076? Clear 3 322) JNC 3 ooo) 4 040> 'Tush Button 4 333 Clear 5 000) 5 105 Status 6 333) IN Clear 6 041) LXI-HL-*- Load Start 7 105) Status 7 001? Address 050 041)LXI-HL Load Start 110 00]) 1 000 > Address 1 333) IN Read S.S. 2 001) 2 377) Setup Counter 3 001)LXI-BC Load Increment 3 075 DCR-*-t Decrement 4 001 > 4 3 02) JNZ I Counter 5 000) 5 113> ' (Time Out) 6 067 SC Clear 6 ooo) 7 077 CC Carry 7 011 DAD Increment Address 060 257 XRA Acc Zero Acc. 120 176 MOV Mem* 1 323) Start Acc. 2 103/ Conversion 1 323)0UT Output D to A 3 011 DAD BE+ 2 105) HL-*HL Increment Addr. 3 322)JNC 4 332)JC Jump on 4 111 5 076} Mem. full 5 ooo) 6 ooo) 6 303) 7 000 NOP 7 106} 070 333)IN Read 130 ooo) 1 101) A/D data 2 167 MOV Acc-* Mem Store 3 303) 4 060 > 5 ooo) 6 333) 7 104)

500K GAIN To Voo Pin #9 Ceramic Microphone ^ 10K 1/4 LM324 &To Ain 0 10K ")—j{—'WV- Pin #20 -A/W To VEE - 10K Pin #19 250K ri + 10^ Adjust for To A^ GND 5 Volts DC out -jr with no signal * -L Pin #2

Pin #'s at right are for DB 25-pin connector from 88-AD/DA +5V

2.2K

To CA1 pin #17

O.lp To System CONTINUED I r GND Pin #6

FOURTEEN C/N APRIL, 1977 ACR AL

7. Set scope for 2v/cm and 1 msec/ starts. If you are using a on o^ ope/mttCM cm. PROM bootstrap, find 333 and Md At&MA ACR 007 on the PROM, then single 8. Play tape with volume set midway step twice from 333. In this second portion of the or lower. series, I'll discuss alignment of 4. Start the tape. the ACR modem, saving programs and 9. Adjust R29 (pot furthest from some ACR troubleshooting hints. you) for an equal duty cycle. 5. After a few seconds, the data Each alternation should be about lights should show a stable But before attempting any of 3.2 msec. Data lights should display of 256 (10 101 110). the following repair procedures, display 1 2S's (01 010 101). make sure that you fully understand 6. Quickly examine address 0. the ACR theory of operation (see pp. 10. Put scope probe into the test 14-20, March, C.N.). point hole (on Modem side of 7. Lift switch A15. If you are board near R29) labelled TP. using a 2SI0 for an 1/0 board, If the ACR isn't functioning Set scope for 4v/cm and 2 msec/ lift All. properly (BASIC won't load or pro- cm. grams can't be recorded), the ACR 8. Hit RUN. alignment should be checked first. 11. Turn tape deck gain low. 9. After about 20 seconds, the Alignment of the Modem 12. Adjust the next port towards you address lights will "jump." for maximum gain and flat posi- Address lights A3, A4 and A6 Every cassette player and tape tive peaks (as shown below). should go out. has slightly different speed and head specifications. So, the ACR 10. After a few minutes, the ter- must be realigned whenever the deck minal should say "memory size?" or tape is changed. One method of alignment is explained below. 11. Hit the return key on the ter- minal. 1. Plug ACR into chassis, on top 13. Adjust the port closest to you of an extender card (SI0B side to do the same for the negative 12. It will then ask what functions to your right), if available. peaks and turn tape deck gain you want: "Want Sin, Cos, Atan?" back up. 2. Insert mini-plug into earphone 13. Answer Y for yes; N for no. (plug-in) jack and the other 14. Advance the tape to the second end into the ACR cable going to test pattern (175's or 256's) 14. When it prints "OK," you are pin 2. and check for a stable display ready to write a test program. on the data lights. 3. Plug ACR cable into the ACR board. Pin 4 is ground. This completes the alignment If the terminal starts printing procedure. Now make sure that you out C's (ccccccc, etc.) while it is loading, a "checksum error" is indi- 4. Insert test side of BASIC tape can load BASIC. into player and rewind. cated. This is an error in trans- mission of data, possibly a bad tape. 5. Turn on computer. Reset and How to Load BASIC If it prints out M's (mmmmm, etc.), deposit the following program. a memory error is indicated. One 1. Deposit ACR bootstrap. If you of your memory boards is probably 333 have a multiboot PROM card, bad. 007 (window program which dis- merely address the starting plays input data on the data location of the ACR boot. lights) 2. Install tape (BASIC side up) and rewind to beginning. Examine zero, then single step CONTINUED twice. 3. If you have loaded the boot by ON SIXTEEN 6. Attach the clip-on probe of the hand, examine address 000012 scope to pin 10 of the ACR Molex and single step twice. This is connector (pin furthest from the window program and will you). This is the output of allow you to see the 256's the demodulator. written on tape before BASIC

A'itair Computer Reproduces Voice: Compiex Waveforms Made Simpte CONTINUED

"phono" plug .68n to Amplifier from Aout cc=€2§-- Pin #24 10K from Aout GND pin #12

C/N APRIL. 1977 THIRTEEN ACR AUGNMEMT AtDS

5. Connect the cable from the 2. If you have trouble getting a Sequels to his earlier volumes. record-out jack of the ACR stable 125 on the data lights Programming microprocessors for cable to "MIC" or "record-in" while running a test tape, check dedicated logic applications. jack of the tape deck. out R29, which may have collected Not for the beginner. dirt inside. Ohm it out over the entire range to see if it 6. Install a blank cassette in the Books on BASIC Programming: has a smooth response. Check ACR. If there are two holes in the 5 pf capacitor for leakage. the back edge of the cassette, A large number of books on they should be covered with BASIC are available at college and tape. (This system prevents 3. If you are not receiving any technical book stores. THE BEST accidental erasures of BASIC.) data on the data lights after OF CREATIVE COMPUTING, Volume 1 entering a window program, check (described later) has an article 7. Rewind the tape. the following: which reviews 21 different books on. BASIC. I will mention just a few 8. Press play and record. Let it a. regulated voltages here. run past the leader or about 15 seconds. b. Baud rate—Look at pin 40 of BASIC the UART for a negative going Albrecht, Finkel 6 Brown 9. Press the return key on the 2.3 - 3.0 microsecond pulse John Wiley § Sons terminal. every 208 microseconds. 325 pp., $3.95

10. When the program has been c. Play 125's from the test tape An easy-to-understand programmed stored, it will print "OK." and check pin 8 of the XR-210 introduction to BASIC. Does for a good square wave output not cover advanced BASIC. 11. Reconnect the cable so that the (-12v to +5v). If there is no output, go to the test earphone-out on deck is con- BASIC BASIC AND ADVANCED BASIC point labelled TP and look nected to play-in on ACR. James S. Coan for a 14v p-p fm signal. By Hayden Book Co. signal tracing around these 12. Type NEW on the terminal and 256 pp., 186 pp. and $7.95, $6.95, points, you should be able to hit return. This will erase respectively the program from memory. isolate a failure. If the problem is centered around A two-volume set that covers the XR-210, refer to the 13. Rewind the tape. BASIC in detail. table of waveforms in the ACR manual. 14. Type CLOAD A (or whatever you BASIC PROGRAMMING have called your program) and Kemeny § Kurtz hit RETURN. d. If you have good output from John Wiley & Sons the XR-210 and good continu- 150 pp., $7.75 15. Play the tape. ity to pin 20 of the UART (IC M on the SIOB side), Written by the authors of the 16. The terminal should respond "OK." refer to the SIO section of BASIC language, this book is this article. considered one of the best 17. Type RUN and hit return. texts available. e. If you have good input to 18. Your program should run on the the XR-210 and bad output, terminal. check component values, es- pecially C15, 16 and 17. CONTINUED 19. Repeat this procedure several If you still have problems, times. the XR-210 might be bad.

CONTINUED StXTEEN C/N APRIL, 1977 ACR AUGNMENT A)DS !N TROUBLESHOOTtNG CONTINUED

4. If you cannot save programs: 2. The ACR operates at 300 baud. Notice the straps at the bottom a. On the bottom of the modem right corner of the board. The there are a number of holes diagram below shows the correct for interconnection wires to connections for a Rev. 1 SIOB the SIOB. The second hole board. from the right (labelled GND) and the third from the right +5v should both have wires going to the ground connection (pin 4) of the 10-pin molex plug. Check this connection.

b. Deposit and run the follow- ing program: 11 10 5 4 3 2 1 0 333 input data to accumu- 377 lator from sense 3. The following jumpers should be +5v switches installed on the board: 323 output accumulator 007 to channel 7 (ACR data -v to -v a.. . Jjfp< P0o E channel) 0 to 0 2502 ———A O --Oo NDB1 303 jump 1 to I 000 to C to C Q- o ^ NDB2 000 address zero PC to PC Ok. o e NPB This program continually out- The interrupt jumper (INT) puts data from sense switches A15- should not be connected. 0 A8 to the modulator section of the modem. With this program running, 4. On the right side of IC M five you can signal trace the circuit. jumpers should be connected as ! shown at right. gnd 1. Check IC H, pin 8, for a square wave output. You should be able to modulate the output by chang- ing the sense switch patterns.

2. Check point R0 if there is an PUBL)CAT!Oi\!S PROV!OE output at H8. You should see a MOWtCE W!THESSEMT!AL modulated triangular wave. This is a very weak signal, approxi- EMFORMAHOM CONTINUED mately 100 mv. Note that R50 should be 22K ohm and not 220K DISCOVERING BASIC: A PROBLEM can be a creative and pleasur- ohm, as shown on the modem board SOLVING APPROACH able tool. Many games and a schematic. (See ACR manual— Robert E. Smith discussion of the sociological modem board section.) R50 is a Hayden Book Co. implications of computer use voltage divider and integrating 203 pp., $6.85 and misuse included. circuit. You should be feeding into a high impedance MIC input, Does not provide instruction COMPUTER LIB/DREAM MACHINES which demands a low level input. on BASIC, but shows how it can Ted Nelson be used to solve problems. Available from CREATIVE COMPUTING 3. If there is no output, check for Highly recommended for people 127 pp., $7.00 a 2 MHz input to J2, K2 and E14. who enjoy mathematical games. If there is no 2 MHz input, check Written in a WHOLE EARTH for a low at Gil. Do you have CATALOGUE format. Promotes continuity from G12 to S0 on the Non-Technical Computer Books: the idea that computers should SIOB side? Are ICs J, K and E be understood and used by dividing the signal? THE COMPLEAT COMPUTER (SIC) everyone. Touches aspects of Dennie Van Tussel the entire field. The kind of Proper Strapping of the SIOB Card: Science Research Associates book that can be opened to any 2]6 pp., $5.95 page for enjoyable reading. 1. The ACR should be at channels 6 and 7. Therefore, look at the A collection of fiction and ARTIST § COMPUTER address straps at left center. non-fiction articles by non- Ruth Leavitt, Ed. 11 should be connected to Al, 12 computer experts, discussing Available from CREATIVE COMPUTING should be at A2 and all others the uses, implications and 132 pp., $4.95 should be strapped low. effects of computers on society. Published by an IBM subsidiary. A well-illustrated discussion A2 22 = 4 of computer art. THE BEST OF CREATIVE COMPUTING, Al = 2-*- = 2^ VOL. 2 6 David H. Ahl, Ed. 101 BASIC COMPUTER GAMES Creative Computing Press David H. Ahl 324 pp., $8.35 Available from CREATIVE COMPUTING 248 pp., $7.50 A collection of reprinted articles from CREATIVE A listing and explanation of COMPUTING magazine designed to games written in BASIC. promote the idea that computers CONTINUED ON NINETEEN C/N APRtL, 1977 SEVENTEEN Attair AD/DA Subsystem

Reads and Generates Arta!og SSgna!s

By Bill Kuhn

88-AD/DA: Analog I/O for 8800 Series

With the Altair 88-AD/DA, the Digital Mord Input Altair 8800 series can read or Current measure voltages and can also gen- t Swi tches erate them to 8-bit accuracy. D7 The new 88-AD/DA Converter is an analog 1/0 subsystem for the Altair 8800 series computers. The input (A to D) section of the board fea- tures an 8-channel Analog Multi- D6 plexer, a Sample and Hold Amplifier and an 8-bit resolution Analog to Digital Converter. The 8-channel MUX allows acquisition of analog D5 data from eight different sources. The sample and hold allow accurate digitization of rapidly changing voltages. D4 The Output section (D to A) con- sists of two 8-bit resolution D to A converters. The voltage range of both the input and output sections D3 is nominally 0-10VDC.

What is D to A Conversion?

Digital to Analog Conversion is D2 the process of generating an analog quantity (usually voltage or cur- rent) from a digital (usually bi- nary) number. The analog output is D1 usually directly proportional to the digital numbers.

The D to A converters on the 88-AD/DA board system are the 00 "switched binary current source" type. (See Figure #1.) With the eight current sources, there are 256 unique combinations of current pos- sible at I- . These range from 0 to 255 these currents at Negative Supply 256 ^ ^ are connected to current-to-voltage converters: Figure 1

Kf *ref 0 to A Converter Iir

Vout —<3

Digital Mord In Figure 2

FOURTEEN C/N APRIL, 1977 A)ta!r AD/DA Subsystem The Altair 88-AD/DA user's Reads and Generates Ana)og Signats manual explains in much more detail the software and hardware arrange- CONTINUED ments necessary to use the board. The current-to-voltage converter As previously described, a It also covers circuit theory, ap- produces a voltage at its output digital to analog converter is plication information and trouble- equal to x R^. The I^g^ used used. But this time it isn't con- shooting . for the 88-DA/AD is equal to 2MA and nected to a current to voltage Table 3-1 shows the cable the Rf - 5K ohms, so the range of converter. Instead, the input cur- connections available from the output supplied is from 0 to 9.961V rent is connected to a node where 88-AD/DA board. a resistor-to-ground, a resistor X SX103 X 2 X 10*3). Nominally, from the Input voltage (voltage to CONTINUED this is called 0 to 10 volt output. be measured) and the input-to-a- ON TWENTY voltage comparator meet. When the This output is available in 256 PUBL!CAT!ONS PROVtDE steps of 39 millivolts each. So if Ij^ (current out of the node) of the the computer outputs a 200 octal to DAC and the current into the node NOV!CE W

^AOUT 14 24 ^BOUT 13 25 CONTINUED ON Control (Hand- CAT 21 17 TWENTY-ONE shake) Lines CA2 15 23 PIA-T C81 24 14 CB2 16 22

C/N APRIL. 1977 THIRTEEN A!ta!r AD/DA Subsystem Reads and Generates Anatog Signa!s CONTtNUED

The table below shows the addressing of the 88-AD/DA board.

Control/Status Register Address A Bit 2 B Bit 2

Base + 0 X NA A/D Control/Status Register A Base + 1 0 NA Data Direction Register A Base + 1 1 NA A/D Data Base + 2 NA X MUX Control/Status Register B Base + 3 NA 0 Data Direction Register B Base + 3 NA 1 MUX and Sequence Control Word Base + 4 X NA D/A Control/Status Register A Base + 5 ^ 0 NA Data Direction Register A Base + 5 1 NA D/A Data A Base + 6 NA X D/A Control/Status Register B Base + 7 NA 0 Data Direction Register B Base + 7 NA 1 D/A Data B

Figure 3

0 to A Converter Iin -a

Digital Mord In

DATA OUT START Conversion Successive Approximation DATA IN Register Complete Conversion

X=Don't Care NA=Not Applicable Outputs: Hardware Applications 6. Frequency Sensors (using fre- 1. Oscilloscopes quency to voltage conversion) There are many potential appli- cations for the Altair 88-AD/DA 2. Magnetic Recorders 7. Modems (modulation/demodulation, Converter. Just a few general input for computer communication over and output applications are listed 3. X-Y Recorders telephone circuits) below. 4. Data Terminals Inputs: 8. Various Instruments 5. Meters 1. Joysticks (games, remote control, 9. Magnetic Tapes (input any computer graphics) recorded signals) 6. Printers

2. Pressure Transducers 10. General Purpose Amplifiers 7. Motors

3. Temperature Transducers 11. Instrumentation Amplifier (bio- 8. Plotters medical, chemical, circuit analy- 4. Linear Position Transducers sis, acoustic analysis) 9. Instruments

5. Light Sensors 12. Inertial Devices (gyros, etc.) 10. Heaters

CONTINUED

TWENTY C/N APRIL, 1977 A!tair AD/DA Subsystem = 2 bits = 4 binary counts, 4^ = 16). Reads and Generates Anatog S!gna)s Thus, an 8-bit system uses 16 times as much memory as a (r-bit system. CONTtNUED So, by masking off 2 bits, the sys- tem uses 1/16 as much memory as with 11. Music Synthesizers (voltage The same four-bit digital the full 8 bits. control oscillator, voltage resolution generates better visual control amplifiers, direct wave resolution with vector graphics CONTINUED ON synthesis, voltage control than block graphics, and vector TWENTY-TWO filters) graphics will generally require less memory to store the image. For PUBL!CAT!ONS PROVSDE 12. Voltage Programmable Power example, Figure 4 shows that a NOV!CE W!TH ESSENTIAL Supplies circle drawn with vector graphics appears much more like a circle than

Line and Point Northern Technology Books n = Vector Box 62 Evanston, IL 60204 / S- K E&L Instruments, Inc. 61 First St. Derby, CT 06418 ! n s aS Shown in 4-bit n resolution CONTINUED ON (1' TWENTY TWO K4<& I asay iSS t iI !t C/N APRIL. 1977 TWENTY ONE A)tair AD/DA Subsystem Reads and Generates Anatog S!gna!s CONTtNUED

Figure 5 is a flow chart pro- vided to aid in writing a program to do a free-hand drawing using a joy- stick. Another possible option is the addition of a program to draw the current location of the joystick as a small square and only record new points when a sense switch is up. An erase function can be implemented in a similar manner.

2. Circuit Analysis

Another application of the 88- AD/BA Converter in an engineering lab is DC parameter testing in ampli- fier design. The objective is to manipulate a couple of parameters under the control of the computer and measure resulting variations using other parameters. Possible parameters under the control of the computer are supply voltage and bias voltage. Each can be controlled through a programmable power supply, or the bias voltage can be controlled directly. As these parameters are changed, the resulting variations in other parameters are acquired and measured by the Multiplexer and Analog-to-Digital Converter. The computer stores these measurements in memory for possible later print- out or graph plotting.

PUBLICATIONS PROV!DE NOV!CE WtTH ESSENTtAL )NFORMAT

Clubs:

New microcomputer clubs are being formed everyrday.all over the country. They provide an excellent opportunity to pool knowledge and resources. The following list includes just a few of these computer clubs. Check with your local com- puter store or a hobbyist magazine for additional clubs.

Pittsburgh Computer Club Fred Kitman 400 Smithfield St. Pittsburgh, PA 1S222

The Computer Hobbyist Group N. Texas 2377 Dalworth 157 Grand Prairie, TX 75053 Figure 5 Valley Chapter SCCS R. Stuart Gibbs 5652 Lemona Ave. Van Nuys, CA 91411

El Paso Computer Group c/o A1 Schatte 9716 Saigon Dr. El Paso, TX 7992S

CONTINUED

TWENTY TWO C/N APRIL, 1977 A!tair AD/DA Subsystem Reads and Generates Anatog Signats ASDC CONTtNUED USER'S HELP Listed below are measurable parameters and the necessary hard- The Altair User Group Software ware to obtain the measurements: Library is one of the largest and most active user group libraries in Parameters existence. Your continuing interest and support will make it easier for Supply Current Current Shunt and Instrumentation Amp other Altair users around the coun- try to make the most effective use Bias Current Current Shunt and Instrumentation Amp of their equipment.

Output Offset Voltage Instrumentation Amp Program Corrections

Input Offset Voltage Instrumentation Amp The Altair User Group Software Library is soliciting any corrections Internal Bias Points Voltage Divider or Amp that Altair users identify in soft- ware distributed by the Library. Temperature (such as output DC Temperature Transducer and Amplifier Users should send a correction page transistors) that can be reproduced and put in the program file to be distributed Possible tests include: to other Altair users, to:

a) Offset vs. Supply b) Temperature vs. Bias User Group Library Administrator c) Temperature vs. Supply Suite 343 d) Power Consumption vs. Bias 3330 Peachtree Road e) Internal Bias vs. Bias Atlenta, Georgia 30326

The 88-AD/DA Converter board Software credit coupons will be can also be used to test frequency given to users who submit correc- response. Again, possible parameters tions. under control of the computer are the supply voltage and bias voltage. Programs in Machine Readable Form Some possible tests are: Altair computer users are a) Frequency Response encouraged to submit machine read- b) Gain vs. Frequency able programs on paper tape, c) Frequency vs. Bias cassette or diskette to the User Group Library. The User Group will issue software coupons and PUBLICATIONS PROV!DE Portland Computer Society replace diskettes or cassettes to c/o Joe Bartel-Ratedata, Inc. NOVtCE W)TH ESSENTIAL users assisting in this effort. 3243 N.E. Sandy Blvd.

C/N APRIL, 1977 TWENTY-THREE ALTAtR COMPUTER CENTERS

BEAVERTON, OR 9700S 8105 SW Nimbus Ave (503)-644-2314 BERKELEY. CA 94710

(415)-845-5300 808$ SANTA MONtCA. CA 90401

(213)-451-0713 DENVER. CO 80211 2839 W 44th Ave. )303)-458-5444 programming ALBUQUERQUE. 1VM 87110 3120 San Mateo N.E. l505)-883-8282;883-8283 TUCSON. AZ 85711 4941 East 29th St. (602)-748-7363 LtNCOLN. NB 68503 pmMems? 611 N 27th St Suite 9 (402I-747-2800 UTTLE ROCK. AR 72206 !F you need to know how to: [501) 371-0449 TULSA. OK 74135 5345 East Forty First St. * service interrupts [918)664-4564 HOUSTON.TX 77036 5 750 Bintliff Drive * domuiti-precision (7131-780-8981 arithmetic RtCHMOND. VA 23230 4503 West Broad St. (804)-335-5773 * convert number bases SPRtNGFtELO, VA 22150 6605A BacMick Rd - handie arrays and tabies (703).-569-1110 CHARLESTON. W. VA- 2S301 * contro! compiex Suite 5^ peripheral (304)-345-1360 EAGAN, MN 55122 3938 Beau D'Rue Drive < use the stack pointer (612)-452-2567 ANN ARBOR. M) 48104 * debug your programs 310 East Washington Street (313)995-7616 WtNDSOR LOCKS. CT 06096

(203)627-0188 THEN . .. Practicai Microcomputer Programming: PARK RtOGE, )L 60068 The Intet 8080 is the book you've been waiting for. Written by 517 Talcott Rd (312)823-2388 application programming peopte for application programmers, ST. LOUtS. MO 63130 this is not a book of theory, but a book of step by step 8123-25 Page Blvd (314)-427-6116 solutions to rea! problems. !n eighteen chapters and more NASHVtLLE. TN 37203 1600 Hayes St. than 100 exampte programs it shows you exactly how to do Suite 103 all of the things listed above and many, many more with 8080 (615)329-1979 BURLtNGTON. MA 01803 assembly language. A complete programmer's guide to using 1 20 Cambridge St. the 8080, it also contains the ful! source text of a mini- (617)272-8770 ALBANY. NY 12211 computer cross assembler and a debug program for 8080 269 Osborne Road (518)-453-6140 based systems. This coutd be the best programming NEW YORK, NY 10018 information bargain you will ever see. 55 West 39th St. (212)-221-1404 ATLANTA, GA 30305 3330 Piedmont Road CN (404)231-1691 Northern Technoiogy Books TAMPA. FL 33614 5405 B Southern Comfort Blvd Box 62, Evanston, Utinois 60204 (813)886-9890

Please send my copy of Practical Microcomputer Programming: Thetntel 8080 at $21.95. D check enclosed D money order enclosed

Illinois residents add$1.10state sates tax. NoC.O.D. please. Please type or print

Name Company Address State_ City Zip- 3330 Peachtree Road, Sutte 343 Atlanta, Georgia 30326

TWENTY-FOUR C/N APRiL, 1977 Have you written Software

The Altair 8800 computer was the first micro for your produced for the general public and remains number one in sales, with more than 8,000 mainframes in the field. The wide acceptance of the Altair computer and its rapid adaptation to many diversified appli- AMair cations has truly turned the dream of the affordable computer into a reality. Yet the machine itself, remarkable as it is, repre- Computer? sents only the beginning. The right Software, tailored to meet a user's specific requirements, is a vital part of any computer system. MITS wants to insure that Altair users everywhere have the best applications software available today and in the future. For this reason, a new MITS subsidiary, the ALTAIR SOFTWARE DISTRIBUTION COMPANY, has been formed. Its purpose: to acquire the highest quality software possible and distribute it nationally through Altair Computer Centers. That's where you come in. The ASDC will pay substantial royalties to the originators of all soft- ware accepted into the ASDC library. If you have written business, industrial or commercial use software for the Altair 8800, ASDC wants to hear from you. It is the aim of the ASDC to stimulate and reward creativity in producing useful software that makes those dreams of "computers for everyone" come true. The ASDC will select only software that measures up to its high standards for system design, coding and documentation. The software will then be further documented and distrib- uted through ^^^^^^^^ Altair Computer Cen- ters around the country. For more information on how to ^^^^^^ submit software to the ASDC. ask your Local AltairCom,^y ^H^^^^^puter Center for an Software Submittal or contact the ALTAIR WARE DISTRIBUTION COMPANY.

ALTAIR SOFTWARE DISTRIBUTION COMPANY

3330 Peachtree Road. Suite 343 Atlanta. Georgia 30326 404-231-2308 How does a srratt business futty "eaiizc the cost effecttvenessof a microcomputer? O'he major con- sideration is the right software. And the right office software now iilahie at ail Altair Computer Centers, it's the Altair Business System—a tctat office management software package tor all Attair 8800-based systems ' ^^ V^m ' ^ The Altair Business System brings accounting, word processing and inventory management soft- vaii iritL ') 't'ce t - 'pri ngl, ! -.t aggouptipg packages include a flexible general le'dgcr package that allows a, business .to keep,, a timely, detatfed geh-eral fedger of aM trah*sactions and provide upi-to-date ftnancia! reports foi ! jtia.; , ineiit. F^ackages tor receivables, payables atnl payroll functions keep subsidiary tedder, i.ur'i nt am) pro otiee HUi'^nadc inyoiplng staterh^ts,'chcp^*wrt8pd; * - 9.41 s. a*nd -other r^uired"fep"9Hs.word . .processing '.stem .m extrr-me!,- tle'-ibt^. t^-yt editor *t6at allows W'ge vt^ume text **fnat awl. sajyi . aSiConitrgetSt-td bg:.east!y,modtficd and printed- )rt.'- ''' I.:l;lil:...r.. .1.! um.-;n)s. m ' ..II tm iPS,.-its*fi.-.m .'lh-i fi^s, making repe^itive iotters Very t' ^ip^ento) y management tent'.'.. ap*'?- - tr_e

jfc/'* ''''isf:/ Ay*"..-'' ^ '/t y ^ ^ # . J... - -