Skip to main content

apple contact v1 197805 ocr

  • PublicationApple Contact
  • Pages8
  • Sourceapple_contact_v1_197805_ocr.pdf
← Magazines apple contact v1 197805 ocr
/ 8
Source: Brutal Deluxe Software — Apple Contact 1978–79, via applearchives.com.
Page 1
Loading…
Text content (OCR)
conedce:O- the user group newsletter @oppice computer inc. may 1978 EATS /62| LOCAL #88.) USER GROUPS YMA 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 sk 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 II, there is an APPLE | User Group. For information write to: Joe Torzewski 51625 Chestnut Road Granger, IN 46530 LOOKING CT AHEAD Curing the Apple II itch 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 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 II talk over the phone with other computers will become available in April. For $180, this intelligent 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-|t’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. (BE=——t > 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 often easy to forget how difficult it is to actually bring quality products into 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. lt 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, descrip- tion 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 from two men in a garage to 40 people in a modern 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. eTST7 PATCHES 2341/7 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, often 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-Ihese 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 problems 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. LINE # LIST 0, 32767 1111 PRINT, 1221 C=S1: VTAB L: CALL -958: IF C<Z THEN 400 IF C>9999 THEN 1225:D(O0)=C E=4. GOSUB 7: GOTO FROM 1230 1360 PRINT "FROM CHECK #";D(5)i" TO C HECK D(6): GOSUB 9: CALL Z: BALI=D(O): BALF=D(2) RBI=Di 32R8) RETURN 1629 IF HEN RBI=RBI-O: IF RBF>Z THEN RBI=RBI-O: RBF=(RBF- 100) MOD 100 ~ 1810 GOSUB 6:,T=12 T1=32: FOR L=3 TO 17 IF P>=CM THEN 1840 THEN 1810: IF L$="R" THEN 1100. IF L$="M" THEN 2440. IF L$="L" THEN 1870: VTAB L: TAB O: GOSUB 22: GOTO 19842 2250 T=12)T1=32 VTAB LL: TAB O: GOSUB 2: GOSUB 11.SL=B.B*T: GOSUB 5S: PRINT “ "i Ci: L=L+O: P=P- S-S. BALI=BALI+R (10); BALF=BALF+ R(11): GOSUB 1427. RETURN 2296 Tt 2620 D(O)=BALT.D(2)=BALF.D(3)=RBL Di4)=RBF,P=LM: GOSUB 2: INPUT “START RECORDING, THEN HIT RETUR Le TO LIST 0, 32767 1111 PRINT :H=Q_ 1221 C=S1: VTAB L: CALL -958: IF C<Z THEN RETURN : IF C>9999 THEN 1225:D(0)=C: E=4: GOSUB 7: GOTO 1230 1360 PRINT "FROM CHECK #")D(5);" TO C HECK #";D(6). GOSUB 9: CALL Z: RETURN 1629 IF RBF<-99 THEN RBI=RBI-O: IF RBF>Z THEN RBI=RBI+0: RBF=(RBF- 100) MOD 100 1810 GOSUB 6: GQSUB 30 T=12: T1=32 FOR L=3 TO 17: IF P>=CM THEN 1840 1815 REM DELETE THIS LIN T1860 IF L$ THEN 181 : THEN RETURN: IF L$= THEN 2440: IF L$="L" THEN 1870: VTAB L: TAB O: GOSUB 22: GOTO 1842 2250 T=12.71=32: VTAB L: TAB OG: COSUB 2: GOSUB 11: SL=B:B=T: GOSUB SPRINT " "; C$: L=L+0: P=P- S-S. BALI=BALI+R( 10): BALF=BALF+ RON), GOSUB 1427 2091 16 c88 THEN RET IF 1_IF L<23 THEN RETURN 22 sa 2620 P=LM: GOSUB 2: INPUT "START RECO RDING, THEN HIT RETURN", L$ APPLESOFT Manual Correction 100 DIM A#(15) 110 FOR I=1 TO 15:READ AS(1I): NEXT I 120 F=0: I=1 130 IFA$(I)<=A$(I+1) THEN 180 140 T$=A$(I+1) 150 AS(I+1)=AS(I) 160 AS$(I)=TS 170 FH1 180 I=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, COMPUTER, BASIC 230 DATA MONDAY, "###ANSWER###", "FOO: " 240 DATA COMPUTER, FOO, ELP, MILWAUKEE, SEATTLE, ALBUQUERQUE HOU 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 system. 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. Wnen you type SAVE, the computer transfers to tape everything between PP and HIMEM. Thus, to 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.In the command mode, type: PRINT PEEK (202), PEEK (203) and write down the results. Let’s call them m and n, respectively 8, 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 beginning of the BASIC program, starting at hexa- decimal address xxxx. 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 xx 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: O 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 O—it will not be erased by the above entry. 7. Now you're done! Don't try to list your program before running it, 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 II APPLE Il cannot presently display lower- case characters on the screen, but it has Lower Case Character Generating Program no trouble printing them 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 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.) 10 DIM A4%(80) 20 INPUT “ENTER DATA", At 30 FOR I=1 TO LEN(AS) 40 C= PEEK (2052+1): REM SO IF C<193 THEN 70: REM 60 POKE 2052+1,C+32: REM NEXT I 80 CALL -936: REM CLEAR SCREEN REM_ BUFFER SET TEST FOR_A 90 PR#1: REM TURN ON PRINTER 100 PRINT “": REM 110 PRINT AS 120 PRINT "" EM CTRL/I 40 N RESET S LINE LENGTH TO 40 130 PR#O0. REM TURNS OFF PRINTER 140 END C=ASCII VALUE OF "I_TH" NON-ALPHABETIC CHAR CONVERT LETTER TO LOWER CASE AND INSERT BACK INTO A® MUST BE FIRST VARIABLE DEFINED IN PROGRAM CHARACTER OF AS IF FOUND, DO NOTHING. CTRL/I 80 N SETS LINE LENGTH TO 80 CHAR RUN ENTER DATATHIS IS AN EXAMPLE OF HOW TO PRINT LOWER-CASE LETTERS this is an example of how to print lower-case letters 2 QUTOF 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 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 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 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 REFERENCE 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 programs is straightforward, the SHAPE routine gives some people problems because they don‘t see how to 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 Lust, 5 CALL 3072: REM INITIALIZE HI-RES ROUTINES EM ROTATION FACTOR 801.0 REM SET x LOCATION BITS 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 II, 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 II, 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 to build devices that are intelligent (have all control routines in on-board ROM) and are slot independent. However, we must some- times 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 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-dependent. 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. @oppic computer inc: 10260 Bandiey Drive Cupertino. California 95014 (408) 9964010 Bulk Rate YG TU: ol sr
mp.ls