Skip to main content

Contact Issue No 1 1978 05 Apple Computers US

  • PublicationApple Periodicals
  • Date1978-05-01
  • Pages8
  • SourceContact_Issue_No_1_1978-05_Apple_Computers_US.pdf
← Magazines Contact Issue No 1 1978 05 Apple Computers US
/ 8
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
conedce 7/0. the user group newsletter @oppice computer inc. may 1978 LOCAL hays) v *\ USER GROUPS Apple is springing up all over Local APPLE Il User Groups have begun to spring up all over the world. In an effort to support them, we will publish information on the ones we know about. If you are part of a club that isn’t mentioned here, drop us a line and we'll tell the world about you. If there is no group in your area and you want to start one, talk to your APPLE dealer. Chances are he knows most of the local APPLE Il 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. Here are the groups we know about: APPLE USER GROUP CARR ELECTRONICS CORP. 5811 Geary Blvd San Francisco, CA 94121 Bruce Tognazzini (415) 668-4243 APPLE PUGET SOUND PROGRAM LIBRARY EXCHANGE 6708 39th Ave. Southwest Seattle, Wash., 98136 Val Golding (206) 937-6588 (home) (206) 623-7966 (work) APPLE CORE AVIDD ELECTRONICS 2210 Bellfower Road Long Beach, CA 90815 (213) 598-0444 APPLE USER GROUP DATAMART INC. 3001 N. Fulton Drive Atlanta, GA 30305 Preston Love (404) 266-0336 In addition to the above groups which are oriented around the APPLE Il, there is an APPLE | User Group. For information write to: Joe Torzewski 51625 Chestnut Road Granger, IN 46530 LOOKING AHEAD ZN Curing the Apple Il itch In case you are itchy to add to your APPLE Il system (or even just to learn more about if), here’s what's coming up. BASIC PROGRAMMING MANUAL-This is a beginner's guide to the 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, start- ing late this month. COMMUNICATIONS CARD-A card that lets your APPLE Il talk over the phone with other computers will become available in April. For $180, this intelligent interface will allow the computer fo 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 coming, 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 capability, ON ERR GOTO capability, and much more. It wil be available on cassette in May at $20. 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 controller 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 Il. More details will be available two Issues from now, and the device itself will be out in July. No price has been set. L To ro EDITORIAL by Phil Roybal, Marketing Mor. A funny thing happened on the way here.... This is the first Of an irregularly published series of newsletters aimed at filling you in on what's happening at Apple; and at soliciting the feed- back, product ideas, and people we need to service you, our customer base, In the past, we occasionally let our enthusiasm carry us away. It is offen easy to forget how difficult it is fo actually bring quality products info production. (And that’s especially true when you're dou- bling 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 meeting 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 Il User Group: one that we trust will grow stong 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 fo look at them. While our goal was to publish a software list, descrip- tion of the Software Bank, and Contributor's Form with this newsletter, we started too late. Instead, if’ll be in the next newsletter. For sure. Apple Computer has grown from two men in a garage to 40 people in a moder 20,000 square foot 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 is important to us, We learned that on the way here. PATCHES AND PROGRESS Too many gosubs From time to time, we turn up a pro- gram bug. Although the fixes are incor- porated into future versions of the pro- gram, offen they are simple enough that users can “patch” their present programs to get improved performance. Here are patches for two popular programs: CHECKBOOK and APPLESOFT. CHECKBOOK CHANGES-These changes will make the CHECKBOOK program more efficient, as well as eliminating the “TOO MANY GOSUBS” error message that oc- casionally crops up. Changed sections are underlined. APPLESOFT CHANGES-The following patches to APPLESOFT will fix problerns associated 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 com- CHECKBOOK Program Changes mand mode, or incorporated right into your program. CHANGES ARRAY INDEXING PROBLEM FIX: POKE 6331,32: POKE 6332,150: POKE 6333,41: POKE 6334,234 POKE 10646,133:POKE 10647,177; POKE 10648,162: POKE 10649,5: POKE 10650,165: POKE 10651,132: POKE 10652,96 LONG LINE FIX: POKE 3050,234 POKE 3054,136 POKE 3055,145 POKE 3056, 158 POKE 3057,208 POKE 3052,251 ‘END’ STATEMENT FIX: POKE 2048,210 FRE () FUNCTION FIX: POKE 6143,5 APPLESOFT MANUAL CORRECTION-a small typesetting disaster left us with an incomprehensible example on page 22 of the APPLESOFT Manual. The example should read as shown on page 4. a oe — LINE # FROM TO LIST 0, 32767 LIST 0, 32767 1111 PRINT, Till PRINT -H= 1221 C=Si: VTAB LL. CALL -958: IF 1221 C=S1: VTAB L: CALL -958: IF C<Z THEN 4100 IF C>9999 THEN C<Z THEN RETURN : IF C>9999 1225: D(Q)=C E=4: GOSUB 7, GOTO THEN 1225:D(0)5C:E=4: GOSUB 1230 7. GOTO 1230 1360 PRINT “FROM CHECK #";D(5);" TOC 1960 PRINT "FROM CHECK #"5)D(5);" TO C HECK #";D(S): GOSUB 9: CALL HECK @";D(6): GOSUB 9: CALL Z: BALI=D(O): BALE=D(2) RBI=Dé z a Fs) 1629 IF RBF<-99 THEN RBI=RBI-O: IF 1629 IF RBF<-99 THEN RBI=RBI-O- IF RBF>Z THEN RBI=RBIZ0; RBF=(RBF- RBF>Z THEN RBI=RBI-O: RBF=(RBF— 100) MOD 100 100) MOD 100 1810 GOSUB 6 UB _3Q: T=12: T1=32 1810 GOSUB 6:,T=12:T1=32: FOR L=3 FOR L=3 TO 17: IF P>=CM THEN TO 17: “IF Px=CM THEN 1840 1840 1815 GOSUB_30 1615 REM DELETE THIS LINE ENTIRELY 7860 IF L$="" THEN 1610, IF L$="R" 1860 IF L$="" THEN 1810: IF L$="R" THEN 1100. IF Ls="M" THEN THEN RETURN : IF L$="M" THEN 2440: IF L$="L" THEN 1870: VTAB 2440: IF L$="L" THEN 1870: VTAB L: TAB Q: GOSUB 22: GOTO 1842 L: TAB O: GGSUB 22: GOTO 1842 2250 T=12:Ti=32) VTAB L: TAB O: GOSUB 2250 T=12.Ti=G2: VTAB L: TAB O; GOSUB 2: GOSUB 11,SL=B.B=T: GOSUB 2 GOSUB 11.SL=B:B=T: GOSUB 5S: PRINT " "i C$; ;L=L+0: P=P- 5S: PRINT " "i C$): LeL+0: P=P- S-S: BALI=BALI+R (10): BALF=BALF+ S-S: BALI=BALI+R( 10): BALF=BALF+ R(11): GOSUB 1427: RETURN R(it): GOSUB 1427 2296 GOT! 2620 D(O)SBALT. D(2)=B4LF: D(3)=RBI = P=LM: GOSUB 2: INPUT "START RECORDING, THEN HIT RETUR NLS 2251 IF L¢29 THEN RETURN 2252 INPUT “TYPE /R’ TO RETURN TQ THE HENU. RIN TO /10_ CONTINUE SEARCH] "C$. IF CS="R" THEN RETUR = GOT 2296 RETURN 2620 P=LM: GOSUB 2: INPUT "START RECO RDING, THEN HIT RETURN", LS APPLESOFT Manual Correction crates —— 100 DIM A8(15) 110 FOR I=1 TO 15: READ AS(1): NEXT I 120 FO: 1=1 130 IFAS(I)<=A$(I+1) THEN i180 140 TS=A$(I+1) 150 AS(I+1)=AS(1) 1460 AS(I)=TS 170 F=1 160 I=I+1: IF 1<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, COMPUTER, BASIC 230 DATA MONDAY, "##*ANSWER###", "FOO: « 240 DATA COMPUTER, FOO, ELP, MILWAUKEE, SEATTLE, ALBUQUERQUE HOW TO Problems and solutions Part of a personal computer's charm lies in the fact that it is a creative tool. - Each person uses it differently, to accom- plish different goals, Unfortunately, this makes it difficult to write a manual that adequately covers everything a person might want to do with his systern. The HOW TO section is therefore devoted to answering questions the manuals 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 process 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 pro- gram is at PP, an address which is held in memory locations CA and CB (hexa- decimal), or 202 and 203, decimal. When you type SAVE, the computer transfers to tape everything between PP and HIMEM. Thus, fo tuck machine language into your program 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 running the pro- gram, 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. 2.1n the command mode, type: PRINT PEEK (202), PEEK (203) and write down the results. Let’s call thern m and n, respectively. 3. Load your machine language code into memory using the monitor load capability QKoox.yyyyR). This will put the machine language program into memory below the beginning of the BASIC program, starting at hexa- decimal address ox. 4. Take the starting address of the machine language program and divide it into two parts: xx/xx. Convert each pair of digits from hex to decimal values: a & b; corresponding to the left and right x pairs, respectively. Write them down. 5. Now enter the BASIC command 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 6. 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 pare the values from Step 2, and q is the first line number in your BASIC program. That line number can be O—it will not be erased by the above entry. 7. Now you're done! Don't try to list your program before running if, because all you'll see is a meaningless set of num- bers and symbols, Just tyoe SAVE (be- fore running the program), and it will all go onto tape. Late a LOAD com- mand will bring it all back in. CAUTION! Once you have RUN such a 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. PRINTING LOWER-CASE LETTERS WITH APPLE Hi APPLE Il cannot presently display lower- case characters on the screen, but if has Lower Case Character Generating Program no trouble printing thern on most printers. To create a string of lower-case charac- ters, 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. 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 de- fining AS first, we know its absolute address in memory. Its first letter is stored in address 2053. (If this prograrn 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.) 10 DIM A$(80): REM ie aa MUST BE FIRST VARIABLE DEFINED IN PROGRAM 20 INPUT "ENTER DATA 30 FOR I=1 TO LEN(AS) 40 C= PEEK (2052+1): REM SET _CHASCII VALUE OF "I _TH" CHARACTER OF AS SO IF C<193 THEN 70: REM TEST FOR A NON-ALPHABETIC CHAR. IF FOUND, DQ NOTHING 60 heer qoeest, C+32. REM CONVERT LETTER TO LOWER CASE AND INSERT BACK INTO A® BO CALL foge: REM CLEAR SCREEN 270 PR#¥1: REM TURN ON PRINTER 100 PRINT "": REM CTRL/I &0 N SETS LINE LENGTH TO 80 CHAR 120 PRINT "": REI CTRL/I 40 N RESET S$ LINE LENGTH TQ 40 130 PR#¥0: REM TURNS OFF PRINTER 140 END v RUN ENTER DATATHIS IS AN EXAMPLE OF HOW TO PRINT LOWER-CASE LETTERS this is an example of how to print lower-case letters OUT,OF THE MIST..... Making sense out of wonderful features that no one understands Occasionally we document some won- derful 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 c Normally, entering BASIC with the B command resets the pointers to high and low memory (HIMEM & LOMEM), so that the monitor knows where to begin loading programs. However, 24K systems need a little human help to set the HIMEM pointer. Therefore, before loading or keying In programs, enter BASIC in the command mode and type: HIMEM:24576 When this step is omitted, the system believes if 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 disappear forever PROGRAM LISTING WITH THE TTY PRINTER ROUTINE The hardware/software TTY interface described on page 114 of the APPLE II REFERENCE MANUAL provides an inexpen- sive method of printing on a TTY (output only). The example on page 116 shows how commands can be incorporated into a BASIC program to produce hard copy output. Unfortunately, we left out an example of how to LIST a program on the TTY Here's how. Just enter the command mode of BASIC and type: CALL 880 LUST PR #0 That sequence will enable the TT, list the program, and then return output to the TV screen. USING THE HI-RES ROUTINES A section of the new REFERENCE MANUAL describes the HI-RES plotting routines and mentions that they are available in ROM and on tape, Although the ROMs 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 programs is straightforward, the SHAPE routine gives some people problems because they don't see how fo build and use a shape table. Here’s an explanation. The SHAPE routine reproduces a figure from a set of instructions (the shape table) stored somewhere in memory. But it has to know where to find that table. It has been written to assume that the shape table begins at an address which is pointed to by memory locations 804 and 805. What you insert in those loca- tions depends upon where you built your shape table. Let's use the table example given in the REFERENCE MANUAL (page 53) to illustrate how to build and 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 memory, using the monitor. Let's arbitrarily start at address 900 hex, and fill in the data sequentially, 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 locations 804 and 805, as shown in line 10 of the sample program that follows. (For more details, see the explanation in the HOW TO section under LOADING MACHINE LANGUAGE PROGRAMS .. . .). Then insert informa- tion on color, scale, rotation, etc., into the other memory locations specified in the REFERENCE MANUAL. A BASIC Program Using a Shape Table Ist, CALL 9072: REM INITIALIZE HI-RES ROUTINES 805.9 REM SHAPE TABLE POINTERS SET X LOCATION $0 POKE 802,100. REM” “SET y LOCATION 70 CALL 3761" REM POSITION CENTER OF PLOT 80 CALL 3809. REM CALL SHAPE ROUTINE AND PIECES New modulator means no more wavy lines Some APPLE Il users have noticed wavy lines or color patches on their TV screens caused by radiation from airplanes, motors, or the computer itself. A UHF modulator which operates at Ch. 33 in- stead of Ch. 3 seems to solve these problems neatly. The new device, called the Sup-R-Mod ll, will be available in April 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 Il. Calling all interface card designers Now that several other companies 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 Il, and are generally happy to provide information to pros- pective manufacturers, (Just write and ask for our Prototyping Board Write-up). Our own philosophy is fo build devices that are intelligent (have all control routines in on-board ROM) and are siot independent. However, we must some- tirnes compromise because of design considerations in the system. Therefore, we have made the following restrictions on siot assignments: SLOT # ASSIGNMENT ie) APPLESOFT BASIC ROM Card 6 Second Disk Controller Card 7 First Disk Controller Card In addition, slots 4 and 5 are tentatively reserved for products that may have to be slot-dependeni. Therefore, other manufacturers should design peripherals which are either completely independent 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.
mp.ls