'EPTEMBER1981 THE 6502/6809 JOURNAL ■ ^>Xl--.itn_Vi!j;..:r^Vi'T^jfc:>TVi; ^ble Apple Bonus featuring Graphics Jumps and the 6502 creen Print Utiiity for Atari 400/8 6809 Addressing IVIode^ ^ ci|>r>i 'A ^\ N^ #1 i ^ <(> ' Universatility,' It's as easy as 1. 2. 3. » 'Uni versatility' can be found in three versions of Synertek Systems' SYM single board computer — the versatile, universal evaluation board. Over 2QJdQQ SYM-? boards have been used for learning about and evaluating 6502 microprocessors for specific applications. OEM SYM boards are used in hundreds of products. Now Synertek Systems presents the new SYM-l /68 for 6802 microprocessors, and the SYM-? /69 for 6809 microprocessors. These boards are designed to reliably perform the same functions as the SYM-l board for these popular microprocessors. Each SYM board is complete and ready-to-use with its own version of the 4K byte ROM SUPERMON monitor firmware. Modification kits are also available to quickly and easily convert existing SYM-I boards to SYM-I /6S or SYM-I /69 microcomputers. Build on your microprocessor knowledge with the 'uni versatility' of SYM microcomputer boards from Synertek Systems- Every SYM-I . SYM-l /68, and SYM-l /69 single board computer features: • 28 double-function keypad with audio response • 4K byte ROM resident SUPERMON with over 30 standard monitor functions and expandable for individual requirements • Up to 24K bytes of available program memory • Expansion to 4K bytes of on-board static RAM • Expansion to 71 Input/Output lines • Single -i-5V power supply required • Standard interfaces for audio cassette with remote control, 1 85 bytes/second cassette format, TTY and RS-232-C, system expansion bus. four I /O buffers, and oscilloscope single-line display PO. Box 552 Santa Clara, CA 95052 Synertek Telephone: (408) 988-5689 Systems TWX:9IO-338-OI35 Dealer inquiries invited. • About the Cover ■ f. ■ -^, "v. > ■ —' ■■/■■^ ..■■■■■ '-\ "i. — •- V Youi Own Roller Coaster! What is more appropriate this time of year than the midway at a stale fair or a trip to the local amusement park? The graphic on this month's cover is prob- ably not immediately recognizable. But then, it is our first three dimensional live action graphic! As the photo sug- gests, the graphic is of a roller coaster. One of the bonus sections in this month's issue is dedicated to Apple High Resolu- tion Graphics. One article ;:overs the unusual topic of three dimensional mov- ing images. As an example, it shows a roller coaster which you can see moving aroimd its 3D track. So, "Whecece..." Graphic from "True 3-D Images on Apple 11" by Art Radcliffe Photo by Robert Tripp Thanks to Computer Mart of New Hamp- shire for producing the graphic on their equipment. dUCftO is published monthly by: MICRO INK, Int., Chelmsfoid, MA 01824 Second Class postage paid av. Chelmsford, MA 1)1824 and Avon, MA 01322 USPS Publicalion Nurnbet: 4B,1470 ISSN; 0271-9002 Send subscriptions, change of address, USPS Foim 3579, requests foi back issues and all other fulfillment questions to MICRO P.O. Box 6502 Chelmsford, MA 01824 or call 617/256-5515 Sabscnplion lates Pei year US. S18.00 Foreign surface mail $21.(10 Air mail: Europe $36,00 Mexico, Central America S39 00 Middle East, North Africa S42.00 South America, Central Africa 151.00 South Africa, Far East, Australasia $50,00 Copyrisht© 1981 by MICRO INK, Inc. All Rights Reserved /MCftO EdHtorial Readei Feedback Many thanks to the readers who took the time to fill out the questionnaire we included in otn- July issue. We have completed a preliminary analysis and some of the results were very surpris- ing. For instance, we knew that the Apple was the most popular system among our readers, but we didn't suspect that the OSI portion was nearly as high! The proportion of readers using OSI systems at home is approximately equal to that for Apple systems |35.4% vs. 35.0%!, while the Apple systems are used more at work |18.6% vs. 5.8%). The ALVI and KIM percentages also came out a little higher than we expected. Another significant statistic is that more than a quarter of our readers have access to more than one system. Because of this, the percentages below add up to well over 100%. AIM Apple Atari KIM OSI PET/CBM SYM 6809 Other 13.3% 50.0% 6.6% 14.6% 39-0% 12.4% 6.6% 4.4% 2-7% Sixty-three percent of our readers have had some formal training in com- puters, whether it he a masters in com- puter science or a night course in begin- ning BASIC. The average hardware level is somewhere between novice and intermediate |43% novice, 44% inter- mediate, and 12% expert], while the average software level is distinctly intermediate (19% novice, 62% inter- mediate, and 19% expert). Readers were asked to rate (with 1 the best and 5 the worst) the various departments that appear in MICRO. Specialized departments such as Micros in Medicine, PET Vet, and the OSI columns, have understandably lower ratings because of the limited number of readers they serve. Software Catalog Hardware Catalog Editorial Letters 2.3 2.4 2,5 2.5 New Publications 2.6 Bibliography 2.8 OSI columns 3.2 Clubs 3.8 Micros in Medicine 3.9 PET Vet 5.1 Articles overall received higher ratings than departments. The biggest sirrprisc was the lack of interest in Pascal. Specific hardware and software articles received high ratings, but often notes were added; "1 if it's for my system, 5 otherwise." Specific software 1.8 Specific hardware 2.0 Programming techniques 2.0 BASIC 2.1 Applications 2.1 Assembly language 2.2 Tutorial 2.3 General software 2.4 General hardware 2.7 Pascal 4.0 These results are based on only 225 questionnaires. We have twice as many more to process, and will he doing more analysis to help guide our adver- tising, promotion, and editorial efforts. We'll keep you updated on new results. Many readers made specific sugges- tions and comments. While it is im- possible to respond to all of these, you can be assured they all will be read and considered! Thanks again! Canadian Subscribeis: We hope you've received your August issue by the time you read this. [f not, don't despair — it is on the way. Here's the reason for the delay; the post offices here in the U.S. would not ac- cept Canadian mail because of the re- cent strike and subsequent backlog. However, we will be sending the issues August 17, and they should be in your hands soon! Letterbox You'll notice that our letterbox sec- tion rated high among readers answer- ing the questionnaire. However, if you check our table of contents this month, you won't find it listed. Unfortunately, we haven' t been getting enough general letters to present Letterbox regularly. We ask that you send us your com- ments, gripes, or thoughts, so we can rejuvenate this popular department. U'^ f .-^ n JJT vJ-^ No. 40 -September 1981 MICRO - The 6502/6809 Journal li n HI-RES Soccer S2B 95 no. $13.3* '"'O'^f^' " M9 95 no- S43.«« Wursl o( Hunnngion Compuiing S1«.«« BPI IS OFF LIST Apple-Olds S29 95 „o„ $]S.39 Epson M-ao w/cafd & cable $STS.M AuloPahn S29 9b now $11.39 Ml Comp Mulri-Furclion CarQ l9%eFFLIST Gobbler ,,.. S24 95no» $11.19 On- Line Compile' , ,, II%OFFLIST VU#3(Revi5edl ll%eFFL»T Batller Cruiser Action S39 95 no« S33.M UllifTia S39 95 no« S33.»« Gorgpn $39 95 no- $33.«« Super Stellar Trek , $39 95 no™ $33.9« WordStar _ $37 5 00 now $lB«.O0 UailMerge , $12500™^ $I06.I« SuperSort ,, $200 00 rrow $ia«.99 Sentence □ I ag ramming .-,...., $19 95 now $l*.99 Black Beauty $34 95 now $39.*9 Moby Dick ....^ $34. 95 now $19.«9 Dymarc Surge Suppressor , $33.99 Ml Hike n Math ta% OFF LIST I IHlLNTINeT'CN C€MIPiLirilNe BiBSIISiEiilSSISfiili PROGRAMS listed below are on DISK: IS B B n n 13 B n B Q B Q B li B IS B li B B Gamma Goblins $2995/iow $1S.39 DBUaster .,, $22900/.o« $194.39 Tlie Data Facloiy S1 50.00 i.o« S 1 2«.oa Mission Asteroid $19 95 now S1T.M Wizardry 139.95 no« $33.M Brrght Pen $49 95 „„» $43.49 Star Mines $29.95 now $23.39 PFS (Personal Filing System) $95 00 now $ao.*9 PFS Report $95 00 now $8«.*9 WarpFaclar , $39.95 -low $33.99 MicrosoH Adventure $29 95/w* $14.»9 Compu-Matii- Arithmetic $49 95 no« $44.93 Modifiable Database II , $150 00 now SI3T.49 TG Game Paddles $39 95 no- $33.99 TG Jo/ Slick $59 95 no- $se.»« The WizarO 8 The Princess $32 95 no* $18.99 Flight Simulator (disk) S34.95 now $39.30 cwyssey , sag 96 now sas.so Sargon II $34 95 ^w $19.70 Program Line Editor $40 00 now $34.99 Space Eggs $29.95 now $13.39 ViOe* 80-Col Board $350 00 now $399.00 3D Super Graphics $39 95 now $13.99 Compu-Math I or II , ,$40 00 now S34 ea HI-RESCnbbage $24 95 now $11.99 Lords of Karma (cassette! S2000nD« $14.99 ApplePIESFormatterlReg. $129.95) Special $99.99 The Booliof Software $19.95 now $17.99 Versa Wr lie r Expansion Pac- 1 $39 95 now $33.99 Apple II Users Guide , .$14 95 rrow $11.99 Oh Shoot! $19.99 Serendipity SlatiElics or Gfaflebook . , $169.00 now $143.39 ABM (Muse) $24.95 now $31.49 Computer Contlicl $39 95 now $33.99 Computer Air Combat $59 95 now $33.99 The Temple ol Apshai $39.95 now $33.93 Super- Ten II $150.00 now $130.09 Request _ $225.00 now $191.19 Thinker $495.00 now $41O.09 Super Kram , , $175.00 now $148.49 Zork $39 95 now $33.99 Howardsofi Real Estate Analyzer $150 Oo now $119.99 Super Disk Copy-Sensible $30.00 now $13.49 The Landlord $795 now $449.99 NibOle Express $12.95 now $1 1.99 All Nibble Software 13% OFF LIST All Creative Compuiing 19% OFF LIST AllProgiamma 13% OFF LIST nobolWars 13%OrFUST Cranston Manner 13% OFF UST Hayden AS Compiler $200.00 now $169.99 Beneath Apple DOS Book $20.00 now $17.99 Sublogic Animation PacK , is% aH If ■! Me mo rex Disks lOlor $34.99 Pascal Programmer $125.00 no- $104.19 WEC 12' Green/Black S260 no- $319.00 VERBATIMDiSKS|Datalitew/hubnngs-unmarked)Ter(or . . .$37.99 Spanish Hangman , S29.95 now $30.99 Dragons Eye S24 95 now $11.19 Computer Acquire $20.00 now $14.99 Twalas Last Redoubt , $29.95 now $33.39 Snoggle $24 95 now $31.19 D C. Hayes Modem $379 00 now $399.00 Dala Capture 4.0 S60 00 no» $33.99 "Clock" Time Teaching Program , S29 95 now $14.99 Alien Ram $24 95 now $11.19 Alien Typhoon .$24 95 now $11.19 Raster Blaster $29.95 now $33.39 Payroll , _ $395 00 no- $333.49 Home Money Minder .,, _ S34 95 no- $39.49 3-D Skiing .,,,., S24 95 no- $31.19 Dr Daley's Soltware Library $79 95 no- $49.99 Physics I (Educ Courseware) $24 00 no- $31.49 JSS Computer Chemislr7 Si5000no- $139.99 Cook s Touch Typing $14 95 no- $13.49 EAI Literal Comprehension (grades 2-4) ,,.,.., $39 95 no- $33.99 COMPAK MATH Grade by Concept $495 00 now $443.49 Helltire Warrior S39 95 now $33.99 Mimco Joy Slick .... 560.00 now $34.99 Paper Tiger 5G0G . S1795.00now $1499 Mt Com Music System . , _ $545.00 now $479.00 Staiistics (Eflu-ware) $29.95 mo- $13.39 Algebra I (Edu-warel _.i,,.,.. $39 95 now $13.99 Apple Crate $59 95 now $34.89 Creature Venture , , , $24 95 now $31.19 G alaxy Space War I $39 95 no- $31.99 DOSBOSS $2400no- $30.39 Apple Barrel S29 95 no* $33.19 Apple Roots . S39 95 now $33.99 Interlude _ SI9 95now $10.99 ALL INTERACTIVE MICROWAflE 13% aH lltt Meteorites in Space $19 95 now $14.99 Letter Perfect $i4995nD,v $117.39 VisiCalc 3.3 $199.95 no- $149.93 Visiplol $179.95 now $131.89 Visitrend $259.95 now $110.89 Visidei $199.95 now $149.93 Visitefm $149.95 now $117.39 MicrosoftTyping S19.95now $14.99 ASC II Express S99.95 now $84.99 Easy Writer Professional $250.00 now $119.00 ALL AVANT GARDE . 13% aH ll*t DRAGON FtRE 13% aH lUt Ed Courseware Basic Tutor 1 -6 . . $38.19 an. g Special Birthday Sale For Two-Vear-Old computer users To celebrate our daughter Melody's second binhday, we are offering one of the best games we've seen anywhere at a special price. DVNACOHP, maker of exceptionally tine computer software, makes a game called HOQGE PODGE for children ranging from under two years old to primary grades Children learn ihe letters of Ihe alphabet, words, numbers, musical scales, songs and animals The child presses any key on the keyboard and something happens. For example, when 'D" rs pressed, a dog appears who frowns when a bathtub comes into sight - all lo ihe tune of "'Oh Wfiere Has My Little Dog Gone ' Our Melody loves it and lumps up and down in excilemeni when she plays it It s a chance tor her to finally get at the computer after watching Mommy and Daddy use 11 all day. It's Ihe only program we know of lor children that young It runs on (he Apple 11" plus (Applesofl") and needs 4BK plus a disk drive. It lists for $23 95 hut if you say Happy Birlhday Melody "you can have it for SIS 99. We know you ft like it We think it's fantastic g HUHTIMCTON COMPUTING a Post Oflice 80x787 Corcoran. California 93212 Border by Phone 800-344-41 11 _ In California (209) 992-5411 SUPER DISCOUNTS [appkz' SOFTWARE in California (209) 992-5411 ^§f|-T'"- |P|| '^-'^''^ f^^-^-t-i-Mo change Wt lake MasterCard oi ^ISA [include card » and expirdlion dare) CdlilQima re&idenls add 6''c lax incfude S2 OO for postage Foreign and hardware exira Send tor Iree caiaiog Prices suDieci lo change The ultimate APPLE® copy program COPY II PLUS VERSATILE — Copy II Plus copies multiple formats — DOS 3.2, 3.3, PASCAL, FORTRAN, and CPM. FAST — Copy n Plus copies diskettes in less than 45 seconds. That's faster than most other copy programs. Written entirely in ultra fast assembly language. Software, Inc. or check 95 Search no more for that truly versatile, fast copy program. Copy II Plus is the most advanced copy program availahle for the Apple II Computer. Compare capability, compare speed, compare price, then call or write to order Copy II Plus. Requires Apple 11 with 48K and at least one Disk Drive. P.O. Box 3563 Centra) Point, OR 97502 (503) 773-1970 Deliveries from stock. No C.O.D.'s Apple is a registered bademark of Apple Computer, Inc. • • Terrapin Turtle Be one o! the iirst persons to own your own robot. It'siun, nnd unhfce other pets, the Turtle obeys your commands. It moves, draws, bhnks, beeps, hasasanse oi touch, and doesn't need lo be housebroken. Vou and your Turtle con draw pictures, navigate mcRes, push objects, map rooms, and much, much more. The Turtle's activities are limited only by your imagina- tion, providing a challenge lor users ol all ages, interlaces, including software for easy control of Ihe Turtle, are available lor the Apple, Aton,andS-iOObusi:QmpiiterE, Terrapin will give a free Turtle to the person or persons who develop the best program for the Turtle by March 31, 1932, In addition, Terropin will pay royalties. For more mlormation, writeorcoll; Terrapin. Inc. 678 Massachusetts Avenue Cambridge, MA D2139 (617)492-8816 Books available from Terrapiri Turtle Geometry by Abelsonand diSesso An innovative book using Turtle Graphics to explore geometry, motion, symmetry and topology, MFT Press $20.00 Mindstorms by Seymou r Papert An exciting book about children, computers, and learning. Explains the philosophy of the new LOGO language. Basic Books $12. 95 Artiticiallntelligence by Patrick Winston t'xplores several issues including onolysis ol vision and lan- guage. An iniroduclion to the LISP language is incorporated in the second section. Addison-Wesley$l8.95 Katieandthe Computer by Fred D'Ignazio A children's picture book adventure about a young girl's imaginary trip inside a computer. Creative Computing $6.95 Small Computers by Fred D'lgna7,io A book about the future of small computers and robots, aimed at adolescents. Franklin Waits $9.95 No. 40 -September 1981 MICRO - The 6502^309 Journal Jumps and the 6502 The 6502 microprocessor provides a variety of methods for Jumping and branching. Several of these methods are not obvious, and can be very useful to the assembly language programmer. A little-known bug in the JtMP INDIRECT Instruction is also discussed. Mark Bernstein 12 Oxford Street Cambridge, Massachusetts 02138 Personal computers are powerful tools for program development, and many programmers have used them to dis- cover the pleasures of machme and assembly language programming. Since cunent microprocessors are relatively slow, and the available languages [especially BASIC] are even slower, many other computerists find them- selves forced to use assembly language routines simply to get the job done. For- tunately, personal computers are power- ful tools for developing assembly language routines. Since the personal computer is com- pletely dedicated to its user, developing machine language routines is simple and often pleasant. Load a monitor or assem- bler, type in a section of code, and nm it! If the program is correct, the results will be as expected. If the program is wrong, testing will reveal incorrect or unexpected results. Looking at the pro- gram listing should uncover the defect. However, certain instructions are fraught with special difficulties. Whenever an instruction transfers con- trol from one segment of program code to another, the instructions responsible must be perfect the first time. If an LDA or SBC instmctioa is misplaced or oper- ates on the wrong address, the conse- quence will probably be a wrong answer. But if a IMP instruction teHs the compu- ter to execute nonsense, the machine will probably require a complete reset, hoius of typing may be lost, and (worst of all) no record of the run will be pre- served to help the programmer. Not only are control transfers tricky, they are often the dominant considera- tion in choosing a program's structtne. A program that constantly jumps all over the place without apparent rhyme or reason will be difficult to imderstand, A program that uses lots of subroutines called by the JSR instmction is much easier to understand, but may prevent any practical use of the stack. On occa- sion, special and even peculiar methods of transferring control from one program segment to another may be rewarding. In the following discussion, I'll men- tion numerous ways of fUMPing through a program. The related issue of conditional jumps or branches is ignored. The Simple Jump: )MP The basic 6502, jump command is simple, easily understood, and quite useful. The syntax is simply FROM JMP THERE THERE... if the computer executes step FROM, it wUl jump to wherever THERE is. and execute that instruction next. Of course, it is vital that the address THERE contain valid 6502 mstractions! The Simple Subroutine: fSR The (ump-Subroutine instmction fSR is almost as simple as the JMP in- stmction. When the computer executes the command FROM JSR SUBROUTINE it jumps to the adtlress SUBROUTINE and continues execution. Before it jumps, though, it leaves a message on the stack containing the address of the next instruction following the fSR command. When (and if] the subroutine wants to return control to the program that called it, it can simply terminate with the command RTS which jumps to the address on the top of the stack. The usefulness of subroutines in writing simple, efficient programs is too familiar to discuss here. A common problem, though, is what to do with the machine registers (A, X, and Y) when calling a subroutine. In the simplest case, we might allow the subroutine to alter any or al! of the machine registers. This approach is fine for many cases, but clearly inadequate if the calling routine needs to preserve one or more registers containing data, loop counters, or other vital information. ngun 1: Arrangament of registers on stack alter transfer of control. £. STACK POINTER zz: gsKc^'-. -:. return Isb /..•:..:•" ^ address msb / MICRO - The 6502/6809 Journal No. 40 -September 1981 • • Alternatively, we may insist that the subroutine preserve all registers. To do this we may [and nonnally must) use the stack. All subroutines begin with a sequence: PHA (save the A register) TXA PHA (save the X register) TYA PHA (save the Y register) and end with the conesponding se- quence: PLA (retrieve the Y register) TAY (put it bacit into Y) PLA (retrieve the X register) TAX (put it bacl< into X) PLA (retrieve the A register) RTS Note that the order in which registers are placed on the stack is important. The registers must be reloaded in exactly the reverse order in which they were pushed onto the stack. The sequence, "push A, then X, then Y" is standard and has the advantage of storing the registers in alphabetical sequence. The programmer may take a page from the authors of the SYM monitor by ending all subroutines with a [MP to a special routine RESTORE: JMP RESTORE RESTORE PU\ TAY PLA TAX PU RTS Each subroutine must push the registers itself. This may be usefully written as a MACRO if the prograimner's assembler is sufficiently powerful. There are two drawbacks to this method of preserving registers. First, all control transfers are slowed rather drastically by all this pushing and pull- ing from the stack. Moreover, if subroutines are deeply nested, or especially if they are recursive, (that is, if a subroutine calls itself], all the extra registers on the stack may accumulate and exceed the 5502 stack capacity |256 bytes). A stack overflow is almost cer- tain to cause a crash, and may be miserably difficult to detect if it is unex- pected. Of course, each routine could check the stack pointer and abort the program if an overflow is imminent, but this checking adds still more overhead to the control transfer. hi addition, a program that uses the stack extensively for storing registers and subroutine return addresses must be very cautious in using the stack for anything else. In particular, a sub- routine must never leave more or less data on the stack than were present on the stack when the subroutine was called. If the subroutine wants to leave a value on the slack, it cannot simply push it there: LDA ANSWER PHA RTS for the computer will treat ANSWER as part of its return address! To avoid this disaster, it is possible to manipulate the stack more carefully. First, the return address is pulled from the stack and stored somewhere in memory. Next, the answer is pushed on- to the stack. Finally, the return address is replaced on the stack. Notice that if the registers are saved on the stack, they too must be peeled off, stored, and then replaced. Even when the registers don't need to be preserved, the resulting code may seem a bit clumsy: PLA (save the return address) STA BUFFER 1 PLA STA BUFFER2 LDA ANSWER PHA LdA BUFFER2 (replace the return address) PHA LDA BUFFER1 PHA RTS Note also that the calling program or subroutine must remove the result ANSWER from the stack. If some pro- gram segment forgets to do this, disaster is likely to follow. The Relocatable )ump Occasionally, it is important to write a routine which will run, regard- less of where it is stored in memory. For example, some utility programs are designed to be stored in the highest available memory locations of a user's computer, regardless of how much memory he actually has. A normal absolute jump, though, needs to know the address to which the program should jump! If the program is moved in memory, the jump commands stiU point to the old locations. Of course, a computer program (called a relocator] could be written to search out all the absolute jumps and change them, but relocators are difficult to write and easy to fool. The normal method of evading this difficulty on the 6502 is to use a branch instruction which always branches. Since the carry flag is changed infre- quently, the most common sequence is: SEC (force the branch) BCS THERE (aiways branches) Since branches can only jump (up or down) 127 bytes, this technique favors programs with only short-range jumps. When required, though, a sequence of jumps can move control over longer distances: SEC (start jumping) BCS ISLAND (go to ISLAND on the way to THERE) ISLAND THERE SEC BCS THERE SeU-Modifring Code On occasion, it is necessary or con- venient to compute the address to which the computer shotJd jump. An obvious analogy is the BASIC statement: ON I GO TO xxx,xxx,xxx Provided that the program is (at least partially] stored in RAM and not in read- only memory, it is perfectly possible to change the address of a IMP or (SR instruction, LDA DESTINATION (least signiticant byte) STA JUMP -I- 1 (store into the JMP instruction) LDA DESTINATION + 1 (most significant byte) STA JUMP -F 2 JUMP JMP... If required, we could obtain DESTINA- TION from a table, compute it from a formula, or enter it fcom a terminal. This approach is not without its hazards. First, it is dangerous. If the wrong address is stuffed into the JMP in- struction, garbage is likely to be ex- ecuted. If the computer is unlucky, the garbage will crash the computer, necessitating a system reset, which will erase all traces of the offending error. No. 40 -September 1981 MICRO - The 6502/6309 Journal FIgum 2: Illustration of bug In S502 " JMP Indirect" tnstrucllon. JMP (03FF) 0401 0400 03FF 03FE 1 1 33 The computer should look for an address in these locations . . . . 0301 0300 02FF 88 But, instead the computer looks at these locations. Second, many programmers feel thar data [things which are computed) and procedures | instructions which are per- formed] should be rigorously segregated. Preserving the separation of program and data improves clarity and helps en- sure the integrity of both. Finally, many programs may need to be transferred to read-only mem.ory at some point in their livesi clearly wc cannot alter an address which is stored in read-only memory! To use a self-modifying procediu-e in a read-only memory system, a copy of the self-modifying subroutine may be stored in ROM and transferred to read/write memory when the system is initialized. This approach is adopted by Microsoft in its 6502 BASIC. The subroutine NEXTCHAR, which obtains each character in sequence from the BASIC soiurce program, is transferred from ROM to part of memory page zero whenever the system is turned on or reset. Sections of BASIC, and many ex- tensions to Microsoft BASIC [like the "Programmer's Toolkit" produced by Palo Alto ICs Inc.] modify jumps in this routine. While the above discussion used the ]MP instraction as an example, it should be clear that the JSR instruction is equally suitable for use in a self- modifying sequence. ladiiect Jumps: |MP (addr) A further method of selecting the address to which control will be transferred is the indiiect jump: JMP (WHERE?) WHERE? is an address in memory which contains the first 8 bits of a 16-bit number. When the computer executes the indirect jump, it goes to the address stoied in WHERE? The effect is identical to the self-modifying jump described above. The code is cleaner and easier to follow. JMP (indirect] is also one of the most dangerous instructions of which the 6502 is capable. Unfortimately, a confusing design decision (otherwise known as a bug} limits the usefulness of the indirect jump coimnand. If WHERE? happens to be stored in an address ending in hex- adecimal $FF (for example, at $03FF], the 6502 makes a bizzare and confusing jump. The programmer expects the computer to look at WHERE? for the least significant byte of the jump ad- dress, and at WHERE? + I for the most significant byte. Unfortunately, the 6502 does not carry when executing the JMP indirect instruction, and will look for the high-order byte not at WHEREt + 1 but at WHEREi-$FF if WHERE?'s address ends in $FF. Fortunately, if the programmer knows and remembers this hazard, it is not too difficult to avoid. First, he can simply choose to locate all targets (like WHERE?) at addresses which do not end in SFF. Since indirect jumps are relative- ly uncommon, this is often perfectly reasonable. Second, a self-modifying sequence will perform correctly. The disadvan- tages may be worthwhile if the time loss is not critical. However, on rare occasions neither approach is fully satisfactory. An in- teresting example is the design of the 6502 FORTH language for the FORTH Interest Group (by W.F. Ragsdale). Here an indirect jump figures prominently in a cmcial routine, which must run as quickly as possible since it is called dur- ing every single step in the FORTH pro- gram. Ragsdale resigns himself to check each and every possible target for the IMP indirect instmction, and relocates the whole program by a few bytes to move any offending addresses. For- tunately, there is only one chance in 256 that a given address will offend. The 10 MICRO - The 6502/6809 Journal No. 40 - September 1981 • • programmer has some chance of getting away with ignoring this bug if he simply relies on luck. Using RTS to Perfoim a Jump RTS, of course, is normally used to terminate a subroutine. It performs two pulls from the stack, and iumps back to the address indicated by the two bytes it pulls. !n normal usage, this returns con- trol to the instruction that follows the JSR which originally invoked the subroutine. Suppose a subroutine needs to return to an address different from that which called it. For example, we might define a subroutine called KEYBOARD that behaves as follows: Subioutine Keyboard 1. Get the next key depression from the keyboard. 1. Convert the key code to an ASCII character. 3. Is the key the SYSTEM RESET key? (a)linol, then return normally [like a subroutine), fbj If so, return to the system monitor. Do not leave any junk on the stack! End Keyboard One way to implement step i3bj would be to fetch and discard the top two entries on the stack, and then use a simple JMP: PLA (throw out the return address!) PLA (leaving the stack where 11 should be) JMP MONITOR Alternatively, the address of the monitor could be put onto the stack as if it were put there by a }SR instruction. PLA {throw out the old return address, as before) PU\ LDA #L,MONiTOR PHA LDA #H, MONITOR PHA {put address of monitor onto the stack) RTS {go to the monitor) Of course, a subroutine can also change the return address of the subroutine that called it, by looking deeper into the stack. For example, we mi^t have a subroutine WHAT-NEXT? that decides what the highest priority task for the computer is, and changes the return address. Subroutine WHAT-NEXT! 1, Set pointer to DO-NOTHING. 2, Check all sensors. 3, If the room is on fire, set pointer to FIRE! 4. If the room is wet, set the pointer to FLOOD! 5. If the power is failing, set the pointer to FAMINE! 6. Change the return address of the routine that called WHAT-NEXT? to the routine indicated by the pointer. 7. Return to whatever routine called WHAT-NEXT? A common jump usually performed using the RTS instruction is the abort exit. Often, it proves necessary to abort a program immediately upon detecting an error. If the program is called from BASIC or a machine language monitor, the usual method of exit is simply an RTS instruction. If a subroutine must abort the pro- gram, it must be able to return to the master routine |e.g. BASIC), not simply to the routine that called it. If the pro- gram saves the stack pointer when it is first called START TSX {stack contains exit address) STX ABORT then any subroutine, regardless of what other data may be on the stack, can abort execution and exit by restoring the stack pointer: QUIT LDX ABORT original pointer) RTS {back all the way to BASIC) Software Interrupt: The BRK Instruction The BRK instruction allows an interrupt- request to be generated by the program itself. When the computer en- coimters a BRK, it takes the following steps; 1. Stores the status register and the current execution address ■^ 2 on the stack. 2. Sets the BRK flag in the status register. 3. Sets the IRQ Inhibit flag in the status register. 4. Performs an indirect jump via hex- adecimal addresses $FFFE-$FFFF, The BRK instruction is most often used to jump to the system monitor. Since its opcode (00] is a cotmnon ele- ment in data tables, a program running amok has a fair chance to encounter a "BRK instruction" and so, retinn con- trol to the monitor. Also, by writing BRK's on top of normal machine code, a simple software-controlled breakpoint monitor may be implemented and sim- ple tracing performed. Microcomputers, including the 6502, have simple interrupt structures, which cannot accept too much work. Moreover, the obstacles which make jumps difficult to debug make interrupt routines almost intolerably tedious to develop on most personal computers. Hence, use of the BRK routine should not be imdertaken lightly. On occasion, though, BRK comes in handy, either when a special monitor- like routine is to be invoked, or for debugging normal interrupt service routines. Whenever you use it, be sure to remember that RTI will retimi to the calling program, skipping a byte after the BRK, BRK is really a two-byte opera- tion. Also, remember that BRK inhibits interrupt requests. Some machines, notably the Commodore PET, use inter- rupt requests to check the keyboard or display. A mysteriously non- responsive system may result. restore Changing the IRQ or NMI Vectors The subject of interrupt handling is too complex to be considered here. However, changing the interrupt service routine vectors can be a valuable tool in several programs, and must be mention- ed in the context of control transfers. Most 6502 systems place the IRQ and NMI vectors in ROM, but use an in- direct jump (explicit or via self- modifying code) through a RAM loca- tion to service interrupt requests (IRQs], The programmer may alter the RAM ad- No, 40 - September 1981 MICRO - The 6502/6809 Journal 11 diesses to point to his own service rou- tines. Frequently the user's IRQ service routines end by jumping to the normal [system] IRQ routines. For example: BEFORE I IRQ VECTOR — T SYSTEM IRQ SERVICE AFTER j IRQ VECTOR —J USER'S ROUTINE — > SYSTEM IRQ SERVICE Several computers generate periodic interrupts to service their keyboards, displays, or other peripherals. Qther systems possess 6522 timer facilities which may be user-programmed to gen- erate such mterrupts. Setting the IRQ service vector to point to a user routine ensures that the new routine will be ex- ecuted within a fixed period of time. For example, I recently required a modified IRQ routine for the Commo- dore PET. The PET'S screen is only 40 characters wide, and a program has to provide extended text messages and graphics simultaneously. The answer was to scroll the messages across one line of the screen in the manner of a stock-ticker display. The PET generates IRQs every I/60th of a second. When the program had a message to send, it would add a new letter to the left end of the display line, three times a second. As long as more letters remained in the queue, the user IRQ routine was called. After the entire message was sent, IRQ handling reverted to normal until more text was placed in the queue. I should add that, whenever this pro- gram failed while it was being tested, it would leave a stream of amusing but useless text, cycling endlessly across the message line. The only way to stop the thing was to tum off the power! The author gratefully acknowledges the support of the Merck Foundation, whose award of a Merck Foundation fel- lowship helped make this work possible. Mark Bernstein is a graduate student in Chemistry at Harvard University. His research in picosecond laser spectrost:opy, under the direction of Professor Kevin S, Peters, is assisted by several microt:omputers. His most recent project has been implementing a FORTH-like language for laboratory data acquisition and analysis, based on an expanded Commodore PET. iUCftO WHICH EDITING "SMART-TERMtNAL" MONITOR ROM IS BEST FOR YOUR CI P?* OMIER" - fOIT BHSIC MOR V SI BASIC LIERS I DN 1 YGHt^lSF? BV nlCBOS _ . t C Q ?§ ROPI-TEfiM HUE EDITING la E» COLUMH OISPLHV HMO l^l-OPPV DISK BDOTBTHfH' ROM-TERM 1 H 1 P0»»IFOH rlOEO [] EDIT BBitH COPVSILHT 1991 ItlCPO IXlElfFClCC Pf HOV^ia nOTKE THE *e ^OLUHH DISPlOi' ""3* '« SERIES 1 ] Gl-P- svHTO): E"OB^ ftK ors^ii-'fti CDRBECTL' PLSO. THERE 1^ 4 HEtt PfDnt" 1 VEADT^- ROM-TERM II FEATURES AVAILABLE ON BOTH ROMS AT THE TOUCH OF A KEY; • Enter-SrrartTe'mmar' mode tor communications with a time Share Dial-up con-puler network • Select half-duplejt/full-duplex operation. • Select auto or manual line teed al carnage return. • Transmit a pre-prepared memory file trom C1 P to remote corrputer: THis memory tile can be a fnessagc lette' or program and is sent at full speed - savmg time and telephone expense. Programs can be listed to memory file while in basic • Receive a message or program (orall transactions! infoa memory file lorlater review on video, recording on tape and printing The file can be downloaded to basic alter you e«il the "snia't terminal" n.ode • uptoading/downloadmg of programs can be done in this memory file manner or directly into basic liy using a new serial output distributor and a new ■'Control-L" load command. • Return to Basic program operation al the same poinl of eneculion from which you entered the 'smart-terminar' mode • -Smart-Terminar mode can be utilized with the modem/telephone disconnected in order lo prepare memoryfiles. type directly to serial printer, send memory files to printer or tape and to view tapes without interference from basic "Syntax Error." • The serial output distribulorcan be turned on and off with a "controls" keystroke or with a poke which allows easy control of a serial printer from basic. • Basic program lines can be recalled, edited and re-entered. The editing includes backspacing, forward spacing, deleting, typing over, inserting new text, and changing line * (duplicating a linet. During editing, Ihe cursor position and display are wrapped around, allowing operation on and displaying of an entire line up to 72 characters long The preparation of line numbered messages can utilize these features — e"tremely handy for poor spelling typists like me' • Keyboard has been completely corrected to provide standard typing format. By the use of the control and repeat keys as modifiers, any character in the full USASCll 1 28 Character set can be entered from the keyboard. This will give you all the characters you need for running Pascaland other high level languages inaremote computer. • Video output may be halted at any lime for easy uiewing. • Screen clear at keystroke ALL FEATURES ARE nOM RESIDENT AND ALWAYS AVAILABLE AT POWER ON. ADDITIONAL FEATURES PROVIDED IN THE ROM-TERM • Disk bootstrap - In disk operation you can alternate between ROM Basic and Disk Basic with a keystroke Can Warm Start Disk Basic. • Easytransferofprogramsbetweendiskand ROM Basic, fuse the ROM Basiclorediting disk basic programs.! • IWemory files can be stored or recalled in Disk Basic, ROM Basic or the "Smart Terminal" interchangeably ADDITIONAL FEATURES PROVIDED BY ROM-TERM ii" • A48 column i/ideodispiay on series IIC1PfRevision-D"Superboardl Selection of 48or 24 column video with a "Control-V" keystroke Corrected ■Synla- Error" n-essages . ■RECOMMEND THE ROM-TERM II FOR NON DISK OPFRATION OF SERIES II C1P lOR REVISION "D" SUPERBOARDl AND THE ROM-TERM FOR ALL OTHER SYSTEMS. ROM-TERM AND ROM-TERM 11 ARE A LOT MORETHAN JUST "SMART TERMINAL- ROMS. THE EDITING MEMORY FILE ANDOUTPUT DISTRIBUTOR FEATURES ARE INVALUABLE. EASY INSTALLATION JUST PLUG INTO REGULAR C1P MONITOR ROM SOCKET ONLY 159 95' ORDER NOW Check with your Local Dealer. Phone orders/Visa/MC accepted Sent Postpaid on prepaid Domestic orders MICRO-INTERFACE 3111 SO. VALLEY VIEW BLVD., SUITE 1-101 LAS VEGAS, NEVADA 89102 Telephone: (702) 871-3263 12 MICRO - The 6502/6809 Journal No. 40 -September 1981 M M M M END FRUSTRA TIOM! FROM CASSETTE FAILURES PERRY PERIPHERALS HAS THE HDE SOLUTION OMNIDISK SYSTEMS (5" and 8") ACCLAIMED HDE SOFTWARE • Assembler, Dynamic Debugging Tool. Text Output Processor, Comprehensive MemofY Test • HDE DISK BASIC NOW AVAILABLE PERRY PERIPHERALS S-100 PACKAGE Adds Omnidisk (6") to Your KIM/S-100 System • Construction Manual— No Parts • FODS & TED Diskette • $20. +$2. postageSt handling. (NY re*idenM add 7% tax) (specify for 1 or 2 drive ivatemi Place your order with: PERRY PERIPHERALS P.O. Box 924 Miller Place. N.Y. 11764 (516)744-6462 Your Full-Lina HDE Didributor/ Exporter • OSI Disk Users Double your disk storage capacity Without adding disk drives Now you can more than double your usable floppy disk storage capacity— for a fraction of the cost of additional disk drives. Modular Systems' DiskDoubler ''is-a. double -density adapter that doubles the storage capacity of each disk track. The DiskDoubler plugs directly into an OSI disk interface board. No changes to hardware or software are required. The DiskDoubler increases free user disk space from 50K to I20K for mini-floppies, from 201 K to 4aOK for 8-inch floppies. With the DiskDoubler, each drive does the work of two. You can have more and larger programs, related files, and disk utilities on the same disk — for easier operation without constant disk changes. Your OSI system is an investment in computing power. Get the full value from the disk hardware and software that you already own. Just write to us, and we'll send you the full story on the DiskDoubler, along with the rest of our growing family of OSI -compatible products. Modular Systems P.O. BaxIBA Dradell, NJ D7B43 20-1-2S2-DOS3 • S 75.00 S 20,00 $ 45,00 $ 45.00 t 65 00 S 14,95 $ 99,95 $109,95 $ 74,95 $29,95 I 39.95 Z-FORTH IN ROM byTomZimmer „ „ ^, 510 10 times faslerllian Basic, Once you use il, you'll never go back lo BASICI source listing add OSI FIG-FORTH True tig FORTH model fof 0S65D with fig editor named liles, string package & mucii more TINY PASCAL Operates in tIg-FORTH, an exceptional value wtien purcfiased with lorth. TINY PASCALS, documentation FORTH S. TINY PASCAL SPACE INVADERS 100% maclilne code for all systems with 64 chr, video Full color S sound on C2, 4P 8 8P systems. The fastest arcade program available. PROGRAMMABLE CHARACTER GENERATOR ^, ^ , , . „ Use OSI's graphics or make a complete set of your own! Easy to use, comes assembled S tested. 2 Mhz. boards PROGRAMMABLE SOUND BOARD ,, ^, Complete sound system featuring the AY-3-e910 sound chip. Bare boards available. 32/84 CHARACTER VIDEO MODIFICATION Oldest and most popular video mod. True 32 chi. GIF, or 32/64 chr C4P video display. Also adds many other options. ROMS!!! Augment Video Mod with our Roms. Full screen editing, print at selectable scroll, disk support and many more features Basic 4 & Monitor J |f=^ Basics * 133= All 3 for * SS"0 65D DISASSEMBLY filANUAL by Software Consultants. First Class throughout, Amust for any 650 user, * ^^-^^ NUMEROUS BASIC PROGRAMS, UTILITY PROGRAMS AND GAMES ALONG WITH HARDWARE PROJECTS. ALL PRICES ARE US FUNDS. Send lor ow SI. 50 catalogue with free progranHhardcopy) Memory Map and Aulo Load Routine. OSI Software & Hardware 3336 Avon a ale Court Windsor, Ontafio. Canada N9E 1X6 (619)969-2500 3281 CountryBidB Circle Ponliac Townsliip, Michigan 48057 1313) 373-048B No, 40 -September 1981 MICRO - The 6502/6809 Journal 13 GRAPHICS FOR OSI COMPUTERS ^ You Can Produce The Images Shown Or Yours And Program Motion Wfth Our 256 By 256 High Resolution Graphics Kit. ^_ Thats 65,536 Individually Controlled Points On Your TV Screen. iz Increase Column/Line Display. You Can Set Up Your Own Graphic Pixels Including Keyboard Characters And Unlimited Figures. iV This Kit Includes All Parts, Software And Assembly Instructions Required To Get Up And Running. The Included 8k Of 2114 Memory Is Automatically Available When Not Using The Graphics. Boot Up And See 8k More Memory. it Adding The Kit Does Not Affect^ Your Existing OSI Graphics. Use Both At The Same Time Or Separately. ^ Buy The Entire Kit, Including Memory, For $ 1 85.00 Or A Partial Kit For Less If You Have Parts. Board And Instmctions $40.00. Instructions Include Software. SjQm For This Kit Or A Catalog Of Otiier Kits, Software ^nd Manuals Call Or Write: MITTENDORF ENGINEERING 905 Villa Neuva Dr. Litchfield Park, Az. 85340 (602)-935-9734 The Disk Switch • t The Disk Switch will add many hours of useful life to your diskettes, extend the life of your disk drives, and even save energy! Nelson E. Ingersoll 6910 S. Bannock n Littleton, Colorado 80120 In the last year I have become very familiar with my OSI minifloppy system. I have learned its graces, and I have learned its faults. One of its faults is that OS! minifloppy drives have the nasty habit of eating diskettes. Minifloppy drives have spindle motors which turn the diskettes inside their protective jackets. Depending on whether the head is loaded, data can be transferred from the rotating diskette to the system. When the disk head is load- ed it actually comes into contact with the diskette. This contact of the disk head with the rotating diskette is very hard on the diskette. It slowly wears away the oxide, which ultimately results in the destruc- tion of the diskette. However, MPI, the company which makes OSI minifloppy drives, is not blind to the plight of diskettes. The MPI minifloppy drives have included in their circuitry the abili- ty to turn off the spindle motor when the drive is not being accessed. MPI recommends that their drives be turned off two seconds (or ten revolutions of the diskette] after the last access. Regretfully, OSI minifloppy sy stems do not do this- The MOTOR ON line is permanently wired in the ON state. OSI already had a working 8" floppy inter- face with the necessary software to drive it when they decided to mate a mini- floppy with an OSI personal computer. Redesigning the interface and software would have cost a lot of money, and OSI Figure 1 holdIE: C2i 100uf~r 6 INDEX INHIBIT INDEX-INH +5V I. R5 4ro DS-* [H>- DRIVE SELECT INHIBIT Kgti 04 470 -<^ INDEX M I N I F L O P P Y Ds-eQ>- : B -O— O — 33^ -l^OS-B INH 4-5VDC GND [1> 1 customers would have had to pay that cost. So, OSI compromised. They kept the same floppy interface and software, added a few necessary modifications, and passed the savings on to us. Nonetheless, OSI made it imperative that something like the Disk Switch be designed. It is the job of the Disk Switch to turn off the minifloppy spindle motors when the drives are not being No, 40 - September 1 981 MICRO - The 6502/6809 Journal 15 used. The Disk Switch works well for both single and dual minifloppy systems. It is reliable, and will extend the life of the media you use in your OSI system. Let's take a look at how the Disk Switch works. Theory of Operation Figure I is the Disk Switch circuit diagram . The Disk Swi tch mo nitors the HOLD (Head Load) and STEP outputs of the OSI floppy interface. Whenever either of these two signals is active, the Disk Switch activates the MOTOR ON line, thereby turning ON the minifloppy spindle motor. The HDLD and STEP signals from the floppy interface are Exclusive OR'ed together by UlA, a 7486. The resulting signal is used to trigger UlA, the MOTOR ON 74LS123 one shot, into producing a two to three second output pulse. The output of the MOTOR ON one shot is inverted by U3A, a 7438 ope n collector NA ND gate, to become the MOTOR ON signal to the mmi- floppy drives. The MOTOR ON one shot and associated circuitry is the heart of the Disk Switch. All other fimctions of the Disk Switch arc dependent upon the correct operation of this circuit. The 74LS123 is used for U2 because larger value resistors can be used in its timing circuit, thereby allowing the use of smaller capacitors. The 7438 open col- lector NAND gate is used because it can take the electrical load that the minifloppy imposes on the Disk Swtich. The Q output of the MOTOR ON one shot also drives two other circuits. The first is the INDEX Inhibit circuit; the second is the Drive Select Inhibit circuit. INDEX is an output from the mini- floppy drive which indicates the begin- ning of a track. The OSI floppy interface must have the Index signal. When Index is missing, the system will wait for it — forever if necessary. Thus, when there is no Index, the system is locked up. I used this requirement of Index detection to give the spindle motor time to come up to speed before allowing the system to access the drives. The INDEX Inhibit one shot is tri ggered at the begin- ning of MOTOR ON. Its output will in- hibit Index from getting to the floppy interface for about one second. While inhibiting Index in this man- ner adds one second to the minifloppy access time, it is not imreasonable. Figure 2 :nifi!fiiil rimB!:i K F A B DEI C r O A13 CABLE CARRIER A - *5V0C liom *13. la B- GNO (rom »13-ia C - HOLO Irom *13, I D- STEP Irom *13-5 E - MOTOR ON lo AI3-4 (cul iibc«I F - INDEX linm A13-17 IcutUgcal G- INDEX INH lo *13,17 H - DS-A Iram A13-3 Lcullractl I - DS-A - INH ID A13-a J - OS B Irom A13-1B Itullracul K - DS B INH lo A13-18 R6 R5 -© ^ 3 IJ1- laee 3 U3- 7*38 na R4 ^ U2 - 711.S123 -© -« DISK SWITCH Once an access has begun, the INDEX Inhibit circuit will no longer affect the operation of the access. Whether the access is two seconds or twenty, only one extra second is added by the INDEX Inhibit circuit. Note the wiring of the X-OR gate UIB at the input of the INDEX Inhibit circuit. In this configuration the X-OR gate has the function of an inverter. It is cheaper to get an inverter in this matmcr than to add another chip to the parts list. At the bottom of the circuit diagram in figure I is the Drive Select Inhibit cir- cuit. The Drive Select Inhibit de-selects the minifloppy drives v4'hen they are not being accessed. There are several reasons for this. The most important reason is to unload the disk head. The disk head is loaded by the drive- select input when it is active. Unloading the head is useful in preserving the life of the diskette, and the disk head itself. An additional feature of the Drive Select Inhibit circuit is that it lowers the power consumption of the drive by placing it in the stand-by mode. In operation, UIC and UID invert DS-A (Drive Select A| and DS-B (Drive Select B| respectively. The inverted drive select signals are fed into U3C and USD, U3 is a 7438 open collector NAND gate. The MOTOR ON signal on the second inputs of U3C and U3D prevents the drive sel ect signals fr om being passed on unless MOTOR ON is a logic high. Whenever the minifloppy drives have not been accessed for two seconds, the MOTOR ON signal from the MOTOR ON one shot is low. This low at the inputs of U3C and USD forces their respective outputs high. The high output is the false or non-selected level, and neither of the drives is selected. An additional feature of the Drive Select Inhibit circuit is that in a dual minifloppy system it can be jumpered to 16 MICRO - The 6502/6809 Journal No. 40 - September1981 • cause the selection of drives A or B only. This prevents the selection of non- existent drives. Note the jump er mar ked 'A' and 'B'. In the 'A' position DS-B is enabled such that its logical state selects dri ve B. When the jumper is in position 'B', DS-B is dis abled and the unin verted state of DS-A selects drive B. This causes the selection of drive B whenever drive A is not selected. This feature will prevent the accidental selection of non-existent minifloppy drives C and D. The Disk Switch can be simplifed by removing the Drive Select logic. It is not necessary to the operation of the Disk Switch, but helps to prevent diskette wear. In the event that the Drive Select Inhibit circuit is not used, the inputs of UlC, UID, U3C, and U3D should be tied to + 5VDC. Two of the four 470 ohm puU-up resistors, R5 and R6, should also be removed if the Drive Select logic is not used. The pull-up resistors are necessary, since the interface between floppy and system is made with open collector gates. In the case of the four puli-up resistors, the associated signals are not terminated anywhere else. By no w you a re probably wondering about the HDLD si^ml from the floppy interface. What is it for? The answer is simple — nothing! It is a relic of the floppy interface software used with the larger 8" disk dri ves. However, for our heeds the HDLD signal is very useful. Assume that you need to access a track that has already been found. Since the head is already positioned over the cor- rect track, the system will not generate a STEP signal. The only ind ication of the access will be the HDLD signal. 9 Without the use of the HDLD signal an access to the same track would not trigger the MOTOR ON signal, the spin- dle motor wouldn't spin, so the Index signal would not be generated. There- fore, the system would lock up waiting for the Index signal . It was kind of OSI to leave the HDLD signal lying around like that. Construction I have aheady constructed several versions of the Disk Switch, and have installed the final version in three opera- tional systems. All versions of the Disk Switch that I have built easily fit on a 3 by 2 inch perforated circuit board. I have used both wire wrap and point-to-point soldering to construct the Disk Switch. I do not recommend wfre CBM/PET? SEE SKYLES ... CBM/PET? "They laughed when I sat down at my PET and immediately pro- grammed in machine language. . . just as easily as writing BASIC." With the new Mikro, brought to you from England by Skyles Eleclric works, always searchinfi the world for new products for PET/CBM owners. A 4K machine language assembler ROM Ihal plugs Inro your main board. Ai ju^l SRO.OO for [he Mikro chip, \l doe^ all Jhe machine bnguaiC work for you; sli you have Eo do is slarl laying down ihe code. The Mikro retains all (he greai screen editing fealures of (he PET. , ,even all Lhe Toolkit commands. (If you own a Tooikii, of course, | Sit down and write your own machine language subrouLinc, The program you write is the source code you can save. And the machine language monitor saves lhe object code. The perfect machine language answer for most PET owners and for most applications. (Not as professional as [he Skyles Macro- TeA, ,,ni>l as c^pensivc, eiEher,) A great [earning experience for those new to machine language programming but who want to masEer it easily. Twelve-page manual included but we also recommend the book, "6502 Assembler Language Programming," by Lance A, Leventhal at 5t7.00 direct from Skyles, Skyles ^uaraniefs yaur sBfJsfaciion: if yon arc not absolutely happy with your new Mikro, reEurn it to us within ten days for an immediate, full refund. Skyles Mikrn Machine language assembler SSO.OO "6502 Assembler LanguaK* Progrsmniing" by Leventhal IT.OO Shipping and Hand/mg (USA/Canada) SI, SO fEurope/AsiaJ SIO.OO Calif orniii residents must add 5^/tS^^ sales tax, as required. Skyles Electric Works 23111: SouCh Whisman Road Mounlaln View, California 94041 (415) 96S-I735 Visa/Maslereaird orders: call toll free (880) 227-9998 (except California), California orders: please call <41S) 965-1735. /IAI90 ■" S31A>IS 33S 6l3d/l/\ia0" wrap because of the posts that protmde from the board. Wire wrapping the cir- cuit is definitely easier, but the circuit board must be placed in a tight location. I suggest that the circuit be soldered point-to-point. Since there are no high frequency signals in the Disk Switch, the actual layout is not critical. The Disk Switch should be mounted on the A13 floppy interface board to facilitate wiring. The A13 board is the cable carrier for the minifloppy cables, and plugs onto the 505 CPU board. Mounting the Disk Switch on the A13 board is best since all of the signals used are available there. Servicing the Disk Switch is also much easier. The only precaution is to make sure the Disk Switch does not touch the 505 CPU, or whatever board may be located nearest it. Attaching the input and output sig- nals to the Disk Switch is a relatively simple matter. Just locate the appropri- ate traces on the A13 board, make the necessary cuts, and attach the wires. In all cases, the wires from the Disk Switch can be soldered into existing pads. Figure 2 shows where to moimt the Disk Switch on the A13 board. All trace cuts are shown, as well as the locations of the various connections to the Disk Switch. In conclusion I will leave you with a word of caution. You have probably ac- quired the habit of opening the disk drive door when you don't need to ac- cess the disk. It is a reasonable habit that reduces diskette wear. With the Disk Switch this is no longer necessary. You should now leave the door closed when you are using the system. Other- wise, with the door open, the system will miss the Index signal when you try to access a disk. The Disk Switch will time out, and lock you out of your system. There is a simple fix for this that you might wish to try. You can add a pull-up resistor and a grounding switch to pin I of U2, the MOTOR ON one shot- This would a llow you to i ndependently trig- ger the MOTOR ON signal and restart the minifloppy drive. [If you don't feel up to the task of constructing the Disk Switch, you can obtain a kit from DStN Micro Products, 3684 N. Wells St., Fort Wayne, IN 46808. The kit contains all of the necessary parts and costs $29.00 plus $2,00 shipping and handling,) Mcno' No. 40 - September 1981 MICRO - The 6502/6809 Journal 17 Color computer owners Yes, that's right - for as little as $298.00 you can add 32K of dynamic RAM, and a disk interface, to your TRS-80 Color Computer! If you just want the extra memory it's only $199.00, and you can add the disk interface later for $99.00. Just plug the Color Computer In- terface (CCI), from Exatron, into your expansion socket and "Hey Presto!" - an extra 32K of memory. No modifications are needed to your computer, so you don't void your Ra- dio Shack warranty, and Exatron give both a 30 day money-back guarantee and full 1 year repair warranty on their interface. The CCI also contains a 2K machine-language monitor, with which you can examine (and change) memory, set break-points, set memo- ry to a constant and block-move memory. So what about the CCI Disk Card? Well as we said it's only an extra $99.00, but you'll probably want Exatron's CCDOS which is only $29.95 - unless you want to write your own operating system. The CCI Disk Card uses normal TRS-80 Model 1 type disk drives, and CCDOS will even load Model I TRSDOS disks into your color computer - so you can adapt existing TRS-80 BASIC pro- grams. As a further plus, with the optional ROM Backup adaptor, you can dump game cartridges to cassette or disk. Once the ROM cartridge is on cas- sette, or disk, you can reload, examine and modify the software. The ROM Backup adaptor is only $19.95. For more information, or to place an order, phone Exatron on their Hot Line 800-538 8559 (inside California 408-737 71 1 1). or clip the coupon. excellence in electronics exatron DEALER ENQUIRIES INVITED Exatron, 181 Commercial Street, Sunnyvale, CA 94086 n Please send a 32K Color Computer Interface for $199.00 D Please send a CCI Disk Card for $99.00 D Please include CCDOS and manual for S29.9,'j D Also include a ROM Backup adaptor for $19.95 Please add $5.00 for shipping to all orders, and 6 percent sales tax in Calitornia. Name Address City Stale Zip Charge my: U MasterCard Interbank Code nVisa Expiration Date Card D Check enclosed for D Ship COD ($2.00 extra) I Signature •12K RrtM plus Disk InlcrfaCP THS-fll ia ^i Iriid.'nmrk of Tandy -STOP BUYING THOSE "CANNED" SOFTWARE^< J PROGRAMS THAT TURN OUT TO BE COSTLY, W A INEFFECTIVE AND INCOMPLETE. FINALLY THERE V IS ONE SYSTEM, ONE SYSTEM THAT CONTAINS ALL THE ^■ ^ POWER, ALL THE VERSATILITY YOU'LL NEED TO MAKE V A PROGRAMING FASTER. SIMPLER AND ERROR FREE. C.O.R.P.™ V IS AN APPLICATION GENERATOR THAT ACTUALLY WRITES ALL ^ THE SOFTWARE (COMPLETE APPLESOFT PROGRAMS THAT EXECUTE V INDEPENDENTLY OF THE C.O.R.P.™ SYSTEM AND MAY BE MODIFIED BY THE ^ USER) BASED ON INFORMATION SUPPLIED BY THE USER IN ENGLISH. COMPLETE PROGRAM GENERATION TAKES ONLY MINUTES. t THE FIRST ONE, NOT THE LAST ONE IN PROGRAM GENERATORS C.O.R.P.™ CONSISTS OF 5 MAJOR SUBSYSTEMS: A DATA ENTRY PROGRAM GENERATOR ^ A SORT SUBSYSTEM, A UPDATE SUBSYSTEM, A PRINT GENERATOR AND A COMPLETE ' DIAGNOSTIC PACKAGE . TOGETHER THE 5 SUBSYSTEMS MAKE C.O.R.P.™ 'V THE MOST ADVANCED, COMPLETE AND USEFUL TOOL AVAILABLE FOR —YOUR APPLE II'. ALL FOR THE INCREDIBLY LOW PRICE OF $189.95**. - ^ DOLLAR FOR DOLLAR C.O.R.P.™ IS THE BEST BUY IN TOWN! '^ ■m NO OTHER PROGRAM GENERATOR OFFERS YOU SO MUCH ^ VERSATILITY FOR SUCH A SMALL PRICE. TO PURCHASE "^C.O.R.P.™ SYSTEM BRINGTHIS ADTO YOUR ',_ LOCAL DEALER OR WRITE US DIRECTLY. , • MAROMATY & SCOTTO SOFTWARE CORP. P.O. BOX 610 FLORAL PARK, N. Y.1 1001 © Copyright 1981 Maromaty & Scotto Software Corp. ■APPLE is a Registered Trademark of APPLE COMPUTER, INC. ■"Plus Handling and Shipping, N.Y. Slate Residenis please add Sales Tax. It's Time to Stop Dreaming Part 4 By Robert M. Tripp Pans 1 and 2 (MICRO 37:07 and MICRO 38:271 of tl^is series introduced the 6809 microprocessor. Part 3 (MICRO 39:16) described the 6809 in- struction set from the 6502 user's point of view. That topic was easy to cover since there are so many similarities be- tween the two micros. This month's ar- ticle discusses the addressing modes of the 6809, and was more difficult to write. While the 6809 and 6502 do share a number of common modes (although often the nomenclature is different], the 6809 offers a number of new modes which will take some getting use to for the 6502 devotee. These additional modes are very significant and con- tribute a lot to the overall functioning of the 6809. So, the effort involved in understanding them is well spent. Common Modes The following modes are essentially identical between the two micros. The name for each mode is different, but the processing is identical, IMPUED oi ACCUMULATOR (6502) and INHERENT (6809) This mode is used when the effective address of an instruction is "implied" or "inherent" in the instruction itself. Ex- amples on the 6502 are CLC (clear carry bit in status register], INY (increment Y register), RORA (rotate accumulator right, and so forth, "Accumulator" is another form of "implied." Examples on the 6809 are ABX (add B register to X register), CLRA (clear A register), and so forth. The basic addressing element of this mode is that any registers which will be affected are specified within the opcode and do not require additional information. IMMEDIATE The "immediate" mode is identical on the two processors. It takes as its ef- fective address the location(s) im- mediately following the opcode. On the 6502 the immediate data is always 8 bits since that is all that the 6502's registers can handle. On the 6809 the immediate data may be 8- or 16-bit, For example, an LDA #$05 would be 8 bits into the A legister, but an LDX #$1234 would load 16 bits into the X register, ABSOLUTE (6502) and , EXTENDED 16809) These two modes are identical. The effective address is provided in the two bytes following the opcode, LDA $1234 will load A from the absolute /ex tended address $1234. This mode of addressing permits the processor to directly access any location in its 64K addressing space, ABSOLUTE INDIRECT (6502) and EXTENDED INDIRECT (6809) The only instruction on the 6502 which can use the absolute indirect addressing mode is the JMP, Any other instruction which requires an absolute indirect mode must either set the X register to zero and use the indexed Indirect mode LDA |ADDR,X], or set the Y register to zero and use the In- direct Indexed mode LDA (ADR),Y. The 6809 does not require such chicanery, but provides the Extended Indirect mode for all major operations, such as LDA (lUNKj. This makes indirect addressing much simpler. ZERO PAGE (6502) and DIRECT PAGE (6809) These two modes are conceptually similar, and, for the zero page of memory, are identical. On the 6502, any address in page zero may be absolutely referred to by providing only the low 8 bits of the address, with the mode de- fined by the opcode specifying that the high 8 bits are all zero. This makes accessing the 256 locations on page zero faster and requires only one byte of addressing instead of two. The 6809 carries this concept of only providing the low byte of the address a bit further. Instead of forcing the high byte of the address to zeros, it has a separate register called the "Direct Page Register," which contains the high byte of the address. If the DP register is set to zero, which it is automatically on RESET, then a "duect page" mode reference will be identical to the 6502 "zero page" mode. But, the DP reigster may be changed to any other value, allowing the directly referenced page to be anywhere in memory! This function can be very useful. First, it removes the limitation of only 256 bytes of directly addressable memory. Second, and probably more significant, it will support multiple tasks and multiple users. Code can be written which makes all task /user references in the direct page mode. By setting the DP register to a different value for each task/user, there will be no conflict and multiple tasks/users can easily share the same program code. One other addition to the 6809 mode is that fMP and JSR instructions are per- mitted via the Direct page. RELATIVE (6502 and 6809) This mode is used on both micros for the Branch operations. The data follow- ing the branch opcode is added to the Program Counter (PC| to determine the effective address for the branch. On the 6502, the signed data is limited to one byte, providing a branch range of 127 locations forward and 128 locations backward. The 6809 permits the signed data to be either one byte, in which case 20 MICRO - The 6502/6809 Journal No.40-Seplemberl98l • • it is identical to the 6502, or two bytes, in which case any address in the normal 64K addressing space is accessible. The 8-bit mode is called a "short" branch and the 16-bit mode is called a "long" branch. {Note: Several years ago the savings associations of Red Bank, N] and Long Branch, NJ were planning a merger, but it fell through because they did not want to be known as the Long Branch Branch of the Red Bank Bank! But, I digress.) Since the 6809 has a Branch to Subroutine and a Branch Always, the value of the long branch is even geater since fSRs and [MPs can be replaced by the relative BSRs and BRAs. INDEXED Addressing on the 6502 Since the 6502 has 8-bit index registers, its indexing can only cover a range of 256 bytes and the 16-bit base address for all indexing operations must come from somewhere else. This may be an ABSOLUTE 16-bil address as in LDA JUNK,X or STA IUNK,Y. It may be a PAGE ZERO address which assumes the high 8 bits to be zero and directly specifies the low 8 bits as in LDA fUNK,ZX or CMP fUNK,ZY. Or, it may be one of the two special modes which combine indexing and indirect addressing. INDEXED INDIRECT uses X as an index to a set of Page Zero byte-paiis which are 16-bit addresses to the final effective address anywhere in memory. An example is ADC |IUNK,Xj which will take the byte-pair that is X loca- tions above JUNK in Page Zero as the effective address for the operation. INDIRECT INDEXED uses a Page Zero byte-pair as the 16-bit address of the start of a 256-byte section of memory which is indexed by Y. An example is SBC iJUNK|,Y which will take the 16-bit value of JUNK and fUNK + l in Page Zero and add to it the current con- tents of Y to form the effective address. All of the indexed address modes are not available for all instructions, which while not fatal, can be a nuisance. Have you ever written a clever piece of code based on an D^JC |fUNK],Y only to find that there is no such animal?! Although the designers of the 6502 gave us some very useful indexed addressing modes, they were limited by the fact that the X and Y registers are only 8-bit. INDEXED Addressing on the 6809 The best way to understand the 6809 indexed addressing modes is to fhst forget all about the 6502's, While there are some similarities, they are out- weighed by the great differences. So, let's depart trom the comparative evaluation of the 6809 and look at the index addressing from scratch. One of the most important features of the 6809 is that its index registers are all !6-bit. A second significant feature is the multiple index registers: X, Y, S, U, and sometimes PC. That's right! The two stack registers, S and U, can per- form all of the indexing operations, and the program counter, PC, can be used in several special index operations. This is quite different from the 6502 with its two 8-bit index registers. There are three major categories of indexed addressing modes which can use the X, Y, S and U registers. Constant Offset from X, Y, SoiU In this mode, a constant value is added to the contents of the specified index register to form the effective address. This is similar to the Absolute Indexed mode of the 6502: LDA JUNK,X in which )UNK is a 16-bit con- stant value to which is added the cur- rent value of X to form the effective ad- dress. The 6809 supports this 16-bit mode of constant offset, but also pro- vides three other modes: No offset, 5-bit offset, and 8-bit offset. Since the index register is 16 bits, it can contain the entire effective address. It makes sense, then, to have a mode in which the contents of the index are used di- rectly without any additional constants. The instruction of the form LDA ,X on the 6809 will use the current contents of X as the effective address. There are many instances in which the offsets required are within a limited range. For example, if an index points to the base address of a VIA device which has 16 internal registers, only foin bits of offset would be required to access all registers. Why use 16 bits when fewer will suffice (especially if you can save time and space with a smaller value]? The 5-bit constant offset of the 6809 provides for a signed offset which can cover the range of + F to - F locations from the 16-bit index. The format of the instruction is the same as for the 16-hit constant offset: CLR JUNK,Y but fUNK is now a 5-bit or less signed value. .'S imi larly, the 6809 provides an 8-bit constant offset . It covers a range of + 7F to - 7P locations hom the 16-bit index. In summary, the 6809 provides four forms of Constant Offset indexing; No Offset, 5-bit Offset, 8-bit Offset and 16-bit Offset. Each mode of increasing the number of bits requires either more instruction cycles, more instruction bytes, or both. Accumulator Offset from Index Register The 6809 can use one register to index another. Any one of the accumu- lators, A, B, or D, can be combined with the X, Y, S OT U registers. The instruc- tion form is INC B,U which will per- form a two's complement addition of the B register and the U register to form the effective address. All combinations are valid and may be used for all major operations. The Accumulator Offset mode can be very powerful in perform- ing table lookups in which the position within the table is calculated by some routine and then implemented through this indexing mode. The A and B registers provide 8-hit signed offsets; the D register provides a 16-bit signed offset. Auto Increment/Auto Decrement One very common use of an index is to step through a set of values. This is used in searching a table, moving a number of bytes from one location to another, and so forth. The 6809 provides four modes which either increment or decrement the index register as part of each operation. All four index registers may be used. They may be incremented or decremented by one when used for stepping through a table of single bytes, or may be incremented or decremented by two when working with 16-hit words, such as addresses. The form of the single increment is LDA ,X -i- in which X has the 16-bit address which is used by the instruction as the effective address, and which is then incremented by one after the operation has taken place. The double increment form is LDA ,'i + + and the register is in- cremented twice after each operation. The decrement modes work in an identical fashion except that the decre- ment is done before the operation. If X contained $2000 at the start of a decre- ment instruction such as LDA , - X then the value loaded into A would come from location SIFFF, A double decre- ment instruction would be STA , S. Note that the minus sign|s] in the decre- ment comes before the register and that the plus sign(s) in the increment comes after the register. This indicates the order of the operation: decrement before the operation and increment after the operation. Program Counter Relative Addressing The previously discussed indexing modes all use the X, Y, S or U registers. It is very important in writing position- independent code to be able to refer to data in a position- independent manner. One way this is supported on the 6809 is No. 40 - September 1981 MICRO - The 6502/6809 Journal 21 Indexed Addressing Mode Summary for the 6809 £ Type Forms Non-lndiiect Indirect Constant Offset from R (2's Complement Offsets) No Offset 5-bit Offset 8-bii Offset 16-bit Offset ,R n,R n,R n,R [.R| defaults tc |n,R |n,R 8-bit Accumulator Offset from R |2's Complement Offsets) Auto Increment/ Decrement Constant Offset from PC (2's Complement Offsets) Extended Indirect A Register Offset B Register Offset D Register Offset Increment by 1 Increment by 2 Decrement by 1 Decrement by 2 8-bit Offset 16-bit Offset 16-bit Address A,R B,R D,R ,R + ,R+ + ,-R ,--R n,PCR n,PCR xxxxx |A,R |B,R |D,R not allowed l,R++| not allowed i,--R| [n,PCR| In,PCRl In] NOTES; R is X, Y, S or U register. Extended Indirect is not an index mode but is included in the table for the sake of completeness on the Indirect Addressing forms. through an indexing mode which uses the current value of the Program Counter Register |PCR) as the base for calculating the effective address. There are two forms of this mode: 8-bit offset and 16-bit offset. These two modes are identical except for the size of the offset. LDA JUNK,PCR will add the 8-bit or 16-bit offset of "JUNK" to the current value of PCR to calculate the current location of JUNK. This is identical in concept to the Relative Addressing used by the Branch instructions. Combined with the Load Effective Address instruc- tion, this mode permits the easy loading of an index register with the relocated address of a table, LEAY TABLE,PCR will put the absolute addresss of TABLE into the Y register where it can be used by the other modes of indexing to access the entire table. INDIRECT Addressing on the 6809 All of the indexing modes discussed above, with the exception of the Auto Increment One and Auto Decrement One, can also have a level of Indirect addressing. This means that all of the calculations which go into producing the Effective Address take place as usual, but then this Effective Address is used to access a location which contains the final Effective Address. This pro- vides many modes for implementing the Indexed Indirect which the 6502 sup- ports in a limited maimer for the X register only. The indirect Indexed mode, which is very important on the 6502, is not need- ed as such on the 6809- Since the 6809 has a variety of ways of getting the cor- rect 16-bit address into one of its four in- dex registers, there is no real need for the "indirect" portion of the mode. Why specify an address "indirect" on page zero as in the 6502 when it can be specified "direct" so easily on the 6809? The "index "portion of the mode is, of course, supported by all of the normal 6809 indexing modes. Summary This fom-part series has presented an introduction to the 6809 micro- processor as seen throtigh the eyes of a 6502 user. If it has encouraged you to find out more about this potential suc- cessor to the 6502, then the series has served its purpose. As an admitted novice on this particular micro- processor, I have tried to make an ac- curate presentation of the major features of the 6809, but may have made some mistakes! If you are serious about using this device, 1 recommend that you ob- tain the MC6809 or MC6809E data sheet from your Motorola represen- tative!. I am actively working with the 6809E on the Flexi Plus board that my sister company The COMPUTERIST, Inc. introduced in August 1981. I am sure that I will be finding out a lot more about this micro and will write addi- tional articles as needed. Meanwhile, several very knowledgeable 6809 com- puterists have offered to write articles. It will obviously take time to get our coverage of the 6809 rolling, so, if you have 6809 information to contribute, please cont act me. 6809 SYSTEMS (^1 6809 SYSTEMS (^ 6809 SYSTEMS (^1 6809 SYSTEMS (51 pr ^— ^- Gimix Jht Cgmpaitf that dutUtn QuBlHy EJecrronic ofOHucta since JS7S Fealurmg Ihe GIMIX mainlrama wild 30 amp C.V. iBrra-fesonanl power supply, litteen 50 pin and eighl 30 pin slol Mother Board; 2 mi GPU «.ilh lime ol day clock S baHeiy back-up, IK HAM, 68m ptogrammable Iimer, pioviSiDns lof 9511A or 9512 For further mlamtm. orlcingsnO Brocrtuies, contact Anlhmelic prpcessois. and A PROM/ROM/FfAM sockets Ihal can liold up lo 3^KB ol munitpf m user soflware VARIETY- you can have 33KB. 56KB. 128KB anO up ol sialic RAM. Vou Mn use i and/or 8' disk drives, single or double density, single or douDie sided, and single or doude iraoKmg with GIMIX disk contrpliers. You have a wide ctioice ol ssnal or parallel i/O cards EXPANOABiny; Vou can add meniory, l/Os. VWeo m Gfaptiics cards, Ariltimelic procEssofs, adflilioiial flrue capacity, and other HarDware now oi in me lutLije to Ifiis ES5D bus siruclured system Irom GIMIX or olbei SS50 bus compatible maniilaciurafs 1337 WEST 37lh PLACE. CHICftQO, IL60609 SOFTWARE VERSATILITY: GIMIX syslems can use TSC'S FLEX or UNIFLEX and MICFIOWARES OS-9 opeiating syslems. A wide (312) 9Z7-5S10 • TWX 9iO-2Z1-W5S variety ol soHware and languages is available lor itiese syslems ,„,=w™n iiinpm=rt!i DUALITY: All boatfls ate assembled, burned-m, and tested and leature GOLD PIATEO BUS CONNECTORS. Only top quality com- '^""* liGim iT ponenls ate used and all beards are lully buttered lor inaiitTiutr system expansion. All boards t^otre complete with bus connectors and all nEcessary instruction and documentalion. Fiei anO Jniile. are iraOEmarks ol Tsrhnicat Systems GIMIX designs, manufactures and lests. inhouse. their complele line ol products, ComplBle systems atB available to fit your Consulliinr^ inc 059 i^ a irademark ol Micro*ara Inc See needs Please contact \t\e lactory i1 yoii have any special requirements. ineir 3D b I or oihEr EIMIX comiidiiiiie ^oliwarE. 22 MICRO - The 6502/6809 Journal No. 40 - September 1981 A TEAM OF 6809 SUPERSTARS: Smoke Signal's Chieftain™ Computer, and Software by IMicroware HERE'S THE TOTAL 6809-BASED SYSTEM TOR THOSE WHO DEMAND UNSURPASSED POWER, fLEXIBIUTY AND RELIABILITY After years of worldwide use in diverse and challenging appli- cations, the outstanding performers in 6809 computer opera- tions are SMOKE SIGMAL and MICROWARE. These leading companies are recognized as the undisputed choices whea there is no room for compromises. WHY snout SIGNAL APiD niCROWARE LEAD THE 6809 riELD Smoke Signal began pioneering research and development on 6800/6809-hased computer systems back in 1977. Microware worked three years to perfect OS-9 and BAS1C09. Both companies have evolved outstanding 6809-based products from early engineering research, and both pay almost fanatical attention to detail. For example . , . SMOKE SiariAL'S 6809-based Chieftain'" computer series has proven its superiority in hundreds of demanding tasks. From gold-plated connectors to high est -quality materials throughout, each Chieftain'" Is built to deliver absolute dependability from day one, and stay that way through years of service. 4EHDUIIANCECERTIFTED ^ ^l^n-nl q Luilbry tiiiil T/i iww.i r ittitl piM" I iri^ irrifir^ iPinpuiiriil h lln' ihl cir Every Chieftain™ is meticulously EnDURAnCE-CERTIFIED at 2.2 MHz. That's SMOKE SIGNAL'S endorse- ment of product perfection. MiCROWARE's state-of-the-art 05-9 UniX'-liKe operating system and the BASIC09 language have been developed in close coordination with computer manufacturers to masimize optimum system performance. The finest possible support and "UMX is a trademark of Bell Telephone Laboratories. SMOKE SIGNAL BRUDCISTING mOKM/APtE 31336 VIA COLINAS WESTLAKE VILLAGE, CA 91362 TEL (213) 889-9340 documentation further ensure satisfaction. Microware software performance is best summed up in this remark by a 25-year computer veteran: "BASIC09 IS Wr. ritiEST tllQti-LEVEL LAHGUAGE I'VE EVER SEEH in TtiE imusTmr Thousands of engineers and programmers use MICROWARE software products as their standard time-saving tool ... to eiLCCute process-control applications , . , and for other vital functions. CORGI, and PASCAL are also available under the OS-9 operating system. HOW THIS REnARKABLE TEAPI OF COnPUTER SUPERSTARS CAM SERVE YOV SMOKE SIGriAL's Chieftain'" computer provides an array of configurations ranging from 5W-inch drives for single-user applications to multi-user, multi-tasking capabilities. Winchester hard-disk drive systems are also available. In other words, breathtaking power with as little as 48k memory; Mictoware's 05-9 level Two can access up to one full megabyte that your Chieftain'" can address! One more sampling of the awesome processing potential at your fingertips with the Smoke Signal Chieftain'" computer: MICROWARE'S Stylograph screen-oriented word processing package instantly makes Chieftain'" an easy-to-use document preparation system with comprehensive editing commands. THERE'S nucn, nUCn nOREI Call or write SMOKE SIQMAL for details on Chieftain" computers and MICROWARE software. SliOKE SIGnAL Dealer opportunities are still available . . . please request information. D Send information about Ctiieftain'" computers and Microware software. n Provide information about Smoke Signal's Dealer program. Name Address. City . State.. -Zip. Telephone i The Newest In Apple Fun We've [aken five of our mosi popular programs and combined Ihem info one tremendous package full of fun and e;icilemen[. This disk-based pm:kage now of- fers you ihese greal games: Mimk — How good is your memory? Here^s a chance Lo find oul! Your Apple will display a sequence of figures on a 1 X 3 grid. Vou mus! respond wilh the ex- act same sequence, wilh in ihe Lime limil. There are five differcnl, increasingly difficult ver- sions of [he game, including one that will keep going indefinitely. Mimic is exciting, fast paced and challenging — fun for all! Air Flighl Simulalion— Your mission: Take off and land your aircraft without cra.shing. Vou're n>tng blind — on instruments only. A full lank of fuel gives you a maximum range of about 5Q miles. The computer will constantly display updates of your air speed, compass heading and altitude. Your most important inslrumeni is the Angle of Ascent /Bank Indicator. It tells if the plane is climb- ing or descending, whether banking into a right or left turn. After you've acquired a few hours of flying lime, you can Iry flying a course against a map or doing acrobatic maneuvHs, Gel a Utile more llight time under your belt, the sky's the hmit. Colonnaster — Test your powers of deduction as you try to guess the secret color code in this Mastermind- type game. There are two levelsof difficulty, and three options of play lo vary your games. Not only can you guess the eompulH's color code, but it will guess yours! El can also serve as referee in a game between two human opponents. Can you make and break the color code . . . ? S(w Ship Atl»ck— Your mission is to protect our or- biting food slalion ralellites from destruction by an enemy star ship. You must capture, destroy or drive off the attacking ship, if you fail, our planet is doomed . . . Trllogj— This conlcsl has its origins in (he simple game of tic-tac-loe. The object of the game isio place three of your colors, in a row, into the delta-like, mul- ti-level display. The rows may be horizontal, vertical, diagonal and wrapped around, through the "third di- mension". Your Apple will be trying to do Ihe same. You can even have your Apple play against iiselfl Minimiun system requirements are an Apple 11 or Apple li Plus compulcr with 3IK of memory and one minidisk drive. Mimic requires Applesoft in ROM, all others run in RAM or ROM Applesoft. Order !No. D161AD S19.9S Solar Energy For The Home With the price of fossil fuels rising astronomically, solar space-heating systems are starling to become very altracEivc. But is solar heat cost-effective for you? This program can answer that question. Just input this data tor your home: location, siie, interior delails and amount of window space. It will then calculate your current heat loss and the amount of gain from any south facing windows. Then, enter the data for the contemplated solar heating installation. The program will compute the NET heating gain, the cost of conventional fuels vs. solar heat, and the calculated payback period— showing if the investment will save you money. Solar Energy for Ihe Home: It's a natural for architects, designers, contractors, homeowners. . .anyone who wants to tap the limitless energy of our sun. Minimum system requirements arc an Apple 11 or Apple II Plus wilh one disk drive and 28K of RAM. Includes AppleDOS 3.2. Order Mo. 023SAD (disk-based versloni SM.95 Math Fun Paddle Fun This new Apple disk package requires a steady eye and a quick hand at Ihe game paddles! It includes: Invmkis — You must destroy an invading fleet of 55 flying saucers while dodging the carpet of bombs Ihey drop. Your bomb shelters will help you — for awhile. Our version ofa well known arcade game! Requires Ap- ;Jesoft in ROM. Howitzer — This is a one or two person game in which you must fire upon another howitzer position. This pro- gram is written in HIGH -RESOLUTION graphics using different terrain and wind conditions each round to make this a demanding game. The difTiculty level can be altered to suit Ihe abilily of Ihe pjayets. Requires Ap- plesoft in ROM. SpBM Wbis— This program has three pans: (1) Two flying saucers meet in laser com bat— for two players, (2) two saucers compete to see which can shoot out the most stars — for two players, and (3 1 one saucer shoots the stars in order to gel a higher rank — tor one player only. Requires Applesofi. Golf — Whether you win or lose, you're bound to have fun on our 18 hole Apple golf course. Choose your club and your direction and hope to avoid the sandiraps. Losing too many strokes in ihe water hazards? You can always increase your handicap. Get off the tee and onto the green with Apple Golf. Requires Applesoft. The minimum system requiremenl for this package is an Apple li or Apple II Plus computer with 32K of memory and one minidisk drive. Order No. 0163AD S19.95 The Math Fun package uses the techniques of immediate feedback and positive reinforcement so that students can improve their math skills while playing these games: Hanging— A little man is walking up the steps to the hangman's noose. But YOU can save him by answering the decimal math problems posed by the computer. Correct answers will move the man dov/n the steps and cheat the hangman. Spellbinder — You are a magician battling a computerized wizard. In order to cast death clouds, fireballs and other magic spells on hitti, you must correctly answer problems involving fractions. Whole Sp»ee— Pilot your space crafi lo allaek the enemy planei. Each lime you give a correct answer to the whole number problems, you can move your ship or fire. Bui for every wrong answer, the enemy gets a chance to fire at you. Carjump-Make your Slum car jump the ramps. Each correct answetwill increase Ihe number of buses your car must jump over. These problems involve calculating the areas of different geometric figures. Robat Duel — Fire your laser at the computer's robol , If you give the correct answer lo problems on calculat- ing volumes, your robol can shoot at his opponent. If you give the wrong answer, your shield power will be depleted and the computer's robot can shoot at yours. Sub A ll»eli— Practice using percentages as you maneuver your sub into the harbor. A correct answer lets you move your sub and fire at the enemy fieci. All of these programs run in Applesoft BASIC, except Whole Space, whidi requires Integer BASIC. OrdrrMo. 0I(I0ADSI9.9S Skybombers Two nations, seperated by The Big Green Moun- tain, are in mortal combat! Because of Ihe terrain, Iheir's is an aerial war— a war of SKYBOMBERS! In this two-player game, you and your opponent command opposing fleeis of fighter-bombers armed wilh bombs and missiles. Your orders? Fly over The mountain and bomb Ihe enemy blockhouse into dusi! Rying a bombing mission over that innocent look- ing mountain is no milk run. The opposition's aircraft can fire missiles at you or you may even be destroyed by Ihe bombs as Ihey drop. Desperate pilots may even ram your plane or plunge into your blockhouse, sui- cidally. Flight personnel are sometimes forced to parachute from badly damaged aircraft. As they float helplessly to earth, they become targets for enemy missiles. The greater the damage you deal to your enemy, the higher your score, which ts constantly updated al Ihe bottom of the display screen. The sounds of bailie, from exploding bombs to the pathetic screams from wounded parachulisls, remind each micro-commander of his bounden duly. Press On. SKYBOMBERS-Press l>i! Minimum system requirements: An Apple EI or Ap- ple 11 Plus, with 32K RAM, one disk drive and game paddles. Order No. 0Z71AD (disk-ba»d version) SI9.9S Instant Software ■ A tradamark of Appla Computsr I ng. PETERBOROUGH, N.H. 03458 603-924-7296 24 MICRO - THe 6502/6809 Journal No. 40 - September 1981 t Apple* Software From Instant Software Santa Paravia and Fiumaccio Buon giorno, signore! Welcome to the province of Santa Paravia. As your steward, I hope you will enjoy your reign here. I feel sure that you will find it, shall we say, profitable. Perhaps I should acquaint you with our lirile domain, ll ih noi a weallhy arta, signore, bul riches and glory are possible for one who is aware of pollEieal reallltes. These reahlies include your serfs. They tonstanily requesi more food from your grain reserves, grain ihat could be sold instead for gold florins. And should your Justice become a irifle harsh, ihcy will flee lo oiher lands, Yei another concern is iheweaEhcr. If it is good, so is the harvest. But the rats may eat much of our surplus and we have had years of droughl when famine Ihreaiened our population. Cenainly, Ihe administration of a growing cily-state will require lax revenues. And where better lo galher such funds than the local marketplaces and mills? You may find it necessary to increase custom duties or tax the incomes of the merchants and nobles. Whatever you do, there will be far- rcachiuE consequences. , .and, perhaps, an elevation of your noble title. Your standing will surely be enhanced by building a new palace or a magnificent cairedrale. You will do well 10 increase your landholdings, if you also equip a few imits of soldiers. There is, alas, no small need for soldiery here, for the unscrupulous Baron Peppone may invade you at any lime. To measure your progress, the official canographer will draw youarnappa. From it, you can see how much land you hold, how much of it is under the plow and how adequate your defenses are. We are unique in that here, the map IS Ihe territory. I trust that Ihavebeenof help, signore. I loot forward to the day when I may ad- dress you as His Royal Highness, King of Santa Paravia. Buona/or{unaov. as you say, "Good luck". For the Apple 48K. Order No. 01T4A OT.95 (CBSStHe version). Order No. 0Z29AI) tl9.9S (disk version). TO SEE YOUR LOCAL INSTANT SOFTWARE DEALER OR USE THE ORDER FORM BELOW % ORDER For Fast aA Iff^ Service^ Toll-Frce 1-800-258-5473 Apple Cassettes 0OI8A Golf 17.95 0025A Mimic 17.95 0O4OA Bowling/Trilogy. - $7.95 0O73A Math Tutor I $7-95 0I>79A Oil Tycoon $9.9! OOSOA Sahara Wairiors $7.95 0O88A Accounting Assistant $7.95 0094A Mortgage w/Prepaymem Opiiott/ Financier --,.---... S7.95 0O96A Space Wars $7.9! (109BA Math Tutor II 17.95 0I74A Santa Paravia and Rumaccio $9.95 OI'tflA Air Flight Simulation $9.95 We Guarantee It! ^yo Guarantee ^t,>-/^ OUR HROfiBAMS ARE GUARANTF.F.D TO BF QUALITY PRODUCTS. IF NOT COMPLETILY SATISFIED YOU MAY RETURN Tilt. PROGRAM WITHIN 60 DAYS. A(RED1T OR REPLACLMENT WILL i)F WILLISCLY CIVUN FOR A^Y ri;ason. 109 Name Ad disss City . State _ -Zip- C3 Check a MoneyOrder D VISA D AMEK □ Master Ctiarge Card No . . E>p. Qmo Signed - Dale ^^^^^^^^^1 Order your Instant Software today! ^^^^^^^^^| OuanTiTy Order No. Program name Unll cosi Total COST Shipping and handling St.OO l^^JL. ^.^^r ^^<4^.»«-^-l^^ TolBl ordei' Peterborough, N.H. 03458 No. 40 - September 1981 MICRO - The 6502/6809 Journal 25 WhAT'5 MEW? Consumer Computers announces it's lowest prices ewer. Apple Add-Ons Language av^tem A/Pdscai S79 "aye5 MKiroinodcm It , . - 399 hnuacian Appfe-Cac 11 ,.,,-._.. 559 uiOej. uideolerm 80 n/graBlilc5 ... . 269 Z-80 1lcrD5Qft Cara 269 16K r^am CarO PVcrOiOfl 139 ABT numeric Meypad {ow o' new hytyctj 1 10 ftLF i voice rHj5ic Card ......... ?19 Meun^UcE. Speecniinh 2003 lag Alpha 3vntauri Keyboard f>v^tem .,.,,,... -1599 Corvus 10 HQ Hard Dch , CftLL Lflzei Luwer Ca^ Plus -..------.. 50 Mlcro-5ciDI5I.Drluc5lA40 8ifl'Q) CALL 55" AID 5enal/Pflrallei Caid AST 189 TdunaeiClocK Phjs CALl Integer or Applesoft II Firmwaie Card 115 QraplULi Tablel 619 Parallel FFimer Inleifflce Card 155 Mi-5peeo SeihI Intertace Card 155 ^marieim 80 Column Video Cafd 299 Mj5ic5y5lem ^ lb w:)h:e^: ... 179 AID t D/A Inlertace ,,.,-. 289 Cloch/Calenoa' Card 225 SuoerlalWr 50-200 259 Rompius ♦ Card 155 Clochrtlalendar ftodule ICC5) 99 A5yrKironou5 ^nai Interface Caid (CC5) 179 We carry all CC5 fiaidware Pledge Call FREE CATALOG! Please mail us your name and address. Solution Software for the Apple 11. UisicaiclS ,... 1&9 CCA Dala rtanagemenl .-..., 35 DB Msslei 169 WordStar (Apple 80 col uer) 299 Cteshlop Flan II 169 AppJevjiiler 65 ea^VJJiitei 223 Appieplol GO Pcacliiree Bu^ineSi 1200 Vi5irerm 129 'JibiTrendiVeiPiol 219 DOS roDlhil 65 Daw Janes Porifolio EuaKjalo' .,.,-... IS Dow Jof*5 hews a Quotes Repo'ter 85 Apple r^ortfan 165 Atari Personal Computer ATARI 800 16ti $749 Atari Accessories 4 10 Program RecQider 59 aiOQiihOrive 1149 850 Interlace Module 159 1 6H riam Memorv Module 89 Please call us for an Alan Software LKE 5-100 Cards S5M ™ Z-flOCPUCO-2 219 104 2 P .25 W) . . . , 189 VO-J 80 » 2a veto 529 VB-5 BO N 43 VIDEO 559 BV-2 VIOeO . . ... 159 PBlPftOMPnOrVWeiEPHOMBOAPlD 159 CCS 280 CPU 2810 64n Dynamic fViM cafd 16t\5iaKHW12Mta i6KSiaiK FiAnamii. DCi o«B*v ncfipy one ccMntcr 12 iM Moot ..n/a ..nia .nta . .ntt AssmS TeMed 279 249 579 129 219 199 229 499 219 269 299 W9 16K 48K $1025 $1129 Dl5h II Drive ^ e ■] q w/controller ^* J * " Dish drive w/out controller IV* carry tfw Apple III 459 CALL FF^EE! 800-854-6654 In California and outside continental U.5. (714)698-8088 Warehouse (714) 698-0260 Service (714) 460-6502 TELEX 695000 BETA CCMO A\/AIL/\BLE how . The MEC Microcomputer Please call for more details. EHidy Sorcerer II Please call for our price. 5-100 u« ii«ordProc05lniiPBt DfvelopfYvnt Pac 449 . 179 S9 PfKSO nkro Computer $599 Ohio Scientific Challenger Computer. 4P $549 IPMOOII 599 Printers, Etc. r t Epson n«-80 $499 Sileniype w'Apple Interlace ......i. ...... 519 Epson MH-80 Pit , 649 ep5on M^lOO ;.,. 829 Epson M'(.70 , . , . , , , 559 Paper Tiger ID5-145 729 Papef Tiger IDS 160 .-, ^ 1099 Paper Tiger IDS 560 .. 1450 Oume5pnnl5/45 2495 Anaden DP 9500/ Ilia-. Bufler 1 549 C lloh Slaomtet 25 CP5 1649 C Itoti 5t3rujntef 15 CP5 - . . 4- 2249 Centronics 7i7 ;, 699 Watanal>e DigiPloi i 149 Save on V/ideo displays. AmdeWleede" video 100 12'B8i«J 159 Amdei IWNDLER VECTOR 0370 ; TO POINT TO OUR TABLE 1 980 06DB 0983 0890 LOA *HAyECSg»FF 1 D6DD 8OZ103 0900 STA HfiTABS+-7 ; ;e[> vector lsb 0610 fl906 0710 LDA *HftVeCS/256 1 0612 SD2203 0920 0930 fiTA HftTABS+B [■r:E[J VECTOR MSB 0910 [POINT TO OUR PUTCHAR ROUTINE 0950 0615 A91A 0960 LOA ♦OUTPUT-ISSPF 1 0617 308906 097U STA HAPUTB [HANDLER TABLE.. . 06iCi 801603 09BO STA ICPUT [ ...AND lOCB 061L) A906 0990 LOA *aUTPUT-l/256 I 06ir aOBA06 1000 STA HAPUT6+1 0622 8D1703 1010 1020 STA ICPUT+1 1030 [POINT TO OUR GETCHAR ROUTINE 1010 IContinued) 23 MICRO - The 6502/6809 Journal No. 40 - September 1981 « Listing 1 (Continued) 0425 fl933 1050 LDA *IHPUT-lg»FF 1 9627 SO870£ 1060 STA HAGETE {HANDLER TABLE ONLY 062(1 ^906 1070 LOA *IMPUT-l/256 1 D62C 8D88D6 1080 1090 STA HAGETE+l 1100 jyECTQRS ESTABLISHED ~ NON EXIT lllB (162F 8508 1120 STA UARMST ISET HARMSTART FLAG 0631 SCFflEiF 1130 1110 IISO JHP (CSTART> [CARTRIDGE START 1160 ! MIRROR SCREEN INPUT TO PRINTER 1170 063') 1180 INPUT - X 0631 009286 1190 STA SAUEA ISAVE ACCJMULATOR 0637 2B3F06 12!ia JSfi EGET ;go get screen input 063(1 206006 121B JSR PPUT [JOURNAL INPUT ON PRINTER D63D [)Q17 122 123Q E^iNE EXIT lEACK TO CALLER 1210 1250 126U !G0 RETT SCREEN INPUT e63r EGET „ X 063r n[)05E1 I27D LDA EDGEietl :hi byte; first 06^12 1£l 12B0 PHA 0613 ftf)04E1 129 LDA EDCETE !L0 E^YTE LAST 0616 IB 13011 F'HA 061? flD9206 J 310 LOA EfiVEA 06in 60 132 FiTS ;G0 get THE SCREEN IMPUT [)64Ei 1330 .PAGE 1310 1350 JMlFfROR SCREEN OUTPUT TC P)^INTER 1360 061P 1370 OUTPUT = X 64ES 206006 13Q0 JSR PPUT !PUT CHARACTER TQ !_P!> 1100 JPUT CHAR TCI tEin 1110 » 6tE; 1120 EPUT ^ K ailET AD07E:'i 1130 LDA EDPUT&fl J HI BYTE FIRST 06S1 13 1110 PHA 06S2 rtD0 6E1 llfiO LDA EDPUTP ;lO byte LAST 065S 113 116 PHA 0654 1170 EXIT = X [COMMON EXIT POINT f)6^6 flD9206 HBO LOA SAVEA JRESTDPE ACCUMULATOR nfts'y fiF9306 119 LDX EAUEX IREETCIRE REGISTER X -18 IF HI>9 THEN HI=HI-7 L0=ASC(HEX*(2,2) )-18 IF L0>9 THEN L0=L0-7 POKE ADDR,HI*16+L0:NEXT ADDR RETM + ++++. ), + + + + + ++.H. + + + + + + ++ + ++ + + + + + DISPLAY INSTRUCTIONS + 4. 4- + .)..). + + + + + + . f + + + + + 4- + + + + 4- + +f + + + + 4. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SETUP MACHINE LANGUAGE PGM + •I ++++++++ ++++++++++++ ■*■++++++++ REM REM REM REM ? "journal loaded"!? tpdke 752,0 ? "to initiate journalling type !" ? :? "X=usr<"!mlprog;")" REM FtEM ++++ + ■»■+ ++++++++++++++++■•■++ +++ REM + HEXADECIMAL M/L PROGRAM + RfTj^l 4.4.4. + 4. + + + + + + + +. + + + + + + + + + + + + + -f + + REM DATA AO,0FrB9,0O,E1»99,83,06 DATA 88, 10, F7,A9, 83, 80,21,03 DATA A9,06.8D,22,03,A9,1A DATA 8D,89,06,8D,16,03,A9,06 DATA 8D,8A,06,8D,17,03,A9,33 DATA 8D,87,06,A9,06,8D,88,06 DATA 85 , 8 , 6C , FA , BF , 8D , 92 , 06 DATA 20, 3F, 06, 20, 60, 06, DO, 17 DATA AD, 05, El, 18, AD, 01, El, 18 DATA AD, 92, 06, 60, 20, 60, 06 DATA AD, 07, El, 18, AD, 06, El, 18 DATA AD, 92, 06, AE, 93, 06 DATA AC, 91, 06, 60, 8D, 92, 06 DATA 8E,93,06,8C,91,06,C9,20 DATA 90, 15, AD, 37, El, IS, AD, 36, El DATA 18,AD,92,06,C9,7D,FO,01 DATA C9,9C,D0,02tA9,9B,60 DATA END gram, using the command X = USR (15361, as shown in listing 3. If you are using the Assembler Editor cartridge, use the DEBUGGER'S GO (execute pro- gram) coirunand, as shown in listing 4. Those of you who have DOS may use the RUN AT ADDRESS option to ex- ecute the program, as shown in listing 5. Note that both the DEBUGGER and DOS expect the address to be given in hexadecimal, whereas BASIC expects the address in decimal. To terminate joumaling, press the SYSTEM RESET button on the console. The program will remain intact in RAM, and can be re-executed whenever you wish to re-initiate joumaling. Turning the printer power off will, of course, terminate joumaling. However, this is not recommended, since the trap pro- gram will continue to try to jomnal screen I/O, and wil! succeed only in wasting time. These operating instructions are in- tended only as guidelines. There are many other ways the program can be in- voked and you should use the procedure which best suits your ov^ti operating environment. Conclusion I believe you will find that the more you use this program, the more uses you will find for it. In addition to providing a joumai of screen transactions, the pro- gram can be used to provide printed out- put from in-ROM programs which you cannot change, as in the case of the DEBUG program. Furthermore, you need never again go through your own programs, changing all the PRINT statements to LPRINT statements when you want the output to go to a printer. Another interesting feature is that you can commimicate with your Atari using Listing 3: Sample run of program In llsling 2. READY RUN LOADING JOURNAL JOURNAL LOADED TO INITIATE JOURNALLING TYPE : X^USR<1536) READY % the printer instead of the TV screen: turn off the TV and talk to the computer through the printer. Or, you can treat your Atari as an intelligent typewriter, using the screen editing features to cor- rect errors. In short, there are many possible ap- plications for this program, and I'm sure you will find even more uses than are listed here. I will be pleased to hear from those of you who do. Listing 4: Example of using the debug- ger to Initiate Journalllng. EDIT BUG DEBUG G600 EDIT Listing 5: Example ol using DOS to in- itiate journalllng. REAOy DOS UISK OPERATING SYSTEM CClpyftlGHT 1979 ATARI a. [)1SH DIRECTOBV B. FdJN CARTRIDGE C. COPY FILE D. DELETE FILE(S) E. RENAME FILE F. LOCK FILE G. UNLOCK FILE H. WRITE DOS FILE I. FORMAT DISK J. DUPLICATE DISK \:. BINARY SAVE L. EiINARY LOAD M. RUN AT ADDRESS N. DEFINE DEVICE Q. DUPLICATE FILE SELECT ITEM M RUN FROM WHAT ADDRESS? 600 READY 9/2t/79 JtSlSiSW.-.- . ..-j>H^' ■.■■■■:-*?J«jK}S.-=i SOFTWARE AUTHORS! for Apple, Atari, TRS-80, NEC, Hitachi Brttderbund Software Is looking for new auttiois to join its International team of pro gram mers. If you tiave a product foi the micro market, let us show you the advantages of working 'With OUT team of design, production and distribution specialists. '—■i-~.t^t^;-^-' Call or write for our free Authors Kit today or send us a machine readable copy of your work for pronipt review under strictest confidence. w;t^ vav ' -■-•■-i derbund SoPtuuar John Elliott is currently a Systems Consultant for On-Line Software International. He has been in the data processing field for over twelve years, specializing in implementing telecommunications software on large compuier systems. He has served as a consultant in various locations in the USA, Europe and the Middle East. He finds that tinkering with his Atari provides an interesting contrast to his work on . mainframes ■ , #2 Vista Wood Way, San Rafael, CA 94901 CBM/PET? SEE SKYLES ... CBM/PET? **Look how fast I create these great graphic displays on my PET with the new PicChip... it's like home movies." PicChip, the new ROM ttiat took Europe by storm, available only from Skyles Electric Works in the U.S. and Canada. PicChip, a ROM exicnsion of Ihe BASIC version [IJ. BAS[C 4.0 or BASIC 8032 inierpreler ihai offers over 40 cummands thai allow you lo crealc programs wiih dynamic graphics displays: plots, bar graphs, ptclures; and roUing^ scrolling, shifling and inverting. All in- sranEly and easily added lo your BASIC program. The addresi for the 2000/3000 (which would require PicChip module PC2), for the 4000 IPC4), and for the SOOO(PCa) is SAOOO... unless you have a Mikro, WordPro III or IV, or Jinsam, which occupy thai same address. Jn those ca.ses. you W'ill need the PicChip on an interface board that would reside in address BSOO... For the 2000/3000 series (PCBZ), above the Toolkit. For ihe 4000 (PCA4) and 8000 (PCA8). the Mikro or WoodPro would be ^wicchable manually using the Skyles Sockel-2-ME. Skyles guarantees your salisfuclion: if you are not absolutely happy with your ne^v PicChip return it to us within ten day:, for an immcdiale, full refund. PicChip rrum Skjles Eleclric Works (Please indicate PC2, PC4, PC8| 560.00 Complcte*ilh Interface board (Please Indicate PCB2.PCA4.PCAa),.,. 80.00 Shipping and Handling (USA/Canada) S2.50 (Europe/Asia) SIO.OO California residents must add 6%/6'/i % sales lax. as required. Skyies Electric Works 231E South Whisman Road Mountain View. Callfomla 94041 (415) 96S-173S Vlsa/Maslercard ardent: call lollfrce | (800) 127-9998 (except California). California orders: please call (415) 965-1735. MOW- /lAiaO ■■• S3nA>IS 33S 6l3d/IAiaO"" w No. 40 - Seplember 1981 MICRO - The 6502/6809 Journal 31 X On The Built-in Display /CBM 20aO/300a/-4DOO Series ES75.aO * Select either SO x S5 or 40 x SB display format From the keyboard or program Features the same memory map and subroutines fronn the Basic ROMs [specify which version of Basic when ordering] * * , for standard programming. You also gain the use of iOSS extra mennory locations in the AO coiumn mode, or 4"7 extra locations in the SD column mode. [These locations are available only to machine language programs, or peek S poke from Basic). Displays the full, original character set, including graphics characters in either mode. All utility software, firmware, like Toolkit'", Dos Support [Wedge], Extra-mon. etc., is compatible in both modes of operation. The complete enhancement consists of: 1 dual 24-pin socket [one socket for the ■40 column screen editor, and one for the BO column screen editor], and a circuit board that replaces the existing screen RAM. Each circuit board is registered to the original oxA/ner. There is also an SO column reference ROM that plugs in one of the expansion sockets [specify the address when ordering]. An option board is available [SeS.OO] that allows the ROM to be used with any other 2K ROM, in any of the expansion sockets. Available from your local dealer or: EXeCOM COPP. 1901 Polaris Ave. Racine. \A/I 53-40-4 Ph. 41 4-632-1 004 * Plus appropriate installation charges. This requires some circuit modification, [available from the factory for S7S.OO plus shipping] • * If power-on message = ### COMMODORE BASIC ### you have 3.D Basic. [Available only for Basic 3.G S Basic 4.D at the present]. PET^*^S CBM are trademarks of Commodore Business Machines. We will ship via Master Charge, VISA, C.O.O., or pre-paid. Toolkit'^is a trademark of Palo Alto iC's, Inc. Instaliation may void your Commodore SO day warr. The Execorrf^board is guaranteed for 1 year. 32 MICRO - The 6502/6809 Journal No. 40 - September 1981 t iMCQO PET Vet By Loren Wright 2114 RAM Adaptor If you have one of the old PETs with 6550 RAM chips, you probably have had one or more of them fail by now. You probably had to pay a high price for the replacement, if, in fact, you were able to find one. Optimized Data Systems (P.O. Box 595, PiacentU, CA 92670] offers an inexpensive board that plugs into a pair of empty 6550 sockets and allows substitution of up to half of the 6550s with the considerably more common and less expensive 2114 RAM chips. The board is available in a number of versions, from a bare board |$8.95] to an assembled version with one 2114 and two sockets |$24.95). The board is con- veniently laid out and works well. PET Power Problems Owners of older PETs may have experienced various forms of flakiness, particularly when additional devices draw from the PET's power supplies. The universal advice has been simply to avoid placing additional loads on the PET supplies. The fault, however, is not in the capacity of the power supplies, but rather in the poor design of the power connection to the main logic board. The board has a male cotmector consisting of round pins, while the female cotmector has flat spring con- tacts — not a very good connection! Under normal operation, the whole thing heats up and may eventually cause loss of contact and a crash. With an ad- ditional draw on the supply, the critical point is reached more quickly. Jim Yost of Somerville, Massachusetts, has come up with a simple and cheap solution: Identify the two outside wires [usually brown) on the female power connector. These lead to two separate terminals of the power transformer. Between these two transformer terminals and the posi- tive ( + ) terminal of the large elec- trolytic capacitor cormect two rec- tifier diodes (3A, lOOV PIV). The diode positive terminals should lead to the capacitor positive terminal. This bypasses the power surges to the capacitor. See figure I for details. HEAR OF PET ADDITIONAL DIODES LARGE ELECTROLYTIC CAPACITOR OUTSIDE WIRES POWER CONNECTOR TO PET MAIN LOGIC BOARD Figure 1: Inslallatton of diodes (not to scale — not all wires shown). Old PETs Live On! Duncan Moyer of Auburn, Califor- nia, points out that while a SYS 64824 on the old PET does a system reset, it fails to reset the Auxilliary Control Register to 0. To get the cassette to work properly, you must also POKE 59467,0, I have received a number of letters in support of the old PET, and I vfill treat it as a respected member of the Cormno- dore family. More on Command-O During the course of writing an 8032 program to process the questioimaires included in the July MICRO, I made good use of Command-O's SCROLL and "softkey" features. The "softkey" saved me from typing lots of repetitive lines. It's nice to be able to enter with a single keystroke "X= :Y = :GOSUB5000" (followed by the appro- priate number of back cursors to wind up right after the fust ' = ' ] . In my review of BASIC upgrades (36:62). I casually mentioned that the FIND command of Command-O had been improved. It allows specification of a range of lines in which the search will occur. Each occurrence causes the line found to be listed with the begirming of the search string in reverse field. This means that if the same string appears three times in the same line, then that line will be listed three times. Be careful when you make correc- tions to lines listed by the FIND com- mand, though. If the found string is within quotes, then the first character will stay reversed. This is not a prob- lem, unless you happen to hit one of the special 8032 control characters. It took me about 20 minutes one day to dis- cover an embedded reverse 'o' as the cause of an unwanted WINDOW cormnand! Typesetting for the Common Man? Type Share (8315 Firestone Blvd., Downey, CA 90241] has announced an inexpensive typesetting input system based on the Commodore VIC-20. The armounced price is less than $500 in- cluding the VIC and software, but does not include the video display. Users record the input text on cassette for transfer to a larger computer for further editing/ merging, or the cassette can be sent directly to one of the Type Share centers. The V!C-based system makes typesetting available to a number of small volume users, who could not other- wise afford to have typesetting done. JUCRO No, 40 - September 1981 MICRO - The 6502/6809 Journal 33 we beat the price... 800™ $779 WITH ONE YEAR EXTENDED WARRANTY A ATARI Computers for people." /TMlBlMli; 875 DUAL DISK DRIVE $1199 ATARi SOFTWARE CX401 General Accounlirg 1399.00 CX402 Accounts Receivable 1399 00 CX403 Inuenloiy Corlrol ...S399,0O CXWJ Word Processoi ., S1 19.00 CXJ05 PILOT -.,, $68.00 CX413 MICROSOFT BASIC $68.00 CXllOl Ini'ilalion lo Programming 1 $17,00 CX4102 Kingdom 113.00 CX4103 Slalislics $1'.00 CX41D4 Mailing Lisl S17.00 CX4105 BlacKiBch $13,00 C;Z $02 TSHP Era $03 TB^PORASY STCHtKE CCDEIS EPZ $04 EIA3 ID FORCE PUTLIN ECF EPZ $05 EMD OF FIXE FLAG LOOJP EPZ $06 LOCATICM COWTER UPDATE ■AIM SUBHOUriHES 1 aaJ EQU 5E9FO SEND CBLF TO ACD BCHEK EQU SE»07 INTESEUPT C3iBCK VCIBtEO EQU $BB71 OPEN cuiFtrr MHEFEI EQO $£848 OPEN IHEUr nBlLL EDO SE993 GET A CHARAL'i'liK OUTftLL HttJ SE9BC POT A CHRRnCTER NLMfi HXJ $EM6 PUT A HEX HbfTE PACK EfflJ SEAB4 ASCII TO HEX EU12 ECU SE511 TAPE CLOSE ROUTINE CCMIN EQU $E1A1 REIUBN TO MCHni:3{ EQU7VTES OUiTUr LIKE FIEL£6 PISD EPZ $00 AEXRESS CCCE EPZ S05 ■OBJECr OXE lAPPI. EPZ SOD ■lAFira, OTCdE EPZ $14 -opcoce OTEB EPZ $18 ■OPERAND CO* EPZ S24 ■CC19IENI CR EPZ SOD IF EPZ 50fi OTLZ EPZ $1A OUTEIG EOU 5A413 fOUTPUT ceviCE .' OSG $200 0200 2048E8 Pa^LST JSR VJHISEI OPEN INPUT DEVICE 0203 2071E8 JSR WHEBEO OraU OUTPUT DEVICE 0206 A905 lift #E05 0208 8503 SIR TH1P SKIP 'JHE FIRST 5 LINES 020A 206103 SKLOOP JSR UtriLIH 020D C603 EEC TEMP 020F D0F9 EHE SKDOOP 0211 MOO LCft #500 a, FAR lOCATICM MZREMEWT 0213 8506 STA LOCUP 0215 8505 STA ECF AND END FTAG 0217 8501 OTA IJDCL AND LCCRTICM OOUWJ'KK 0219 8502 STA IDCH 021B 20B3O3 JSK CLFDUT I NIT OUnUT ffiJt'FiK 021E 2007E9 bKTUN JSR EOIEK INTERRUPT? 0221 A505 run EOF AT END? 0223 E029 BME CLOSE YES. GO FINISH UP 022S 208103 JSR ULTLIN G»rr A LINE (Continued} No, 40 - September 1981 MICRO - The 6502/6809 Journal 37 mat. The next field is the object code field. This field contains to 3 bytes of object code generated by the statement. The iabel field is next, followed by the opcode and operand fields. Last is the comment field. The actual positions of these fields are defined by equates in the assembly source [see listing 1(. Because of the format of the AIM assembly listing, it is not always possi- ble to tell how the source was entered. One problem is that all comments are printed on a separate line. This means that ASMLST cannot tell whether a comment was part of the preceding line or entered on a separate line. But, if you follow a few rules, you can enter yom' source so that you get the desired listing. If you want a comment to be placed at the end of a line in the comment field, enter it on that line separated from the operand by a blank, or instead, enter it in column 1 of the following line. Both of these methods generate the same listing from the AIM assembler. This is true except for comments on the ' = ' directive. The AIM print format for the ' = ' directive is different. If the com- ment is entered on the same line as the ' = ' directive, the assembler will insert a blank line between the directive and the comment. So, if you want a comment on an ' = ' directive, you must enter it in the first column of the next line. If you want a comment to appear on a line by itself, you may enter it starting in col- iimn two or greater. This will generate a blank line and the comment will appear starting in the label field. A comment that follows a comment always appears on a line by itself. There is also a problem with the data assignment directives |.BYTE, .WORD, etc.]. ASMLST may not be able to keep the address field updated properly if the NOGEN listing option is used. When you use NOGEN, the generated data bytes are not printed, ASMLST must count these bytes to keep the address field updated. To avoid this problem you must assemble with the GEN option or specify only one operand on each direc- tive. ASMLST inserts a form feed ($0C) when it detects a page break [from the .PAGE directive). It deletes the first five lines (PASS 1,PASS2, etc.] of the listing and copies "ERROR messages are they are. ASMLST is designed to work on debugged listings; an error in your pro- gram may foul it up. ASMLST recognizes the .END directive as the end of the listing. 0228 ADD103 lift LBUFl jFIFSr CHARflLTER 022B 022B .■FIRST CHRRACTOR CETEitatES ROUTINE | 022B 022B C920 CMP ' ;BIANK? 022D D003 »iE HCBL ;NCS^ 022F 4CB102 JMP BUIAN 0232 C93D tKSL (MP ' = ; EQUALS? 0234 D003 ttJE NOEQ :NCFE 0236 4CF102 JMP BDHMJ 0239 C93B CKSQ CMP '; .-SIMICCaCN? 023B D003 BNE MXCM jNOPE 023D 4C1003 JMP CCMJAN 0240 C95F NOCCM CMP #S5F ;ONEeRSCORE? 0242 E003 EME NOPPG jNOre 0244 4C2703 JMP PPGHBN 0247 C92A hdpm: CMP '• lASTEKiac? 0249 C029 ENE HEXHAN :N0, hBJST BE HEX CODE 024B 4C4503 JMP ASTTfflH 024E 024E ;CLOSi : POT lAST LIHEE , CLOSE TAPE, 024E AND REIURN TO MramoR 024E 209503 tXCSE JSR PtTTLDJ :SQ1D CURRBW LINE 0251 20ai03 JSR GETUH :(ffiT LAST LINE 0254 A20D IZK tlAREi, ;COPY TO CUTPirr BUFFER 0256 206803 JSR ODPOVR 0259 209503 JSR PtTIUN ;SBID IT 025C fi91A USK tCTLZ ;SBiD A ccwnax-z 025E 20BCE9 JSR OUTALL 0261 20F0E9 JSR croF 0264 20F0E9 JSR CRIF ;AND A CXJtlPIA CRITS 0267 AD13A4 JJ3A OUi'iLG ;C31Et3< OUrPUr DEVICE 026A C954 CMP 'T ;IT IS TAPE? 026C D003 BJE tKJn^ ;«0 026E 201 1E5 JSR DU12 ;VES, CLOSE FlU] 0271 4CA1E1 NOTAP JMP CCMIN tbbiubn to monitor 0274 0274 :END OF MAINT.TNE 0274 0274 rlHE FOUiSilWG 6 ESXJTIMES EACH HflNDI£ 1 TiPE \ 0274 OP INIVr LIKE 0274 0274 tBEXHAK : PROCESS LINE OT' CSJECT CCCG ] 0274 0274 A504 HEXHAN lift OXEIN ;BEEM HERE CH THIS STMT? 0276 D006 BNE pmr :YES 027B A500 im TsnEXD fGET OUTPUT nJEBi 027A C915 CMP #opccxs:+i rOPCCIE PFESEMT? 027C 9003 prr coPHEK ;KO, DCM'T SHJD 027E 209503 PUIC JSR PUTLDJ ;YES, EVT CJMINr LINE 0281 AOOO COPHEX liJY iSOO ;BB3D«I»G OF INPtfT 0283 A205 UK iCOEE ;0lTrPl7r INEEX 028S 8604 STX COEEIN ;SH3W WE REJTJ HhWi 0287 B9D103 C3JLUP LEA LBUFI.Y ;C5Err A C3iAR 02aA C9CH) CMP tCR ;EMD OF LINE? OTPT FOia urn PtriHEX ;YES, QO SIHD 028E C920 CMP ' ; SPACE? 0290 FOOT nun SKIPSP jYES, GO FINiai LINE 0292 9D5104 STA IBUFO.X fCOPy A CHAR 0295 C8 Diy jBjMP POINTERS 0296 E8 IHX 0297 lOEE BPL OiLUP [NEXT CHARfiUl'KH 0299 206203 SKIPSP JSR UPLOC ;\JPDKrE ICCKTICH COUNTER 029C A007 ua #so7 029E A214 copcra) i£K itopcOTffi; ;OPO0Iffi; CFFSET 02A0 206A03 JSR COP0V2 iCOPY TO CfTTPlTT BUFF 02A3 4C1E02 JMP NXTLIN ; 02A6 206203 PtriHEX JSR UPLCC lUIlftTt; LOCATICH OOUHTER 02fi9 8600 BVX. iNIEXO .-MARK END OF LINE 02AB 209503 JSR PITTLIN jSBSD LINE 02AE 4C1E02 JMP HXTLIN ;SEXr LINE 02B1 02B1 'jBUJK^ 1 PROCESS LINE STARTD*; WTIH BUtfJK | 02B1 02B1 A500 BliSM LDA HJDEXO ;WHERE IN OUTPUT LINE? 02B3 C90D CMP IIABET. ;IAPira. PfiEbKHT? 02B5 9004 BCC NEWL ;N0, SEND LINE 02B7 C915 CMP #0PC0ESM-1 fOPCOCe PRESENT? (Continuedl t 38 MICRO - The 6502/6809 Journal No. 40 - Seplember 1981 • ^ 02B9 9003 per SCAHC : NO. DCH'T SQID 02BB 209503 MEML JSR FWUN 7 SfHD CUBBFin' LIKE 02HE ROOl sense isn #501 ; STRRT SEABCH AT CCtUNK 1 02C0 B9D103 ELSCH ua iBun,Y SCAN TO FIRST NOJ-HEAbK 02C3 C90D CMP #CR ; WMCH FDR EHD 02C5 FOIC BB;^ EMPLDl : NULL LINE 02C7 C920 CMP ' ; BIANK7 02C9 D003 B)E DOKHK : NO, GO CHBJK FDR EOT 02CB C8 DW ; NEOT CHAR 02CC 10F2 BPL BLSOi 02CE C92E DOTtHK CMP ■. CHECK FOR END STKT 02XJ D009 EME SUXiP NO 02D2 B9D203 lift I£UF1+1,Y GOT A DIRKJTIVE, IS IT .HMD? 02D5 C945 CMP 'E C2D7 D002 BNE BLCOP NO 02D9 8505 STA EOF YES, FL«; EWD OF FIIZ 02EB A214 BLCOP LDX iOPCOCE OUTPUT INDEX 02DD 206A03 JSR C0PtJV2 COPY REST OF LINE 02E0 4C1E02 JMP NXTLDi BEJfT LINE 02E3 209503 EMPLIN JEF FUTLIN SEND LINE 02E6 R920 lift ■ OTFfl 20BCES JSR CUTALL 0?EB 2OF0E9 JSB CRLF AND AN EMPTY LIKE 0?FF 4C1E02 JMP NXTLD) NEXT LINE 02F1 02F1 Seghan ; PROnWi A LIKE BEGINNING WTIH ' = ' | 02F1 D2F1 209503 EC2!fiN JSB PUTLIN SEND LIKE IF ANY 02F4 A002 LOT #S02 POINT TO ADDRESS 02F6 205303 JSR (it'lHEX CONVEKT HICW BYTE 02F9 8502 STA LCXH SAVE IT IN LOCATICIJ OOUWIER 02FB 205303 JSR (JL'IHEX CCHVEKT low BYTE 02FE 8501 STA LCCL ■SAVE 0300 B9D103 liA IBUFI.Y -ANY WDBE? 0303 C90D CMP #CB 0305 F006 BRJ JNEXTl 0307 CS my 0308 A20D UK tlABRT, •PREPARE FOR lABKTi 030A 2O6A03 CCPLAB JSB C0POV2 -COPY lABEL 030D 4C1E02 JNEOTl JMP NXTLDI ■NEXT LINE 0310 0310 ■CCWHAK ! PROCESS A Oa«EHP 0310 0310 A600 (XMHAN UJX II^IEXO :ANY LINE IN PROCESS 0312 F008 BEQ CCNLAE ;KO 0314 E024 CPX flCCMM rPAOT CXM1EWT FIEED? 0316 B006 BCS COMCOP ;YES, USE VALUE 0318 A224 LDX #00*1 rNO, COPY TO Ca«EHT FIELD 03 lA D002 BNE CCMCOP 03:c A20D CCMEJ^ LDX #1ABEL ;OOPY TO lARET, 031E 206803 CGMDDP JSR CCiWE 0321 209503 JSR PUTLIN jSEMD LINE 0324 4C1E02 JMP NXTLIN 0327 0327 ,-PAGi!flN : ETCCESS A NEW PPG E 0327 0327 209503 PAGHAM JSR PUTLIN ;SmD CUBBFHT LINE 032A A90C LOA #50c: ,-SEHD A EDIW IIJJJ 032C 20BCE9 JSR CXJTALL 032F A20D IDX #1ABEL ;COPy UNIEBSCOBES TO lABEL 0331 206803 JSB COPOVR 0334 209503 JSB PUTLIN ;SE»D IT 0337 208103 JSB GPTLIN ;(At:]: TITIE 033A A20D liK #IARF!, ;COPY TO OUTPUT LINE 033C 206803 JSR ODPOVB 033F 209503 JSR PUTLIN iSEHD IT 0342 4C1E02 JMP NXTLIN ;KEXT LINE 0345 0345 ;ASIHAN : PROCESS ERBOTf STA TENEOT 0345 0345 209503 ASTHRN JSR PUTLIN ■SHJD CURREST LDJE 0348 A205 IDX «CODE 034A 206803 JSR COPOVR ■COPY "TO OUI'PUT BUFF 034D 209503 JSR PUTLIN -SEHD IT 0350 4CiE02 JMP tKILIB 0353 0353 0353 :SUBRCX/riNES POLDJW (Continued^ ASMLST inputs an AIM assembly listing from the AID (Active Input Device! ^nd outputs the new listing to the ADD (Active Output Device). Start ASMLST at $200. You vrill receive the Standard IN = and OUT = prompts for the input and output devices. You can input from tape and send the output to a printer through the user port or to a TTY or CRT through the AIM TTY port. You can also input from tape and output to tape, if you have two remote controlled tape recorders. For long listings you may want to partition the listing output with the LIST and NOUST Options. This is fine as long as you are sure that the .END statement is listed so that ASMLST can recognize the end of the listing. ASMLST works if you have a full sized printer or terminal, but what about those of us with only the AIM 20-colunm printer? Help is available with 'SPLIT' program, which allows the AIM printer to print listings up 80 characters wide. It inputs the output from ASMLST and splits it into 20-column sections for printing on the AIM onboard printer. You then cut and paste to create a full width listing. Ex- ecute SPLIT at $200 and it will first pro- mpt the section to be printed. Each sec- tion is 20 columns wide and numbered 1 to 4. Section I is columns 1-20, section 2 is columns 21-40, and so on, SPLIT then issues the standard IN= and OUT = prompts. The input file must be read once to print each section. The number of sections allowed can be in- creased to 7, simply by changing the value in the compare instruction at $221. The size of each section is con- trolled by the value assigned to the label 'SIZE'. If you would like to use ASMLST with SPLIT, you may want to change the equates in ASMLST for the output line fields as follows: ADD = CODE = 5 LABEL = 12 OPCODE = 19 OPER = 23 COMM = 31 ASMLST then produces a listing for- mat that wUl fit into 40 columns. This leaves only 10 columns for the com- ment field. The 40- column format makes the most efficient use of two passes of SPLIT On the AIM printer. ASMLST and SPLIT are especially valuable if you want to publish a pro- gram in a magazine or newsletter. The reader will appreciate the increased readability of your listing. You can also use SPLIT to print BASIC files. In fact any ASCII file that ends with a Control- Z can be printed in sections with SPLIT. No. 40 - September 1981 MICRO - The 6502/6809 Journal as Co 6? ,e^ ^•■O-N NEW & USED SYSTEMS • HARDWARE • SOFTWARE •PARTS •ACCESSORIES -SERVICE AVAILA6LE- SUrSET CLECTroriCS 2254 TARAVAL ST. SAN FRANCISCO, CA 94116 (415)665-6330 0353 0353 0353 ;GETHEX : GET A BYTE OF ASCII HEX FKM njPUT LINE aVi 0353 0353 B9D103 GETIHEK LDA IBUFI.Y ;lit.T HIO! NYBBIE % 0356 2084EA JSR PACK ;CC«VERr TO BINftRi 0359 C8 IHY 035A B9D103 Ulft IflUFI.Y ;(ST LO NYBBIE 035D 2084Eft JSR PACK ;CCSVERT TO BIN 0360 C8 nre 0361 60 tas 0362 0362 lUPUX ; SAVE irTATICW COOBTEE INCFBffiMT 0362 0362 ca UPLOC nre ;BLMP POIKIER 0363 96 TiA 0364 4A LSR iDIVICE BY 2 0365 8506 STA lOCUP fSftVE 0367 60 RTS 0366 0368 :COTOVER : COPt ALL OR -PART OF THE INPUT LDJE TO THE 0368 dTTPlTr BUFBEB AT OFFSET IN X 0368 0366 AOOO COPOVR LDY #S0O jBEGINNING OF INPUT LINE 036A lEwnar to copy pabtial line 036A B9D103 ODEOV2 urn IBUFI.Y ;Uii'J' A CHAR 036D C9CK) CMP #CR ;END7 036F FOOD BED COPOtTT lYES, QdIT 0371 C93D C«P '= .-CHECK FOR ' = ' DIRECTIVE 0373 D002 HJE ETOCH ,-HOPE 0375 8504 STA COEEIN jROffiMBER 0377 9D5104 SrOOJ STA IBUK),X ;STDRE IN OOMWT BUFFER 037A E8 INX jNEXT 037B C8 DJY rKEXT 037C lOEC BPL COTOT2 037E 6600 COPCUT ffTX mUtlXD ;SAVE LAST 0380 60 BTS 0381 0381 .-mm.TW ! ct:t CME LINE IMIO INRn" BLUTER 0381 ,1 V 1 0391 AOOO GETTLIM nW #500 ;BEGINmH3 u| ' 0383 2093E9 GE:rC3iR JSR IN?\LL ;(Jh7J' A CHAR 0386 C90A OTP #IF :LDJE FQD? 0388 F0F9 RFTi GETCHR ,-YES, lOXXE IT 03aA 99D103 STA t£UFI,Y .-SAVE 038D C90D CMP #CH .-IMD7 038F F003 BHO GCOTJH fVES, COIT 0391 C8 INY 0392 lOEF BPL C!PrC3ffl ;NE, aaPPIT 0399 A502 Lm ICCH ;(^T HI BOTE Cf LOC CCXWTES 039B 2046EA JSR NUMA ;SEHD TO CUITUT 039E A501 IDA im, ;yfc"!' LO BYTE 03A0 2046Eft JSR NUMA .-SOU IT 03A3 A204 UK #S04 jINIT INEEX 03A5 BD5104 PUTCHR ICA IBUEO,X ;(=tT A CHAR 03ft8 20ECE9 JSR OUTALL ;EEMD IT 03AB ES INX 03AC E400 CPX IMKMD .-IMD OF LINE? 03AE 9(F5 BCC PUTCHR JKO 03B0 2OF0E9 JSR CHLe ; TERMINATE LINE 03B3 A27F CLEOUT IIJX #?7F rCLEAR OUTPUT BUFFER 03B5 A920 ISA ' 03B7 9D5104 CLRLUP Sffi IBUEO.X 03BA CA rax 03BB lOFA BPL CLRLUP 03BD A506 LTR LOCUP rUmATE IDCATICK COWIER 03BF 18 CLC 03C0 6501 AEC lOO. 03C2 8501 SEA UXL 0X4 9002 Btx: Nocy 03C6 E602 WC UXH A' 03C8 A900 NOCY IJ» #500 sCLEAR DATA {Continued/ 1 40 MICRO -The 6502/6809 Journal No. 40 - September 1981 • ^ % 03Cft 8506 03CC S500 03CE 8504 03D0 60 03D1 03D1 03D1 0A51 OADl 04D1 anft LOCUP STA ratSMH STA COEEIN NOPUT RTS BUFFERS IBUFI 1£UF0 ESS 580 CFE S80 Listing 2 ':* SPhl'T * ;ZEHO P«3E STORAGE (XdNT EPZ 500 CHABAIL'I'EH COUWT SECTCW EPZ SOI CURRENT SECTION ;AIM SUBROUTINES BLANK B30 SE83E SHJD BLANK ID D/P REDOUT ECU SE973 INPin- AW ASCII CHAR CBLF ECU SE9F0 SEND CRLF TO AOD RCHEK EOO 5E907 IbTTERFUPT CHECK WHEBEO ECU 5E87I OPEM OUTPl/r WHEREI ECU SE848 OPEN INPUT INALL EQU 5E993 GET A CHARACTER Ot/IALL EQU 5E9BC PITT A CHARAUTKR CKEBOO EQU 5E394 DISPLAY 'ERBDR' Oimvr EQU SE97fl EQJD TO DISPIAY DU12 EQU SE511 TAPE OjGGE ROUTINE CCWIN ECU 5E1A1 REiuRN TO m:*iitor lECUATEE CF ECU 50D CaZ ECU SIA SIZE EQU 514 IF BOO SOA aUTFUS ECU SA413 ORG 50200 Cej 50800 0200 AOOO SPLIT UHY #500 : INIT INEEX 0202 B9AF02 MSGLUP HA MESSxY ; CTT A CHAR 0205 F006 RFTI GSPLIT QUIT CH ZEUO 0207 207AE9 JSB OUTPUT ; DISPLAY IT 020fi C8 INY 020B 10F5 BPL MSGLUP NEXT 020D 2073E9 GSPLIT JSR REDCUT GET REPLY 0210 C931 CMP '1 IB3AL (1 TO 4)7 0212 9004 BCC BAEMW NO 0214 C935 CMP '5 0216 9009 BCC GCOCWI YES 0218 2094E3 aAEHUM JSR CKEROO PRINT ERROR MSG 021B 20FOE9 JSR CRIF 021E 4C0002 JMP SPLIT TRY ?GAIH 0221 2907 GOOEtK AND #507 riFAR HI BYTES 0223 8501 STA SECTCW SAVE IT 0225 203EEa JSR BLftHK 0228 204KS JSR WHERE! OPSJ INPUT 022B 3071E8 JSR WHERFD OPEN OUTPUT 022E 205802 ^]XTLIN JSR Gfl'LDJ GET A LINE FRCM DJiVT DBTCE 0231 B009 BCE FIH QUIT CS OTLZ 0233 209502 JSR SPIOK CfiK^UIATE SPLIT 0236 207BOZ JSR PITTLIH SEND LIKE 0239 4C2E02 JMP NXTLDI GET AtKTHER LINE 023C AD13A4 FIN LDA OUTFLG CHECK OtTTPUT DEVICE 023F C950 CMP 'P PRINTTE? 0241 F012 MO N3TAP -YES SKIP ECF MARK 0243 A91A LEft #CTL2 -SQiD A CCHTROL-Z 0245 2CffiCE9 JSR CUTALL 0248 20F0E9 JSR CRlf 024B 20F0E9 JSR CFIF ■AND 2 CBLFS 024E C954 CMP 'T ;IS IT TAPE? 0250 D003 BJE KOTAP :N0 0252 2011E5 JSR DU12 ■YES, CLOSE FIIF 0255 4CA1E1 NOTAP JMP cans ;RETUBH TO MONITOR 0256 ;EHD OF MAINLINE 0258 7 SUBROUTINES FOUO* 0258 0258 iCETLIN : OT ONE LINE INTC INEUT BUFFER {Continued) TAKE Unique Data Systems has. We've taken Rockv/ell's AIM 65 Microcomputer, packaged it in a professional enclosure and turned it into a versatile, higtier capacity microcomputer system. Complete with a memory-l/0 board, modem board or wire wrap proto- typing board, power supply, cables and connectors. It maii 02 SP 86 EGY 1^ 0260 EOFA ajE CLSLUP r 0262 2093E9 GETCHR JER INALL UET A CHftR 0265 CSOft CMP iLF LIKE b'tM)? 0267 F0F9 BEQ GETCHR YES, ICMZSffi IT 0269 C91A CMP ICTLZ END OF FII£7 026B FOOC BEQ ZOOT YES 026D 996802 STA IBUF.Y SAVE 0270 C90D CKP #CR END? 0272 F003 BED GOTLIN -YES, COIT 0274 C8 IMY 0275 lOEB BPL GEICHR NEXT CHAR 0277 18 GCTLIN CLC 0378 60 RTS 0279 38 TOUT EEC 027A 60 KHJ 027B 027B iFUTLDJ : SEND arrp[/r buffek td ouwot device 027 B 027B A914 KTTLIN UlA #SIZE INIT CHAR COtWF 027D 8500 STA COUNT 027F B9B802 PRLUP L£A LBUF.Y ■GET A CHARACTER 02B2 C9{m OIP *CR END OF LINE? 0284 POOS BEQ £»:». -YES 0286 20BCE9 JSR OUTALL 0289 C8 XMY 02aA C600 DEC COUHT COUNT IT 028C COFl BfJE PRIJJP CCNTINUE u^^■IL size 028E 2007E9 EOL JSR RCHEK ■CHECK FOR I^f^ERRUPT 0291 20F0E9 JSR CRIT ■END LINE 0294 60 RTS 0295 0295 rSPITHK : SET Y PQE PROPER 3DCTICN OP LISTING 0295 1 0295 A601 SPITHK LEK SECICK -lit'l' SECTION NUhBER F 0297 AOOO UW #SO0 BB3 INNING OF LINE 0299 CA SPUJPl DEX ■COUbfT SECTICN \ 029A P012 BEO SPOUT ■DUN (|i 029C A914 LEft (SIZE ■GET LINESISE 029E 8SO0 STA COISOT I 02A0 B9B802 SPL1JP2 LEfi LBUF.Y ■GET A CS1AR 02A3 C90D CMP fCE END OF LINE? 02A5 F007 BEO SPCUT YES. QUIT 02A7 C8 INY 02Aa C600 rac co(MT -END OP SECTICN7 02AA D0F4 EWE SPLUP2 -NO, GET ANOTHER CHAR 02AC FOEB BEO SPLUPl -YES, TRY NEXT SECTltW 02AE 60 SFOffT RTS 02AF 534543 MESG ASC 'EECTIC**-' 02B2 54494F 03B5 4E3D 02B7 00 HEX 00 02B8 ; BUFFER 02Be ; 093B IflUF DPS S80 Note: When the AIM assembler If yo u are using tape for both source i REQUIRES 48K APPLE II or 11+ SINGLE DISK SEE YOUR DEALER OR CONTACT: r" . applied analytics incorppraied ■.n B9IOBrDokndgeDr.. Suae dOS.Uppci Marlboro, Md 20370 (301) 627-6650 rm IrlEresled: Please Send D 160 Page Manual >3S,00 D Delailed Information Name ^ Address Cily Slate Z\o. listing is directed to tape, the assembler does not properly close the file at the end of the assembly: This will cause the last block of data to never be written. To circumvent this problem you must run one of [he following programs immedi- ately after the assembly is finished. If you are using any device EXCEPT tape for the source input, then execute the following routine: CLD JSR E511 (close tape file) JWP E1A1 (return to AIM) input and listing output, execute the following program: CLD LDA #54 (move T to INFLG STAA412 and OUTFLG so alternate buffer STA A413 will be used.) JSR E511 (close tape file) JMP E1A1 (return to AIM) I Either of these programs can be lo- cated in any imused spot in memory and can be executed with the GO command. jucno 42 MICRO - The 6502/6809 Journal No. 40 - September 1981 AIM-65/SYM-PET-KIM-6800 Universal Interface Board Converts AIM-65/SYM Into Professional Data Logger MINI MOTHER BOARD ADDRESS SELECTION (CLOCK, MUX A/D) 1E CHANNEL' MUX BANK SELECT — ADDRESS IMEMOHY) ie A/D INPUTS » t 15 VOLT POWER SUPPLY INPUTS COLUMBUS INSTRUMENTS INTERNATIONAL CORPORflTtON ^^^^^^^ 9ii0nliT' OHnO-'lOuBl InlliNrtflnli Bnd lalal ■nnjiiirinf ijUbhii 9S0N. HAGUE AVE.. COLUMBUS. OHIO 43204U.S.A. PHONE: (614) 48S-6176 TELEX: 2«514 (Also connects to PET or KIM with adapter cable. Adaptable to other 6502 and 6800 systems) CONTAINS: * 12 bits, 16 channels, fast A/D converter * space for additional 16K RAM memory or 32K EPROM (or combinationj * real time clock/calendar with real time interrupt capability and 10-year lithium battery backup * plugs directly into AIM-65 expansion connector with the help of a mini-mother board which supports up to three interface boards * supplied with supportive demonstration and control programs AVAILABLE MODELS: * IB-902 Additional Memory Space (only) $ 390.00 * IB-902-A Calendar/Clock plus memory space $ 690.00 * IB-902-B A/D (12 bits, 16 channels plus memory space) $ 960.00 * IB-902-AB A/D, plus memory space and calendar/clock $1,270,00 Mini mother board lo support up to three (3) interface boards $65.00 Quantitij Discounts Available ^ .. aw if^ti"'^ ' Li .-"■■ : 11,717 1^ ■> \ ,iltn4''^f^'\9* BETA 32K BYTE EXPANDABLE RAM FOR 6502 AND fi8(Ml SYSTEMS AIM 65 KIM SVM PET S4<-BUS ■ Plug conipaliblp wilh the ATM-65/SVM cxpan- ^\iM\ c:i>iintclc)r by u^in^ a rililil angle c;Mnn«*- tor (supplied), • MeniiJTV bfiard ed^C L-oiiiitthjr plugs into the 6800 S^4 biis, ■ CoiiiwcLs to PET iisifift an adaplnr cable, • UsfTv +5V unly, suppli^ From tht hott com- puter. ■ Pull documentation r Assembled and tested birards are ^laranieed For one Full year. Purchase price is fully refundable IF board is relumed uiidariiaji^ed within \A day^. Assembled with 32K BAM 3349.00 & Tested wi^^ I6K RAM 321). 00 Rare hi>ari], manual & hard-t'f-get parts 99.00 PE r intcrFate kit. Connects (he 3£K lUM board Iua4KnrfiKPET $ 69.00 ^ee ourfvU page ad in BYTE and INTERFACE AGE. wabash S" iir 5V," f|<;\il)lL' diskcltfs ii'iiilkd Ifld prror free wilh maiiiifat'liirfrv .5 vear limitetJ warranty on all 8" mpdia. Soft .sectored in tilt- bacfc' bojHK of 10, 5'/." available in 10 Sector, (Add $3.(>0}iir plattii- library cases) R" single sided, .single density.., $29.95 8" ■iinjik sidKc], double densily 3,7.95 8" double sidtd, dmilile density 48.95 .'I'/r" -single sided, single density 27.95 5'/i" single ^ided, double density 29.95 'Till'Bdck Is a rradn^nurk i]f Wdl»H\li, Inc. 8" DISK DRIVES ShiigarlSOIR S3W).00 NEC FD1160(do(ible sided) 595,00 Memorex MBX-IOI 8" Winehc^ter .style, hard disk drive, 10 megabytes $2,000.00 $29.00 16 K MEMORY EXPANSION KIT For Apple, TRS-80 keybuard, Ejidy, and all other sy^Iem.'i using 4 1 Ifi dynamic rams or equivalentr All IC's are primt' Mitsubfehi MK 4J1R-3. • 200 NSEC access, 375 NSEC cycle ■ Bumed-in and h]llv (efiled ■ I hill year parts re^ilaeemenl guarantee ROCKWELL AIM 65 AIM 65 with !K ram $425.00 AIM 65 with itK ram 485. iX> AIM power supply 125. DO Professional AIM enclosure 169,00 Budget AIM cnclo.sure 50. tX) KIM endiMiire 40.00 SYM enclosure 30.00 TERMS: Minimum order $ 15.00. Mmimitiii .vhippiJig and handling $3.(X) Calij. residents add G% i,ati's lui Cnsh. checks, Ma^mrcartl, Visa and purchase orders from liuolificd Jirms aitd inslitulianv arc. accepted. Product availabili- ty and pricing are subject to change without notice. INTERNATIONAL ORDERS: Add J,1 % lo pur- chase price for all orders. Minimttin shipping nharj^r iv S20.0ff, Ordern wilh insufficient fundi will he delaijcil Excess funds will hi- relumed wilh your order. Alt jtrit-e-^ are U.S. only. cpmpureR Dewca IS30 tU.COUinJ ftVE. ORAHGE. Cn 99668 <7r4)633-7fi80 No, 40 -September 1981 MICRO - The 6502/6609 Journal 43 M us*. space age micro ^ »tiH, %. % '-m V' v^ Used at NASA, Kennedy ^ace Center With Multiple Applications Related ,. to the Columbia Space Shuttle Project % T P I ■fc.- JiRY WELCOME. JINI MICRO-SYSTEMS, Inc DATABASE MANAGEMENT SYSTEM DESIGN BOX274KINGSBRIDGESTN,.RlVERDALE, N.Y. 10463 (212)796-6200 AMCRO New Publications Mike Rowe New Publications 34 Chelmsford Street P.O. Box 6502 Chelmsford, MA 01824 6809 CHROAIASETTE Magazine is a monthly issued on cassette tape and devoted en- tirely to the TRS-80 Extended BASIC Color Computer. The first issue appeared in fuly 1981. Each monthly tape con- tains six to eight programs that directly load and run on the color computer. They include games, tutorials, utilities, and application programs by various authors. The same publisher issues CLOAD Magazine, for the TRS-80 Models I and IH, Subscriptions are available for one year ($45.00] or half-a- year |$25.00| from CHROMASETTE Magazine, P.O. Box 1087, Santa Bar- bara, California 93102. Atari The Atari Assembler by Don Inman and Kurt Inman. Reston Publishing Com- pany, Inc. (Reston, Virginia), 1981, xii, 270 pages, 78 illustrations, 6M x 9Vi inches. ISBN: 0-8359-0237-4 (cloth) $14.95 ISBN: 0-8359-0236-6 (paper) $ 9.95 This is an introduction to assembly language programining for use with the Atari Assembler Cartridge. The book is written for the beginning assembly language programmer who has some knowledge of BASIC. CONTENTS: Introduction— Computet Architccmrcj Review of BASIC; Graphics Keywords. MacbitJe Language from BASIC— Binary Number Pa Items; Hex- adecimal Notation; Hexadecimal-ro- Decimal Conversion; How the Machine Language Program Works; Summary; Exer- cises; Answers, Memory Use—Atari Memory Map, How BASIC Finds the Machine Language Program; Passing Variables to Machine Language Subroutine; Using the One-Variable Program; Passing Mote Than One Variable; A Machme Language Loop; New Instructions Used; Tracing Through the Subroutine; Summary; Exercises; Answers. Getting Started with the Assembler— The Writer/ Ed it or; The Assembler Program; Executing the Machine Language Program— The Debugger; Sum- mary; Exercises; Answers. Special-Purpose Registers and Addressing Modes— The Accumulator; the X and Y Registers; The Processor Status Register^ The Stack Pointer Register; Addressing, Modes; Summary; Exercises; Ariswers, Branching Out— Ex- amples Using Forward Branches; Examples Using Backward Branches; Using the Carry Flag; Using the Zero Flag; Using the Negative Flag; The Overflow Flag; Sum- mary; Exercises; Answers, Assembler Review— Source Program Format; Methods to Use Operands; The Assembler Writer/ Editor Mode; The Debug Mode^ Exercises; Answers, Designing a Program — Absolute Indexed Addressing; Using the Add Five Pairs of Numbers Program,- Using the Add Ten Program; A Variation of the Add Ten Program; Yet Another Variation; Summary; Exercises; Answers. Addition and Subtraction— Two-^yte Addition; Two Pro- grams in Memory; Two-Byte Subtraction; Negative NumberSi Multiple-Byte Addition and Subtraction; Decimal Arithmetic; Sum- mary; Exercises; Answers. Shift and Rotate— /U-ithme tic Shift Left; Logical Shift Right; Rotate Left; Rotate Right; Summary; Exercises; Answers. MultipUcalion, Divi- sion, and Subroutines- Eight-Bit Multi- plication; Using the S-Bit Multiplication Program; Eight-Bit Division; Subroutines; Using a Subroutine; Summary; Exercises; Answers. Programming Practice— Using a Logic Function; Entering the Subroutine; Program to Sound Off; Play Notes Program; Program to Shape Sound; Program to Print on the Screen; You're On Your Own. Ap- pendix A-6501 Instructions- Flags Affected. Appendix B— 6502 Instructions— Address- ing Modes, Appendix C— Frequency Values for Three-Octave Scale, Appendix D— Atari Assembler Enor Codes, Appendix £— Atari Operating System Errors. Appendix F— ATASCU Character Set, Index. AIM The Take AIM Manual, Volume 1 by James Hoyt Clark, Matrix Publishers, Inc, (11000 S,W, llih, Beaverton, Oregon 97005], 1981, xii, 388 pages, diagrams, drawings, listings, 8!^ x 11 inches, paperbound, ISBN: 0-91646O-29-0 $16,95 This manual is designed as an addition to the AIM 65 documentation that is enclosed with the AIM 65, To use this manual successfully, a reader must first he able to use the AIM 65 documentation, CONTENTS: How To Use This Manual. The Forma] Introduction— The AIM 65 Hardware; The PERSONi Some Useful Steps— Software Example. In The Begin- ning—A Short History; The Sixteen Com- mandments of Microcomputers; OODO CAUTiON; 1 0001 POWER; 2 0010 WIR- ING; 3 0011 The Foundation; 4 0100 IN- SIGHT /OUTSIGHT; 5 0101 & 6 01 10 Info Sources; 7 0111 Micro Chauvinist; 8 1000 NOP; 9 1001 Other Programs— the LAW; A 1010 Checking with the Neighbor; B 1011 &C II00Q& A's;D 1101 Storage; E 1 1 10 The Every Half Hour Be Carefuls; F 1111 An Understanding, The Language of the AIM 65 —The Hex Format; The Mnemonic Format; The ASCII Text Format; The EDITOR and ASSEMBLER; The Cost of Assembling; How to Input the TAKE AIM Programs, Mjcrocornpuler Basics — Memory; Some Programming Information; The Brains— the 6502 Microprocessor; The Heart- Clocks and Timing, AIM 65 Documentation Ex- plained— Manuals, Cards, and a Chart; The Chicken or the Egg; User's Guide; The Monitor Program Listing; 6500 Micro- processor Programming Reference Card; The AIM 65 Wall Chart; The Monitor and Editor Subroutines, The AIM 65 Documen- tation Index. The AIM 65 Display— The Display Hardware; DISPLAYING; The AIM 65 Keyboard— The Keyboard Hardware; KEYING; KBINT Program; ASCII Program; DEMCU Program. Versatile Interface Adap- tor IVIA)—The 6522 Homologous Homun- cular Warehouse; Diagram of the VIA 6522; VIA Data Output Register Schematics; Summary of VIA Control Registers; Sum- mary of VIA Commands, Glossary. The GAIMS Programs— BINARY TO HEX- ADECIMAL CONVERSION Program — BINHX; CARDS Program— CARDS; REAC- TION TIMER Program-REACT; GOLLUM'S CAVERNS Program— GC; ESP Program — ESP; BAGELS Program — BAGEL; BRICKS Proglam-BRICK; HANGMAN Program- HANGM; nc TAC TOE Program— TIC; STARWAY 090 Pro- gram— STAR9- TJie UTIUTY Programs— ROTATING BILLBOARD — ROTBB; PRINTER WAVES Program— PRTWV; AD- DITION & SUBTRACTION— ADDSB; TOTAL Program- TOTAL; TIMER Pro- gram— TIMER; Printer Paper Programs; MEMORY TEST Program— M TEST; Hex- adecimal Input/Output Programs; EDITOR RESTORE Program — ESTOR; SUPER SIGNS Program — SIGNS; CONVERT DECIMAL TO HEX Program— CNVRT; SYMBOL TABLE— SYMTB; FIELD SORT Program— PSORT; RELOCATE MEMORY Program- RLOC; DISASSEMBLY 1-STEP Program— KISTP; FIBBONACCI NUMBER SERIES Program— FIBBN, The Appen- dix-Con lents—ROCKWELh Specification Sheets; Questions for the TAKE AIM Manual; Worksheets and Memory Page Samples; Reply Form. Pascal Pascal Piogiams (or Scientists and Engineeis by Alan R. Miller. Sybex Inc. (2344 Sixth Street, Berkeley, California 94710), 1981, xxii, 378 pages, 134 listings and illustrations, 7x9 inches, paperboimd. ISBN: 0-89588-058-X $16,95 This book was written to help readers gain a proficiency in Pascal and to pro- IContinued on next page) No. 40 -September 1981 MICRO - The 6502/6809 Journal 45 New Publications {Continued fiom page 45) vide a library of programs useful for solving problems frequently encoun- tered in science and engineering. It con- tains over 60 of the most frequently used scientific algorithms, along with their program implementation in Pascal. The book is designed not only for the practicing scientist or engineer but is also suitable for a junior- or senior-level engineering course in numerical methods. Users need a work- ing knowledge of an applications language (Pascal, FORTRAN, or BASIC|. Experience with vector operations and differential and integral calculus is also recommended by the authors. CONTENTS: Evaluation of a Pascal Com- plies— Introduction; Precision and Range oi Floating-Point Opeiationsi Pascal Program: A Test of the Floating-Point Operations^ Pascal SIN and COS Functions; Pascal Pro- gram; Testing the SIN Function; Other Pascal Functions; External Files; A Power- of-10 Function; Pascal Program: Calculating Powers of 10; Summary. Mean and Standard Deviation— Introduction; The Mean; The Standard Deviation; Pascal Piogiam: Mean and Standard Deviation; Random Numbers; Pascal Function: A Random Number Generator; Pascal Program: Evaluation of a Random Number Generator; Pascal Func- tion: Gaussian Random Number Generator; Pascal Program: Evaluating RANDG; Sum- mary, Vector and Matrix Operations— Introduction; Scalars and Arrays; Vectors; Matrices; Pascal Program: Matrix Multi- plication; Determinants; Pascal Program: Determinants; Inverse Matrices and Matrix Division; Summary. Simultaneous Solution of Linear EquatJonj— introduction; Linear Equations and Simultaneous Equations; Solution by Cramer's Rule; Pascal Program: A More Elegant Use of Cramer's Rule; Solu- tion by Gauss Elimination; Pascal Program: The Gauss Elimination Method; Solution by Gauss-Iordan Elimination; Pascal Pro- gram: Gauss-Ioidan Elimination; Multiple Constant Vectors and Matrix Inversion; Pascal Program: Gauss-Jordan Elimination, Version Two; 111 -Conditioned Equations; Pascal Program: Solving Hilbert Matrices; A Simultaneous Best Fit; Pascal Program; The Best Fit Solution; Equations with Complex Coefficients; Pascal Program: Simultaneous Equations with Complex Coefficients; The Gauss-Seidel Iterative Method; Pascal Pro- gram; The Gauss-Seidel Method; Summary. Development of a Curve-Fitting Pro- gram—Introduction; The Main Program; A Printer Plotter Routine; A Simulated Curve Fit; The Curve-Fitting Algorithm; The Cor- relation Coefficient; Pascal Program: Least- Squares Curve Fitting for Simulated Data; Summary. Sorting— Introduction; Handling Experimental Data; A Bubble Sort; Pascal Program; The Bubble Sort and TSTSORT; CBM/PET? SEE SKYLES ... CBM/PET? **Should we call it Command-O or Command-O-Pro?" That's a problem because this popular ROM is called the Command-O-Pro in Europe. (Maybe Command-O smacks too much of the military.) Bui whaieviT you call ii. ihis ^K by:e ROM will provide your CBM BASIC 4.0 (4016. 40321 and 8032 i;ompulcrs v/itli 20 addilional cominands including 10 Toolkit progiam i-dilins and dcbuggmg command!, and 10 addilional commands for ^cicenmB, formallmB and diw.- file mampulalmg. (And our manual wile, dug up i9 addilional commardi m Ihs toui5e ol doing a IS-page manual!) V\K Command-O esu-iids Commodore's 8032 advanced screen editing realures lo Ihe iilti- maic Vou can iioi* SCROLL up and down, insert or delcic enure lini-s, dclele ihe cliar- aclers lo ihe lefl or righl or the cursor, select TEXT or ORAPHICS modes or ring ihe 8032 bell You can even redefine Ihc -vjiidow 10 adjust it by size and posilion on your screen. And you can define any key Lo equal a seqiictice of up 10 90 key strokes. The Command-O chip resides in hexadecimal address J9000. Ihc rightmost empty iock el in 4016 and 4032 or the rearmosi in 8032. If iherc is a space tonnicl. we do have Ijockel- 2-Mt available al a very special price. Skyles egaranlees )»ur sal istae lion: U you are nol absolulely happy -viih your new Ca"mmard-0. relurn h to us within icn days lor an immediale, full refund. (ommand-O from SkjIesKleelric Works S75.WI Complcic with Sockel-2-Me '*■'* Shipping and Handling (USA /Canada/ S2.50 fEurope/Asia) SIO.OO California residents muil add 6%/6'A % sales lax, as required. Skvles EleclriC Works Vlsa/Masurcatd orders; cah LollfTec 231K South WhLsmanHoad (8001 227-imS (exccpi California) Mountain Vie». CallforniB ^4041 Cahlornia orders; please call (4I&) (4151 965-n3S 965-1735. /lAiaO - S31A>IS 33S 6i3d/IAiaD 46 MICRO - The 6502/6809 Journal Pascal Procedure; Bubble Sort with SWAP; A Shell Sort; Pascal Procedure; The Shell- MeczQcr Soil; The Quick Sort; Pascal Pro- cedure: A Recursive Quick Sort; Pascal Pro- cedure: A Nonrecursive Quick Sort; incor- porating Sort into the Curve-Fitting Pro- gram; SummaTy. General Leost-Squaies Curve Fitting— In iro due tion; A Parabolic Curve Fit; Pascal Program: Least-Squares Curve Fit for a Parabola; Curve Fits for Other Equations; Pascal Program: The Matrix Approach to Curve Fitting; Pascal Program: Adjusting the Order of the Polynomial; Pascal Program: The Heat- Capacity Equationi Pascal Program: The Vapor Pressure Equation; A Three- Variable Equation; Pascal Program: An Equation of State for Steam; Summary. Solution of Equations by Newton's Method— introduc- tion; Formulating Newton's Method; Pascal Program: A First Attempt at Newton's Method; Pascal Programs: Solving Other Equations; Pascal Program: The Vapor Pressure Equation; Summary. Numerical /Dte^/fltion— Introduction; The Definite In- tegral; The Trapezoidal Rule; Pascal Pro- gram: The Trapezoidal Rule with User input for the Number of Panels; Pascal Program: An Improved Trapezoidal Rule; Pascal Pro- gram: Trapezoidal Rule with End Correc- tion; Pascal Program: Simpson's Integration Method; Pascal Program: The Simpson Method with End Correction; The Romberg Method; Pascal Program: integration by the Romberg Method; Functions that Become Infinite at One Limit; Pascal Program; Ad- justable Panels for an Infinite Function; Summary. Nonlinear Curve-Fitting Equa- tions—introduction; Linearizing the Ra- tional Function; Pascal Program: The Clausing Factor Fitted to the Rational Func- tion; Linearizing the Exponential Equation; Pascal Program; An Exponential Curve Fit for the Diffusion of Zinc in Copper; Direct Solution of the Exponential Equation; Pascal Program: A Nonlinearized Exponen- tial Curve Fit; Summary. Advanced Appli- cations: The Norma! Curve, the Gaussian Error Function, the Gamma Function, and the Bessel Function— introduction; The Normal and Cumulative Distribution Func- tions; The Gaussian Enor Function; Pascal Program: Evaluating the Gaussian Error Function Using Simpson's Rule; Pascal Pro- gram: Evaluating the Gaussian Error Func- tion Using an Infinite Series Expansion; The Complement of the Error Function; Pascal Program: Evaluating the Complement of the Error Function; Pascal Program: A Faster Implementation of the Error Func- tion; The Gamma Function; Pascal Pro- gram: Evaluation of the Gamma Function; Bessel Functions; Pascal Program: Bessel Functions of the First Kind; Pascal Program: Bessel Functions of the Second Kind; Sum- mary. Appendix A: Reserved Words and Functions. Appendix B: Summary of Pascoi— Minimum Standard Character Set; Variable Names; Numbers; Comments; Operations; Syntax; Conditional State- ments; Iterative Statements; Transfer-of- Control Statements; Input and Output; Data Types. Bibliogiaphy. Index. AlCftO No, 40 - September 1981 € APPLE DISK & MEMORY UTILITY THE INSPECTOR Thesp ulililies eruiblG iHic user lo examint dald bolh in rhe Apple's memory and on disks, Simple commanda aWow stanning rhrough RAM and ROM memory as weW as readinB. displaying and changing daia on djsk. Read and tewrile accfion^ o( Random Access liJca Reconsfrucla blown VTOC Weed ouiuntuanied conlrol characreis m CATALOG lisMngs UnDELETE deleted dies or programs. RL^pair (ilea ihar have erroneous dara. All kuirhoiit being under program conlrul and more. You may Irdnsfer ^ecFors beiujeen disks Thii alloujs you lo Iransfer DOS 'rom one disk to anolhpTlberebysauingabloiAmdiskwjhenallrhar's b[D(vn is DOS ilself; or to restore a porlion ol a bfoivn disk (rom its backup disk lis unifjLie NIBBLE read routine provides a Hi-Re5 grapbfcal representation of ihe data on any track allowing you to immediately ascertain whether your disk is 13 sector or 16 secloc. Gel an VO error. ,is il because you have the uirortg DOS up? is If because o( a bad address deJd'^ or a had data (ield? or because a Irack wa^ erased'' This will allow you to lell man mslant withoul blowing away aDy program lii memory • Repairs Blown Disks • Reads Nibbks • Maps Disk Space • Sciirches Disks The INSPECTOR ewn lels yuu search through anentiredisknr through onboard memory for ]he appearance of a siring. Now you can ifdsily add lower case lo your pror^rams (wilh LCA). Do you want to add so-called illegal line numbers into your program^ or have se^wral o( the same line numbers In a program {like the professional programmers do)? or input unavailable commands [like HIMEM lo Integer Basicp or pui quolalion marks inlo PRINT siatemenls? fHere's the easy way to do them air AND MORE Th^f INSPECTOR provides a USER exit ihai wilt in"er(ace your own subroutines wiifi those dI ihe [NSPECTOR itsi"f( For example, (usl put a screen dump routine (sample included in documenralion) al HEX 0300 and press CTRL Z. The contents of the screen page will print to your printer ROM RESIDENT ROUTINES The JNSPECTOR utilities come on an easily installed EPROM Thi^ makes lliem always available (or instant use. No need to load a disk arid run a program. FULLY DOCUMENTED Unhke olher software of iis kind The INSPECTOR comes wiih an EASY lo understand manual and reference card. Examples and graphics help even rhe uniniliafed use the powero( these ulililies And Jurihetmore. we offer Ihe kind oJ personal service which you have never experienced from a softwai-e vendor before. * Searches Memory > Edits Disk Sectors ■ Outputs Screen lo Printer • Displays Memory In HEX/ ASCII See ^our LOCAL DEALER OR . . . MaaiercaTdor Visa users call TOLL FREE 1- 800-8352246, Kansas residents rail 1-SOO- .162'242L Or send S49.95. Illinois residents add £3 sales tax. SYSTEM REQUIREMENTS Alf App\e n rrailijfurflEhini [lur haveaci:e« Id IniegerRa&n: (either in ROf^ nr RAM» ^viJI ^uppnrr TTie INSPECTOR, Jij$l place Ihe chip in errprvsockei DSeirhuionihw morher bodrd or in ari Imtger Jimi\irare card Aivk II* syirems with RAM expansion bturd^ or langjoge sy^iems ^|| receive thtf (NSPECTOR un disk lo mer« and load with INTBASIC And . il voii have an Apple II'. wiihour eii her RAM oi ROM ac^iess to fnleg^r Ba^ic. vou ivill still tw ahle lo use THf INSPECTOR becaurf we are malringavdilable l&kRAM e^pan&iun boatdi al a vtiy alFordable pitze Nor only i^ill ynu he abli! (a use The rNSPECTOR, bui yoi] wJI dl» haLw access lo Inieaer 3iM jnd i>iher langiiiae^ 0\ir price for BOTH rhe INSPECTOR dnd our L6k RAM board isi I fi9.95JeB5 than mo^i RAMhoardsarone Cdll our Dlftce for defacli. Anoiher Quahry Product Irom Omega So(tivare Products, Inc. 222 S. Riversidf Pbza. Chicago, IL 60606 Phone (312) 648-1944 - 1931 Omega Soflware PrndiJCls, Inc. Apple IS a regrgrert'd Irademark of Apple Compufcr. Jnc Your Pascal too slow? Not anymore. •• wirh the PASCAL SPEED-UP KR", which includes THE MILL, the easiest woy to give your Pascal system a tremendous performance boost. Hete Is how it worlis: 1) Plug rn THE MILL 2) l^un out configurorion ptogrom onetime 3) ThafsQil You now hove a 30 to 000% Foster Po&cqI P-mochine, and you don'i hove ro tecompile, teprogtom ot lelink, FOI^TRAN users moy □Iso take odvonioge of THE PASCAL SPEED-UP KIT. Contoct yout locol Apple deolet fot mote information, Comrng June 1 1961 ro your local Apple deolet" THE ASSEMBLER DEVELOPMENT KIT STELL^TiON TWO mohes ovoiloble rhe fools necessoty ro tohe lull odvonroge of THE MILL Eniet the world of rrue MULTIPROCESSING with THE PASCAL SPE£C>-UP KIT and THE ASSEMBLER DEVELOPMENT KIT ovoiloble only from STELLATtON TWO, % THEMILi. rtonsfoimL rhe 8-bit Apple II into o compuref thor acts like a i6biitnochir!e THEMILLhos unique hortVote feotures rhor permit tbe 6609 to run or full speed ( 1 megohenz] ond How rhe 6502 ronjnoi 30%ofri5noimol speed — ATTHE SAME TIME! Find oof obour THE MILL ond get involved with the tiotiest iterti on tfre peisonol computer motliettodciy. No exi^nng personoi compurer congiveyourf^e power peiformonce and price olTKE MILL'S 6609-6502 combinQnon, PO, BOX23i2-N2 SANTA BARBARA, CA 93120 (805)966-1140 Apple II IS o trodemarl'; for Apple Compurer, Inc, No, 40 - September 1981 MICRO- The 6502ffi809 Journal 47 T?r35»: -.Jt-iiii--- ■ '!?_'^?.fj;T f5f»5W^ 16K RAM EXPANSION BOARD FOR THE APPLE II* $195.00 The Andromeda I6K RAM Expansion Board allows your Apple to use RAM memory in place of me BASIC Language ROMs giving you up to 64K of programmable memory. Separate Applesoft* or Integer BASIC ROM cards are no longer needed. Tine I6K RAM Expansion Board works with the Microsoft Z-80 card, Visicalc, DOS 3-3, Pascal, Fortran, Pilot, and other software. A switch on the card selects either the RAM language or the mainboard ROMs when you reset your Apple. The Andromeda 16K RAM Expansion Board has a proven record for reliability with thousands of satisfied customers. Now with One Year Warranty. •Apple N 5nd Applewrr are trademarks. /\ronoMEDA n ■■■" ^^" INCORPORATED P.O. Box 19144 Greensboro, NC. 27410 919 852-1432 DisiMbuted By: ^ COIVIPUTeR C3ATA SERVICES P.O. Box 696 Amherst, NH. 03031 603 673-7375 MICRO - The 6502^6809 Journal No. 40 - September 1981 APPLE BONUS m * Apple Graphics ^ This month's Apple bonus section features a special concentration on graphics. The versatile graphical capabilities of the Apple lend themselves easily to many useful and unusual applications. These applica- tions can range from rather ordinary ones, like graph plotting, to some very sophisticated uses like solid area shading and hidden surface remova!. In this section, the MICRO staff has collected five graphics-oriented ar- ticles, each of which highlights a dif- ferent use of the Apple's graphical capabilities. "SHAPER," by C. Osborne, is an easy-to-use, powerfu! utility designed to create and maintain Applesoft shape tables. While several shape table utilities have appeared before, both in the pages of MICRO and in other magazines, none has worked quite as quickly and easily as SHAPER. If you have not yet explored the possibilities offered by shape tables, SHAPER is the perfect place to start. "Lo-Res Graphics and Pascal," by CD. Heth, unlocks the power of the Apple's low resolution graphics from within the Pascal environment. One of the most common complaints about Apple Pascal has been that there are no Lo-Res graphics instructions on capabilities. With the routines ex- plained in this article, the Apple Pascal user can install these instruc- tions and take advantage of the 16-color graphics for which the Apple is famous. With low resolution graphics installed, the structure and versalilily of Apple Pascal will become even more alluring than it already is. "Paddle Hi-Bes Graphics." by K. Woodward, interfaces Applesoft high resolution graphics to the game paddle control. Designed to enable drawing of backgrounds on the high resolution screen, the programs pro- vided in this article demonstrate the power of Interactive graphic cursor control, and show how easily such control is implemented on the Apple. Additionally, the article explains some of the graphical transformations used in the program — transformations which are universally essential to any computer graphics system. "True 3-D Images on the Apple II," by A, Radciiffe, illustrates how 3-dimensional views can be generated on the Apple Hi-Res screen by the use of stereoscopic pairs. The blue Hi-Res "roller-coaster" depicted on this month's cover represents one such pair and many others can be generated by the "noisy coaster" routine explained in the article. Besides providing a lucid description of the theory and techniques underly- ing 3-D view generation, this articie and its accompanying programs should provide hours of fun and amusement. (They did for the MICRO staff.) "Apple Bits," by R. Vile, discusses techniques for displaying patterns in low resolution graphics mode. The first part of this three-part article, presented in this month's issue, describes a fast, machine language routine which converts compact, numeric data files into tow resolution pictures. A demonstration program, also described, illustrates how the routine is used to produce animation on the Lo-Res screen. The next two parts of the article, which will appear in October and November, will il- lustrate methods of generating and using the numeric data files. Together, the three parts of the series will enable more effective use of the Apple's low resolution graphics. Each of these graphics articles tackles a different capability of Apple graphics. By reading through them, and studying the program material provided, it should be an easy matter to unlock the hidden power of your Ap- ple's video display. The graphics capability is, without doubt, one of the most powerful of the Apple, and is certainly one of the most interesting areas of computer science. We hope this special section helps to stimulate exploration of this exciting area by all MICRO readers. jucno SHAPER — P. 50 Lo-Res and Pascal — P. 62 + Paddle Hi-Res — P. 68 V:V * 3-D Images — P. 71 Apple Bits — P. 75 No. 40 - Seplember 1981 MICRO - The 6502/6809 Journal 49 I APPLE BONUS SHAPER: A Utility Program for iVianaging Sliape Tables "Shaper" describes a utility program tor building and managing shape tables for the Apple II computer. The program allows the user to build shape tables by vector input, and view ttie shape while It is being built. The user can then change shapes, add shapes, delete shapes, review a shape table, and save or load a shape table. Clement D. Osborne 949 S. Kingston SI. Aurora. Colorado 80012 Shape tables are a very valuable tool of die Applesoft language. Programmers are allowed to define their own shapes, and then by implementing the Applesoft commands DRAW, XDRAW, ROT, SCALE, and SHLOAD, the shapes can be drawn, erased, rotated, enlarged, and loaded from tape. The shape tables can be used in programs to create dynamic effects on the high resolution graphics screen. Animating, displaymg game ob- jects, and mixing text and graphics on the high resolution grapfiics screen create only a subset of the possible uses of shape tables. The real problem of utilizing shape tables is the creation of the table. This program relieves the pro- grammer of the tedious task ot defining the shapes and setting up the table. SHAPER is a complete program for building and modifying shape tables. The first function, BUILD, allows shape tables to be constructed. All details are handled for creating the index portion and shape definition portion of the table. The user types in vector definitions by using the keys through 7- By hitting the ESC key the high resolution screen will display the shape as it is being typed in. The ADD function allows more shapes to be added to an already existing table. All new shape defmitions are add- ed at the end of the table, and the in- dexes are added in the index portion of the table. The function CHANGE allows the user to replace existing shapes in a table with a new shape definition. The actual shape definition is added at the end of the table, the old shape definition is removed, and the in- dexes are updated to point to the proper locations. DELETE allows the user to remove unwanted shapes from a shape table. After the shapes are removed, the table is compressed. The remaining shapes will then have different numbers when referring to them with the DRAW and XDRAW commands. The REVIEW func- tion displays information about a shape table and allows the user to view the shapes in the table. The SAVE/LOAD function allows shape tables to be load- ed from tape and saved or loaded to and from disk- Creating shape tables with SHAPER is an enjoyable process, and using the shapes in Applesoft programs adds a new dimension to programming the Apple II computer. To use the shape table in Applesoft programs requires two steps. The first step is loading the shape table into memory, SHLOAD can be used to read the table in from tape, or the code in line 7110 can be implemented to read the table in from disk. The second step is to store the lower two digits of the starting location of the table in $E8 |248), and the upper two digits in $E9 (249|. The code presented is full of REMarks to aid in the understanding of how the algorithms work. Each function is logically grouped into a set of lines. Please contact the author if there are any problems, suggestions, or questions about SHAPER, The text and example shape tables are available on cassette or disk. Contact the author for details. The remamder of the article is presented in a "user's manual" format, so it can easily be refened to while learning to use the program. After run- ning the program once or twice, the user's manual will seldom be needed. Shape tables aie a unique feature of the Apple n. However, the method of building shape tables described in chapter 9 of the Applesoft manual is time consuming, prone to error, and dif- ficult to master, SHAPER utilizes an automated approach which provides the same sophisticated results in a shorter time with less chance of error, SHAPER not only allows the user to build tables, but also to add shapes to the table, change shapes in the table, delete them from the table, display them from a table, and save shape tables to disk or load from disk or tape. Executing SHAPER SHAPER 1 is written in Applesoft BASIC, The program takes up about 6,5K and uses HGR2, SHAPER can be run in a 32K Apple, but 48K is recom- mended. Once SHAPER is loaded, type RUN to execute. While mnning SHAPER a ' 'Yes/No" question can be answered with any word begmning with a "Y" or "N." If an answer begins with any other letter, then the question is re-asked. An "APPLESOFT ERROR" is an error caused by Applesoft, SHAPER intercepts the error and prints "APPLE- SOFT ERROR XX," where xx is the error code as listed on page 81 of the Applesoft Manual, To restart SHAPER hit any key. Each cause of an " APPLESOFT ERROR' ' is discussed under the hmction in which it can occur. \ A "DOS ERROR xx" is an error that occurs when a table is being saved or loaded using the disk. The xx is the DOS | error code as listed on page 114 of the DOS 3-3 manual. Warning- Do not hit "Reset" during ^ the operation of any of the hmctions of ^ SHAPER, or the table could be destroyed. 50 MICRO - The 6502/6809 Journal No. 40 - September 1981 APPLE BONUS ^ Selecting the Starting Location Selecting the correct starting loca- tion for the table is very impoitant, and because of the importance, SHAPER makes the user double check it. In selecting a starting Jocation, the amount of memory available in the computer and the length of the shape table being manipulated must be considered. SHAPER 2 overwrites part of HGRl and uses HGR2, so the logical location for the table is immediately above HGR2 at memory location 24576 (6000 hex). Using this location will allow a table length of 24476 bytes without DOS booted and 13724 bytes with DOS. Both these lengths allow for 100 bytes of character strings stored after HIMEM. Question: What is the starting location of the table (in decimal]? Response: Action of SHAPER: n Set n as the starting loca- tion of the table. Set starting location of the table to 24576. If n is greater than the highest memory location in the Apple or lower than LOMEM an "APPLESOFT ERROR" will occur. Hit any key to restart SHAPER, and select a different starting location. After selecting the starting location a menu will appear: Fimctions available: 0. Exit from SHAPER 1. Build shape table 2. Add shapes to table 3. Change shape in table 4. Delete shapes from table 5. Review shape table 6. SAVE/LOAD shape table Question: Function? Response: 0-6 > 6 Action of SHAPER: Execute the desired function. Re- ask question. If a shape table is not in memory, trying to execute the Add, Change. Delete or Review function will give impredictable results and usually end with an "APPLESOFT ERROR." Each function is described in the rest of the article. Build Build is used to constroct a shape table, SHAPER-BUILD will configure the table in the proper format needed to utilize the Applesoft shape table com- mands. SHAPER-BUILD builds the in- dex portion of the table along with the shape definition portion. Question: Number of shapes going into table? Response: Action of SHAPER-BUJLD: Return to menu, 1 - 255 Set table for number of shapes. -^ 255 Re-ask question, (Maximimi number of shapes is 255.) SHAPER-BUILD is now ready to accept vector definition numbers to define shapes that are going into the table. Definition of Vectors: - move up 1 - move right 2 - move down 3 - move left 4 - plot and move up 5 - plot and move right 6 - plot and move down 7 - plot and move left Question: (Will repeat until shape definition is completed.) Vector 1 - 1 = Response: Action of SHAPER-BUILD: - 7 Use as vector definition in shape, 8 - 9 Display definition of vectors. ESC Switch from TEXT to HGR2 and vice versa. X Erase last vector input. Anyt hing else is ignored. To end a shape definition type in three vectors of zero. Because of how Applesoft handles a shape definition, a shape caimot be defined to move up three times in a row, or move up twice and use a plotting vector. Example (Vec- tor n, Vector n + 1, Vector n-t- 2); n n+l n-fZ Will end the shape definition. [4-7] Will end the shape definition. 11-31 Move up twice and move the last vector direction. After the shape has been defined it will be displayed on high-resolution graphics page two at the coordinates: X = 139, Y = 79. These coordinates can be changed by altering line one of SHAPER, which also changes the point that the REVIEW function uses. The "ESC" key wUl switch the display between TEXT and high- resolution graphics page two, so the shape can be viewed while it is being built. If a move vector is used to go over a point that has been plotted, the point will disappear, but the point still exists in the shape definition and it will be displayed when the shape is completed, The"X" key can be used to erase the last vector input. The input buffer will only hold 100 inputs. This allows for 100 vectors to be erased per shape. If more than 100 mistakes are made on a shape, then the shape can be ended and restarted. When the shape is completed, the shape will be displayed on HGR2, and the bell will soimd. SHAPER is waiting for a "Y" or "N" for approval or dis- approval of the shape. The question will not be seen and the ESC key is inoper- ative at this time. Question: Is shape OK? Response: Action of SHAPER-BUILD: Y Allow user to define the next shape. N Allow the user to redefine the last shape. Warning: Do not start a shape definition with or (4-7] . This will put one byte of zero in the table to define the shape. Applesoft will ignore this zero and use the next bytes in the table to define the shape until another byte of zero is reached. Later, when using Delete and Change functions, more problems could arise. An "APPLESOFT ERROR" will occur if one attempts to build a long table past the end of memory available in the computer. Example of Build Function Suppose one wishes to build a shape table of one shape. The shape looks like a "Y" in a 5 X 7 format. For starting location reply; (sets starting location to 24576 — 6000 hex). The shape looks like this: • • • No. 40 -September 1981 MICRO - The 6502/6809 Journal 51 APPLE BONUS The shape is then drawn with direction vectors: The vectors would be laid out as shown in figure 1, Type in the vector definition numbers followed by three zeros. Loca- tion 6000 hex will show the table as in figure 2. Add Add allows one to add shapes at the end of an already existing shape table. The number of shapes added cannot make the total shape count in the table go over 255. Question: Ntmiber of shapes adding to table? Response: Action of SHAPER-ADD: Return to menu, 1 - n Allow n number of shapes to be added to the table. NS+n>255 Re-ask question, [n is the number of shapes adding. NS is the number of shapes in table. NS + n is the number of shapes in the table after the add. } After telling SHAPER-ADD how many shapes are being added, the vector definitions are typed in as in SHAPER- BUILD. Change Change allows a shape definition to be redefined. The new shape is defined as in SHAPER-BUILD and it replaces the one being changed. Question; Shape to be changed! Response; Action of SHAFER-CHANGE: Return to menu. 1 - NS The requested numbered shape is changed. > NS Re-ask question. (NS is the number of shapes in the table.) After telling SHAPER-CHANGE what shape is to be changed, the vector defini- tions are typed in as in SHAPER-BUTLD. Figure 2 6000 ,01, no ,04 oq ^zk ^c 38 20 to 31 17 Number of Index Shape Definition Shapes In Table 06 OOi t Ewi Byte Delete Delete allows unwanted shapes to be removed from the table. SHAPER- DELETE removes the shape definition, removes the index, and compresses the table. This compression causes all shapes after the deleted shape to have a smaller definition number in the table. Example: Suppose shape number 3 is to be deleted. Befoie Shape Number Shape 1 2 3 4 5 A B C D E After Shape Number Shape 1 2 3 4 A B D E Notice after shape 3 is deleted, that shape 3 now defines D, and shape 4 is now E. Question: (Will repeat until function is completed.] Shape to be deleted? Response; Action of SHAPER-DELETE: Return to menu if no shapes have been deleted. Com- press table and return to menu if shapes have been deleted, 1 - NS Delete that shape from the table. >NS Give error message and re- ask question. PS Give eiroi message and re- ask question. (NS is number of shapes in the table.] |PS is a previous deleted shape in this execution of SHAPER-DELETE- ) Many shapes may be deleted in one execution of SHAPER-DELETE, The table is not compressed until is typed to end the function. So, in the above ex- ample if shape 2 and shape 4 were to be deleted, then 2, 4, and would be typed in to answer the questions. B and D would be deleted. If there is only one shape in the table, the Delete function cannot be used. Trying this will result in an error message and the question being re- asked. Type in zero to exit from SHAPER-DELETE- Depending on the size of the table, there will be a delay when typing in zero to end the function. This is when the table is being compressed. Review Review will give information about the table and allow the shape table to be displayed. Information given: 1. The starting location of the table; 2. The ending location of the table; 3. The length of the table; 4. How many shapes are in the table. Question; Shape number (first, last)? Response; Action of SHAPER-REVIEW: ,L Retum to menu. F,L iF = L] Display shape, F,L (FL| Re-ask question. (F is the first shape to be displayed,) (L is the last shape to be displayed.) If L is greater than the number of shapes in the table then the shapes from F to the end of the table will be displayed. If an "APPLESOFT ERROR" occurs when the function is being executed for the first time, then a table does not exist at the given starting location. Insme there was a table at the starting location. 52 MICRO - The 6502/6809 JournaL No. 40 - September 1981 APPLE BONUS [ If the table was read in from tape, make sure there was not an I/O error during the read, and that the length of the table was correct. The point that the shape is drawn at is: X = 139, Y = 79. This point can be chariged by altering line one in the pro- gram. Altering the coordinates also changes them for the Build function. While a series of shapes is being displayed, a zero can be typed in to exit the function. Save /Load Save/ Load allows a shape table to be loaded from cassette tape, loaded from disk, or saved to disk. A function menu will appear: 0. Exit 1. Load from tape 2. Save to disk 3. Load from disk 4. List catalog Question: Function? Response: 1 2,3 4 Action of SHAPER- S AVE/ LOAD: Return to menu. (See cassette fuoction below.) (See disk function below,] Display Catalog from the disk. Cassette Tape: Question.- How long is table (in decimal)? Response: Action of SHAPER: (Load from tape) Return to menu. n Use as length of table. Next, the tape should be started. Hit any key to start SHLOAD command, which reads the tape. If the wrong length is given, then the table will not be loaded at the starting location given. This will cause an "APPLESOFT ERROR" later in the ex- ecution of another function. Reload the table using the correct length. If "ERR" appears on the screen, then an I/O error has occurred during the read. An "APPLESOFT ERROR" will occur. Hit any key to restart the pro- gram. Check the tape and recorder for problems. Disk; Question: What is the (input /output) file name? Response.- Action of SHAPER (Disk): Legal File Perform the save or load Name function. An illegal file name as defined in the DOS manual will result in a "DOS ER- ROR" or an "APPLESOFT ERROR." A "DOS ERROR" will return to the Save/Load menu and the function can be retried. An "/APPLESOFT ERROR" will return to the beginning of the pro- gram. The sWpe table is not lost. Use the same starting location and the table is recovered. SHAPER Listing DIM BFXdOO) 1 X = i3'?5y = vf 10 IDNERR emo 9O00 14 REM 15 REM It REM 18 REM l"? REM COMMENTS 5HDUL0 NOT BE INCLUDED IN THE EXECLITABUe MODULE. SET CONSTftlMia 20 XI = XiYl = y:TW - 2:aE = I ! TF = 256: ZE = 0:TR = 3: GOTO & 000 lOdO KB = BFy. - 21) OR (KI > 9 AND KI < > 40) GOTO 1050 POKE - 1636B,ZE! IF KI = 4 O GOTO 1190 IF KI - - 21 GOTO 1170 IF KI > 7 GOTO 1330 PRINT KIi IF KI > TR THEN HCDLDR= TR: HPLDT Xl.Yl 1050 1060 1070 1 080 1O90 1099 REM : PLOT NEW VECTOR POINT 1100 T6 = KI:B4 = OE: GDSUB 1240 1110 BF7.(BP> = KIiBP = BP + DE: IF KI = ZE THEN B2 = B2 + OE 1120 IF B2 = TR OR (KI :- TR AND B2 = TW) THEN Bl = TW: RETURN 1130 IF BP = 100 THEN Bl = OE 1140 IF BP = lOl THEN BF = ZE 1150 IF KI < > ze THEN B2 = ZE 1160 RETURh 1169 REM : SWITCH SCREEN MODE 1170 IF S = DE THEN POKE - 162 | 99, ZE: POKE - 16297 ,ZE: POKE - 16304, ZE:B = ZEi GOTO 103 IIBO TEXT : S = OE: GOTO 1050 1189 REM : ERASE OLD VECTOR 1 1190 BP = BP - OE: IF BP = B3 - E OR N - OE GOTO 1230 | 1200 IF BP < ZE THEN BP = 100 1210 T6 = BF7.(EiP) :&4 = - DE: S05UB 1240 1220 HPLOT XI. Y1:N = N - DE: PRINT "ERASED": GOTO 1040 1 230 BP = BP * DE: PRINT "CAN'T E RASE": GOTO 1040 1237 REM : SET UP NEW X AND V VALUES FOR PLOTTING 1240 IF T6 = ZE OR T6 - 4 THEN V 1 = Yl - B4 1250 IF T6 = DE DR T6 = 5 THEN X I = XI + B4 1260 IF T6 = TW OR T6 = 6 THEN V 1 = Yl + 64 1270 IF T6 - TR OR T6 = 7 THEN X 1 = KI - 64 1200 IF XI < ZE THEN XI = 279 1 1290 IF XI > 279 THEN XI = ZE | 1300 IF Yl < ZE THEN ¥1 = 191 1310 IF Yl ' 191 THEN Y = ZE 1320 RETURN 1329 REM PRINT VECTOR 1 DEFINITIONS 1330 PRINT ! PRINT "0 ! MOVE UP 4 : PLOT & MOVE UP": PRINT I fContinaed) No, -10 -September 1981 MICRO - The 6502'6809 Journal 53 ■ APPLE BONUS "1 J MOVE RIGHT 5 : PLOT !. MOVE RIBHT": PRINT "2 : MO VE DOWN 6 : PLOT !, MOVE DOWN": PRINT "3 : MOVE LEFT 7 : PLOT !. MOVE LEFT";: GOTO REM : « BUILD ROUTINE * PRINT "«# BUILD **": PRINT : INPUT "NUMBER OF SHAPES GO ING INTO TABLE '' ■';NS; IF NS ', DE GOTO 6050 IF NS > = TF GOTO 1340 REM ! SET UP BEGINNING OF SHAPE TABLE VTflB 24: POKE PP,NS:PP = PP 4- OE: POKE PPjZEiPP = PP + QEsSS = NS * TW + TW + SLiR - ZE REM 1 SET UP INDEXES INTO TABLE 1370 T2 = INT ( (SS - SL) / TF> iT 1 = INT TR GOTO 147 O PE = PE + KS * 64: POKE PP,P E:PP = PP + DEi IF Tl = ZE AND. T2 = ZE GOTO 1430 3470 IF Tl = ZE GOTO 1420 1480 GOTO 1410 1470 POKE PP,PE!PP = PP * OE: IF T2 ZE THEN T2 TliTl = ZE 1500 1507 1510 1520 1530 1540 1550 1560 1570 15S0 1590 179B 2000 J GOTO 1430 GOTO 1420 REM ! REVIEW THE SHAPE POKE PP.ZEjPP = PP + OE:N ■= ZE: HSR2 :S = ZE: HCOLOR= TR : ROT= ZE: SCALE= DE: DRAW S N AT X,¥ BP = ZEiB3 = ZE:B1 = ZEiXl = X:V1 = V!B2 = ZE VTAB 24: INPUT "IS SHAPE OK ? "jAtt IF LEFT* = "V" GOTO 1560 IF LEFT* "N" GOTO 1530 CALL 62450:N = ZE:PP = SSl 6DT0 1400 IF SN = NS SOTO 15B0 CALL 624501 PRINT : SS = PP: SN = SN * DE: SOTO 1370 IF R < > ZE THEN TEXT : PRINT "»* TABLE IS BEING CHANGED » *": GOTO 30BO GOTO 6050 REM ! t ADD ROUTINE * PRINT "«« ADD «*": PRINT 2010 INPUT "NUMBER OF SHAPES ADD ING TO TABLE ? ";ND! IF ND < OE GOTO 6050 2020 2030 2037 2040 NS = PEEK (SL):SN = NS + ND ! IF SN > 255 GOTO 2010 POKE SL,SN!PP - SL REM : RECOMPUTE INDEXES AND MAKE ROOM FOR NEW INDEXES FOR I = OE TO NS:PP = PP + TW:T1 = PEEK fPP) * PEEK ( PP -f 0E> * TF:T2 = Tl + ND t TW!T3 - INT (T2 / TF>|T2 =■ INT (T2 - T3 « TF) ! POKE PP ,T2: POKE PP ♦ 0E,T3! NEXT 2050 2060 2070 2OS0 2009 2090 EF T2 - PP = T2 TWiT2 = OE: IF Tl PEEK SL (T2) > ZE GOTO 206O PP OE = T2 t ND * TWlSS PP T2 - POKE PP, PEEK (T2)!T2 OE:PP = PP - OE: IF T2 > = EF GOTO 2080 REM : SET UP VARIABLES FOR TRANSFER TD BUILD SN - NS + DE:NS = PEEK (SL> : GOTO 1370 2998 REM : « CHANGE ROUTINE « 3000 PRINT "«« CHANGE *«": PRINT :NS = PEEK NS GOTO 3010 REM : REPLACE THE LAST SHAPE IN THE TABLE IF ND = NS THEN R = ZE: GOTO 3070 PP = PP J- OE: IF ND - NS THEN R = ZE: GOTO 3070 REM : AN INTERNAL SHAPE IS BEING CHANGED PP = PP + OE: IF PEEK (PP) < > ZE GOTO 3050 PP = PP + OE:T2 - ND * TW + SL:T3 = PEEK (T2) + PEEK < T2 + OE) « TF[T4 = PEEK (T2 + TW> + PEEK (T2 + TR> * T F:T5 - T4 - T3:SS = PP - SL: SN = INT (SS / TF>:SS - INT fSS - SN * TF) : POKE T2,SS: POKE T2 + OE,SN:EF = PP:R = OE REM : INITIALIZE VARIABLES SO BUILD CAN CREATE SHAPE SS = PPsSN = NDsNS = SN: GOTO I370 REM : REMOVE OLD SHAPE AND ADJUST INDEXES R - ZEiTl - PP - £F:T5 = Tl - T5:SN = INT (T3 / TF):SS = INT (T3 - SN * TF):NS = ND t TW + SL: POKE NS,SS: POKE NS * OE.SN: IF T5 > ZE GOTO 31 10 IF T5 = ZE BOTO 3130 T2 = PP - OE:PE = T4 + SL - OE:PP = T4 * SL + T5 - OE:SS = OE: GOTO 3120 PE = PP:PP = PP t T5:SS = - DE!T2 - T4 + SL PE = PE ■>■ SS:PP = PP + IF PE < SS: POKE > T2 PP, PEEK (PEI: GOTO 3120 PE = EF + T5:PP = SL + T3:T! = PP + Tl POKE PP, PEEK (PE):PP = PP + OE:PE = PE -1- DE: IF PP < Tl GOTO 3140 PP = NS:EF = PEEK + PEEK (SL + TR) PP = PP + T«!T2 = + PEEK (PP + OE) (SL + TW) « TF + SL - TW PEEK (PP) * TF:T2 = (Continued) 54 MICRO - The 6502/6809 Journal No. 40 - September 1981 APPLE BONUS 3170 399S 4000 10 10 4019 4020 4030 4040 4049 4050 T2 + T5:T1 - INT (T2 / TF) ! T2 - INT (T2 - Tl « TF) : POKE PP,T2: PDKE PP + OE.Tl: IF P P < > EF EDTD 3160 GOTO t05O REM i # DELETE ROUTINE » PRINT "*« DELETE «*": PRINT :EF = PEEK ?SL>:Pe = EF * T W + BLjPE = PEEK (PE) + PEEK EF) OR ND < ZE GOTO 422 IF NS = OE GOTO 4220 SN = SL + ND * TWiPP = PEEK (SN) + PEE^- (SN + DE) » TF + SL: IF PEEK (SN) - ZE GOTO 4220 REM : ZERO INDEX TO SHAPE POKE SN.ZE: POKE SN + DE, ZE 4Ofa0 IF PEEK (PPl = ZE GOTO 4210 4069 REM ; ZERO SHAPE DEFINITION 4070 4080 4oas 4089 4090 4100 4110 4120 4130 4140 4150 4160 4170 41B0 4190 4200 POKE PP.ZEiPP = PP t OE: GOTO 4^,^^, Tl = PEsPP = NS * TW + BL + TW:PE = SL + EF * TW + OE REM ! COMPRESS ZEROS OUT OF TABLE REM : LEAVE A SINGLE BVTE OF ZEROS BETWEEN SHAPES Tl = Tl + OE: IF PEEK ZE GOTO 4090 PE = PE + OE: IF PEEK (PE) = ZE GOTO 4100 POKE PP. PEEK (PE):PP = PP + aE:PE = PE + OE: IF PEEK (P E) < > ZE GOTO 4110 IF PE = Tl GOTO 4170 IF PEEK IPE + OE) < - ZE GOTO 4110 POKE PP, PEEK (PE)iPP = PP + OE PE = PE + DEs IF PEEK (PE) = ZE GOTO 4150 IF PE < Tl GOTO 4110 POKE PP.ZE: POKE SL,NSiEF - ZEsPP - SL + TWiT2 - ZE:r3 = NS * TW * TWjTl - T3 + SL T4 = T3 + T2iT5 = INT (T4 / TF):T4 = INT (T4 - T5 * TF) 1 POKE PP,T4! POKE PP + OE,T 5:PP = PP + TW:EF = EF + OE: ]F EF - NS GOTO 6050 Tl = Tl * 0E!T2 =^ T2 + OE: IF PEEK (Tl> < > ZE GOTO 4190 Tl = Tl + OE:T2 - T2 + OE: GOTO 4160 4210 PRINT "SHAPE DELETED": PRINT :NS = NS - OE: GOTO 4010 4220 PRINT "«* ERROR «« INVALID SHAPE NUMBER": PRINT : GOTO 4010 4998 REM : * DISPLAY ROUTINE « 50O0 NS - PEEK (SL):T1 = NS * TW + SL:T2 = PEEK (Tl + OE)iT 1 = PEEK < > ZE GOTO 5010 501? REM : COMPUTE ENDING ADDRS (Tl), AND LENGTH (T2) 5020 Tl = Tl + DE:T2 - Tl - SL 5030 HOME : TEXT : VTAB TR: PRINT 5040 5050 5060 5070 5079 5OS0 50B9 5090 5100 5110 5997 5996 5999 6000 ****» SHAPE TABLE REVl EW »»*»*": PRINT : PRINT " TABLE STARTING LOCATION -> " jSLi" DECIMAL": PRINT 1 PRINT "TABLE ENDING LOCATION > "jTIi ■■ DECIMAL" PRINT : PRINT "LENGTH OF T ABLE > "iT2;" BYTES" ! PRINT ! PRINT ! PRINT "NUM BER OF SHAPES IN TABLE- i ";N S VTAB 22: INPUT "SHAPE NUMEE R5 (FIRST, LAST) ? ";BN,r5: IF SN : NS QR SN f T5 GOTO S050 IF SN = O GOTO 6050 IF T5 ■■ NS THEN T5 = NS REM : DRAW SHAPE (I) FROM THE TABLE FDR I = SN TO T5: HGR2 i5 = ZE: COLOR= TR: SCALE= OE: ROT= HE: DRAW I AT X,V: VTAB 23: PRINT "SHAPE NUMBER "i I REM : CHECK FOR "0" TO OUI j FOR T4 = DE TO 150: IF PEEK ( - 16384) = i76 GOTO 5110 NEXT ! NEXT - 1636B,ZE:S = OE: GOTO POKE 5030 REM REM REM « MAIN PROGRflM « B = OE: HGR2 : HOME : TEXT : VTAB 2: PRINT "***»****** S H A P E R 2 «»««»«»««*« ": VTAB 3: PRINT TAE< 2)i"» "! TAB( 39)("«"i PRINT TAB< 3>i"«") TAB( 38)1"*": PRINT TAB( 4)("»"i TAB( 12) ; "A UT ILITV PROGRAM"; TAB! 37) 1"*" 6010 PRINT TAB( 5) !"«'*! TAB ( 14 )t"FOR MANAGING"! TAB< 36)1" «"! PRINT TflElt 4)t"*"| TAB( 14)! "SHAPE TABLES"! TAB ( 37) ;"«"! PRINT TAB( 3))"«"| TAB ( 38)i"«": PRINT TAB ( 2)!"»"( " COPYRIGHT 1980 CLEMENT D. OSBORNE"; TAB ( 39))"*" 6O20 FOR I - OE TO 40l VTAB lOi HTAB I: PRINT "t": NEXT 602S REM : GET STARTING LOCATION AND POKE FOR DRAW COMMANDS 6029 REM : GET STARTING LOCATION 6030 PRINT : PRINT "WHAT IS STAR TING LOCATION": INPUT "OF TH E TABLE (IN DECIMAL) "^ "(SLi PRINT : PRINT "DOUBLE CHECK STARTING LOCATION ■ " : PRINT : INPUT "IS n CORRECT '> "iA a: IF LEFTS (A4,0E) : ■ "Y " GOTO 6030 6035 IF BL = O THEN SL = 24576 6040 PP = INT <5L / TF)i POKE 23 3.PP:PP = INT (SL - PP * TF ) : POKE 232, PP 6049 REM : NAIN MENU 6050 TEXT : HOME : VTAB 3: PRINT ■FUNCTIONS AVAILABLE: ■': PRINT : PRINT " O. EXIT FROM SHAP ER": PRINT : PRINT '■ 1, BUI LD SHAPE TABLE": PRINT : PRINT " 2. ADD SHAPES TO TABLE":' PRINT : PRINT " 3. CHANGE SHAPE 1 N TABLE" 6060 PRINT : PRINT " 4. DELETE SHAPES FROM TABLE": PRINT : PRINT " 5. REVIEW SHAPE TABLE": PRINT : PRINT " 6. SAVE/LOAD SHOP E TABLE": PRINT ! VTAB 20: INPUT IContinuedj No. 40 - September 1981 MICRO - The 6502/6809 Journal 55 r APPLE BONUS 6070 AV97 6999 70O0 "FUNCTION ? "jTll IF Tl < ZE OR Tl > h GOTO 6050 CALL 62A50:PP = SLiSN = OEi HOME : QN Tl GOTO 1340,2000 ,3000,4000,5000,7000: GOTO 9 999 REM : *»»*IHHf**»Mt.**.»*tt.** REM : » I/O ROUTINE * REM : «llt««X»««t>t«t«*«»t:( VTflB 2: PRINT "«« SflVE/LDfl D «*■': PRINT 1 PRINT " O. E XIT": PRINT i PRINT " 1. LOfl D FROM TftPE"! PRINT c PRINT " 2, SAVE TO DISK": PRINT i PRINT " 3. LOAD FROM DISK": PRINT 7010 PRINT 4. LIST CATALDB": PRINT IS 'sTl PEEK 7020 D4« = CHR« (4»t INPUT " FUN CTIDN ? ■■,72: IF T2 < ZE OR T2 > 4 SOTO 7000 7030 HOME : ON T2 GOTO 7040,7060 ,7100,7120: GOTO 605O 7040 PRINT : INPUT '■HOW LONG THE TABLE (IN DECIMAL) " : IF Tl = ZE GOTO 60S0: 7O50 T3 - PEEK (116) « TF + (115): HIMEMi Tl t SL + OE: PRINT : PRINT ■'START TOPE, WHEN RE ADV HIT ANY KEV": GET A*! SHLOAD : PRINT : INPUT "HIT RETURN TO RETURN TO MENU^'jAa: HIMEM: 13: GOTO t050 7060 PRINT 1 PRINT "WHAT IS THE OUTPUT FILE NAME ? ": INPUT fl«:Tl = PEEK (SL) « TW + BL :T2 = PEEK (Tl + 0E):T1 = PEEK (Tl) tTl = T2 » TF -1- Ti + SL 7070 Tl - Tl + GE: IF PEEK (Tl> < > ZE GOTO 7070 7OB0 T2 - Tl + OE - SL 7090 PRINT D4t;"BSAVE "!««;■', A"; SL;",L"iT2: PRINT t PRINT A* ! PRINT " HAS BEEN WRITTEN TO DISK": PRINT : PRINT "STA RTING LOCATION ! ";SL."LENGT H J ";T2i GOTO 7140 7300 PRINT ! PRINT "WHAT IS THE INPUT FILE NAME 7": INPUT A» 7110 PRINT D4«i ■'BLDAD ";A*i'^,fl"i SL: PRINT 1 PRINT A»: PRINT " HAS BEEN LOADED AT ''iSL: BOTO 7140 7120 HOHE : PRINT D4»; '■CftTALOG"l PRINT D4* 7130 PRINT : PRINT ■HIT ANV KEV TO CONTINUE": GET A*: HOME : GOTO 7O00 7140 PRINT : PRINT "HIT ANV KEV TO CONTINUE": GET A«! GOTO 6 050 899B REM : » ERROR ROUTINES « 9000 IF PEEK (222) = 254 THEN RESUME 9005 IF PEEK (222) > O AND PEEK (222) < 16 GOTO 9040 9010 PRINT : PRINT '■«* APPLESOFT ERROR »« "; PEEK (222): PRINT : PRINT "HIT ANV KEV TO CONT INUE'^: GET AS: GOTO ! 9040 PRINT : PRINT "»» DOS ERROR «* "i PEEK (222): GOTO 7130 9999 END juno DROWNING IN PAPERWORK? The MAGIC WINDOW worcJ processing system lets you breath easier. MAGIC WINDOW is the professional tool that will (essen the efforts of communication and improve your productivity! Secretaries al APPLE, Engineers, writers of leading computer magazines and U.S. government officials have selected and use MAGIC WINDOW over all the other word processors available for the APPLE II compute^ MAGIC WINDOW'S overwhelming appeal amonc experts and novice computer users originates^ simulation of a standard typewriter. Add thr of disk file storage, four way scrolling provie of 80 column documents, logically placed a learn single key editing commands, and you' processor that is truly magical. Take a relaxing deep breath and ask your Ioce computer store for MAGIC WINDOW. ANNOUNCING BASIC MAIL BASIC MAILER is a mailing list merge system „ to take MAGIC WINDOW document files and re names, addresses or any other section of the doc_.. individual data, creating customized letters, invoic„ etc. BASIC MAILER uses the same human engineere systems used by MAGIC WINDOW. Together MAGIC WINDOW and BASIC MAILER create an affordable, powerful and professional word processing mailing system. The uses for either of these systems are almost unlimited. 10432 Burbank Boulevard • North Hollywood, California 91601 • (213)985 5763 56 MICRO - The 6502/6809 Journal No. 40 - September 1 981 APPLE BONUS T,M, SENSIBLE SOFTWARE, INC. is pleased to introduce... ' f t'Wary OUR 1981 COLLECTION OF SUPERIOR SOFTWARE FOR THE APPLE COMPUTER. . . APPLESOFT-PLUB STflUCTUnEO BASIC [API_US] SeS.OO 32K + , Disk M, ROM/RAM A|)pleso(I, Apple ll/Apple II + APLUS is a 4K machine language ulilily Ihal adds Ihe lollowing slruclufEd progtammlng commands to Applesotl basic: 1] WHEN.. ELSE .FIN, 2) UNTIL, 3) WHILE. 4) UNLESS, 5] CASE, 6) SELECT (variable), and 7) (OTHERWISE). Mulli-line IF. THEN slatemenis are also supponed, APLUS allows Ihe use ol ■■(lamed" suOfoulines or "pfocedures". The programmer can now Insirucl a program to ■■□0 CURVE-FIT" without worrying aDoul Ihe location ol Ihe subfouline APLUS automatically indenis ■SLIST"ed programs to claril^ the logic flow. THe APLUS "&CONVEHT'^ command replaces the above slructured programming commands witli ■■GOTO'"s ard "GOSUa'"s to provide a standard Applesoft program as output. New programs can now be written using "GOTO "less logic. APPLESOFT PROGRAM OPTIMIZER (AOPT) SSO.OO 32 + . Disl( II, ROM/RAM APPLESOFT. Apple ll/Apple II + AOPT IS a Z.2K machine language utility that will substantially reduce (he size ol an Applesoft program without allecHng Ihe operation ol the program. AOPT aulomaticaily: t ) Shortens variablE names. I) Removes remarks. 3| Removes unrelerenced lines. 4] Appends short lines together. 5) Removes e«tra colons, and 61 Renumbers line numbers, AOPT will convert a verbose, well documented, developmeni version of a program into a memory-ell icient, more secure, pro- duction version ol the same program This is the ORIGINAL and the BEST optimizer on Ihe sottware market today! DOS PLUS SS5.00 32 + . Disk II, DOS 3.3. Apple ll/Apple 11 + DOS PLUS is the sottware solution lor living with both 13-sector(DOS 3, i, 3.2. and 3 2.1 ) and 16 sector (DOS 3. 3| Apple diskettes. DOS PLUS adds 8 new commands 10 Apple DOS. Three of these are built-in and five are user delinaDle. The built in commands include: 1) ".F" to "flip" between DOS 3 2 and 3 3 (The user need not reboot and any program that resides in memory will not he affected by the flip. The DOS version can even be changed within a programi), 2| ■ S' status command informs you what DOS version is currently active, and 3) ■ B'^ BLOAD- analysis is also provided to inform Ihe user of tbe starting ad- dress and lengffi of the last accessed binary trie. DOS PLUS also includes a DOS COMMAND CHANGER program to allow easy customization of Apple DOS com- mands to suit individual tastes. □ISKOROANIZERII — NEW — $30.00 ASK. Disk II. Apple It/Apple It -i- DO it is the fastest and Ifiendliest utility available today for organizing tiles on an Apple II diskette DO II provides the following tunctions: 1) TITLING In Nor- mal, Inverse, Flashing,. Lower case, and other characters normally not available, 2) CUSTONl REORDERING of ffie directory. 3) ALPHABETIZING, 4) DVNAUIC DISPLAV ol ALL filenames On a diskette (including deleted files), 5) RENAMING hies wilfi the same character options as TITLING, 6| UNDELETING, 7] DELETING, B) PURGING deleted tiles, 9) LOCKING [all or somel, 10) UNLOCKING (all or some), 11) USE of DOS sectors for increased data storage, and 12) a SIMULATED CATALOG to show the modilied directory bafore it IS written to the diskette. DO it is completely MENU DRIVEN and attains it's speed by altering a RAM version of the catalog DO II usesa very powerful SI^ART KEY to automatical I y locate the neni valid filename for any specitied disk operation Compatible with DOS 3.1 , 3.2. 3.2.1 , and 3.3 as well as lilUSE DOS to allow manipulation of SUPER TEXT tiles! (Note: Updates available lor S5.00and original disketle.) PASCAL LOWER CASE — NEW — SaS.OO J8K + . Disk II, Apple ll/Apple II -i- , Language System Tills IS Itie most recent commercially available LOWER CASE MOD tor Pascal for the Apple It. It is the only currently available modification that is compatible with both versions of Pascal (1 Oand i.l). The Pascal version is automalically checked prior to updating system Apple. II you have any ol the hardware lower case adapters you can now input ttie following characters directly from the keyboard. | - ^ <, J _. and \ , This modification does NOT interfere wilh any of Ihe -Control' character functions implemented by the Pascal environment and will 'undo' any alterations made by other commercially released modilications QUICKLOADER SES.OO 48K-1- , DisK II, Apple ll/Apple II i . (2 Disks) If you lind yourself doing the same ihings over and over - OL will help you do it taster! QL is a unique disk that lets you load DOS, a language card |optionally), and an application program ol your choice enlremely rapidly. OL boots as a i3 or 16 seclor diskelle and is easy to sel up and use To change Ihe setup, you merely load your Apple RAM with Ihe new data and use the ■RECONFIGURE' ' opiion ol OL. The nesi time you boot your OL disk, it will quickly toad your new setup (Language Card DOS, Application program) into your Apple! QL can reduce the time to pertorm these functions by up to 80%! Now thai you've read this, you say ■■But I can already Oo all of that!" QL doesn't do anything new- it just does it MORE CONVENIENTLY and FASTER! T17 it, you'll like it 1 OISK RECOVERY ["THE SCANNER"] S3Q.OO 48K+. Disk It. Apple ll/Apple 11 -t- This program is long overdue. You need no longer be concerned with the problem of physically damaged disks. Just as "Apple Pascal" provides a ■■BAD BLOCK SCAN", DISK RECOVERY will do a complete scan Ol your Apple diskettes' recording surface. Damaged areas will be "marked" as used in the disk directory so that no attempts will be made to "WRITE " to a bad sector. The VTOC will be completely redone to reflect both the Dad sectors and actual disk usage A complete report is generated advising the user of all corrections. A resullrng "DISK MAP^' Is presented lor your review. The greates! advantage of this program over the other versions is that it can be used on either NEWLY INITIALIZED DISKS or disks that ALREADY CONTAIN PROGRAMS as well as the SPEED of analysis. THE SCANNER is fully compalible with bolh 13 am] 16 sector diskettes. This is a must tor all Disk II owners! ALSO AVAILABLE: SENSIBLE SOFTWARE, INC. SUPER DISK COPY III aSO.DQ 6B19 PERHAM DRIVE / W. BIOOI^FIELD, MICHIGAN 48033 MULTI-DISK GATALOaiii"."//™".".. 920.00 313 399 8B77 THE NEW pnOTECTOR SSSO.OO „.cTcor«nn uuci rnui: (Call or w.ik 10- inio,™ii™i VISA aild MASTERCARD WELCOME I I IM&B LAKinEB II S1B.OO Michigji. Residents ada l-i SaISS la. ■.i^ivj-ti-i t-ri.t-mt^m-w-' — pieJSB aoo (I M posl^oB », lisntlfcnc loieach itmoroeieil. MASTER MAZE S1B.OO No. 40 -September 1981 MICRO - The 6502/6809 Journal 57 APPLE BONUS UersaLUriiBr PLAN AH fiBCDEFGMI jrLnnDPOB ABraEZHeiKAMN^OTI ^^ IB, I? ^ 24- 29[S aJ" ^^ IB, I? ^ 24^ 290 aJ" '' + ItI^ 2iV^ 26£>" What is VersaWriter? VersaWriter is an inexpensive drawing tablet for the APPLE II that lets you trace a picture and have it appear on TV display. VersaWriter is a comprehensive software drawing package which lets you color in drawings with over 100 different colors. VersaWriter is a shape compiler that converts anything on the screen automatically into a standard shape table. VersaWriter Is a text writer for labeling pictures with text in six colors and five sizes. Use English or Greek, upper or lower case letters. VersaWriter is much more! Draw with brush, create schematic drawings, compute area and distance, edit pic- tures, save, recall and more. VersaWriter requires ROM APPLESOFT and 48K memory. $299 Suggested Retail UNIQUE OFFER Send us YOUR disk and $1 . We will promptly return the disk with a slide package of 10 color pictures drawn with VersaWriter. D Enclosed is $1 and my disk. Send me the slide package. n Send more information including VersaWriter dealers in my area. DEALER INQUIRIES INVITED. ADDHtbS LM Y STATE ZIP Send To: Versa Computing, Inc. • 887 Conestoga Circle • Newbury Park, CA 91320 • (805) 498-1956 58 MICRO - The 6502/6809 Journal No. 40 - Seplemben981 « APPLE BONUS 3 9 List Controller LIST CONTROLLER provides flexibility and ease of operation when using the LIST command In Applesoft and Integer BASIC and the TRACE command when using the Apple H System A/lonltor. The programmer can control the speed of the output to the text screen using the game paddle. As an added bonus those programmers using Integer BASIC and the Monitor can Interrupt output to the text screen without pressing the RESET key. Preston R. Black 16 Durham Street Boston, MA 021 15 The process of debugging a program is particularly tedious on the Apple, since there is limited control of the LIST and TRACE functions. Applesoft allows the TRACE and LIST speed to be changed, and the screen output can be interrupted with 'CTRL-C. However, both Integer BASIC and the monitor lack even these primitive capabilities. While Applesoft does provide the programmer with these useful debug- ging aids, there is little flexibility in the system. Once a particular speed is set in Applesoft, there is no way to alter the speed without interrupting the listing and starting over again. In addition, Applesoft does not provide any means by which the programmer can interrupt the output of his listing for his perusal and then continue in a simple fashion. A program which would give the program- mer the debugging aids of Applesoft in Integer BASIC and in the Apple monitor, and also provide all three langauges with the flexibility mentioned above would be very useful. LIST CONTROLLER is a short assembly language program which does this. LIST CONTROLLER uses the Apple game paddles to control the speed of output to the text screen. The pro- grammer thus has the ability to change his output speed from the equivalent of SPEED = to SPEED = 255 at any time during his output. The programmer can therefore speed over those portions of his program which have been debugged, and then slow down to concentrate on those portions of the program with which he is having difficulty. LIST CONTROLLER also allows the pro- grammer the option to output his listing to the text screen one line at a time, or an entire page (i.e. one full screen] at once. All of this can be done without in- terrupting the LISTing or the TRACE. LIST CONTROLLER also allows the programmer using Integer BASIC and the Apple monitor to interrupt his listing at any time without the necessity of pressing the RESET key. How it Works LIST CONTROLLER consists of four interconnected routines. The first of these is PDDLRDj which controls out- put speed, using paddle #0 as the con- troller. TTie Apple game paddles are analog inputs connected to I50K ohm variable resistors. The variable resistance between each input and the + 5 volt power supply can be used as a timing circuit. As the resistance of the input varies, the timing characteristics of its corresponding time circuit changes accordingly. When the timing loops of the paddles are reset, all the paddle loca- tions (-16284 ($C064] to -16281 (SC06711 become greater than 128 (that is, their high order bit is set). The time for these values to drop below 128 is directly proportional to the setting of the game paddle associated with that location. By polling the game paddle location and coimting until it goes below 128, we can get a number relative to the setting of the game paddle. The good old Apple monitor provides us with a routine which does exactly what we want. PREAD (located at $FB1E1 polls the paddle pointed to by the x-register, and returns a value from to 255 in the y-register, depending upon the setting of the paddle. The value in the y-register can then be used to in- itiate the accumulator before jumping to the monitor WAIT i$FCA8] subroutine. This is another useful subroutine which will initiate a delay of a specific amount of time, depending upon tbe value of the accumulator when this routine is called. The delay, in microseconds, is given by the equation DELAY^13-H3.5'A-I-2,5*A^ where A is the contents of the accumulator. By interrelating the PREAD subroutine and the WATT subroutine, output speed is controlled by the game paddle. The second routme m LIST CON- TROLLER is the PAGE routine. This routine outputs the listing one text screen page at a time. The text screen is first cleared by using the HOME subroutine in the Apple monitor. The listing is then output to the text screen. When the screen has been filled, the listing stops imtil another command is given. To imderstand how it is deter- mined that the text screen has been filled, one must understand how characters are output to the screen. Pages 14-17 of the Apple II Reference Manual tell us that the text screen occupies pages four through seven of memory. If we examine the diagram on page 16. we see that the lines of the text screen are not ordered sequentially. However, this is not important since this diagram also shows us that the last line of the text screen is at $7IX), And by further knowing that the address of the next line to be used for outputting to the text screen is calculated in BASCALC ($FBC1) and is then stored in BASL|$28| and BASH($29j, we can poll these addresses until the end of the text screen No. 40 -September 19B1 MICRO - The 6502/6809 Journal 59 APPLE BONUS is reached (i.e. BASL = $DO and BASH = $07]. We then wait for the.next command. The STEP routine is a very simple routine which polls the output to the text screen until a 'carriage return' is detected, indicating the end of a tine of output. We then go to the DELAY routine which waits for another command. The final routine in this program is the DONE routine. When this routine is called, the output hooks at CSWL1$36) and CSWHi$37| are reset to the original monitor output routine at COUTl. It then determines which language the user is using by polling PROMPT($33], the address at which the monitor holds the prompt character. A jump to the warm start of the particular language is then executed. The well-documented program which is listed should he self explanatory and should help the interested programmer to fully under- stand the routines. The program can be relocated with a few changes. How to Use UST CONTROLLER' Because of the idiosyncracies of the three languages in the standard Apple n, 1 have had to use three different methods for using this program— one for each language. The program is first BLOAD- ed from disk. If you are in Applesoft, type '&:LIST' to activate LIST CON- TROLLER. The colon is necessary for proper handling of the command. In In- teger BASIC typing 'CALL 768' will ac- tivate LIST CONTROLLER and begm listing your program automatically. To use LIST CONTROLLER hom the monitor type (CTRL-Y)xxxxT where xx- XX is the address with which you wish to begin tracing. The way the program is written, game paddle #0 is used to con- trol output speed. To change to paddle #1, change the TDX #$0' in the PD- DLRD routine to 'LDX $#!'. When I'm not programming or playing with My Apple D, I am a research fellow in the Department oi Surgery at the Brigham and Women's Hospital in Boston. I have had my Apple foi two years and have taught myself assembly language over the last twelve months. Although 1 use my Apple primarily for personal entertainment, I have had occasion to use it in my research projects. 03F5 03F5 03F5 4C0003 03FB 03Fa 03F(J 03Fa 03F3 03FB ;X>[X' WHERE XXXX IE THE ADD- RESS FROM MHICH YOU WOULD LIKE TO START TRACING 4) 1 *a*A4AAk*«***A*'rli>**'**'i'i**'i^*** BASE BASH PROMPT CSWL CSWH RETURN ESCAPE SPACE IPWIPT PGBTM APRUPT KBRD STBB ABAS IC iBAEIC INLIST PHEAD HOME WAIT coun KSTOBE SAVE MOM EPS EPZ EPZ EP2 EPl ECU ECU ECU EOU EQU EOU EQU EOU EQU EQU EQU EOU EOU EOU EOU EOU EQU EOU 528 S29 S33 S36 S37 S6D S9B SAO £BE SD7 SDD SCOOO SCO ID 5D43C SE003 SE04B SFBIE SFCS8 SFCA8 SFDFO SFF3F SFF4A EFF69 'l SET AMPEBSANO U) JUMP VECTOE FOR APPLESOFT ORG 53F5 AHPRSD : JNP BEGIH ': SET CONTROL-Y JHP VECTOR FOR THE ISOKITOR ORG 53Fe CTRLY : J MP BEGIN ■ •* LIST C0HTEOLI,ER »■»■****** ORG S3 00 LDA [PDDLRD STA CSWL LDA /PDDLRD STA CSWH LDA PROMPT CMP IIPRMPT BME BETRN JHP INLIET RTE J BESET OUTPUT iiOOKS J TO ROUTINE AT PDDLRQ IS PROIiPT ■>'? NO — CONTINUE VES — TO INTEGER BASIC LIST a 1 I ' PADDLE BEADIHG ROUTINE PDULRD : JSR SAVE LDX tSOO JSR PRE AD TYA JSR WAIT JSR RSTORB JSR COUTl LDA KERD CflP tEECAPE BEO DONE CHP (SPACE BEQ STEPS CHP t RETURN BEO PAGE SAVE BEGIETERE SELECT PADDLE 10 READ PADDLE VALUE HOVE VALUE TO ACC TO MONITOR DELAY ROUTINE RESTORE REGISTERS OUTPUT CHARACTER POLL KEYBOARD ? 'ESCAPE' YES — FINISHED ? 'SPACE' YES — OUTPUT ONE LINE 7 'CR' YES— OUTPUT ONE PAGE IB 1 REGISTER (Continued) &i MICRO - The 6502/6809 Journal No. 40 -September 1981 14 Listing 1 iContinaedj Ixlc ^OIUTPTPTIS 9 0333 acioco BIT STBB ; CLEAR KEYBOARD \#\/IVix ItfC X c 0336 60 HTS I REJOIN OUTPUT ^^^^ W ^%TW^^#% 0337 4 ■ ^l# m\ ^#^J I a^ w 0337 ; ' mJjVf^..r^.^1.X^...^ 0337 I • BOOTISE TO OUTPUT ONE PAGE TO THE SCREEN ^mmi^mMA AAA^#%# 0337 f • ^M^^^K^irt^iM^K ^m 0337 ■ WA#C^nCn IT 0337 ?flGE: ^ y ^ 1 t* 1 VI D337 2C10C0 BIT STRB W m w X ^^XVA D33fl A94C LDA tPACEl .- RESET OUTPUT HOOKS 033C 853fi STA CSWL I TO ROUTIME AT PACE by Mark Pelczarski 033E A303 LDA /PAG El 03flO 8537 STA CSWH li \ y'^^^^^'^^^^^'iS^tt^ 0342 204AFE' JSR save: ; SAVE REGISTERS / / \ ^■'''-"' ''"'''l^htJtf 0345 205BFC 3SS HOME I CLEAR SCREEN f / 7 ^■■" W^A 0348 203FFP JSR BSTOBE : RESTORE REGISTERS //"^"^^-U_j^" it^W 03 4B 60 STS ; REJOIN OUTPUT ^f-^^""^^^ -""'Ar\w*- 03 4C PAGEli /'''*T">^^ ? C^ Jj^ll ^^\ 034C 20FDFD JSR COUTl ; OUTPUT A CHAHACTEB 1 1 !5"**CL~\ii-\_ 034P A528 LDA BASL i ARE WE AT THE END / N^^*^"**! Ij^^Tl 0351 4529 EOR BASH ; OF THE SCREEN PAGE? \j ^Vv^^/ 0353 C9DJ CMP ' • Thorough, easy to use □3flC 4C03EO 03 8F [ JMP IBAEIC ON £2 : YES- -WARMS TART INTEGER BASIC manual even shows how to 03eF C9DD C[IP lAPRHPT IE PROMPT '1 ' use graphics and machine 0391 DOOB 0393 4C3CD4 BNE D0HE3 JHP ABASIC YEE— WARMSTART APPLESOFT language routines in your 0396 L 0396 4C69FF 011E3; JMP HON DEFAULT TO HOHITOR WAHHSTART programs. only $59.95 0399 60 RTS 03 9A 03 9A ii Also available: . C39fl 03 9A - EOLTIKE TO OUTPUT ONE L K NE THE 100-COLOR DRAWING 03 9A :• SYSTEM contains al! of the 03 9A i 03 9A 2C10C0 D39D A9A6 TEPSi BIT STRB LDA SSTEP RESET OUTPUT HOOKS 2-d!mensionaI functions of the above. 03 aF 8536 03A1 A903 STA CEWL LDA /ETEP TO STEP ROUTINE THE 3-D DRAWING SYSTEM 03A3 8537 STA CEMU contains the 3-dimen5ionaI 03A5 60 03fl6 £ RTS TEP: REJOIN OUTPUT utilities. S32.95 each 03A6 C9aD CUP tSBD ?CAfiRIAGE RETURN DOS 3.2 or 3.3, requires Applesoft D3AS F004 03AA iOFDFD 03AU 60 03 AE s 03AE ZOFOFD DEO STEPl JER COUTl RTS TEPl: JSR COUTl NO — CONTINUE OUTPUT REJOIN OUTPUT YES — OUTPUT CARRIAGE RETURN firmware or language system. CO-OP 6 D3B1 D0A5 BNE DELAY THEN TO DELAY ROUTINE CfXwTX 1 VMf*0 03B3 50 RTS BHB REJOIN OUTPUT SOilwdrc ^ Post Oflice Box 432 West Chicago, IL 60185 (312)231-0912 \ is\,i[ili m.\s[[ h( \m>,ii.i'|iiL,i MCftO COMING SOON: moi« graphics utilities and a tablet version! No.40-Seplember1E )61 MICRO - The 6502/6809 Jouma 1 61 APPLE BONUS Lo-Res Graphics and Pascal ii The Apple language card precludes the use of the normal low resolution plotting routines. This article offers a library of assembly language procedures that allows you to plot low resolution graphics using Pascal. C. Donald Heth Department of Psychology The Unversity o1 Alberta Edmonton, Alberta, Canada TG6 2E9 One of the principal attractions of the Apple n is its capacity for expansion. Not only can the Apple owner add a plethora of peripheral devices, but he can also change the very "personality" of his machine. Perhaps the most significant development in this latter cormection was the Apple II Language Card, With it, the Apple owner can turn a hobbyist machine into a sophisticated computer system using one of the foremost languages of the computer industry, Pascal. As discussed by John Mulligan (MICRO, 29;59|, Pascal pro- vides the programmer with a very powerful set of programming tools. The Apple n owner Interested in serious applications of his machine will find Pascal well worth considering. However, he may fmd one feature disappointing. Because the Language Card functionally replaces the Apple monitor, it gates out many of Apple's intrinsic features. The feature that the new Pascal owner is likely to miss is the Apple's low resolution graphics capability. While Pascal has an excellent graphics handler, it is restricted to the standard high resolution color set. There are no defined procedures to produce the rainbow of colors for which the un- modified Apple is famous. So, while the Pascal user will undoubtedly conclude that Pascal's power is worth the sacrifice, its lack of low resolution graphics is likely to keep him forever nostalgic, or turn him into a closet BASIC user. To help advance the Pascal move- ment, I'd like to report on one way I have found to generate low resolution graphics from Apple Pascal, It permits plotting on either page of the low resolu- tion screen. As readers of the Apple Reference Manual know, low resolution graphics in the BASIC Apple are generated from RAM data in the range $400 to $BPF, with the first $400 hex locations designated as "page one" and the second as "page two." This is also the area which contains text data when the Apple is displaying text. Whether text or data are displayed is determined by whether location $€054 or $C055 was last referred to. This same memory range is reserved m Pascal to display text. The old page one contains the first 40 columns of text; the old page two contains the second. Hitting "Ctrl-A" from the keyboard simply switches between the two pages. But, despite the use of this range for text, the soft switches control- ling the display of text or graphics are stUl functional. To verify this, perform the following experiment. Type in the program of listing 1. This is a series of assembly language instractions that refer to the soft switches controlling the display of text Listing 1 "HE PnLLriklHG PROCEDURES "THROU" THt PPPROPRIfiTE SOFT SWITCHES TO EFFECT THEIR; RESPECTIVE FUNCTIONS. "COLORl" fiNO "COLORE" DISPLhV Li'iH RESOLUTION SRClPHICS ON THE FbLL SCREEN OF THE PRIMflRV RHU SECOHOfiRV PFuBE, RESPECTiuELV. "te;-:ti" displpvs hll text Pjt-i THE PRIUflRV PhGE. OTHER CfDHBINhTIOHS OF SWITCHES COULD BE USED TO DISPLhV MIXED TE;;T HND GRfiPHICS ( SEE PflbE 13 OF THE RPPLE 3C REFERENCE HflHUflL ). .PROO COLOP.l Lnf) 61.050 LGFi eca52 1 m 0Ce54 \m OC05S RTS .PROG C0L0R2 LDfi 0C050 1 nft 0C652 infi 9C055 IDR acase RTS .PROC TEXTl LDfi acasi LDR 0Ca54 RTS • END 62 MICHO - The 6502/6809 Journal No. 40 - Septemberl981 APPLE BONUS or graphics. The mstnictions under the heading .PROC COLORl turn on the graphics of page one; those under .PROC COLOR2 and PROC TEXTl turn on page two graphics and page one text, respectively. For those readers who have not yet used the assembly langauge capabilities of Pascal, these routines will ultimately be integrated into the main Pascal program and called as procediues. After you have typed listing 1, save it in a disk file (e.g., imder the name ASMDEMO]. Then type in listing 1, which is the Pascal program to use these routines. Notice that there are procedure declarations corresponding to each assembly language routine. These pro- cedures are then called in the main body of the program. Listing 2 should likewise be saved in a disk file. Now you must use the system assembler, compiler, and linker to integrate the two programs. Follow the instructions given for the example in section 1.9.].l of the Pascal Reference Manual. Rtm the linked program. The system responds with its usual "RUN- NING..." message. Hit carriage return, and you should see an immediate switch to the bar pattern of a non-cleared low resolution screen. The irregular colors in the upper left, of coimse, are the color translations of the message character. The next carriage return switches to page two; the pattern in the upper left disappears. Finally, the next carriage return will retimi you to text mode and end the program H Listing 3 PROGRhlH COlQRQEHOj Kim kESPOHSE : CHflR> ;-^ : 0..39,- V : 0..47; COLOR : 0..i5;i PROCEDURE COLORl i EKTERHflLi PROCEDURE C0L0R2; E«TERNRL; PROCEDURE TEXTlj EXTERNflLj PROCEDURE PLOT£>; TEKTl; REPEAT bOTU>iV<0.j>i HRITELhi:'" ■'>} SnTO'?.:'A0,l 'j NRITELNCENTER X. V, HND COLOR' ,■* HRITELN<:'HIT TO DISPLflV PLOT; TO RETURN' >; REflDLH(;X,V, COLOR >> CnL0R2; PLuT2cX.V. COLOR?: REfiDLNCKEVEOPiRD, RESPONSE ^ij TEXTl; WRITELN( TYPE '■Q" TO 0UIT* SPACE TO CONTINUE'): HRITELHCTHEN HIT :CR>- >; REflDLH': RESPONSE?; UNTIL RESPONSE = ■Q-'i END. Listing 2 PRG3RRM S MITCHuEHOi URR RESPOHS E : CHRR; PROCEDURE COLORl; EXTERNAL; PROCEDURE COLORS; EXTERNOL; PROCEDURE TEXTl; EXTERNAL; BEGIN rehdln< response;'; LULORl; REflDLN'; RESPONSE.*; CCLORZ'i RERDLN-; RESPONSE >i TEXTl; END. So, Apple Pascal can generate low resolution colors — if we can put the right data into the right locations of the low resolution pages. Normally, this computation is performed by the Apple monitor, but again, it has been disabled by the Language Card. The solution I suggest is an assembly language routine like the ones used to switch the colors on and off. Listing 3 contains such a procedure, labeled as PLOT2. It is set up to accept the X and Y coordinates, and the color to be plotted, as parameters. This gives the user closer Listing 4 .[■thlCRO POP PLfl SIR y.i PLfi STft ■'.1 + 1 .ENOM .PROC PL0T2.3 5HMPLE MRCRO TO POP 16 BIT HORD FROM TOP OF STACK. PLOTS THIS PROCEDURE TAKES AS ITS PPRAHETERS AN :-! COORDINATE c0..3S>- A V COORDINATE >.:0..47>. HND H CGluR ':0..15> and plots a LOW RESOLU- TION BLOCK OH THE SECONOARV PRGE < SEE PASES 17-13 OF THE apple It REFERENCE HANUAL FOR COLOR fiND COORDINATE ASSIGHHENTS >. (Continued) No. 40 - Seplember 1981 MICRO - The 6502/6S09 Journal 63 APPLE BONUS Listing 4, (Continued! THE ROUTINE CmH BE USED TO PLOT ON THE PRI- HflRV PAGE BV HLTERIMS THE INSTRUCTION LABELED "PhGENUHE" TO RERD "ORH tt04". LOCflTIOHS 000^ HtlD 0006 ARE USED FOR TEMPORflRV STORflQE. RETURN .EQU e POP RETURN PLfl 'STR CLR FLH LUH *f0F0 STfl HftSK PLh PHfl PHh ftNO t30 LSK h STfi 5 hSL FI hSL H ORR 5 3TH •:■ PLfl AND tOE RGR H ROR R PflbEMUNB ORR #08 STR 6 ROR fl PHD #80 ORR 5 STR 5 PLfi RHU *01 BEO SKIP fiSL CLR RSL CLR RSL CLR RSL CLR LDR ttaF STR MRSK SKIP PlR TVR STR VSTOR PLfl TflV H-fi LDfl G5,V hHO MRSK ORR CLR STR IS5.V LDfl V3TQR TflV LDfl RETURM+l PHR LOR RETURN PHH RTS i USE LOCflTION 0600 TO ; STORE RETURN RDDRESS. ; PUT LOUER-iDRDER BVTE OF ; COLOR flRGUHEHT IN cLR, i RND DISCRRD HIGH EVTE. ; SET UP BIHRRV HflSK ; RT mst.:. i het lower-order bvte i OF V cooroihrte and i DliPLICRTt ON STACK, ; STRIP BITS 0-3 AND 6-7. TRRIISFER bits 4-5 TO POSITIONS 3-4. THEM DUPLICRTE PflTTERN IN POSITIONS 5-e, HHD STORE IN 0395. GET LOU BVTE OF V COOR. STRIP BITS RHD 4-7. TRANSFER RESULT TO lRRRV flNO BITS a-i. COMBINE NITH PfiGE LIMIT RHD STORE IN aOeC. TRRNSFER 0RI6INRL BIT 1 TO POSITION 7 RND CONBIHE HITH CONTENTS OF S00^i. GET LOM BVTE OF V CuOR. IF ODD, THEN SHIFT COLOR CODE TO POSITIONS 4-7 OF CLR, AND CHANGE MRSK. ; DISCARD HIGH BVTE OF V. 1 SRUE V REGISTER. i GET LOH BVTE OF A COOR, ; TRflHSFER TO V REGISTER, ; RNO DISCARD HIGH BVTE. i GET BVTE ON SCREEN. -, ERASE OLD COLOR. i COHBINE NEW COLuR i AND PLOT. ; RETURN V REGISTER. J GET RETURN RDDRESS CLR HflSK VSTOR .BVTE .BVTE .BVTE .END i RNO RETURN. control over the color than that afforded by the routine which comes with Apple- soft. I won't go into the details of listing 3, except to note that, through bit manipulations, it transforms the parameters passed to it by the host pro- gram into the appropriate addresses in the page two memory range. If you'd like to plot on page one, change the line labeled PAGENUMB to ORA #04. You could even rewrite listing 3 with the modification and put it under the heading .PROC PLOTl. Then you could plot a point on either page by executing PLOT2 or PLOT2. Save and assemble listing 3 under some name. It can now be linked, along with listing 1, into a Pascal program which uses the procedure PLOT 2 (X,Y,COLOR). I've written listing 4 as an example. To use it, type, save, and compile it, and then link it (as the "host file"] to the assembled versions of list- ings 1 and 3 (as the "lib files"]. When you run it, it will begin by visibly clear- ing the screen. Then it will switch back to text to ask for the coordinates and color of the point you wish to plot. Type the X coordinate, Y coordinate, and color number, each separated by spaces. Hit carriage return, and the program will plot the low resolution point on the screen. The next carriage return will bring you back to text to plot another point. The Pascal program isn't very elegant, but it should help to demon- strate how these routines can be used. Hitting " Ctrl- A" during the program seems to interfere with the plot; I haven't located the reason yet. Also, the plotting routine could be written in such a way that the color of the point is deter- mined by a global variable in the Pascal host program, rather than by a procedure parameter. This would be similar to the way plotting routines are handled in Applesoft. This could be done by the assembler directive .PUBLIC, which allows communication between the assembler and Pascal programs through common variables. Fhially, I suggest that listing 3 be adapted as BASIC routine. Using it, one could plot on page two directly, without having to move chunks of data from page one. Just how it could be adapted is left as an exercise for the reader. I've found Pascal to be an extremely attractive language. Before I developed these routines, however, I occasionally missed the low resolution graphics of Applesoft. Now, it's ruce to know you can have your Apple and eat it too. Donald Heth is an Assistant Professor at the University of Albeita. He is interested in microcomputers as tools for psychological research. " MCftO the BEST keyboard buffer iSHItTKKY UPPER/LOWER CASE CONTHOL $119.95 ■f More buffet than others. 4 Clear buffer control. 4 SHIFT key entry of uppoc/lowec c^se. 4 Easy CTL key access to special chars ■' I - ■ ( ) _ I \ a ■ . + Allows BASIC programs with standard INPUT to support Lower Case without software modif icatior]. + A lower case adapter is required to display lower case, Separately, th-ey have more features and out perform all the rest. But together as a team they perform evei better. Look for the Graphics +Plus soon. It's a RAM based character generator to ccupliinesit the Liwer Case tplus. It will aillus £ Graphics +Plua designed around the Lower Case +Plus. DOSOURCE 3.3 DISASM/65 for the Apple II A source listing of DOS 3.3 Disassembled & commented by Randy Hyde We took our DISASM/65 disassembler program, disassembled Apple's DOS 3.3, and added meaningful lables and comments to create DOSOURCE 3.3, a perfect companion to "Beneath apple DOS" by Don Worth and Pieter Lechner*. DOSOURCE clearly lists each routine used by Apple DOS. by Randy Hyde DISflS«/65 IB a LISA coiii[JaCit>le 650Z disassembler foe the Apple II. DlEflSM/65 takes unadotned machine code flnd converts it to an understandable aBseiubly language text file. DISASH/65 allows users to disassemble 650? instruction codes, hex duta^ string data, address data, stack data, and motel DlSAEM/6^ ts by £ai the most powerful 6502 diaassembler available Coi the I\.^\e ll. in fact, wc need it to disassemble doe 1,3 for our UOSOURCE package. Over 500 happy kisers bought DISAaV65 Eor £24.9^ wittiout the source listing (The soucce listing wds available Cot $3^.00 eKtra) , Now, (or a linited time, you get botti the DiSftsV65 program and the source listing for $29.95 1l]ISASM/fi5 sources are in a LISA l.f compatible format). Complete documentation included. DOeoupCt is a LISA 2,5 compatible soutce listing of DOS J.J, LISA 2.5 owners can load and reabSemble DOS at other locations Cor special applications (such as in a RAH card). DOSOURCE is also a text file that can bo loaded into your favcnte assembler and converted for use with it. DOSOURCE is alf50 &ii assembled listing that you can dump to a printer for reference purposes. With DOSOUnCE you can; -> i^Qassemble DOS 3.3 at different addree&es. -> Utilize several useful rifutines found within DOS, such as deoimal input and output. Many routines within DCS are as useful as routinos found within the Apple monitor .. .only you didn't know about tliem until now! ! -> Remove portions o£ DOS, that you may not need, freeing memory for progcan use. Host programs do not need the ^REriAME", "UNIT", "BSAVE", "BBLiI]', "BLOAD". "CATALOU"- eCo. commands while they are running. As much as 4K can be fenoved from DOS vithout affecting your programs operation. Think about it the next time you got a MEH FUEJ, error or need to declare an array that's just a little bit too big, -> Learn lot "^s of 6502 programming tricks - doe 3,3 Is full of 'em. And you can learn them by studying the source listing. -> Hake "Patches" to DOS 3,3 and understand exactly whats going on. No more "guessing gajue' resulting in unreliable software. SPECIAL rNTRODUCTOnV PRICE S39,95 wilh 'Benealh Apple DOS' $55.00 ' Beneath Apple DOS i& published by Ouality software. Suggested list 519.95 No. 40 - September 1 981 Lazer Hie roSystems' products are in computer stoies all across the country. However, i£ you cannot locate one, you can order direct from us at 1719-G Capital, Corona, Calif. 91720, * California residents must add 6!. sales tax. * Mastei Card ^ Visa {v/all ^ital mfo) welcome. ■ Allow ? weeks additional for checks to clear. ' Orders outside U.S.A. add Sl.5.00 for shipping 4 handling. Lower Case +Plus, Keyboard tPlus, and Grapbics tPlUB are trademarks of Lazer HicroSystemb, Inc., corona, Caljf. Apple II and Applewriter are trademarks of A|^le Computer, Ino., Cupertino, Calif. MPCRO - The 6502/6809 Journal 65 APPLE BONUS Dollars & Sense Revisited This article describes print formatting in Applesoft BASIC using a MID$ statement. David T. Delli Quadri Box 1736 Steamboat Springs, Colorado 80477 One of the great joys of programming in BASIC is the way that one can solve the same problem in many different ways. Sometimes the thinking set one brings to the problem dictates the kind of solu- tion one seeks. One often finds the sim- ple solution to a problem while working on something quite different. 1 have been writing a program to act as a ski race secretary — shuffling, sorting, and printing the various lists of names and times generated during the course of a two-day ski race. One of the problems which I had to address was the output of times to the hundredth's decimal place, a problem similar to that discussed by Barton M . Bauers in his article "Business Dollars and Sense in Apple- soft" which appeared in the August 1980 issue of MICRO (27:65]. I was sur- prised to find how dissimilar oui solu- tions were. The problem, you will remember, is two-fold. First, in Applesoft one does not have a PRINT USING command or a print formatting capacity. Zeros trailing a decimal point, and the decimal point itself, will be omitted where no value follows the decimal. Both of our solu- tions involve tailoring an alphanumeric variable to suit oui needs. Second, the tendency of rounding errors to crop up in the seventh significant digit must be overcome in handling cents. It would never do to output .2999997, rounded to .29 when the answer was really .30. Bauers chose to handle this problem at input, converting and carrying his variables as integers. They must, of course, he reconverted at output. I chose to eliminate this step, and put the cor- rection in as I set up the alphanumeric- tailored variable. My solution is, where N is the number to manipulate, and N$ is the tailored alphanumeric to be printed: 10 N$ = STRS(N + 1.005 - SGN(N) ' INT(ABS(N))) 20 N$ - STR$(SGN(N) * INT{ABS(N))) + MID$(N$,2.3) The Applesoft BASIC will return a 5E-03 when + .005 is used, and this will be carried into the string. To pro- tect against this 1 use a 1.005 adder for correction, then ignore the first digit. It is also advisable to use a fix-rotmding situation rather than depend on the INT|| function which will round down with negative values. Listing 1 is a simple program which illustrates the above two lines as used in a program. Dave Delli Quadri works as a contractor in the summer and a micro-programmei in the winter. Specializing in computer applications for ski competition, his programs have been used by the U.S. and Canadian Ski Associations for both jumping and alpine tournaments. ^ 10 20 30 40 50 60 70 80 90 100 REM REW REM REM REM HCME INPUT PRINT PRIST Listing 1 A CHECKEOCK BALANCING PRCGRAM TO ILLUSTRATE A SOLUTION TO A PRINT POIWATTItJG PKCM1.EM... ";BALRNCE -NN.NN" "ENTEE aJRREWT BKLPISCE z PRINT "EHTER CHECK AS : PRINT "ENTEK DEPOSIT AS NN.KN" PRINT : HTAB 20: INFUT "";CHBCK 105 BALANCE = BALANCE; + CHECK 110 BA$ = STR? (BALANCE + 1.005 - CE) * INT { ABS (BALANCE))) 120 BA$ = SrR$ ( SGM (BALANCE) * BALANCE))) + MID? (BA$,2,3) 130 PRINT : PRINT "NEK BALANCE IS 140 PRTNT : INPUT "ANOTHER ENTRY? 150 160 SCSI (BAIAN INT ( ABS ( $ ";BA$ ";AN$ IF LEET? {AN$,1) = "Y" THEM 80 END ]RUN EWTER CUBEENT BALANCE 156.89 ENTER CHECK AS -NN.NN iWER DEPOSIT AS KN.NN JUCRO' 66 MICRO -The 6502/6809 Journal No.40-Seplember1981 1 A STATISTICAL ANALYSIS AND FILE MAINTENANCE SYSTEM FOR THE APPLE IP" UICROCOMPUTER As a Subset Language of P-STAT^" 78... A-STAT™ 79 computes: FflEQUENClES BI-VARtATE TABLES ■ CHr SQUARES CORRELA-nON MATRICES MULTIPLE REGRESSION RESIDUALS APPLE PLOT INTERFACE APPLE FILE CABINET INTERFACE FILE SORT AQQREQATION REPORT WRITING COMPLETE TRANSFORMATION LANGUAGE READS VISICALC FILES A-STAT™ 79 Uses Standard DOS Text File and EXEC's 48K Version — All programs in Applesoft"" A-STAT^M 79 is available Irom: ROSEN GRANOON ASSOCIATES 296 PETER QREEN ROAD TOLLAND, CONNECTICUT 06084 (203) 875-3541 A-STATT" 79 or Disk with 95 page manual,,, S125.00 Apple II I"" Is a iiadsmaih oJ ihe Apple Compuier Inc P-STATlm ?Brsa tiaflemarkolP-STATInc. Ptmcelon NJ A-STAT im 79 Is eppyipghled tiy Gaiy V. Granflon, Ph.D. W/KROM TECHNICAL PRODUCTS PRESENTS A DIAGNOSTrC PACKAGE FOR THE APPLE II AND APPLE II + COMPUTER. "THE BRAIN SURGEON" Aopie Cortipuler Co lias piov\aaii you wiin the besi equlpmeni avairatwe To dale. Tlw Diagncfiiic's Package was designed (o checli avflry mapoi a^ea oi your compuier, detect eii&i5, and ie[wn any mal'uncrioris Thv 0tmin Surgtan inM pui ycur sysiem Hirough eHhauslivg, thotougJt piocedures, [eslmg and reporlmg all findings. The lesls fnciu motherbdahd hqv test ■ APPIESOFT ftOM CAPO TEST 4 inrEi^ER KQW CAPO TEST ■ WQlHERGDAqQ RAM TESTS ■ CISK DmVE SPEED CALlSlATlQf^ * DISK DHIUE MAINTENANCE * DC hAYES MiCnOMOUEM ■' TEST {l'AR[>WAnE A EPHOMJ - HDhlTOH £ UOOULjMOR FLOUTIN&S ' monitor spewing tests ' wonftop test pattern ■ monitor text page test ' WDNITOA i TV YOKE AUGNMENT ■ LO RES COLOR TE^TS - HI PES COLOR Tf SIS > RANDOM HI RES GENERATOR ■ SPEAKER FUfJCTlOW TESTS < SQUARE VVAVE WOOUI-AEfiN ' PAODIE i SPEAKER TEST ■ PAOCLE a BUTTON TEST ■ PADDLE STAGlUTt ■ INTERNAL WAINTEhANCE ' (GENERAL HAIhJiENANCf t ON BOARD -HELP' Tht Bioin SuT]j9ap allows yoj lo be confideni o1 your sya'erri T^is \5 as criricaL as in& operalrng iyslem piwK You musf depend on your compuref iCOVa ol iTs rjnnmg lime. Iftt Brain Surgeon «!!! monitor and help rrainlam aDSQlute peak pwfwmarce- SuDpi>U on jiikeiir wlf campleW dEicun^an [alhirh >nd mdinierijnce ouiOa PPiCE UB9i PEQUIRES iflK FP pH ROM I av> Oii'^ cos 3? or a 3 ■- Nikrom TechnicaJ Products ?S PROSPECT STREET ■ LEOMINSTER. Ill* QlUa Call jQilfrM Now! W^lir- cr^arge & VISA ^iati ca" I-80OS3S-A4G Ka-nii Pes-dfl-Hs ca'i i -BOG- Jfl? ?a2i Singing the file cransfen blues'? Then... Get; B. I.T.S.! U&R your tVliCrnmodRm K, A I OC^^r'd. ar Apple? Comni Cai-fl'^ to. Send data files, BASIC programSj even machine code to rnoBt computer^ oven phone I ines- Copy anything you see into a SIK tiuffpi- Lhien stsve it on disk andJor print it under* your comp^ece control, Many more features! See it at; your faworice con^puter store today. TraQcmarh^ hVlO b f. es U iC'Oeanlp iilAr Pradudt |nC- s ' s a M 3- Apple Conpular Inc T. S ■« A T rBden rf of MicroSoft:ware SyetBme 7BSV Jones Branch Dr- SLiite.^QO Mt Lean. Vmgjnia 221DS [7D3J 3a5-29^-a IF Stfll'L PJUMHER IS HllOW JOODO OR D*Tt[f BEFOOEil^l THtF.HETI,Bh DtantTTE PLUSIHB SBCS PUTS YOU ON TOP Organize your business with accounting software from SBCS: • General Ledger • Accounts Receivable • Accounts Payable The above programs can be used alone or inte- grated. They include extensive error checking and data entry prompting, numerous reports, departmentalizing, and budgeting. Detailed doc- umentation included. Get on top of things! Call or write today. SMALL BUSINESS COMPUTER SYSTEMS 4140 Greenwood, Lincoln, NE 68504 (402) 467-1878 No. 40 -September 1981 MICRO - The 6502/6809 Journal 67 APPLE BONUS Paddle Hi-Res Graphics iT "PEN IS UP" 190 ■GUSUB 870: REM GET PADDLE POSITION 200 XDRAW 1 AT X.Y 210 XL = X:YL = Y 220 N = 0:G ^ 230 REM REPEAT START 240 GCSUB 870: REM GET PADDLE POSITION 250 XDRAW 1 AT XL,YL: XDRAW 1 AT X,Y:XL = X:YL = Y 26 If PEEK ( - 16384) <: = 127 THEN 840; REM IvAS KEY PRESSED? ra MICRO - The 6502/6809 Journal {Continued) No, 40 - September 1981 1 APPLE BONUS I • The Progiam The program begins by POKEing the "plus" cursor shape into locations starting at $3C0 which are above most page 3 utility routines and out of the way. The program then requests the user's min/max user screen values. If the values entered are 0, 279, 159 and 0, then the data recorded are the screen values themselves. However, if you are entering only one-fourth of an actual background then these numbers must change. The heart of the program is a REPEAT-UNTTL loopi the ESC key is the trigger to leave. Within the loop, as long as no keys on the keyboard are pressed, the loop continuously reads the current paddle cursor position, XDRAWS the cursor over the old cursor position, and XDRAWS the cursor at the new position. In this way the cursor appears to move over the entire screen without disrupting anything that has already been drawn. The subroutine at the bottom of the program listing reads the cursor position from the paddles. Note that the paddies normally read from to 255, clockwise. The subroutine reads each paddle and converts it through the windowing transform to appropriate screen co- ordinates. Note that paddle I values are re- versed so that with a clockwise rotation the cursor goes ' 'up' ' instead of "down." The program locks out all but three keys. The space bar changes the "pen" status: if the "pen" is up, no lines are drawn; if it is "down," lines are drawn and data is taken. If the "pen" is down and the return is pressed, then the current cursor position is taken as the data point, if the "pen" was "up," and is now down previous to pressing the return key, then data is stored with an indicator, P%i), of 1, indicating to move to this point, i.e. HPLOT X,Y. If the "pen" was "down," and is now "down" previous to pressing the return key, then data is stored with an in- dicator, P%||, of indicating to draw a hne to this point, i.e. HPLOT TO X,Y. To start taking data, the space bar must be pressed until the "pen" is down and then the return key is pressed. When the ESC key is pressed, further recording of data ceases and the creation of DATA statements begins. Kim G. Woodward works as an electronic engineer for the U.S. Coast Guard in Washington, DC. He has been in the computer field for len years. Woodward's current interests include software engineering and utility type programs. MCftO 270 K = PEEK ( - 16384) - 128: POKE - 16368,0 280 IF K < > 32 THEN 340: REM KEY IS SPACE? 290 CALL - 1059: REM BEEP SPEAKER 300 IF F = THEN F = 1; VTAB 22: HTAB 1: PRINT "PEN IS DOWN": GOTO 32 310 IF F = 1 THEN F = 0: VTAB 22: HTAB 1: PRINT "PEN IS UP ":G = 320 REM CONT. 330 GOTO 840 340 REM CONT. 350 IF K < > 27 THEN 640; REM KEY IS ESC? 360 TEXT : HOMt 370 INPUT "NAME OF FILE? " ;A$ 380 PRINT CHR$ (4);"0PEN ";AS 390 PRINT CHRS (4);"DELETE " rA5 400 PRINT CHRS (4), -"OPEN " ;AS 410 INPUT "STARTING LINE NUMBER? " ; 11 420 INPUT "INCREMENT? ";12 430 PRINT CHRS (4), -"WRITE " ;AS 440 PRINT 11;" REM " ;A$ 450 11 = U + 12 460 PRINT H;" DATA " ;N; " ," ; XI ; " , " ;X2; " , " ; Yl ; " , " ;y2 : 1 1 - 11 -H 12 470 BS = " DATA ■' 480 ZZ = 1 4 90 FOR I = 1 TO N 500 Nl = I - 1 510 IF ZZ < > 4 OR I = 1 THEN 570 520 ZZ = 1 530 PRINT 11; LEFTS (BSr LEPi (BS) - 1) 54U 11 = 11 + 12 5 50 B? = " DATA " 570 B? = BS + STR? (X(I)) + "." + STR5 (i^(I)) + "," + STRS (P%(I) ) + " ," 580 ZZ = ZZ + 1 590 REM CONT. 600 NEXT I 610 PRINT 11; LEFTS (BS, LEN (BS) - 1) 620 PRINT CHRS (4), -"CLOSE " ;AS 630 GOTO 84 640 REM CONT. 650 IF K < > 13 THEN 830: REM KEY IS CR? 660 CALL - 1059: REM BEEP SPEAKER 670 N = N + 1:X(N} = AZ * X + BZ:Y(N) = CZ • Y + DZ 680 IF F = THEN 810 690 IF G < > THEN 750 700 XDRAW 1 AT X,Y 710 G = 1: HPLOT X,Y:XZ = X:YZ = Y 720 P%(N) = 1 730 XDRAW 1 AT X ,Y 740 GOTO 800 750 XDRAW 1 AT X,Y 760 HPLOT XZ,YZ TO X,Y:XZ = X:YZ = Y 770 P%(N) = 780 XDRAW 1 AT X,Y 790 G = 1 800 REM CONT. 810 REM CONT. 820 GOTO 84 830 REM CONT. 840 REM CONT. 850 IF K < > 27 THEN 230 860 END 370 REM CURSER SUBROUTINE 880 X = PDL (0) * (279 / 255) 890 Y = 159 - ( PDL (1) * (159 / 255)) 900 XP = AZ • X + BZiYP = CZ * Y + DZ 910 VTAB 22: HTAB 20: PRINT INT (XP t .5) ;" ": VTAB 23; HTAB 20: PRINT INT {YP + .5) ;" " | 920 RETURN 1 No. 40 - September 1981 MICRO - The 6502/6809 Journal APPLE BONUS Software for the Apple II and Apple II Plus"^ BEITEATH APPLE DOS A Technical Manual By Don Worth and Pieler Lechner Become an Mpertoti the inlricsciesotApple'sDOSIDisliOperatingSyslerrl. BENEATH APPLE DOS 15 the perlecl companiod to Apple's DOS 3 3 Manual. Containing eighl chapters, three appendites. a filossary. an iniJeii, and oner 160 pages, this maoiialwill seree (o completely fill in Ihe many gaps left by Apple's DOS 3.3 Manual Wrillen for Apple users ivith DOS 3 3. 3 2 or earlier versioni. any Apple disk user would welcome hairing this carelully written manual al his fingertips. LEARN ■ How DOS 3.3 differs from other DOS versions. • How disks are protected. • How lo reconstruct a damaged diskette CATALOG. • How tracks are lormatted. • How lo use the disk directly, wilhoul DOS. • How lo call OOS's file manager • How eveiy routine in DOS works • How to customize DOS to your needs • How to ouercome DISK I/O ERRORS • About the "secrel" tile types — S and R INCLUDES . . • Large quantities of excellent diagrams and tables. • Source listings ol useful disk utilities • Glossary of over 150 technical terms • Eihaustive description of DOS program logic. • Handy reference card. • Useful patches to DOS • Many programming eiamples Book - tl9.9S CROSS-REF by lim Aalto Applesoft programmers will be delighted to haye Ibis cross reference utility program in their 'tool kit' ol software aids. What can CROSS-REF do to speed and facilitate your Applesoft progiam development? Consider ttiese functions. VARIABLE CROSS REFERENCE LINE CROSS REFERENCE FIND VARIABLE FIND LINE NUMBER REPLACE VARIABLE VARIABLE ONLY LISTING LINE ONLY LISTING Features that make CROSS-REF easy lo use include' ■ Written in machme language, occupies less than 3K. • Resides passively in memory while DOS or Applesolt is active. • Can be loaded witti your Applesolt program already resident • Very last — a VARIABLE CROSS REFERENCE lota 16K Applesoft program can start printing in 5 seconds • Contains printer format controls and headers for documentation, • Prints English language error messages. Cassette - S77.9S Diskette - 124.95 LINKER by Don Worth. Turn your Apple II or Apple II Plus into a powerful and productive software development machine with this superb linking loader/editor pacliage. LINKER does the toltowing and much more: > Dynamically loads and relocates suitably prepared machine language programs anywhere in RAM > Combines a mam program with subroutines. You can assemble a subroutine once and then use il with as many mam progtamsas you wish. • Produces a map ol all loaded routines, giving thew location and the total length of the resulting module. ■ Containsa library ol subroutines includingbinarymultiplicationand division, print teit strings, delay, tone generator, and random number genefatot Linker works with virtually any assembler for the Apple II. Requites 32K ol RAM and one disk drive. Diskette - S49.95 Hantial Only - J 19.95 FASTGAMMON" By Bob Christiansen. Sound, hi res, color, and musical cartoons have helped make this the most popular backgammon playing game for the Apple II But don't lei these enterlainmg features fool you — FASTGAMMON plays serious backgammon Runs on any Apple H with at least 24K ol RAM CKSttte - J19.9S Disketis - 124.95 METEOROIDS IN SPACE" 3y Bruce Wallace We have taken our popular space game, lormerly called Asteroids in Space, and made some important im- provements To accenttheseimprove- menis we have given it a new name — METEOROIDS IN SPACE. Your space ship travels through a shower of deadly meleoroids, II your ship is hit. It will be destroyed, so you use your laser gun to blast Ihe meteoroids. Big ireteOfOids shatter into smaller rreleoroids when hit, and the smaller nnes are usually iaster and lust as deadly. From lime to time you will en- counter an alien space ship whose mission IS to destroy you, so you'd belter destroy it Inst. All Ihe action is displayed in last, smooth, high resolU' lion graphics, accompanied by sound ellects. You now can control your ship using one ol two options — the Apple game paddles or the keyboard One ol the game paddle buttons controls the laser tire. In METEOROIDS IN SPACE, the spaceship's velocity gradually decreases unless more thrust is applied, adding an element of control Also new lo this version is a hyperspace feature — translate instantly to another spot in Ihe galaxy The game is over when five of your ships have been destroyed. An additional shipisadded lor every lO.OOQ points you score Runs on any Apple II with alleast32K ol RAM and one disk drive. Diskette -119.95 ASTROAPPLC" by Bob Male. Tour Apple computet becomes your astrologer, generating horoscopes and lorecasls based on the computed positions ol the heavenly bodies. This program oilers a deligtttlul and stimulating way to entertain Iriends. ASTROAPPLE produces natal tioroscopes | birth charts) for each person based on his or her tirth data. Any two people may be compared for physical, emotional, and intellectual compatibility. The program is written in Applesoft BASIC with machine language subroutines. II requires either RAM or ROM Applesolt and al least 32 K of memory. Cassette - tlt.35 Oiskatte - 119.95 FRACAS" by Sluart Smith. A fantastic adventure game like no other! Up lo eight players can participate in FRACAS at the same time. Journey in Ihe land ol FAROPH. searching for hidden treasure while warding off ail sorts ol unfriendly and dangerous creatures You and your friends can compete with each olhei or you can |oin forces and gang up on the irs. Your location is presented graphically and sound (vv=i " elleclsenliven thebattles.Save youradventureondiskelte i,„ii.~i-i '"'"^E' or cassette and continue it at some other time. Both integer „^.:.-u ; ^^-V BASIC and Applesolt versions included. Requires at least "•'IfWl^L ''-^' "'"i ^"^1' feji^tCar-^ .^j^ monsters.' f --" ■* - .jv*< elfecis enl iiciii'iiimjl' 32K ol RAM. Cissett* - 119-95 Diskette - 124.95 BATTLESHIP COMMANDER" by Erik Kilk and Matthew Jew A came of strategy. You and the computer each slart out by positioning fue ships ol diifereot sizes on a ten by ten grid.Then Ihe shooting starts. Place your volleys skilllully — a combination ol logic and luck are required to beat the computer. Cartoons show Ihe ships sinking and announce the winner. Sound effects and flashing lights also add lo Ihe enioymenlot Ihe game. Both Applesoft and integer BASIC versions are included. Requires at least 32K of RAM. Cassetle- 114.95 Diskette - $19.95 Also by Don Worth BENEATH APPLE MANOR - Adventure. Uses Integer BASIC. Cassette - tl4.95 Diskellc - 119.95 BABBLE - Fun with words, sound, and graphics. Cassette - $19,95 Diskette - 124.95 fSfS Qu;iLrTy softw7ir€ L^^JbJ 6660I5esedaBlvd., Suite 105, Resedo.CA 91335 VBb* (213) 344-6599 Now exclusive distributors for products from The Software Factory. Kewhall, California 'Apple II and Apple 11 Plu; ne trademarks pl Apple Com purer. Inc WHERE TO GET II: Call us at [213) 344-6599 lor the name of the Quality Software dealer nearest you. II necessary you may order direcfiy from us. Mastercard and Visa cardholders may place orders by telephone. Or mail your check or bantcard number to Quality Soltware, 6SG0 Reseda Blvd.. Suite 105. Reseda, CA 91335. Calilornia residents add 6% sales tai. SHIPPING CHARGES: Within North America orders must include 11.50 lor first class shipping and handling Outside North Ameiica the charge lor airmail shipping and handling is J5.0O. Pay m U.S. currency. 70 MICRO - The 6502/6809 Journal No. 40 - September 1981 APPLE BONUS True 3-D Images on Apple II This article describes a program which creates stereo-pair images for viewing without accessory devices. The pair of images can be fused into a three dimensional pattern by placing a piece of paper between the viewer's eyes and the viewing screen so that each eye sees only the appropriate image. With practice the paper is no longer needed. The object used for demonstration is a three dimensional Lissajous figure. Art Radcliffe 1612 Ferndaie Ann Arbor, Michigan 48104 What we are talking about here is a gen- uine three-dimensional image such as seen through my grandparents' stereop- tican or through more recent systems, such as require colored eye filters or polarizing filters for viewing. The pres- ent technique involves not a single pro- jection of the object, a perspective view, but a pair of images which can be fused into one 3-D image without auxiliary contrivances. The Scientific Ameiican has pub- lished articles accompanied by stereo- pair images, which can be fused into a stereo scene with a little practice. This program was inspired by success with such viewing. Some eye training is re- quired, and some eye strain may be felt initially. What is required is that you stare off into the distance (eyeball axes essentially parallell while focussing nearby. The muscles which direct your eyeball and the muscles which focus your lens are accustomed to working in a coordinated way for distant or for near- by objects; this muscular habit can readily be broken. It is not at all difficult for me now to glance at a pair of images on the screen from anywhere in the room, and see the 3-D partem. Listing 1 REW HOISY" COAS'i'EK BV Ai^l' KAUXit'fE 10 HCME : PCS 240 HCOLOI^ 3: HPLOT B,C: HPIJOT D,C 250 A = PFEK (R) 260 FOR Z = TO LL - B%{P) : NEXT : REM TRAIN SPKFTl | 270 A = PKHIK (R) 280 NEJCT P 290 PRINT CHR$ (7) 300 Rh'lUKN JUj KcM ^^ 310 FOR P = TO 299: REM EffTABLISH PAriTiRK 320 X = S(I) + L:Y - 2 * S(J} + T:Z = S(K) 330 M = (C - Z) / (G - Z) 340 A = IMT (S -H X + M * (E - X)):A%{P) - A: REM T,KhT X 350 B - INT (S -f Y -h M * (F - Y) ) - 50:B%(P) - B REN Y 360 H = IHT (S -t- X -I- M * (D - X)):H%(P) = H: REN RICTft X 370 HPUrr A,B: HPLOT A + 2,B: HPLOT H,B: HPLOT" H + 2,B 380 IF LL < B TWEM LL = B 390 I = I-hU:IFI> 299 ■fflEN 1 = 400 J = J ■^ V: IF J > 299 THEN J = 410 K = K -I- W: IF K > 299 THEM K = 420 NEXT P 430 KE^IURN (Continued) No. 40 - September 1931 MICRO - The 6502/6809 Journal 71 APPLE BONUS The viewing images are produced by running rays from each defined point of the object to points which correspond to eye locations, with the obiect being behind the screen and the eyes in typical viewing positions. Points are plotted where these rays intercept the display plane. The object is defined near the origin of an X, Y, Z coordinate system, behind the screen plane. We can define object points using the notation: (Xl.Yl.Zl), define screen points with: {X2,Y2,Z2) and define the eye locations using: (X3.Y3.Z3). Z2, the screen distance from the origin, is set at 200 in the pro- gram and 2^, the eye distance from the origin, is set at 300. Y3 is the same for each eye: 40; and the X3 values for the two eyes are 40 and 120. The direction from which the object is viewed can be altered by offsetting XI and Yl . Use of proportions leads us to the conclusion that IX2-X1)/(Z2-Z1) = IX3-X1)/{Z3-Z1) and similarly, (Y2-Y1)/ fZ2-Zl)= IY3-Y1I/{Z3-Z1). From these equations we can derive X2 = X1 + M(X3-X1) and Y2+Yl-0 R01 X CCOR'S OF EYES 120 40: KH1 Y COOB'S OF EYES 40 150: REM X,Y,Z GOCK'S OF OBJECT 250 300: IMT INT INT REM # CYCLES IN X,Y,Z -> (1 -I- 5 * RHD (1)) * RHD (1)): IF V = THBl 570 * RBD (1)): IFW = V0RW = U THEN (1 + (1 + I J IMT INT INT RETURN REM (300 (300 (300 FMD (D): RND (1)) RND (D) REM STRRT POIOTS PRIWF : PRINT : PRINT " CREAIED BY ART RADCLIFEE, ANN ARBOR ": PRIKT 640 PRINT ! PRIMT "PIACE 8 INCH BY 12 UKH CARIBOARD 650 PRINT "BEnWEEM SCBEH) AND TIP OF NOSE SO EACH 660 PRINT "EYE SEES CKLY IT'S IMflGE. SCME EYE 670 PRINT "TBfilHIMG IS NECESSARY. 680 PRIHr : PBIWr : PRINT : PRINT : PRINT PRINT "PIEASE BE PftTTrarP WHIIE I MEDITATE TO raiNT "GET MYSELF READY FOR THIS 690 700 705 REM 710 GOSUB 440 REW INITIALIZE 720 HCME : tJGR : HCOLO!*^ 3 730 LL = 0: REM LOWEST POINT 740 GOSOB 310 REM LAY TRACK 750 FOR A = TO 999: NEXT 760 GOSUB 70 REM HCffC TICaTTl 770 FDR A = TO 3000: NEXT 780 GOSUB 490 RH^ REINITIALIZE 790 GOTO 720 REW START OVER 800 END Listing 2 Bm LISSAJOUS FIGURES IN TRUE 3D FOR APPI£-II. PLEASE SHARE YOUR CCMMEHTS WITO: ART RADCLIFFE 1612 FERMDALE ANN ARBOR, MICHIGAN 48104 (313I-995-2485 SEE REMARKS AT EMD OF PROGRAM. : HCOLOR^ 3: PRINT : PRIWP : PRINT "WAIT" 2 REW 4 REW 6 REW 8 REW 10 REM 12 REM 14 HGR 16 DIM S(199) 18A = B = C = D = E 20J=K=L=M=K 22 GOTO 56 24 FOB P = TO 199 26 X = S(I) + L 28 Y = S(J) + T S(K) (C - Z) / INT (S -I- IHT {S -t- im is + = G = H = I = = P = X = Y = S =.0 Z = 30 Z 32 M 34 A 36 B 38 R (G - Z) X -^ M * Y + K * X -I- M • (E - X)) {F - Y)) (D - X)) 40 HPLOT A,B: HPLOT H,B IContinued) 72 MICRO -The 6502/6809 Journal No, 40 - September 1981 APPLE BONUS Listing 2 (Continuedl 42 I = I + U: IF I > "199 THQJ 1 = 44 J = J + V: IF J > 199 THEN J = 46 K = K + W: IF K > 199 THEN K = 48 NEXT P 50 FDR Z = TO 5000: NEXT Z 52 HGR 54 GOTD 22 56 = .04 * ATO <1) 58 N = 40 60 FOR A = ID 199 62 B = A * 64 S(A) = N * (1 + SIH (B)) 66 NEXT A 68 C = 200 70 D = 120 72 E = 40 74 F = 40 76 G = 300 78 T = 250 80 L = 150 82 u = i»r (1 + 5 • rajD (1)) 84 V = iwr (1 + 5 * FMD (1)): IF V = U THEM 84 86 W = TUfT (1 + 5 * HMD (1)): IF W = V OR W = U THEM 86 88 I = MT (199 * FKD (1)) 90 J = TSr (199 • RND (1)) 92 K = INT (199 * EMD (1)) 94 S = .5 96 PC*(E 49234,0 98 GOTD 24 100 REM TO VIEW, SIT Wrm FACE ABOUT A TOOT IN FWtfF OF T SCREIK AND STARE THKOUO^ THE SCREEN OFF IWTO THE DISTAtKE. 102 REM THIS PRCXSiAM PLOTS A LEET-EYE IMAGE RND A BIGRT-EYE IMAGE WHICH MUST BE FUSED IWID A SIWXE IMAGE. 104 REM THIS TAKES PRACTICE, AS THE EVES ARE POUTTED OFF IHT O THE DISTftHCE WHILE THEY ARE FDCUSSED CK THE SCREHJ. 106 REM WHEN THE IMAGES ARE FUSED YOU WHISEE A THREE DIMENS ICMRL PATTERN IN THE CEKTER WITO IREEIE^'SOT' IMAGES CN EACH SICE. 108 REM IN TIME VOU WILL BE ABLE TO GLANCE AT THE SCREHI FRO M MsiYHERE IN THE ROCW AND SEE A 3-D IM«3E. 110 REM PAY ATTEWriCH TO YOJR EYES; QUIT IF THEY FEEL STRAIN ED. 112 REM THE PRCGRflM GENERATES A 3-D PATTEE*! BEHIND THE SCREE N AND RUNS A RAY FRCM EACH POINT CH TOE PATTERN TO EACH OF YOUR EVES IN FBCWT OP THE SCREEN. 114 REM AT THE POINT WHERE EACH RAY DJTERCEPTS THE SCREEN A POIWT IS PICITED. 116 REM THIS IS A SIMPLE MATTER OF PROPOifTICNS ; YOU MAY READ UP CM IT IN AN OPTICS TEDCT. YOU KIGIT ALSO READ CN DIRECTION C OSINES IN A SOLID MJALYTIC GEOMETRY TEXT 118 REM CBJECr IS AT ORIGIN; OBJECT IS ORIGINAIX.Y DEFINED WI TH {X1,Y1,Z1) AND IS REPRESENTED IN PROGRAM BY (X,Y,Z). 120 SIMILARLY EDR THESCREENPIANE : ( X2 , Y2 , Z2 ) AND (A,B,C) 122 REM EYE LCCATICNS ORIGINALLY DEETNED BY (X3,Y3,Z3) AND B Y (D,F,G) AND (E,F,G)lN PROGRAM. 124 REM THE OBJECT IS VIEWED FRCM OFFSET POIHr DEFINED BY TAND L. 126 REM THE ceJECT IS CREATED BY DEFINIM3 THE X, Y, AND Z C OORDINATTS BY THREE SEPARATE SINE FUI«:TICMS. 128 REM THE POIHTS ARE PLOTTED AT AM3ULAR INCREMENTS SET BY ■O', LINE 56. 130 REM THE PROC3WM IS SPEEDED BY PRECALOJIATIN A SINE TABL E WITH SCALE FACTOR 'N' BUILT IN: LINES 60-66. 132 REM I, J, AND K START THE THREE SINE RMCTICBS AT RAKECM HJASES IN THE SINE TABLE. 134 REM U, V, AND W ARE a^ALL INTEGERS WHICH ESEFINE THE PERI OD (OR FREQUENCY) OF THE SINE EUNCTIOTS. one or both of parameters D and E. It may also be useful to alter the scale fac- tor N. Interesting 3-D motion displays could be written in machine language; I can also imagine game possibilities, in- cluding visual 3-D Tic Tac Toe- Please note the remarks appended to the pro- gram [written in Applesoft], which com- plement the explanatory remarks above. 1 have experimented with more general systems using color filters for viewing, and may report on this at some future time. I hope that readers will experiment with this viewing system, perhaps altering parameters of the given program or substituting another object. Data points in three dimensions might be seen as a 3-D swarm of points in which local clusters or correlations could be detected. This is a new way of seeing things. Art Radciiffe has worked 25 years for IT&T, Radiation -Inc., and Burroughs, during which time he has acquired 32 patents in computer and communciation circuits and systems. He has also worked in optics and holography, whence his interest in generating 3-D images. He has a 48K Apple with twin disks. Zenith color monitor and Silentype printer which he uses as a medium for creative and artistic expression. JUC(K> Need o solution for Floppy Disk Lube Just THR€€ drops con: • Prolong useful dish life. • Increase head life. • flilouj InitiolizatJon of "problem" disks. • Save 'unbootQble' dishs. • Reduce 'gljtching' problems. • Cut nuisonce problems. FLOfW DISK LLffle - '/; o^. UIITH nPPUCFITOfl. $4.00 Odd t! 50 shipping ond hondling. Ohio lestdents odd S'/i% soles tax. DOSUJBRe.lNC. No, 40 -September 1981 MICRO - The 6502/6809 Journal 73 LOGICAL SOFTWARE, INC. announces: MAIL EXPRESS A NEW MAIL LIST UTILITY FOR THE APPLE II, — Up to 2,200 Names per File — Sort by Company Name, Customer Name, City, State Zip — Prints Return Addresses — Merge up to 16 Files — Easy User Definable Codes for City, State and Zip to Save Time and Disk Space This is an easy to use professional quality mail list able to handle large or small tiles. Introductory Price 549.95 52.00 Postage & Handling Logical Software, Inc. P.O. Box 354 Farmington, Ml 48024 (313) 477-2565 ® Apple and Apple II are registered Irademarto ol Apple Compuler lnc J LISP for the Apple II Pegasys Systems' new P-LISP interpreter is a full im- plemenlation of the well-known Artificial Intelli- gence language. Written in mathine code, this powerful interpreter includes the following features: • Over 55 funclions implemenled • Extensive 45-pjge User Manual • Full funclion Irate • Fail, effitienl Garbage Colletlor • Supplied with funclion pdilor and pretlv- printer • Runs in 32 or 48K Apple II or II + wilh disk • ELIZA and other sample programs included • Special language card version provided P-LISP is supplied on disk with User Manual for $99.95. The manual is available separately for $10.00. Piease specify DOS 3.2 or 3.3. PEGASYS SYSTEMS, INC. 4005 Chestnut Street Philadelphia, PA 19104 Orders only: 800-523-0725 PA residents and inquiries: (215) 387-1500 A|jpl*f 15 J (rjdem^irk ril A|)|jU' Ojirtpulfr Ini Good software is no longer a myth. DOUBLE DOS PLUS for Apple Computers ^1-839-3478 OTHER UNIQUE PRODUCTS FROM MtCRO-WARE DISTRIBUTINQ INC. DOUBLE DOS Plus— a piggyback boaccf that plugs into the disk-controller card so that you can switch select between DOS 3.2 and DOS 3.3. Works wilti the language system elimi- nating the need in many cases to boot the BASICS disk. Also eliminates the chore of converting all of your 3.2 disks to 3.3 NOTE" APPLE IS a registered trademark ol APPLE Computer, Inc., Cuperlmo. CA. WHY IS DOUBLE DOS PLus better? • Nothing needs to be soldered, jus! plug in and go, • Since all four ROMS are used, all software will work, even early 3.1 DOS. • Because the ROMS fit on the back of the board, it has ttie Ihinnest configuration allowing full use of slot #7 • One set of ROMS is powered up at a time, thus saving power. DOUBLE DOS PIus rsquirss APPLE DOS ROMS • Full 90-day warranty from TYMAC. MICRO-WARE DISTRIBUTING INC. P.O. BOX 113 POMPTON PLAINS, N.J. 07444 THE APPLE CARD— Two sided 100% plaslic le'erence card lor |he Apple comouler Loaded wiTh inlormaliiyi ol inleresi ta all Apple owners 13 98 PARALLEL PRINTER CARD— PPC 1 00— A Umvefsel CenifonicS Fype paia^rek prmiei board compJere wilh cat>l« and con nsc [or This urtiquE board allows you lolurnon and oil I he high bii so FJial you can access additional Faalures in many prrniers U&e with E^SON, ANAOEX, STAR WRITER. NEC, SANDERS, OKk and olher wiin slandarfl Cenironic? conliguraiion ^ /"T^ Si 39 00 'i — .Si*^- i| i;^^— H" ' ' "ijir THE DOUBLE BOOTER ROM— Plugs in(o Ihe empty Ofl Sockel on the Appfe morhei boara 0' ihe integer ROM Card to provide a i3seclof dool wilhoul jsing Ihe BASICS Dish DoubleBooter may also be used m [he MOUNTAIN HARDWARE ROM PLUS board This chip will not work in a plus machine unless rl contains an Integer bsard or a ROM Plus hoafd $25 00 DISK STIK— Contains 10 dozen disl^elle labels ^iitli eilher 3 3 Or 3 2 (JesignaliDn Room for program rigmes and lype also $3 9S Aftftitik-ik****** SOFTWARE ************ SUPER SEA WAR—Hires Dallies hip type simulalFon Si 3 95 ULTIMATE JCFtR — A telephone sflllware iransler program, uses DC Hayes Assoc micromodem S25 00 ROADRALLVE-Hiresdnuinggame with 5 diderent lull screen iracks 115 00 MISSILE CHALLENGER — 'Hires arcade lype game where you delend your cities I rem 1 ailing missiles aievelsawriieanameanighscore lodisk S19 95 SUPER PIX— Hires screen dump loi Ihe EPSON ^«K SO, inverse oi normal, larger than lull page graphics m 2 orienralions. Needs Tymac PPC-100 Printer board or we will upgrade your EPSON boarO (or $35 S39.95 GRAPH -FIT — A hires graphing program Thai produces ba^ charls, pie charts and line graphs HasauloscaJmglealureloo £25 00 iSTILL MORE APPLE GOODIESi APPLE KEYBOiHO SyNTHESL7EJl— 49 nole IC lo C| AGO KeyBoard *rth 3 sawWoin so wave shapQis. 3 audio osciratojs. 3 low pass lilTeis, i-&4 pcHnI shape conlrollers. 2 enveJope aeneralQJS Comptele sv^l^i" , £995 KEYBOARDONL¥*r(hApclBliilsrface ..... SS'B OBAPHICNOTEWniTEB— HFesndlewfilororsynlhesiiOTsysWiii '. $99 SUPER PiX OKI— Hires screen dump lot OKI Microline BO, 62, 83 Pfinlaifl Seme leeture? as Bupefpin Needs TymacPPC-IOOBoafd $24 S5 NIBBLES AWAY— The DesT rjisli back up progfam lo dale Alkme you lo make backups ol rroal everydi&hever produced lor Ihe Apple, Over 1 user delirtad paramelers including syrtchrortized & unsynchionized copies a3 well eeauEOfnahc hall IrachingaTLd raw dale Iransler. . . £59 Call 201 -839-3476 lor Dealer a Dislfibuloi Inquiries 74 MICRO - The 6502/6809 Journal No- 40 - September 1981 i APPLE BONUS W Apple Bits, Part I This article describes several aids to faster and more efficient low resolution grapiiics programming, Including machine language routines. Richard C. Vile, Jr, 3467 Yellowstone Dr. Ann Arbor, Michigan 48105 This is the first in a series of articles deahng with the use of the Apple II low resolution graphics features. Some techniques will be described that use machine language to enhance the speed of graphics applications and reduce the amount of memory required in order to represent certain screen patterns. The basic techniques to be described will enable display of patterns, each of which is 8 x 8 in size or smaller and consists of a single color. Larger patterns must be constructed from smaller pieces which fit these requirements, A modification of the machine language routine will allow multiple colors to be obtained by overlaying. This article wUl describe the ma- chine language display program which converts a numericaiiy encoded picture into the low resolution display pattern. The next article will describe an Integer BASIC program which allows the user to interactively develop a series of pat- terns, store their corresponding numer- ical representations in memory, and save it all on disk or tape. Finally, each arti- cle in the series will present one or more applications of the techniques to the construction of animations in Lo-Res. Bit-encoding a Picture Consider the following eight hex- adecimal numbers: 38,38, 12, FE,90, 28,44,83 Believe it or not, they contain a picture! To see how, let's first rewrite the numbers in binary, using the following table to convert each hex digit into a 4-bit binary "nibble:" Hci Binary 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 QUO 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F nil We arrive at the following numbers: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Do you see the picture yet? Just in case you don't, let's transform the pat- tern of O's and I's onto "graph paper" by superimposing a grid of squares on top of the above list, like so: 3 1 1 1 D 1 1 1 3 1 1 1 1 1 1 1 1 1 L 1 3 1 1 D 1 1 L 1 1 Now, erase all the O's and complete- ly blacken the squares containing the I's. That gives the grid shown next: Now, of course, you see the "pic- ture." Erasing the grid lines should make the correspondence with the Lo- Res display pretty obvious as well. The question now becomes: "How do we turn the above process into a program?" Shown in listing 1 is a machine language program which will carry out the process. It "assumes" that certain information has been set up for it. This information will be illustrated by listing 2 (in Integer BASIC), We discuss this ftuther following that program. No. 40 - September 1981 MICRO - The 6502/6809 Journal 75 APPLE BONUS Listing 1 *80ALL 080A- A5 30 LDA 530 080C- 811 04 08 STA J0S04 030F- AC 00 08 LDY $0800 0812- SC 03 08 STY toao3 0815- CE 03 08 DEC J0803 0818- 30 31 BHI $0846 081A- AE 01 08 LBX $0801 08111- BE 02 08 STX $0802 0820- CA HEX 0821- 30 F2 BMI «0815 0823- en 50 08 LIiA ii}BZO,X 0826- AC 03 08 LI'Y $0803 0829- 31 3C A Nil ( »3C >.Y 082E1- no 04 BNE $0831 082II- A9 00 LPA #$00 082F- 85 30 STA $30 0831- A5 24 LDA $24 0833- 18 CLC 0834- 6ti 03 08 ADC $0803 0837- AS TAY 0838- A5 25 LDA *25 083fi- 8E 02 08 STX $0802 083ri- 6D 02 08 ADC $0802 0840- 20 00 FS JSR $F800 0843- AD 04 08 LDA $0804 0846- 85 30 STA $30 0848- AC 20 08 .J MP $0820 034B- 60 RTS 084C- 80 ?■?'.■ 08411- 10 10 BPL t085F 084F- F8 SED 0850- 01 02 OR A ( $02iX ) 0352- 04 ??? 0853- 08 PHP 0854- 10 20 PPL $0376 0856- 40 RTI 0857- 80 ??? 0858- Aa TAY 0859- BO OS Bc;i 40363 oasB- 28 PLP * Machine Language Pattern D is player Listing 2 10 GR ; PRINT : PRINT ! PRINT 12 POKE 2043,7: POKE 2049.7 15 R0U=7+ RND ( 27 ) 20 C0L=7+ RND (27 ) 25 C0LOR= RND ( 15 HI 28 POKE 36fC0Lt POKE 37rR0W 30 FOR .J=l TO RND < 10 ) 40 SPARK=1+ RND < 20 ) 50 0FFSET=SPARK*7 60 POKE 60r< 3072+OFFSET) MOD 256 65 POKE 61,( 3072+OFFSET )/256 70 CALL 2058 72 FOR DE=1 TO RND (25): NEXT DE 75 NEXT J 80 COLOR=0: FOR J=0 TO 6; HLIN COL» COL+6 AT ROU+J: NEXT J 85 GOTO 15 Integer BASIC Fireworks Animation The BASIC program does a series of POKEs which set up the machine language routine's infoimation: 12 POKE 2048,7: POKE 2049,7 indicates the width and height of the patterns to be displayed. 28 POKE 36,C0L: POKE 37,ROW indicates the ROW and COLUMN of the Lo-Res screen at which the upper-left cor- ner of the pattem to be displayed will be. 60 POKE 60,(3072 + OFFSET) MOD 256 65 POKE 61,(3072 + OFFSET) /256 stores the address in Apple 11 RAM at which the numerical codes for the pat- tem to be displayed begin. The machine language program is in- voked by the line: 70 CALL 2058 Running the Fireworks Animation The numerical data which the pro- gram uses must first be entered into memory. This data resides at locations COO to D27 13072-33671 and has been listed on the next page. Once you have entered it (sorry about that] using the monitor, save it on tape (C0O.D27W] or on disk: *3D0G > BSAVE SPARKS,A$C0O,L$1 27 to avoid keying it in again later. Likewise, enter the machine language program using the monitor or the mini- assembler and save it: •800.857W (Tape] or *3D0G >BSAVE APPLE-BITS, A$800,L$57 (Disk) (Continued) 76 MICRO - The 6502/6809 Journal No. 40 -September 1981 In order to run the program, you should issue the command; >LOMEM:4096 so that BASIC doesn't clobber the machine language program. Assuming you are using a disk-based system, the entire sequence of com- mands needed to run the animation would be: >BLOAD APPLE-BITS >BLOAD SPARKS >LOMEM:4096 >RUN FIREWORKS I If you hate keying in long command se- quences, cook up an EXEC file with the commands in it.] Numerical Data for Fireworks Animation *C00.ri27 ocoo- FF FF FF 15 IF 15 F5 00 OC08- 00 00 08 OO 00 00 00 00 ocio- 14 00 14 00 00 00 22 00 0Ci3- 00 00 22 00 41 00 00 00 OC20-' 00 00 41 00 00 14 08 14 0C28- 00 00 00 nn 14 00 14 22 OC30- 00 41 2:.' 00 00 00 22 41 0C38- 00 -in 14 08 14 22 00 41 0C4C- 22 14 00 14 22 41 41 22 0C43- 14 03 14 22 41 00 00 00 OC50- 08 00 00 00 00 00 08 14 0C58- 08 00 00 00 08 00 22 ini OCAO- 08 00 08 00 00 41 00 00 0C68- 08 00 00 08 IC 08 00 00 OC/O- 00 08 08 3i 08 0!.! 00 08 0C7S' 08 00 63 00 03 08 00 08 OC80- 08 3E 08 08 00 08 08 08 0CB8- 7"7 03 08 08 08 08 OS 7F 0C90- 08 08 08 12 IF 10 19 15 0C98- 12 11 15 OA 06 IF 04 17 OCAO- 15 09 IF 15 ID 19 05 03 (1CA8- OA 15 OA 17 15 IF 00 OA OCBO- 00 10 lA 00 FF FF FF OA 0CE8~ OA OA FF FF FF 01 15 07 OCCO- FF FF FF IF 05 IF IF 15 occ:a - OA IF 11 11 IF 11 OE IF ocno- 15 11 IF 05 01 IF 11 19 ocns - IF 04 IF 11 IF 11 18 11 OCEO- IF IF 06 19 IF 10 10 IF OCEB - 02 IF IF OE IF IF 11 IF OCFO- IF 05 07 IF 11 17 IF 05 0CF3 lA 17 15 ID 01 IF 01 IF ODOO- 10 IF OF 10 OF IF 08 IF oooa- IB 04 in 03 IC 03 19 15 OIMO- 1/1 FF FF FF FF FF FF 00 0D18- 11 IF FF FF FF FF FF FF ori2ti - FF FF FF FF FF FF FF FF iUCftO Just Published! What's Where in the Apple? An Atlas to the Apple Computer By William F. Luebbert Adjunct Professor of Engineering, Dartmouth College The MOST DETAILED description to date o1 Apple II Firmware and Hardware- • This Atlas and Gazetteer of PEEKs, POKEs, and CALLs lists in tabular form over 2000 memory locations. • Information is presented numerically in the Atlas, and alphabetically in the Gazetteer. • The names and locations of various Monitor, DOS, Integer BASIC, and Applesoft routines are listed, and information is provided on their use. • The easy-to-use format includes: The address in hexadecimal (useful for assembly programming): $FC58 The address in signed decimal (useful for BASIC programming): < - 93 6 ) The common name of the address or routine: Chome] information on the use and type of routine: \SE\ A description of the routine: CLEAR SCROLL WINDOW TO BLANKS. SET CURSOR TO TOP LEFT CORNER • Related register information: {A- Y-REGS ALTERED) This reference tool offers Information every serious Apple user needs. BASIC and assembly language users alike will find the book helpful in understanding the Apple. 128pages,8V2 x 11 inches, cardstock cover, Wire-0 binding. $14.95* Ask your computer store for What's Wtiere in the Apple or call 800-22M617 Ext. 564 !n California call 800-772-3545 Ext. 564 ■y 24-Hour Toll-free Service VISA and Mastercard Accepted 34 Chelmsford Street, P.O. Box 6502, Chelmsford, MA 01824 'Add $2.00 for surface shipping, Massacliusetts residents add 5% sales tax. No. 40 - September19S1 MICRO -Tfie 6502^809 Journal 77 INVEST with CREATIVE FINANCI by HowardSoft Get an Edge with CREATIVE FINANCING: This sophisticated but friendly software clears ttie log created bv today's creotive loan packages, complex lox laws, runowav inflatiori. and cash-diainmg invest- ments Whether you invest in bonds, slocks, income property, or trust deeds, or you just want to determine tie true cosi ol vour txxne rrrortgage or consumer loon, this package will aid you in intelligent dec is ion -ma king. Realistically see the direct impoct ot inflation, time value ol moriey, taxes, ond cash flow timing, and play "what if" wilti tfe confidence ttial all importont factors are properly handled If is now possible in jusl o tew minutes to ob|ectively compare dissimilar loans and m^ vestments with the realism formerly achieved only by the lew tinonciQl wizords who could complete analyses ol tliis t/pe in a lew hours. This package is INDISPENSIBLE FOR ANVONE WHO INVESTS WITH BORROWED tvlONEY NOW AT YOUR DEALER FOR $150. Also ask about our Tax Preparer and Real Estate Analyzer software. Howard Software Services for the SERIOUS Personal Compulei Usei 6713 Vista del tvlai j La Jolla CA 92037 | (714)4M-5079 ■J : ■ . , Tactical Prlhtouls tor Infelligent Decisions: ■ '■ fvlonthly interest & principal poymenf scttedules for " complex loan pockoges - multiple trust deeds, wraparounds, amortization, interesf only, variable interest rot^, deloyed payments, balloons, re- botes, mid-y^Or starts, add-on interest, simple interest ■ Annuol depreciation sctiedules for complex compo- nent depreciation - stroight line, sum of year's digit, declining balance, autcmotic conversion to strolght line, tax credits, recopture ol excess depreciation ■ Tabulor projections ol year-end on-sale profits — inter- nal rote of return, return on investment, return on prior year's equity, net present volue, future value. • Tobular ptoiections ol cash tlows - debt setvice, tax credils, leases, tax payments, expenses Analyses for Today's Complex Transactions: ■ Picks up where our Real Estate Anoiyzer left off • Equivolent compound onnuol interest rate of loon package • Yield to maturity for discounted bonds. • Present volue ot complex annuity schedules • Value of ownership vs. sole-leosetxick. ■ Profit comparisons for dissimilar investments. ■ Risk evoluotion through "what il" comparisons Friendly Software for Efficient Operation: ■ Extensive documentation, complete with tutorials ond sample analyses lor the linancial novice. • Etrot-toleront ond trouble-lree lor use by the computer rwvice • Flexible, prole&sional. paginoted report generotion for impressive reports en all printers. • For all Apple Computers with A&K, Applesoft, and one 16-sector disk drive. 7ia MICRO - The 6502/6809 Journal No, 40 -September 1981 ! APPLE BONUS % Tracemark, An Apple II Debugging Aid 1 -% TRACEMARK is a debugging or study-tool utility, an extension of the Apple II Monitor TRACE command. A count of eacti traced instruction is kept in a separate memory blocit, and the trace display rate is controlled by a game paddle. Certain complex, highly convoluted problems can be better understood using this tool. Raymond Weisling Jalan Citropuran No. 23 Surakarta, Jawa Tengah, Indonesia During assembly language program development several debugging tech- niques are conimonly eniployed, includ- ing single-step, trace and breakpoint. The Apple 11 Monitor provides the facilities for these techniques, although on a rudimentary level. Use of the TRACE function causes the program steps to scroU past at a dizzying speed, and the only way to stop the function is to hit the RESET key, which alters the stack pointer. Single -stepping allows more careful study of the program under test, but the manual requirements of typing the command 'S' for each step quickly become tedious. TRACEIVLARK was developed to fill this spectrum of capability, and it also introduces an even more powerful tool for software detective work: 'footprint- ing' (herein called a 'mark']. How often have you wanted to know where a faulty program has gone to reach some (usual- ly] faulty result? With single-stepping you can see the program flow, but mak- ing a record requires tedious hand- copying of the addresses. TRACEMARK not only makes a mark of the where- abouts of the processor for later evalua- tion, but keeps count of the number of times each instruction is executed (255 maximimi). The only thing we sacrifice is knowing the order of instructions and why a certain branch occurred. Specifically, TRACEMARK calls the Monitor single-step routine (not found in the Auto-start ROM — but if you are doing assembly language work you prob- ably have the standard Monitor, or should]. Each instruction is displayed as if in the free-running Trace mode, but the speed is controlled by the game pad- dle 0, from full speed (almost) to a com- plete stop. For the address of each in- struction executed, an offset address is generated, which points to a free memory area (mark buffer] where the count of each instruction resides. This coimt is incremented up to a maximum of 255 [$FF]. Multiple byte instructions have each byte marked identically, so any wild branches into the operand por- tion of an instruction will show differing mark counts. The mark buffer resides "in parallel" with the program under test. That is, the offset of the address is only done to the high byte, greatly simplify- ing the mental work required when in- specting the mark buffer later. The pro- gram does not check to see if the mark buffer address is within the bounds of the actual mark buffer, so care must be exercised in selecting an offset value based on the expected range of the pro- gram tmder test. If extremely wide ranges are expected, it might be best to insert some boundary checking into TRACEMARK, PTogratn Operation TRACEMARK, as shown in the assembly listing, resides at that popular spot, $300. It may be re-assembled to any convenient location. Similarly, page zero use may be adjusted to avoid con- flicts (TPCL, TPCH, TA, TB, & TC)- From the Monitor, preset values for the trace beginning point (TPCL, TPCH), the mark buffer low boundary (TA, TB) and the mark buffer high boundary high byte (TC). Then call $300. First the mark buffer is filled with zeros by CLEAR. The Monitor program counter is then loaded with the trace start ad- Listing 1 LINE* LDC CODE LINE 0007 0000 J TftftCEHfiftK 0003 ODOO ; REU ei - Z7 DEC 1930 D001 0000 ) R WEISLIWGi SURAKARTrt. INDUNESIfl Q0D5 0000 «=t300 00D6 0300 TPCL = too ;tracemork pgograh counter — 0007 0300 TPCH = «01 [— ALSO TRACE START ADDRESS DOOB 0300 Tft = »02 JTRACEMARK buffer start (LOl 000? O30O T.E - t03 1 (HI J onto 0300 TC ^ JO'S iBUFFER END (HI) QOll 0300 LEHGTH = «2F Doi; 0300 PEL =^ t3fi [MONITOR PC 0013 0300 PCH = tae 0011 030 STEP = »FA13 ;TRfiCE SINGLE STEP ROUTINE OOIS 0300 PREOD = tFElE JHONITOR - READ PODQLE VALUE 0016 030 0017 030 i TRftCEMflRK ftND TRACE DISPLOr RATE UTILITY oDie 030 0019 03O0 2D1E03 START JSR CLEBR ; ENTER HERE FROM MGNITUR 0020 0303 B500 LDA TPCL lUPDATE MONITOR PROGRAM CUUWTER 021 0305 S53ft STA PCL 022 0307 0501 LDA TPCH ffD23 0309 B53E1 STA PCH 003^ 0301; 2013FB AGAIN JSR STEP iDO ONE STEP IN MONITOR 025 030E 0501 LDA TPCH iEET ADDRESS (PCL/H 1 STEP AHEAO> 00Z4 0310 3S SEC 002? 0311 E9D0 SPC UDO !<-CHANGE THIS FDR OTHER OFFSETS ooze 0313 SSOl STA TPCH f OFFSET FOR MARKING 0029 0315 A12F LDY LENGTH ;S1ZE DP INSTRUCTION, 1-3 PYIES (0-2) 0030 0317 BlOO LOn (TPCDiY iGET FORMER MORK VALUE (Continued) No. 40 - September 1981 MICRO - The 6502/6809 Journal 79 APPLE BONUS dress, and the single-step display loop begins. After the call to STEP, the mark buffer address is calculated from TPCL, TPCH values (the Monitor PC is already set for the next instruction). LENGTH is a value representing the size of the last instruction disassembled (less one), and acts as an index to LOOP for marking each byte of multi-byte in- structions. The previous mark count is first read and checked to prevent overflow, and then the incremented count is returned to the mark btiffer. The paddle is read by a call to PREAD in the Monitor, and the returned value is used to set the repeat count of two nested timing loops. In addition, the value is tested to see if it is in the range of $FC to $FF, and if so, the paddle is read again (and again] tmtil the value drops below $FC, effectively breezing the display. The paddle read-rate is slowed down by doing this value testing, after the inner loop, to eliminate errors caused from calling the PREAD routine too rapidly, (This caveat, mentioned in the Apple litera- ture, is due to circuit peculiarities of this crude a/d converter. Having the speed control is handy to use: slow down or stop the display for close inspection or let it run at full speed for those loops that work well. TRACE- MARK will continue as long as possible — the only means of exit are encounter- ing a BRK or hitting 'RESET,' Before calling the program again, be sure to reset the five bytes in page zero to the correct values for initializing the mark buffet and starting the trace. If more page zero space can be spent, these in- itial values could be made non- destructive (but the program will be slightly longer]. Example of Use Let us see how TRACEMARK oper- ates by running it to trace the Apple In- teger BASIC program. This is a good ex- ample of a program which is highly con- voluted and which cannot be debugged by conventional breakpoints, since it resides in ROM, The listing shows line 27 as bemg SBC #$D0, which is the off- set for this example. Thus BASIC, mn- ning from $EO00 to $FFFF (including display calls to within the Monitor) will be marked from $1000 to $2FFF (mark buffer). Now, preset the page zero registers as follows: 00:00 EO 00 10 30 'return' This means to stan the trace at $E00O (cold start], clearing the mark buffer from $1000 to $2FFP. Next, call TRACEMARK and watch the trace Listing 1 (Continued) 9031 0319 Ab TAX D032 GSlfl EB INK EUnp BY ONE 0033 031E: F0 0& EEQ DONE PREVENT rtfiRK OVERFLOW BEYOND tFF 0031 031D sa TXA 0035 03ie 9100 LOOP STA (TPCLf.Y JSAUE BUMPED MARK 0!l3i 0320 8S DEY 037 0321 lOFE epL LOOP REPEAT IF 2-3 BYTE INSTRUCTIOW 9039 0323 AS3A DONE LDA PCL ;ready local pc for next step 0037 0325 8500 STA TPCL D010 327 fl53E LDA F'CH 0011 03J9 €501 STfl TF'CH : TRACEMftRi; PHASE DONE 0012 D32E nZOO FJD LDX to iDTBPLflV RATE PHASE BEGIN 0013 03ZD 201EFe JSR PREAD : READ PADDLE UALUE 0011 0330 8101 STY TC SAVE FDR DELAY RESTORE USE DCrlfi 332 CB I NY ADJUST FUR DEC BEFORE TEST 01114 0333 aaoa STft Tfi 0D17 0335 eso3 STfi re 0D1B 0337 [:602 PLOP OFC TA ! INNER DELAY LOOP 019 0339 DOFC EiNE PLDP OOSO 033D 0501 LDA TC CET PADDLE UALUE AGAIN 0051 OD^D BS02 STA TA RESTORE INNER LDOP 0052 033F (5903 LDA 403 MAKE LOW 2 BITS HI C0S3 03il'PROS has both global and line edit capabrliiv and the polled keyboard versions contain a corrected keyboard routine that make the OSJ keyboard decode as a standard type- writer keyboard r MAXI-PROS also has sophisticated file capabjbilities. It can access a file for n^mes and addresses, slop for inputs, and print form letters. U has fife merging capabilities so that it can store and combine paragraphs and pages in any order. Best of alt, it is in BASIC (0S65D 51/4" or 8" disk) so that it can be easily adapted to any printer or printing job and so that It can be sold for a measly price. f^AXl PROS - $39.95 NEWNEW-NEW TINY COMPTLER The easy way to speed in your programs. The tiny compiler lets you uvrite and debug your pro- gram in Basic and Ihen automaticaHy compiles a Machine Code version thai runs from 50-150 times faster. The tiny compiler generates relocat- able, native, transportable machine code that can be run on any 6502 system, K doe5 have some Umitatiors. It is memory hungry — SK is the minimum si^ed system that can run the Compiler. It also handles only a limited subset of Basic - about 30 keym/ords in- cluding FOR, M EXT, IF THEN, G0SU8, GOTO, RETURN, EMD, STOP, USRiX), PEEK, POKE, '.=.',/-<*,/ ,<\ Variable names A-Z, and Integer Numbers from G-64K. TINY COMPILER is written in Basic. It can be modified and augmented by the user. It comes with a 20 page manual, TINVCOMPfUER -$19.95 on tape or disk THE AARDVARK JOURNAL FOR OSI USERS - This is a bi-monthfy tutorial journal running only articles about OSI systems. Every issue contains programs custom- ized for OSI, tutorials on how to use and modify the system, and reviews of OSI refated products. In the last two years we have run articles like these! II A tutorial on Machine Coda for BASIC programmers. 2) Complete listings of two word processors for BASIC IN ROM machines. 31 Moving the Directory off track ^2. 41 Listings for 20 game programs for the OSI. 5) How to write high speed BASIC - and lots m ore — Vol.1 (19S0I 6 back issues-$9.00 VoL 2 (19811 2 back issues and subscription for 4 additional issues -S9.00. ACCOUNTS RECEIVABLE - This program will handle up to 420 open accounts. It will age accounts, print invoices {including payment reminders! and give account totals. It can add automatic interest charges and warnings on late accounts, and can automalrcally provide and cal- culate volume discounts r 24K and 0S65D required, dual disks recom- mended. Specify system. Accounts Receivable. $99.95 ' ' ■ SPECIAL DEAL - NO LESS! " " ' A complete business package for OSI small systems - (CI, C2, C4 or CBK Includes MAXI- PROS, GENERAL LEDGER, INVENTORY, PAYROLL AND ACCOUNTS RECEIVABLE - ALL THE PROGRAMS THE SN1ALL BUSI- NESS fVl AN NEEDS. $299.95 P.S. We're so confident of the quality of these programs thai the documentation contains the programmer's home phone numberl SUPERDISK II This disk contains a nem/ BEXEC" that boots up with a numbered directory and which allows creation, deletion and renaming of fjles without calling other programs. Ii also contains a slight modification to BASIC to allow 14 character file names. The disk contains a disk manager that con- tains a disk packer, a he>i/dec calculator and severaf other utilities. It also has a full screen editor {in machine code on C2P/C4H that makes corrections a snap. We'll also toss in renurrjbering and program search programs — and sell the whole thing tor - SUPERDISK II $29,95 1 5 1/4"J $34.95 t8"|. ANDFUN, TOO! BOOKKEEPING THE EASY WAY -WITH BUSINESS I Our business package 1 is a set ot programs designed for tile small businessman who does not iiBve and does not need a full lime actountant on tiis payroll. This package is built ground a GENERAL LEDGER program ^hich records all transactions and I'jhich provides montfily. quarterly, annual, and V ear-to -date PROFIT AND LOSS statements. GENERAL LEDGER also provides for cash account balancing, provides a BALANCE SHEET and has modules ior DEPRECIATION and LOAN ACCOUNT computation. GENERAL LEDGER [and MODULES) $129.95. PAYROLL IS designed lo interface with the GENERAL LEDGER. It will handle annual records on 30 employees with as many as G deductions per employee. PAYROLL- $49.95. INVENTORY is also designed to interface with the general ledger. This one ™ll ofovide instant inloimation on suppliers, initial cost and current value of your inventory. It also keeps track of the order points and date of last shipment. INVEI^JTORV- $59.95. GAMES FOR ALL SYSTEMS GALAXIAM 4K - One of the fastest and finest arcede games ever written for the OSI, this one features rovjs ol hard-hitting evasive dogfrghtlng aliens thirsty for your blood- For those who loved (and rired of) Allen Invaders. Specify system — A bargain at $9.95 NEW - NEW - NEW LABYRINTH - 8K - This has a display back- ground similar [o MINOS as the action rakes place In a realistic maiS swn frpm gr^iund level. This is, however, a real time monster hunt as you track down and shoot mobile monsters on foot- Checking out and testing this one was the most fun I've had in years! - $13.95, NIGHT RIDER - You've seen similar games in the arcades- You see a winding twisting road ahead as you try to make time and stav on the road. NIGHT RIDER uses machine code to gen- erate excellent high speed graphics - by the same author as MINOS. NIGHT RIDER - $12.95 cassette only THJEF - Another machine code goody for the C1P cassette only. You must use mobile cannon to protect the valuable jewels in Ihe middle of the screen from increasingly nasty and trigger happy thiefs. Fast action and fun for one or two players. THIEF $13.95 on CI cassette only I SUPPORT ROMS FOR BASIC IN ROM MA- CHINES - C1S/C2S. This ROM adds line edit functions, software selectable scroll windows, bell support, choice ol OSI or standard keyboard routines, two callable screen clears, and software support for 32-64 characters per line video. Has one character command to switch model 2 CIP from 24 to 4S character line. When in- stalled in C2 or C4 10 THEM IF NF(XS) < > THEM I = 1:J = 1 772 POKE 11,176: POKE 12.S(14): POKE S(10).KF{XS) 773 E THEN PCCT: S(18),56 775 XS = USR (0): RBIURN 7S0 REM APU TO BASIC 781 XS = ASC (ES) - 64: IF XS < > 10 THEM IF NF(XS) < > IHEM I = lij = 1 782 FCKE 11,176: POKE 12,S114): PCKE S(10),NF(XS) 783 FCKE S[n).79: POKl: S11B).117 784 XS - USR (0): RETURN 751 752 759 760 No. 40 -September 1981 MICRO - The 6502/6809 Journal 87 List 3: A sample obfect code {all addresses decimal). 20480 162,1 LDX-IMM 1 20482 202 DEX 20483 134,10 STX-Z 10 initialize integer I [I at loc 10 page zero] 20485 166,10 LDX-Z 10 loadl 20487 224,200 CPX-IM 200 I equal to 200? 20489 208,3 BNE 3 20491 76,81,80 IMP 20561 If true jump out of For loop. 20494 232 INX If I less than 200 increment. 20495 134,10 STX-Z 10 restore I 20497 162,1 LDX-IMM 1 20499 202 DEX 20500 134,11 STX-Z 11 initialize integer J [J at loc 11 page zero) 20502 166,11 LDX-Z 11 load J 20504 224,200 CPX-IM 200 J equal to 200? 20506 208,3 BNE 3 20508 76,78,80 IMP 20558 If true jump out to next I 20511 232 INX If ] less than 200 increment f 20512 134,11 STX-Z 11 restore I 20514 169,56 LDA-IM 56 load address base for variable X (io) 20516 133,4 STA-Z 4 put into zero page loc 4 [variable pointer) 20518 160,0 LDY-IM 20520 132,5 STY-Z 5 put address base (hi) into loc 5 20522 32,228,78 )SR 20196 goto fixed routine to write X to top of APU stack 20525 169,20 LDA-IMM 20 load address base for variable A (loc 20, pageO) 20527 133,4 STY-Z 4 set address pointer 20529 160,0 LDY-IM 20531 132,5 STY-Z 5 20533 32,228,78 rsR 20196 v/rite variable A to APU stack (to 20536 169,18 LDA-IM 20538 141,7,251 STA-AB 20541 169,56 20543 20545 20547 20549 133,4 160,0 132,5 32,140,78 LDA-IM STA-Z LDA-IM STY-Z |SR 20552 32,170,78 fSR 20555 76,22,80 JMP 20558 76,5,80 [MP 20561 96 RTS 18 64263 56 4 5 20108 20138 20502 20485 Ol + 228) load op code for multiply command APU to multiply top of stack by next on stack, restilt to top of stack set address base for variable X |loc 56 page 0) APU busy-error check |to 01+140) Read APU to memory (to OI-I-170) J loop retimi I loop return return from subroutine 1. writing from the APU. However, in longer calculations involving arrays and complicated indexing, time saved by co- processing can amount to a factor of 2 or more. The above listings, along with this example, should give the reader enough information to write machine code subroutines by hand. The 6502 just im- plements, writes, and reads to and from the APU, sends it commands and checks its status. Standard 6502 operations can be used for loop control, j um p'; between subroutines, etc. It should be possible, without undo effort, to write out such object codes for fairly straightforward calculations. If you want to try this par- ticular program the DATA list in listing 4 should be helpful. OftTR 162, 1 , 202, 134, 10. 166, 10,224.200. 208 nftTO 3,76,81,80.232,134,10,162,1,202 UftTft 134,11,166,11,224.200,208,3,76,78 DftTA 80,232,134,11,169,56,133.4,160.0 EATA 132,5,32,228.78,169.30,133,4,160 DfilR 0. 132, 5, 32, 228, 78, 169, 18, 141, 7 DfiTA 251,169.56,133.4,160.0,132,5,32 EftlR 140,78,32,170,78,76,22,80,76,5 ram so, 96 Of course, the ultimate situation is to have the compiler write out the object code as illustrated above. Clearly it takes each BASIC source statement and branches out to routines that parse through the line according to the fun- damental Operation [e.g. FOR, NEXT, a mathematical expression, etc.). The most complicated aspects of a compiler involve rewriting general mathematical expressions into a stack-processing type form suitable for the C8231, and in the process trapping any errors in the source code. The compiler is much too long to list here [16K of BASIC statements), or to describe in detail. However, I hope these two articles have illustrated how fast mathematical processing can be car- ried out on a simple micro at minima! cost. Enough material has been presented to write and execute simple mathematical subroutines. For further information (a complete manual and cassette tape] on the compiler please write the author. Two years ago John Hart became interested in using a microcomputer to control laboratory experiments, and to do theoretical calculations involved with his research in naeteorology and physical oceanography. The system described above has been used to solve a variety of problems concerned with flow over or around mountains and simple climate models. iUCAO 86 MICRO - The 6502/6809 Journal No.40-Seplember1981 Here's the KEY to your Apple®! Hondbooh Computer Station's Programmers ^ Handbook for the Apple® Retail Price 29.95 IndeNed Looseleaf noiebook {7''2" x9"] conlainiiig all ihc reference marerial lound in our popular Programmers Guide to Ihe Apple II ' • Applesoft Si Inlegei • CP.M DigllaL Reseaich, Inc • BaBic-80 Microsoft • Pascal • 6502 Assembly Language • DOS 3 3 • DOS Tool Kit • Moniloi Including Command References foi Applewillpr' ■ Macro-Seed Visicak ' Personal Solturaie Hardware Configurations & Software Commands for Spinu/ri1«r PapeiTlgei • Silpnt^pe • Spi^cialROMs Two dislselte pockets in front & back. Noiebook formal allows user lo add persona! commenls. A must for every Apple' owner Available from your local Apple' Dealer or from: Computer Station 11610 Pase Service Dr. St. Louis. MO. 63141 (314)432-7019 Direct order will incur a E2 00 shipping/handling charge plus sales lax where applicable Appte, Applpll And ^pplttntt Ar'EhpTp^lilpred Irndpiiiarli s al Apple CompulFr. Inc NEW! CHECKBOaK . CHCCKV WRITER PROGRAM FOP. TRS 80CC"- APPLE 11'" TRS 80 MODI/ LEVEL II'" JP5 BO MODEL III CASSETTE TAPE S9.95 (. or Lt$T|NG NOW. . -Continuous Checks That Can be Used With or Without Your Computer!! The Best in A Home Checking System Thai's rigtit Coiiiiniious Chec^s fan folded m it3-iD-a-p^yL-diiak £€i[dei&itin Andihuyi^anbu pampuEer prrnrecT^ hErndwrillen or lypQivrilEen — nrhichevpr siiil!i Ihe qujiitltly or ^JluAliOn SPECIAL DESIGN Our Cltech^ B'p. not a higit- volume bu&incss luim adBplel'Oit Thpv'''^ speciEiily dd^igitird CompulCr/ Manual Chech^ lor Ihe horrm iisEir And they're tasv lov^^- <*>'' Nnrieedia fliange prirllLT form wn'l fiPid Ennlinuous checks liko IhirSQ unywIierE And, ojr special sniilK qu^nlily prmling process Will giUE: yDii HAcellenl qualilv and appearance Standard color- cnnrdmated irriprmlmg And encoding ie as ?bfivjn abnvp (loga can he omnieflfon blue, grey, green, or bulf checks PRICED RIGHT Two Hundred chei:k^ are |ijs1 ^29.35 fenvO' lopes 314 951 ^ivp Hundred checks are 549.95 (envelope's 27 .9 5) Data Ring Check- hooka ^rv only &4.9S. SpoclBl "OflPER NOW" Oter So thai V*)!! ^^1^ STDH u^ing your compuler iiTiinedi^ielv <□ p^y your manihly bills, i^e'li make you a tpsKiidl package olfer IF you order dirr^Llly fiom thiE ad^ we c^f send you 200 ChHchs, 101^ EnverapBfi, A Bmde;^. and Program tor $49.95 OR 500 Checks, 300 Envelopes, A Binder. and Program for €74 96 You'll save as much ^s S9,e& over Ihe ^iQparale purchase prii^e. And wUh Ihe special package yau can hegm your monlhly check' book balancing arid bill paying as soon as you receive your checks, Jusl enclose a vojded check jfor encoding inlormaliorf wiih ^ur PBVmeni (VI 5 A - MaslcrCard orders musi show sicrnaure, expire non dai?, and accouni nuJlkbe') Oi Send inday ror samples SYNERGETJC '^"''^ Shepherd hd SOLUTIONS DEPARTMENT M91 PHOr^E 13I3I646-6BB7 MULBERRY, FL 33860 No. 40 - September 1981 lililililiiililllllllilililllllilllilillliliilliiililililllJIIIIirillllllllillliiilJIIII ATTENTION: SOFTWARE AUTHORS OHIO SCIENTIFIC (A m/a— COM COMPANY) IS SEEKING A 6502 based, full screen edit, cursor orientated wore processor to run on Its Challenger series microcomputers Programs submitted should either currently run on O.S.I. products or should include parameters on adaptability. Ability to operate on both memory mapped video and serial CRT, as well as data file linkage, preferred. Legal Authors should contact the official agents: —Department W.P., Anaheim Computer Distributing, 1150 Knollwood Circle, Anaheim, California 92801, U.S.A. Any copyright information or preconditions should be stated at the time of submission of program. Both Ohio Scientific and Anaheim Computer Distributing will treat all communications in the strictest confidence. For any discussion call Keith Beverton at 1-714/995-3041 between 11:30 a.m. and 12:30 p.m. (19.30 and 20.30 GMT) -Monday to Friday. llllllllllllllllllllllllllllllllllllll|l|l|||||II||]|||j||||||l||||||||||l|l|l|||{|;il|||ll MICRO - The 6502/6809 Journal 89 OSI COMPATIBLE HARDWARE lO-CAlOXSEff I ALPORT S125 ACIA cased flS 232 serial punier pan. DIP SWITCH seleclable baud rarea ol 300 9600. Handshaking (CTS)inpul line is provided lo signal Ihe compuler when The prinlerbuHer Is lull CornDaliblewUhOS-65LI V1.2 andOS-65D- I0-CA9 PARALLEL PORT Sl7fi Cenironics Standard Parallel prin(ennLerrace lor OSI compurers. The card comes com- plele L^ilh 10 ri. of Mat ribbon cable. Compglible ^iih OS^^D and OS-65U software IO-CA9D DIABLO PAR ALL EL PORT 117S DIABLO r2BlT WORD Parallel port for use wilfi word processor type printers. Complele wrlb 10 II. cahle. Compaiible wilh OS-65U software. IO-LEVEL3MULTI.tlSEfl EXPANSION £45D Provides 3 prmter interfaces currenlly supported by OSl-Serial, Centronics Parallel, Diabro Parallel 4Ko( memory al DCXXJfor MuUi-userexeculive 4 Porr serial cluster The LEV EL 3 card allows ex pansion of an OSI C3 machine up !o 4 users Willi appropriale ad' dlElonal rnemory pa rji lions 2JMEM'CM9...I3B0 16MEMCM9.-S3D0 BMEW CM9.,,S210 24Kmemory card 15 available at 3 different populated levels. All cards are fully socl* el ed !or24KDlmeinory The card uses 21 l4-30Dn5 chips. DIP SWtTCHadd/essinp is provided jn Hielormol one l6Kbfock and one 3K block. Al50 supports DIPSWITCH memory parti- tion addressing lor use in muKi-user systems FL47DFLOPPYDISK CONTROLLER SIM OSI -Type lloppy disk conUoller and real Ume clock Will Support 5V. "or 3", Single or double-Sided drives Requires dnves witti separated data and clock oulpuls. BJO- TaOO BAR E 1 CAR D $5Q Su per 1/0 Card. Su pporlsSKol 21 14 memory in IwD DIP SWITCH add res sable 4K blocks, 3l6Bil Parallel Porfs may be used as pnniennle'laces, 5 PlSa32 Serial Porls Willi GTS S RiS handshaking WilJi manual and Mole:^ connectors. BEMEMCM9BAREMEMORYCAH0 £50 Bare24K memory card, also supports OSI-lype real lime clock and floppy disk conlroller. Wrlh manual and MoIeK connectors, IfM PROTOTYPE CARD $35 Prototype board holds 9S 14 or 16 pin IC's, Will also accommodate 18, 24. or 40 pin IC's, Row and column zone markings, easy layout V^" epo*iy glass P C. board. C 1 PEXP EX P A N SI O N 1 NTE RF ACE S65 Expansion lor Cl P60tJ or Gl boards to the OSI 46 Pin Buss. Uses enpansion socket and inteiface crreuitry lo expand to 49 Pjn Backplane. Requires one slot in backplane a P-5fiO BACK PLANE *47 Assembled Sslot backplane with mate Molex connectors and terminal ion resislois OSKSWDISKSWITCH 529 A circuil when gddcdio OSI Mmi floppy systems ex lends the llleol drives and media. Ac- complish this by shulling oil f^inilloppy Spindle motor when system is not accessing the drive Complete KIT and nianuak P W 5-6 PO W ER SU PP L Y S29 Power One brand supply 5V - 6 amps wiihovervoltage proieclion Reg $49 9^ D&N MICRO INC. 3684 N. Wells Street Ft. Wayne, Indiana 46808 219/485-6414 TERMS: Check or money order Add S2 Shipping^ Outside U.S. add 10%. Engineering PROJECT ENGINEER ELECTRONICS DEVELOPMENT If voy appreciate the challenge of a fast-paced, professional environment, this opportunity within our Hyland Diagnostics Division may be of inleresl. As a leading international medical products manufacturer with facilities in operation throughout ihe world, we seek degreed, "hands-on" electronic technologists or engineers to modify and develop micro- processor controlled manufacturing equipment. Qualified candidates will have shown ability to: • Successfully meet project objectives • Design and prototype microprocessor conlrolled mechanisms • Effectively interface vuith corporate support and manufacturingpersonnel • Program 6502 Synertek Microchips Strong comniunications and interpersonal skills enabling you to work closely with all levels of our staff are essential. This position is located at Travanol's Round Lake facility, offering ready access to Chicago, Milwaukee, and Wisconsin resort areas. We provide a competitive salary commensurate with experience. A generous benefits pacioge includes profit sharing and employee stock purchase plan. If you seek a professional environment, send your resume with salary history and requirements in confidence to: Vincent T. Luber. Travenol Laboratories, Inc. Administration BIdg. P.O. Box 490 TRAVENOL Round Lake, 111. 60073 Equal Opportunity Employer (312) 546-6311 DYNAMIC DUO Designed and Engineered Specifically for the SYNERTEK SYM-1 and KTM-2 • VITAL COMPONENTS PROTECTED • ALL FASTENERS PROVIDED • NO ALTERATION REQUIRED • EASILY ASSEMBLED ATTRACTIVE FUNCTIONAL PACKAGING ■ High Qualily Theimolormed Plastic* • Molded In Data Blue Color • Available From Stock 'aanm s Has5 - rvdei ioo enclosures group 7B6 hush street san Irancisco. California 9']I0S TO ORDER: 1 FiII m idis coupon (Pmi ur type. Plaast) 2. AKacli Check oj Money Order. NAME _ STREET CUV _ STATE. _Z1P_ FOR SYM-1: Please Ship Prepaid . . SSE 1-1(s) @ S39.50 each TOTAL ENCLOSED: S_ Peeler inqjirea InvlleH. California Residents Please Pay 142 07 (Includes Sales Tax) FOR KTM-2: Please Ship Prepaid SKB 1-3(s) @ $69,50 each California Residents Please Pay 174.02 (IncluOes Sales Tax) . No C.O.O;^ Pled3e. -- AltoHi 2.3 Weeks lor Procassing and Delivery. « 90 MICRO - The 6502/6809 Journal No. 40 - September 1981 1 I /MCftO Classified SYM-1 Expansionfl Bare W7AAY 4K RAM boaid: $8.00 plus SASE. Assembled W7AAY ROM board: $16.00. RAE symbolic disassembler source on cassette: $15.00. Instruction packer to add floppy disks to SYM $15.00. RAE/ KMMM software interface on 5W" disk- ette: $15.00. SASE for mote information. John M. Blalock Blaiock & Associates P.O. Box 39356 Phoenix, AZ 85069 Extflnded SYM-BASIC Adds 30 commands, requires I6K, $85 US/$95 Can., object on cassette, manual, and source listing. SYM-FORTH 1.0: fig- FORTH for 16K SYM-1 . Editor, assembler, cassette interface $]3a US/$155 Can., object on cassette, manual and souice listing. Saturn Software Limited 8246 116A St. Delta, B.C., V4C 5Y9 Canada C1 P Extended Monitor 2K EPROM has 14 cursor control /editing functions, improved keyboard decoding. Machine language save, load, display, modify, move, breakpoint processing and much mote. For 24, 32, 64 char/hne. $39.95 plus $1.00 shipping. $1.00 for complete information. Bustek P.O. Box A St. Charles, MO 63301 PETfCBMOwnsrs Real world software at low cost. 21!4 RAM adapter and 4K Memory Expansion for "old" 8K PETs. Write for free catalog! Optimized Data Systems Dept. M, Box 595 Placentia, CA 92670 PET Arcade SoHware Astroidz and Munchman games foi your 8K old-new ROMS. Astroidz are invading the galaxy. Four levels of play. Munchman is based on arcade game Pac-Man. ZIP and ZAP are out to get you. Fantastic graphics. $9.95 each cassette. ComputerMat Box 1664M Lake Havasu, AZ 86403 Spanish Hangman 2,000 SPANISH words and sentences taught in a fun way on ihe Apple. Send for your school's free 30-day evaluation diskette, from: George Earl 1302 South General McMullen San Antonio, TX 78237 Ohio Scientific Tea-Shirts Men's S, M, L in black with blue to white Logo, $7.50. We also have an XREF pro- gram [list variables and line *'s|, disk $24/tape $6.98, and a true backspace, screen stall and clear for CIP at $6.98. Please add $.75 postage/ handling on all orders. Computet Business Service P.O. Box 203S4 San Jose, CA 95160 Business Software by ADS For the Apple D and Atari/800. Why pay mote for a bunch of unrelated programs? Business Plus will handle invoices, statements, credit memos and more, much more! fust $299 complete or $25 for demo disk {credited towards purchase). VISA, Mastercharge accepted. Advanced Data Systems 7468 Maple Avenue St. Louis, MO 63143 314/781-9388 Supar-Maze Attention OSI owners: Get Super-Maze, similar to the arcade game. Runs on 32 X 64 cassette systems; or 5uper-Maze II — a faster and more aggressive version. Send $1.50 for more information, or $14.95 for Super-Maze, $17.95 for Super- Maze U. S21.95 for both, $2.00 for hard copy only, Vega Enterprises 1564 Locust Ave., Suite lOlA Long Beach, CA 90813 Free PETfCBM COMAL Interpreter The battle between BASIC and Pascal may soon be over. COMAL is winning. COMAL is powerful and structured like Pascal, easy to leam and use like BASIC. COMAL interpreter is FREE with each User's Croup diskelte. Write iot details. COMAL User's Group 5501 Groveland Ter. Madison, WI 53716 SeaFORTH tor KIMfSYMfAIMfSEA Systems Threaded subroutine, compiled (not inter- preted] FORTH is much faster than iig- FORTH. Editor, assembler, compiler is 8K, ROMable. Floating point, disk exten- sions. OEM Target Compiler available. For the advanced FORTH programmer. Single-user license — $100 (cassette) or $100 plus ROMs. Seawell Microsystems P.O. Box 20367 Seattle, WA 96102 1206) 322-3123 OSI Supert>oard — Cabinet and Accessories Pre-cut kit with hardware to build a hand- some pine cabinet to house your super- board. Room inside for the power supply and all your extras, $20. RS-232 interface kit, $10. Send foi our catalog of software, hardware, kits and accessories. Dee Products 150 Birch wood Road Carpentersville, IL 60110 MCRO CBM/PET? SEE SKYLES ... CBWI/PET? ''You mean this one little Disk-O-Pro ROM will give my PET twenty-five new commands? And for jusi $75.00? Why, IhaCs onlj S3.00 a command!" The Disk-O-Pco in any PET with Version ll[ (BASIC 2.0} ROMs I^HII COMMODORE BASIC imit) will give 19 software compaiibk disk inn ruci ions*; 15 idemical with ihe new BASIC 4.0 lor wiih 8032 ROMs) compalible with boLh old and new IX)S. Plus 4 addi- tional disk commands. . .including appending (MtRCtl. overlaying (MERGE * ) and PRINT USIINC. allowing Formatting ouipui of sitings and numbers on the PET screen or on any printcr. ^NOTE: Old DOS doesr 't recognize three of the commands. Those are jusi 3 of Ihe imporiani commands — and ihere are 7 more beaurics — on your Disfc-O-Pro lliai have never been available previously lo PET/CBM users. (Sfcyies does El again !)...Beauiies like the softiouch key (SET) which allows you to define a key to equal a sequence of up lo 80 kcyslrokes; like SCROLL whereby all keys repeat as well as stow scrolling and extra ediiing feaiures; like BEEP which allows you to play music on your PET. The DisV-0-Pro iscomplelely compatible with the BASIC programmer's Toolkit- The chip resides in Ihe socket al hesadecimal address $9000, the righlmosl empty socket in mo^l PETS- And for the owners of "classic" (or old) PETS, we do have interface boards. (For Chose owning a BASIC 4.0 or 8032. even though ihe Disfc-O-Pro may nol be suit- able, the Command-O is. JusI wrile lo Skyles for additional informalion. Remember, we have never abandoned a PET owner.) Complete with B4-page manual wrillen by Greg Yob., .who was having so much fun thai he got carried away. We had expected 32 pages. Skyles guaraniecs >our salisCiclioni if you are not absolutely happy with your new Disk-0-Pro ROM chip, reiurn ii to us within ten days for an immediate full refund. Disk-O-Profrnm Skyles Kleclric Works.- STS.OO Complete with interface board (for "classic" PETS) 95.00 Shippins and Handling (USA/Canada) S2.S0 /Europe/Asia) JIO.OO /^ California residenls musi add 6%'6'/i% so/es lax. as required. \A/ Skyles Electric Works Visa/Mssleteard order*: call tollfree H iJIESouih Whiiman Road (800) 227-W98 (escept California). J^^ Mountain View. California WWI CaUfornia orders: please call (415) ^V (4151 96S-I735 96S-I735. /lAiaO ■■ S31A>1S 33S 6l3d/IAiaO" w No. 40 -SepIemt)eFl981 MICRO - The 6502/6809 Journal 91 PANORAMAS! I! i: a S BTF. with s ... ff«~. K .«S W i \ fii s H/-fl£S GRAPHICS DUMP ROUTINES Easy to Use! Multiple Scate Factors! Precise Reproduction! Normal/Inverse Inking! Dump either page one or page two, horizontally or vertically on the paper; or, dump both as a two page panorama with both pages butted in perfect registra- tion. Compatible with I/O cards from Apple, Epson, SSM, Tymac, California Computer and Mountain Computer. SCALE FACTORS PROVIDED PRINIEBS PANORAMIC or VERT HOPIZ POST-PAID SUPPORTED 1X 2X 3>; iX 5X IX 2X 3X PRICE OPSOTO 29 95 DP90DI • • • 39 95 DP9B00 • « t ■ 44.95 DP9501 4 * * * • ■ 49 95 MX70 29.96 Mxeo 29 95 UXIOD ■ • B • 44.96 IDS4J0 29.95 IDS445 29 96 IDS4eO • * t 39.95 IDS560 ■ 4 4 ft • • 49.96 SmartWare 2281 Cobble Stone Court Dayton, Ohio 45431 Sr 3/426-3579 DaalerlnquttlBt ImllBdl POWER TO YOUR AIM Treat Your AIM to a Quality Power Supply 1. Designed to Rockwell's specifications for the AIM 65 (5 volts at 2 amps, regulated; 24 volts, .5 amps avg., 2.5 amps peak, unregulated). 2. Overvoltage protection to protect the expensive circuits in your AIM (5 volt output). 3. Handsome all metal case (two-tone blue), 4. Fuse (externally accessibfe), switch, pilot ligfit, line cord, cable from power supply to AIM — all Included. 5. Conservative thermal design for long life. 6. Special on orders postmarked in August or September. $59.95 plus shipping (5 lbs.). {Regularly $64.95.) CA residerjts add 6% sales tax. VtSA/MC, cashier's or registered check. Personal check (allow 2 weeks 1o clear). CompuTech Box 20054 Riverside, CA 92516 U' GET FREE SOFTWARE FOR YOUR APPLE!!! HOW? Just order any of the items below, and for every $100 worth of merchandise order an item from the Bonus Software Section at NO COST! CO.D. & Personal Checks accepted for all orders. y.' HARDWARE BY APPLE APPLE II PLUS, 4811 1199 DISK DHIVE+CONTHOLLER (13) 535 DISK DRIVE only 445 Language Svnem w, Pascal 3B7 Silentvpe Priffter St Interfacfi 549 IntegET or Applesoft Firmware Catd 159 Graph ka Tabfet 645 ParallelPrinle'lfiierfaQeCSrd 149 Hi-Speed Serial Card 155 HARDWARE by Others HAVES MICROMODEM II 300 VIDEX VIOEOTERMBOW. GRAPHICS 320 MiCROSOFT Z80 SOFTCARD 269 MICROSOFT I6k RAMCARO 159 CORVUS lOMa HARD DISK CALL SSM AlO SERiALJPARALLEL AST 189 MICRO-SCI Disk a Coniroller 495 VIDEO MONITORS SOFTWARE by Others Leedei-Video-10017" BfiWw/Cable 139 PEACHTREE BUSINESS SOFTWARE CALL Leeden 17' Green */Cable 165 VISICALC 120 LredEi 13" COLOR MONITOR & cable 399 EZ WRITER PROF. SYSTEM 329 APPLE FORTRAN by MICROSOFT 159 APPLE BASIC COMPILER by MICROSOFT 315 SOFTWARE by APPLE APPLE COBOL by MICROSOFT MUSESUPER-TEXTII 599 139 lyPLE FORTRAN 159 PROG RAUM A APPLE PIE 119 APPLE PILOT 125 HARDWARE PRINTERS by Mountain Computer EPSON MX-80 SIS Clock/Calendar Card Z39 EPSON MX 70W, GRAPHICS 415 A/DSD/AlniEtface 319 CENTRONICS 737 737 Expansion Chassii 6K NECSPINWRITER 5510 RO 2795 ROMp Ins Card 135 V^STA V300 DAISY WHEEL 25CPS 1750 Mark Sense Card Reader 995 VISTA V300 0AIEY WHEEL 45CPS 2025 BONUS SOFTWARE HERE! LSI ut •miiaJnT you milh MESSAGE-MAKING SOFTWAPE. Ju«I Dtsc* If Qitk in The APPLE, snlv Iha lent, and cotaritil. dyiumlc n>0iiBge« ifipaBr at Ihe icreeni d' TV iqH cDnr>«c1*d (O Uia CDrnpurer. Uh Ihs urflware Id brnjadH^Bit matlBatt f^ TV •crasni In ichoali, haiuibil^ iBcTOrl*!, US'-* nlrtdOiAl, «Hhlblt tHjOf^^ tic Tn» foJIOWlna pri>o'tf ■> OW lATa«t r«l«*aa: SUPER MESSAI^E; €■»»> TMugat In fulL-paga "chuirk^'. Each ni*l»Q4 tHowt nattntanli □! mlKflil tv^mlr'"". tyoti\Itt mta calory In mliad uppai and lowsr laM. STyl** rinfft from ratfulai A^PLf characlBr^ up to dOubrv-t^TV, dOu b t*- wid| h char- •ciari wirn 4 n^aw, Dord 'ont sik calory mty IM uaad 'or nch dllfei^nr ii/pWyt*- Vflr1lc4l and horlraiLtal cflitUrlng are aval'B- tile, and Aprd-MTap It tUtdTiatlc, Ummii can chain pi^i IDfltHXT to Tiaka nulltpBga maiaaifiL Pa^i can ba a^incvd jmnually Dt aulDmallcaMy. MulT^paaa irmugti can b« ilOFad TO dllC W r*c«llH Intiamlv. REQUrPES ^K & ROM APPLESOFT - - - ■ » Bft APPLE PLOTS VOUP DATA & KEEPS VOUH HECOUDSTOO APPLE DATA GRAPH 2,}^ Ploti up U ^ lupvlmpOHd curvvi on tiM Nk-rai Scraan both Iha K ft V ■««■ l^I mani)On«d. E«cti curva conilali a* up AO 170 p4*ca* of dftU. Oraphi an t« ttora*! U diK and iBcallVd I m rr^Dd l«n iy for uodallno- Up to 100 (fr«ihi can f* irOfOd on ^n« »iTi6 dlic Graar "or SlOCk-m«rha1 Charting, BnjtJrhMa VaxogamsriT, and Clafaroom Initructlonl REOUIRES 4H K 4 ROW APPLESOFT.. $ 4a APPLE RECORD MANAGER: AIIdivi compbata Ulaa 10 H brooghl tnia mamotv lo Ihal raoord laarchaa and ma nipu Fn hon > ■r* lifUniahaout ^acofdi wLthIn any Ml* can conuln up io 30 fIvUK wiTh u»ar-daflnad haadlnpi. In^D'ir^llon etn pa alfinff Cf numarlc Uiart can blOvvsa Thru fllH ualng paga-forward. pao*- backAird ar randDTn-Harch oomrnandi, fSacordi can aalliy b* ^chad, aFiaiBd or Ipriad at a]IL FlFai can ba BTDfH on iha vmadrtvVat Itie riLBiiar program, Oi On anoihtr. If a tmcornl drlwa davairabla, nacordi or f llaa can ba pdKHd, fl datlrad- AnHlTlpnal FYKHlulaT corntna Bfa a STATISTICS INTERFACE, CHECKBOOK, MAlLfNG LIST A DATA-ENTRY. REOUIHES *BK & ROM APPLESOFT-, ------.---... ( 3t - AM Soltwara »0«B on Qhl. Tor Af-I-LE DOS 3,2, Cflnnj arllbia IO 3.1 CONNECTICUT INFORMATION SYSTEMS CO. 218 Huntington Road, Bridgeport, CT 06608 (203) 579-0472 4^ MICRO - The 6502/6809 Journal No. 40 - Seplember 1981 % /MCftO Updates and Microbes Chailes Schwarz of Bethesda, Maiyland, sent this note: I was very annoyed to discover that the assembly language program by Steve Emmett on pages 38-39 of your fuly, 1981 issue |38) has been cut off. I very much enjoy reading about well- tested assembly language programs in your magazine, but errors such as this one make the reading very difficult. We regret QUI mistake. See Emmett' s listing below: OSDl 8D1008 STfi BUFHl 08D4 EE1208 INC EWE EHS TO WRITE EmiDBll Listing 0eD7 AD0EO8 LEfi CTRK oam 8O1708 SIA IBTEK 08EE ADOE08 LDfi CSCT 08E0 BD1808 HTA IBSECr 08E3 Mil 008 Lm BUFHl 0EtE6 SDicoa b'lA IBHUih 0BE9 AD120e ll». I*JS 08EC 8DlF0a STfi IBOO 08EF 60 Rm FTs 08F0 OBFO MOl EBT Lm #501 BESET TBWPORRRI 08F2 SCOFOe STA a;io STORW3E AHD OBFS 8D1108 STfi KTFK lOB TO OepS 8D1208 STfi EVJS INITIfiL oera SDiFoa STA lEOff! CCMDITICNS 08FE ft903 LEft #503 0900 8EOD08 SIS CTKK 09O3 BD1708 STA IBTEK 09O6 ADCCOG LDA BUISB 0909 SD1008 STA BUFHl □90C 8D1C08 STA IBajITf 090F fi900 LDA #S0O 0911 8D0E08 STA cscr 0914 801808 STA IBSECT 0917 603008 STfi IGSTTVT 091fl A90F LDA #50F Si:r BSD EtA3 091C BD280B SIR FLAG 091 F 60 RFS BSD [obn Martin of Cleveland CIP by Heights. Ohio, called to tell us of an (38:68j. omission we made from hsting 1 of follows: Monobyte Checksum Dumper for Petei Bioeis The rest of in MICRO the hsting B roars Listing lEDF 20E71E MxajT JSR HEXCOT rSUBROrriNE TO HIMP fi BYTE AS 1EE2 A90D Uft SSOD .■2 HEX DIGITS + CR, I.E. 1EE4 4CB1FC JHP EfiVHOT ."MTHTTnn tnanoRr.F mnMBT" 1EE7 ■ 1EE7 48 HExa/r PHft jSUBROJTINE TO PKItrr {PUD SAVE) BOTE 1EE8 4fi LEE ;AS TWD HEX D-IGITS 1EE9 4A LSR ]EEfi 4A 1£R lEEB 4A LSR lEBC 20F01E JSR DIGCUT lEEF 68 Ptfi lEFO lEFO 290F DIGOUT AND #SOF lEUBRCWriNE TO FRIWr (AND SAVE) 1EF2 0930 ORA #S30 rfl HEX DIGIT 1EF4 C93A CMP #S3A 1EF6 9002 BCC *+4 1EE8 6906 fiDC #506 lEFA 4CEEFF JHP BiTCUr Wazten Ward of Alberta. Canada, senLanother update to the Supeiboaid article. For CIP and Superboaid owners who want to use Edward H. Carlson's mini-assembler (MICRO, March 1981], here are a few line changes that suit his program to the smaller screen format: 1 FOR X = to 25:PRINT:NEXT X:GOTO 1990 20 FOR Z ^ 2 TO LEN(C$) : POKE N-l-Z, ASC(M[D$(C$,Z,1)): NEXT; RETURN 99 0$ = ■■No":N = Q + 1 iGOSUB 20: 100 PRINT:PR!NT AD;:INPUT CS: PRINT" >-±S = LEFT$(C$.3): L^LEN(C$) 106 IF L$^"ASC"THEN M = ASC (C$):Z^ 1:G0SUB 2: GOTO 100 1995 = 54084 4050 N = N + M'LL^ L/16:NE>a:C$ = STR$(N):N^Q:GOSUB20: GOTO 100 Line 1 is cosmetic — it scrolls the screen for a clean start. Line 1995 relocates assembler comments into the CIP video memory, and changes the other lines to reposition the comments so they'll all fit on the screen. It's impossible to squeeze a full comment sequence legibly into the same 24-character line as the command input, so the third PRINT statement in 100 starts a new line, preceded by a "greater- than" sign, beneath the ad- dress line. The first PRINT in 100 puts a space between each pair of lines for greater readability: to fit more informa- tion on the screen, leave it out. The display resulting from these changes is almost as easy to read as the original. Users will still have to keep a notebook handy, though, if they want to save the assembler's translation before it disappears off the top of the screen. No. 40 -September 1981 MICRO - The 6502/6809 Journal 93 Cliff Harris of Anaheim, Cahfomia, wrote about bis update: I was intiigued by Edward Carlson's 6502 Assemblei in BASIC in the March, 1981 issue of MICRO. I thought if he could adopt the program from PET BASIC to OSI, then I could transform it into something my Apple could under- stand. See listing 1. Listing 1 1 HOME: GOTO 1990 99 C$ = "NO": N=Q-I-18:GOSUB20 100 PRINT AD;: INPUT 0$: L$ = LEFT$ {C$,3}: L = LEN{C$): Q = Q + 128: IF Q > 2000 THEN Q = Q - 984: IF PEEK (37) > 20 THEN Q ^ 1888 106 IF L$ ^ "ASC" then M ^ ASC (C$): Z ^ 18: GOSUB 2: GOTO 100 221 II = OP + 8 *(CA ^ 1) 340 N = N - AD - 2: IF N < -128 0RN> 127 THEN PRINT ■'CAN'T BRANCH "; N; " -TOO FAR":Q = Q + 128 1992 DEF FN H{D) = D + 48 - 57 * (D> 9) 1995 Q = 912 2029 Delete this line 2030 AD = 768: GOTO 100 4050 N = N + M*L:L = U16: NEXT: C$ ^ STR$ (N): N ^ Q + 18: GOSUB 20: GOTO 100 Line 1 cleans up all the garbage on the screen and sets up the screen for- mat. This is necessary since the hex ad- dresses and commands are POKEd directly into the screen memory. Lines 99, 106, and 4050 move the output from the assembler to result in a format that will fit on the Apple screen. In line 100, the changes are required because of the way the screen locations are arranged in the Apple, Adding 128 to a screen location moves it down one line, unless you're on the 8th or i6th line. Then you must subtract 984 to move down one line. The Q = 1888 sets the screen into a scrolling mode once you reach the bottom of the screen. Line 221 required a change in sign, The minus was changed to a plus. In line 34 I added "-TOO FAR" here to make the message more meaningful. The Q = Q -H 128 moves the line posi- tion down one so that your next pro- gram line won't be printed in the mid- dle of the "CAN'T BRANCH..." message. In line 1992 I changed the 7 to 57 to get this line to work with the Apple. A side effect of this is that the hex por- tions of the program will be printed in the inverse mode. If you want to take the time to massage this function, you can get a display in the normal mode, or even flashing, if you're so inclined. I left it this way to minimize the number of changes in the program. In line 1995 the number sets up the screen location where the output from the assembler will be printed on the screen. When 128 is added by line 100, you will be on the top line of the screen 16 spaces from the left (912 + 128 = 1040, which equals 1024 + 16). Lme 2029 can be deleted, as it seems to be left over from a decimal-to- hex conversion routine which is no longer part of the program. In line 2030, AD = 768 sets the starting address of your program to $0300. You have only 255 bytes available before you run into the screen memory at $0400. If your programs are going to be longer than 255 bytes, change AD to 8192 i$2000], or whatever address suits your needs, to get into an area of memory with no conflicts. If you want to add a "user's manual" to the top three lines of the screen, change line 1995, and add lines 1996 through 1999 (listing 2|, Listing 2 Change the following lines to add a, "menu:" / 1995 Q = 1296: POKE 34,0: HOME 1996 INVERSE: PRINT "ADD";: NORMAL: PRINT "NEW ADDRESS";: INVERSE: PRINT "CON";: NORMAL: PRINT "STORE CONSTANT' 1997 INVERSE: PRINT "DIS";: NORMAL: PRINT "DISPLAY MEMORY";: INVERSE: PRINT "ASC";: NORMAL: PRINT "ASCII EQUIVALENT" 1998 INVERSE: PRINT "HEX";: NORMAL: PRINT "CONVERT FOUR DIGIT HEX TO DECIMAL" 1999 POKE 34,3 The POKES set the text window so that you can clear the screen (line 1995) and so that you won't lose your mnemonics when you get to the bot- tom of the screen (lme 1999). EiicR. Bean of South Bend, Indiana, pointed out this omission: My letter to the editor in July, 1981 on page 19, mentioned a figine 1, which was not printed. Here is another copy of the clock oscillator fix for the early KIM-1 uP board (see figure 1]. ii a 10 PF (ADD) U16 ute 13 I,. 12 11 ^^ 10 H>o I + 5 (ADD) ^ 'J^ 330K Y (ADD) I D2 (ADD) ~JS2 (ADD)>4 I \UFT XTAL FROM BOARD {ONE LEAD) gf^ figure 1: Conversion □( early KIM-1 XTAL oscillator to later production circuit to Insure sell starting. 94 MICRO - The 6502/6809 Journal No, 40 - September 1 981 :: ^ >lpplell seRsatioRal software GPeafetve GOIRpatlR(g software Space GameS'l Casselle CS-dOOl 111.95 * orograms Reauires 16K Apple II or Apole U Plus Saucer Invaaion. Fire missies lo destroy RodterPilor.ManeLivervojraEaceshiDOver Ihe invaders i^ho lly a1 different speeds Ihe mountain using horizontal and vetfical and amtudes ihrusiers Star Wars. Shoot down as many TIE lighlers Dynamk: Bouncer. A colorful *iver-changfr»9 as possible in 90 seconds graphics demonslralior Strategy Games Gasselle CS'4D03 SI i 95 4 Programs Requires iBKADPle II or Aople II Plus Kodtada. Build a wall to trap your appoEtenC UFO. Use lasers, wartieads or guns todes- bul doni rtil anylhing Iroy an enemy ^>3cecratf -SiES tfe?i¥«* ""■'" "■ '■ '"■ ' ElhCINVrTI tH-i SItuiTk. A ^-player siralegy game pfaved Genius. A lasl-movlng Irivia quiz wilfi Kores with dice, S^ill and luck. ol questions Sports Games- 1 Cdiiprii.' CS-(O0^ SI 1 9S i progrdms HeQuirL't 16K Acole II ur Apole II Plus Brain Games Cas^ello CS-400.; sn 95 ■' prDyrams Requirp^ ►bK Appli? II or Appio II Plus ^^^ 1 2 3 C 4 B D n ^^" Baseball: A 2-aisyer game wilh mlching Breakoul. Four skill levels and improved bafling rielding slealng ana double scoring make (his Ihe best breaKoul eve-r 0lay5 Dodgsm.BethefifstlomoveallyourcieceE Nuclear ReagtiDn A lyame ol skill last across (be boa'd in ihis inlnguing sirategy decisions and qinOi rpus^rMl^at oosilinn game ^^^_^^^^.^^_^^_^^ ^^^^^^^^^^^^^^^^^ rt''-"U»r™-r''_. f R T V ) F G H U B H IH^^^^^^ (^ -..^Ik Torpetfo Alley. Sink as many warships as tJarts. Use game paodles lo cortroi tne possible in 2 minuCes Ihrow ol s darrs Pairol. A Simon-Type game wilh letters ano Midpoints anO Linos. T'^o colorful graphics tones Dueling digits is a version wilh num- Oemonsl rations Tones lets you make music bers and sou no etlects Space & Sports Games Strategy & Brain Games Order Today DiskCS-4S0i S34 95 Requires 32K Apple II or Apple II Plus DiskCS-450J S24 95 Requires 33KADDle II or Aocie II Plus This disk coriains ail eight games Irom Thisdisk contains all 12gamesand programs cassettes CS-4001 and CS-4002 from casseiles CS-J003 and CS-400J ih ajp r Cnm[K,ir- i To order any 0' these sol Iwa re packages send oayfnent plus SJ 00 postage and handling per order to Grealiye Compuling. Morris Plains. NJ 079 5 tj Attn' Clarice Visa MasterCard and American Express orders niay be called in toll-free Order loOay al no risk IF you are no! complerely ^lisfied your money All I ^e promptly and couneously refunded Crealiue Compuling Software fjl orris Plains I^J 07950 Toll-free aOO-631 -81 12 in t^J. ?D1-640-0445 creative compufclRg soFfewape No. 40 - September 1981 MICRO - The 6502^809 Journal ^ PET a APPLE II USERS Tiny Pascal graphics The T1NV Pascal Syalem lums your APPLE M micro into a 16-bM P-machirlfl. Ydu loo can leam ih« tanguage EhBi Isslaisd 10 becomoiha aucceaaor la BASIC. TINY Pascal ollarg tho loLIOAjng' ' LINE EDITOR to ci«a1«. modify and maln»fi> tourc* ' COMPILER lo produc* P-CDdt, 1h« HHrnblv langAuagt ol Ih* P-fludlbl* ■ INTEHPDETEH In aiKula thi compMid PcdBb (ha> TRACE) * SInicturad ptegranimad conalnicli: CASEOFELSE. WHILEDO, tFTHEN- ELSE. HEPEAT-UNTIL, FOHTO/DOWNTODO. BEOIM£ND, MEM, CONST, VAR AflflAY Our new TINY Pascal PLUS* providea graphica and olliar buihm luricElanB: GflAPHICS, PLOT, POINT, TEXT, INKEY, ABS AND SOH. Tna PET version sup- port? double density plolUng on AO column screen giving &tx50 plol oositlons- The APPLE II veralort supports LORES and lor ROM APPLESOFT owners (Me HiflES graphics plus oinar Isaluras wnlt COLOR, HGRAPHICS, MCOLOR, HPLOT, PDL and TONE For Ihosa nrho do nol reouLre graphics capaOiliMes, you may aim Older our original Tiny Pascal pachage. rNYPaiulPLUSt GRAPHICS VEflSION- PET aSK NEW Boms oasselle «SS PET 32K NEW Roms disfcstis »50 APPLE li3S«/4aK»JOOS3.S or 3.3. t50 TINY Pascal NON-QRAPHICS VERSIONS- Pfl iaK/32K NEW Romscassella «0 PET leWaiK NEW Boms diafcalla M5 APPLE II wIROM Appiasoll 32K w/DOS MS APPLE II w'RAK ApplsSOll 49K WlOOS tX USER'S Manual (ralundabia whli aolEware ordar) ^10 35a2AesemB>rUEtlngonNTERPRETER,grapnics t^S a50!*S9ambiy Lisling ol INTERPRETER non graphics. .(20 FREE pailai^ » US «n4 CAhADH Qt9ftlf*f H cnpiia □' fty QlKnH' t^ (■pimuti 4M1aJ Mldilgm rHKtonli ■nclW* 1^ tlol nplH] na rkit SOURCE CLQtU naMtfr Lharye iBHimm i ABACUS SOFTWARE P.O. Box 7211 Grand Rapids, Michigan 49510 (616)241-5510 THE ultimate in SPEED and language POWER for the APPLE H : ' THE INTEGER BASIC COMPILER SPEED inPROVEMENT BY A fACTOP OF 10 TO 2D OVER Apple's BASIC inteopbeter - 15 to 30 over Applesoft! No language card necessapy ! Optimize code fop your speed/space HEoumtHENTS, Object code and run-tire system ape completely relocatable - USE MEMOPY the mv YOU MiNT TO ! Many powerful BASIC language extensions: - Full strins length of 32767 - no 255 limit ! - CHRt, GET AND KEV functions. - Direct Hl-RES ehaphics support, - HOflE, INVERT, NORMAL, FLASH, and more I Many applications - existing integer PR0GRAW5 CAN BE EASILV CONVERTED TO RUN ON ANY APPLE II ! Compiler reouires: Apple II (or II plus hiih integer or language card), us k and dos 3,3, Supplied on 2 disks with complete documentation, Ppice; % 149,50 Dealer Inquiries invited (Cilif. iild t.51 5ilei la". Foreign iild J5.00 sir ih(1) GALFO SYSTEMS 6252 Cahino Verde San Jose, CA 95119 • *&ple» Applesoft - Trademarks o* AppU Cflapulfr U>. ^rendipity Hath Tools br your ^^pple n " INTER-STAT'" offers you a full range of inicractive Malislical analysis lechniques. from averages and medians lo binomial and poisson ijistribuiions, corrclalion coefficients and one- and iwo-way analysis of variance. SI69. ADVANCED MATH ROUTINES is Ihc maihemalical looi kil (or common, yel complen numerical problems. Roulines include: linear regression, mairix operalions, numerical calculus, differential equalions and dala scl recall for ilerafive calculalions. SIM. Thoroughly lested, well documenled and easy lo master, each package includes a 30+ page self-leaching manual. Serendipily's complete line of software solutions for business, education and professional applications are available al your local Compulerland or Apple dealer. For a free hrochure. or lo order direct contact Serendipity Systems, 225 Hlmira Road. Iihaca. NV 14850. Phone 607-277-4889. Visa and MC accepted. '"Apple Computer SERENDIPITY SYSTEMS 6800/6809 SOFTWARE CATALOG PHOGSAV liNCUACC 08«CI lv/SOUJ?CE ON DIS< X FOflW 4W9/MM ■■'JFJ9 95 t>a farr^OI Tie iJASIC J)-9»5 DalaianiJ rscrsASiC J? 95 ■Bill Payt' 7SC XBASIC ' Si>9i rSC XBASIC 19 1i rSC XBA^tC 49 9i Alt Ihrml ISC laaiiC F 69.95 &a>.l PtfiQ Too'ii' flaw AS^^a >J9¥i 69.91 r^iiwo'd P'tflttl-e" rteo9 A^j^5 65.0S 80 9! EiPrnded mMivi iflOff ASMS J«.M 49. M Job ConfrnJ Prtig. 6B00//i9O^ ASMB 49.?i 89 95 Eirhrj 6800.660^ ASWfl 39 f 5 59.95 ftnfd'wt' 650016609 ASA^A iJ9S 7*.95 Hflp I1SM/480B Aiwe 15 5S Jfl.flj Dvnfijall PoKfl 6B09 59.95 - B9 9S Pier Swod TR^BO lapei T5C XflASiC 6eQ9 ASMB " 9> 54 95 S«p«r iJCLTFh 6eOO/i909 99 00 ZSO Svp^r StK^'h 6eoo;6B09 9900 Ooil AiicmbiBfi MACBOS (OS Tie iSD? ASHB EA. *9 95 68M1; 1 ifiOi. OiD! zso soeo;s i lo 99.95 Vaili'-S I'i' rsC IBAS(C,'4fl(W «M FoiTiL Diiplfrf TSC tfflAS^C/OfltfP J9.« Tabuto Pcia TSC XfiA^iC 100.00 ■■ SOUSCf AND IfEPRODllCllOn UCeN^IOJNtMt ONIY. " -totluiitJ B-BiTrhin6 bv' iJkfl [(,<■ U.S. A, add $2.50 for Standofd UPS Shipping & Handling Fo'B'gr^ ora ers add ]0% Sur face, 20% Aitmail. Specify 5" or fl" iiie d'sic ond '' fo' 6800 or 6609 iystem. OUR SOFTWARE '5 i^cmx COMPAmiE. -^^^ ^^^^ ^» -~.*^?y OS 9 VtRSiONS TO COME. ^^^^^ - u (frank HOGG LABORATORY, INC. 13D M1DIDWN PlAJi* - ^■'IIACU^, r^y u^iQ 1 96 MICRO - The 6502/6809 Journal No. 40 -September 1981 f AMOK) Hardware Catalog Mike Rowe 34 Chelmsford Street P.O. Box 6502 Cheimsiord, MA 01824 t t Name: Hayes Stack S martin ode m System: Machine independent— RS-232 compatible Hardware: Low Speed Modem Language: Program controlled in any language. Description; RS-232 compatible, 300 baud data communications system for small computers. Features program control in any language switch select- able options, full or half duplex and LED status indicators. Price: $279.00 (suggested retail] Available: Contact address below for nearest retail dealer. Hayes Microcomputer Products, inc. 5835 A Peachtree Comers East Norcross, GA 30092 (404] 449-8791 Name: Model 2100 Memory: Standard 2K buffer memory; 4K option Description: The Model 2100 is the European version of the Model 2101 having a built-in CCITT interface. Like the Model 2101 it also features: 5x9 dot matrix characters with true upper/ lower case and true underscore/ overscore; standard 80/132 selectability and bidirectional 120 cps printing. Price: $1385 Available; Computer Devices Inc. (early 4th Quarter; 60 days ARO| 25 North Avenue Burlington, MA 01803 (Call: 1-800-225-1380) Name: W7AAY 4K RAM Board System; Synertek SYM-1 Description: Double sided reflow solder plated printed circuit board mounts on SYM-1 over Synertek name and logo. Allows memory expansion up to 8K using 2114 RAMs. Full instmc- tions included. Price: $8.00 ea. plus SASE Available: John M. Blalock Blalock & Associates P-O- Box 39356 Phoenix, AZ 85069 Name: Atari I/O Package Description: The four ports on the front of the Atari computer connect directly to a PIA for use as output as well as input. Atari owners can build custom program controllers, interface to home control circuits, etc. The I/O package comes with 4 nine-pin connectors, 4 twelve-inch lengths of nine conductor ribbon cable, and documentation. The documentation includes examples of home-buik program controllers, how to access the ports through BASIC com- mands, shadow registers, or directly, and how to set-up and address the ports for output. Price: $18.00 order #H309 Available: Mosaic Electronics P,0, Box 748 Oregon City, OR 97045 Name: System: Memory: Language: Hardware: Available; Universal Analog Interface Card with A/D, Clock and Memory Expansion AIM-65, also applicable to PET, SYM, KIM and other 6502 and 6800 systems 4K to :6K BASIC or Assembly AlM-65 or PET, SYM, KIM and other 6502 and 6800 systems plus Columbus Instruments 1B-902-AB Card Columbus Instruments International Corporation 950 N, Hague Avenue Columbus, OH 43204 Name: Flexi Plus System: Stand Alone or Apple, AIM, SYM, KIM Memory: Up to 56K RAM, ROM and EPROM Description: Multi-function board in- cludes floppy disk controller for 8" and S'A" drives with IBM formats; IEEE- 488 bus controller; RS-232 communi- cations interface; 20 mA current loop interface; parallel and serial I/O ports; cassette interface; up to 56K bytes ROM, RAM and EPROM; and a 6809 microprocessor. May be used to expand existing 6502/6809 systems or as a complete singie-board microcomputer. Price: $695 with all options and 4K memory Available: The COMPUTERJST, hic. 34 Chelmsford St. Chelmsford, MA 01824 (617| 256-3649 Name: Covos Model 1 Voice Controller Language: Human Voice Input Description: Tolerant of noise and distortion, a revolutionary self- contained speech recognition processor accurately identifies voicing existence, voice fundamental pitch, voicing dura- tion, and vowel type in the manner of a human listener. In the stand-alone mode, this device will recognize 16 separate commands. When interfaced to a processor, such as a 6502, the system becomes highly flexible and can he adapted for continuous speech recognition, speech bandwidth com- pression, speech synthesis, and aids for the handicapped. Price: $389.00 Available: Covox Company P.O. Box 2342 Santa Maria, CA 93455 (805] 937-9545 or 928-4818 Name: UDS-100 Series Memory I/O expansion boards for AIM 65 Description: Two independent, baud rate selectable, asynchronous, RS-232-C channels and 20 independently program- mable parallel I/O lines. Memory in- cludes 4K bytes of IB-pin NMOS/ CMOS RAM and 6 24-pin sockets accepting 1, 2, 4, or 8K x 8 RAM, ROM, PROM or EPROM devices. Full on-board bus signal buffering is included. Memory IC's and battery backup optional Price: $259.00 basic assembly; $296.00 with battery back-up Available: Unique Data Systems, Inc. 15041 Moran Street Westminster, CA 92683 (714) 895-3455 No, 40 - September 1931 MICRO - The 6502/6809 Journal 97 Name: Microlab Memory; 2K bytes of user RAM Language: Assembly Description: Complete educational pack- age that includes hardware, software, and course materials for introducing microcomputers and performing labor- atory experiments. Analog- to-digital coaversioa, interface for oscilloscope graphics, eight applications programs. Games, countei/timer, function generator, transient recorder, cooling curve and other applications Price: $650 - $850 Available: Cambridge Development Laboratory 36 Pleasant Street Watertown, MA 02172 (617) 926-0869 Name: Microcomputei Control System (MCS) System: Rockwell International AIM 65 Description: The MCS is based upon the AIM 65 and is a complete micro- computer control system. It features three additional interface boards and firmware for real-time recording and controlling of external devices such as switches, solenoids, lights and alarms. Each MCS contains 16 input and 16 output channels that are rated at 28 VDC |at 3 Amps| and are completely optically isolated and noise suppressed. Efficient recording and controlling of external devices is accomplished using BASIC and intemipt-driven firmware package. This firmware adds 36 real- time commands to BASIC and allows "foiegtound" and "background" pro- gramming. While the MCS was specifically designed for the behavioral research psychologist it can also be used in other applications such as industrial control, alarm and en- vironmental systems. Available: Micro Interfaces, Inc. P.O. Box 14520 Minneapolis, MN 55414 Name: CHIEFTAIN™ 98W10 Memory: 32K RAM (expandable] Language: BASIC 09; Random File BASIC; Pascal Compiler; Cobol Description: Smoke Signal, manufac- turers of computer systems based on the 6800/6809 processors, has in- troduced the latest addition to the CHIEFTAIN™ Series of computer systems. Designated the CHIEF- TADST" 98W10, this newest addition to the higher end of Smoke Signal Broadcasting's business computer line houses a 10 megabyte 8- inch Win- chester Disk Drive, The new system is configured around the state-of-the art 6809 microprocessor allowing pro- grams to run at twice the speed of any other similar system. The wide range of programs available for the CHIEF- TAN™ 98W10 include OS-9 Level I and Level 11 multi-user, multi-tasking operating system. A standard CHIEF- TAINTM 98W10 incorporates 32K of RAM — expandable up to 1 megabyte for specific requirements such as OS-9 Level n. The CHIEFTAIN^" 98WIO supports an 8- inch floppy disk drive for 1 megabyte of back-up storage. A 20 megabyte tape streamer option is also available. Dealer inquiries invited, dis- counts available. Price: $8695.00 base Available: Smoke Signal Broadcasting 31336 Via Colinas Westlake Village, CA 91362 Name: Terrapin-Apple Smart Interface Description; Terrapin, Inc. announces a smart Terrapin- Apple Interface for its robot, the Turtle. Now any Apple owner can be one of the first persons to own a robot. The interface enables the user to conveniently control the Turtle from a high level language (BASIC, Pascal, Logo, etc.) via simple I/O statements. The interface includes a parallel port with software in ROM and a power supply. Price: $199-95 Available: Terrapin, Inc. 678 Massachusetts Ave. Cambridge, MA 02139 iW The Haidwaie Catalog announcements are run fiee of charge, but are limited to onJy one per company, each month. If you have hardware you'd hke to announce to MJCRO's leaders, send for an apphcation form. Hardware Catalog 34 Chelmsford Street P.O. Box 6502 Chelmsford, MA 01824 JUCftO 1^1 DEPT.E-9 P.O. BOX 301 60 EUGENE, OR 97403 (503) 345-3043/NOON-7 PM 3> SUPER DRAW S WRITE Fonts, drawing, and useful utilrliea. 19.95 SUPER SHAPE DRAW & ANIMATE Die best system yet, 11 works. . create and/or animate shape tables like a dream. 39-96 THE CREATIVITY TOOL BOX Draw, write poetry, music. Includes Action Sounds. Hi-Res Scrolling, rou fines, shape tables and shape view program, utilities, animation demo, and fonts. 3 disktuis, 88 page manual. 44.95 BLOCK SHAPES FOR APPLESOFT OR ASSEMBLY There is no package available today that gives com- puter customers what thay want in the area of graphics. The crying need here, according to our customers, is for a learning pacl^age that quits ignoring the one sub- ject that everyone seems to be trying to keep a deep assembly fi machine language graphics I APPLESOFT OH ASSEMBLY package is chock full of programs to create and animate all types of shapes, such as vector shapes, block-shapes, HPLOT-shapes, text file shapes, data ar- ray shapes, etc. Included in BLOCK SHAPES FOB AP- PLESOFT OR ASSEMBLY are shape examining, shape editing, shape drawing, music tone routines, vioiin sounds, noise creation, assembly language sounds, SUPERFONT and font using, and a Y TABLE for either page of hi-res that allows extra speed in machine language programs since you avoid the HPOSN subroutine. Plus colorful roubnes. You may never need lo buy another graphics package again. ..because you'll finally have a handle on what ifs ail aboullH! BLOCK SHAPES FOR APPLESOFT OR ASSEMBLY available this fall (1981). 4 disks with over 200 pages of documentation. TantatiKe price: 12S-00 Apple II 48K ApplSBOft ROM* ' Apple IS B Iradflmarh a1 ApFVe Ccrmputer, Inc. ^^^^1 for a learning package that quits ignoring the one sub- documentation. Tentative price; 125-00 ^^^ ject that everyone seems to be trying to keep a deep ^ i^ „ ^^^ Appiosoft ROM* ■ dark secret, assembly fi machine language graphicsl -AppieisairMBmafHoi Apwecomcutef, mo. ■ ^_ The BLOCK SHAPES FOR_ APPLEjgFT_OR ^^^^^^^ ^GAftDE CftEATlOMS ^- MICRO - The 6502/6809 Journal No. 40 - September 1981 ' 1 Three minutes to find that "just right" property. Search through up to 3600 property listings with Real-Soft programs for Real Estate Agencies. JJSJ I?EhL EST^IE -H^jEhC; SOFTUARE ilij GOLDEN hCREftGE REhL ■ ■' SIZE OF HOUSE- STYLE CF HOUSE. REG I ON. ASKING PRICE- rtPEH OF HOUSE. GftRAGE CfiPROIT'i'- CONSTRUCTED IH ■ DUPLET SHflUGHHESSY 1393 SQUARE FEET SIHGLE CSR i9£0-- — —=---.-- *■ FULL EnSEMENT * EilTPA Ei^THROOMS .^f^aia^ TO PPINf iiiJ RESL Ei-TRTE AGEHCV SOFTiJftRE SM3 • C-OMPARE nCiftTiifluE TERHS PRINT.- SMORTISftTION ThBLE ESTIdfiTE LOHN ChPhOITV ChLi":ULHTE REPLrtCEtlENT COST EDIT^-COHF GURE SYSTEfl FORMhT Di^Tft DISKETTE END' SESSION PLEASE EHTER YOUR CHOICE EETUEEN 1 hND 3 No need to flip through endless pages of listings to find that "just right" property. Simply have your clienl specify the price range, number of bed- rooms, preferred geographical location, accept- able house styles and up to 12 additional listing features. REAL-SOFT programs will find the right properties quickly and impressively giving you more time to view the selected properties and close the sale! REAL-SOFT is an integrated set of computer pro- grams designed specifically for real estate agency use. All routines arc fully customizable to meet the requirements of virtually any agencies. Up to 10 different house styles, 12 different lislJng features and 16 different areas. Very easy to learn — in- cluded is a complete set of practice data to experi- ment with. Requires 48K Apple II, 2 disk drives and monitor. Printer is optional. If printer is used a printout of selected properties can be output in only a few minutes for your client to view and discuss in detail. Other useful routines in this powerful set of pro- grams include a Property Availability Report, full Mortgage Amortization Tables (American OR Canadian method), and a Mortgage Compari- son Analysis Report. Then use still another part of REAL-SOFT to estimate the replace- ment cost of any listing (using local factors), or to estimate the mortgage amount that your client can qualify for! Available at your local Apple dealer. t Apple II is a trademark of Apple Int. REAL-SOFT Real estate software 1450 West Georgia Street, Vancouver, B.C. V6G 2T8 Telephone (604) 669-2262 BOI^-rWftRE iROFt OHIO BC: I EMT X F" I C VIDEO EDITOfl Videa Editor it 4 pa»*Wd aupIicaliDfi a1 source lar POSfC or OSI's fla sepib I er- / Ed . t or . Lhlihe versions »«-i tteri in BASIC, this iBiachi n^-cod* editor i« co-reskdent -»ith BASIC Cor the flsswpubler) , autolO'dmii inta trm highest three pa^es o' RAM upon CflQt. Video Edk tar Also provides single-tev^trDhB control o' mound, screen *or«At., COJC and hackgraufid color. Eight^incn or Hini di«V: tl4,^3, Spec.iy amount o* ftAfl. SDFT FPONT PAWEL Soft Front Panel is a softwJi-» single-stnoC"". s 1 o.*-«t eppeF' and dflOuQgDi — einulatar that perm ts e^sy d»v«lopeent a* 6502 ■achin* cad4- SfP is a t^ntastic i-o^lori Coavany Lv. Staticn la 3Z&04 Rat Rate DISK DRIVE OVERHAUL One Week Turnaround Typical Complete Service on Floppy Disk Drives. FLAT RATES 8" Double Sided Drive S] 70.00* 8" Single Sided Drive SiSO.OO* 5'A" M-P.l. Drive SioO.oO* 'Broken. Beat or Damaged Parts Extra. You'll Be Notified of 1. The date we received your drive. 2. Ajiy delays and approximate lime of completion. 3. Date Drive was shipped from our plant 4. Repairs performed on your Drive. 5. Parts used (" and description). 6. Any heipful hints for more reliable performance. 90 Day Warranty. Ship Your Drive Today. Write or call for further details, PHONE (417) 485-2501 FESSENDEN COMPUTER SERVICE 1 16 Pi. 3RD STREET OZARK, HO 65721 pet a apple ii users Tiny Pascal GRAPHICS The TINY Pascal S/tlem lums yojr APPLE II micro inlo a tti-^ll P^fnachlns. You iDOcan iMmlhHlanDUBgelEiBMsalaledToOocoFnelF^asuccoa&Of 10 BASIC. TINY PaacBl allflrs IhB 'Dllowing' * LINE EDrrOR Id cr>al«, nwdlly and milntiln aoum - COMPILER Id p>k>ik;> Pcodi, tha UHnibty lanB*u« <>< tlH P-michllM * INTERPRETER 111 «>Kula in> compllMJ P4«l* TRACE) * Sliuclund progrsnimM conilnicli: CASEOP-ELSE, WHILE-DO, IPTHEN- ELSE. nEPEAT.UNTIL, FOHTOflMJWNTO-DO. BEOINEND. KEH. COHSr. VAR ARRAY OuE new TINY Paacal PLUS* pmvldsa gfaphlca and othar buiUIn functlona: GRAPHICS. PLOT. POINT, TEXT, INKEY, ABS AND SOB TtlS PET vefsion SUp- porls doubia cJenelTy ololMng on AO column screen giving SO a 50 plol pcsiElons. The APPLE It version supporTe LORES and lor ROM APPLESOFT owners Ihe HIRES graphics plus otner lealuras with' COLOR. HOnAPHICS, HCOLOR. HPLOT. PDL and TONE For ihosa who do not require Qi^nlca capaoilltlea. you rney still order our original Tiny Pascal package Tt b* »nit>ld glCr WHGIfO IHieJiitH Utfl EHUBdvUTKE&aiRCE COaiJ ll?»IT»I!I!ll ABACUS SOFTWARE P.O. Box 7211 Grand Rapids, Michigan 49510 (616)241-5510 Uecision OyBtems Daciaion Syttams P.O. Boa 1300e DsntDn, TX 7GZ03 SOFTWARE FOR THE APPLE II* ISAM-OS is an integrated sel ot Applesoll routines inal gives indo 'fid file caoabilities lo your BASIC programs Retrieve by key. na.lial key or 5cauenliallv Space Iroti OelerM records is aLjlomatically reused Capabilities and perlormance thai malch products costing twice as mucti. SSO Disk. Applesoft PBASIC-DS IS a sophislitaled prepiocessor tor structured BASIC. Use aduanced logic constructs such as IP ELSE . CASE. SELECT, and many more Deuelop programs tor Imeger or Applpioti Enjoy the power of siruclured logic at a Iractior. of the cost of PASCAL S3S. Disk. Applesoft 14SH. ROM or Language Carol OSA-OS IS ti d IS. assembler lor S502 uolle Now you cao easily disassemble any machme language program lor Ihe Apiile and use tlie dis assembled code directly as input to your assembler Ois- assembles insrructiona and data. Produces code com- patible wiih Ihe S-C Assemliler Iversiuii 4 01. Appte's Toolkit assembler and olher-ii ^35 Disk, Applesoft I32K. ROM or Language CardI FORM-DS IS a complete system lor the definition ot input anO ouiflut Irom? FORM- OS supplies tlie automatic checking ol numencinput.rpr acceplatjle ranged values automatic loi matting of numeric output, and many more features $25 Disk, ApDle50ltl32K ROM or Language Cerdl UTIL-DS IS a sel of routines for use wilh Applesoll 10 formal numeric oulpui- selec- iivfly clear variables lApBlesolfs CLEAR gets evi]iy!h.ngl. improve error handhnB, and ir.teiface rrrachine language with Applesott programs Includes a special load routine lor placing macliine language routines underneath Applesoft programs- S25 Disk. Applesoft SPEED-DS IS a routine to modify tlie staiemeni linkage in an Applesoll prffyram lo speed lis B«ecution Improyements ol 5 2D% are common As a bonu^. SPEED-DS includes machine language routines to speed string handLr garbage clean up Auttior Lee Meador 515 D.sk, Applesoll (32K. ROM or Language CardJ- i anil reduce Ihe need for (Add M-in lor Foreign Mai II 'Apple II IS a registered trademark of the Apple Computer C^. 100 MICRO - The 6502/6809 Journal No. 40 - September 1981 } J MCQO Software Catalog Wike Rows 34 Chelmsford Street P.O. Box 6502 Chelmsford, MA 01824 • t Name: Enhanced Giaphic Software foi the Epson MX-SO and MX-lOO System; Apple II or Apple 11 + Memory: 48K Language; 6502 Assembly Hardware: Disk drive, Epson MX-80 or MX-lOO printer Description: Graphic dump which allows the user to get hard copy graphics of anything that can be loaded on the high-resolution pages of the Apple with one- key stroke commands. Easy to use, versatile, well supported as are all graphic dumps from Computer Station. |The Epson MX-80/MS-100 now added to our line.] Price; $44.95 includes software, documentation, practice pictures /plots Author: David K, Hudson Available: Computer Station 11610 Page Service Dr. St. Louis, MO 63141 (314) 432-7019 Name: Number Cruncher Disk System: OSI Challenger |C2 and C3 series) Memory; 48K Language; BASIC under OS 65D Hardware: Disk drive, CRT, optional printer Description: A statistical analysis package, including a data base manage- ment system with facilities for conven- ient handling of data series. Contains commands for producing descriptive statistics, plus exploratory data analysis graphics and regression. Price; $195.00 for 8" disk and documentation postpaid. $20.00 for manual only. Free flier available on request. Author: Mike Anderson Available: Responsive Computer Technology, Inc. P.O. Box 719 Silver Spring, Maryland 20901 Name: The Esecutive Secretary^" System; Apple H Memory: 48 K Language: Applesoft in ROM or Language System Hardware: Apple □, one or two disk drives, lower case adapter or 80- column video hoard, shift key modification, printer Description: This is the ultimate word processor for the Apple n computer. Works with 40- or 80-column screens interchangeably, shows lower case, has real shift key. Other features: works at professional typing speeds; versatile page numbering and header printing on each page; file merge and unmerge; block operations — move, transfer, and delete; automatic insertion of full phrases for user-defined abbreviation (unlimited number); automatic envelope address; built-in card file system; interfaces with Data Fac- tory"'''^, On-Line Database, Information Master, and Visicalc^" files; file chain- ing and nesting; "if" and relational commands to allow conditional print- ing of information based on the con- tents of a database; insertion of data directly from database files (in lower case, if desired]; permits keyboard in- put during print time; multi-level outline indentation; right and left justified tab stops; dynamic text refor- matting; immediate mode configura- tion for display screen, number of disk drives, and printer (including Cen- tronics 737 and IBM Selectric]; inter- faces with CCS clock board for time stamping of documents; embedded or external printer commands; character/ word/line insert /replace /delete; selec- tive or global search and replace; built- in interface to D.C. Hayes Micro- modem n"^"; menu-driven operation; easel-bound, indexed manual; lesson- type instructions. Price: $250.00 Available: Aurora Systems, Inc. 2040 E. Washington Ave. Madison, WI 53704 (608) 249-5875 Name: Business Plus System: Apple and Atari/800 Memory; 48K Language: Applesoft & Binary (Apple) BASIC & Binary (Atari) Hardware: Any 80-column printer Description: An all-in-one billing system. Handles invoices, statements, credit memos, purchase orders, payables, writes checks, account aging reports (30, 60, 90 and over 90 days), bar graphs of sales, income and ex- penses, mailing list with search, sales register and a whole lot more. Everything you need for daily business operations. Price; $299.00 |or $25,00 for demo - credited towards purchase) includes 2 disks and documentation Author: Advanced Data Systems Available: Advanced Data Systems 7468 Maple Avenue St, Louis, MO 63143 Name: Micro- Telegram System: Apple II or Apple II Plus Language; Integer BASIC or Applesoft Hardware: Apple II or Apple II Plus Description; Allows Apple owners to access Western Union Services worldwide, send and receive TWX''"'^, Telex"^'^ and international cables, and send mailgrams. Apple owners can also access continuously updated reports on news, stock, foreign exchange, gold, futures, sports reports and ski condi- tions through Infomaster® , the Western Union Data Base, Price: $250.00 - suggested retail, FOB Boston, includes mini-floppy diskette and documentation Author; Microcom, Inc. Available: Microcom, Inc. 89 State St. Boston, Massachusetts 02110 No. 40 - Seplember 1981 MICRO - The 6502/6809 Journal 101 Name; Super-Text D System: Apple 11 word processing program Memory: 48K Language: Assembly Hardware: Apple 11 or Apple n + Description: With Super-Text the basics of text editing are learned quick- ly, yet its advanced features will meet the user's expanding word processing requirements into the future. Add the Form Letter Module and Address Book Mailing List for the ultimate in profes- sional or persona! use word processing. Price: $150.00 includes documentation, an unlimited time replacement policy, and dual disk Author: Ed Zaron Available: MUSE Software 330 N. Charles Baltimore, MD 21201 [301) 659-7212 Name: Eureka''"'^ Learning System System: Apple C or Apple 11 + Memory: 32K Cassette, 48K Diskette Language: Applesoft with some machine language Hardware: Cassette or diskette |DOS 3.3) Description: An interactive, menu driven program that helps teachers create courseware. No programming is necessary. Any subject may be taught using symbols and line drawings (Hi- Res shapes). Courses are presented to students in three modes, with optional sound effects. May be used with any level of student, pre-school through adult. The material and its style is up to the teacher, not the computer. Price: $995.00 for software license Author: Eiconics, Inc. Available: Eiconics, Inc. 200 Cruz Alta Taos, New Mexico 87571 Name: Sentetice Diagramming System: Apple II Memory: 48K Language: Applesoft Hardware: Apple 11, Disk II (one or two drives) Description: Teaches sentence dia- gramming, parts of speech, and usage, for individual student sessions. It is also an excellent tool for teachers to use for instruction in one, two, or all of these areas. Students may use the teacher-formatted disk for individual practice at 3 levels of difficulty. Each level has 20 separate sentences. Op- tions include creating student record files, monitoring progress, reading records, omitting diagramming sec- tions, etc. This is the best grammar disk available today. Grades 6-12. Copies: Many Price: $19.95 includes disk, manual, demo sheet Available: Avant-Garde Creations P.O. Box 30161 MCC Eugene, OR 97403 Name: Extended SYM-BASIC System: SYM-1 Memory: 16K Language: 5V4K machine language program Hardware: Serial terminal and Synertek BASIC ROMs Description: Extended SYM-BASIC adds over 30 new commands /functions to standard SYM-BASIC. FeatLu:es in- clude: a unique input line editor; pagination of program listings; hex arithmetic and arguments; built-in printer control; auto line number prompting; realtime clock; powerful trace/debug command; trigonometric patch; ultra renumber; powerful ex- ecute command; range delete com- mand; and many others. List of com- mands follows: $, @HH, @MM, @SS, APPEND, AUTO, CA, CALL, CR, CHAIN, DEL, DR, EDIT, EXEC, GET, GOTO, IN = , LOADP, LOAD NUM, OUT = , PAGE, PRINTOFF, PRINT- ON, PRINTUSING, SAVE?, SAVEV, SAVEB, STIME, TRACE, VERIFY. Copies: 50 copies (Note: over 200 copies of 8K version sold.) Price: $85.00 U.S., $95.00 Canada, includes object on cassette and 90-pagc instmction manual complete with source listing Author: John W. Brown Available: Satum Software Limited 8146 lI6ASt. Delta, B.C., V4C 5Y9, Canada Name: A. 3. Frequency Analysis System: PET Memory: 8K Language: BASIC Hardware: PET/CBM Description: Using harmonic analysis techniques, a frequency scan is made of a time series, such as stock prices, which discloses frequencies of signifi- cant amplitudes. A harmonic analysis is then made at chosen frequencies. In- cluded is a logical file input and modifi- cation to update and delete old data. Price: $15.00 for cassette and documentation Author: Claud E. Cleeton Available: i22-109th Ave., S,E. Bellevue, WA 98004 Name: HSD Anova System: Apple II or Apple II Plus, DOS 3.2 Memory: 48K Language: Applesoft Hardware: Optional printer with serial or parallel interface Description: HSD Anova is a powerful, flexible analysis of variance program suitable for scientific research and business analyses. This single program analyzes balanced designs of from one to eight independent variables. It can handle designs composed of between- subjects and /or within-subjects fac- tors. Design specification and data entry are simple. Data entry is from keyboard or disk, with data editing. Output is an Anova table on CRT or printer. Price: $74.95 includes disk, complete documentation, binder. Author: Stephen Madigan, Ph.D. Virginia Lawrence, Ph.D. Available: Human Systems Dynamics 9249 Reseda Boulevard Suite 107C Northridge, California 91324 Name: FORTH-79 Standard System: Apple n, Apple II -t- Memory: 48K Language: Machine Language and FORTH-79 Hardware: 1-14 disk drives (13 or 16 sector- compatible) Description: FORTH-79 is a stmctured language suited for systems and appli- cations programming with advantages where execution speed is important (i.e., data acquisition, process control, animation, and video games) . Programs run faster than BASIC and are compact. The 32-bit integer arithmetic vocabu- lary is ideal for business applications and is also extensible. Package includes screen editor, macro- assembler and vocabularies for strings, double preci- sion integers and Lo-Res graphics. Price: $89.95 includes software and manual (including FORTH-79 and Fig- FORTH) Author: Martin Tracy and Philip Wasson Available: MicroMotion 12077 Wilshtre Blvd. #506 Los Angeles, CA 90025 (213) 821-4340 U y 102 MICRO - The 6502/6809 Journal No. 40 - September 1981 i m Name: S-FORTH System: OSI disk systems Memory: 20-96K Haitlware; No extra hardware required Description: S-FORTH is a full imple- mentation of fig-PORTH including editor, a virtual memory disk sub- system, and compatibility with OS65D- All OS65D commands are still usable. You can exit from S-FORTH to OS65D and then return to S-FORTH, It is over 10 times faster than BASIC and is as fast as Pascal. The FORTH com- piler uses less memory than Pascal and allows any user with at least 20K to have an excellent FORTH system. Price: $34.95 forSM" or 8" disk (disk and source listing together are $49.95) Author: Digital Systems Available: Aurora Software Associates, P.O. Box 99553 Cleveland, Ohio 44199 Dental Insurance Form Writer Apple U with firmware card or Apple II Plus 48K RAM Applesoft, DOS 3,2, 3.3 Disk drive, 80- column % Name: System: Memory: Language: Hardware: printer Description: You can prepare Universal American Dental Association Insur- ance Claim forms on your Apple. Each form can be prepared, saved to disk, reloaded, edited and printed as many times as you desire. Dental Insmance Form Writer allows rapid billing and claim submittal with a minimum of ef- fort. A master form can be created for each family/ patient and saved for later ■use. This master can be loaded, treat- ments entered, printed and sent as a pre- authorization or actual statement. Over 100 families per diskette. Price: $100 includes manual Author: J. McFarland Available; Andent Inc. 1000 North Ave- Waukegan, Illinois 60085 Name; Pulsar D System; Apple II or Apple II Plus Memory: 48K Language: Machine Hardware: One disk drive. 13 or 16 sector controller card Description: Two games — Pulsar II and Wormwall in a unique combina- tion. Each game has eight levels of play and score can be transferred between the two. The object of Pulsar n is to destroy the spinning shields around the Pulsar and destroy it. Wormwall places you in one of the strangest mazes ever created. The walls do not connect and openings occur only temporarily as col- lored lines cross. Little creatures chase you in each part of the maze. Price: $29.95 includes disk and documentation. Author: NASIR — Presented by Sirius Software, Inc. Available: Your local Apple dealer or software store. Name: The Dragon's Eye System; PET or Apple Memory: 32K (PETI and 48K (Apple) Language; PET BASIC, Applesoft BASIC Hardware: PET, Apple H Description: An overland fantasy game, where the player has 21 game days (approximately a half an hour playing ■ time), to find the Dragon's Eye, a magical jewel hidden by an evil magi- cian. The player chooses one of 16 characters, and gains a set of magical abilities. He also chooses among 13 commands. When he combats the vicious monsters, animated graphics display the action between player and beast. Price: $24,95 Author: Automated Simulations, Inc. Available: Automated Simulations, Inc. P.O. Box 4247 Mountain View, California 94040 Author; Available: Mark Tuimell Your local computer software store Name: Sneakers System: Apple II or Apple II -t- Memory; 48K Language; Machine Hardware: Disk Drive Description: Sneakers are little guys who appear to be friendly but will quickly stomp you out if you do not get them first. After the Sneakers come wave after wave of Cyclops, Saucers, Fangs, H-Wings, Meteors, Scrambles and Scrubs. The variety is incredible and the challenge unending. Sneakers is playable with keyboard or paddles. Price: $29.95 includes disk, documentation and a T-shirt transfer Name: System; Memory: Language: Hardware: Olympic Decathlon CP/MorTRS-80 48K for Apple II or II + ; 32K for disk drive TRS-80 Model 1; 16K for cassette TRS-80 Model 1 . Machine Apple Dor II + ; TRS-80 Model 1, disk or cassette Description: Enjoy the excitement and skill of Olympic competition with this game which takes you through all 10 events of the real Decathlon. Each event is presented with animated graphics that put you into the action. Eight and six players can compete respectively with the TRS-80 and Apple versions. Repeat feature lets you prac- tice any event as many times as you wish prior to beginning the actual com- petition. Yoiu" best times can be com- pared to actual recorded Olympic Decathlon times. Price; $29,95 includes instruction manual and 5W" disk (cassette for TRS-80 cassette veision| Author; Tim Smith Available: Microsoft Consumer Products 400-108thAve, NE Suite 200 Bellevue, WA 98004 Name: Cavern of the Dwarves System: SYM with BAS-! or KIM 8K BASIC at 2000 H Memory: 16K Language: BASIC Hardware: Terminal using standard serial I/O ports on SYM or KIM Description: An adventure game in which you wander a large cavern seek- ing treasure, fighting monsters, and trying to avoid getting killed by the many dwarves who inhabit the cavern. You communicate with the computer using one- and two-word commands. Price: $10,00 on cassette tape, ppd, in U.S. only Author: Lee Chape! Available; Lee Associates 2349 Wiggins Ave, Springfield, IL 62704 No, 40 -September 1981 MICRO - The 6502/6809 Journal 103 Hot pursuit through space and the vortices of time! PRESENTS. Siin« toffd The fallen Time Lord, who presumptuously calls himself The Master, Is at large. The elders of Waldrom have supplied you with the hyperspace-worthy vessel Tardus, and commissioned you to eliminate the evil "Master". Your resources Include clones who will fight for you, the formidable CRASER weapons of the Tardus, and magic weapons such as Fusion Grenades and Borelian Matrix Crystals. Traveling through hyperspace in search of the evil one, you will encounter Time Eaters, Neutron Storms, and other alien creatures and phenomena. Entering real space to search planets, you will encounter still other dangers. You will enter native settlements to buy food and supplies — or to fight for survival. And once you find The Master can you destroy him? Based on Dr. Who of PBS fame. Apple Integer Basic, Disl^, 48K . . . $29.95 . TS€:HPiTO6ID€ e SouTIl Si MlMorO. fJH 03055 (603)673.5140 TOLL FREE OUT.OF.STATE 1800-158 1790 % 104 MICRO - The 6502/6809 Journal No. 40 - September 1981 bask: TSE-HARDSIDE HAS IT ALL IN ONE! How many times have you wished that there was a single source for *■ your personal computer needs? Well look no further, TSE- HARDSIDE, located in pleasant New Hampshire, has virtually every conceivable item (or your micro. Whether you're shopping for your Apple, Pet, TRS-aO'" or Atari, TSE-HARDSIDE has it all. We stock hardware, software, books, magazines and specialty items for all of the popular machines. So the next time you're out shopping for your system don't be surprised, be satisfied. Remember the name TSE- HARDSIDE as your choice for quality, service and reliability. TSCiUPIRDSIDC 6 South SI UilPnra NH 030S^ (6031673-5144 TOLL FREE OUT.QF-ST ATE 1 ■800158.1790 \ i No. 40 - September 1981 MICRO - The 6502/6809 Journal 105 MICRO Dr. William R. Dial 438 Roslyn Avenue Akron, Ohio 44320 ^ 6502 Bibliography: Part XXXVI 1045. Interface Age 6, Issue 2 (February, 1981) Lane, Eric T., "Microcomputing— At the Speed of Light, ' ' pg. 75-76, 136. Graphics show what an obiect looks like at the speed of light, for the Apple. Stotts, Gary A., "Amortization Schedule," pg. 90-91. The Apple program to show you where your money goes when you are paying off a loan. Schlarb, Keith N., "Information Source for Home and School," pg. 94-95, 138-140, A random access file program lor the Apple, 1046. Apple Cookbook 1, Issues 5/6 (February, 1981) Maly, Frank, "Proper Program Design," pg. 1-2. A tutorial on writing proper programs with the Apple, Golding, Val J,, "Applesoft from Bottom to Top," pg, 3-6, A roadmap to Applesoft to help you understand programming, Reynolds, Lee, "EXEC Files on the Apple E," pg. 6-7. A short instructional article on the EXEC command. Rivers, |erry, "Sorting," pg. 7-10, A discussion, with examples, of the various types of sorting routines. Simpson, Rick, "Introduction to Assembly Language," pg, 10-13- A tutorial on assembly and machine language for the Apple, Tyro, A,, "Pascal: Beginners Notes," pg, 13-14, A Tab Demo program in Pascal, Anon,, "Apple Doodle," pg. !5, An assortment of short routines and procedures for the Apple, 1047. 73 Magazine No. 245 (February, 1981) Erdei, Steven G,, "Under Software Control," pg, 94-98, A repeater control system with minimal hardware, using aKIM-1, 1048. Byte 6, No. 2 (February, 1981) Zimmermann, Mark, "A Beginner's Guide to Spectral Analysis," pg, 68-90, An instructional article including listings for the PET, Woteki, Thomas H,, "A Pascal Library Unit for the Micromodem U," pg, 106-136, Programs for the Micromodem on an Apple/Pascal system, 1049. L.A.U.G.H.S. 3, No. 1 (January, 1981) Connelly, Pat, "A Disassembler for S-C Assembler," pg, 3-8. A disassembler which dissembles into source code for- mat is a definite asset to augment your S-C Assembler, for Apple, 1050. Southeastern Software Newsletter Issue 24 (February, 1981) George McClelland, "Software Reviews," pg, 1-6, A review of new games for the Apple, 1051. Dr. Dobb's Journal 6, No. 52, Issue 2 (February, 1981) Caulkins, Dave and Harris, David C, "PAN — One Activity of the PCNET Project," pg, 17, 37, Discussion and updates for PAN, a communication net implemented on the PET. Gordon, H,T,, "Byte-Count Routine," pg, 37. Modifications to CNTBYT and BYTNUM routines for 6502 micros, 1052. The Transactor 2, No. 12 (ca. February, 1981) Anon,, "Exclusive OR on Your PET," pg. 2. Add this useful function to the PET. Anon., "Bits and Pieces," pg. 2-5. Miscellaneous PET notes including discussion of logical operators; differences among BASIC 1.0, 2.0, and 4.0; screen loadingi NEC Spinwriter; Card Print Utihty, etc. Hooks, Dave, "Card Print Utility," pg. 6-7. Listing and cross references for the PET, Hoogstraat, J., "PET BASIC Label Support Interface," pg. 8-13- An interesting PET routine residing in the second cassette buffer allowing the use of labels in BASIC. For BASIC 2,0. Anon, "BASIC 4.0, DOS 2.0 and the Relative Record System," pg. 14-21. The new PET operating systems, discussion and tutorial with examples. Higginbottom, Paul, "BASIC 2.0 to BASIC 4.0 Conver- sions (40 Column)," pg. 22-31. .All about converting several types of PET BASIC pro- grams- With memory map, entry points, 6502 op codes, status variables, etc. Troup, Henry, "The PET NMI Vector," pg, 32-33. An instructional article on the non-maskable interrupt. Butterfield, Jim, "A Few Entry Points, 1,0/2.0/4-0 ROM," pg- 34-35. A useful tabulation for PET users. Troup, Henry, "Fun with WAIT Statements," pg. 36-37. All about PET Wait command. Anon., "8032 Control Characters," pg. 38-40. Discussion and tabular summary of control functions. 1053. T.A.R.T. 2, Issue 1 |February, 1981) Smith, Eric, "String Art," pg- 3-5- A graphics program for the Apple, Sander-Cederlof, Bob and Koerin, Sid, "Hi-Res Crest Design," pg. 6-8- A graphics program for the Apple, 106 MICRO - The 6502/6809 Jourrta! No, 40 -September 1981 i Shipley, Jim, "Revision 7 and 7a Motherboards," pg. 12-13. A description of the latest Apple motherboards and instructions for hardware modifications. 1054. MICRO No. 33 (February, 1981) Guest, Ronald A., "A Simple Securities Manager for the Apple," pg. 7-13. An Apple program to manage your stocks. Elm, Robert L. ,"Why WAIT?", pg. 15-16. Interesting applications of the WAIT function on the OSI and PET systems. Colsher, William L,, "An Atari Assembier," pg- 17-19- A simple one-pass assembler for the Atari. Cheng, Thomas, "Tuming USR|X| Routines into BASIC DATA Statements," pg, 21-22. A program for the OSI CIP to save machine language routines as BASIC DATA statements. Wells, George, "Improved Dual Tape Drive for SYM BASIC," pg. 23-28. Utility routines for SYM to enhance the use of two cassettes, including a tape duplication feature. Bongers, C, "In the Heart of Applesoft," pg, 31-47. A tutorial on how to work with Applesoft. KoUar, Larry, "One Dimensional Life on the AIM 65," pg, 50-52, A Life game taking advantage of the AIM's 20-character display. Tenny, Ralph, "Increase KIM-I Versatility at Low Cost," pg, 57-59. A hardware article for the KIM involving moving the primary address decoder off-board, making it possible to add other I/O devices. Strasma, fames, "PET String Flip," pg. 65-66. A solution to the problem of upper and lower case in- version using CBM 2022 and 2023 prmters with Old ROM PETs. Wright, Loren, "PET Vet," pg, 68. A modified routine to allow you to recover from a crash without losing memory; how to avoid accidental INPUT exit, etc. Ell, David A., "A CIP Sound Idea," pg. 71-72. A hardware addition creating a belltone for the CIP or Superb oard il. Sebra, Randy, "Does Anybody Really Know What Time It Is?",pg- 75-79. Hardware and software for using the OKI Semiconduc- tor MSM5832 CMOS clock chip on your 6502 system, with a BASIC listing for the SYM. 1055. Atari Computer Enthusiasts 2, Issue 2 (February, 19S]| Smith, Wynn, "More on BASIC." How to get more speed from your BASIC programs on the Atari. Crawford, Chris, "Missile- Graphics Demo." A BASIC listing for an Atari graphics routine. Anon., "POKE Text Into Graphics 8!", pg. 7. How to POKE alphanumeric graphics characters into the Atari graphics 8 mode. 1056. The Apple Peel 3, No. 2 (February, 1981) Jenkins, [erry, "Apple Program Conventions," pg. 6. A routine to add credits, etc. to program listings for Apple software donated to a club library. Brown, Thomas A., "Telephone Dialer," pg. 9-10. Hardware and software listing for an Apple telephone dialer. 1057. Creative Computing 7, No. 2 (Febniary, 1981) Piele, Donald T., "How to Solve It — With the Computer," pg. 82-92. A group of programs including Applesoft conversions. Chapel, Lee, "Monster Combat," pg. 106-116. A game written in BASIC for the KIM. Stith, John E., "Lower-Case Display for Apple Writer," pg. 124-129, (Continued on next page) EDIT 6502 r.M. LJK Pass Assembler, Disassembler, and Editor Single Load Program DOS 3.3.. 40/80 Columns, for Apple II or Apple 11 Plus* A MUST FOR THE MACHINE LANGUAGE PROGRAMMER. Edit 6502" is a two pass Assem- bler, Disassembler and text editor lor tlie Apple computer. It is a single toad program that only occupies 7K of memory. ¥ou can movefreely between assembling and disas- sembling Editing is hotli ct5aracler and line orientaled. the two pass disassemblies create editable source files. The program is so written so as to encompass combined disassemblies o(6502 Code, ASCII text, hex data and Sweet 16 code Edit 6502 makes the user feel he has neuer left the environment of basic. It encompasses a large number of pseudo opcodes, allows linked assemblies, software slacking (single and multiple page) and complete control of printer (paganation and lab setting)- User is free to move source object and symbol table anywhere in memory. Requirements; 48K o1 RAM, and ONE DISK ORiVE. Optional use o1 BOcolumn MSR board, or lowercase availa- ble with Paymar Lower Case Generator. TAKE X LDDK K JUST SOME DF THE EHITINS COMMKNIl FEATiniEE. Inserl al line On Delele acharacter Insen a characLef Delele a line C n List line » nl, n21ij line fl nS Cliange line KnI lo nZ 'sliingl'Seaicti line * nl lo n2 "stringi" LJK EntBipriaSB Inc. P.O. Box 10827 St. Louis, MO 63129 (314)84ftfl1Z4 •EdH S&K I.M. ot LJK tnl. Inc.. - 'Amilt IM. d) Appit Compuler Inc. LOa*; At THESE KEY BOARD FUHCTIONS: Copy (oltieenOolliiiB anil e^ii Go Fq llie t>eginning o1 \he line aborl operaTior delete a cnaracler al cursor (Qcaiion go lo end ol line (ind characler aller cursor location, nan desliuctive baolispace insert a cliaractei al cursor location shifl Incli shiil release (or*aid copy delele line n umber pietii special prin I char acleis Com- plele cursor conlrol home and clear. riQhl.lelMoAnup Scrolla fine al a lime Nivr lypi i lint nunlw igiin. All Ihl* ind much mucli mofs ~ Stiid lot FREE Infurmitlon. Introductoiy Price $50.00. No. 40 - September 1981 M ICRO - The 6502/6609 Journal 107 A modification for the Applewriter software. Yob, Gregory, "Personal Electronic Transactions," pg- 154-160. Discussion of the PET Toolkit, BASIC 4.0, and PILOT language. Blank, George, "Outpost: Atari," pg. 168-171. Discussion of Atari graphics, listing for Decimal Dump, the PEEK function, etc. Carpenter, Chuck, "Apple-Cart," pg. 172-180. Discussion of programming languages for the Apple, in- cluding Mini PILOT; Mini-PILOT Interpreter, etc. 1058. KB Microcomputing No. 50 jFebmary, 1981) Baker, Robert W-, "Tape-To-Disk Data File Copy," pg. 15, A basic program for the PET. Chamberlin, Hal, "Simulation of Musical Instruments," pg. 142-148, Part 2 of this series on music synthesis includes routines written for the KIM. Kammer, David W., "Autoloader Program for the CIP and Superboard II," pg. 158-160, Routines to load and save machine language programs on OSI systems. 1059. Personal Computing 5, No. 2 (February, 1981) Miles, Kenneth, "Menu- Writer," pg. 38-42, Let Apple write a menu for your Applesoft or Integer BASIC programs, Kaiis, Robert, "Archimedes' Spiral," pg, 81-82, A versatile graphics Hi-Res program for the Apple. 1060. CSRA Computer Club Newsletter (Febraary, 1981) Morse, Ken, "Permanent (?| Comment," pg, 1. A program to convert Integer BASIC line numbers to 65535 to make them more resistant to imdesired deletion, Sikes, Randy, "DOS 3,3 Update," pg- 4. A simple fix for the new Apple DOS 3.3. 1061. Softalk 1, No. 6 (February, 1981) Wagner, Roger, "Assembly Lines," pg. 26-29. Part 5 of the guide to assembly language covers branch instructions. 1062. O.S.I. Users Independent Newsletter No. 8 (February, 1981) Curley, Charles, "Implementing the NEC Spinwriter," pg- 1-8, Some notes for OSI owners who wish to use the Spinwriter. 1063. Poke Apple 3, No. 1 (February, 1981) Averill, Bonnie Kaufman, "Elementary Programming; A Basic Budget," pg. 11-13, The first of a series of tutorial articles showing how to develop a budgeting program. Neff, Thomas M., "Apple Notes," pg. 14-15- Discussion of the use of Apple's Editor /Assembler, found in the DOS Toolkit, Also Neil Konzen's Program Line Editor and the INIT command, Garvey, Michael, "Storing and Reading an Array on Disk/' pg, 16-17, A utility for the Apple, Greene, Amos, "Sex and the Single Drive (Disk Version)," pg, 18-19, ;tioiial article on the storage of data on the An instruc. Apple Disk 1064. Apple-Dayton 2, No. 2 (February. 1981) Anon., "Program List Formatter," pg, 2, An EXEC File Operator for the Program List Formatter in the Winter Orchard magazine, 1065. The Michigan Apple-Gram 3, No. 2 (February, 1981) Tuttleman, Roger, "Languages, Languages," pg, 1-4, An Apple/Pascal program to plot circles, etc, on the Hi-Res screen, Tuttleman, Roger, "Getting Started in Pascal," pg, 6-7, An instructional article with a BASIC Booter Routine in Apple /Pascal. Rivers, jerry, "Principally Pascal," pg. 11-14, PRINTIT, a program for Apple/Pascal designed to send all or part of a ,TEXT file to either the console or to your printer, Deegan, W, Curt, "Hiding Amidst the DOS with PUMA," pg- 16-18, Protected user memory area for your Apple- Anon-, "lAC Apnote: The Apple H Cassette Interface," pg, 19-21, A description of the stracture and operation of the cassette interface. Anon,, "lAC Apnote; The Preliminary Apple Pascal Guide to Interface Foreign Hardware," pg, 26-41- A detailed guide to interfacing in Apple Pascal systems, Sokal, Dan, "Pascal— PEEKs and POKEs," pg. 42-43. A program for the Apple/Pascal library. Anon,, "lAC Apnote: Text Screen Mapping and Use," pg, 43-44- A good source of information on how to POKE characters on the Hi-Res screen. 1066. The Seed 3, No. 2 (February, 1981) Anon,, "Apple PI Conventions," pg- 4, A program to enter standard program labels into soft- ware items donated to club libraries, for the Apple. Breyfogle, Louis D. and Quinn, jack D,, "The 13/16 Sec- tor Problem: A Solution," pg, 8-9, Stadfeld, Paul, "Space Exploration," pg, 11. An instmctional article on using Applesoft's SPC function, 1067. Compute! 3, No. 2, Issue 9 (Febraary, 1981) Lee, Amie, "LED — A Line-Oriented Text Editor," pg- 16-20, A utility for the PET to maintain PASCAL source language statements. Baker, Robert W,, "The Atari 825 Printer," pg, 24-28, Description and evaluation of a printer for the Atari systems, Butterficld, fim, "Simulated PRINT USING," pg, 30-32, A program for 6502 micros. Albrecht, Bob and Firedrake, George, ' The Mysterious and Unpredictable RND," pg. 34-40. Part 2 of several articles on the RND function, PET oriented. Wachtel, A., "Stat Lab," pg- 42. A statistical program for 6502 systems. Dejong, Marvin L., "A BCD to Floating-Point Binary Routine," pg. 46-52. ^ T08 MICRO - The 6502/6809 Journal No. 40 -September 1981 A routine for the AIM 65 micro. Lowell, f.R,, "BASIC Math for Fun and Profit," pg. 54-59. An 8K elementary arithmetic program written for the 16K PET with new ROMs. Esbensen, Tory, "PET Spelling Lessons Your Students Can Prepare," pg. 60-62. A program for the PET. Falkner, Keith, "List Apple Integer BASIC Programs One Page At A Time," pg. 64-66- A machine language utility for the Apple to assist in listing Integer programs. Gat, Erann, "The 25C Apple H Real Time Clock," pg. 68-73. An article on inexpensive hardware and software for an accurate clock for the Apple. Martell, Eric and Murdock, Chris, "Ticker Tape Atari Messages," pg. 74. A horizontal scrolling message routine for the Atari. Schreibman, Arthur, "Atari Colors and Sounds with Pad- dles," pg. 75. A short program for the Atari. Veludo, Hemique, "Atari Terminal," pg. 75. A short communications program allowing contact over the telephone with a remote computer system. Braannon, Charles, "Character Generation on the Atari," pg. 76-78. A tutorial on defining the character set of the Atari. Kingston, C, "Put a Printer on the Atari Ports," pg. 82-85. Drive a printer through the joystick ports. Boden, Gary, "Double-Density Graphing On the OSI CIP," pg. 86-87. A way to effectively increase the normal 24 x 24 format of the CIP to a 40 X 40 format for graphing functions. Berger, Tom R., "A Small Operating System: OS65D — The Kernel," pg. 88-94. Part 2 of 3 with subroutine descriptions for OSI systems. Reid, Neal E., "Contour Plotting," pg. 97-102. How to produce graphs of functions of two variables using the PET and a 2023 friction feed printer. Young, R.D., "Relocate," pg- 103, Relocating or loading programs to portions of memory other than from the normal beginning of memory. Butterfield, Jim, "Mixing and Matching Commodore Disk Systems," pg. 104-108. A discussion and notes on PET/CBM disk systems. Spencer, Peter, "Memory Calendar," pg, 109-113. A program for the PET. Deal, Elizabeth, "Crash Prevention for the PET, ' ' pg- 114-116. Several reasons for crashes and how to avoid them. Butterfield, Jim, "Odds and Ends," pg. 118-119. Notes on PET/CBM files. Garst, lohn F., "Three PET Tricks," pg. 120. On-line REMarks; flashing cursor for GET; and pretty printing. Bruey, A.(., "Pascal on the PET," pg. 124-125. A discussion of this additional language for the PET. Land, Bruce, "A Terminal tor 'KAOS' (KIM, AIM, OSI, SYMI," pg. 128-133. Hardware for small single board micros to make a sim- ple communications terminal. MacKay, A.M., "SYMple Clock," pg, 134-137. A clock program that is a little different — for the 4K SYM-1. Chamberlin, Hal, "Expanding KIM-Style 6502 Single Board Computers, pg. 138-139. How many expansion boards can the unbuffered microprocessor bus drive before becoming overloaded? Wells, George, "Load and Save KIM BASIC Programs on YourSYM," pg. 140-142. Can cousins marry and remain happy? 1068. Apple-Com-Post Issue 9 (ca. fune, 1980) Knuelle, Alfred, "Paddles, Joysticks undsoweiter," pg. 8. How to use a 40K pot in place of a difficult-to-find 150K pot in constructing paddles or joysticks for the Apple. Kniefel, J. and Goetze, Uwe, "Programmschutz," pg. 11-12. How to add copyright statements to your basic pro- (Coatiaued on next page) The only thing you can do with a balled Apple is eat it. -Apple II is a trademark of Apple computer, Inc. The more you stuff your Apple il'" with plug-in boards, the more of a chance it has to overheat. And once that happens, it won't do anybody any good. Your program bombs and you start losing dme and money. The solution? Simple. Take two minutes to install the Dana Industries fan in the back of your Apple, and you'll practically never have to worry about overheating again. So pick up the Dana industries fan at your local computer store. And your Apple will have a long and fruitful life. No. 40 - September 1981 MICHO -The 6502/6809 Journal 109 grams and make them more resist'ant to obliteration or alteration. 1069. From The Core (February, 1981) Whittaker, Alec, "Lazer Lower Case Plus," pg. 4. A review of new hardware for the Apple. Also some routines for text files. Schroyer, feff, "Lazer Lowercase in Depth," pg. 5. An evaluation of this new hardware mod in some detail. Anon., "Dr. Apple: Some Uses for a Disassembler," pg. 5-7. Use the disassembler to assist in Pascal/ Apple programs. Lingwood, David A., "Overlaying in Applesoft," pg. 6-7. How to get a 20K program to run in 8K. Budge, Joe, "The Locksmith," pg, 3. Some notes on the use, ethics, etc. of this utility m 'unlocking' protected software disks. 1070. Mini'app'lcs 4, No. 2 (February, 1981) Pinotti, Terry L-, "DOS 3.2 and 3-3 on Single Controller," pg. 2-3. Hardware modification to your Apple Disk II controller card to switch back and forth between the 13/16 sectors. Hammond, Daryl, "Pondering Pascal: RunTime Errors," pg. 11-15. A tutorial on Apple/Pascal and an example of how to debug Pascal programs. Pinotti, Terry L., "Came Paddle Port Modification," pg. 15. A simple hardware mod to make installing accessories on the Apple I/O ports. 1071. Spreadsheet (Visigroup — A Visicalc User Group) 1, No. 1 [November, 1980) Staff, "Definitions," pg. 2. Definitions to make coimnunications amongst Visicalc/ 6502 users easier. Staff, "Template," pg, 3. Typical layout for a Visicalc sheet, reserving the first two columns for variables. 1072. Spreadsheet 1, No. 2 (January, 1981) Mellon, Arthur Mellon, "Merging Templates," pg. 2. A time-saving procedure for setting up sheets. Anon., "Visilist," pg. 5-6. An accessory utility for printing out the contents of Visicalc template formulas, valuable in diagnostics and planning improvements. Ender, Philip, "Visitip #5: Flashing M." How to avoid that flashing M by using more memory in your Apple. Staff, "Visitip #6: Template Development Aid," pg, 6, How to find out where the "to" print position has got to in a template under development. 1073. Printout 2, No. 2 (February /March, 1981) Batey, Duncan, "Matrix Codes," pg, 11. Useful table for PET users, Valentine, Mark, "Tick Tock PET," pg. 11, A 12-hour clock ma chine- language routine for PET, Nuttall, lohn, "Visicalc: How and Why," pg, 18-19. All about Visicalc for the PET, Tumbull, Tommy, "Tommy's Tips," pg. 21, 47, Automatic deletion of DATA statements; instant algebraic input; etc. Anon., "Turnkey ROMs: Do they Open the Door?", pg, 22, 31. How to implement turnkey operation on the PET, Jarrett, Dennis, "PET Communications — State of the Art Report," pg. 24-29, A special in-depth presentation on PET commimication hardware, systems, etc. Staff, "Colour Display Arrives for PET," pg, 33-35. A review of the Chromadaptor for the PET system, Sanders, Gavin, "Get Back in the Black," pg, 36-37, How to recover and make reuseable those old printer ribbons. Yob, Gregory, "Personal Electronic Transactions," pg, 43-45. How to get lower case on the PET; a program for POKE- ing machine language into the PET memory; and several short machine language routines for the PET. 1074. FWAUG Newsletter 2, No. 2 (December, 1980) McVay, Ray, "Disk Status Finder," pg, 2-10. A machine language routine that can be run from either DOS 3.2/3.3 which will tell the current DOS version, Master/slave status, free sectors and auto-boot file name, Meador, Lee, "Disassembly of DOS 3,2 — Part 10," pg. 12-18, This section of DOS is nearly identical between 3,2, 3.2,1, and 3,3 — devoted to the DOS command decoder. 1075. Apple Assembly Line 1, Issue 5 (February, 1981) Sandcr-Cederlof, Bob, ' 'Apple Noises and Other Sounds, " pg- i-9. Routines for Apple bell, machine-gun noise, laser swoop, inch-worm sounds, touch-tone simulator, morse code output, etc, Boering, Brooke W,, "Faster 16x16 Multiply," pg, 11-12- A routine for rapid multiplication of two 16-bit values to get a 32-bit value, Sander-Cederlof, Bob, "A String Swapper for Applesoft," pg, 14-15, Rearrange data, sort alphanumeric s, all the easy way. 1076. Softside 3, No. 5 (February, 1981) Pelczarski, Mark, "Developing Data Base: Part 6," pg, 16-17, 82-83, This month capabilities for print formatting are added to this utility for Apples and Ataris, Truckenbrod, Joan, "Three Dimensional Rotation — Part III," pg, 22-25, An Apple Hi-Res graphics program, Schoenmeyer, Roger, Thompson, Robert and Mueller, Carl, "Apple One-Liners," pg. 45, Three oneline programs for the Apple. Case, Phillip, "Miner," pg, 48-52. Atari and Apple versions of a program offering adven- ture deep in an abandoned gold mine. Cross, Mark, "Famous Sayings Hangman," pg, 59-61. A different type of Apple Hangman, Ockers, Stan, "Changing Hearts," pg. 64-65. An Atari graphics program, Daoust, John, "Darts," pg. 84. A paddle game for the Apple. MCftO I. ^ no MtCHO - The 6502/6809 Journal No. 40 - September 1981 II A Wooden Computer? Not from Commodore! So why should the desk look like wood? A pleasant cream and charcoal Irimmed desk looks so much better with Commodore systems. One look and you'll see. Interlink desks are right. By design. The specifications only confirm the obvious: •Cream and charcoal color beautifully matches the Commodore hardware and blends with your decor. •An ideal 710 mm (28"} keyboard height yet no bumping knees because a clever cutout recesses the computer into the desk- top, •High pressure laminate on both sides of a solid core for lasting beauty and strength, • Electrostatically applied baked enamel finish on welded steel legs— no cheap lacquer job here. •T-molding and rounded corners make a handsome finish on a durable edge that won't chip. • Knocked down tor safe, inexpensive shipment. • Patented slip joints for quick easy assembly. • Leveling glides for uneven floors. •Room enough for a Commodore printer on the desk, yet fits into nearly any den or office niche— H: 660 mm (26") W: 1170 mm (46") D; 660 mm (26"|. • Matching printer stand available with slot for bottom feeding. PRICE: $299 In short, as Commodore dealers, we won't settle for anything that looks good only in the catalog! Our customers won't let us. They don't buy pictures. And neither should you. This is why we will let you use oneof our desks for a week and then decide. If for any reason you don't like it, just return it in good condition for a cheerful refund. Advertisers' Index If your Commodore dealer doesn't carry our desks yet, send a check (or $299 and we will ship your desk freight paid! Name Address City _St_ _Zlp_ Interlink, Inc., Box 134, Berrien Springs, Ml 49103 Master Charge and Visa welcome. Call our order line: 61S-473'3103 Aardvark Technical Services 86 Abacus Software 96, 100 Advanced Operating Systems BC Anaheim Computer 89 Andromeda, Inc 48 Applied Analytics, Inc 42 Avant-Garde Creations 98 Beta Computer Devices 43 Broderbund Software 31 Central Point Software 7 Classified Ads 91 Cleveland Consumer Computers 82 Columbus Instruments 43 CompuTech 92 Computer Case Go 35 Computer Maif Order 34 Computer Station 89 Co-op Software 61 Connecticut Information Systems, Co 92 Consumer Computers 26 Creative Computing 95 Decision Systems 100 Dtack Grounded 35 D&N Microproducts Inc 90 Dosware Inc 73 Eastern House Software 35 Enclosures Group 90 Exatron is Execom Corp 32 Fessenden Computer Service 100 Galfo Systems 96 Gimix, Inc 22 Hogg Laboratories 96 Howard Software 78 Hudson Digital Electronics 36 Huntington Computing 6 Instant Software 24-25 interlink, Inc m Jini Micro Systems 44 Lazer Systems 65 LJK Enterprises 107 Logical Software, Inc 74 Maramoty & Scotto Software Corp 19 Micro Co-op 40 Micro Distributors 109 MICRO INK. Inc 77 Micro Interfaces 12 Microsoft Consumer Products IPC MicroSoftware Systems 67 Micro-Ware Distributing Inc 74 Mittendorf Engineering 14 Modular Systems. 13 Mountain Computer ibc National Computer Shows 1 Nikrom Technical Products 67 Omega Microware 81 Omega Software Products 47 Pegasys Systems 74 Perry Peripherals 13 Progressive Computing 13 Quality Software 70 Real-Soft 99 Rosen Grandon Associates 67 Sensible Software 57 Serendipity Systems, Inc 96 Sirius Software 2 Skyles Electric Works 17, 31, 46. 91 Small Business Computer Systems 67 Smartware 92 Smoke Signal Broadcasting 23 Softape 56 Stellation Two 47 Sunset Electronics 40 Synergetic Solutions 89 Synergistic Software 81 Synertek Systems 4 Technical Products 100 Terrapin, Inc 7 Travenol Laboratories Inc 90 TSE Hardside 104-105 Unique Data Systems 41 Versa Computing 58 No. 40 - September 1981 MICRO - The 6502/6809 Journal 111 Next Month in MICRO In addition to the usual, balanced coverage we strive for in MICRO, since June 1981 we have added pages devoted to special topics. We call these added pages BONUS sections. Commodore Bonus Section This section will include the following articles: • VIC Light Pen-manship — evaluates several manufacturers' light pens which can be used with the VIC and offers demonstration programs for applying the pens as a scribe or color paint brush. • The PET from A to D — Analog to digital conversion on the PET. • Speeding Up ASCII File Retrieval — Machine language techniques to speed file retrieval in the PET and Apple. • Commodore ROM Genealogy — An up-to- date list of all the combinations of Commodore's ROMs, keyboards, and screens. > Character Set Substitution — Explains how PET characters are generated and discusses several alternate character sets that can be substituted for the largely redundant second character set. Apple Bonus Section Apple users will continue to receive extra material in October in the Apple Bonus Section. A sampling of articles follows, A Booby Trap in Applesoft addresses "protection" schemes for Applesoft. Random Numbers Generator in Machine Language offers a simple subroutine to use in a machine language program whenever random numbers are needed. And Taming tine Wiid Reset tells how a user can easily modify an Apple key- board to ignore normal resets. Solar Simulation provides a program for printing information and plotting positions (using hi-res graphics) of the first six planets of the Solar System. Coming in November November brings a double BONUS featuring Games and still more on the Apple — just in time for the upcoming, gift-giving holiday month of December. 40% OFF Your money goes farther when you sub- scribe. During the course of a year, when you subscribe, you save 40% (in the U.S.). Pay only $18.00 ($1-50 a copy) for 12 monthly issues of MICRO sent directly to your home or office in the U.S. More MICRO for Less Money When You Subscribe But on the newsstand — if you can locate the issue you want — you pay $30.00 a year ($2.50 a copy). Save 40% and make sure you get every issue. Subscribe to MICRO today. MICRO 34 Chelmsford Street P.O. Box 6502 Chelmsford, MA 01824 Please send me MICRO for 1 year _ 2 years NOTE: Airmail subscriptions accepted for 1 year only. Check enclosed $_ Charge my No, VISA account Mastercard account Expiration date Name Address City/state . Subscription Rales 1 Year' Country Air Surface UnitedStates $18.00 Canada 21.00 Europe $36.00 21.00 Mexico, Central America 39,00 21 .00 Middle East, N. Africa 42.00 2100 S.America, Central Africa 51.00 21.00 S, Africa, Far East, Australasia 60.00 21.00 * Airmail subscriptions accepted for only 1 year. For U.S. and Canadian 2-year rates, multiply by 2. -Zip Job Title: Type of Business/Industry: 112 MICRO -- Tlie 6502/6809 Journal No, 40 -September 1981 Mountain Computer CPS MultiFtmctlon Card TM The Only Interface Card You Need! Connecting a Parallel Printer? Epson - (Vntronifs - IDS Paper Tiger - C;PS handles all ihese printers and others wiih on-board inielligente lo proWde paging and ulhcr fti^iluccs found on no other card. Connecting a Serial Printer? Diablo*? Qume'^NEC: - TI 800 Series'? CPS handles these primers and oihers Kith standard RS-232 inierface providing st'tettion of baud rales, handshakes, paging, and more. Connecting a Modem or Terminal? Hayes Sm a nmodcin? Novation C:AT'?M k R Penny whist le?C:PS handles these and others with full'half duplex operation, baud rale selection, and even a transparent terminal mode which includes a dual mode feature that permits printing of text lo (larallel printers while 'on-line' eliminating the need for special terminal software — and more. Connecting with the Time? The on-board calendar rlock provides real time and dale information including day of week, day, month, year, hours. minutes, and seconds (or any application requiring a time stamp — battery backed-up for over two years! Connecting with The Source? Used with a modem, CPS provides the connection lo informa- tion utilities, such as The Source, Dow Jones, and oihers. Additionally, CPS provides the connetlion to big-lime electronic mail wiih programs such as Micro Courter^nd Micro Telegran^ and other data transfer programs. Connect ivith Easy Use! CPS has no switches lo set! Ail functions on the card are sel from a user jirogram, .Menu driven screens set up your choice of all functions on CPS and store ihem on-fouard in CMOS RAM — battcrv backed-up (including the clock) for over iwo years! To change purameteis, run the set-up program again — or use special commands from vour keyboard. Furlhermore. most existing software programs are immediately usable with CPS, Phantom Shi Capabitily permits assignment of CPS' functions to your software's pre-defined slow. Connect with Your Apple^Dealer Drop by your Apple dealer and see how the CPS Multifunction Card provides (he most comprehensive capabilities (or RS'232C serial interface, parallel output, and real-time calendar/clock of any card available today — all on one card — alone low price — competitive with any one of (he three or mote single funcnon cards thai ii replaces. ^ Mountain Computer 300 El Pueblo Road, Scotts Valley, CA-95066 (408) 438-6650 TWX: 910598-4504 > 3 Registered trademarks Designing Computer Software Programs is Serious Business ADVAN«DO^W-r>c.:." ft Division OPERATJNGS-'^^^^^ „«,So<».eOe.i.ne. „, ,„„.3. a,e a part oU.. .-* =* 'ndusny ^^.^ g „g area ^^^^^^^ co W"M' ° ,„„eaang ;ea.e-.n«,««d,n.a«onhe ^ ,,, we a. .a* » .o » work for you'. Sincerely, ^X^reAct-^tion Manager 450 St. )oht> Road suite 792 g3go Michigan Oty. ''^ ^219-879-1693)