December 1967 Vol. 3. 1'10. 11 IS5M 0885-4017 newstand price: $2.00 photocopy charge per page: $0.15 Releasing the power to everyone. ------_ .. _-_._------_ .. _------PROMAL is such a tanguage. Maybe the easiest way to look at the philosophy of the language is to analyze a small program. where irs easy to see we're not in Basic anymore (the text follOwing a ";" on a program line is a comment, similar to a REM in Appiesoft ):

Uving PROG~AM CALC ; floating poin~ caicuiatlon bench_ark for PRf1l'IRL Languages ; (basad on June 1984 Byte. p. 33 6) INCLUDE UBIlARV ; fo~ som" e)(tr;:; PRDnFlI. functIQr.s INCLUDE DJO/PI

DATA RER:.. F; = 2.71328 : define a feu varlll.i:lles DAlR REAL 8 " :;.1~159 RERL C PROMAL Reviewed WORD COUNT : t nc lu d~('g our l oop tounter DAT A WORD NREPS -" SGOO ; and numbe r of r epe ~. ::ons

by Dennis Doms BEG IN ; CALC OUTPUT ·Starting calculations a: • ; pr,n: sta r ting tJ. me If there is one factor affecting the development of software for the Apple Ii. PRTHIE it's the search for a true high-level (that is. higher than assembly language) ?JT CR : follow loll ~ h car ~ cage return development language for the computer. Applesofi Basic. the high-tevel [ = 1.0 : s tart ", l',n C " 1 . 0 language supplied in ROM with the Appte. lacks certain features that make FOR COUNT :: 1 TO NR[ O;-S ; then manIpuLate 1: 3. "'hils writing programs of any appreciable size easy. c " C • p Programmers complain about the "sloth" of Apptesofi and its lack of C " C • 8 \ "programming structures;' such as tf/THEN/ELSE and DO/Wl1tLE. Most c " c / A programming structures can be simulated bycreative programming. though. C " c I e OUTPUT ~ Ca lculi!. :lIll's done at N and speed is often not as much an issue as being able to write a readabte, ;:RT!ME bug-free program white minimizing high blood pressure. PJi CR To my mind. one of the most serious failings of Appleso/\ is that it relies on OuTP .,JT NError " IIE N ,C - l.O, CIt ; i nd amount of error C"1!a :ed indexing its program logic by line numbers to transfer control. Therefore. you END ; CA:"C have to remember what a subroutine at line 1000 does white typing in "GOSUB 1000" to execute the code. lest you invoke a set of lines defining a first. unlike Basic. we have to describe ("DIMension;' in Applesofi printout routine when you meant to open a disk file. There's nothing tenninotogy) all variables before they are used We can define varlables as mnemonic about a Hne number. In small programs, this is an irritation; in being REAL (nooting-point), WORD (a two-byte pqsitive integer from 0 to large programs ,,;th 20-30 or more subroutines. you have to" use your 65535), INT (a two-byte integer from -32768 to 32767), BITE (a one-byte memory as an extension to Basic to remember where you put things in the value from a to 255) or BOOLEAN. (a two-state value such as TRUE and program. FALSE). l'tre"USe of line "numbers lOr indexing also makes SAVEing a gen"ral Second. and very easy to spol we havefl&linenumbers. The now of conlrnl purpose subroutine so that it can be used in other programs an exercise in in PRONAL is determined by certain keywords (some disanningly familiar) in patience. requiring a "hold and merge" utility that lets you "hide" the main conjunction with tlie indentation of the lines. For example, there are four program in memory. load the subroutine into memory. renumber the subroutine so that its line numbers don't clash with those in the main program. then "unhide" the main program and merge the renumbered subroutine into it If you did happen to know what the line number of the original subroutine was, it was almost certainly changed during this process. Also. unless you have total recali, there's a possibility that some variables in the original (main) program may ctash with the newly added subroutine. Which means you not only have to remember what ali the (changing) line numbers stand for. you also have to remember which variable names are in use and (when changed) what they stand for. The larger the program. the more. of a problem this becomes. One sotution is to allow the naming of a subroutine so that it can be accessed within the program by stating its name. Therefore. "GOTO 1000" might become "PRlNT.STRlNG". Second. we'd like to be able to name variables used In the subroutine separately from the main program, so that a " ~ variable "ASTRING" used In the subroutine would not change the value of a variable of the same name in the main program. unless we wanted it to. There are a few programming languages on the Apple that aliow this, but ' 1 J.JST IQ£ 1WS WIll PlIT TO AN END ALL 1l

AppleFest \\ho complained of performance problems Publishing's products do. We'lI see \\hat gets the best caused by slrictiy following Apple's tool calling protoroL reviews. The use ofMouseTexl is infinitely faster than particularly for keyboard input and screen output I the Mac-clone stuff I've seen so far. say that ifyou sacrifice current program perfonnance When it takes an eternity for a 16-bit program for compatibilitywlth future hardware, you'll be out of launcher to load and position itself for duty in business before that future hardware appears. comparison to B-bit desktop managers like Pinpoinrs Ask For the people who disagree with me and want to Run-Run or Glen Bredon's ProSEl" then someone has (or tell) write a rebuttal letter to Open-Apple, you can't do really goofed. Consumers are not that stupid. If you that! Bill Basham don't believe that just ll)' selling full-size cars with Diversified Software Research lawn mower engines in them. Uncle Farmington, Mich. I have a IIgs. I have several of the latest and most popular 16-bit software packages. When I want to get Ah, come on Bill, sure they can. One of the- best something done, I use my a-bit software, most DOS parts ofAppleFest for some o{us was eavesdropping notably AppleWorks. Why? Because I don't want to on the parleys you were having with people who wait longer to use a computer than it takes to designed various parts of the IIgs. assemble pencil and paper. Because I don't like to be On the other hand Compatibility is very important to the long-term palronized bya weakand slow version of the mental of Apple II But Hey! EveI)' time I write to Open'Apple with a health the user community. user·interlace. If I had wanted or needed a Mac. I'd suggestion, the next issue always contains a letter you and I. as authors of DiversH)OS and l'rontoOOS, have bought a Mac. know quite well thalll5ers will for speed, ~ from someone saying, "you can't do thaf' Come on pay You suggest thatApple execs are pursuing a rational, guys, if Steve Wozniak had that attitude, you'd all be got our start making Apples faster. Itean be done. If though misguided, course of action in order to mollify writing Cobol programs for IBM. Apple had done it our way to begin with, where disaffect!'d third-party software developers. Specifically, would we be now? I'm particularly disappointed that Peter Baum you suggest that Apple is trying not to compete with P.S. I was impressed by the lip Chip too, but we've called my "frigid" reboot idea "extremely dangerous" software developers. ("Frigid flaw;' page 3.80). Baum's objection, like decided to reseroe judgment .untU we actually get If that's their aim then how in the world did our hands one. They're still not shipping. earlier objections, is that it might not work with future on flyperCard get out? flyperCard on the Mac will. I hardware revisions. He's concerned that the power-up predict, devastate the Mac software indusll)', especially byte location may change. Some feedback on reality the big-boys. With flyperCard, anyone can be a First of all, Apple's documentation states that this While I am an avid reader of Open'Apple, I am sophisticated software developer. My belief is that byte is reserved, and won't change. Of course, that seldom as galvanized by an artide as I was by your they don't know \\hat they're doing. doesn't mean much. If it does change, so what? We'll lead piece for the November 1987 issue, "Reality and We probably can't cure Apple of its death-wish, just change a byte in the frigid reboot routine. Finally, Apple's Vision:' You have articulated and made that's too deeply ingrained. What we can do is make the frigid reboot routine is designed to keep you from explicit in this essay the uneasy feeling that has been .the choice so plain that eyen a demented fool would having to tum off your power switch. God forbid this slowly and quietly creeping up on many of us in the recognize the hand that feeds him; so plain that b,~.sic routine might crash! You might have to tum off the Apple II world. Thank you for sounding the alarm. survival instincts ovenide the afore-mentioned death­ power switch. As one who bought a IIgs early on, I am most wish .. Unfortunately, the "you can't do thar' attitude cl!stressed by the absence of any indication that a 16- Here's what I propose. We begin a realistic public seems to be taking over at Apple. The most exciting bit AppleWorks will emerge from Apple or from discussion of what a l&bit AppleWorks could and hardware product at AppleFest was the Zip Chip, a anyone else. I'm not talking about a port.ed-over should do. This will accomplish at least two things. plug-in replacement for the 65C02 that triples the version of Hbrks. I'm talking about an First it will provide Apple with a free market:analysis. CPU speed of the Apple IIc, lie, and II-Plus. The extehsion of the currentAppieWorks, filecard interface one they wouldn't commission on their own because company says they'll have a IIgs version out next year and all, to the 16-bit IIgs. The potential for building on of the fear that they might find out that their "Apple II to replace the 65816, but two of the top Apple IIgs this solid foundation of success is enonnous. as mini-Mac" thea!)' is hankrupt Second, it will place engineers I talked to said, ''you can't do that' My If Apple absolutely, positively must have a Mac-like the initiative for what such a software item might be in money is on the Zipchippers. appearance then let's use the mouse with MouseText the hands of those who will ultimately use it Power to I talked to a number of rroDOS 16 developers at in co,yunction with cursor control as many of Pinpoint the people. 3.84 Open·Apple Vol. 3. "0, 11 Let's hear wflat the Apple II folks out there In focused adVertising, ambivalent developer programs, processors. The market stagnated for three long keyboard-land really think. . and a laell of desire to support the wider world ofllOt years in word processors and paint programs. Apple Frank Lo'M'Iey invention, Apple will widen the gap between wflat final ly decided to unbundle MacWrtte and MacPaint Milledgeville, Ga. pelng the A~ple lI'as an "enter­ my roots are in theApple II. Whenever I useanApple II MacWrtte and Ma cPainL Including ApplellOrks as tainment and education" computer rather than today, my work generally involves AppleWor1<. power system software for the Apple II will not solve the recognizing how lis are actually used by many people? and fle';bility. In fact, we are about to release an stagnation of ApplellOrks, It will only stagnate the The roaring suexess of AppleWorks provides excellent interface to ApplellOrks for our library circulation competition also. feedbaell on how lis are applied by adults In the real sysld as well asAppleWorksand'also had oul, significanUy different user intelfaces can be doesn't draw a greeting card or animate a bear. some other products that weren't selling, wflich ones embedded In SYSTfM programs; thai is one of the Nobody criticized GRiD when it came out ~;th inte­ would you use your adVertising budget for? beaulies of the Apple Ii. The point aI which we grated paellages for its computers. Borland and Martin Wallgren disagree is'thatyou think Basic system isslill the de Ashton-Tate don't bellyache when Atari releases Prophetsto\\'ll, III. facto standard interface on the Apple /I and / think sotr.are, or rake IBM over the coals for manufacturing Aplworks.system became the de facto standard software. Why should Apple be so concerned about I wou ld like to disagre~ with you on a couple of months ago. $ticfrom outside developers when those developers points regarding "Reality and Apples Vision:' Your As the de (acto standard, / see no reason a I 6-bit have had years to make more productivitysollware ror suggestion of acknowiedgiilg Robert Ussne(s contrt­ "",,;on 0( AppieWorks needs to change the user the II, but didn't do much, except for AppleWorksadd­ bution to the Apple II is a good one. However, interface at all. for once why couldn'l we have a 16- ons and programs In specific vertical mar1leKOrks around in memory. Unfortunalely. the routines need Il sounds like what you want to do is add some formaUing codes, reacts' to addltionat "doUbte-dot" to work slightly differently for CNAIN and SI'OIlE custom fealures to the Imagewrlter without lOsing commands (lines that begin with two periods) that than for fIlE and for automatlc garbage cotlection. those proportional fonts. This can be done by you embed In your nle to send speclat codes to your bul they donlAs Installed at the factory, Ilaslcsystem manually editing the Imagewnter definlUon in the printer, automatically formals footnotes. and correctly works fine for FIlE and garbage collection; but SEG.PR nte. See "Zapping Imagewriler codes" In our prints page numbers. messes up CNAIN and STOllE when the Applesoft rebruary L987Issue, page 3.4. The AppleKOrks BBS variable tables happen to be an exact multiple of 256 (see "AppleKOrks + I'Ildtiscribe" In August 1987. CHAIN bugs and overlays bytes long. page 3.54-55J Indudes an assembly soun:e nle for I am developing a ProD05-ba.sed Appleso/t program In the same Issue of Open'Apple, on page 2.20, I SlXIPR that you can follow like a road""'P. Using that would benefitgreaUyfrom using binary program mentioned a couple ofartides In CaII ·A.P.PoL.E. that this Information, it's possible for a knowledgeable ""enays as descrtbed in ),our April 1986 Issue, page rll'St demonstrated, then /!Xed, the CfIAIN/SI'OIlE Individual with lots ofspare lime to CTeale a "custom" 2.20 and 2.21/ want to use three program segments bug. lWlat I didn't know at the time was that the fix driver for any print., /lui be aware thai the number that share lengthy menu and character input has the side effect Of messing up rIlE and garbage of capabilities de{med in SEG.PIl is limited; to add a subroutines. rollection. Complete delatls are available in the July feature will mean lOSing exlsting capabilities. So, following yoU! directions, I slavishly prepared a 1987 Issue ofB!Jte'. "8esiofBIX: Apple" column, on Ifthis sounds too dlflicult Open'Apple subscrtber file containing those shared subroutines and named pages .:lO5-310. Assuming J now understand the Eugene IWlUehouse has del!etoped a program called it "OVERlAY.' After many unsuccessful attempts at whole problem. which Is debatable, the complete {IX __PrinlerWliI!J that rewntesAppleKOrks' doing a run and much tinkertngand the fourth re·read is: Imagewrtter or t:pson prlnter setups so that you can of the article I came thecondusion that there was a to Immlldlatt!ly before CHAI N 0" STIP£:: get things like color printing. mousetext half-height problem with LOMEM, And, 10 and behold on page IF" P[EK{4'314'3 j =1 TH [t~ POK E 41B59,3 sub- and super·scripts, and slashed zeros without 2.20 I find "Neither the DOS 3.3 nor BASIC.SYSTEM giving up proportional type ($20, 25 lIenslngton versions of CHAJN pay attention to whether you have Imlll edlataly aftl!" CHR lN or STORE: Ave" A503, Jersey aty, NJ 07304). reset LOMEM". And this is a fact If PEEK(-4 91'l9)zl THO~ POk[ "1859 ,7 Vol. 3. i'(o. n Basic.system 11 Is unusually bug free, so I'd hate standard memory cards, is ProODS-based, and Is be configured as a IWIdisk, is unprotected, and can to see it modljled muclt but I do thinkAppte shoutd unproteded. Distribution ofset{-runnlngdisks requires be dlslributed On sel(runnlng disks by lealling In the glue us a ve",lon 12 to fix this pa11lcular bUll. a royalty paymenl of $50 a year ($74.95, Beagle copyright notice. for additional Informallon see Bros, 3990 Old lbwn Aue, # 102C, San Diego, CA "I'roBasic, Loflo" in our September 1986 Issue, Basic choices 92lJ0619-296-6400). page 262 ($49.95 from Beagle Bros, addressaboveJ Is there a different Basidor the Apple lie? If lack Of structure and a weak command set are While Blankenship Basic and I'roBasic solve Daniel Mason your m",or problems. lake a took at BlankenslUp many of the problems people haue with Appleso{l. San Jose. Calif. Basic (current ue",ion Is 2_7 )_ Uke the Be"9'e neither Is compatlbte with Ihe Beogle Compiler. lb get speed and structure without Ihrowing everylhing Quickly skipping by aU the Compae" it Is hIghly compaUble with Applesof! CP/MBasics available you know about Applesoft auJi!.!> /he best CDmpromlse to you if you have a CP/Mcard , and all the MS-DOS Itself-the only Applesoft command Blank"""hip Basic doesn 'lsupport IstJORl. On the other hand, it is III/col Basic (current uersion Is 2.1). I/'s fast like the auailable if you have a PC 7ransporl£r, and all addS a number of new commands thalaUowstrudure, lkiJBIe CompUe" II prouides slructure like B/an­ the upcoming Basics that are IIgs·specif!c, the such RUIlAT/urrrlL, WtJILl/tl1DWtJILf" Icens/IIp Basic, It a/loUlS multi-charader uariable answer Is yes. as WtJf1j/ ELSf/tl10WtJflY, and WOP/l'.XJ1WUtl1/flYOWOp. It names (the f!"" package mentioned so far /hal But n",t sit back and de cide what e>: 47934, Allanta, GA 30362 4()4. information_Th e Beagle C"'"Piler will run on any ProDOS (current ue"'/on 4_00), CP/M, the Hactntosh, 491-J151)_ 54/{ or larger Apple II, supports a",-mem and Apple· and MS-DOS. The big strength Of ZBaslc Is the In between the I/ugIe Compiler and BIanIrensIUp portability of Its programs, In theory, you writejust Basic Is an euer-growlng col/ecllon Of amper.;and one program. th en, using different , you packages that add uarious abilities toAppleso~. This can make the program run on any of the supported Open-Apple collection Is mucilloo large to tick offhere; ifwe tried compute",. The adlJantage 0{ being able to moue a we'd be sure to uninlentlonally insult at least one of program from one computer lo another so easily is the dozen or marc subscribers who has sent us an obulous. Buen graphics transfer-Dennis devised a Is wnn en, edited. plJDIiSl'led, and . ampersand package to reuiew, 10 say nothing of program that rotales a pyramid on the screen; when run under CP/M, which doesn '/ support graphics, the • C!l Copyrighl1987 by overlooking stuff we hauen·t seen. So how about this Tom Weishaar - we'll throw out all the amper.;and packages we'ue pyramid's Unes are drawn on th e text screen with receiued and slart over wllh /Wo new rules, lb get a ted characters. But the dlsadua ntage of this uniuer­ Bustness Consultant Richard Barger salily Is that you hare 10 moue away from familiar Technical Consultant Dennis Doms plug in Open-Apple, an amper.;and package must Circulation Manager Sally Tally 1) be compatible with Roger I13gner Software. Applesoft commands into a kind ofBasic -Esperanlo" Business Manager Sally Dwyer Toolbox Serie. and 2.) be compatible wiIh the that hasa closer resemblance to the Ci'/HorMS-DOS Meal rights reservtd Al l progr.m. publ lahed In Opu.Apple are B""9I. eo...pller. These rules mean thai all amper­ ue",ions of IIIicroSofl Basic Ihan to Applesoft. pu bl l~ domaln anc! may tle CXJPIId Ind d'ltrlb ull" 1II'l lho'J{ char g ~ . ZBasic indudes a screen editor. Is the only Basic IIpp!e user gl'Ol,lPI . lId l ig .... licant ot"lerSIllI't r'prim ~ rtides Irom sand packages we laIk aboul from here On will be full tlfll.8 to 11m , by spe<:llic wnUln "OIlKI. Requests and OIMI stale-o{·lhe-art and wllt be compatible wllh each mentioned here that allows you to completely do Id,tonal material including Jltter.to Uncle DO$. 5I'Iould be !len! to: oIher. Those of you who aren't famWar with Roger away with line numbe",; prollides for long, case­ Open-Apple I13gners JboIbo.rSerieJ should look a1 'The amper­ sensiliue uarlables; and Includes a feature called p,o, Box 7651 sand solution" in our September 1986 Issue, page "long fun ctions" you could use 10 emulate the Overland Pari<, Kansas 66207 U.S.A_ 2.63. modularily of Blanken.s1Up Basic, I'roBasic, or PlJbliShed monthly IlnceJanuary 19S5. W(l ,ld,wlde p!' lces lln U.s. Pushing just past Applesoft and amper.;ands, we llliaJI IJuIc. A IIgs-spedfic veFSion-i!r-reportedIB doll"s, airmail deli"",y includld at no addit ional clla rg e) ' "4 for 1 ~ear : 544 lor 2 ye8fs, S60 101 3 yealS. All !ingle ba c ~ In~es are next come to ProBasic (current version is 10). under deuelopmerd. Although capable of 2- to 54- ell rren II~ RVRl la bl.lor $2 tleh, bound.lndeJed 1IItn',"tJOr\lIIy Uns.ah..t!ed .ubscrlb.ra may relurn IUlles .. ,thin disk device, including IWldisks (array size Is limiJe