Skip to main content

apple contact thebestof1978 ocr

  • PublicationApple Contact
  • Pages32
  • Sourceapple_contact_thebestof1978_ocr.pdf
← Magazines apple contact thebestof1978 ocr
/ 32
Source: Brutal Deluxe Software — Apple Contact 1978–79, via applearchives.com.
Page 1
Loading…
Text content (OCR)
a THE BEST OF concacc 78 the user group newsletters @orpic computer inc: contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. faNia\ LOCAL USER GROUPS Apple's still springing up Many APPLE user groups have sprung up during 1978, and more are in the germination stage. Following is a list of those we knew about at the end of the year. If there is no group in ARKANSAS 3. DATABITS C. Johnson C/O DATACOPE 5706A W. 12th Street Little Rock AR. 72204 (501) 666-8588 CALIFORNIA 4. L.A. APPLE USERS GROUP 11911 Wilshire Blvd. CA. 90025 5. ABACUS USERS GROUP BYTE SHOP 1122 B St. Hayward CA. 94541 your area and you want to start one, talk to your APPLE dealer. Chances are he knows most of the local APPLE II owners, and can help bring them together for your kickoff meeting. He might even want to host the meetings on a continuing basis. Ask him. If you have formed (or want (415) 886-2980 . THE APPLE PICKERS SANTA ROSA COM- PUTER CENTER 604 Seventh Street Santa Rosa CA. 95404 to form) a local user group, let us know. We can publicize your efforts and help you get off to a good start. ALASKA 1. APPLE-HOLICS G. K. Inman SRA Box 1313 Anchorage AK. 99502 (907) 344-1300 ALABAMA 2. APPLE CORPS Terry Woodward Computer Center, Inc. 433 Valley Avenue Plaza Birmingham AL. 35209 (205) 942-8567 7. APPLE USERS GROUP SCOTT STARKWEATHER 11074 San Pablo Avenue EI Cerrito CA. 94530 (415) 233-5010 8. APPLE BYTE USERS GROUP LOY SPURLOCK APPLE BYTE PROGRAMMERS COMPUTER FORUM 14052 E. Firestone Blvd. Santa Fe Springs CA. 90670 (213) 921-2111 & (714) 739-0711 9. APPLE CORE Marion A. Clarke COMPUTERLAND OF THOUSAND OAKS 15. El Cid Plaza - 171 E. Thousand Oaks Blvd. Thousand Oaks CA. 91360 (805) 495-3554 . APPLE-BIZ Melvin Wong 301 Balboa San Francisco CA. 94118 (415) 221-8500 . APPLE CORE AVIDD ELECTRONICS 2210 Bellflower Rd. Long Beach CA. 90815 (213) 598-0444 . APPLE CORE Scott Kamins Box 4816 San Francisco CA. 94101 . APPLE USERS GROUP Mark Wozniak COMPUTERS PLUS 1324 S. Mary Sunnyvale CA. 94087 (408) 735-1199 . COMPUTERLAND OF LOS ALTOS Sarkis Kouzoujian 4546 El Camino Real Los Altos CA. 94022 (415) 941-8154 NORTH ORANGE COUNTY COMPUTER CLUB David Smith 607 North Twilight Placentia CA. 92670 (714) 993-9939 —=4 contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. 16. SILICON APPLE PROGRAMMING SOCIETY 2485 Rossotto Dr. San Jose CA. 95130 (408) 354-6120 17. VIDEO GAMES & COMPUTERS 301 Balboa San Francisco CA. 94118 (415) 221-8500 CONNECTICUT 18. APPLE USER GROUP Glen Brennan COMPUTERLAND OF FAIRFIELD 2475 Blackbrook Turnpike Fairfield CT. 06430 (208) 374-2227 DELAWARE 19. COMPUTERLAND OF NEWARK James H. Higgins Astro Shopping Center. Kirkwood Highway Newark DE. 19711 (302) 738-9656 FLORIDA 20. Victor Steeb SOUTHERN MICROCOMPUTER CO. 5901E Northwest 151st St. Miami Lakes FL. 33160 (305) 821-7401 21. APPLE USER GROUP Pat Fiorentino 2201 Ponce De Leon Blvd. Coral Gables FL. 33134 FRANCE 22. APPLE OEDIP Schraen Dominique 8 - Place Ste-Opportune - 75001 Paris FRANCE 508-46-21 - 508-47-71. GEORGIA 23. APPLE USER GROUP Preston Love DATAMART INC. 3001 N. Fulton Dr. Atlanta GA. 30305 (404) 266-0336 HAWAII 24. APPLE USER GROUP Dennis Nyhagen 7110 C Ohana-Nui Circle Honolulu HI. 96818 IOWA 25. Earl Keyser 22 Clover Lane Mason City TA. 50428 IDAHO 26. Larry Bugbee 2874 Ithaca Boise ID. 83705 (208) 362-9132 (Home) & (208) 384-6100 (Work) ILLINOIS 27. APPLE PIE Jerry Feil 17318 S. Locust Tinley Park ILL. 60477 (312) 532-8244 (Home) 28. NORTHWEST SUBURBAN APPLE USERS GROUP Ken Rose & Steve Uhl C/O COMPUTERLAND OF ARLINGTON HTS. Arlington Hts. ILL. 60004 (312) 359-6723 & (312) 882-4567 INDIANA 29. INDY APPLE PICKERS Doug McIntosh C/O HOME COMPUTER CENTER 2115 E. 62 Street Indianapolis IN. 46220 30. Joe Torzewski 51625 Chestnut Rd. Granger IN. 46530 LOUISIANA 31. SOUTHEASTERN SOFTWARE 7270 Culpepper Dr. New Orleans LA. 70126 MASSACHUSETTS 32. APPLESEED Donald M. Isaac 17 Saxon Rd. Worcester MA. 01602 MARYLAND 33. MARYLAND APPLE CORPS. Kevin Parks COMPUTERS ETC. 13A Allegheny Avenue Towson MD. 21264 (301) 296-0520 contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. 37, MINNESOTA 34. MINI‘APP’LES Dan Buchler 13516 Grand Avenue South Burnsville MN. 55337 (612) 890-5051 MISSOURI 35. APPLE JACKS Creighton Calfee P.O. Box 8452 St. Louis MO. 63132 NEW JERSEY 36. APPLE GROUP—NEW JERSEY Steve Toth 1411 Greenwood Dr. (201) 968-7498 COMPUTER LAB OF NEW JERSEY Dan Fischler 141 Route 46 Budd Lake NJ. 07828 (201) 691-1984 NORTH CAROLINA 38. APPLE CORE COMPUTER CLUB Alex Popper 3915 E. Independence Blvd. Charlotte NC. 28205 (704) 523-5107 NEBRASKA 39. APPLESAUCE OF LINCOLN/OMAHA Russ Genzmer C/O TEAM ELECTRONICS 2055 ‘O’ Street Lincoln NE. 68510 NEW MEXICO 40. THE APPLE CORPS Earl J. Nielsen PERSONALIZED COMPUTER SERVICES 1803 Corte Del Ranchero Alamogordo NM. 88310 (505) 437-8447 NEW YORK 41. NYC USERS GROUP Neil Shapiro C/O COMPUTER/MART OF NEW YORK 118 Madison Avenue New York NY. 10016 (212) 686-7923 . Charles Kollett 32 N. Brewster Lane Bellport—LI. NY. 11713 (516) 286-0198 OHIO 43. APPLE-SIDER John Anderson 5707 Chesapeake Way Fairfield OH. 45014 (513) 829-1340 OKLAHOMA 44. APPLE Il USERS GROUP Jerry Henshaw - PRESIDENT C/O THE TULSA COMPUTER SOCIETY P.O. Box 1133 Tulsa OK. 74101 (918) 836-7364 OREGON 45. APPLE PORTLAND PROGRAM LIBRARY EXCHANGE Ken Hoggatt - PRESIDENT 9195 S.W. Elrose Court Tigard OR. 97223 (503) 639-5505 (Home) & (503) 644-0161 - X6136 (Work) PENNSYLVANIA 46. 47. COMPUTERLAND OF HARRISBURG 4644 Carlisle Pike Mechanicsburg PA. 17055 APPLE USERS GROUP Neil Lipson PHILADELPHIA AREA COMPUTER SOCIETY 29 S. New Ardmore Avenue Broomall PA. 19008 (215) 825-3800 - X278 (Work) & (215) 356-6183 (Home) TENNESSEE 48. APPLE PI Richard C. Secrist (FORMERLY APPLEACHIAN USERS GROUP) RT. #12 - Cherokee Hills Sevierville TN. 37862 TEXAS + 49. 50. APPLE BARREL R. V. Collins 12502 Bexley Houston TX. 77099 THE APPLE CORPS. Bobbie Ferrell Greenhill School contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. 14255 Midway Rd. - Fulton Bldg. Dallas TX. 75240 (214) 661-1211 (Work) & (214) 243-6347 (Home) 51. APPLE CORPS. COMPUTERLAND OF AUSTIN 3300 Anderson Land Austin TX. 78757 (412) 452-5701 52. APPLE SEED Bill Hyde THE COMPUTER SHOP 6812 San Pedro San Antonio TX. 78216 ($12) 828-0553 53. PHILIP W. JACKSON C/O COMPUTER SOLUTIONS Suite 124A - 9200 Broadway San Antonio TEX 78217 (512) 828-1455 & (800) 292-7652 (TOLL FREE) WASHINGTON 54. APPLE PUGET SOUND PROGRAM LIBRARY EXCHANGE Val Golding 6708 39th Ave. Southwest Scattle WASH. 98136 (206) 937-6588 (Home) & (206) 623-7966 WISCONSIN 55. WISCONSIN APPLE USERS Ken Blochowick C/O Cybernetic Mechanism P.O. Box 11463 Milwaukee WI. 53211 (414) 964-6645 TN | LOOKING AHEAD ...to how your Apple will grow In case you are itchy to add to your Apple II system (or even just to learn more about it), here’s what’s coming up. BASIC PROGRAMMING MANUAL-~This is a beginner’s guide to Apple BASIC, complete with lots of examples and illus- trations. It will be mailed to all users who have warranty cards on file with us, starting late this month. COMMUNICATIONS CARD —A card that lets your APPLE II talk over the phone with other computers will become available in April. For $180, this intelli- gent interface will allow the computer to control any 110 or 300 baud serial device through an industry standard RS-232C interface port. Look for a data- sheet in the next newsletter. NEW APPLESOFT ~It’s com- ing, and it’s going to be great! The new APPLESOFT fixes bugs in the existing version, and adds features such as data save/load, high-resolution plotting capabil- ity, ON ERR GOTO capability, and much more. It will be avail- able on cassette in May, at $10. The ROM version, on a plug-in card (for slot #0), will be out in June at $99. The card will have a switch to allow you to choose between Apple BASIC and APPLESOFT. FLOPPY DISK~—The new mini-floppy should be on dealers’ shelves by early July, at a price of less than $700 for the con- contact 78 /the best of the user group newsletters for 1978 @eppic computer inc. troller card and one drive. (Each card will handle up to two drives.) The software, which works with either version of BASIC, will be able to load and store named files and provide disk directory lists. Look for more details two issues from now. SERIAL INTERFACE CARD-This is a high-speed (to 9600 baud), programmable serial interface; designed to connect fast, half-duplex devices (printers, plotters, etc.) to the APPLE II. More details will be available two issues from now, and the device itself will be out in July. No price has been set. EDITORIAL by Phil Roybal,Marketing Mor. And now it's your turn As we enter 1979, it is re- warding to look back and see how far we’ve come in these last twelve months. If you’ve joined our Apple family recently, ’'d like to welcome you and share a little historical perspective with you. At the start of 1977, personal computers sold largely to hobby- ists. Most products were S-100 bus systems without the reliabil- ity, packaging, or software re- quired to address other markets. Integrated systems (like APPLE II) were still a new idea. Indeed, some trade publications actually stated that such products were toys because they didn’t have the expansion capability of the old S-100 systems! A year later, integrated systems dominate retail sales; and Apple has emerged as the premiere manu- facturer in the quality-oriented segment of the market. While that was happening, the market itself was changing character. Today there are more hobbyists than ever; but now they share the computer stores with businessmen, educators, and industrial users. This change has resulted in demands for useful application software that has put considerable pressure on our in- dustry. While few programs actu- ally emerged during 1978, a great number of them were specified and contracted for. On the manufacturing side, the free ride was over. Poor product design, erratic quality, and inadequate financial strength took their toll. Some vendors fell prey to acquisition or reorganiza- tion, and ceased to be factors in the market. But the combined efforts of the industry sold around 180,000 systems. Apple Computer expanded production dramatically while building up an order backlog that reached 12 weeks during the Christmas buy- ing spree. We grew rapidly; and profits were reinvested to finance production expansions, new product development, and better customer support. The product line matured too. In January, we offered only the APPLE II system, at $1695 (16K RAM). By the end of the year we had introduced new manuals, modems, and printers; the Applesoft ROM Card; and our most popular peripheral, the floppy disk. Declining compo- nent costs and manufacturing economies of scale let us keep profit margins stable while we brought the price of a 16K sys- tem down to $1195. And most important, we were able to start several major software efforts that will yield dividends to every Apple user in ‘79. What lies ahead? Throughout the industry, 1979 should be the Year of Software. More than two dozen companies presently mar- ket APPLE programs, and that number should swell to 100 dur- ing ‘79. We are planning several major announcements that span the gamut from languages and operating systems to business and education packages supplied ready-to-run. And those packages will be accompanied by docu- mentation that sets the industry standard for completeness and clarity. It’s been a good year; and we owe a great deal to you, our cus- tomers. We plan to grow substan- tially during 1979 by bringing you products that will enhance the usefulness of your Apple in- vestment. We thank you, and hope to continue earning your support. A FUNNY THING HAPPENED ON THE WAY HERE..... This is the first of an irregu- larly published series of news- letters aimed at filling you in on what’s happening at Apple; and at soliciting the feedback, prod- uct ideas, and people we need to service you, our customer base. In the past, we occasionally let our enthusiasm carry us away. It is often easy to forget how dif- ficult it is to actually bring qual- ity products into production. (And that’s especially true when you're doubling in size every few months and still can’t hire people fast enough to do everything that needs doing.) But on the way here, we’ve learned a bit. And we realize success hinges upon meet- ing commitments. So from now on, you'll see more conservative schedules from us; and we’ll usually beat them. This newsletter marks the start of an official APPLE II User Group: one that we trust will grow strong and healthy this year. But there’s a lot of work yet to do. A major portion of it has to do with classifying and documenting all the software we have received over the past months. It really hasn’t been lost. All 200 tapes are sitting in a box, waiting for us to look at them. While our goal was to publish a software list, description of the Software Bank, and Contributor’s Form with this newsletter, we started too late. Instead, it'll be in the next newsletter. For sure. Apple Computer has grown contact 78 /the best of the user group newsletters for 1978 @opric computer inc. from two men in a garage to 40 people in a modern 20,000 sq. ft. building, in less than two years. You made that possible, and we thank you. In the coming year we will continue to earn your support; and to actively solicit your inputs so that our efforts stay on target. It’s important to us. We learned that on the way here. PATCHES AND PROGRESS ... wherein program bugs are stomped upon If (in the DOS) you try to load a program that had been saved under RAM APPLESOFT II, but you are now using the ROM card version, your program will not run correctly. To get around this problem, load your program and then type CALL 54514 and your program will be cor- rect. Similarly, a program that was saved onto diskette from the ROM card version and later load- ed under RAM APPLESOFT II will also cause problems. Simply type CALL 3314 and your program will be correct. You can now save it onto tape. The earliest production DOS had a problem: when in APPLE- SOFT II, any Read or Write state- ments with line numbers of 256 or higher would be ignored. To solve this problem on any disks you create from the DOS, bring up the DOS, remove the Write Protect sticker from your sys- tem’s master diskette, and then type: >PR#n (boot your system) >BLOAD RAWDOS >(hit Reset) * 25D6:4C DS 3F * 2SDC:2E * 3FD5:E8 FO 1 60 4C DD 25 * 3D0G >BSAVE RAWDOS, A$1B00, L$2500 Any new masters created from this original master diskette will now work properly. Cockpit errors and DOS A high percentage — 75 per cent, to be precise — of disk errors found so far are due to users trying to run APPLESOFT II by typing ““RUN APPLE- SOFT.” This seems reasonable, but APPLE II doesn’t see it quite that way. As a result (among other things) you cannot reload programs saved on disk. To get things to come out right — all pointers where they should be, etc.—, from Integer BASIC simply type FP (Carriage Return) and you'll bring in APPLE- SOFT II, pointers and all. To get back to Integer BASIC simply type INT. Making life easier in APPLESOFT II If you use APPLESOFT II and enter a statement such as IF X =A THEN PRINT T, APPLE won’t do what you want it to do. That’s because APPLE- SOFT II’s parsing action causes the statement to be read as if you entered IF X = AT HEN PRINT T;a syntax error will appear and you won’t know why. To prevent this, simply en- close the A in parentheses, which stops APPLESOFT II’s parsing of the letter combination. Thus, enter the statement as IF X = (A) THEN PRINT T, and all will be right with the world. Had some printer card problems? Here’s why, and the fix. The original printer-card firmware uses the screen window width as the controlling param- eter to set the margin for BASIC listings and TAB functions. This means that when your printer’s line length is set at 132 columns, for example, the system display is set at 132 characters/line. We didn’t think that this would cause a problem, because printer mar- gins greater than 40 characters and screen displays are not allowed to co-exist. But there’s a catch when any screen clear functions are exe- cuted. The system uses window width to bound the clearing oper- ations, which is a direct com- mand not detectable by the print- er card. But the keyboard input routine executes a “clear to end of line” when it gets a carriage return. Since the window width can be at well beyond the 40 columns, memory from the cur- rent cursor position to well past the normal boundary will be set to “space”’ (SAO). If the cursor is at the bottom of the screen, this can cause addresses from $800-up to be set to $A0. Sim- ply setting the printer width on the keyboard with IC 132 N (CR), with the cursor at the bot- tom of the screen will cause these locations to be bombed because the window width gets set be- fore the (CR) is executed. Since APPLESOFT starts at $800 and Integer BASIC variables start at $800, bad things will happen for sure. So... to reduce the possibil- ity of problems with APPLE’s Parallel Printer card, do these things: 1—Home the cursor (ESC@, or CALL -936, in BASIC) prior to typing printer control sequences that set contact ‘78 /the best of the user group newsletters for 1978 8 @opple computer inc. the column width past 40 columns. 2—Do not use any screen or line clear operations when using the printer with the column width set past 40 columns. Then be sure to return the line length to 40 columns before turning off the printer card with PR#0. If you’re using the revised printer card with PROM P1-02, add this: 3—To perform the vertical tab in Integer or APPLE- SOFT BASIC on the printer, the command POKE 36, (Tab distance) should be used in place of the TAB or VTAB com- mand. HIRES demo tape type Somehow we managed to ship a number of HIRES GRAPHICS demonstration tapes that carry a typographical error on the cas- sette labels. The error is in the brief loading instructions printed on the label: *80Q.FFFR. This should read: *CQ@.FFER. Note that the numeral “8” should be the letter ‘“C”’. Programs on the tape will run correctly when you follow the proper loading instruc- tions. From time to time, we turn up a program bug. Although the fixes are incorporated into future versions of the program, often they are simple enough that users can “patch” their present pro- grams to get improved perform- ance. Here are patches for a popular program. APPLESOFT CHANGES The following patches to APPLE- SOFT will fix problems associat- ed with the FRE, END, and DIM statements: and will allow the language to handle long program lines. The changes are made with a series of POKEs. They can be done from the command mode, or incorporated right into your program. CHANGES ARRAY INDEXING PROBLEM FIX: POKE 6331,32:POKE6332,150:POKE 6333,41:POKE6334,234 POKE 19646,133:POKE19647,177:POKE 10648,162:POKE19649,5:POKE 10650,165:POKE10651,132:POKE 10652,96 LONG LINE FIX: POKE 3050,234 POKE 3054, 136 POKE 3055, 145 POKE 3056, 158 POKE 3057, 208 POKE 3952, 251 ‘END’ STATEMENT FIX: POKE 2048,210 FRE( ) FUNCTION FIX: POKE 6143,5 APPLESOFT MANUAL CORRECTION~—A small type- setting disaster left us with an in- comprehensible example on page 22 of the APPLESOFT Manual. The example should read as shown here. 100 DIM As(15) 110 FOR I = 1 TO 15: READ AS(T) NEXT I 120 LET F =O:1=1 130 IF AS(I) < = AS(I + 1) THEN 180 140 LET T$ = As(I + 1) 150 LET AS(I + 1) = AS(T) 160 LET AS(I) = TS 170 LETF=1 180 LET I+ 1: IF I < 15 GOTO 130 190 IF F = 1 THEN 120 200 FOR I = 1 TO 15; PRINT AS(I) NEXT I 220 DATA APPLE, DOG, CAT, RANDOM, CO MPUTER, BASIC 230 DATA MONDAY, "###ANSWER ##" Foo 240 DATA COMPUTER, FOO, ELP, MILWAU KEE, SEATTLE, ALBUQUERQUE BITS AND PIECES ... things about Apple, handy to know Document, document, docu- ment. It would be difficult for you to give us too much informa- tion about a program that you send up — we need to know as much (and sometimes more) about your program contribution as you can tell us. And never as- sume that potential users of your program are as clever as you; in- stead, assume that they know nothing — not even when to hit RETURN! Remember: The care you take in explaining your pro- gram is the only guarantee that it will be usable by anyone else. SAVE, then SAVE again. SAVE your program twice, one recording after the other, on the same cassette. By doing this you give yourself, and us, a safety factor in that if our computer cannot read the first SAVE, per- haps it will be able to read the second. (As you know, not all recorders are created equal.) By the way, please add your name and address to the pro- gram listing with REM state- ments before you save it, so that there will be no question as to whose program we’re running when we try it out. LOAD, check, then give yourself credit. After you SAVE your program, turn OFF the Apple to clear the memory space you've been using, then power it up and LOAD the program to be sure that it does in fact load and run. C contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. Finally, protect. After saving your program, make sure that it cannot be erased. Every cassette includes a write/protect feature in the form of two small plastic tabs on the edge of the cassette opposite its business end. When these tabs are pushed in, pulled out, or otherwise gotten out of the way, the cassette can no longer be written into. Clearing the air. We make no profit from your contributions to the user portion of the APPLE software bank. We set up this portion of the bank simply to en- courage and to ease the exchange of programs among APPLE users. The honorarium that we pay for contributions to this portion of the bank is merely our way of encouraging such contributions. From time to time, of course, APPLE does purchase software, and does so at the fair market value. Such purchases are nego- tiated individually, based upon market conditions, applicability of the product, etc. The good earth APPLE II must be grounded ~either via its three-wire power cord inserted into a properly grounded three-wire outlet, or by awire inserted between APPLE’s metal base plate and one of the plate’s mounting screws. In the latter case, you must run the ground wire to a (preferably very close) ground — a long, long metal rod driven into the earth, and connected to APPLE viaa heavy wire, or a wire connection to the cold-water system (but make sure you have metal pip- ing). Grounding eliminates any possibility of the existence of a floating potential, which can be detrimental to you, to APPLE, and to proper tape cassette operation. Get your head straight Cassette tape recorders - whether expensive or inexpen- sive — often suffer a misalign- ment of their playback head dur- ing shipping and other handling. Such misalignment causes azi- muth error, which is death to the high-frequency response (particularly on units without a tone control) so necessary to accurately transfer data. But any audio shop technician can re- adjust the azimuth alignment; a skilled ear alone is often suffi- cient to do the job. Your original APPLE prerecorded tapes are excellent alignment references, because they are recorded with professional equipment main- tained to the highest profes- sional standards. The colon as a listing formatter for Applesoft The basic description of the colon’s action is that it can be used to separate BASIC state- ments. But with the colon you can structure your listing in any way you desire, whether you need vertical spacing or horizon- tal spacing—or both, as in tabu- lating data into blocks of rows and columns. To do it, enter the line num- ber, then the colon. If there is no information following the colon on the line, then the display will step vertically. If information does follow the colon, then that information will be spaced to the right of the colon, allowing the interior code of FOR... NEXT loops, etc., to be neatly indented. You can see how the colon is used for this purpose in this is- sue’s How To section. Note the neat appearance of the listing. Apple and Education Apple Computer, Inc., an- nounces the appointment of Roger Cutler as Education Spe- cialist for the company. Roger is organizing an educators’ user group. If you would like to be on his mailing list, please write him at Apple. Our plans include an educational software bank and advice on writing computer as- sisted instruction programs. Watch CONTACT for further information about educational applications of the Apple II. CALLING ALL INTERFACE CARD DESIGNERS Now that several other com- panies have begun to market interfaces for the APPLE II, a word on our design philosophy is in order. We are very interested in any devices that plug into APPLE II, and are generally happy to pro- vide information to prospective manufacturers. (Just write and ask for our Prototyping Board Write-up.) Our own philosophy is to build devices that are intelli- gent (have all control routines in on-board ROM) and are slot in- dependent. However, we must sometimes compromise because of design considerations in the system. Therefore, we have made the following restrictions on slot assignments: SLOT # ASSIGNMENT 0 APPLESOFT BASIC ROM Card 5 Second Disk Control- ler Card 6 First Disk Controller Card In addition, slots 4 and 5 are tentatively reserved for products that may have to be slot-depend- ent. Therefore, other manufac- turers should design peripherals which are either completely in- dependent of slot number, or will work in slots 1-3. In this way they will avoid possible conflicts with existing or proposed Apple Computer products. contact ‘78 /the best of the user group newsletters for 1978 @erpic computer inc. OUT OF THE MIST.... ... Clearing up things thought already clear Occasionally we document some wonderful feature in such a way that nobody understands it. As we identify those areas (recognizable by the stack of associated phone messages), this column will attempt to clarify them. 24K SYSTEM PROGRAM LOADING Normally, entering BASIC with the BC command resets the pointers to high and low memory (HIMEM & LOMEM), so that the monitor knows where to begin loading programs. How- ever, 24K systems need a little human help to set the HIMEM pointer. Therefore, before load- ing or keying in programs, enter BASIC in the command mode HIMEM: 24576 When this step is omitted, the system believes it has a 32K memory to work in. Since BASIC programs are loaded starting from the top of memory, they tend to fall into the bit bucket and dis- appear forever. . PROGRAM LISTING WITH THE TTY PRINTER ROUTINE The hardware/software TTY interface described on page 114 of the APPLE Il REFERENCE MANUAL provides an inexpen- sive method of printing on a TTY (output only). The example on page 116 shows how com- mands can be incorporated into a 10 BASIC program to produce hard copy output. Unfortunately, we left out an example of how to LIST a pro- gram on the TTY. Here’s how. Just enter the command mode of BASIC and type: CALL 880 LIST PR#0 That sequence will enable the TTY, list the program, and then return output to the TV screen. USING THE HI-RES ROUTINES A section of the new REFER- ENCE MANUAL describes the HI-RES plotting routines and mentions that they are available in ROM and on tape. Although the ROM’s aren’t available yet, many people don’t know that they have the routines on tape already. These programs are the machine language load at the start of the HI-RES DEMO tape. If you load the machine language part and then skip loading the BASIC demo program, you will have the routines in memory to work with. While use of most of the pro- grams is straightforward, the SHAPE routine gives some peo- ple problems because they don’t see how to build and use a shape table. Here’s an explanation. The SHAPE routine repro- duces a figure from a set of in- structions (the shape table) stored somewhere in memory. But it has to know where to find that table. It has been written to as- sume that the shape table begins at an address which is pointed to by memory locations 804 and 805. What you insert in those locations depends upon where you built your shape table. Let’s use the table example given in the REFERENCE MAN- UAL (page 53) to illustrate how to build an use the table. Here are the steps to follow: 1. Load the HI-RES routines into memory (COO.FFFR). 2. Build the shape table in mem- ory, using the monitor. Let’s arbitrarily start at address 900 hex, and fill in the data se- quentially, just as shown in the manual: *900:12 3F 20 64 2D 15 36 1E 07 00 This will put the table above BASIC’s variable space and below the bottom of a BASIC program. 3. Insert the shape table starting address into memory loca- tions 804 and 805, as shown in line 10 of the sample pro- gram that follows (For more details, see the explanation in the HOW TO section under LOADING MACHINE LAN- GUAGE PROGRAMS....). Then insert information on color, scale, rotation, etc. into the other memory loca- tions specified in the REFER- ENCE MANUAL. The following table presents decimal-number equivalents and APPLE keyboard equivalents to ASCH (American Standard Code for Information Interchange) characters. That is, if you were to scan the keyboard directly in BASIC, these are the characters that you would read; or, if you were to go into memory, these characters would appear as string-variable values. In the APPLE keyboard column, read SMC as a SHIFT/ CONTROL-M BC as CONTROL -B, etc. The decimal numbers listed are those before clearing of the keyboard strobe; after clear- ing of the strobe, the number is the listed value minus 128 (e.g., after clearing of the strobe, 145 becomes 17). If an APPLE key- board equivalent doesn’t exist, or if there is no decimal equivalent, then the table shows a double dash (--); if the keyboard equiv- alent is identical to the ASCII character itself, then the table shows “‘sa.””. Such information can make your programming life much easier, because it lets you get keyboard data directly into a contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. BASIC program without the use off the keyboard then you — the issue’s HOW TO section. In this of an INPUT statement. ‘As you programmer — are in command Multiple Precision Arithmetic know, INPUT statements can be every step of the way; you make listing, statements 2500 2610 in- limiting as, for example, when the decisions as to what goes and put data directly from the key- you type in a line and the screen what does not, and in a way that board; they tell you exactly yells SYNTAX ERROR at you. tells you exactly what’s wrong as what’s happening, the nature of Well, what is the error? It may you go wrong. any error you may have com- take a long time to find. You can see one way in mitted, etc. — and all by making If, on the other hand, the which this idea is applied in ““Be- use of the equivalence in the keystrokes are picked directly ing Precise in INTEGER,” in this table presented here. TABLE OF ASCII CHARACTER VALUES FOR INTEGER BASIC (FOR APPLESOFT VALUES, SEE APPLESOFT MANUAL, APPENDIX K) ASCII APPLE DEC ASCIL APPLE DEC ASCII APPLE DEC ASCII APPLE DEC CHAR KYBD EQUIV CHAR KYBD EQUIV CHAR KYBD EQUIV CHAR KYBD EQUIV NuL SpC_ 128 sP 160 @ sa. 192 es 224 SOH ac 129 ! 161 A 193 a 225 STX BC 130 e 162 B 194 b 226 ETX ce 131 # 163 G 195 ic 227 EOT po 132 $ 164 D 196 d 228 ENQ EC 133 % 165 E 197 e 229 ACK FC 134 & 166 F 198 f 230 BEL cc 135 167 G 199 g 231 BS oat 136 ( 168 H 200 h 232 HT 1c 137 ) 169 1 201 i 233) LF 138 * 170 J 202 ij 234 VT KC 139 + 171 K 203 k 235 FF uc 140 172 L 204 1 236 CR mc 141 173 M 205 m 2377 so. NC 142 . 174 N 206 n 238 SI of 143 / 175 oO 207 ° 239 DLE pc 144 0 176 E 208 P 240 DCI fog 145 1 177 Q 209 q 241 DCc2 RC 146 2 178 R 210 r 242 DC3 sC 147 3 179 Ss 211 s 243 DCc4 re 148 4 180 T 212 t 244 NAK uC 149 5 181 uU 213 u 245 syN vO 150 6 182 v 214 v 246 ETB we 151 7 183 W 215 w 247 CAN x¢ 152 8 184 x 216 x 248 EM ve 153 9 185 Y 217 y 249 SUB ze 154 i 186 Z v 218 Z 250 ESE sa. 155 ; 187 [ 2 219. 251 FS = 156 < 188 \ = 220 252 cs Smf 157 = 189 } SM 221 ALT -- 253 Rs SNC 158 > 190 t 7 222 bE. = 254 US 159 2 v 191 me 223 RUBOUT 255 LF = Line Feed; CR = Carriage Return; SP = SPace; ESC = ESCape; sa. = Keyboard character same as ASCII character. ah) contact ‘78 /the best of the user group newsletters for 1978 @oppice computer inc. HOW TO ... things your manual never told you LISTINGS—A LITTLE AT A TIME There is a way to stop APPLE II’s LIST operation. You must go into the MONITOR and enter the following bytes of hex: 3DA:A9 E3 85 36 A9 03 85 37 60 RETURN :48 AD 01 CO 10 08 AD 11 CO AD RETURN :01 CO 10 FB AD 11 CO 68 4C FO RETURN :FD 4C DA 03 RETURN After loading the hex code, press CONTROL Y to activate this StopList routine. Now we try listing memory by entering 0.FFF RETURN. Let some lines go by, then press any key. If you’ve done every- thing correctly, the scrolling will halt. Now press any other key and the lines will again scroll. This routine will still work when you go back into BASIC. But if for any reason you press RESET, you must reactivate the routine by going back into the MONI- TOR and pressing CONTROL Y. How does it work? Well, to print a character on the screen, APPLE II uses a routine located in MONITOR. APPLE goes to the routine by finding its address in locations 54 and 55 (36 and 37 in hex). But entering a CON- TROL Y replaces this address with the address of the Stop List routine. You catch APPLE be- cause it always checks for a Stop List command before printing any character. Software engineers call such a feature a hook, and use it to make pro- gramming just a bit more handy. Tony Hughes THE APPLE CORE San Francisco, Calif. AN APPLESOFT CONVERT - PROGRAM Programs written in APPLE- SOFT BASIC and saved on tape cannot be LOADed and RUN with APPLESOFT II. But there is a way to use them without retyping—by means of our CON- VERT program, which we list below. The CONVERT program runs in Integer BASIC, accepts a tape in APPLESOFT BASIC, and produces a new tape in APPLESOFT II BASIC. To use CONVERT, LOAD the CON- VERT tape. It will ask you if the old program (written in APPLESOFT BASIC) used OP- TION 1 or OPTION 2. OPTION 1 was GRAPHICS COM- MANDS WITHOUT LET OR REM STATE- MENTS — OPTION 2 was LET OR STATEMENTS, BUT NO GRAPHICS After you answer you will be prompted to play the old pro- gram tape. After CONVERT has finished reading and processing the old tape, it will ask you to record a second tape. This second tape will be your original program converted into APPLE- SOFT II. If any errors are dis- covered during the conversion process, you will be given self- explanatory messages. CONVERT © TEXT CALL -936 TAB 9 PRINT “APPLESOFT CONVERSION PROGRAM: * 2 PRINT“ CONVERTS OLD APPLESOFT PROGRAMS TO” 3 PRINT COPYRIGHT 1978 APPLE COMPUTER, INC PRINT "APPLESOFT 1¢ FORMAT" 4 PRINT * "PUKE 94,10 5 PRINT “WAS PROGRAM WRITTEN IN OPTION 1 OR” PRINT “OPTION 1. GRAPHICS COMM ANDS WITHOUT" & PRINT" LET OR REM STATEMENTS" OPTION 2° LET AND REM STATEMENTS BUT NO PRINT “OPTION 2? PRINT * GRAPHICS 7 INPUT "OPTION #*,0° IF O<>1 AND O<2 THEN 7 10 CALL -936. PRINT "PUT APPLESOFT PROGRAM TAPE IN RECORDER, " 2. POKE 63,7 F=1536 B=4098 20 INPUT "PRESS THE PLAY BUTTON, THEN HIT RETURN". AS: CALL -259 25 IF PEEK (1)<128 THEN 30: PRINT POKE 60.2: POKE 41,2) POKE 62 TAPE READ ERROR!” TAPEPLAYER, THEN RE-RUN THIS PROGRAM” 30 POKE 60,2) POKE 61. 16°E= PEEX (2)+ PEEK (1)#256-6657: POKE 62,€ MOD 256: POKE 63,£/256 CALL -259 35 CALL -996 PRINT PRINT “TRY RE-ADJUSTING VOLUME CONTROLS ON CONVERTING 40 IF BD=E THEN 1000. A= PEEK (2)+F MOD 256 POKE B.A MOD 256 POKE B+i, PEEK (B+1)4F/296+(A> 255) 50 FOR B=B+4 TO B+999 T= PEEK (B): IF T¢199 THEN 250: IF T<>195 AND T<>142 OR O=2 THEN 200. 5 IF T<>142 THEN 60: T=137: GoTo 250 60 C=C+1'U= PEEK (C) IF U=2 THEN 60. IF U=67 OR U=71 OR U=72 OR U=80 OR U=86 THEN GOTO U PRINT "BAD STATEMENT IN PROGRAM” GOTO 250 67 T=160: GOTO 90 71 T=136: GOTO 90 72 T=1a2: GOTO 87 80 T=141; GOTO 90 6 T=143 87 CC=2.D=B 8B D=Dri1) IF PEEK (D)<>44 AND PEEK (D)<258 AND PEEK (D) THEN 88. IF PEEK (D)=44 THEN 89 PRINT "BAD STATEMENT IN PROGRAM!” GOTO 250 89 CO=CC+1. IF CC=1 THEN G8: POKE 0,197 90 POKE C,32. GOTO 250 199 REM -MAP OLD TOKENS TO NEW 200 IF T2195 THEN 250: T=T+1+(T>196)#94+(T5199)+(T2160)+(TD177) 42 250 POKE B.T: IF B/S00*500=2 THEN PRINT "STILL CONVERTING'” 251 IF T<O THEN NEXT B D=B+1 IF BCE THEN 40 078 cc=z Dec 1000 CALL -936 POKE 60.7 INPUT “START RECORDING. THEN HIT ‘RETURN’ ", AS 1001 POKE E-2. 2° POKE E-1,72 POKE £.7 1008 D=E-s096: POKE 7,D MOD 256 POKE 1,D/256: POKE 2.2 CALL ~307 010 POKE 60,2. POKE 61,16 POKE 62, MOD 256 POKE 63,£/256 CALL -307 1020 PRINT "OK POKE 61,7 POKE 62.2 POKE 83.2) PRINT "DONE! PRINT “THE TAPE JUST RECORDED CAN NOW BE LOADED INTO APPLESOFT 1." END 12 ws = contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. STRING + STRING = CONCATENATION A string is a series of charac- ters, zero to 255 characters in length. To symbolize that it is a string being operated upon, a string-variable name ends with the $ symbol. APPLE can operate on string variables, in whole or in part, just as it operates on numeric variables. And this ability to manipulate strings—to reformat them, etc.— is a powerful tool. Concatenation is an impor- tant facet of string manipula- tions. To concatenate strings means to append one to another, to “series connect” hitherto independent character sets in order to operate upon them as a single entity. The concatenation function does exist in APPLE- SOFT and APPLESOFT II BASICs but, unfortunately, not in Integer BASIC. There is, however, a simple routine that will let you concate- nate strings with Integer BASIC. It’s listed below, and operates by defining each string, finding the length of the first, and telling APPLE to tack the start of the second string to the end of the first string, and so on down the line. The example shown here is for two strings only; the maxi- mum length of any concatenated string is, of course, limited to 255 characters. HOW TO GIVE A NUMBER SOME CHARACTER Both APPLESOFT and APPLESOFT II contain the func- tions ASC and CHRS. These are opposites—complementary func- tions, if you will—in that ASC returns the decimal ASCII num- ber equivalent of its designated string-variable argument, while CHRS returns a single character equivalent of its designated deci- mal-ASCII number argument. Examples: Say, M$="‘M” is some string variable of interest to us in APPLESOFT. When you tell APPLE to PRINT ASC (M$), APPLE responds with a “77° on its screen. (Remember, first character only; decimal 77 in ASCII corresponds to the letter “M”’.) On the other hand, tell APPLE to PRINT CHR$ (77), and you get the letter “M”. A rather simpleminded example of the use of this pair of functions could be to associate them with the RaNDom function in a program to generate random alphanumeric sequences, except that you cannot do it in Integer BASIC because, alas, Integer con- tains only the ASC function. But don’t despair, for all is not lost. Below we give you a very short routine that gives Integer BASIC the equivalent of a CHR$ func- tion. /nsert it in your programs wherever you wish to and— presto!—you can convert decimal numbers to their ASCH character equivalents. HOW TO SET LOMEM WITH- OUT HARDLY TRYING LOMEM is the start of the Integer BASIC variables store- house; HIMEM marks the top of the program store. Between the two is your working space. En- tering BASIC with BC will set LOMEM to 2048, the normal default value. But there are times (when using the Heuristics Speechlab™ for instance) when LOMEM must be set to a dif- ferent value. The pro will incor- porate such an operation right into his programs, rather than leaving it to chance. Well, then, is there an easy way to reset LOMEM inside a program? The answer is yes, and we guarantee that your life will be simpler as a result. The example below will set a new LOMEM within an existing BASIC program. Of course, doing so will destroy existing variables, so do it before any are defined in the program. You can, in fact, insert this little routine at the start of your program so that it conveniently does the whole job for you. 1. Pick new LOMEM, | 2. a=l MOD 256: b=1/256 3. POKE 204,a: POKE 205,b— resets variable pointer 4. POKE 74,a: POKE 75,b— resets LOMEM pointer EXAMPLE 1. New LOMEM: 1-3000 2. a=184, b=11 3. POKE 204, 184: POKE 205, 11 4. POKE 74, 184: POKE 75, 11 Part of a personal computer’s charm lies in the fact that it is a creative tool. Each person uses it 13 contact ‘78 /the best of the user group newsletters for 1978 @orpic computer inc. 14 differently, to accomplish dif- ferent goals. Unfortunately, this makes it difficult to write a manual that adequately covers everything a person might want to do with his system. The HOW TO section is therefore devoted to answering questions the manu- als missed. LOADING MACHINE LANGUAGE AS PART OF A BASIC PROGRAM Often we want to include machine language data inside a BASIC program. A great many Apple tapes are made up this way to simplify the loading pro- cess. Here’s a recipe for doing it yourself with programs written in Apple BASIC. Apple BASIC loads programs into memory with the highest program line at the highest RAM location (HIMEM). Preceeding lines are located lower and lower in RAM. The beginning of the program is PP, an address which is held in memory locations CA and CB (hexadecimal), or 202 and 203, decimal. When you type SAVE, the computer trans- fers to tape everything between PP and HIMEM. Thus, to tuck machine language into your pro- gram so that it can later be loaded like BASIC, it is merely necessary to move the PP pointer down below the beginning of the extra code, put in two POKES to reset the pointer before run- ning the program, and type SAVE. Later, you will be able to LOAD the whole thing just as if it were all BASIC. Just follow these steps: 1. Get the BASIC program into memory, just the way you want it. If you make any changes, you must re-do steps 2 and 6. . In the command mode, type: Nv 3. Load your machine language code into memory using the monitor load capability (xxxx.yyyyR). This will put the machine language program into memory below the begin- ning of the BASIC program, starting at hexidecimal address xxxx. . Take the starting address of the machine language pro- gram and divide it into two parts: xx xx. Convert each pair of digits from hex to decimal values: a & b; cor- responding to the left and right xx pairs, respectively. Write them down. . Now enter the BASIC com- mand mode and type: POKE 202, b-1 (value b from step 4, above) POKE 203, a (value a from step 4, above) POKE 204, 00 POKE 205, 8 . You have now moved the pointers down below your machine language program, and must insert code to move them back again when the program is run. To do that, type: 0 POKE 202,m: POKE 203, n:GOTO q where m and n are the values from Step 2, and q is the first line number in your BASIC program. That line number can be 0—it will not be erased by the above entry. . Now you're done! Don’t try to list your program before running it, because all you’ll see is a meaningless set of numbers and symbols. Just type SAVE (before running the program), and it will all go onto tape. Later a LOAD command will bring it all back in. CAUTION! Once you have RUN such a PRINT PEEK(202), PEEK (203) and write down the results. Let’s call them m and n, re- spectively. program, you cannot SAVE it, for the pointers will have been moved. You can only save or copy a program like this before it has been RUN ... A Moving Experience On occasion it is handy to know how to move large blocks of data from one area of memory to another. While this is simple to do from the monitor (using the M command), it is a little more complex in BASIC. Below are some handles on the monitor routines that will let you use them within your BASIC programs. When would you use them? Well, they come in handy for copying images from page | (normal) to page 2 in standard- resolution graphics. With two slightly-different images on the two pages, it is possible to do simple animations by switching rapidly back and forth between pages. (NOTE: Be sure to set LOMEM to 3072 or higher before using page two of graphics, or your variable table will be destroyed.) Here’s how. POKE 60, (old starting address mod 256) POKE 61, (old starting address / 256) POKE 62, (old ending address mod 256) POKE 63, (old ending address / 256) POKE 66, (new starting address mod 256) POKE 67, (new starting address / 256) CALL —468 (the actual move command) Now, to use Page 2 (remem- ber to set LOMEM to 3072 or higher): 10 POKE 60,0:POKE 61,4: POKE 62,255:POKE 63,7: POKE 66,0:POKE 67,8: CALL -468: POKE -16299,0 To switch back and forth between Pages 1 and 2: POKE —16299,0 (displays Page 2) POKE -16300,0 (displays Page 1) e w contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. If both pages contain similar graphics figures, then switching between the pages will yield simple animation; further effects may be gleaned from an inspec- tion of the list of POKEs on page 30 of the APPLE II Reference Manual. (NOTE: Don’t try this with APPLESOFT in RAM. It starts at hex 800—the second page of graphic space. A block move into that area will send your APPLESOFT BASIC into the bit bucket!) PRINTING LOWER-CASE LETTERS WITH APPLE II APPLE II cannot presently display lower-case characters on the screen, but it has no trouble printing them on most printers. To create a string of lower-case characters, simply generate the string in upper case at a known memory location; and then go through and add 32 to the ASCII value of each upper-case letter. 10 DIM As(80) RAM IN AS 70 NEXT I 80 CALL -936 90 PR#L SYSTEMS 110 PRINT AS SYSTEMS 140 END 50 IF C<193 THEN 70: REM A NON-ALPHA CHARACTER DO NOTHING 60 POKE 2052+1,C+32: REM ETTER TO LOWER CASE AND INSERT B ACK INTO AS 100 PRINT "SON" R 80 CHARACTERS 120 PRINT "40N" TO 40 CHARACTERS 130 PR#0: REM SEE LINE 90 FOR DISK That will produce the lower-case ASCII equivalent. If you then shove the modified code back into the string variable in place of the old value and print the string, you will print lower case characters. As you convert the string, you must test each character to see that it is not a numeral punctuation, etc. Obviously, only alphabetic characters can be converted to lower-case. Here’s a sample program that does the job. This program works because, by defining A$ first, we know its absolute address in memory. Its first letter is stored in address 2053. (If this program were to be converted to APPLESOFT, we would have to manipulate our characters entirely through the string routines, since we cannot accurately locate the string in memory.) REM BUFFER... MUST B — FIRST VARIABLE DEFINED IN PROG 20 INPUT "ENTER DATA: ", As 30 FOR I=1 TO LEN(AS) 40 C= PEEK (2052+I): REM II VALUE OF THE "ITH" CHARACTER SET C=asc TEST FOR IF FOUND, CONVERT L. REM CLEAR SCREEN REM TURN PRINTER ON (REME MBER, "PRINT D$;"PR#1" FOR DISK REM SET PRINTER FO REM RESET PRINTER 15 contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. THE NAME OF THE GAME IS THE SAVING OF THE NAME If you’re an APPLESOFT II user working with, say, an inven- tory list with names, then you’re in a bit of trouble if you want to SAVE the complete list to cassette tape, names and all: APPLESOFT II will save the numbers but not the names (strings). (Of course, the nicest way to SAVE such a list is to disk.) If you need to save strings to tape however, the following program will do the job very nicely. Note that statement 10 creates space for the strings; 1010 gives you information about free memory space and how far up the variables are; 1050 writes out the length of the tape’s string area; and 1070 writes all the desired information to tape. Strings can also be created by establishing string pointers that point to the string definitions within the program itself rather than copying the string defini- tion to high memory and point- ing to it there. Strings created in this way are not saved by this technique and if the saved strings and pointers are used by a dif- ferent program, these pointers will point to meaningless por- tions of the new program. This problem can be overcome by forcing the interpreter to copy the string item definitions to PRHO 5) °SYNTAX ERROR WAST 2 REM 2 REM PROGRAM TO SAVE STRINGS 3 REM TO CASSETTE TAPE. 4 REM BY R.WIGGINTON (4/78) 5 REM 10 DIM A$(10) 20 PRINT "TYPE IN NINE STRINGS, SEPARATED BY" NEXT K 39 FOR K = 1 TO 9: INPUT AS(K) 40 REM NOW SAVE A$ TO TAPE. 50 GOSUB 1000 55 PRINT “STRINGS ARE NOW ON TAPE AND START TAPE, AND PRESS ‘RTN’ TO RECALL, PRINT "CARRIAGE RETURNS. " TYPE ‘GOTO 100’, REWIND 57 PRINT “LET TAPE RUN UNTIL CURSOR RETURNS. " 60 END 100 REM THIS PART RECALLS THE 101 REM STRINGS FROM TAPE 102 REM 110 DIM B$(10) 120 GOSUB 2000 130 FOR K = 1 TO % 140 END REM STORE A$ TO TAPE PRINT BS(K) 1010 X = FRE (0): STORE AS 1030 X = PEEK (115) + GOSUB 2100 POKE 30,X - INT (X / 256) * 256: POKE 31,X / 256 NEXT h PRINT "INSERT CLEAN TAPE, START RECORDING. " PRINT “HIT ANY KEY WHEN READY" REM STORE A$ REALLY STORES POINTERS REM IN ORDER FOR THIS PROGRAM TO WORK, HIMEM MUST BE AT THE SAME REM VALUE WHEN THE STRINGS ARE RECALLED AS WHEN THEY ARE STORED. PEEK (116) # 256 — GET Zs PEEK (111) - PEEK (112) * 256 CALL - 307: REM PUT (X) INTO LOCS 30%31, AND WROTE IT TO TAPE. POKE 60, PEEK (111) 63, PEEK (116): CALL - 307 1020 REM HAVE NOW WRITTEN EVERYTHING POKE 41, REM (X) IS THE LENGTH OF THE STRING AREA. PEEK (112) POKE 42, PEEK (115): POKE 1090 PRINT "O.K.": RETURN 2090 RECALL BS: REM GOT POINTERS BACK. 2010 GOSUB 2100: CALL - 259: REM GOT LENGTH OF STRING AREA 2020 X = PEEK (30) + PEEK (31) * 256: REM XISLENGTH OF AREA TO READ IN 2030 X = PEEK (115) + PEEK (116) * 256 - x 2040 POKE 60,xX - INT (X / 256) * 256: POKE 61,X / 256 2050 POKE 62, PEEK (115): POKE 63, PEEK (116): CALL - 259 2060 RETURN 2100 POKE 60,30: POKE 61,0: POKE 42,31: POKE 43,0; RETURN: REM SET CASS ETTE ROUTINE POINTERS high memory. One way is to use concatenation: 20 AS(I) = AS() + “” These two fixes should clear up all the problems in the pro- gram. Lining things up, point by point Since most BASICs justify (i.e., line up) the left-most column, a display of multi-digit, decimal-pointed numbers can be awkward to read and somewhat unattractive. A solution to this problem would be to use a tabulation routine that ‘‘justifies (or lines up) on the decimal point.’’ Such a routine would position the numbers in a column so that the decimal points are vertically aligned. The short program listed below does exactly that. Statements 10 through 50 are merely a demonstration rou- tine that yields the sample run shown at the end of the listing. Statements 2000 through 2140 contain the routine that actually does the work. In effect, the routine aligns the numbers by right-justifying to the digit left of the decimal point, then tacks on the decimal point and the remaining digits to the right of the decimal point. 10 F=-10: B=9: Deg 15 ASF 20 GOSUB 2000: PRINT “. "iD 30 IF A>3000 THEN 1000 40 F=108F: D=D+A SO GOTO 15 1000 END 2000 REM RIGHT-JUSTIFICATION ROUTINE FOR APPLE BASIC 2010 REM INPUT IS ASSUMED TO BE IN VARIABLE "A" 2020 REM THE RIGHTMOST CHARACTER WILL APPEAR IN COLUMN CONTAINED IN VARIABLE “B" 2100 AS=" ") IF ACO THEN AS="—") REM GET SIGN OF NUMBER 2110 A= ABS (A): REM CONVERT A TO POS 2120 C=(A>10)+(A>100)+(A>1000 )+(A>10000) REM DETERMINE HOW FAR TO LEFT-SHIFT PRINTOUT 2130 TAB (B-C-1): PRINT AS Ai REM RIGHT-JUSTIFY PRINTOUT 2140 RETURN RUN -10.9 -100.19 1000. 119 -10000..1119 Being precise in INTEGER The use of INTEGER BASIC limits you to the range of num- contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. bers between —32767 and +32767. Such a limitation is, at its best, frustrating, and, at its worst, infuriating. Consider, for example, the businessman who daily deals with foreign curren- cies, for which the basic mone- tary unit may be very, very small. What’s a fella’ to do? Well, what he has to do is to go to multiple-precision arith- metic by means of a routine such as we present here. While this example is for addition only, it is readily adaptable to subtrac- tion, multiplication, and division by changes in statements 3000 through 3080. The program does its job on large numbers in the same way as we do it by long- hand arithmetic; that is, it operates on one digit at a time, then carries to the next, and so on. This particular listing is long and slow, because we wanted to make it clear and easy to read so that you could see what’s hap- pening. You may modify it to run much faster. Incidentally, you can get a better understanding of the pro- gram’s operation by relating certain of its statements to the ASCII conversion table that is in this issue’s OUT OF THE MIST section. Statements 2500 through 2520, for example, result in the keyboard being read directly. 2540 refers to CHAR = 3070 WexT 1 30e0 RETURN 2980 IF C(1)€20 THEN 4100 T#I+1 GOTO 4090 REM IGNORE LEADING ZEROS Tey “FOR Jol To 91. PRINT "=o", NEXT vs PRINT NEXT J 5100 PRINT. TAB 311s BRIN PRINT 3120 PRINT PRINT "sees: Inrur & va7asezai0 S110 TAB [68 FOR Jel TO90 PRINT CV), sa760e2010 =0P mF DPTRCaI THEN 2570 PRINT “INPUT TOO LONG--START OVER” POP POP 10 CHANSO. GOTO 2530 REM WAIT FOR NEXT MEYSTROKE e 50 Cli vSTERP CARVINGCARVOUT. REM FINISHED ADUUSTING CARRY FIGURES <9 THEN 4od0 Ia1*1. GOTO 4090, REM, 1ONORE LEADING ZEROS 1#8 POR Ust T0.20. PRINT ACW) r $20 TF’ 9.1)<30 THEN 4070 In1+1_ GOTO 4060. REM LONORE LEADING ZEROS S070 print! “Tap is8 “FOR Jet To 30. PRINT Btu), 'NEX PRINT 141; reference to the table tells you that decimal 141 is actually the Carriage Return. Similarly, 2545 excludes all characters except for the digits 0 through 9 (176 through 185). Again, statement 2550 converts the ASCII characters to the numbers themselves (i.e., if CHAR = 181, then 181 - 176 = 5). The final Disk Operating System manual is in the works, and it’s going to contain a lot of information. But like all good things, it will take some time. Meanwhile, we have produced some examples that show how to handle the most asked-about situations. DATA FORMAT The first thing to understand about the disk is its information format. Data can be written as fixed-length records or random- length records. All data is written in ASCIL. Fixed-length records are written when you OPEN the file with an “L” parameter. OPEN DAN, L40 will create a file named DAN, whose records are all 40 bytes long. If you only put 20 bytes of information into each, you will waste 20 bytes per record of disk space. Random-length records are actually one byte each, but are grouped together into blocks (logical records) which can be up to 32K bytes long. Each logical record ends with a carriage return. Note that this means the number “1” will require 2 bytes (number followed by a RETURN), and the number 10 will require 3 bytes. If you forget this and later replace ‘‘1”’ with “10”, you will destroy part of the following record (poor pro- gramming practice). USING RANDOM-LENGTH RECORDS Example number one illus- trates the writing of random- 7 contact ‘78 /the best of the user group newsletters for 1978 @eppic computer inc. length records. We simply open the file, then start printing. Each PRINT statement creates one logical record, ending with a car- riage return. Thus, to put items into separate records, we must print them with separate PRINT statements. Each record is just long enough to hold the data you put in it. Now run this program, using strings of less than 20 characters. It produces files called FILE and FILE.PTR, which are used in the following examples. Example two reads the files created by example one. It first reads FILE.PTR, which tells it how long the data file will be. Then (in lines 90-100) it reads in that many records from FILE. This is a sequential read, where each INPUT statement brings in the next record. Lines 210-220 are random access reads (this has nothing to to with random record length), where we read a particular record from the middle of the file. To do random reads, we specify the 5 REM THIS PROGRAM SHOWS HOW TO WRITE RANDOM-LENGTH RECORDS 10 HOME : DIM A$(20), B$(20), A(20):N = 1 20 LET D$ = "": REM CTRL D 3O PRINT “ENTER ‘END’ TO QUIT” PRINT “ENTER STRING #"; Ni INPUT AS(N): IF A$(N) = "END" THEN 60 40 PRINT “ENTER ANOTHER STRING": INPUT B$(N): PRINT “ENTER A NUMBER "i: INPUT A(N) 50 PRINT :N = N+ 1. GOTO 30 40 PRINT D$"OPEN FILE” 70 PRINT D$"WRITE FILE" go FOR X =1TON-1 90 PRINT A$(X): PRINT BS(X) PRINT A(X): NEXT 100 PRINT D$"CLOSE FILE" 110 PRINT D$"OPEN FILE. PTR" 120 PRINT D$"WRITE FILE. PTR" 130 PRINT N- 1 140 PRINT D$"CLOSE FILE. PTR" 150 END 5 REM THIS PROGRAM SHOWS HOW TO READ BACK RANDOM-LENGTH RECORDS 10 LET D$ = "": REM CTRL D 20 HOME : DIM C$(20), D$(20),C(20) 30 PRINT D$"OPEN FILE. PTR" 40 PRINT D$"READ FILE. PTR" 50 INPUT PTR 60 PRINT D$"CLOSE FILE. PTR" 70 PRINT D$"OPEN FILE" 80 PRINT D$"READ FILE" 90 FOR X = 1 TO PTR 100 INPUT C$(X): INPUT D8(X) INPUT C(X): NEXT 210 PRINT D$"READ FILE, R3" 220 INPUT C$(1),D$(1),C(1) 230 PRINT D$"CLOSE" 235 PRINT : PRINT : PRINT 240 PRINT C$(1),D$(1),C(1) 1000 END a IRUN RNDREADER OPEN FILE. PTR READ FILE. PTR 23 CLOSE FILE. PTR OPEN FILE READ FILE ?THIS IS 2AN EXAMPLE 4 20F RANDOM ?RECORD 22 2USAGE 23 READ FILE, R3 2s IS 2?AN EXAMPLE 274 CLOSE S IS AN EXAMPLE 1 desired record, minus 1. Note however that the computer doesn’t know how long each logical record is. (They’re ran- dom length, remember?) Therefore, it uses the physical record size, which is one byte long. (All records are physically one byte long, unless specified otherwise in an OPEN statement.) This means that if we say “READ FILE, R3,” the next INPUT statement will start reading at the fourth character of the file. Try it and see. USING FIXED-LENGTH RECORDS Fixed-length records are all of the same size and format. They offer the advantage of ease of use, since they always present information the same way. On the other hand, they are inflexi- ble. You must know when you start a file how big the largest record will be. Then, any smaller records will waste disk space (since all records are as long as the longest one). Example three shows the use of fixed-length records in both sequential and random access. Note that when writing into such a file (lines 120-150), we must specify each record number in a WRITE statement. Once the file is 10 REM THIS PROGRAM PROVIDES AN EXAMPLE OF RANDOM RECORD ACCESS 40 60 REM INITIALIZATION 70° DIM A$(40)-D$ = CHRS (4) 80 PRINT DS; "NOMON C" 90 REM CREATE FILE OF FIXED LENGTH. 30-BYTE RECORDS, EACH CONTAINING SIMILAR 100 REM ASCII STRINGS 110 : PRINT D$; "OPEN TEST2,L30" 120. FOR I =0 TO 5 190 <> PRINT D$; "WRITE TEST2,R" 140 :: PRINT "NAME ADDRESS "iI 150 © NEXT I 160 REM NOW CHANGE ONE RECORD 170 > PRINT D$; “WRITE TEST2,R3" 180 _ PRINT "APPLE DOS VER 3.1" 200 REM NOW READ THE FILE, LOOKING FOR THE CHANGE PRINT SOMETHING WHEN IT 210 REM IS FOUND 220. FOR J = 0 TO 5 230 ©. PRINT D$; "READ TEST2,R";J 240 INPUT AS 250 IF LEFT$ (A$,5) = "APPLE" THEN PRINT "THIS RECORD WAS CHANGED" 260 - NEXT J 270 REM NOW CLOSE THE FILE, SO YOU WONT GET AN ‘OUT OF DATA’ ERROR WHEN THE 280 REM PROGRAM TERMINATES 290 : PRINT D$; "CLOSE" 300 END RUN NOMON NAME ADDRESS. NAME ADDRESS NAME ADDRESS. NAME ADDRESS: NAME ADDRESS: NAME ADDRESS: APPLE DOS VER 3.1 2NAME ADDRESS O 2NAME ADDRESS 1 ?NAME ADDRESS 2 2APPLE DOS VER 3.1 THIS RECORD WAS CHANGED 7NAME ADDRESS 4 2NAME ADDRESS 5 wrONnHo . * contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. written, we can replace a random record with another that con- tains more characters (lines 160- 180), so long as the new data does not exceed our 30-byte record length. After a change is made, we can scan the whole file (lines 200-260) to find the change, read it, and do something about it. EXECUTE FILES The last example concerns itself with EXEC files. Unlike other files that contain pro- grams or data, EXEC files con- tain commands, just exactly as they would by typed on the key- board by a computer operator. Thus, commands in this file are not preceeded by a CTRL/D, since that’s not what you would type on the keyboard. An EXEC file is created by a program made up for the purpose. It simply opens a file, and then PRINTs each command into it, just as you would have typed i Example 4 shows a typical EXEC-builder program, which creates a file called COM- MANDS. While most operations are straightforward, putting quotes into the file (for string printing, etc.) is tricky. Lines 70-90 show how to do it. After this program has run, you will have an EXEC file on your disk. If you then say EXEC COMMANDS, it will take control of the system, do the specified operations, and return command to the keyboard when finished. 10 REM THIS PROGRAM SHOWS HOW TO BUILD AN EXEC FILE 20 LET D$ = CHR$ (4): REM CTRL D 30 PRINT D$; "OPEN COMMANDS) 40 PRINT D$i "WRITE COMMANDS" 50 PRINT "FP 60 PRINT "FOR I=0 TO 10: PRINT I NEXT I" 70 PRINT "RUN RNDREADER" @0 LET Z$ = "THIS IS THE END OF THE EXEC FILE." 90 LET @$ = CHR$ (34): REM HOW TQ INSERT QUOTES 100 PRINT "PRINT"; Q$; Z$; GS 110 PRINT D$; "CLOSE" 120 END Example 5 illustrates the use of the APPEND command. This command will open a file without “rewinding” it back to the beginning. Thus it allows you to build onto an existing file. The first item added to a file after it is appended will appear immediately following the last item of old data in the file. Try the following example to see how it works. JLIST 1CO REM APPEND FILE 110 HOME :D$ = "": REM CTRL D 120 INPUT "ENTER A STRING: “i AS 130 IF A$ = “" THEN 200 140 PRINT D$"APPEND TEST" 150 PRINT D$"WRITE TEST" 160 PRINT A$: PRINT D$"CLOSE” 170 COTO 120 180 190 200 REM GET IT BACK OUT 210 ONERR GOTO 250 220 PRINT D$"OPEN TEST" 230 PRINT D$"READ TEST" 240 INPUT A$: GOTO 240 250 POKE 216,0: REM RESET FLAG 260 PRINT D$"CLOSE" 270 : 280 : 300 REM THIS PROGRAM DEMON- 310 REM STRATES THE USE OF 320 REM THE ‘APPEND’ COMMAND 330 320 REM IT WILL CONTINUE TO 350 REM APPEND THE ‘TEST’ 350 REM FILE UNTIL A NULL 370 REM STRING IS ENTERED. 330 : 390 REM AT THAT POINT IT WILL 400 REM READ THE RECORDS BACK 410 REM FROM THE FILE. 1 a contact ‘78 /the best of the user group newsletters for 1978 @eppic computer inc. Z OUTSIDE THE ORCHARD NEW PRODUCTS ... of interest to Apple users This column is written as a service to Apple customers, and contains information on products that we feel to be of interest to the user community. Apple Computer Company does not in any way recommend these products, or warrant their suita- bility for use with the APPLE II computer. NEW MODULATORS MEAN NO MORE WAVY LINES Some APPLE II users have noticed wavy lines or color patches on their TV screens caused by radiation from air- planes, motors, or the computer itself. A UHF modulators seem to solve these problems neatly. One new device, called the Sup-R-Mod II, is available at $29.95, from M&R ENTERPRISES P.O. Box 1011 Sunnyvale, CA 94088 The new modulator comes completely assembled, ready to plug into the APPLE II. Another modulator unit, this one from ATV Research, is avail- able to transform APPLE II’s video output to a video-modu- lated UHF signal. For B/W or color, the unit—called the Micro- Verter model MVX-500—outputs a signal tunable to one of four channels above television channel 14. It does not require direct connection to your television receiver’s antenna terminals, and it is powered by four AA cells, which the manufacturer claims will last in excess of 1000 hours. Suggested price: $35, from dealers or factory direct. ATV Research, 13th and Broadway, Dakota City, NE 68731; (402) 987-3771. HARDO-COPY GRAPHICS TERMINAL The Panographic-84 is a pre- cision x-y plotter with 100-step resolution in both directions; it is driven by zero-drift, adjust- ment-free stepping motors. Plotter programs can be written in BASIC or machine-language. Interface to APPLE is via our Parallel Printer card. Soon to be available is a chart reader that will allow you to use the plotter as an input device. The assembled plotter, with com- puter-operated pen lifter and molded cover, sells for $1400 (delivery 60 days ARO); as a kit, without lifter and cover ($995 (90-days delivery)); the pen lifter kit is $85; the cover, also $85. Pan Dynamics, Inc., 2950 Nebraska Ave., Santa Monica, CA 90404; (213) 829-2332. TAPE RECORDER CONTROL ROR and Candex Pacific have announced a relay activator to start and stop audio tape recorders via the REMOTE jack. The activator plugs into the GAME I/O connector on the Apple II, and is controlled with PEEK and POKE commands. Its connector allows the game controls to plug into it so that both devices can be used simul- taneously. Retail price is $24.95, and quantity discounts are available. Delivery is 30 days ARO. Tech- nical questions should be addressed to Candex Pacific, 693 Veterans Blvd., Redwood City, CA 94063. JOYSTICK UNIT According to its manufac- turer, this new full-range joystick has been designed to plug direct- ly into APPLE’s game I/O con- nector. With each joystick are two switches and two trimpots for adjusting to any APPLE II and any application. Compietely assembled, the single joystick sells for $39.95; a double joy- stick is available at $79.95. Quantity discounts are available, and delivery is 30 days ARO. Microproducts Company, 1128 19th St., Santa Monica, CA 90403. (213) 393-8371. Protect your investment from dust, coffee spills, and idle fingers with a heavy duty beige vinyl cover, custom fitted to your Apple I] Computer. For only $6.95 (includes shipping) you can help to insure a long and useful life for your investment. TO ORDER send check or money order to Henwood Enterprises, Inc. 1833 E. Crabtree Dr. Arlington Heights, Ill. 60004 OR call TOLL FREE 800-323- 7360 and use your Master Charge, VISA, or American Express credit card. ANALOG INPUT CARD The AI-02 is a single-card, 16-channel, analog data acquisi tion system for APPLE II. Each channel is individually addressa- ble through software. The analog- to-digital conversion takes 70ys (8-bit resolution), after which an interrupt or a comple- tion flag is activated and the converted value can be acquired by APPLE. Contact the manu- facturer for more information on the AI-02, as well as for informa- tion on other of the firm’s prod- ucts for APPLE, such as a video input interface, and inventory and remote data entry software packages. Interactive Structures 20 contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. Inc., Suite 204, Science Center, 3401 Market St., Philadelphia, PA 19104. (215) 382-8296. INTERFACE BOARD A newly announced peri- pheral interface board contains two 2716 PROMs, 20-mA and RS232 interfaces, a real-time clock, and a parallel output port. The board also has two 16-pin DIP sockets, which may be used to connect the board to an external source. Contact the manufacturer for pricing information on the complete board. A bare board—without components, but with assembly instructions, diagrams, and pro- grams—is available for $29. Delivery, 3-4 weeks ARO. Peripheral Interface, 173-1128 McKercher Dr., Saskatoon, Sask. Canada S7H 4Y7. THE GANG OUTSIDE THE ORCHARD Here is a list of over 50 com- panies or groups that market soft- ware, hardware, or newsletters for APPLE II owners. ARIZONA 1. PROGRAMMERS SOFT- WARE EXCHANGE 2110 North 2nd St. Cabot AR. 72023 CALIFORNIA 2. AJA SOFTWARE P.O. Box 2528 Orange CA. (714) 774-1270 3. APPLE CORE Scott Kamins P.O. Box 4816 San Francisco CA. 94101 4. ASTRO GRAPHICS SOFTWARE 140 Willow Ave. #2 Fairfax CA. 94930 5. CANDEX PACIFIC 693 Veterans Blvd. Redwood City CA. 94063 (415) 364-8427 . CHARLES MANN & ASSOCIATES 1926 South Veteran Ave. Los Angeles CA. 90025 (213) 473-0244 . COMPUTER COMPONENTS INC. 6791 Westminster Ave. Westminster CA. 92683 . DAVID GORDON David Gordon 16956 Tupper St. Sepulveda CA. 91343 - ED AVELAR Ed Avelar 2850 Jennifer Dr. Castro Valley CA. 94546 (415) 538-1235 (9-5) . G2 PROGRAM LIBRARY - GRT CORP. 1286 North Lawrence Station Rd. Sunnyvale CA. 94086 . GEORGE W. LEE George W. Lee 18803 S. Christina Ave. Cerritos CA. 90701 (213) 865-1639 . HEURISTICS INC. 900 North San Antonio Rd. Los Altos CA. . INNOVATIVE COMPUTER PROGRAMS 20. Ron Graff P.O. Box 622 El Toro CA. 92630 (714) 586-2246 . M& R ENTERPRISES P.O. Box 1011 Sunnyvale CA. 94088 . MICROPRODUCTS 1024 - 17th St. Hermosa Beach CA. 90254 (213) 374-1673 . MOUNTAIN HARDWARE INC. §523 Scotts Valley Dr. Scotts Valley CA. 95066 (408) 438-4734 . PROGRAMMA CONSULTANTS 3400 Wilshire Blvd. Los Angeles CA. 90010 - QUALITY SOFTWARE 10051 Odessa Ave. Sepulveda CA. 91343 - RAINBOW COMPUTING INC. 10723 White Oak Ave. Granada Hills CA. 91344 (213) 360-2171 SOFTAPE SOFTWARE EXCHANGE 10756 Vanowen St. North Hollywood CA. 91605 (213) 985-5763 21 contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. 21. STRICTLY SOFTWARE 16720 Hawthorne Blvd. Lawndale CA. 90260 (213) 371-7144 22. WISE OWL WORKSHOP Clifford T. Schafer 1168 Avenida De Las Palmas Livervore CA. 94550 CANADA 23. SPEAKEASY SOFTWARE LTD. P.O. Box 1220 Kemptville - Ontario Canada KOG 130 (613) 258-2451 CONNECTICUT 24. PROGRAM DESIGN INC. Carol Klitzner 11 Idar Court Greenwich cr. 06830 FLORIDA 25. DR. GEORGE L. HALLER Dr. George L. Haller 1500 Galleon Dr. Naples FL, 33490 26. TRANS-DATA CORP. 161 Almeria Ave. - Dept. B-118 Coral Gables FL: 33134 (305) 576-7666 ILLINOIS 27. ELECTRIC KEYBOARD LTD. 1920 N. Lincoln Ave. Chicago ILL. 60614 (312) 751-1555 28. HENWOOD ENTERPRISES INC. 1833 E. Crabtree Dr. Arlington Hts. ILL. 60004 (800) 323-7360 29. WALLACE ELECTRONICS INC. 4921 N. Sheridan Rd. Peoria ILL. 61614 (309) 692-2616 IOWA 30. EARL KEYSER Earl Keyser 22 Clover Lane Mason City IA. 50401 LOUISIANA 31. SOUTHEASTERN SOFTWARE 7270 Culpepper Dr. New Orleans LA. 70126 MARYLAND 32. COMPUTERS ETC. 9330 Georgia Ave. Silver Spring MD. 20910 (310) 588-3748 33. MICRO USERS - SOFTWARE EXCHANGE INC. 7112 Darlington Dr. Baltimore MD. 21234 (301) 661-8531 34. U ASKED 4 IT Stuart Frager P.O. Box 13331 Baltimore MD. 21203 MASSACHUSETTS 35. ERIC ROSENFELD Eric Rosenfeld 70 Lancaster Rd. Arlington MA. 02174 36. PERSONAL SOFTWARE P.O. Box 136 Cambridge MA. 02138 (617) 783-0694 MICHIGAN 37. SYMETEC INC. P.O. Box 462 Farmington MI. 48024 MINNESOTA 38. NELSON R. CAPES Nelson R. Capes 586 Kent Lane Shoreview MN. 55112 MISSOURI 39. MILLIKEN COMMUNI- CATIONS CORP. Bodie Marx 1100 Research Blvd. St. Louis MO. 63132 (800) 325-4136 NEBRASKA 40. ATV RESEARCH 13th and Broadway Dakota City NE. 68731 (402) 987-3771 NEVADA 41. 6502 PROGRAM EXCHANGE 2920 Moana Reno NV. 89509 a = 22 contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. NEW JERSEY 42. CREATIVE COMPUTING SOFTWARE P.O. Box 789-M Morristown NJ. 07960 (800) 631-8112 -in NJ. (201) 540-0445 NEW YORK 43. EBC P.O. Box 138 Freeville NY. 13068 44. PRS. THE PROGRAM OF THE MONTH CORP. 257 Central Park West New York NY. 10024 PENNSYLVANIA 45. ARESCO - THE RAINBOW MAGAZINE P.O. Box 43 - Dept. RP-1178 Audubon PA. 19407 46. INTERACTIVE STRUC- TURES INC. 3401 Market St. - Suite 204 Science Center Philadelphia PA. 19104 (215) 381-8296 47. MICROTRONIX P.O. Box Q- Dept. S Philadelphia PA. 19105 (800) 523-4550 TEXAS 48. B& G INTERFACE P.O. Box 59364 Northhaven Station Dallas TX. 75229 49. DALLAS APPLE CORP. - THE GREENHILL SCHOOL Bob Matzinger P.O. Box 13446 Arlington TX: 76013 50. S-C SOFTWARE P.O. Box 5537 Richardson TX. 75080 UTAH 51. BASIC BUSINESS SOFTWARE CO. P.O. Box 2032 Salt Lake City UTAH 84110 VIRGINIA 52. CH GALFO 602 Orange St. Charlotteville VA. 22901 (804) 296-4832 53. HOME COMPUTER CENTER INC. 2927 Virginia Beach Blvd. Virginia Beach VA. 23452 (804) 340-1977 WASHINGTON 54. APPLE PUGET SOUND PROGRAM LIBRARY EXCHANGE Val Golding 6708 39th Ave. S.W. Seattle WA. 98136 (206) 937-6588 (Eves.) (206) 623-7966 (Days) 55. DARRELL’S APPLEWARE HOUSE 17638 - 157th Ave. S.E. Renton WA. 98055 56. PUGETSOUND PROGRAM LIBRARY EXCHANGE 6708 - 39th Ave. S.W. WA. 98136 (206) 932-6588 23 contact ‘78 /the best of the user group newsletters for 1978 @eppic computer inc. DIRECTORY Here is the start of what we hope will become a comprehen- sive list of APPLE software available from outside sources. If you know about a product that should be on this list and isn’t, please tell us about it. These are the ones we knew about in December, 1978. EDUCATION PROGRAM MEMORY MEDIA PRICE SOURCE BASIC TUTORIAL TAPE $ 9.95 AJA SOFTWARE ENGLISH GRAMMAR 1 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 2 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 3 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 4 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 5 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 6 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 7 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 8 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 9 IN PILOT TAPE $ 10.00 Earl Keyser ENGLISH GRAMMAR 10 IN PILOT TAPE $ 10.00 Earl Keyser GRADING ROUTINE 16k TAPE $ 7.95 Innovative Computer GARDENING TAPE $ 10.00 Earl Keyser 1Q BUILDER: VOCABULARY TAPE $ 12.50 Program Design 1Q BUILDER: Number Series TAPE $ 9.50 Program Design 1Q BUILDER: Analogies TAPE $ 9.50 Program Design INTEGER BASIC TUTORIAL TAPE $ 17.50 Puget Sound Program LEARNING BASIC 16k TAPE $ 19.95 Innovative Computer MORSE CODE TRAINER TAPE $ 10.00 Rainbow Computing Matching Quiz 8k TAPE $ 6.95 Innovative Computer Memory Aid 8k TAPE $ 6.95 Innovative Computer Preschool IQ Builder TAPE $ 9.95 Program Design Step-by-Step BASIC TAPE $ 29.95 Program Design Story Builder/Word Master TAPE $ 9.50 Program Design Study Aid 8k TAPE $ 6.95 Innovative Computer Sell-3 Economic Simulators TAPE $ 10.00 Earl Keyser Vocabulary Word Games (10) TAPE $ 15.00 Earl Keyser Workshop Cassette TAPE $ 5.00 Puget Sound Program Wordsmith, Wumpus TAPE $ 9.95 U ASKED 4 IT 24 contact 78 /the best of the user group newsletters for 1978 @opric computer inc. FINANCIAL CALCULATIONS & DATA HANDLING PROGRAM Apple Disk Business Systems Apartment Building Cost Analysis (needs Applesoft) Asset Record Program Apartment Billing Amortization Schedule Business Inventory * Business Inventory Package Banking & Financial (20 programs) Budget Plan Billings Management Check Verification Program Check Book Check Book Check Book Data Management Program Expense Account Records Executive Management Overview Financial Tutorial Filing System Cross-Reference File File Use Tutorial File Use Tutorial Finances Finances Home Improvement Records Home Inventory Records Home Financial Record Program Inventory of Goods Inventory Invoicing Program Income Tax-1040, A & B Inventory Inventory Package (Sort/POS/ Recorder) Ledger Record System Label Print Label Print Mailing List System Mailing List Management Professional Secretary Package Personal Secretary Package Professional Time Management Program 200 Maintain Inventory File MEDIA DISK TAPE TAPE TAPE TAPE TAPE TAPE TAPE TAPE DISK TAPE TAPE TAPE TAPE TAPE DISK TAPE DISK TAPE TAPE TAPE TAPE TAPE TAPE TAPE DISK TAPE TAPE PRICE “ 35.00 15.00 49.95 50.00 24.00 AAAS $ 40.00 $160.00 $ 19.95 $ 5.95 $ 89.95 $ 49.95 $ 20.00 $ 28.00 $ 20.00 $ 24.98 $ 50.00 $ 49.95 $ 24.00 50.00 15.00 23.00 15.00 23.00 PAHHS 50.00 50.00 20.00 PAS 20.00 89.95 59.95 25.00 35.00 FARAH $125.00 59.95 10.00 18.00 AAW 50.00 79.95 ne 89.95 59.95 59.95 PAS $ 50.00 SOURCE AJA SOFTWARE Rainbow Computing Charles Mann Darrell’s Appleware Programmer Software Computing Components Darrell’s Appelware Ed Avelar AJA Software Charles Mann Charles Mann Trans-data Trans-data Rainbow Computing Charles Mann Darrell’s Appleware Charles Mann Speakeasy Software Darrell’s Appleware Trans-data Trans-data Trans-data Trans-data Darrell’s Appleware Darrell’s Appleware Computer Components Earl Keyser Charles Mann Charles Mann Rainbow Computing Rainbow Computing Darrell’s Appleware Charles Mann Trans-data Trans-data Trans-data Charles Mann Charles Mann Charles Mann Charles Mann Darrell’s Appleware 25 contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. FINANCIAL CALCULATIONS & DATA HANDLING PROGRAM MEMORY MEDIA PRICE SOURCE Program 205 Sort on Part Number TAPE $ 20.00 Darrell’s Appleware Program 210 Print Sales Slips & Updates TAPE $ 50.00 Darrell’s Appleware Program 220 Generates Recorders Report TAPE $ 50.00 Darrell’s Appleware Retail Management System $ 59.95 Charles Mann Software Pac #3 Statistics DISK $ 30.00 Basic Business Software Pac #4 Finance Calculator TAPE $ 15.00 Basic Business Soft II, Financial Pkg & Golf Handicap TAPE $ 10.00 Dr. George L. Haller Stock Market Anlysis TAPE $ 9.95 AJA Software Tax Planning Program $ 89.95 Charles Mann Tax Planning TAPE $ 7.95 Ed Avelar Universal Database TAPE $ 60.00 Darrell’s Appleware Vendor File TAPE $ 50.00 Darrell’s Appleware SCIENTIFIC CALCULATION & MATHEMATICS PROGRAM MEMORY MEDIA PRICE SOURCE METRIC Conversion TAPE $ 20.00 Trans-data METRIC Conversion DISK $ 28.00 Trans-data Math Practice TAPE $ 5.00 Programmer Software Number Converter Bases TAPE $ 5.00 Astro Graphics Number Cruncher $ 9.95 Micro Users Super Math TAPE $ 18.00 Trans-data Super Math DISK $ 25.00 Trans-data Super Math 16k TAPE $ 7.95 Innovative Computer Talking Calculator TAPE $ 12.95 Softape Software LANGUAGES PROGRAM MEMORY MEDIA PRICE SOURCE Apple FORTH TAPE $ 37.00 Programma Consultants Co-resident Assembler Microproducts FOCAL TAPE $ 25.00 The 6502 Program Exc MICRO PRODUCTS Apple Assembler TAPE $ 20.00 Rainbow Computing PILOT Interpreter TAPE $ 20.00 Earl Keyser 6k Assembler/Text Editor TAPE $ 29.95 ARESCO ae _ 26 contact ‘78 /the best of the user group newsletters for 1978 @oppic computer inc. ENTERTAINMENT PROGRAM MEMORY MEDIA PRICE SOURCE Appletalker TAPE $ 15.95 Softape Software Appledian—Irish Jig TAPE $ 10.00 Rainbow Computing Applevision—HIRES GRAPHIC/ MUSIC DEMO TAPE $ 15.00 Rainbow Computing Astrology (Emphemer is needed) TAPE $ 10.00 ASTRO Graphics Artillery Duel TAPE $ 10.00 Programmer Software APPLEODIAN--5 OCTAVES & 12 VOICES TAPE $ 2.00 *SOFTAPE SOFTWARE AWARI, TOWER OF HANOI, HEXPAWN TAPE $ 2.00 *SOFTAPE SOFTWARE Bridge Challenger 16k TAPE $ 14.95 Personal Software Bowling TAPE $ 5.95 AJA Software Bingo TAPE $ 5.95 AJA Software Blackjack TAPE $ 10.00 Rainbow Computing Blackjack TAPE $ 2.00 *Softape Software Bob Bishop’s Hires Starwars TAPE $ 15.00 COMPUTER COMPONENTS Bob Bishop’s Hires Rocket Lander TAPE $ 15.00 COMPUTER COMPONENTS Bob Bishop’s Hires Saucer Invasion TAPE $ 15.00 COMPUTER COMPONENTS Bingo for a Printer TAPE $ 10.00 Darrell’s Appleware Beat the House TAPE $ 14.95 G2 Program Library Biorhythm TAPE $ 10.00 Programmer Software Bomber TAPE $ 9.95 Softape Software Battleship/3D Tic-Tac-Toe TAPE $ 12.00 U-ASKED 4 IT Blackjack TAPE $ 10.00 George W. Lee Bull & Bears TAPE $ 12.00 Softape Software Battleship TAPE $ 7.50 Earl Keyser Color Graphics Game TAPE $ 20.00 Programmer Software Casino Royale TAPE $ 12.00 U ASKED 4 IT Code Breaker, Secret Writing TAPE $ 11.95 U ASKED 4 IT Christmas Carol 8k $ 12.95 Micro Users. Car Race Hires Graphics TAPE $ 7.50 Darrell’s Appleware Clinic TAPE $ 14.95 G2 Program Library Devils Dungeon TAPE $ 10.00 Rainbow Computing Dollars & Sense TAPE $ 14.95 G2 Program Library Dr. Apple—ELIZA TAPE $ 5.00 Earl Keyser Drawing 8k TAPE $ 6.95 Innovative Computer DOJOWO TAPE $ 10.00 Programmer Software Desert/Arctic Survival TAPE $ 10.00 Earl Keyser Don’t Fall 8k TAPE $ 6.95 Innovative Computer Dragon Maze, Digital Derby, Saucer War TAPE $ 2.00 *Softape Software Electric Crayon 8k $ 17.95 Micro Users Escape 16k $ 12.95 Micro Users Fast Gammon TAPE $ 20.00 Quality Software Foreign Legion Commando TAPE $ 9.95 U ASKED 4 IT Funonyms TAPE $ 12.00 Speakeasy Software Fly-Reaction Game TAPE $ 5.00 Earl Keyser *Membership required to obtain these programs 5 a SR SEE EE STS 27 ‘4 contact 78 /the best of the user group newsletters for 1978 @oppic computer inc. ENTERTAINMENT PROGRAM MEMORY MEDIA PRICE SOURCE Graphics Package TAPE $ 3.00 ASTRO Graphics Hangman/Concentration TAPE $ 12.00 U ASKED 4 IT Horse Race DISK $ 25.00 Trans Data Hires Life TAPE $ 10.00 Rainbow Computing Hires Paddle Drawing Routine TAPE $ 20.00 Computer Components Ham Radio (Send/Receive) TAPE $ 18.00 CH Galfo Hot Air Balloon TAPE $ 10.00 Earl Keyser Hyper-Life, & Graphic Demo TAPE $ 2.00 Softape Software King TAPE $ 10.00 Programer Software Keyboard Organ TAPE $ 18.00 Trans-Data Keyboard Organ DISK $ 25.00 Trans-Data Keyboard Organ 4k TAPE $ 6.95 Innovative Computer Life TAPE $ 5.00 Earl Keyser Life TAPE $ 6.50 ASTRO Graphics Life (high speed, variable size) TAPE $ 12.00 CH Galfo Maze Game 16k TAPE $ 12.95 Muse Music Kaleidoscope TAPE 5 9:95 Softape Software Microchess 2.0 16k TAPE $ 19.95 Personal Software Microchess 2.0 TAPE $ 15.00 Rainbow Computing Modeler TAPE $ 10.00 Programmer Software Music Box 8k TAPE $ 12.95 Micro Users Music (3 Octaves) TAPE $ 20.00 Computer Components Microtriva TAPE $ 12.00 Softape Software Othello Game TAPE $ 10.00 Computer Components Oregon Trail TAPE $ 10.00 Earl Keyser Othello, Mastermind, Seven (card game) TAPE $ 2.000 *Softape Software Pinball TAPE $ 10.00 Earl Keyser Quiz Baseball 16k TAPE $ 7.95 Innovative Computer Robots Game TAPE $ 7.50 ASTRO Graphics Rocket Pilot, Saucer Invasion TAPE $ 12.95 Softape Software Road Race, Space War TAPE $ 9.95 Softape Software Save-a-Sketch 8k TAPE $ 6.95 Innovative Computer Save-a-Story 8k TAPE $ 7.95 Innovative Computer Star Wars, Space Maze TAPE $ 12.95 Softape Software SIDE Shows 4k TAPE $ 12.95 Muse Star Trek/Star Wars TAPE $ 10.00 Rainbow Computing Stimulating Simulations— Applesoft IL TAPE $ 14.95 Personal Software Tank War 16k TAPE $ 12.95 Micro Users Trap & Chase (with special hardware) TAPE $ 49.95 B & G Interfaces Tic-Tac-Talker, Spectrum Analysis TAPE $ 19.95 Softape Software *Membership required to obtain these programs 28 contact 78 /the best of the user group newsletters for 1978 @orpic computer inc. ENTERTAINMENT PROGRAM U-Draw UFO, Clean Sweep, Star Wars, Lunar Lander Warlords 10-4 Good Buddy 21 UTILITY & MISCELLANEOUS PROGRAM Apple-Lis’ner Apple Box Mini-Modem Automatic Disk-to-Tape Back-up Copy Best of Bishop Common BASIC Programs (Applesoft) Circuit Logic Development Aid (255 gates) Common BASIC Programs Demos & Newsletter Diet Planning Drug Store’s Patient/Drug File Daily Calendar Demo Cassette with Speechlab Model 20A Data Save to Cassette Disk-Compatible Author-Title Index Program HIRES Drawing Program HIRES Graphics for F.P. Basic Introl Super-Voice Control/ graphics response Instant Library Instant Library Library Pak 1 Library Pak 2 Library Pak 3 Library Pak 4 Menu Memory Verify Memory Aide Memory Aide MEMORY 16k MEMORY 24k MEDIA TAPE TAPE TAPE TAPE TAPE MEDIA TAPE TAPE TAPE DISK DISK TAPE TAPE TAPE TAPE TAPE TAPE TAPE TAPE TAPE TAPE DISK DISK TAPE TAPE TAPE TAPE TAPE TAPE TAPE TAPE DISK PRICE SOURCE $ 17.95 Micro-Users $ 2.00 *Softape Software $ 12.00 Softape Software $ 10.00 Earl Keyser $ 9.95 Softape Software PRICE SOURCE $ 19.95 Softape Software $ 18.50 Puget Sound Program Lib $ 5.00 George W. Lee $ 39.95 Softape Software $ 22.00 Basic Business 10.00 Rainbow Computing 50.00 Programmer Software ne 6.45 Southeastern Software RAS Ed Avelar 50.00 Darrell’s Appleware 50.00 Darrell’s Appleware ARAK $189.00 Heuristics, Inc. $ 20.00 Computer Components w 10.00 George W. Lee 12.00 ASTRO Graphics 30.00 Computer Components nan Mountain Hardware 39.95 Softape Software 39.95 Softape Software ae 5.00 Puget Sound Program Lib 5.00 Puget Sound Program Lib 5.00 Puget Sound Program Lib 5.00 Puget Sound Program Lib AAAS 10.00 Earl Keyser 5.00 Rainbow Computing 18.00 Trans-Data 25.00 Trans-Data *Membership required to obtain these programs AABH 29 4 conzact 78 /the best of the user group newsletters for 1978 @eppic computer inc. UTILITY & MISCELLANEOUS PROGRAM MEMORY MEDIA PRICE SOURCE No-RES Introl Demo-Voice Control of 6 Devices TAPE/DISK Mountain Hardware Rainbow’s Pot-of-Gold (49 BASIC Programs) TAPE $ 49.00 Rainbow Computing Programmed Exercise Program $ 19.95 Charles Mann Super-Talker-Voice Control/ Response TAPE/DISK Mountain Hardware Slow Scan TV Receiver (no hardware required) TAPE $ 18.00 CH Galfo Text Pak #1 (including typesetting) TAPE $ 4.95 Ed Avelar Trade Pak (6 for 6) TAPE Trade Ed Avelar Things To Do $ 24.95 Charles Mann Utility Sort TAPE $ 20.00 Darrell’s Appleware Utility Pak #1 TAPE $ 5.95 Ed Avelar Variable Message 8k TAPE $ 6.95 Innovative Computer Word Processor 20k TAPE $ 50.00 Computer Components Word Processor—Apple Editor TAPE $ 50.00 Darrell’s Appleware 3-D Plot, Etch-a-Sketch, Star Burst TAPE $ 2.00 *Softape Software APPLE BIBLIOGRAPHY Courtesy of: MICRO MICRO IS PUBLISHED MONTHLY BY: The COMPUTERIST, Inc P.O. Box 3 Chelmsford, MA. 08124 $12.00 for 12 issues Compiled by: William R. Dial MOS Technology, Inc., 950 Rit- tenhouse Rd., Norristown, PA 19401 ‘6502 Programming Manual” MOS Technology, Inc., 950 Rit- tenhouse Rd., Norristown, PA 19401 “6502 Hardware Manual” Rankin, Roy and Wozniak, Steve, “Floating Point Routines for the 6502” Dr. Dobbs Journal 1, No. 7, pp. 17-19 (August 1976) Baum, Allen and Wozniak, Ste- phen, ‘‘A 6502 Dissembler” *Membership required to obtain these programs Interface Age 1, No. 10, pp. 14- 23 (September 1976) Rankin, Roy and Wozniak, Ste- phen, “Floating Point Routines for 6502” Interface Age 1, No. 12, pp. 103-111 (November 1976) See also DDJ 1, No. 7, pp. 17-19 (August 1976) Apple Computer Inc., 20863 Stevens Creek Blvd., Cupertino, CA 95014, Byte 2, No. 11, p 252 (Nov, 1977) Ferruzzi, Arthur, “Inside the Apple II’, MICRO, No. 1, pp 9- 10 (Oct-Nov 1977) Schwartz, Marc, “Ludwig von Apple II’, MICRO, No. 2, p 19 (Dec 77-Jan 78). Wozniak, Stephen, “Sweet 16: The 6502 Dream Machine”, Byte 2, No. 11, pp 150-159 (Nov. 1977) Feagans, John, ‘‘A Slightly Sour SWEET 16”, Byte 3, No. 2, p 93 (Feb. 1978). Correction of a slight bug in the Wozniak article in Byte, Nov. 1977. Electronics Warehouse Inc., 1603 Aviation Blvd., Redondo Beach, CA 90278, New Product Announcement. Scogin, Tom, “AppleSOFT Benchmarks: Fast!”’, Kilobaud, No. 15, p 12 (Mar 78) Carpenter, C.R., “Machine Lan- guage used in ‘Ludwig von Apple I’, MICRO, No. 3, p 8 (Feb - Mar. 1978) Notes on an assembled ver- sion of the machine language used by Schwartz, MICRO, No. 2, p 19 in his music program. Carpenter, C.R., “Printing with the Apple II”, MICRO, No. 3, pp 13-16, (Feb-Mar, 1978) 30 w contact ‘78 /the best of the user group newsletters for 1978 @erpic computer inc. Holt, Rod, “The Apple II Power Supply Revisited”, MICRO, No. 3, p 28 (Feb-Mar. 1978) Bishop, Robert J. “Star Wars” Kilobaud No. 14 pp 52-56 (Feb. 1978) Helmers, Carl “An Apple to Byte”, BYTE 3, No. 3, p. 18-46 (Mar. 1978) Anon., “Byte’s Bits”, BYTE 3, No. 4, p 166 (April 1978) Bishop, Robert J. “Rocket Pilot’, Kilobaud No. 13, pg 90 (Jan. 1978) Peoples Computers 6, No. 6 (May/June 1978) Cole, Phyllis “Apple IT’’. MICRO, Issue 4 (April/May 1978) Carpenter, C.R. “Variables Chart”. Carpenter, C.R. “Apple II Printing Update”. Rowe, Mike “A Worm in the Apple’’. Auricchio, Rick “An Apple II Programmer’s Guide”’. Creative Computing 4, No. 4 (July/August 1978). North, Steve “Apple II Computer”. Dawkins, Gary D. “High- Resolution Graphics for the Apple II’. MICRO, Issue 5 (June/July 1978) Rowe, Mike “Half a Worm in the Apple”. See also EDN May 20, 1978. Suitor, Richard F. ““Applayer Music Interpreter”. Carpenter, Chuck “‘Apple II Accessories and Software”. People’s Computers 7 No. 2 (Sept/Oct., 1978) Gaines John “Apple Math”. Conway, John “‘A Tape-to- Microcomputer-Hardware Inter- face Requires a Wealth of Micro- techniques”. EDN 23 No. 6 pg. 101-110 (March 20, 1978). Hemenway, Jack E. “Add Floppies to Your Microcomputer to Form a Real Microcomputer System”. EDN 23 No. 12 pg 98- 107 (June 20, 1978) Kilobaud Issue 23 (Oct., 1978) Bishop, Robert J. “The Remarkable Apple II’’. MICRO, No. 7 (Oct./Nov., 1978) Auricchio, Rick “Breaker: An Apple II Debugging Aid”. Watson, Allen III “MOS 16K RAM for the Apple II. Shryock, William H., Jr., “Improved Star Battle Sound Effects”. Schwartz, Marc, “Apple Calls and Hex-Decimal Conver- sion”. Eliason, Andrew H. “Apple II High Resolution Graphics Memory Organization’. Anon, “Tone Routine for Apple II’. Southeastern Software Newsletter Issue No. 3 pg. 6 (Oct., 1978) Haller, George, “Storing and Re- covering Data in Applesoft II”. Southeastern Software News- letter Issue No. 2 pg. 4 (Sept, 1978) Call - APPLE 1 No. 6 Williams, Don “Key Klicker Routine”. Anon, “‘Routine to Find Page Length”. Anon, “Printer Driver Fixes”’. Anon, “Apple II Mini- Assembler”. Aldrich, Darrell “Use of Color Mask Byte in HIRES’’. Anon, “Memory Map-Apple II with Applesoft Basic Loaded”. Anon, “‘List of Handy Calls”. Apple Computer Staff “System Monitor’’. Huelsdonk, Bob “Memory Test”. Call - APPLE 1 No. 7 (August, 1978) Golding, Val J. “A Disk Utility Program’’. Backman, J.A. “‘Poor Man’s HEX-DECIMAL-HEX Con- verter’. Thyng, Mike “Basic File Handling”. Apple Computer Staff “System Monitor”. Anon “‘Applesoft Zero Page Usage”’. Huelsdonk, Bob “Routine to Print Free Bytes’’. Huelsdonk, Bob “A Patch for Double Loops”’. Apple Computer Staff “Loading Machine Language as Part of a Basic Program”. Reprinted from Contact No. 1, May 1978. Call - APPLE 1 No. 8 (Sept., 1978) Aldrich, Ron ‘“‘Convert”’. Thyng, Mike “‘Arrays”’. Chapman, Dan “Video Dis- play Organization”. Anon “Routine to Save an Array”. (reprinted from Apple Stems Vol. 1 No. 2 July, 1978) Lam, S.H. ‘Monitor Com- mands from Basic”’. Williams, Don “Linkage Routines for the Apple II Integer Basic Floating Point Package”’. Hill, Alan G. ‘“‘Return to TEXT from Graphics”. Anon “Integral Data IP 125- 225 Driver’’. Huelsdonk, Bob ‘‘Printer Driver Fixes”. Call - APPLE 1 No. 9 (Oct., 1978) Cook, John B. ‘“‘Applesoft Tone Routines”. Scott, Michael M. ‘‘A Brief History of Apple”’. Anon, ‘Some Basic Entry Points”. Huelsdonk, Bob ‘‘Sample File Handler”. Golding, Val and Williams, Don “Apple II Integer Basic: Interpretation of Memory”’. Golding, Val “‘Applesoft II Tokens”. 31 @orpic computer inc: 10260 Bandley Drive Cupertino, California 95014 (408) 996-4010 THIRD CLASS US. Postage Paid Permit No. 3440 San Francisco, CA
mp.ls