Home
| PET Vet: Commodore 64`s Super Sound ATARI FORTH
Contents
1. 260 VIDEX VIDEOTERM 249 VIOEX ENHANCERII 119 pond CENTRONICS COMPATIBLE PARALLEL INTERFACE From PROMETHEUS For use with Epson NEC C ITOH and other printers Fully compatible with CP M and Apple Pascale 1 Only 69 GRAPHITTI CARD Prints HIRES page 1 or 2 from onboard firmware Features True 1 1 aspect ratio prints emphasized mode reverse mode rotates 90 degrees plus more Compare all this with the Grappler We think you ll agree that this is the best graphics card on the market Specify for use with EPSON NEC 8023 C ITOH Prowriter or Okidata List 125 89 SOFTWARE WORDSTAR Special at 195 SPELLSTAR 125 SUPERCALC 175 D BASE 11 525 149 DB MASTER 189 All ome shipped tactory tresh Manufacturers warranties included Please add 3 00 per product for shipping and handling California add 6 tax BART Counties 62 All items are normally in stock Phone for Quick 415 490 3420 And we ll be here to help after you receive your order Feel free to call the SGC Technical Staff for assistance SOC 342 Quartz Circle Livermore CA 94550 No 57 February 1983 ee LANGUAGES EDIT An ATARI FORTH Screen Oriented Editor
2. paver 4095 Spright Generator Cassette 1595 CPV 328 HESCOUNT monitors program execution 19 95 Disk 17 95 CHV HESPLOT Hi res graphics subroutines 12 95 Mastermind 19 95 CPV 367 Conversions figures volume length weight area 7 95 Star Trek 9 95 and velocity to all possible configurations Black Jack 11 95 cc The Mail your comptete mail program Cassette 24 95 Tic Tac Toe 7 95 Disk 29 95 Backgammon 14 95 cs Home Inventory lists your home belongings 17 95 Maze 64 15 95 cs Check Minder V 20 amp 64 14 95 keep your checkbook the right way cs General Ledger a complete general ledger 19 95 Prices subject to change TO ORDER BUSINESS amp HOME APPLICATIONS FOR C 64 P O Box 18765 CHC 504 HES Writer word processor 39 95 Wichita KS 67218 VISA f CHC 503 Turtle Graphics li utilizes the full graphics of your 64 49 95 316 684 4660 502 HESMON machine language monitor w mini assembler 34 95 4 CHP 102 6502 Professional Development System 29 95 Personal checks accepted Allow 3 weeks Data Files a management program 27 95 or C O D Add 2 Handling charges 2 00 4 MANY MORE PROGRAMS FOR YOUR 64 amp 20 reistereu tradenancon rammedore j UI 16 MICRO No 57 February 198 VIC RS 232 Printer The hardware and software needed to interface RS 232 devices to Commodore s VIC computer are described A Radio Shack Line Printer VII is used as an example Other examples in
3. peuBisun 4e6aju peuBisun uequinw peuBisum m Jequunu peuBisun 1 1 10 juejsuoo AJejogeuo uejsuo uisus 2 1 adA EU ed 910715 494 isi pion q auooas R EL 1994S eead OUOIV TVOSVd jueisuo 5 4817 Ple 10juepi piel 1Jeijnuep Joyliuap 1008 10Juepi Siqeue 01284 410498 uoisseJdxe uoisseJdX3 ejduiis 299 uoisseJdx3 Data Sheet 13 MICRO NATIONAL ADVERTISING REPRESENTATIVES WEST COAST The R W Walker Co Inc Gordon Carnie 2716 Ocean Park Boulevard Suite 1010 Santa Monica California 90405 213 450 9001 serving Washington Oregon Idaho Montana Wyom ing Colorado New Mexico Arizona Utah Nevada California Alaska and Hawaii also British Columbia and Alberta Canada MID WEST TERRITORY Thomas Knorr amp Associates Thomas H Knorr Jr 333 N Michigan Avenue Suite 707 Chicago lllinois 60601 312 726 2633 serving Ohio Oklahoma Arkansas Texas North Dakota South Dakota Nebraska Kansas Missouri Indiana Illinois lowa Michigan Wisconsin and Minnesota MID
4. 140 0 682 Taxan RGB color with board amp cable 399 00 All Santa Clara and Davong drives available at discount 7380 Money Decisions Eagle special 149 00 The Transtar 315 is a mind blowing printer It will dump any HIRES color screen in four colors to the printer and to the paper If you re playing a game press the button and in a few seconds you ll have a four color printout of the screen Traction or friction Unbelievable Should be ready for shipment shortly Our price 699 00 complete 4231 33 PSIO Dual Function Card Videx 189 00 240 SRW Color Coder 5 different color library cases for carrying floppies We now have the compiete line of Okidata printers CALL Child s Play is an incredible new piece of soft ware written by Mike Taylor for children three to seven years old It includes an etch a sketch a series of mazes in which the cutest ant you ever saw is guided to his musical reward and a series of quizzes which teach a child concepts of bigger than different from etc Published by Huntington with our daughter in mind we have priced this so everyone can afford to enjoy it The disk is crammed packed and is only 19 99 Order 8999 SSM has the hottest new modems in the busi ness Compatible with just about everything The following specials are good through April 8562 Modemcard 300 baud 239 00 8563 Modem 1200 1200 BAUD
5. Alfred J Bruey Two demonstration programs illustrate this technique BASIC Renumber for 1 Paul Krieger Renumber programs in memory and save to tape EDUCATIONAL UPDATES 74 78 81 86 89 68000 Program Control Branch and Jump Iristr cti nS oreet pU aa Joe Hootman More on Tiny PILOT for the PET Arthur Hunkins A BASIC Match Routine for Robert Phillips An Overview of Educational Software George Gerhold Microcomputers in a College Teaching Laboratory Part 4 Deborah Graves Richard H Heist Thor Olsen Howard Saltsburg MICRO 5 EVERYONE NEEDS VeAC LINE BATTERY 2 MINUTES GUARDIAN ANGEL i 2 RONICS INC UNINTERRURIABIEES ROWERS me oik AC 2 YOUR COMPUTER MONITOR PRINTER AND 514 A tomati ally stops annoying problems from power line interruptions and bro Maintenance free backup power available in 115 volt or 220 volt 50 or 60 HZ 1 50 watts Complete versatility operate your system from a 12 volt source i e automobile cigarette lighter boat or airpiane e Rugged self contained gel cell battery No voiding warranty no cutting wires Automatic a dio alarm warning tone during commercial power failure or interrupt UL listed FCC approved Transient voltage suppressor gives added insurance from line volta
6. 549 00 The following Transpaks include the ModemCard and the Source 8564 Transpak f includes Transend 309 00 8565 Transpak 2 includes Transend 2 349 00 8566 Transpak 3 includes Transend 3 529 00 The following include 1200 baud modem and the Source 8567 Transpak 2 includes Transend 2 799 00 8568 Transpak 3 includes Transend 3 899 00 The following include the Source 8560 Transend 1 8561 Transend 2 8569 Transend 3 WE HAVE HUNDREDS OF ATARI PROGRAMS IN STOCK GIVE US A CALL The absolutely most incredible program we carry is The Word Processor the complete Bible on eight double sided disks plus one program disk It will scan search and do unbe lievable things You ll never find a better bar gain Sale price 149 99 7320 S 4 s No 57 February 1983 INICRO Apple Slices By Tim Osborn This month s program BUILDIT demonstrates how programs external to VisiCalc can create and access VisiCalc worksheet files Both VisiCalc novices and pros will learn from the following discussion P VisiCalc uses three file formats for data storage DIF Data Interchange Format standard worksheet files and print format files DIF is an excellent well documented communication aid that many packages use to send and receive information to and from VisiCalc But because DIF is designed for flexibility
7. Whether you are a teacher an artist an engineer a programmer or a hobbiest with little or no programming experience the VersaWriter is the answer to your graphics need With the VersaWriter exploring the world of micro computer graphics is as easy 3 1 3 as tracing The VersaWriter EM doesn t just trace a picture though With simple one key com mands you can add color and text to your pic tures move objects across the screen make scale drawings and even draw with different size brushes The VersaWriter is as limitless as your imagination For complete graphics on your Apple or IBM PC the Versa Writer from Versa Computing Inc is your answer Complete hardware software system ready for use 299 Send for information Dealer on the complete line Inquiries of ve33AwA3E amp Graphics Welcome TOQucIs E COMPULING INC 3541 Old Conejo Road Suite 104 e Newbury Park 91320 e 805 498 1956 10 MICRO No 57 February 1 Improved IEEE 488 Control for PET CBM by David W Priddle This utility program for PETICBM with 4 0 BASIC adds four new commands that Improve the I O control of the IEEE 488 bus With more complete control of the bus the PET CBM becomes an effective inexpensive controller for a wide varlety of scientific Instruments Control requires 4 0 PET CBM or SuperPET The IEEE 488 bus is available on a wide variety of measurement a
8. STA FLAG DISPLAY FLAG 228 9612 ASFF LOR FF 238 9614 SDa3a2 STR LFLG SET BASIC LOAD FLAG 248 9617 E 258 S617 28EBFF IN JSR BASIN GET CHAR FROM ACIN 268 961A C388 8 DON T STORE NULLS er 9610 FFG IN 280 280EEFF JSR BHSQUT DISPLAY CHARACTER ON CRT 298 9621 S4FE STY SAVE v 9623 LDY 0 310 9625 STA STOR STORE CHARACTER 328 S627 E F8 INC STOR 338 9629 DBAS BNE RETN 348 9628 ESF INC STOR INCREMENT BLOCK IN MEMORY 358 962D ASF LOA STOR 358 962F C586 MENC END UF MEMORY 363 FB85 BEQ OVER 590 9633 h4FE RETN LDY RECALL 398 9655 401796 IN GET NEXT CHRRRCTER 400 3638 i 418 9639 A94F OVER LDA 70 DISPLAY OVERFLOW FLAG 28 965A SO9BDS STA FLAG UN 25TH LINE 438 9630 2 JSR BRSIN GET NEXT CHARACTER 440 9648 8D92D3 STA FLAG 2 DISPLAY GN 25TH LINE ONLY 450 9643 403996 JNP OVER LOOP UNTIL BRERK 464 9646 j USR X function POKE 11 160 POKE 12 151 X USR X for the addresses in listing 1 Once called this routine changes the input vector to point to the second part of the routine The second part feeds data to the BASIC load rou tine just as if it were coming from the serial port or keyboard A check is made to see if the data contains a 99 which indicates the end of the load and if so the input vectors are reset to their original value by part 3 Then it jumps back to BASIC warm start This routine allows th
9. More than 20 new BASIC commands help new and experienced programmers 1600 Talephone Modem ES enumber ana edi BASIC programis Trace any program bysline as it R e to edit Speci CM 151 Terminal 40 29 95 keys as BASIC commands subroutines or new Produces 40 column output of information received through the modem VIC 1213 VICMON Machine Language Monitor 48 99 VIC 1210 VIC 3K Memo Expander Cartridge 34 95 Helps machine code programmers write fast efficient 6502 assembly language Plugs directly into the VIC s expansion port Expands to 8K RAM total programs Includes one line assembler disassembler VIC 1110 VIC 8K Memory Expander Cartridge 52 50 8K RAM expansion cartridge plugs directly into the VIC VIC 1011A RS232C Terminal Interface 39 95 GAMES FOR YOUR VIC 209 Provides interface between the VIC 20 and RS232 telecommunications modems Connects to VIC s user port 5 Cribbage 14 95 CM 16K Memory Expander 89 95 Motor Mouse 12 99 CM 24K Memory Expander 110 95 CW 1901 Avenger Cart an invasion of space intruders 24 95 and you re the VIC Avenger CW 1904 Superstot Cart great music and sound ettects 24 95 CARDBOARD 6 87 95 CW 1906 Super Alien Cart youre trapped in a maze 24 95 An expansion interface for the VIC 20 Allows expansion to 40K or accepts up to six CW 1907 Jupiter Lander Cart pilot your Jupiter Lander 24 95 games May be daisy chained for more versatility CW 1908 Draw Poker Cart
10. NN For Commodore 64 T For Commodore VIC 20 we For Commodore PET CBM 40 columns For Commodore CBM 80 column SuperPet BUSICALC Your Computer Drone for Repetitive Calculations The outstanding advantage of using a computer is that it acts not only as a pencil and paper but as a perfect eraser and an automatic calculator The user can quickly and easily make any number of alterations to the data within the table The BUSICALC will evaluate any formula using the data that has been entered Further it retains the formulas and displays the resulting value With BUSICALC controlling the entry of data provid Na ing a comprehensive memory and performing arithmetic the preparation s of a spreadsheet is faster and more accurate than if it were prepared by hand BUSICALC With the Sting Removed from the Prices BUSICALG 20 voee teenie ae mew only 49 00 for the VIC 20 BUSIGALC 64 only 69 00 for the CBM 64 BUSICALC 40 only 79 00 for the original 40 column PET CBM BUSICALC 80 only 89 00 for the original 80 column CBMs and SuperPets BUSICALC AVAILABLE NOW FROM YOUR LOCAL DEALER 800 227 9998 FOR THE NAME OF YOUR NEAREST DEALER California Canada Alaska and Hawaii please call 415 965 1735 Skyles Electric Works 231G South Whisman Road Mountain View CA 94041 Europe please contact Supersoft Winchester House Canning Road H
11. all Commodore computers Apple and CC a worksheet program to define and perform calculations March Printer Feature MULTIC Multic Column Print for the AIM A Full Byte for Your Apple Printer PRINT USING on the Apple Plotting with the VIC Disk ID for OSI Printed Directories in the 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 VISA account Mastercard account No Expiration date Name Address City State MICRO DIGI DRAFT An Atari graphics program for drawing images on the screen to save on tape or disk for retrieval later BANNER A Display Program for the CC The scrolling screen displays any message of your choice The Computer Revolution A look at the public s response to computers Plus A Versatile Hi Res Graphics Routine for the Apple Animated Graphics on the 6809 Single Floppy Disk Interface for 6502 Subscription Rates Effective January 1 1982 Country Rate United States 24 00 1 yr 42 00 2 yr Foreign surface mail 27 00 Europe air 42 00 Mexico Central America Mid East amp C Africa 48 00 South Am S Afr Far East Australasia New Zealand 72 00 Airmail subscriptions accepted for only 1 year For U S and Canadian 2 year rates multiply by 2 Job Title Type of Business Industry
12. Most computers don t The Com modore 64 and real synthesizers use what is called an envelope for each note see figure 3 There are four com ponents of the envelope attack decay sustain and release Attack is the time it takes for the note to increase from no volume to its maximum volume Decay is the time it takes the volume to decrease to the sustain level which is maintained for most of the duration of the note Finally release is the time it takes to go from the sustain volume level to silence again The shape of the envelope can be programmed The durations of the at tack decay and release portions can each be programmed to sixteen dif ferent values The volume level of the sustain portion can be set to sixteen dif ferent proportions of the peak volume There is a gate bit for each voice When this bit is set to 1 the attack begins followed by the decay and the sustain where it stays until the gate bit is reset to 0 Then the release portion of the envelope begins This information is all you really need to know to use the 64 for simple music programming Just select the fre quency this requires two POKEs the waveform the envelope parameters and the overall volume Then set the gate bit leave it set for the length of the note and reset the bit when the note is done Multiple voice music is a matter of doing things in the right order and at the right times Actual programming is a bit more complicated sin
13. No 57 February 1983 15th century renaissance man Leonardo Da Vinci con tributed an inexhaustible collection of inventions and ideas to solve the world s problems These ideas were centuries ahead of their time The studies on this page deal with ex _ periments in manned flight DC Like Leonardo Vista Computer is answering many of todays complex computer storage problems The Vista V1200 is a great solution to Apple IIT storage Mass storage for your Apple Computer has always been a problem one hand there were the exotic expensive hard disks with no cost efficient means of backup On the other hand the Apple floppy drive lacked the speed and storage demanded by today s professionals Vista s V1200 offers both at an incredibly attractive price The removable VistaPak cartridges offer 6 Megebytes of removable storage each and can be backed up like a floppy Now hard disk storage and speed yours with the added capability of interchangeable media The V1200 eliminates PROWRITER COMETH And It Cometh On Like Gangbusters Evolution It s inevitable An eternal verity Just when you think you ve got it knocked and youre resting on your laurels some body comes along and makes a dinosaur out of you Witness what happened to the Centronics printer when the Epson MX 80 came along in 1981 And now witness what s happening to the MX 80 as the ProWriter cometh t
14. Reduces heat 48K Board 150 90 16K Board 80 60 FREE SHIPPING ANYWHERE IN U S A INTEC PERIPHERALS ConP 906 E Highland Ave San Bernardino CA 92404 714 881 1533 29 ATARI 400 800 are Trademarks of ATARI Inc 400 32K Board 4007800 No 57 February 1983 S5F A940 85 amp n382 Ss5r9 8940 SSFS A212 BIF SIF cs ces2 FaGB caaa DFS E F9 DBEC E88 DES Listing 3 ASSEMBLER CALL 11 15 81 BY DAVID A JONES RELOCHTES COLE STORED IN RGM TO RAM 5908 FRHI 358 FROM ADDRESS HIGH EYTE FRLO 48 FROM ADDRESS LOW BYTE TOHI 82 TQ ADDRESS HIGH BYTE T LU 4 10 ADDRESS LOW BYTE FREG F6 TEMNFORARY FROM ADDRESS STORE TREG F 8 TEMPORARY TG ADDRESS STORE BLKS 12 NUMBER OF ELOCKS TO MOVE CHES ASBN 388 ASSEMBLER EDIT R ENTRY POINT LDA FRHI STR FRE LDA FRLO STA FREG LOR STR TREG LDA TOLU STA TREG LDN BLKS LOY 0 BLOCK LDA CFREG Y STA TREG Y INY 52 CHECK FUR POSSIBLE END GF COCE EEQ TEST DO REST OF CHECK IF sa CFY 2 IF CHECK FUR END BLOCK ENE BLOCK INC FREG INCREMENT BLOCK POINTERS INC TREG DEN DECRENENT BLOCK COUNTER ELOUK TEST CPS 1 IF 1 THEN FINISHED BRE BLOCK OTHERWISE 13 JMP ASBM MICRO OSI Disk Users Double your disk storage capacity Without adding disk drives Now you ean more than double your u
15. SCREEN BLACK 0 WE CAN SEE IT WORK Michael T lloch is a consultant in gt 19 6 C d 1 160 POKE 906 6 POKEG 7 3 REM SET THE OUT PUT VECTOR TO ROUTINE engineering psychology and president of 198 END Intelligent Home Systems Inc He may be QCB 9 SINGLE BOARD COMPUTER 6809 BASED RUNS TSC FLEX DOS x QCB 9 1 S 100 BUS x QCB 9 2 SS 50 BUS 119 00 PARTIAL KIT FEATURES 514 Floppy Controller Serial RS 232 Port Centronics Type Printer Port Keyboard Parallel Port 24K Bytes of Memory QBUG Resident Monitor 6802 Adaptor FULLY ASSEMBLED amp TESTED 389 00 48 hour Burn in 90 Day Warranty NAKED 09 SS 50 6809 CPU CARD 1K RAM AT E400 Assembled amp Tested 149 00 6K OF EPROM AT E800 FFFF 2 MHZ Version HIGH QUALITY DOUBLE SIDED SOLOER MASKED TSC FLEX DOS ASSEMBLER EDITOR QBUG RESIDENT MONITOR Disc 8oot Memory Test Memory Exam amp Exchange Zero Memory x Jump to User Program Memory Dump Memory Register Display amp Change QBUG IS A TRADEMARK OF LOGICAL DEVICES INC Copyright 1981 PHONE ORDERS 305 776 5870 LOGICAL DEVICES INC COMPUTER PRODUCTS DIVISION 781 W OAKLAND PARK BLVD FT LAUDERDALE FL 33311 TWX 510 955 9496 WE ACCEPT VISA MC CHECKS C O D MONEY ORDER 49 95 189 00 oy nn SILK SCREENED 150 00 50 00 Break Points 20 MICRO contacted at Intelligent Home Systems Inc P O B
16. easier EDIT implements a video screen 13 VARIABLE SAV BUF 54 ALLOT Buffer for deleted line editor for the Atari 800 This 2 6K byte 13 eee 15 application can be modified to most memory mapped video FORTH mm systems With modification of the low i READ SCREEN SCR INTO MEMORY level terminal words EDIT should be D READ adaptable to FORTH systems contain 3 3 gt gt 4 16 DO t For each line of the screen ing a serial terminal with an ad 5 I SCR 3 LINE Read amp get the ADDR LENGTH IessaDie Cursor DROP UPDATE DROR Mark the block of memory d bl 7 LOOP next screen line 8 EDIT Design 9 CLINE Initialize to 1ST LINE MT 19 CCHAR 2324 to 15 CHAR The two objectives of EDIT are to 11 SIDE to LEFT SIDE provide a useful video screen editor and 12 to maintain full compatibility with m fig FORTH Specifically the 15 gt following points are considered mae WES 1 Retaining FORTH s 16 line by d FRIMATIVE SCREEN MANIPULATIONS 1 64 character text Screen 2 Making FORTH LISTs TRAIDs of 3 XGR Clear video via GRAPHICS t i i D edited screens visually acceptable 3 Allowing screens to be compiled by amp POINT CURSOR raw col 7 85 Save col in system shadow FORTH LOAD 8 84 C Save row too only 1 byte 4 Making the video reflect the current 9 18 CURSOR9
17. 2099 PERCOM ORIVES 5 160K Disk Drive 249 00 5 320K Disk Drive 299 00 AMDEK 310A Amber Monitor 310G Amdisk 3 Drive OXY Plotter Color II 179 00 179 00 729 00 759 00 699 00 SOFTWARE 10 5 Easywriter tl U S Easyspeller Peach Package GL AP AR 249 00 129 00 419 00 PROFESSIONAL SOFTWARE IBM PC Word Processing 319 00 TELEVIDEO TERMINALS aee e 579 00 699 00 749 00 TELEVIDEO COMPUTERS BOOA 1319 00 2649 00 4695 00 5495 00 9495 00 CALL TIMEX SINCLAIR 1000 16K Memory Module Vu Calc Super Math Check Book Manager The Organizer The Budgeter Stock Option Loan amp Mortgage Amortizer 12 95 PRINTERS SMITH CORONA 599 00 C ITOH TEC StarwriteqF 10 40CPS 1399 00 Printmastenf 10 55CPS 1749 00 Prowriter 80 Col Parallel 499 00 Prowriter 80 Col Serial 629 00 Prowriter 2 132 Col 799 00 OKIOATA 1079 00 1199 00 B4 Parallel B4 Serial MicroPrism 132 Fully Configured 1599 00 80 Fully Configured 1399 00 Call for other configurations Gemini 10 OAISYWRITER Letter Quality OlABLO 1179 00 1849 00 MONITORS AMDEK 179 00 EREE A EDE REINAN 339 00 Golot 1l iocans 699 00 iuda seis sez etie 799 00 12 GION ie Sean hese res 13 Color 1401 Mid Res 369 00 9191U ims 329 00
18. A match routine can be used for several purposes to scan for a key word or key phrase to overlook misspell ings and to detect what type of error a student has made which is necessary for effective diagnostics To do these things the author must be able to tell the routine what to look for and what to ignore selective ignoring or masking is what a match routine is all about I use two characters as in IBM s Course writer the asterisk and the ampersand The asterisk indicates a single character ignore that is when scan ning to see if the student s response matches the author s expectations the routine ignores the character in the position of the asterisk Thus if the author asks to match COMPUT R the routine reports a match if the student response is computer or computor or computir or even computzr Because the asterisk ig nores only non blank characters a response such as comput r will yield ACORN 68666 ATTACHED PROCESSOR FOR THE APPLE II HARDWARE a no match The ampersand amp which is multiple character ignore means ignore anything and everything or even nothing in that position It works just like the wild card character used in some utility programs such as FID Thus an in struction such as amp COMPUTER amp tells the routine to report a match if it finds the word computer anywhere in the response The asteri
19. Language Feature FIRST THINGS FIRST LEARN ALL ABOUT When you don t know the first thing about your new Apple you need a friendly cheerful easy going teacher at your side And the ELEMENTARY APPLE is just that kind of book It sweeps away the confusion explains your Apple in everyday language shows you how to hook it up how to use the keyboard and work on the screen Gently and carefully it gives you an understanding of all the things your Apple can do And then it even shows how easy it is for anyone to write a simple program provides common sense answers about graphics utility programs and the how and why of word processors business programs and hardware like printers VISA MASTERCARD accepted 2 00 shipping handling charge California residents add 6 sales tax Apple Il is a trademark of Apple Computers Inc Yes there s a lot of information But not one chapter c one word is dull or difficult to follow or complicated Prove i yourself Visit your computer store Open the ELEMENTAR APPLE Read a page of the introduction then flip it open anywhere and read a paragraph or so You ll find it s as understandable as helpful and as marvelous as we say If you or a member of your family is an Apple beginn this is the book you need It ll teach you everything you war know in the way you want to learn Only 14 95 At computer and book stores or J DATAMOST 9748 Cozycroft Ave Chatsworth
20. MICRO BREAK CATALOG CHAIN CONFIGURE CONNECT CONVERSE DIAL END HANGUP 106 MONITOR NOLOG ONERR PAUSE PROMPT RECEIVE REMARK RETRIES SEND SPECIAL SPEED TIMEOUT XMIT WAIT Supports these interface boards Apple Communications Card Apple Parallel Printer Apple Serial Interface Apple Super Serial Card Bit 3 Duai Comm Plus CCS 71710 7720 7728 Hayes Micromodem II Hayes Smartmodem 300 amp 1200 Intra Computer PS10 Mountain Computer CPS Card Novation Apple Cat ti 300 amp 1200 Orange Micro Grappler Prometheus VERSAcard SSM ASIO APIO AIO AIO 1I Supports your 80 column hardware ALS Smarterm Bit 3 Ful View 80 Computer Stop Omnivision MER Sup R Terminal STB Systems STB 80 Videx Videoterm Vista Computer Vision 80 Wesper Micro Wizard 80 the serial interface parameters to be used Online Update Service The Softronics Online Update Service is pro vided as an additional support service at no additional cost to Softerm users Its purpose is to allow fast tumaround of Softerm program fixes for user reported problems using the automatic patch facility included in Softerm as well as a convenient distribution method for additional terminal emulations and 1 0 drivers which become available User correspondence can be electronically mailed to Softronics and user contributed keyboard macros file transfer macros and host adaptations of the Softrans FORTRAN
21. PERK MEIGHT a i a a Figure 1 High resolution hard copy from two gas chromatography experiments The first illustrates the chromatograph of a two component mixture and the second a four component mixture The retention times and peak areas are indicated at the top of each plot The chromatograms were obtained with a Carle Model 8700 gas chromatograph interfaced to a PET CBM microcomputer and Trendcom 100 dot matrix printer as described in the text fier to interface the spectrophotometer to the microcomputer In this case as with the GC the hardware re quirements are simple The only sig nificant problem was the development of the necessary software The software requirements for data acquisition with a spectrophotometer computer system are not very different from those already discussed for the GC The computer must be signaled when data collection is to begin and it has to store the acquired data for pro cessing when the analytical scan is finished It is necessary to keep track of the time and the wavelength scan rate so the wavelength scale can be cali brated properly Another requirement is that high resolution hard copy of the absorption spectrum must be available for further analysis The BASIC portion of the program package which interfaces with the user and performs the calculations was specific to this application and had to be written in its entirety Because of the similarity in t
22. Synthy 64 is an interpreter that replaces the C64 s BASIC interpreter so most BASIC keywords don t work or work differently The rudiments are there for control of program flow GOTO GOSUB RETURN STOP END The INPUT command is modified to handle multiple choice menus like a BASIC ON GOTO Text including all C64 control and graphics characters can be displayed simply by enclosing the characters in quotes Just about everything else is missing including the POKE state ment needed to change screen or border colors it works in immediate mode but not within a program LOAD and SAVE operations are implemented for both cassette and disk I found only two minor bugs in Synthy 64 The manual says you can tie a portamento to the previous note My attempts to do this resulted in the interpreter skipping the portamento Also described is a skip ending feature to repeat a phrase skipping the rest of the program line until a MICRO specified number of repeats have occur red Instead the remainder of the line is played the specified number of repeats and then it is skipped backwards Synthy 64 changes octave designations between G and A rather than the more conventional C split The manual is an adequate refer ence although there are numerous typographical errors a few of which result in misinformation Synthy 64 is in general a well done convenient music composition program Nearly all of the C64 s powe
23. The author may be contacted at 3540 Sturbridge Ct Ann Arbor MI 48105 INICRO assembler as opposed to word defini Perry Peripherals Repairs KIMs SYMs and AIMs Too We will Diagnose Repair and Completely Test your Single Board Computer We Socket all replaced Integrated Circuits You receive a 30 day Parts and Labor Warranty Your repaired S B C returned via U P S C O D Cash Don t delay Send us your S B C for repair today Ship To Preferably via U P S Perry Peripherals 6 Brookhaven Drive Rocky Point NY 11778 KIM 1 Replacement Modules e Exact replacement for MOS Commodore KIM 1 S B C e Original KIM 1 firmware 1K and 4K RAM versions Replacement KIM 1 Keyboards e identical to those on early KIMS SST switch in top right corner e Easily installed in later model KIMs Perry Peripherals is an authorized HDE factory service center Perry Peripherals carries a full line of the acclaimed HDE expansion components for you KIM SYM and AIM including RAM boards Disk Systems and Software like HDE Disk BASIC V1 1 Yes we also have diskettes For more information write to Box 924 Miller Place NY 11764 or Phone 516 744 6462 60 MICRO No 57 February 1983 Apple The 68000 DREAM MACHINE WE SORT OF LIED Motorola has been promoting its advanced microprocessor chip as a vehicle for large complex systems exclusively Now the 68000 does work well as the heart of big
24. _ sc 00405 0 PUNK me eS N 13 4A 15 64 PRIMITIVE SCREEN MANIPULATIONS CURSOR CURSORS POINT CURSOR 3 SCREEN CURSOR CURSOR SWAP 40 x 196 256 960 DUF C9 128 SWAP C 65 PRIMITIVES FOR DISPLAY gt HLINE 54 DO TOF EOT EMIT LADDR CLINE SCR 2 LINE DROP SIDE 39 IF 32 ENDIF EADDR CLINE SCR 3 LINE DROP SIDE 39 IF 32 ENDIF 66 PRIMITIVES FOR DISPLAY ELINE LEDGE EMIT LADDR 32 TYPE REDGE EMIT z XLINE LEDGE EMIT EADDR 52 TYPE REDGE EMIT 67 PRIMITIVES FOR DISPLAY WRITE LINE CLINE 9 LINEOFF CHAROFF 9 1 FOINT CURSOR ELINE WRITE EXTRA EXTRAOFF 9 LINEOFF 9 CHAROFF 3 1 FOINT CURSOR XLINE v 68 PRIMITIVES FOR DISPLAY TOF LINEOFF 9 1 CHAROFF 9 1 EOINT CUKSOR HLINE BOT LINEOFF 2 16 CHAROFF 3 1 FOINT CURSOK HLINE MICRO ARR AA LANGUAGES Get video row and col pos Point ATARI text cursor Get video row and col pos Form GR mem addr offset Get top of memory addr Backup to ist of display Form mem addr of cursor Get screen display invert Fut inverse video back For horizontal window span Fut a bar in each char addr Compute mem addr of line Adjust for left side addr Compute mem addr of line A
25. by Mike Dougherty EDIT uses the Atari 800 display Listing 1 EDIT for Atari flg FORTH as a text window into a FORTH SCR bg di gi EDIT isk screen and allows full use 1 of the Atari special function 2 fig Forth Screen Editor 3 keys to prepare FORTH 4 t by Mike Dougherty applications St 6 This editor allows the user 7 t to edit a Forth screen using 8 the Atari display as a text 9 window into the Forth screen ig EDIT 11 To load EDIT LOAD requires 12 1 13 To EDIT screen sin n EDIT Atari 800 with 24K fees Atari 810 disk drive APX fig FORTH EE CONSTANTS VARIABLES FOR EDITOR 1 The Atari Program Exchange version of 2 9 VARIABLE CLINE Current line number 9 15 n n VARIABLE CCHAR Current char number 0 65 FORTH APX fig FORTH on 4 3 VARIABLE LINEOFF Offset for 1ST text line with the sources for two line oriented S 3 VARIABLE CHAROFF Offset for left margin eer amp 18 CONSTANT TOP EOT Top amp bottom window char editors on disk Although line editing is X i j 2 CONSTANT REDGE t Right edge window char greatly enhanced by using the Atari 8 22 CONSTANT LEDGE Left edge window char dit k l vid 9 VARIABLE SIDE Current side of screen screen edit keys a genera video screen 1 17 VARIABLE EXTRAOFF Extra line screen position editor makes software development 11 iei 12 d VARIABLE STOP Editor exit flag
26. 09052 9053 9054 9056 9057 9958 0059 2060 2861 9062 9063 2064 9065 0966 20067 0968 0969 6076 9971 090 0090 2009 0039 90030 0034 6034 2076 2070 9076 0076 027a 927b 827c 027d 27e 027 7 47 7 49 7e4b 7e4d 7e4f 7e51 7e53 7 55 7 57 7 59 7e5b 7eSd 7e5f 7e69 7e63 7e65 7e68 7e6b 7e6c 7e6e 7e70 7 72 7 74 7 76 7 78 7e7a 7e7c 7 7 7 80 7e83 7e84 7e86 7e89 7e8c 7 8 7 91 7 94 7 96 7 98 7e9b 7e9d 7 9 7 1 7 4 7ea6 7ea7 7eaa 7eab 7ead 7eae 7ebl 7eb4 a9 85 a9 85 a9 85 9 85 9 85 6 20 a2 20 9d e8 24 30 c9 fo 0 as 29 fa a9 9d 8 9 9d 20 26 4 a9 85 20 86 86 86 ad fe 8a 20 18 90 8a 20 20 c9 Listing 1 Assembly Listing print827 aug 26 1982 0030 start of strings 9034 top of basic 0076 chrget 0076 chrgot 027a temp3 1 temp4 temp5 temp6 temp7 7e47 7e setup 1 7e 31 sta 31 35 sta 35 46 lda 46 39 sta 30 34 sta 34 4c 1 4 78 sta 7 e5 lda 5 71 sta 71 7e lda 7e 72 sta 72 rts 70 99 input4 jsr chrget input ldx 500 cg fl input2 jsr flc 7c 02 sta 027c x inx 10 bit 10 94 bmi input5 504 Ga beq input3 fa input5 250 26 beq input3 96 lda 96 40 and 010000 e7 beq input2 22 input3 lda 22 7c 82 sta 027 i
27. 11 2 RESTORE 40350 IT 12 GOSUB IT 13 RETURN IT 14 REM IT 15 STOP 40360 IT 16 2 ON 1T 17 NULL IT 18 WAIT IT 19 LOAD 40370 20 9 21 e DEF IT 22 e POKE IT 23 PRINT 40380 ITS 24 CONT IT 25 LIST IT 26 e CLEAR I7 27 NEW 40390 IT 28 TAB 1T 29 TO IT 30 EN IT 31 SPC 40400 IT 32 THEN 17 33 NOT IT 34 e STEP IT 35 40410 IT9 36 2 1T 37 e 11 38 IT 39 A 40420 IT 40 AND IT 41 OR IT 42 2 IT 43 40430 5 44 lt 11T 45 e SGN IT 46 INT IT 47 ABS 40440 ITS 48 USR iIIT 49 FRE 1T 50 POS IT 51 SQR 40450 ITS 52 RND 1T 53 LOG IT 54 e EXP IT 55 COS 40460 ITS 56 e SIN IT 57 TAN IT 58 ATN IT 59 PEEK 40470 IT 60 LEN IT 61 STR 17 62 2 VAL IT 63 ASC 40480 ITS 64 e CHRS IT 65 LEFTS IT 66 RIGHTS 40490 IT 67 MID 40500 REM INITIALIZE 40510 PRINT ENTER RANGE OF OLD S YOU WISH TO UPDATE 40520 INPUT LOW HIGH LR HR 40530 INPUT ENTER NEW NUMBER BEGIN STEP BG ST 40540 X 769 REM BEGIN OLD DESTINATION PASS ODP 40550 Q 0 REM SET TABLE INDEX TO BEGINNING 40560 NAePEEK X 1 REM GET NEXT INSTRUCTION HIGH BYTE 40570 NA9NA 256 REM SETUP HIGH 40580 NB PEEK X NA NA NB REM ADD IN LOW 40590 REM NA IS NEXT
28. 2 Two ATARI and two 2532 s or 2332 s SPECIFY WITH ORDER ROMs Also order 2532 4K EPROMs 7 50 each with cartridge order only 3 eoe oO eoe e eee e ee e ee eee e 5 CHAMELEON COMPUTING Dept of Physics amp Astronomy Box 119 M Dickinson College Carlisle PA 17013 717 245 1717 kk kk kkk kkkha kkk kk kkk kkk kkk kk Please add 1 50 shipping handling PA residents add 6 sales tax CHECK MC VISA Quantity discounts available 53 LANGUAGES EN LANGUAGES APPLE Pascal Hi Res Screen Dump by Robert D Walker A Pascal procedure to dump the high resolution graphics screen to your printer SCREENDUMP requires Pascal Epson with Graftrax Many machine language subroutines have been written to dump the Apple high resolution graphics to the Epson MX 80 printer I have not found how ever any subroutine specifically written for Apple Pascal If you own an Epson MX 80 with Graftrax and want a hard copy of Turtlegraphics the following Pascal procedure should prove handy The procedure in listing 1 takes ad vantage of Pascal s ability to declare variant records The type WIRES associates eight boolean variables with eight bits in a byte In fact these eight boolean variables occupy the same memory location as the byte Each boolean variable represents one wire on the printhead If the boolean variable is true the printing wire is fired other wise it is not I encoun
29. 24 95 CARDBOARD 3 29 95 CW 1909 Midnight Drive Cart authentic night driving 24 95 expansion interface for the VIC 20 2 CARD CARD PRINT 79 95 EN 1910 Radar 24 95 t 1911 Sky Falling 24 95 u I Cent Parallel P B 4 U Epson MX 80 OKIDATA B TANDY a any oer CW 1912 Mole Attack a colortul cartoon action game 24 95 CARDETTE 39 95 CW 1913 Raid on Ft Knox try to escape the guards 24 95 Use any standard cassette player recorder with your VIC 20 or CBM 64 CW 1914 Adventure Land Formerly available only on larger 31 95 CARDRITER 29 95 more expensive computers All Adventure games are decoded tc A light pen with six good programs to use with your VIC 20 or CBM 64 CW 1915 P pie e N Talk voice synthesizer available from VOTRAX 191 irate Cove Adventure Yo ho ho amp a bottle of rum 31 95 CW 1916 Mission Impossible Adventure 31 95 BUSINESS amp HOME APPLICATIONS FOR VIC 209 CW 1917 The Count Adventure trapped in Dracula s castle 31 95 CW 107A Home Calculation Program Pack 48 95 with 3 days to find and destroy the v mpire CPV 31 DataFiles your storage is unlimited 14 95 CW 1918 Voodoo Adventure you have to free 31 95 GPV 96 Household Finance Package i keep rec rds olal 190 99 CW 1919 Sargon Chess seven challenging play levels 31 95 CPV 208 Bar Chart display your numerical data 8 95 CW 1923 Gorf The smash hit arcade 31 95 CH Tur
30. 7 43 7 45 7 48 7f4b 7f4e 7f51 7 51 7 53 7f 56 7 58 7 5 7f5e 7f61 7 63 7 66 7 68 7f6a 7f6d 7 70 7 72 7 75 7 78 7f7a 7 7d 7 80 7 82 785 7 87 0 c9 fg 20 86 86 20 28 20 c9 de a9 85 ad 2 2 20 4c 8c e6 de e6 ag bl c9 9 c9 fo ac 4c a9 2c a9 8d 20 c9 f c9 f 28 4c ad 20 c9 0 26 20 86 ag 28 20 c9 f 20 86 86 29 9 2 8 26 26 6 28 a9 8d 28 fo 20 c9 20 20 86 20 4c a9 8d 20 86 20 a9 8d ge 5c ga dl 5 09 48 76 5 04 ff 10 7b 87 70 aa b4 fa 7a 77 92 78 0e 77 99 85 29 7 76 22 7b 70 40 85 21 a6 7 fa 7b Ge 76 3b 31 7 dl d4 ag 7 76 3b dl 23 a5 99 40 49 48 70 a7 7 22 40 49 76 97 78 ab 7 dl a5 09 5e 34 11 dl a5 ag 11 c8 f1 1 og 82 Lr ba bb 7e 22 82 gg 82 00 7f 7e 02 Bg 7f c8 f ea c8 f1 e8 e8 fl gg 7f e8 e8 gg ge 7f c8 f1 7f e8 c8 f1 e8 MICRO beq emp beq jsr stx stx jsr jsr jsr bne lda sta lda bne jsr atnhi2 print4 jsr jsr jme print3 start sty inc bl bne inc b2 ldy 1 beq cmp beq ldy jmp bacbas b5 18 atnhi2 5 atnhi2 8 1 d3 a5 109 148 chrgot 5 print4 SEE 16 temp4 i
31. 80 Track DSDD Drive Option add 400 00 GIMIX Inc reserves the right to change pricing and product specifications at any time without further notice 1337 WEST 37th PLACE Emulates these terminals exactly f M a IBM 3101 DEC VT100 VT52 Oata General D200 ADDS Regent 20 25 40 Hazeltine 1400 1410 1500 Lear Siegler ADM 3A ADM 5 TeleVideo 910 Teletype Model 33 KSR Apple is a trademark of Apple Computer Inc Your host compute won t know the difference Softerm provides an exact terminal emulation for awide range of CRT terminals which interface to a variety of host computer systems Special function keys sophisticated editing features even local printer capabilities of the terminals emulated by Softerm are fully supported Softerm operates with even the most discriminating host computer applications including video editors And at speeds up to 9600 baud using either a direct connection or any standard modem Unmatched file transfer capability Softerm offers file transfer methods flexible enough to match any host computer requirement These include character protocol with user definable terminator and acknowledge strings block size and character echo wait and the intelligent Softrans protocol which provides reliable error free transmission and reception of data The character protocol provides maximum flexibility for text file transfers Any type file may be transferred using the
32. 90 PRINT INFUT Was this code assembled with an offset 100 IFLEFT Y 1 2 Y THENPRINT OF 0 GOTO120 110 PRINT PRINT For the offset GOSUB490 OF A 120 NL INT EA SA 15 1 REM 4 lines size 15 1 120 SPZzNLXS2 REM Space Approx 52 bytes Number of lines 140 IF EA SP lt SS 256 THEN A INT EA 256 1 X256 GOTO2S0 150 IF S 256 SF lt SA THEN 5 256 THEN2OQ REM Will it ever fit 160 IF EA SA SP lt SSK256 60T0250 170 FPRINT 28 This code needs to be reassembled higher in 180 PRINT memory in order for it to fit in your available 190 PRINT RAM along with the generated indirect file END 200 PRINT This machine code routine is simply too large to fit in 210 PRINT memory along with the generated indirect file 220 PRINT You might try breaking it up into pieces and then 230 PRINT re run this program on each individual piece merging 240 PRINT the results into a large program on disk 250 POKE9554 4 256 POKE9268 0 256 REM Set up indirect file 260 DA A SA SA OF EA EA OF 270 FRINT What line number should the DATA reading 280 INPUT start with sLN PRINT 290 INFUT How much should I increment each line number 1 FOKEDA 13 POKEDA 1 10 2 REM Initial ZCR2ZLFE Z310 OS STR ON GOSUB6O0 52 DA DA 1 Z20 GOSUB600 Q STR SA GOSUB620 320 GOSUB46OO0 5 GOSUB620 FOKEDA 58 DA DA 1 340
33. 914 916 918 919 920 921 922 924 925 print8e 4 2 david priddle puts atn low rem input8 pa sa a b rem input pa sa a b rem rem rem rem print bytel 933 934 941 942 944 rem input a b rem rem rem sa 1488 1410 1420 sys32327 1430 MICRO or Listing 2 BASIC Loader august 27 1982 N puts atn high rem addresses converted to talk or listen as appropriate rem print pa Sa a b c rem print pa sa a b c sends data and cr only sends data and cr lf input ends on eoi buffer full or cr input ignores cr KEKKAHKKKKKEKKEKEKKEKKEKKKEKKKKKKKKEREKAKE KK katt rem print pa sa bytel byte2 byte3 minus sets eoi byte sexpression with value 0 255 allowed if device has been addressed not allowed without either address or datum not converted to talk or listen 926 rem print 927 rem addresses sent as is 928 rem don t forget to unt unl the buss 930 rem 932 rem input a input single byte and assign to variable input single bytes and assign to variables rem device must be addressed with print pa sa first is optional in all cases if allowed by device 1000 datal69 126 133 49 133 53 169 70 133 48 133 52 169 76 133 112 1018 datal69 229 133 113 169 126 133 114 96 32 112 9 162 2 32 192 1020 data241 157 124 2 232 36 16 48 4 201 13 249 10 224 250 240 1030 data6 165 150 41 64 240 231 169 34 157 124
34. 97EB SPEC SPEC S7EE oF i S FS3 S7F6 3 F9 AIZA 2eEEFF 8204 2aEDFE 28EEFF 28093FE EFF R200 26DAFE R6FF CR DEB INNN ADI 882 SSFR ADI 982 SIFE RDDRHS 801382 8D1982 naaa8 S4FE 4074A2 400097 H4FE BIFC C999 Fees cs S4FE baa2 EeFD 68 RETN MOVE LORD ASFA 801802 ASFB 8D 982 QUT 4Ur74R2 MICRO Listing 1 i RUTOBRSIC 11 32 81 BY DAVID A JONES 97R0 VTMP RDDR YTMP IVEC WARM LEGA ROLA INPU LDR JSR LDX JSR JSR JSR STX LDX JSR LDX DEX BNE LOR STA LEA STA LDA STA LDA STA LDtY STY LOY LOR BEQ INY STY BNE INC RTS LEA STA LOR STA JNP El sFB FC FE FF 0218 A274 3FE93 L FEDA T 3FEED BASOQUT FFEE BASOUT 4 INPUT BASOUT LEGAL XTMP m ROLA NTMP INNN IVEC VTMP IVEC 1 VTMP I NMOVE I IVEC HOVE 2 IVEC I 0 YTMP WARM LOAD YTMP FROMPT GET ADDRESS 4 HEN DIGITS HES CHARACTER ROLL IT INTO ADDRESS REGISTER GET REST UF ADDRESS SAVE INPUT VECTOR SET INFUT WECTOR PRESET REGISTER LOAD PROGRAM FROM PROM CADDR 2 Y 99 YTMP RETN RODR 1 VTMP IVEC VTMP 1 IVEC I WARM END OF FILE NEXT BLOCK RESET YECTOR continued No 57 February 1983 HM6116 or TMM2016 RAMs are used I chose a mixture of 4K RAM and 24K EPROM which works well for a cassette based system I or
35. CA 91311 213 709 1202 38 MB WINCHESTER SYSTEM HARDWARE FEATURES x 2MHz 6809 CPU 512KB Static RAM x 8 RS232C Serial Ports x 2 Parallel Ports SOFTWARE FEATURES x OS 9 LEVEL TWO Multi User Operating System x OS 9 Debugger 19 MB WINCHESTER SYSTEM HARDWARE FEATURES 128K Static Ram 2MHz 6809 CPU 2MHZ 6809 SYSTEMS GIMIX offers you a variety to choose from MIR ROM 17 498 99 DMA Double Density Floppy Disk Controller Dual 8 DSDD Floppy Disk System Dual Winchester Subsystem with Two19 MB 5 Winchester Drives OS 9 Text Editor OS 9 Assembler M PM A 8998 09 4 RS232C Serial Ports 1 MB 5 Floppy Disk Drive 19 MB 5 Winchester DMA Subsystem DMA Double Density Floppy Disk Controller SOFTWARE FEATURES x OS 9 LEVEL TWO Multi User x OS 9 Debugger Operating System x OS 9 Assembler x OS 9 Text Editor 128KB MULTI USER SYSTEM 6997 39 HARDWARE FEATURES x 2MHz 6809 CPU x 2 RS232C Serial Ports DMA Double Density Floppy Disk Controller Dual 8 DSDD Floppy Disk System x 128KB Static Ram SOFTWARE FEATURES Your choice of either UniFLEX or OS 9 LEVEL TWO Both are Unix like Multi User Multi Tasking Operating Systems 56KB FLEX 08 9 SWITCHING SYSTEM 4148 49 HARDWARE FEATURES x 2MHz 6809 CPU x 56K Static Ram 2 RS232C Serial Ports SOFTWARE FEATURES GMXBUG monitor FLEX Disk Operating Syst
36. CALL 800 499 00 ATARI ATARI HARDWARE 410 CASSETTE RECORDER 75 00 825 PRINTER 585 00 830 PHONE MODEM 149 00 850 INTERFACE 164 00 PACKAGES CX481 ENTERTAINER CX482 EDUCATOR CX483 PROGRAMMER CX494 COMMUNICATOR SOFTWARE CXL4012 MISSILE COMMAND 28 75 CXL4013 ASTEROID 28 75 CXL4020 CENTIPEDE 32 75 CXL4022 PACMAN 32 75 CXL4011 STAR RAIDER 34 75 CXL4004 BASKETBALL 26 75 CXL4006 SUPER BREAKOUT 28 75 CXL4008 SPACE INVADER 28 75 CX8130 CAVERNS OF MARS 31 75 CX4108 HANGMAN 812 75 CX4102 KINGDOM 12 75 CX4112 STATES amp CAPITALS 12 75 CX4114 EUROPEAN COUNTRIES 12 75 16 75 CX4121 ENERGY CZAR 12 75 4123 SCRAM 19 75 CX4101 PROGRAMMING 19 75 CX4106 PROGRAMMING II 22 75 CX4117 PROGRAMMING lHl 22 75 CXL4015 TELELINK 21 75 CX4119 FRENCH 39 75 CX4118 GERMAN 39 75 CX4120 SPANISH 39 75 CXL4007 MUSIC COMPOSER 33 75 CXL4002 ATARI BASIC 45 75 CX8126 MICROSOFT 65 75 CXL4003 ASSEMBLER 45 75 CX8126 MACRO ASSEMBLER CXL4018 PILOT HOME CX405 PILOT EDUCATOR CX415 HOME FILING 69 75 65 75 NEW RELEASES CHOP LIFTER APPLE PANIC PREPPIE CHOP LIFTER APPLE PANIC STAR WARRIOR CRUSH CRUMBLE amp CHOMP SHOOTING GALLERY VIDEO MATH FLASH MY FIRST ALPHABET BAHA BUGGIES TEMPLE of ASPHAI UPPER REACHES LABYRINTH SEA FOX MOONBASE IO PROTECTOR SUBMARINE COMMANDER ROM
37. If you get to line 148 it means you have found the right segment and have masked the aster isks Check it If it is good go back to line 120 to find the next segment if the comparison is false you don t have a match and so you RETURN Please note that there are lots of string operations in this routine and string operations create garbage If there are hundreds of string variables as in an array for example in a large program that uses lots of memory memory will need to be cleaned quite often which may consume a consider No 57 February 1983 able amount of time In most circum stances however this should not pre sent a problem If you are interested in developing uses for this routine I suggest you use a very short program to get the strings called A and S and see if it accurately reports match no match Listing 2 is just such a short test program You can put it in front of the Match routine to test it In this test program if you want to use the same author string again press return without entering anything To end simply enter END as the author string Try it with represen tative samples to see if it is accurate and fast enough for your purposes Limitations and Modifications When using this match routine in my programs I have found no cases of the routine reporting incorrect results However experimentation has shown that the routine will give an incorrect result if a word with an asterisk i
38. JUMBO JET PILOT ROM SOCCER ROM KICKBACK football ROM PRINTERS Okidata 82A Okidata 83A Okidata 84 Prowriter 1 Prowriter 11 BUSINESS SOFTWARE ATARI WORD PROCESSING 109 00 LETTER PERFECT ROM 149 00 LETTER PERFECT disc 129 00 TEXT WIZZARD DATA PERFECT VISICALC DATASAM 65 JOYSTICKS ATARI CX 40 WICO COMMAND CONTROL WICO RED BALL WICO TRACK BALL SINGLE DRIVE SD 399 00 SINGLE DRIVE DD 549 00 DUAL DRIVE DD DUAL HEAD DD ORDER CALL TOLL FREE 800 233 8760 In Stock items shipped within 24 hours of order Personal In PA 1 717 398 4079 checks require four weeks clearance before shipping No deposit for COD orders PA residents add sales tax All products subject to availability and price change Advertised prices show 496 discount offered for cash Add 4 for Mastercard and Visa MICRO or send order to Lyco Computer P O Box 5088 Jersey Shore PA 17740 No 57 February 1983 Listing 1 continued SCR 84 ESCAFE KEY PROCESSOR i Ze ESE 4 KEY DOCASE 5 amp 82 CASE CHANGE SIDE ENDCASE 7 78 CASE ENEXT ENDCASE 75 CASE ELAST ENDCASE 9 69 CASE EXIT ENDCASE ig 65 CASE EABORT ENDCASE 11 S88 CASE PUT LINE ENDCASE 12 1z BEEF ENDCASES 14 l9 gt SCR 85 8 i SCREEN EDITOR DEFINITION 1 2 EDIT 3 SCR 4 EREAD DISPLAY 5 8 STOP 5 7 BEGIN 8 KEY DOCASE 9 28 CASE UP CURSOR ENDCASE 29 CASE DOWN CURSOR ENDCASE 11 3
39. MICROCOMPUTER FEATURES 1024 BYTES RAM 4096 BYTES EPROM e USES ONE 6522 VIA 2 8 BIT BIDIRECTIO 2 16 BIT PROGRAM COUNTERS SERIAL DATA POR LATCHED I O WIT TTL CMOS CO 80 153A EPROM NOT INCLUDED LIST 100 499 110 95 66 57 LIST 100 499 129 95 77 97 USE YOUR 650 e YOUR HOME e HEAT CONT LIGHT CONTR i e e ALL PRODUCTS ARE AVAILABLE FROM JOHN BEL INC 1014 CENTER ST SAN CARLOS CA 94070 ADD SALES TAX IN CALIFORNIA ADD 5 SHIPPING amp HANDLING 3 FOR ORDERS OVER 100 0 OUTSIDE U S A MasterCard SEND 1 00 FOR CATALOG 415 592 8411 1 VISA lt HOURS 9am 4pm DD 1 50 FOR C O D 300 No 57 February 1983 MICRO 21 PROM BASIC for the CIP by David A Jones This article describes a unique way to increase the performance of the Superboard II C1P without a disk Interface and drive The modifications are for the user who wishes to dedicate his system to only a few specific tasks that are run often or who is inexperienced in the use of sophisticated computers PROM BASIC requires C1P As an alternative to upgrading a cassette based system to disk where improved performance is attained at a considerable price I would like to share my ideas on a PROM BASIC system Even with the general decline of com puter hardware prices adding a disk to my C1P would cost twice the original investment The alternative I refer to
40. Manuais alone price in Add 5 system for shipping 12 for foreign air Talbot Microsystems 1927 Curtis Ave Redondo Beach CA 90278 213 376 9941 TM tFOATH COLORFORTH and firmFORTH are trademarks of Talbot Microsystems TM FLEX is a trademark of Technical Systems Consultants No 57 February 1983 ALL provisions of the FORTH 79 Standard adopted Oct 1980 Compare the many advanced features of FORTH 79 with the FORTH you are now using or plan to buy FEATURES OURS OTHERS 79 Standard system gives source portability YES Professionally written tutorial amp user manual 200 PG Screen editor with user definable controls YES Macro assembler with local labels YES Virtual memory YES Both 13 amp 16 sector format YES Multiple disk drives YES Double number Standard amp String extensions YES Upper lower case keyboard input YES LO Res graphics YES 80 column display capability YES Z 80 CP M Ver 2 x amp Northstar also available YES Affordable 99 95 Low cost enhancement option Hi Res turtle graphics YES Floating point mathematics YES Powerful package with own manual 50 functions in all 9511 compatible FORTH 79 V 2 requires 48K amp 1 disk drive ENHANCEMENT PACKAGE FOR V 2 Floating point amp Hi Res turtle graphics COMBINATION PACKAGE CA res add 696 tax COD accepted MicroMotion 12077 Wilshire Blvd 3 506 L A CA 90025 213 821 434
41. PRINT PA SA Execution of the command causes the talker to send a single byte whose ASCII value is then assigned by the PET CBM to the variable a and then to send another single byte which will be assigned to b Any number or types of variables may be specified and a single byte will be input for each If no variable is specified an unassigned byte will be input and placed in location 00A5 where it may be PEEKed if desired Again the device must be sent UN TALK PRINT 95 in order to remove it from the bus This command is unlike GET in two important respects again no logical files are used and INPUT does not send either an address sequence or an UNTALK command The GET command does not allow a talker to stay actively on the bus because UN TALK is sent during each execution GET goes through the addressing routine each time before it gets a byte from the 488 bus These two aspects of GET can be merely an inconvenience or an absolute disaster when attemp ting to use the PET CBM to control ad vanced instrumentation With one in strument we have used GET caused the PET CBM to receive only every third byte sent because of the confusion caused by the repeated addressing se quences INPUT could not be used since more than 80 characters are sent without either EOI or a carriage return This utility program mimics the I O procedures used by Tektronix and thus allows the PET CBM to send or receive data using
42. SWIFTUS MAXIMUS Our last advertisement implied that we sold 8MHz boards to hackers and 12 5MHz boards to businesses That was sort of true because when that ad was written the 12 5MHz 68000 was a very expensive part list 332 ea Motorola has now dropped the price to 111 and we have adjusted our prices ac cordingly So now even hackers can afford a 12 5MHz 68000 board With we remind you absolutely zero wait states Swiftus maximus Do you know of any other microprocessor based product that can do a 32 bit add in 0 48 microseconds AN EDUCATIONAL BOARD If you want to learn how to program the 68000 at the assembly language level there is no better way than to have one disk full of demonstration programs and another disk full of machine readable and user modifiable 68000 source code Those other educational boards have 4MHz clock signals even the one promoted as having a 6MHz CPU honest so we ll call them stow learners They do not come with any significant amount of demo or utility software And they com municate with the host computer via RS 232 9600 baud max That s 1K byte sec Our board communicates over a parallel port with hardware AND software handshake at 71K bytes sec We ll call those other boards handicapped learners Our board is definitely not for everyone But some people find it very very useful Which group do you fit into DIGITAL ACOUSTICS 1415 E McFadden Ste F Santa Ana CA 92705
43. Since the memory maps of disk and cassette systems are very different my program takes any offsets that you had to use into account when creating the new subroutine When the machine code is in place re enter BASIC and run my program It will ask you where the machine code is in memory will accept the hex ad dress if you didn t figure it ahead of time what line numbers to use for the subroutine to be created and finally offsets if any After the program has run just type a lt CTRL gt X since my program has already NEWed itself out of existence You can now save this program on disk or run it and it will faithfully recreate your machine code program Note that my program was written using OS 65D V3 3 and has some print statements that do cursor addressing under that OS Those of you still running 65D V3 2 can eliminate the parts of the print statements that do this i e 12J in line 280 should be eliminated You may contact the author at 5405 Cumberland Rd Minneapolis MN 55410 29 commodore INTERFACES ADA 1450 5 ADA 1600 Parallel RS232 cable for Vic or 64 Video Audio cable for 64 amp monitor MONITORS Great resolution for the CBM 64 or VIC Panasonic 13 Color 375 Amdek Color 330 NEC JB 1201M 12 Color Mc 330 NEC JB 1201 12 green phosphor 170 Amdek Video 300L gr
44. The ElectroScreen manual is available for 10 credited toward purchase of the board E Un E Privac neos Dealers please contact us for our speciai faved cick package 3711 S George Mason Dr Falls Church Va 22041 42 MICRO No 57 February 1983 Graphics 512 x 480 resolution bit mapped display e interleaved memory access fast snow free updates Additional Features e SS 50C and 55 64 compatible board e Board communicates with host through parallel latches e Composite and TTL level video output e 8 channel 8 bit A D converter e Board occupies 4 address bytes LANGUAGES SuperPET APL This article gives a brief description of several APL textbooks currently available an overview of APL in general and the SuperPET s microAPL in particular Before I owned a Commodore Super PET I had heard of a programming language called APL but never had ac cess to a machine that could run it Therefore my curiosity about this un tried language influenced my decision to buy a SuperPET I think it is fair to say microAPL is the most unorthodox of the languages supplied with the SuperPET Programmers raised on FORTRAN and BASIC refer to it as the closest to hieroglyphics I ve ever seen and a write only language MicroAPL is also the largest of the four interpreters by Waterloo Computer Systems Ltd WCS that came with my SuperPET it nearly fills the 64K bank switched expansion RAM Con versely it has the
45. Use any standard cassette player re corder with your VIC 20 or CBM 64 CARDRITER 39 95 A light pen with six good programs to use with your VIC 20 or CBM 64 Prices subject to change TO ORDER P O BOX 18765 WICHITA KS 67218 316 684 4660 Personal Checks Accepted Allow 3 Weeks Handling Charges 2 00 or C O D Add 2 14 assembled for some other location such as in an EPROM The four new commands are im plemented using some of the PET CBM ROM routines but it was not possible to use the jump address table in ROM since only parts of the I O routines are used The commands support the full syntax error checking for variable type and legal values as well as for punctuation When the commands are entered BASIC crunches the PRINT or INPUT to the usual tokens 99 or 85 When BASIC executes the commands the utility program tests to see if a PRINT or INPUT has been found If either is found then a further test is made to see if they are followed by or and the correct routine is then started If neither test succeeds then control is sent back to BASIC Editor s note this approach slows down the execution of BASIC programs to varying degrees depending on the particular instructions involved If you don t need to use the commands for a particular program it is probably best to turn the machine off before loading a new BASIC program 909 rem 902 rem 904 rem 906 rem 908 rem 919 rem 911 912
46. WHOS ON FIRST The func tion body is then evaluated When the function is exited the local environ ment is destroyed and the value of the function body the atom ON is re turned If you now type L you get what you had before THIS BETTER WORK which is the global value of L One of the nicer features of LISP is that it allows the definition of recursive functions A recursive function is a function that is defined in terms of itself A perfect example is the factorial function which is defined as follows ni 1ifn 20 n n 1 otherwise This function can be represented very nicely in LISP FACTORIAL LAMBDA N COND EQUAL N 0 1 T MULT N FACTORIAL SUB N 1 COND is the LISP CONDitional construct and is analogous to the IF THEN ELSE construct in BASIC or Pascal The form of the COND is as follows COND e1 51 2 52 which be thought of as meaning IF 1 THEN 51 ELSE IF e2 THEN s2 ELSE IF e3 THEN s3 ELSE IF en THEN sn ELSE NIL 68 Each el is evaluated until one evaluates to a non NIL value The corresponding sl is then evaluated and returned as the value of the COND If all of the ei eval uate to NIL then COND returns NIL In the FACTORIAL function above the COND returns 1 if N is equal to 0 Otherwise the MULT s expr is eval uated note that the T forces this s expr to be evaluated if the first test fails The MULT contains a recursive call on FAC
47. ZVM 121 erts Sharp 137 Color TV PANASONIC TR 120MIP High Res Green 159 00 CT 160 Mode Color 299 00 EN PC 1500 POCKET COMPUTER 209 mmaa 80 CE 150 Printer Plotter and Cass Interface Unit 172 00 CE 152 Cass Recorder 69 00 CE 155 8K Ram Expansion Module 94 00 MODEMS 239 00 Smart 1200 1200 Baud 549 00 Chronograph Micromodem 11 with Term Micromodem 100 309 00 309 00 NOVATION 212 Auto Cat Apple Cat 11 212 Apple Cat Il CALL for Price and Availability on New NOVATION Cat 103 103 212 and J Cat ANCHOR Mark RS 232 Mark II Atari Mark III Ti 99 Mark IV CBM PET Mark V OSBORNE Mark VI IBM PC 179 00 Mark VII Auto Answer Call 119 00 TRS 80 Color Computer 99 00 9 Volt Power Supply HEWLETT 9 PACKARD CA 41cv 209 149 00 Enoe 69 00 79 00 114 00 109 00 114 00 PERIPHERALS HP41 Card Reader 144 00 HPIL Module 99 00 HPIL Cassette 449 00 HPIL Printer 419 00 Quad Memory Module 64 00 Time 64 00 Extended Function Module 64 00 Ver erie proper HP ss 1969 APA 28 cos rosso ie 1999 00 HP 85 16K Memory Module 169 00 5 Dual Floppy Disk 1799 00 Hard Disk w Floppy 4349 00 Hard Disk 3549 00 Sweet Lips Printer 1219 0
48. and W Wait also are particularly relevant to the in structional environment Such educa tionally meaningful features in a 2K package are unique indeed Tiny PILOT s statements are both highly practical and readily comprehended by the young computerist There are other user oriented features Hitting RETURN in response to E or A statements gives either MICRO Zero or a null string it does not knock you out of the program as does BASIC s INPUT press STOP to exit the pro gram Also L G Z unimplemented subroutines that might inadvertently find their way into a program return appropriate ERROR messages they do not bomb leaving the user buried in a machine language crash Special challenges occur when you attempt to deal with string variables in Tiny PILOT The language s greatest limitation and the one that saves the most memory is a near lack of string variable capability Some modest addi tional capacity in this area would be most welcome As it stands the only viable string variable applications involve matching responses and incor porating the user name string and strings converted from numerics in text The only directly specified string the name string is entered by the user in response to a statement It is later referenced in Match and Type statements Numerics may be included in text only by first converting them into strings This is accomplished with the Compute statement C 2
49. beast on the road reading and writing relative file data The author may be contacted at 1280 Richland Av Lincoln IL 62656 MICRO BEEP BUS RIDER LOGIC ANALYZER FOR THE APPLE II The Bus Rider is a self diagnostic development tool that allows real time analysis of software and hardware the Apple Il computer The Bus Rider provides e Monitors and saves 512 cycles of the address and data bus NMI IRQ DMA R W and 4 external lines e Pretrigger viewing of up to 512 samples e 4 external inputs with variable threshold reference e Display cycle by cycle execution or 6502 disassembled code The Bus Rider comes complete with Bus Rider circuit card reference manual Bus Rider software diskette and 10 easy hook external input cable The total system price is 395 00 No 57 February 1983 MICRO LOST YOUR PROGRAM TRIG 651 KETILLE ESC OUTT H HELP Bus Rider Disassembled Display RC Electronics Inc 5386 Hollister Avenue 0 Santa Barbara CA 93111 805 968 6614 TELEX 295281 35 MEGAFLEX ABILITY You Pick The Disk System MegaFlex Controls It WITH SOFTDRIVERS FOR A FLEXIBLE FUTURE MEGAFLEX a universal floppy disk controller and modern alternative to the Apple drive system offering increased storage im proved reliability and FLEXIBILITY Enjoy megabytes of online storage with your choice of micro mini or maxi drive
50. complex systems But their promotional literature implies that one can only build big complex systems with the 68000 and that dead wrong in our opinion Nevertheless the public that s you perception of the 68000 follows Motorola s line Big systems Complex systems Our boards are not complex and not necessarily big starting at 4K Our newsletter is subtitled The Journal of Simple 68000 Systems But since the public has become condi tioned to the 68000 as a vehicle for FORTRAN UNIX LISP PASCAL and SMALLTALK people naturally expect all these with our 595 starting price simple attached processor Wrong We wrote our last ad to understate the software we have available because we wanted to get rid of all those guys who want to run multi user multi tasking UNIX on their Apple 11 and two floppy disks Running UNIX using two 143K floppies is well absurd The utilities alone require more than 5 megabytes of hard disk HERE S THE TRUTH We do have some very useful 68000 utility programs One of these will provide in conjunction with a suitable BASIC com piler such as PETSPEED Pet CBM or TASC Apple II a five to twelve times speedup of your BASIC program If you have read a serious compiler review you will have learned that compilers cannot speed up floating point operations especially transcendentals Our board and the utility soft ware we provide does speed up those operations Add this line in f
51. dulge in fantasy role playing by giving your VIC simple one or two word commands like GO NORTH EXAMINE No 57 February 1983 What s eating your Apple Find out with Apple Cillin I If you use your Apple for your business or profession you probably rely on it to save you time and money You can t afford to guess whether it is working properly or not Now you don t have to guess Now you can find out with Apple Cillin Il Apple Cillin is the comprehensive diagnostic system developed by XPS to check the performance of your Apple computer system Apple Cillin contains 21 menu driven utilities including tests for RAM memory ROM memory Language Cards Memory Caras DISK system Drive Speed Keyboard Printer CPU Peripherals Tape Ports Monitors and more These tests will thoroughly test the operation of your Apple and either identify a specific problem area or give your system a clean bill of health You can even log the test results to your printer for a permanent record Apple Cillin I works with any 48K Apple system equipped with one or more disk drives To order Apple Cillin Il and to receive information about our other products Call XPS Toll Free 1 800 233 7512 In Pennsylania 1 717 243 5373 Apple Cillin Il 49 95 PA residents add 6 State Sales Tax XPS inc 323 York Road Carlisle Pennsylvania 17013 800 233 7512 717 243 5373 XPS Apple il is a registered trademark of A
52. evaluates the arguments to a function then applies the function to the result In the above example the argument to NULL is the s expr CDR BLEAT J LISP evaluates this and returns NIL which is then passed on to NULL The NULL of NIL is T so T is returned as the value of the entire s expr Incidentally CAR and CDR are the only functions in LISP whose names have nothing to do with their meaning Their names are derived from the hard ware on which the first LISP interpreter was implemented CAR stands for Contents of Address Register and CDR stands for Contents of Decre ment Register On some LISP systems they have been given the more mean ingful names FIRST and REST but for the most part their original names have stuck In addition to functions that take lists apart LISP is supplied with func tions to put lists together One of these is the function CONS for CONStruct CONS takes two s exprs and returns a new list such that the first argument is the CAR of the list and the second argu ment is the CDR of the list For exam ple CONS THIS IS FUN returns THIS IS FUN Note that the CAR of this list is THIS and the CDR is the list 15 FUN CONS puts things at the front of lists Another function APPEND puts things at the end of lists For example APPEND THESE THAT returns THESE THAT THOSE Other functions used for building lists include CONC and LIST CONC concatenates lists toge
53. ice But tell ESTHER to shut up and the program will end It is written in assembly language and the responses are much faster than a similar program in BASIC ESTHER 98 accepts simple to complex sentences but works best with shorter ones Pluses ESTHER comes in several formats the 6800 6809 FLEX or even Radio Shack version on disk The pro gram is fast and responds intelligently to simple sentences Minuses Proper nouns must be capitalized for ESTHER to recognize them Documentation detailed manual includes clear instruc tions for loading and running some of the major subrou tines of the program are covered in detail A little back ground on artificial intelligence programs is included Skill level required None Reviewer Bill Ball Product Name WP 6502 Version 1 3a Equip req d OSI Disk System Price 250 65D 25 Upgrade from Version 1 3 Also available in 65U Manufacturer Dwo Quong Fok Lok Sow 548 Broadway Suite 4F New York NY 10012 Description WP 6502 is a full feature word processor for OSI computers Text files are created and edited with the TYPE INSERT DELETE and REPLACE commands Sentences and paragraphs can be rearranged via the block move utility The global edit command allows all occur rences of SMITH to be replaced with BROWN Fixed segments of texts can be called into the current file by typ ing four control characters All disk operation
54. is N 0 missing value narrowed down to 4 If NM isn t found in array N the 1 16th of the list after only five value of J will be the index of the compares 1 32nd of the list after six next array value larger than NM compares 1 64th after seven com Let s look at some examples with a pares etc file N that contains the following Listing 1 Routine to Find Records 10 REM s444 444 tt duct tht tard 20 REM ROUTINE TO FIND RECORDS 30 REM 424t4 49 44 4t fiv yd 35 DIM N 1000 N 10 40 DATA BILL CARL CARL DON JOHN MARI E MARY PETE ROGER ROGER 22222 50 FOR I 0 TO N 60 READ NS I 70 NEXT I 80 INPUT ENTER VALUE YOU WANT TO SEARCH FOR ENTER XXX TO STOP NMS 90 IF NM XXX THEN STOP 100 GOSUB 10000 110 PRINT INDEX J FOUND FOR SEARCH ARGUMENT NMS 120 GOTO 80 10000 REM k amp amp k amp kt4tkati4kdk dk un 10010 REM BINARY SEARCH SUBROUTINE 10020 REM eode o n c dn d n n d n g 10030 0 10040 IF J l THEN 10200 10050 IF N lt 0 THEN 10200 10060 IF NMS N 0 THEN 10200 10070 J120 J2 7N 10080 J INT J1 J2 2 10090 IF NMS N J THEN 10140 10100 IF NMS NS J THEN J2 J GOTO 10120 10110 Jl J 10120 IF J INT J1 J2 2 THEN 10080 10130 J J 1 GOTO 10200 10140 IFJ 0 THEN 10200 10150 IF J l AND NM N J 1 THEN J 0 GOTO10200 10160 IF J l THEN 10200 10170 FOR J J TO 1 STEP 1 10180 IF NMS NS J THEN J J 1 GOTO 10200 10190 NEXT J 10200 RETURN MI
55. it can be used indepen dently of VisiCalc To make DIF general and flexible it was necessary to remove the formulas from the work sheet storing only the results of these formulas instead The print files just store an image of the worksheet and like DIF do not include formulas To save formulas it is necessary to use the 55 command which creates a stan dard worksheet file After some investigation 1 found that these worksheet files are no more than a VisiCalc EXEC file that contains the data in the worksheet just as you would type it in For example the following worksheet A B 1 ALPHA 10 2 BETA 5 3 GAMMA 5 where B3 B1 B2 GAMMA ALPHA BETA would be stored as shown in figure 1 With this method you could enter this worksheet into VisiCalc from the keyboard The only unexpected thing is the last entry The X appears to be an undocumented VisiCalc command The X tells VisiCalc to set the cursor direction to horizontal The X Al tells it to make 1 the upper left hand corner of the screen The 5 1 sets the cursor at Al No 57 February 1983 With this information I was able to write BUILDIT a VisiCalc template building aid BUILDIT builds account ing worksheets that itemize entries vertically the categories they belong to are produced horizontally BUILDIT prompts the user for the categories and iems The relationship between the various items is described to BUILDIT by
56. it will give you a friendly error message indicating where it got stuck and why Actually error recovery in LISP is entirely implementation dependent there is nothing in the definition of the lan guage that specifically states what course of action should be taken if an error condition arises The following rule is used for evaluating lists when you give LISP a list to evalute LISP treats the first ele ment of the list as the name of a func tion and the remaining elements if as the arguments to the function So if you type the list A B C LISP will try to apply some function named A to the arguments B and C For exam ple suppose you want to add two num bers together In BASIC you would type something like PRINT 1 2 to add 1 and 2 In LISP you can accomplish this by typing ADD 1 2 ADD is a built in function that takes two arguments namely two numeric atoms and returns the sum of the arguments in this case 3 The value of a s expr is the value returned when the s expr is evaluated So the value of ADD 1 2 is the atom 3 What if you type in something that doesn t make much sense like ADD 1 Since the function ADD expects two ar guments you should get an error mes sage P LISP will give the following ERROR FEW ARGS ADD 1 The first line of the message indicates what s wrong and the next line shows the function and the list of arguments LISP was working on when the
57. ment So B returns B C If you type CDR HITHERE LISP gives NIL NIL is a list containing zero elements or the empty list Also NIL is represented by an empty pair of parentheses NIL is considered a special element of LISP because it is both a list and an atom NIL has itself as its value i e the value of NIL is NIL NIL also is used to represent the truth value false As you d expect there is an atom to represent the truth value true namely T The value of T is T NIL and T are the only literal atoms built into LISP with predefined values actually any non NIL value in LISP is considered to represent true T is convenient because its value is always guaranteed to be non NIL One area where T and NIL come in to play is with predicates Predicates are functions that perform a certain test on their arguments and return T if the argument passes the test and NIL if it fails One such predicate is ATOM ATOM returns T if its argument is an atom and NIL otherwise For example IM A LIST returns NIL MICRO LANGUAGES whereas ATOM returns T The s expr ATOM also returns T remember is an alternate represen tation for NIL which is an atom Another important predicate is NULL which returns T if its argument is NIL and NIL otherwise So NULL 8 9 10 returns NIL but NULL CDR BLEAT returns T LISP first
58. mushrooms and a lot of other familiar stuff COLOR 80 requires 16k and Joy sticks This is Edson s best game to date 19 95 for TRS 80 COLOR PROGRAMMERS SEE Y OUR PROGRAM IN THIS SPACE Aardvark traditionally pays the highest com missions in the industry and gives programs the widest possible coverage Quality is the keyword If your program is good and you want it presented by the best send it to Aardvark ESCAPE FROM MARS by Rodger Olsen This ADVENTURE takes place on the RED PLANET You ll have to explore a Martian city and deal with possibly hostile aliens to survive this one A good first adventure PYRAMID by Rodger Olsen This is our most challenging ADV ENTURE It is a treasure hunt in a pyramid full of problems Exciting and tough HAUNTED HOUSE by Bob Anderson It s a real adventure with ghosts and ghouls and goblins and treasures and problems but it is for kids Designed for the 8 to 12 year old population and those who haven t tried Adventure before and want to start out real easy DERELICT by Rodger Olsen amp Bob Anderson New winner in the toughest adventure from Aardvark sweepstakes This one takes place on an alien ship that has been deserted for a thousand years and is still dangerous Please specify system on all orders SINCLAIR TIMEX TUBE FRENZY by Dave Edson This is an almost indescribably fast action arcade game 11 has fast action an all new concept in play simp
59. of the bookkeeping necessary for representing or manipulating these objects is implicit in the language for example a program to differentiate polynomials might be a chore to write in BASIC or Pascal but is relatively simple and straightforward in LISP LISP is a heirarchical language LISP programs are actually functions each constructed out of more primitive functions A LISP interpreter is little more than a set of pre defined func tions It is thus possible to build en tire systems for example the pro gramming language Smalltalk out of MICRO LISP primitives and other systems on top of these etc So the picture doesn t appear too perfect I must point out that as with any language LISP has some draw backs as well Chief among these is its memory demands this language is a memory hog and although it can fit on a micro P LISP is roughly 14K in length and supports about 80 functions this demand can be quite limiting depending on the specific application involved Performance is another fac tor because LISP is interpreted execu tion speed is much slower than that of a compiled language such as Pascal however some systems do have LISP compilers available A third problem is the simple syntax of LISP which can be a liability as well as an asset It is quite easy to write a LISP function that is so hopelessly obscure as to baffle even the person who wrote it The Structure of LISP The basic unit of
60. producing astrological charting service packages and printing interpretation packages to super accurate computer ephemerises For all Commodore computers Apple II Plus and TRS 80 Matrix Software 315 Marion Avenue Big Rapids MI 49307 OSI Super Defender Play this great arcade game at home All machine code includes scanner smart bombs laser fire moving mountains and more Save your humanoids from the alien landers Very smooth half character moves graphics 14 95 for C1 2 4 tape or 54 disk DMP Systems 319 Hampton Blvd Rochester NY 14612 Commodore 64 Software Enjoy these excellent professionally written programs Septa Cube Logic Puzzle 3 dimensional combine 7 pieces into a solid 3x3 x3 cube Advanced Sound Synthesizer with graphics Each program 17 95 cassette 21 95 disk Add 2 00 postage handling charge Send for free catalog Dynamic MicroGraphic Software 4289 Union Rd Buffalo NY 14225 MICRO VIC 20 INTERFACING BLUE BOOK Did you know that your VIC can be used to control a 99 toy motor so effectively that it lt runs like a precision machine Or that you build an accurate digital thermometer using the VIC and four parts costing less than 5 fag fy These and other 18 interfacing projects 4 57 selected for usefulness ease of construction 9 and low cost are detailed in the VIC 20 Inter ES facing Blue Boo
61. 3 The indirect file is one of the most powerful and yet underused features of Ohio Scientific s OS 65D operating system This file is a buffer in memory that can be used for temporary storage of either BASIC or assembly language programs You would use an indirect file for example when you are in the midst of writing a program and suddenly realize that you either haven t created a disk file for the program at all or the created file is no longer large enough to hold the current version At that point you could either store the program in your scratch file that nobody seems to remember to have ready for such pur poses or you could use the indirect file To send your program to the in direct file just enter the command LIST lt SHIFT gt K You will see the program listed normally but it is also being stored in the indirect file buf fer When BASIC returns the prompt you enter a SHIFT M which marks the end of the file in Memory Your program workspace is now free to run the directory program or CREATE or DELETE as needed When you have created the proper file enter NEW to clear the workspace and type a lt CTRL gt X Your pro gram will be reloaded into the workspace intact Don t be concerned when you enter the lt SHIFT gt M and 28 BASIC returns a syntax error The operating system knows what you want done Those of you familiar with indirect files probably noticed
62. 3000 Series Computers Operate these Models in a Full 8032 Like Display For Word Pro 4 and all other 80 Column Software All installation instructions included EXECOM CORP 1901 Polaris Ave Racine WI 53404 Ph 414 632 1004 PET CBMatrademark of Commodore Business Machines trademark of Professional Software Inc Top quality power supply designed to Rockwell s specs for fully populated AIM65 includes overvoltage protection transient sup pression metal case and power cable PSSBC A 5V 2A Reg 24V 5A Avg 2 5A Peak Unreg 64 95 Same but an extra AMP at 5 volts to drive your extra boards PSSBC 3 5V Reg 24V 5A Avg 2 5A Peak Unreg 74 95 The professional s choice in microcomputers AIM65 1K RAM 429 95 BASIC 2 ROMS 59 95 AIM65 4K RAM 5464 95 ASSEMBLER 1 ROM 532 95 FORTH 2 ROMS 359 95 SAVE EVEN MORE ON COMBINATIONS AIM65 1K PSSBC A 479 95 AIM65 4K PSSBC 3 524 95 We gladly quote on all AIM65 40 and RM65 items as well ORDERS 714 369 1084 Box 20054 e Riverside CA 92516 California residents add 696 sales tax 70 kkk kok ok ok ok kok ok ook ok ok ok ok ok kok ok oko kok ok kok kk ok kk MICRO KKK KKK KKK KKK KKK KKK KK KKK de de de de de e de e eo de e deo deo deo cde desde dede odere oed doeet No 57 February 1983 INICRO PET Vet By Loren Wright Sound on
63. 77 program are available on line Most advanced communications software available Just check Softerm s 300 page user manual You simply can t buy a more sophisticated package or one that s easier to use Available now for only 150 from your local dealer or Softronics Inc SOFTRONICS 6626 Prince Edward Memphis TN 38119 901 755 5006 No 57 February 1983 IMNCRO February Highlights Expanding your knowledge of computer languages or just increasing your familiarity with many of them can help improve your programming skills This month s issue covers FORTH Pascal APL and LISP and provides you with a valuable information sheet of language packages offered by seventy vendors EDIT An Atari FORTH Screen Oriented Editor by Mike Dougherty 47 uses the Atari 800 display a text window into a FORTH disk screen You can use Atari s special function keys to prepare FORTH applications In Apple Pascal Hi Res Screen Dump 54 Robert Walker presents a high resolution graphics screen dump for Apple Turtle graphics to the Epson printer with Graphtrax Terry Peterson discusses the history and ad vantages of APL a language known for its high execution speed powerful features yet cryptic character set read on the SuperPET p 43 The World According to LISP by Steve Cherry 65 is a good introduction to LISP a language many computerists consider strange and
64. 9199 7 d8 aS 77 lda 77 0200 7fda 48 pha 80201 7fdb a5 78 lda 78 0202 7fdd 48 pha 0204 7fde 24 07 bit 07 9205 7fe 30 03 bmi rby2 0206 7fe2 a9 7c lda 7c 0207 7fe4 2c byte 2c 0208 7fe5 a9 7b rby2 lda 7b 0209 7fe7 85 77 sta 77 0210 7fe9 a9 02 1 62 0211 7feb 85 78 sta 78 0212 7fed above 0214 7fed 20 3c b9 b93c 0215 7ff 68 pla 0216 7ffl 85 78 sta 78 0217 7ff3 68 pla 0218 7ff4 85 77 sta 77 0219 7ff6 60 rts 0218 7 4 85 77 sta 77 9219 7ff6 60 rts 0222 7 7 a5 77 chrdec 1 77 0223 7 9 02 bne chrdl 0224 27 ffb 78 dec 78 0225 7ffd 77 chrdl dec 77 0226 7fff 60 rts branch always set up buffer go past 1 get byte from ieee get unassigned byte copy also to ieee buffer check chrgot target variable defeat housekeeping set ndac high check for 6 igo past delimiter get next byte store assign value search for variable returns in a and yr variable pointers save chrget pointers var type ff str numeric Str if true n flag set by bit dummy op code start buffer at quote change chrget pointers assign var value reset chrget reset chrget pointer _ 488 bus control a more primitive level using the syntax WBYTE X Y a b RBYTEa b The WBYTE command means write byte and is implemented in this pro gram with the syntax PRINT X Y a b c For those familiar with Tektro
65. A IF A END THEN TEXT HOME VTAB 24 END 50 PRINT INPUT STUDENT STRING S S S84 60 GOSUBI00 PRINT IF R THEN PRINT NO 70 PRINT MATCH PRINT GOTO 20 TO INVOKE AND TEST THE MATCH ROUTINE MATCH ROUTINE INPUT ALGORITHM PRINT INPUT INPUT AUTHOR STRING A VTAB 12 IF NOT LEN A THEN A The coding that starts on line 126 checks any segment that had an amper sand in front of it This means you have to ignore as much of S as necessary to find the segment specified in A Before you scan for the whole segment how ever determine if there are any aster isks present and if so mask them If line 126 finds an asterisk the program goes to line 138 Here S is scanned line 140 for the substring in front of the asterisk If it is not found line 142 does a RETURN with no match Line 144 checks to make sure that the seg ment found is in the string later than the last segment found If both of these are OK then the program substrings off the entire segment this is easy since asterisks represent one byte you know how long the segment is and can use a MID to get the entire segment You then GOSUB to ie asterisk subrou tine If that doesn t match it does not necessarily mean that there is no match it means that you must scan further to see if you can find another occurrence of the subsegment in front of the asterisk To do this line 146 does a GOTO 140
66. Atari run software that was written for other computers Because of the note and point style of random access used on the Atari there is a big difference in the disk commands between the Atari version and the versions on the Apple Radio Shack IBM computers Monarch Data Systems P O Box 207 Cochituate MA 01778 offers a BASIC compiler Compiled programs can run 4 to 12 times faster than the interpretive code Several restrictions limit the use of this compiler but these are easily circumvented for most ap plications For example the compiler uses fixed point arithmetic instead of the slower floating point so there are no trigonometric functions There is also no RND function supported so you must use a PEEK 53770 and ex tract a random number by multiplying that result a random number between and 255 then dividing to get a number in the proper range The LOAD No 57 February 1983 and RUN statements are also not sup ported so the program cannot chain to other programs For more information on this compiler contact Jeff Goldberg at Monarch Data Systems Hardware Many letters from readers express an interest in the hardware and ask questions about the keyboard I was marketing I recalled the keyboard because several manufacturers produce keyboards just like it and they can pro duce them more cheaply than I can However I am writing an article describing how I built my keyboard you can build on
67. CATEGORIES 25 ARY ITEM PROCESS MAINTENANCE 30 GOSUB 2000 REM GET EDIT ITEMS 31 FOR J TO NUM IT J INS J NEXT 32 NI NUM REM SAVE NUMBER OF ITEMS 50 GOSUB 4000 REM BUILD FILE 60 PRINT CD CLOSE FILES 70 END 1000 CD CHR 4 HOME 1010 DIM IN 60 DIM CT 60 DIM IT 60 1020 FOR TO 8 READ MSG K NEXT 1500 RETURN Listing 1 Continued 2030 GOSUB 9100 GOTO 2017 REM DISPLAY ERROR MSG CONT 2034 HTAB 5 VTAB 10 PRINT EDIT ARY INPUT Y ES OR N O A 2035 NUM J REM SAVE NO OF ENTRIES 2036 IF LEFT A 1 Y THEN GOSUB 2500 GOTO 2040 2038 IF LEFT A 1 lt gt GOTO 2034 2040 RETURN 2500 NUM J REM SAVE NUMBER OF ENTRIES 2502 PROCESS EDITING 2503 GOSUB 2010 VTAB 2 HTAB 1 5 2505 FOR TO NUM STEP 3 2506 IF I 9 THEN 5 2507 IN I THEN GOTO 2535 2510 1 PRINT I 1 SP LEFT IN I 9 2515 IF IN I 1 THEN GOTO 2535 2520 HTAB 14 PRINT I 2 SP LEFT INS I 1 9 2000 J NODE 2525 IF IN I 2 THEN GOTO 2535 2005 GOSUB 2010 GOTO 2015 2530 HTAB 28 PRINT I 3 SP LEFT IN I 2 9 2010 LN 4d LEN ARY LEN PROCESS 2 2535 NEXT I 2011 HOME FOR X 1 TO LN PRINT NEXT 2540 VTAB 23 HTAB 1 PRINT CHANGE NO ENTER INVERSE PRINT ARY PROCESS NORMAL RETURN INVERSE PRINT Q NORMAL 2015 IF J 60 THEN HTAB 9 VTAB 23 PRINT TO
68. February 1983 Pee LANGUAGES The definition of SQUARE is com prised of just two other words DUP and The semicolon terminates the word definition Figure 2 shows a colon definition of a working square root function First a couple of variables are declared They hold the number for which the square root is to be found and for an inter mediate GUESS or trial square root The algorithm called Newton s method divides the number by a guess and aver ages the result with the guess to makea new guess The process is repeated un til the new guess and the old guess are either equal or differ by 1 Remember this is integer arithmetic The result for some numbers will alternate between two numbers that differ by 1 for others it will reach a constant value SQRT expects the value of the number to be on the stack when SQRT is called The number will be used several times in successive passes through the loop so it is immediately stored in the variable NUMBER Nam ing a variable places its address on the stack The word makes FORTH use the top item on the stack as a pointer for a place to store the second item on Figure 2 0 VARIABLE GUESS 0 VARIABLE NUMBER SQRT NUMBER 2 GUESS BEGIN NUMBER GUESS GUESS Q 2 DUP GUESS SWAP GUESS ABS 2 lt UNTIL GUESS the stack Remember that you are usually dealing with 16 bit words 2 GUESS puts 2 on the stack and stores it in the variable G
69. Microcomputer Quarterly Journal starting February 1983 Contact Brian J Winkel Editor Rose Hulman Institute of Technology Terre Haute IN 47803 for subscription information TRS 80 Color BASIC by Bob Albrecht John Wiley and Sons Inc 605 Third Ave New York NY 10158 1982 376 pages paperback ISBN 0 471 09644 X 9 95 A Structured Approach to Pascal by Billy Walker Richard Irwin Inc Homewood IL 60430 1983 209 pages paperback ISBN 0 256 02827 3 9 50 Apple Files by David Miller Reston Publishing Co Reston 1982 414 pages hard cover ISBN 0 8359 0192 0 14 95 All prices postpaid Continental U S otherwise 32 credit So You Are Thinking About a Small Business Computer 1982 83 Edition by R C Canning and N C Leeper Prentice Hall Inc Englewood Cliffs 1982 203 pages paperback ISBN 0 13 823617 8 10 95 Teaching Computer Programming to Kids and Other Beginners by Royal W Van Horn Sterling Swift Publishing Co 1600 Fortview Rd Austin TX 78704 1982 142 pages paperback ISBN 0 88408 154 0 9 95 plus 1 45 S H Software Blueprint and Examples by Yaohan Chu Lexington Books D C Heath and Co 125 Spring St Lex ington MA 02173 1982 519 pages hard cover ISBN 0 699 05329 5 39 95 MICRO Ka KKK KKK KKK KKK KKK KKK KKK KK AIM POWER tm COMPUTECH Check the outstanding documenta tion supplied with AIM65 For 2001
70. N where N is a previously defined numeric vari able see Sample Program MICRO 49 74 The same conversion is re quired for Match as matching is done only on text strings Thus 20 2 5 and 2gether all match with 2 This feature is awkward when the intent is to match numbers One solution again illustrated in the Sample Program is to subtract the numbers from one another convert the result to a string then Match to zero In PILOT code these are C R 2 A B R 0 where A and B are the numbers being compared There are two important omissions in the list of PET Tiny PILOT Program Statements MICRO 49 73 E listed No 57 February 1983 in the original Vrtis article but absent here is an Exit from Subroutine used in conjunction with U Use Subroutine The combination of U and E gives PILOT a highly viable subroutine capability By the way E in contrast to BASIC s RETURN is simply ignored when not executing a subroutine a useful feature in some situations The other error is in the fourth Pro gram Statement TEXT should read M TEXT This line describes the Match statement also clarified by Vrtis Note that as mentioned above Match operates only on text and that multiple Matches are allowed per state ment commas separating the Match items The Match option M checks for a negative number evidently a minus sign as the first character M is not implemented but would be a wel c
71. NEXT FRM K 1 SUM FRM K 2 STR L 3 FRM K 3 STR 1 RETURN FRM K 1 FRM K 2 STR FIRST 2 FRM K 3 STR LAST 2 FIRST LAST RETURN FRM K 1 FRM K 2 STR FIRST 2 FRM K 3 STR LAST 2 FIRST LAST RETURN HOME VTAB 4 INPUT ENTER FILE NAME FILE GOSUB 11000 IF FILE GOTO 4300 ONERR GOTO 4305 PRINT CD DELETE FILE PRINT CD OPEN FILE GOTO 4306 PRINT CD OPEN FILE CALL 768 REM REPAIR ONERR DAMAGE FOR NI 1T0 STEP 1 COL NC 2 GOSUB 4900 ROW STR 2 A gt COL ROWS SUM B ROWS COL NC i GOSUB 4900 A A COLS ROWS GOSUB 5000 REM WRITE RECORD FOR L NC 1 TO STEP 1 COL L 2 GOSUB 4900 REM FIGURE LITERAL COLUMN NAME IF FRM K 1 THEN 4340 A gt COLS ROWS FRM K 1 COL FRM K 2 COL FRM K 3 GOSUB 5000 REM WRITE RECORD NEXT REM L A gt A ROWS CHRG 34 RIGHT IT K LEN IT K 1 GOSUB 5000 REM WRITE NEXT REM K COL NC 2 GOSUB 4900 AS gt COLS 1 CHR 34 GRAND TTL GOSUB 5000 FOR NC 1 STEP 1 COL K 2 GOSUB 4900 A gt COLS 1 CHR 34 CT K GOSUB 5000 NEXT RETURN IF COL gt 52 THEN COL B CHR COL 12 GOTO 4915 IF COL gt 26 THEN COL A CHR COL 38 GOTO 4915 COL CHR COL 64 RETURN PRINT CD WRITE F
72. No 57 February 1983 teractive one that allows you to play music in real time The Piano Key board program in the user s manual is an example It is impressive for what it does but its limitations soon become apparent Only one note can be played ata time That s because the GET func tion can only read one key at a time Also it s easy to get ahead of the BASIC program The effect is flattering for someone with uncoordinated fingers the notes come out evenly spaced but for others it is frustrating A more complete interactive music program requires machine language for speed and should read the keyboard matrix to detect more than one key down at a time Throw in a real musical keyboard perhaps interfaced through the controller and parallel ports and you would have something resembling a real synthesizer Consider it a challenge Synthy 64 A Music Composition Program Abacus Software s Synthy 64 by Roy Wainwright is a music composi tion program that is considerably easier to use than the Commodore program described above and a lot easier than figuring out all the POKEs yourself Users familiar with musical notation will find Synthy 64 s notation easy to grasp Notes are entered with their alphabetic representations followed by the octave number a slash and a number indicating the length 1 for whole 2 for half etc Octave numbers and durations remain the same until changed so shorthand notatio
73. Of READY RETURN GOSUB60OO 350 POKEDA 13 FOKEDA 1 10 DA DA 2 A SA 0F 360 LN LN I O STRS LN 50508600 0 379 0 DATA GOSUBR600 380 OF STRS FEEK A GOSURG620 390 PRINT 3 MICRO IF FOS 9 635 THEN PRINT 12 Continued No 57 February 1983 len HON PR NIE ee m n teni mem BREAK key more than once One of the foibles of OS 65D is that there is just no good way for you to do a warm start after the system has been reset by a BREAK But fortunately OSI didn t really desert you after all The indirect file can save all of your hard work Try booting your system and enter BASIC with your BEXEC pro gram still loaded in the workspace Now press the BREAK key At the H D M prompt type M to enter the machine code monitor and then press G for GO You should now be back in BASIC albeit a crippled BASIC As previously described enter LIST SHIFT K followed by a SHIFT gt M at the OK prompt Now re boot the system Clear the workspace with the NEW com mand This time at the prompt type a lt CTRL gt X Your program has been re loaded intact into the workspace all ready to be run and or saved to disk While I m sure that this is a patch that was added after BASIC had been written for OSI systems it works and has saved me more hours than I d care to admit You can also use indirect files to
74. One Blackburn Center Gloucester MA 01930 617 283 7719 MICRO VIC 20 USERS ae serious with A PAGMQUEEN Acartridge development system VIC 20 keyboard into built in 4K Burns amp runs EPROMS for the e Includes Hexkit 1 0 a powerful 100 machine code editor de bugger utility program that makes coding for amp bit Micros a snap Programs 2716 2732 2732A 27C16 27C32 adaptable to 2532 amp 2764 PRUlTLIHEER CARTRIDGE COMPLETE ONLY 199 Send for Free Brochure C es E lt omen 79 COMPUTER PRODUCTS ELECTRONICS INC ELECTRONIC ENGINEERING COPYRIGHT 1981 PATENTS PENDING 566 Irelan Buellton CA 93427 805 688 2047 8 00 TO 5 00 CALIFORNIA TIME SUPER FAN II FOR YOUR APPLE 1 COMPUTER One Year Warranty 74 95 With Zener Ray Protection 109 00 MASTERCARD VISA COOL IT ALSO FITS ON APPLE S NEW MONITOR STAND RED PILOT LIGHT ON OFF SYSTEM SWITCH CLIPS ON NO HOLES OR SCREWS REPLACEABLE SWITCH AVAILABLE IN 120V or 240V AND 50 60 HZ DURABLE MOTOR REDUCES HEAT CAUSED BY EXTRA PLUG IN CARDS SOLD WORLD WIDE UNIQUE 1 YEAR WARRANTY TAN OR BLACK COLOR QUIETEST FAN ON THE MARKET INCREASED RELIABILITY SAVES DOWN TIME AND REPAIR CHARGES LOW NOISE DUE TO DRAWING EFFECT OF AIR THROUGH YOUR COMPUTER AND SPECIAL FAN AND MOTOR DESIGN TWO EXTRA 120V OUTLETS FOR MONITOR AND ACCESSORIES TURN ON WHEN YOU TURN ON YOUR FAN
75. States must be pre paid by certified check only Include 39 amp minimum 3 00 shipping and handling EDUCATIONAL DISCOUNT Additional discounts are available from both Computer Mail Order locationa to qualified Educational Inatitutions MN LANGUAGES An Introduction to FORTH by Ronald W Anderson The author gives a brief introduction to the FORTH language including a discussion of Reverse Polish Notation word definitions and stack manipulation FORTH was the result of the old adage that necessity is the mother of inven tion Charles Moore developed FORTH as a tool to help him program computers more quickly than he could with an Assembler If you have used a Hewlett Packard calculator you are familiar with Reverse Polish Notation FORTH works with this notation exclusively Reverse Polish works well with a stack structure HP used it to simplify the use of their calculators The difference between Reverse Polish and ordinary algebraic notation may be seen in the way you key a simple problem into calculators that use these two nota tions respectively Algebraic 2 2 2 3 4 5 2 43 x 4 5 Reverse Polish 2 enter 2 2 enter 3 x 4 enter 5 x 2 enter 3 4 enter 5 x The second and third problems above are done in exactly the same way in algebraic notation parentheses are necessary for one case but not the other since multiplication takes precedence over addition When us
76. a smart terminal program that comes in a ROM cartridge ready to plug in and run Features and capabilities in clude on line and off line versions and 75 page manual Add 2 00 shipping ARMADILLO INT L SOFTWARE P O Box 7661 Austin Texas 78712 102 scrolling off line printing of data receiving and sending cassette files and support of any serial printer Data can be easily edited before printing or writing to cassette or disk Price 49 95 Includes manual Author Mark Davidsaver Available Spectrum Projects 93 1586 Drive Woodhaven NY 11421 212 441 2807 Name Crossword Scrambler System Apple III Memory 128K Language Turn key system Hardware Built in disk drive and 80 character monitor Description Crossword Scram bler is an educational software product created to teach facts and spelling on five different subjects with graphically for matted screens and audio out put User friendly prompts are designed for hands on experi ence and computer interface Data security concepts and password protection are dem onstrated within the programs Price 39 95 ppd 20 discount to bona fide educational institutions Includes diskette and documentation Author David Cortopassi Available SOFPROTEX P O Box 271 Belmont CA 94002 Name Micro Cookbook and Micro Barmate System Apple II Apple I Plus DOS 3 3 Memory 48K Language Compiled Applesoft BASIC and 6502 assembler
77. access more than one of the plug in type memory or utility cartridges now available It will accept up to 3 RAM or ROM cartridges at once For example 16k RAM 16k RAM 3k RAM 16k RAM 8k RAM Super Expander 16k RAM 8k RAM Vic Mon 16k RAM 3k RAM Programmer s Aid High quality T R W gold plated connectors This board is fused 90 day free replacement warranty covering everything except the fuse 39 95 CARDBOARD 6 An Expansion Interface for VIC 20 Allows memory expansion up to 40K Accepts to six games includes a system reset button All slots are switch selectable Daisy chain several units for even more versatility 87 95 TO ORDER P O BOX 18765 g WICHITA KS 67218 316 684 4660 Personai checks accepted Allow 3 weeks or C O D Add 2 Handling charge 2 00 VIC 20 is a registered trademark of Commodore 49 EN LANGUAGES loop If the key is a special case EDIT Listing 1 continued executes the corresponding special function Otherwise the key is added to SCR 74 the FORTH screen and the video CURSOR MOVEMENT PRIMITIVES 1 screen CASE structure allows EDIT to 2 MOVE UP rates be modified or expanded easily yet ex CEINE 9 2S AND Adjust current line 15 4 CLINE Save wraparound by AND ecutes quickly 5 WRITE EXTRA Add extra line at bottom A two key escape seque
78. address modes cannot be used 2 10 11 12 13 14 CC Table Name Code CCR Tested Name Code CCR Tested CC Clear 0100 C LS Low same 0011 7_ Carry Set 0101 C LT Less than 1101 NV4NV EQ Equal 0111 2 ENE MI Minus 1011 N GE Greater or equal 1100 _ _ NE Not equal 0110 Z GT Greater 1110 NWZ NVZ PL Plus 1010 N HI High 0010 CZ Overflow clear 1000 V LE Less or equal 1111 Z NV NV VS Overflow set 1001 F False 0001 0 T True 0000 1 Conditions used with two s complement arithmetic These tests are used for SCC DBCC only ACRO Leap into new dimension with Aztec C C COMPILERS COMMON FEATURES UNIX VER 7 compatibility standard float double and long support run time library with full 1 0 and source fast compilation and execution full language AZTEC 11 CP M MP M 199 produces relocatable 8080 source code assembler and linker supplied optional MBO interface SID ZSID debugger interface library utility APPLE requires 780 and 16K card AZTEC 1 APPLE DOS 199 relocating assembler supplied APPLE SHELL VED editor library and other utilities requires 16K card C86 MSDOS CP N 86 949 directly produces 8088 8086 object code linker supplied Manuals 30 ORDER BY PHONE OR BY MAIL Specify products and disk format MANX software systems Box 55 Shrewsbury N J 07701 201 780 4004 CP M FORM
79. adequate for all our applications The only remaining problem was to develop a computer program that would satisfy our needs and be easy for the students to use The software package developed for the GC system consists of both machine language and BASIC pro grams The machine language program acquires and tests the data and the BASIC program interacts with the user and performs data reduction The user interface is designed to be friendly The user doesn t need to be aware of the machine language program since the BASIC program provides all instruc tions necessary to operate the system as well as a menu of available options for data output A user does not need a computer background to run the system To operate the system the user in jects a sample into the GC and pro duces a small pressure spike by momentarily interrupting the carrier gas flow This spike produces a small output signal that causes the computer to begin the timing for the analysis and to look for incoming data As the com ponents of the sample pass over the detector the computer stores the digitized signals and indicates to the user that it is accepting data After the data acquisition is com pleted the user signals the computer to begin the data analysis The program computes retention times and peak areas If there is peak overlap the peak areas are resolved by dropping a per pendicular between the two adjacent peaks After a short time 10 to 60 sec
80. amp THEN 73 MID A 1 Z1 1 GOTO 126 122 NEXT Z1 Zi 0 IF LEN A 0 THEN R 1 RETURN 124 21 a 0 23 A A 124 FOR 24 1 TO LEN Z3 128 NEXT Z4 Z4 0 26 21 1 MICRO IF 71 IF MID Z3 Z74 1 THEN CO TO 138 0 THEN 26 LEN Z31 81 there are no masking characters 2 the only masking character is 3 the only masking character is amp or 4 both and amp are used as masking characters The first two possibilities no mask or only asterisk are easy to check First I check line 102 to see if A and S are equal If they aren t line 104 looks for the position of the first ampersand If none is found line 106 invokes the asterisk mask subroutine in line 154 If any asterisks are present they are masked there When the sub routine returns to line 108 Z1 and Z2 are the masked versions of A and S They are tested for equality if they are equal R is set to 1 The match rou tine then returns You do not need to set 0 you do that when you enter the match routine and set R 1 only just before a RETURN That way the default at return is 0 Lines 154 166 are the asterisk sub routine used to mask an asterisk Z2 is a switch to skip line 156 which deletes leading blanks this is necessary when ampersands are used also Line 158 finds the position of the asterisk If none is found the subroutine returns Line 162 checks to be sure that it
81. and forth be 48 tween the Extended Monitor and the za oe Assembler Editor at will without gaga reloading either program or source ph seas code This makes debugging easy lea Since the original Extended Monitor 110 resides memory from 0800 0 5608 the offset is exactly 9000 simplifying 146 cross references to the original A table 28 oe located at 0960 0999 is used to 178 S882 decode the monitor command and 38 5004 jumps to the selected routine When Pu you relocate the code this table must 218 be modified manually by adding the 259 poeni offset to every odd location within the 24a sale table i e B30B becomes B39B 258 5012 26a 5814 the new jump address for the A com 270 53014 mand at 0962 0963 The Monitor is 290 sais now entered at 9800 and user RAM ane pu is employed page zero excepted 8819 I located the Assembler Editor 250 pra storage from 8040 to 9191 The 348 SBIF Assembler Editor uses self modifying 358 8021 code and must be resident in RAM cece memory to run I use the routine in 360 8826 listing 3 to move the code to its original 230 poe location Note that none of the text 418 storage area 1391 and up is written yo ESL to during the move so recovery from 448 SB2F RAM For ATARI 48K RAM BOARD FOR THE 400 with Lifetime Warranty Highest quality available Reduces power consumption
82. applications software programs designed to help the users students to master a particular body of material general systems stan dard packages useful in an educational setting and educational systems soft ware specialized languages and sys tems designed for educational applica tions Our emphasis here will be on educational systems software But let s begin with a few com ments about applications software There are vast amounts of such material in existence something like 10 000 hours worth for the PLATO system alone Much of the applica tions software for microcomputers is of very poor quality much of it is hard to locate it was written by a teacher for use in a particular classroom and a half hearted attempt at marketing was made and most of it is poorly docu mented A number of publications and organizations have attempted to ad dress these problems The Microsoft Project Northwest Regional Educa tional Laboratory is the most am bitious attempt in particular their ef fort to establish a data base that lists sources and reviews It appears that there is an obvious need for quality control via reviews but there are many problems Applications software is sup posed to provide individualized in struction and what works well in one setting with one group of students and one teacher may fail in another setting How does one review truly individua lized material Reading reviews of applications so
83. baud rate generator eliminating the need for an RS 232 channel 278 00 The UDS 300 Wire Wrap board accepts ail 300 600 900 IC sockets from 8 to 64 pins Its features include an intermeshed power distribution system and dual 44 pin card edge connectors for bus and O signal connections 45 00 Get high performance with the ACE 100 07 compact 4 x 5 x 1 7 switching power supply delivering 5V 6A 12V 9 1A and 24V for the AIM printer 118 00 Installation kits and other related accessories are also avail able to implement your AIM expansion plans Custom hard ware design programming and assembled systems are also available High quality high capability high performance with high reliability all from Unique Data Systems Call or write for additional information Unique Data Systems Inc 1600 Miraloma Avenue Placentia CA 92670 714 630 1430 100 MICRO Reviews in Brief continued HOLE JUMP THROW AXE etc You can discover a pirate s treasures find and disarm a bomb before it blows you up or other daring exploits These complicated and time consuming games are loads of fun for adventurers of all ages Games in progress may be saved on and loaded from tape For added excitement use the Votrax Type N Talk to run the first series of talking adventures Pluses Great adventures creatively done The cartridge format is easy to use and allows a 16K program to run without any additional mem
84. board 1 OX 222 72 This board has physical space for four additional 6522 VIAs and provides additional decoding for 16 devices Connectors for all 1 0 tines and further expansion are included All 6522 functions are available with no interference with previous i functions of the original VIA Two versions of this board are available The l OX 122 mounts above and directly plugs into an on board 6522 socket and B relocates the original VIA to the expansion board i Where there are space limitations the I 222 uses a dip header and an 8 cable for remote installation REAL TIME CLOCK CALENDAR 60 Write for Info P O Box 1019 Whittier CA 90609 213 941 1383 ALTERNATIVE ENERGY PRODUCTS No 57 February 1983 to ignore several characters Of course the two can be used together A third use for a match routine is to find out exactly where a student has made a mistake In my opinion the most effective CAI does not merely tell the students that they have made a mistake but it diagnoses the error i e it tells them what they did wrong and offers an explanation The only way an author can effectively diagnose errors is to know what the error is Diagnosis is comparatively easy with controlled items with non controlled items it becomes more difficult precisely when diagnosis is most important This match routine is not very fast since it is in BASIC rather than machin
85. dex file Ideally we would first rename the existing file as old then save the updated file under the correct name and finish by scratching old after the new copy is properly closed Unfortunately this requires enough spare storage on the diskette to hold two copies of the index file and we don t have that much room to spare when the file is full The same problem keeps us from using the SAVE WITH REPLACEMENT option of CBM DOS It works much the same way making a spare copy of the new version No 57 February 1983 before destroying the old one If you have a larger capacity disk drive either of the above methods would work well But on the 4040 we do it this way 5050 REM WRITE OUT KEY FILE 5060 PRINTTAB 11 WRITING KEY FILE 5070 SCRATCH INDEX D DD ON U UN 5080 IF DS gt 1 THEN 1690 In BASIC 2 substitute 5065 OPEN 15 UN 15 5070 PRINT 5 SCRATCH DD INDEX 5075 GOSUB 60020 REM CHECK DISK STATUS WITHOUT REOPENING FILE 15 Considering how often BASIC 2 users will be opening and closing file 15 it would probably be better to open it once in the setup module and not close it again until the program ends After eliminating the old copy of the file update now proceeds to save a new version 5110 DOPEN 9 D DD INDEX W ON U UN 5120 IF DS THEN 1690 5130 PRINT 9 F C NR C NV C ND 5140 IF NV 0 THEN 5170 5150 FOR 12 1 TO NV PRI
86. fast and memory efficient language EDIT An Atari FORTH Screen Oriented Editor Mike Dougherty A big improvement over the APX line editors APPLE Pascal Hi Res Screen Dump Robert D Walker Dump the high resolution graphics screen to your printer An Introduction to FORTH Ronald W Anderson All about Reverse Polish Notation colon definitions and other FORTH features FORTH for the 6809 Ronald W Anderson A look at CCFORTH figFORTH and several FLEX based systems The World According to LISP Steven Cherry A powerful language suited to robotics and artificial intelligence ENHANCEMENTS 11 17 22 28 Improved IEEE 488 Control for PET CBM David W Priddle More precise control of the bus without using logical files VIC RS 232 Michael V Tulloch Interface the Radio Shack Quick Printer and other RS 232 devices PROM BASIC for the 1 David A Jones Increase the C1P s performance without a disk drive Indirect Files Under OS 65D Richard L Tretheway Use the indirect file to merge programs perform warm starts transfer programs BASIC AIDS 33 37 40 It s All Relative Part 3 Using Commodore s Relative Records Jim Strasma Use a key file as an index into a relative file A Binary Search
87. gramming for it More on this later RANA DRIVES We are now quite competitive on our Rana Drive prices Give us a call for our new lower prices We also have the new Gibson high speed light pen at a discount This is a knockout item EBEN P u NOTON COM Post Office Box 1297 Corcoran California 93212 Foreign Orders 209 992 4481 In California 800 692 4146 94 N CI CN Pet is a registered trademark of TRS 80 is a registered trademark of Tandy Corp Atari is a registered trademark of Atari inc Outside Calit 800 344 5106 At press time our price was 296 Call for latest pricing 114 Ice Demons is a nice new arcade game from the talented Matthew Jew Listing at 29 95 our special this month is 32 98 7720 Omega Microwave has an excellent new game out called A City Dies Whenever Night Falls List price is 29 95 and our special is 22 95 The documentation that comes with this is unbelievable And it is copyable and listable 4707 128K 399 Also from Omega we re happy to be carry ing their Ramex 128 128K board for only 399 a bargain even at the full list price of 499 It requires no removing of chips to install It comes with powerful disk emulation software which adds eight new DOS commands It is the only 128K board that allows the user to load or save a full 136K VisiCalc file in 20 seconds 4708 NEW 1071 Pleasure adults only Village 25 39 7070 Hands On a
88. information in LISP is the atom There are literal atoms which are represented as a Se quence of alphanumeric characters beginning with a letter and numeric atoms which are simply numbers Thus A HELLO PQR57 and WALRUS are literal atoms while 12 and 56 87 are numeric atoms 15AYT would not be an atom The sequence of characters that denote an atom are called the atom s print name For example the print name of atom DEF is the se quence of characters D E and F Atoms can be combined to form the basic data structure of LISP the list A list is simply a sequence of symbolic expressions or S exprs bound by a pair of parentheses where a s expr is de fined to be an atom or a list So A B C is a list comprised of three s exprs the atoms B and C Similarly HAIL 65 AND WELL MET J is a list comprised of three s exprs namely the atom HAIL the atom AND and the list WELL which in turn is com prised of the two atoms WELL and MET list may contain any number of atoms or lists as its elements Be aware that the parentheses are not part of the list they are punctuation marks that define the list just as a pair of quotes defines a string in BASIC At the heart of LISP is the evaluator Whenever you type something into LISP the interpreter tries to evaluate what you typed in and return the result this is known as a READ EVAL PRINT loop If for some reason LISP cannot evaluate your input
89. is EPROMs 2732 EPROMs are available for approximately 10 apiece so for less than 100 you can buy eight EPROMs a 24 pin ZIF connector a couple of 74LS139 decoders and still have enough left over to pay the sales tax There have been several articles in MICRO 39 97 and 45 31 for example to expand the 600 board via the J1 con nector I won t go into detail here ex cept to say I limited my memory ex pansion to 24 pin devices The byte wide RAM parts are now more cost ef fective than 2114 s when you consider the price of sockets and power dissipa tion and they have the added advan tage of being pin compatible with 2716 and 2732 EPROMs An expansion board with eight 24 pin sockets will utilize all of the generally available unused memory in the 600 board if populated with 2732 EPROMs or half of that amount if 22 10 20 38 40 38 o8 sa 118 248 258 260 279 280 wa 328 370 348 358 3 378 388 398 418 428 438 440 450 450 478 488 498 588 510 520 530 540 598 560 5 588 598 eaa 61 3rna 9708 37n 9700 S7RO 97A8 9702 SPAS 97AD 978A 9782 9784 9397B7 9789 27BA 3FBC B 3 BC SPBF 3704 Iree s Ce 97 9 FCC S D2 97D4 3706 9709 9709 37E8 2 97E4 S7ES 97ER
90. is from 1300 and you should answer no to INIZ as before Putting only these two utilities in PROM is worth the cost and effort but there is more PROM space from 9191 to 9800 is available for custom rou tines I have my printer interface driver here a new keyboard service routine Autobasic a smart terminal routine an EPROM programmer and still have space left over for future expansion There s another advantage By mak ing BASIC in ROM BASIC in PROM you can fix the garbage collect bug that exists in Microsoft BASIC Version 1 Rev 3 2 I have implemented the code recommended by E Morris in the June 81 issue of PEEK 65 and am pleased with the results In fact the word pro cessor I used to write this article is written in BASIC and uses extensive string manipulation The diagrams and schematics ac companying this article show you how to make the necessary modifications Most of the cuts to the PC traces are on the top of the board and are marked with a j Figures 3 and 4 show the best places to make the cuts The jumpers not shown in figure 3 should be apparent in figure 2 I marked the source of each added or changed signal and abbreviated the schematic for clarity You should compare it with the original before you attempt the Figure 1 Chip Select Decoding N D7 T A1 06116 6 2 05115 pats a oE A5 D2L 2 A6 p He L A7 p
91. list has the form prop value prop2 value valuen For example you may want to assign the property COLOR to the atom BALL with the property value RED The LISP function PUT is used to put properties and values on an atom s p list Proper ties must be literal atoms a property value may be any s expr The s expr PUT BALL COLOR RED puts the property COLOR with value RED on the p list for BALL The LISP function GET is used to retrieve property values If you type GET BALL COLOR you will get RED as the result GET returns NIL if the atom does not have the indicated property on its property list Earlier I mentioned that the LISP function CDR took a list as its argu ment CDR also can take an atom The CDR of a literal atom is its property list If you type CDR BALL you ll get COLOR RED The function REM removes properties from a p list Thus REM BALL COLOR removes the property COLOR from BALL s p list What are p lists good for Suppose you want to create a dictionary of English words to be used by a natural language processor The various proper ties associated with a word such as part of speech plural form etc could be conveniently stored on a p list For example the p list for the atom APPLE could look like NOUN T PLURAL APPLES OBJECT FRUIT SHAPE ROUND These properties could be used by the natural language parser to deter mine if a statement was syntactically correct and sema
92. or LLIST If an instruction is found it can be executed In this case a JMP to the routine will be executed As assembled the page lister is written to fit at the top of a 32K machine With one exception the program is written in position independent code If you move the program the location LINCNT must be defined to a valid RAM location The program lists 14 lines to the screen and stops waiting for a key press after which the next 14 lines are 92 GROUND THIS POINT REMOTE JACK BATTERY OR gt POWER SUPPLY 7 25 684 listed To hook the program to BASIC after loading the routine enter POKE 383 amp H7E POKE 384 amp H7F POKE 385 amp HE7 If you do not have extended BASIC you will have to convert the hex numbers to decimal Load a BASIC program and do a LIST If you do an LLIST you will find that the program does not stop after 14 lines but continues until completed The routine is called just before each line in a listing The opcode 7E causes a JMP to the start of the program at 7FE7 The routine checks location 006F DEVNUM which determines printer or screen status If 6F contains FE the list is going to the printer a 00 indicates the screen is the destina tion of the print When anything but zero is found control returns to BASIC If screen printing is being done 7FE6 is incremented by 1 A CMP tests to see whether or not the fourteenth line has been printed If
93. pretation of a FORTH screen en courages a vertical style of FORTH definitions with a comment for each step Considering the low cost of diskettes I prefer to spend a small amount of money for the comments of a vertical definition rather than to spend a large amount of time decipher ing terse horizontal definitions con taining few step by step comments final pragmatic reason for select ing the 32 character text window lies in the fig FORTH treatment of disk blocks when read into memory Con secutive fig FORTH disk blocks are not necessarily stored in memory con secutively Further a disk block in memory must also contain disk related information Fortunately after a disk block is read into memory the starting address of any 64 character line may be retrieved by the FORTH word LINE Since the characters of each line are stored consecutively in memory a 32 character text window is easily manipulated A text window not fitting evenly into 64 characters would have to be handled by overlapping from block to block Implementation EDIT is implemented as a turn key application That is once EDIT is in 48 Listing 1 continued SCR ba e N 13 2 o lt bs e 12 13 _ gt _ o ODNOMRHNK OTD are Wh m m OS SCR me BROOM WbUNRKD m N
94. pricing includes tutorial 4005 Chestnut Street Philadelphia PA 19104 215 387 1500 Toll Free orders only 800 523 0725 Appie isa registered trademark of Apple Computers nc 64 MICRO No 57 February 1983 ee LANGUAGES The World According to LISP by Steven Cherry LISP has always been considered a language for large computers In this introduction learn about LISP as it is implemented on a microcomputer Many people who work with com puters believe LISP is a strange and obscure language used only by mad computer scientists who are locked away in research laboratories or univer sities working in that nebulous field commonly known as Artificial Intelli gence Indeed because LISP gener ally has been restricted to use only on large computer systems few have been able to obtain exposure to this language outside an AI or academic environ ment However with the introduction of P LISP for the Apple II as well as other LISP interpreters for other ma chines this trend is rapidly changing For Apple owners access to a compre hensive and quite powerful LISP inter preter is now at their fingertips It is therefore a worthwhile endeavor to take a close look at LISP to see what we ve been missing for so long LISP stands for 1151 Processor It was developed by John McCarthy at MIT in the late 1950 s originally as a tool for mathematical research Because of its unique features LISP
95. recalculations on automatic Set column width to 9 characters See below See text S l ices continued item number 1 Item 1 would be DISKS which is one source of SALES a member of the summable group SALES Inform BUILDIT of this by entering DISKS Next you enter 4 BOOKS to tell the program that BOOKS is the second member of this group Entering SALES tells the program to set the worksheet to total the DISK and BOOKS en tries and place the result in SALES The next three entries follow the same logic 1 FIX EX 2 VAR EXP and 3 TTL EXP FIXED EXPENSE VARIABLE EXPENSE TOTAL EXPENSE The gross is the difference between SALES less TOTAL EXPENSES so the next entry would be GROSS The next item taxes is not itemized or computed so it is considered a stand alone sum Taxes would be entered as TAXES The only thing left to do is compute the net income which is GROSS TAXES The net income item would thus be entered as Now enter Q to end item maintenance and enter item edit mode Figure 2 A B C 1 JAN FEB 2 DISKS 3 BOOKS 4SALES 50 2 3 GSUM C2 5 FIX EXP 6 VAR EXP 7 TIL EXP QSUM B5 B6 SUM C5 8 GROSS B4 B7 C4 C7 9 TAXES 10 NET B8 B9 C8 C9 where you can make any editorial changes When you are done editing enter Q You will then be prompted to enter a file name to
96. rewriting editing process as the part of composition that can be taught There are a number of schools using word processing software in this way One of the problems is that many of the word processing packages are designed for commercial use and as such are more complex than necessary for stu dent use A student version of Wordstar would be a worthwhile product Editor s note Memory Bank has just released The Bank Street Writer a word processor for students Unfor MICRO tunately much of the hardware being purchased by schools is not ideal for word processing because of short lines and fuzzy characters Data base man agement systems could be widely used in schools both in individual class rooms and in central offices Again simplified versions of business systems should find a market here At present there are a number of administrative packages on the market for example gradebook attendance and library packages One of the most impressive is the Harts III package that in addition to the items listed also handles class scheduling for a large 1 000 students school Without doubt the most widely used packages in this class are general language interpreters and compilers used in programming courses One worthy of mention is the Interpas RASCAL system an interpretative ver sion of Pascal plus a set of graphic and sound programs This system comes with a complete curriculum including textbooks and student and t
97. save the work sheet template After the program has finished writing out your file run VisiCalc and use the SL command to load the worksheet template See the template in figure 2 I have replaced the zeros with the formulas for the given worksheet coordinate Notice that the operators are stripped off from the items and the grand total column is automatically generated BUILDIT is fully interactive and all relationships are validated up front If D E MAR GRAND TTL QSUM B2 D2 SUM B3 D3 SUM D2 D3 SUM B4 D4 QSUM BS D5 QSUM B6 D6j QSUMI DS D6 QSUM B7 D7 D4 D7 SUM B8 D8 QSUM B9 D9 D8 D9 SUM B10 D10 they are not correct you are told which operators would be valid You are always prompted and never left won dering how to respond It is simple to use only four operators but is de signed for a limited number of applica tions It is designed for accounting ap plications where only sums and dif ferences are used With modifications it could be made to handle all but the most complicated worksheet tem plates Perhaps as important as its application is the fact that it demonstrates how programs external to VisiCalc can be used to create VisiCalc templates Listing 1 10 GOSUB 1000 REM INITIALIZE 15 ARY CATEGORY PROCESS MAINTENANCE 20 GOSUB 2000 REM GET EDIT CATEGORIES 21 FOR J TO NUM CT J IN J NEXT 22 NC NUM REM SAVE NUMBER OF
98. smallest user manual 108 pages versus 137 for microPascal and 221 for microBASIC I soon con cluded I needed more help getting started in APL than was available in the Waterloo documentation To learn more about the language I pestered my local librarian to obtain several APL textbooks via interlibrary loan Books on APL APL inventor Kenneth Iverson wrote the first book about the lan guage Published in 1962 it is entitled A Programming Language It describes some of the rationale of APL and how to implement it I recommend Mr Iver son s book only to those interested in APL s guts it is not a good tutorial for learning to write APL programs Books in Print currently lists about a dozen APL textbooks I borrowed five No 57 February 1983 of them selected more or less at ran dom all of which are better than the original for learning APL programming I found the most folksy approach to teaching APL in Howard A Peelle s APL An Introduction Written in an unusual style this book is organized into nine tutorial sessions The pages are printed to look like an APL terminal printout with hand written notes added The lessons seem easy to follow and there are frequent questions for the reader to test his understanding of the material I think this book is a good in troduction to APL for those with little or no computer experience Others will probably find it a bit plodding APL An Interactive Approach by
99. switching current is quite small and will keep the relay from sticking closed When you finish the modification you can test its performance with the following information BASIC has two routines in ROM that control the con dition of the cassette motor MOTOR OFF is located at A7E9 and MOTOR ON is located at A7CA EXEC amp HA7CA turns on the motor and EXEC amp HA 7E9 turns it off Another way to control the relay is with a POKE to the PIA at 65313 POKE 65313 60 turns on the motor and POKE 65313 52 turns if off Of course you could just type MOTORON or MOTOROTFF but that wouldn t be nearly as much fun Next month I will take a look at some more RAM hooks and present more CoCo news If you have anything to contribute contact me at the address below or through MICRO You may contact the author at 508 Fourth Avenue NW Riverside ND 58078 MICRO No 57 February 1983 MICRObits Continued from page 88 Target an AIM 65 Newsletter Need information for your AIM 65 computer News software and hardware are examples of items covered in the newsletter Yearly subscription rates are 7 00 in the US and Canada 12 00 elsewhere Back issues are available beginning with 1979 at the same per year rate Target c o Donald Clem RR 2 Spencerville OH 45887 The State of the Art in Astro Software Wide range of astrological and astronomical software of the highest quality From powerful and income
100. the simpler syntax of PRINT and INPUT without 13 needing logical files It also permits any single byte to be sent or received with or without on the 488 bus using the syntax of PRINT and IN PUT More complete control of I O on the IEEE 488 bus allows the PET CBM to be used as a scientific in strument controller in applications that are more difficult or impossible without this program How to Use the PRINT Utility Program An assembler listing listing 1 and BASIC loader program listing 2 are provided for any PET CBM with BASIC 4 0 and 32K The BASIC pro gram should be entered and run This will load the machine code into top of memory adjust the BASIC pointers to protect the code and attach itself to the CHRGET routine The utility program may then be NEWed Since the machine code in this form is not relocatable it should be loaded before any other BASIC program There are 12 absolute addresses used that must be changed if the program is re El wn QP SENSE CARDBOARD 6 87 95 An expansion interface for the VIC 20 Allows expansion to 40 K or accepts up to six games May be daisy chained for more versatility CARDBOARD 3 39 95 Economy expansion interface for the VIC 20 CARD CARD PRINT 79 95 Universal Centronics Parallel Printer Interface for the VIC 20 or CBM 64 Use an Epson MX 80 or OKIDATA or TANDY or just about any other CARDETTE 39 95
101. think it is unmatched in its freedom from variable types This freedom comes at a price of course Since there are no declarations of variable types as in Pascal nor im plicit types as in FORTRAN and BASIC you are forced to discover from its context what kind s of data a variable contains This process of discovery can be puzzling and time consuming when you read an APL pro gram written by someone else or yourself six months earlier Also since APL tends to substitute array operations for things that would be written as loops in other languages its coding is unusually compact I doubt that even the most experienced APL programmers skim through un familiar APL code the way you might with Pascal or well written BASIC However APL s compactness does have its virtue microAPL is the Super PET s fastest interpreter hands down There simply isn t as much source code to scan in performing a given task as in other languages For example consider as a benchmark the filling of an array with the sequence 1 2 3 1000 This task takes as coded below 11 seconds in microBASIC 5 25 seconds in CBM BASIC and only 1 18 seconds in microAPL APL Implementations APL implementations including microAPL contain many more built in functions than are found in most other languages even on mainframe com puters There are functions for finding the maximum or minimum value in an array sorting arrays and cutting and past
102. to FORTH however I would not rec ommend going the fig route However if you can learn FORTH first on another system the fig route is an inexpensive though time consuming way to go FORTH from Talbot Microsystems Ray Talbot who wrote the fig im plementation for the 6809 sells an implementation of FORTH through his company Talbot Microsystems Tal bot s implementation known as tFORTH offers features that make it easier to use with FLEX The disk con taining the FORTH compiler has several tracks that are initialized in the standard FLEX format This allows the user to have the FORTH compiler on those tracks and to call it with a stan dard FLEX call The user may put FLEX itself the necessary utilities to boot FLEX and perhaps some utilities such as COPY LIST etc on those tracks MICRO also The remainder of the disk is used by FORTH directly as screen storage FORTH will access a second disk drive when the screen number re quested goes beyond the range of those numbers available on the first drive a handy feature There are some utilities included in FORTH to do an index list Screens over a range of specified num bers and list them formatted three to a page for a printer Other utilities are in cluded to copy one screen to another and delete screens In addition to tFORTH Talbot has available an extended version called tFORTH The added features are a screen oriented editor a full 6809 assembler a
103. to write a program to read it directly Hardware Another problem caused by VIC s non standard version of RS 232 in volves voltage levels VIC outputs 0 to 5 volts TTL levels VIC also ex pects 0 to 5 volts for any inputs You must observe these limitations since the RS 232 lines connect directly to a 6522 VIA Because RS 232 standard de vices expect to be sent 12 volts and usually output the same voltage range there is an obvious incompatibility The circuit shown in figure 1 adjusts voltage levels It converts VIC s 5 volt signal to 12 volts actually 10 volts OK for most applications and vice versa Although there are several ways to accomplish this conversion the ap proach chosen is capable of isolating by Michael V Tulloch the VIC completely from the printer if the printer supplies the 12 volts or a separate 12 volt supply is used 741 504 hex inverter protects the input and output lines of the RS 232 port This inverter also corrects VIC s signal inversion problem An opto isolator shifts the level from 0 5 volts to 12 volts In this example a single rectifier and electrolytic capacitor converts VIC s 9 volt ac output to about 12 volts dc A resistor divider provides a ground for the printer Since RS 232 inputs draw very little current this circuit works adequately Note that the pro tective ground and signal ground of the VIC are at the same potential and are not isolated Do n
104. transfer programs from one operating system to another One of the ways that OSI protects users from acciden tally trying to run incompatible soft ware from one operating system to another is to use different disk formats so that one DOS won t read files from another If you own a color video system try booting up your DEALER DEMO disk press P for PASS to enter BASIC Now insert a regular OS 65D disk in the drive and try to load the BEXEC from that disk No soap right Here again indirect files can help All versions of OS 65D support indirect files as does OS 65U So to transfer programs from one OS to another load your program and send it to the indirect file Re boot on the destination disk Type NEW to clear the workspace and type a CTRL X and you re all set to go Indirect files can merge programs Assembly language programmers are notorious for having little pet subrou tines that they use in many different programs If you are careful to use line numbers that are dedicated to special functions you can use indirect files to avoid having to retype those subrou tines every time you need them To illustrate a use for indirect files while in the Assembler Editor try No 57 February 1983 Listing 1 Continued 410 IF A gt SS 256 THEN 160 REM 440 POKEDA 13 POKEDA 1 10 470 the indirect file 500 INFUT PRINT S20 VAL AS RE
105. 0 VTAB 23 INPUT REENTER TOO HIGH A GOTO 2545 INS IN NUM 1 Continued No 57 February 1983 Listing 1 Continued 2605 2610 2612 2615 2616 2617 2618 2619 2620 2700 4000 4010 4015 4020 4060 4070 4072 4075 4077 4080 4100 4105 4110 4112 4115 4120 4130 4140 4150 4170 4200 4210 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4315 4320 4325 4330 4335 4340 4345 4350 4355 4360 4365 4370 4375 4380 4385 4390 4400 4900 4905 4910 4915 5000 5005 7000 7010 7015 7100 7105 7110 7200 7210 7300 7310 No 57 VTAB 23 GOSUB 9000 VTAB 23 HTAB 1 PRINT CHANGE ARY TO INPUT IN NUM 1 IF ARY CATEGORY THEN GOTO 2503 GD Y NODE 0 FOR J TO NUM 1 GOSUB 7000 IF GD THEN GOTO 2620 NEXT IF NUM lt gt NUM GOTO 2620 REM SEE IF LAST ITEM CHANGED IF NODE 3 OR NODE 6 THEN GOTO 2620 GD GOSUB 9100 FOR TO 4000 NEXT REM DISPLAY ERROR MSG DELAY IF GD THEN INS NUM 1 INS GOTO 2503 DIM FRM NI 3 FIRST 1 LAST 1 FOR TO NI 1 LT LEFT IT K 1 IF LT AND LAST 1 GOTO 4077 IF LT THEN FIRST LAST LAST 1 GOTO 4077 IF LT THEN GOSUB 4100 IF LT THEN GOSUB 4200 IF LT THEN FIRST LAST LAST K NEXT REM K GOTO 4300 IF LAST gt 1 THEN GOTO 4150 FORL K 1TO STEP 1 IF LEFT IT L 1 lt gt THEN GOTO 4115
106. 0 BO Column Printer 649 00 commodore 1039 00 aa Y lake PRA eS Side CALL VENDIT M M EY IUS CERTES 749 00 8096 Upgrade Kit 369 00 Super 1499 00 2091 scies tnt dii eo de rus 469 00 8250 Dbi Sided Disk Drive 1899 00 D9060 5 Meg Hard Disk 2399 00 DS9060 7 5 Meg Hard Disk 2699 00 8050 1299 00 4040 T 969 00 8300 Letter Quality 1549 00 OAT reote ene 599 00 4022 Loss ees ones oder 399 00 New Z Ram Adds CP M amp 64K 549 00 The Manager 209 00 CALL Word Pro 5 Plus 319 00 Word Pro 4 Plus 299 00 Word Pro 199 00 The Administrator 379 00 Info Pro 5 219 00 ROWER iors wa cain densi 79 00 CBM 8032 Dust Cover 14 99 CBM 8050 4040 Dust Cover 10 99 computer mail order east 800 233 8950 IN PA CALL 717 3287 98575 477 E THIRO ST WILLIAMSPORT 17701 In stock items shipped same day you call No risk no deposit on C O D orders Pre paid orders receive free shipping within the continental United States with no waiting period for certified checks or money orders Add 3 minimum 3 00 shipping and handling on all C O D and Credit Card orders NV and PA residents add sales tax All items subject to availability and price change NOTE We stock manufacturer s and third pa
107. 0 Specify APPLE CP M or Northstar Dealer inquiries invited 99 95 4995 139 95 MICRO 59 though perhaps a bit more efficient is too hard to follow The use of variables with fetch and store instructions makes the program much more readable Now let s define a third word HYPOTENUSE that will put the first two together HYPOTENUSE SQUARE SWAP SQUARE SQRT HYPOTENUSE is called with the length of the two sides of a right triangle on the stack It returns the length of the hypotenuse 3 4 HYPOTENUSE 50K 5 12 HYPOTENUSE 130K 100 100 HYPOTENUSE 141 OK The above example shows how to first define low level words and then use them to define higher level words A FORTH program is built like this starting with low level word defini tions and continuing with higher and higher level words until very few words can be combined to accomplish a task The trick of writing programs in LANGUAGES FORTH is simply to keep track of what is on the stack at every point in the pro gram This is facilitated by keeping word definitions short A bit of code that leaves a data value on the stack somewhere in the program may do no harm but if it is in a loop that repeats many times it will eventually cause the stack to overflow and crash the pro gram Code that removes more from the stack than it puts on causes a STACK UNDERFLOW error and most FORTH implementations will tell you so
108. 0 cu e ota p King Arthur 24 Dodge Racer 26 00 32400 Synassembler 3000 Los 19 00 Pci 18 RA Star T le of Asphai 26 00 Upper Reaches of Apshai 16 00 Disk Manager 24 00 20 Dust Cover VIC 1530 Datassette DATASDFT K razy Shoot 32 00 1 Pacific Coast Highway 25 00 K razy 32 00 Canyon Climber K razy 32 00 VIC 1541 64K Disk Drive Tumble Bugs T Slide s508 VIC 1525 Graphic Printer Shooting Arcade 25 00 Mar RAMON censes Seater 1210 3K Mem Exp Clowns and Balloons 25 00 STICK 1110 8K Mem Exp Graphic Master 30 00 VIC 1111 16K Mem Exp Graphic Generator 13 00 STAND VIC 1011 RS232C Term interface 4300 ff Micro Painter poten 6 99 VIC 1112IEEE 488 Interface 86 00 B Spei wizard 864 00 VIC 1211 Super Expander Bishop s Squ re 25 00 Arcade Action from your VIC Mother Board Sands ot ATARI or VIC Joy Stick computer mail order west SO0 648 331 1 iN NV CALL 7OR 588 5854 BOX 8888 STATELINE NV 99449 INTERNATIONAL OROERES All shipments outside continental United
109. 0 538 8543 408 745 2100 Aurora Software Assoc 37S Mitchell Arlington IL 6005 312 259 3150 CGRS Microtech PO Box 102 Langhorne PA 19047 215 757 0284 Commodore Business Machines Inc 681 Moore Rd King of Prussia PA 19406 215 6987 9750 Compu Think 965 West Maude Avenue Sunnyvale CA 94025 408 245 4033 Computerware PO Box 668 Encinitas CA 92024 619 436 3512 Creative Solutions 4801 Randolph Rd Rockville MD 20852 301 9844 0262 Datasoft Inc 19519 Business Center Drive Northridge CA 91324 213 701 5161 Duggers Growing Systems POB 305 Solano Beach CA 92075 Dynasoft Systems LTD P O Box 51 Windsor Junction Nova Scotia CANADA BON 2VO 902 861 2202 Virium Denmark Language Ellis Computing 3917 Noriega Ave San Francisco CA 94122 415 753 0186 Eric C Rehnke Technical Services 1067 Jadestone Lane Corona CA 91720 714 371 4548 FORTH Inc 2309 Pacific Coast Highway Hermosa Beach CA 90254 213 372 8493 FORTH Interest Group POB 1105 San Carlos CA 94070 415 962 8653 Frank Hogg Laboratory 130 Midown Plaza Syracuse NY 13210 315 474 7856 Gnosis 4005 Chestnut St Philadelphia PA 19104 215 387 1500 Hoyt Stearns Electronics 413E Cannon Dr Phoenix AZ 85036 Human Engineered Software 71 Park Lane Brisbane CA 94005 415 468 4116 Information Unlimited Software Inc 281 Arlington Ave Berkeley CA 94707 415 525 9452 Insoft Inc 10175 S W Barbur Blvd Suite 202B Portlan
110. 0200 Now let s see how to insert new records into a sorted list Figure 2 shows the coding that along with the search subroutine will perform this function This program will ask you to enter values As you enter them they will be placed in their proper alpha betical place in the file When you enter XXX as a record the program will stop and print out your new list You will lose all your new values when the program ends but this isn t serious since this is only a test program In practice you would read all the data in from a tape or disk and then write them back to a tape or disk when all the changes have been made For an exercise write a delete rou tine You should be able to model it after the insert routine in figure 2 Notice that you don t always have to check for the full record You can for example replace N I with LEFT N I 3 in the subroutine if you only MICRO want to check the first three characters for a match As you might have guessed the binary search routine can be set up as the foundation for a complete file maintenance system If you are able to find a record it s usually a simple mat ter to change it or delete it The major disadvantage is that you must be able to hold your entire file in RAM Ran dom Access Memory for the length of the run This restricts the size of the file you can use As an extension you might want to write a routine to read in say 100 records and search
111. 1 CASE RIGHT CURSOR ENDCASE 12 3 CASE LEFT CURSOR ENDCASE 15 155 CASE RETURN ENDCASE 14 i19 Ss SCR 86 SCREEN EDITOR DEFINITION 1 2 255 CASE INSERT ENDCASE 3 254 CASE DELETE ENDCASE 4 157 CASE INSERT LINE ENDCASE 5 155 CASE DELETE LINE ENDCASE 6 126 CASE DEL ENDCASE 7 127 CASE TAR ENDCASE 8 125 CASE CLEAR SCR ENDCASE 9 27 CASE ESC ENDCASE DUP ENDCASES 11 STOP 2 12 UNTIL 13 14 XGR 15 3 8 Do case on the next key ESC S change video side ESC N edit next screen ESC L edit last screen ESC E exit editor ESC abort edit session ESC F put down deleted line else signal key error screen Save EDIT screen number Read and display screen Clear stop flag ta false Begin Get a ATARI editing ATARI key and pracess up arrow down arrow right arrow left arrow return key ATARI ATARI ATARI ATARI ATARI ATARI ATARI ATARI ATARI CTRL INSERT key CTRL DELETE key SHIFT INSERT key SHIFT DELETE key DELETE key TAB key ATARI CTRL CLEAR key Enter escape key function else addkey to text Check if stop flag set gt Edit until stop is true Clear screen goto FORTH control keys graphics available for FORTH screen text As a final note most versions of fig FORTH do not include a CASE state ment However unlike languages such as BASIC or FORTRAN FORTH may be ex
112. 1 and 6252 And we have a disk we call THE TAX PREPARER S HELPER which has programs for INCOME STATE MENTS RENTAL STATEMENTS SUPPORTING STATE rra IRA ACRS 1040 ES ADD W 2 s and PRINT 2 s TRY ONE DISK AND SEE FOR YOURSELF ONLY 24 75 POSTPAID First disk is AP 1 and includes Form 1040 and Schedules A B C D and G 24 75 POSTPAID Write MICRO The Guide explains and demonstrates how to use the atlas and gazeteer published in the original volume MICRO makes it easy to order Send check payable to MICRO to MICRO INK P 0 Box 8502 Chelmsford MA 01824 Call our toll free number 1 800 345 8112 In PA 1 800 662 2444 VISA and MasterCard accepted Add 2 00 shipping per book MA residents add 5 SENSE 20 VIC 209 Personal Computer 179 95 VIC 1211A COM MODORE SOFTWARE VIC 1011A RS232C Interface 39 95 720 Super Expander S97 99 VIC 1515 Printer 334 95 Everything Commodore could pack into one cartridge 3K RAM memory expansion igh resolution lotti i VIC 1530 Datasette 67 50 ONE 10741024 VIC 1540 Disk Drive 349 95 new BASIC commands or accessed bY hitting one of the VIC s special VIC 1010 unction keys Includes tutorial instruction book Excellent for all programming levels Expansion Module 13995 VIC 1212 Programmer s Aid Cartridge 45 99 VIC 1312 G y
113. 114 IF lt gt NM THEN PRINT RECORD NOT FOUND PRINT PRINT 38 290 100 100 100 Listing 2 Routine to Insert Records REM REM ROUTINE TO INSERT RECORDS REM Ret errrerrrrrrrrrrrerrererer DIM NS 1000 N 10 DATA BILL CARL CARL DON JOHN MARIE MARY PETE ROGER ROGER 22222 FOR I20 TON READ NS I NEXT I INPUT ENTER VALUE YOU WANT TO INSERT ENTER XXX TO STOP NMS IF NM z XXX THEN 250 GOSUB 10000 REM 444444 4 k4 t ttttxkbthkk hkkwk REM ROUTINE TO INSERT RECORD REM d ow3k t t t ttt eerterrrrer PRINT INSERTING RECORD IN FILE FOR I N TO J STEP 1 NS I 1 N 1 NEXT I N N 1 N J NMS PRINT RECORD INSERTION COMPLETE PRINT ode dede de ode o d o dd o hw PRINT PRINT GOTO80 REM PRINT NEW FILE FOR I 0 TON PRINT NS I NEXT I STOP 00 REM Pttttttttttttttttttttttte 10 REM BINARY SEARCH SUBROUTINE 20 REM xekttetuestvestttwtes 10030 J 0 10040 IF J l THEN 10200 10050 IF N lt 0 THEN 10200 10060 IF NMS NS 0 THEN 10200 10070 J1 0 J2 N 10080 J INT J1 J2 2 10090 IF NMS NS J THEN 10140 10110 JleJ 10130 J J 1 GoTO 10200 10140 IFJ 0 THEN 10200 10160 IF J sl THEN 10200 10170 FOR J J TO 1 STEP 1 10190 NEXT J 10200 RETURN 10100 IF NMS lt NS J THEN J2sJ GOTO 10120 10120 IF J lt gt INT J1 J32 2 THEN 10080 10150 IF 1 AND NM N J l THEN J 0 GOTO10200 10180 IF NM N J THEN J J 1 GOTO 1
114. 133 120 32 60 185 104 133 120 104 133 119 96 1270 datal65 119 208 2 198 120 198 119 96 fori 32327to32767 reada poke i a next No 57 February 1983 Samples of Command Use PRINT 4 0 string a o replaces OPEN4 4 0 PRINT 4 string a b CLOSE4 INPUT 29 24 X replaces OPEN 10 29 24 INPUT 10 X CLOSE10 Idiosyncracies While PRINTQ3 will correctly print to the screen may not be used to input from the keyboard This aspect of the input was not con sidered important for instrument con trol but it could probably be changed if necessary PRINT requires that the user know the correct listen or talk address These addresses may be formed by adding 32 or 64 to the device number For example PRINT 36 0 65 66 13 PRINT 67 68 13 will cause a printer device number 4 listen address 36 to print A B cr and then C D cr ASCII values 65 66 67 68 13 represent A B C D Note that the addresses are not sent in the second command since the device has not been unlistened and is still active on the bus The UNLISTEN is sent using PRINT 63 When you use the INPUT com mand remember first to send a talk ad dress using PRINT PAJ and finally to use PRINT 95 to send the UNTALK Mr Priddle may be contacted at the University of Toronto Department of Chemistry Toronto Canada 58 1 1 ANICRO Announcing THE GUIDE A Complete Guide to the Apple Compute
115. 162 IF MID 22 23 1 THEN POP Listing 1 Continued 130 29 LEN 235 FOR Z 1 TO LEN S Z9 1 IF MIDS 5 27 29 238 THEN GOTO 134 138 75 LEFT Z3 24 1 26 24 1 27 140 29 LEN Z5 FOR Z 77 TO LEN S 29 IF MIDS S 27 29 255 THEN 146 Z8 17 Z6 Z1 1 74 MID S 22 26 Z2 0 71 73 72 14 GOSUB 154 IF 71 0 72 THEN 27 27 1 GOTO 140 148 25 LEN Z1 IF MID Z1 1 25 MID Z2 1 25 AND LEN 225 Z5 156 IFLEFTS 22 1 THEN 72 a M1D 229 2 GOTO 156 158 FOR 73 1 TO LEN Z1 IF MID Z1 23 1 a THEN GOTO 142 RETURN 164 71 MIDS Z1 1 Z239 1 MID Z21 Z3 1 166 22 MID 225 1 23 1 MID 22 23 1 GOTO 158 the first ampersand or between the last ampersand and the end of the string If a segment has one or more asterisks in it I call each part separated by the asterisks subsegment Thus if A amp MAN amp WOMAN amp there are two segments MAN and WOMAN It is the same if A MAN amp WOMAN If A amp MAN amp WOM N amp then there are two segments with the second con sisting of two subsegments When an ampersand is detected in A the routine works with these segments trying to find each one Naturally if at any time the search for a segment fails the routine does a RETURN Line 104 finds the location of the first ampersand and goes to line 112 If the ampersan
116. 2 232 169 58 157 1040 datal24 2 32 209 127 32 118 0 208 207 76 223 126 169 0 133 1050 datalS0 32 209 200 134 212 134 176 134 175 173 123 2 240 7 138 1060 data32 210 240 24 144 4 138 32 213 240 32 118 9 201 59 240 1070 datal4 201 92 240 10 32 209 200 134 211 134 165 32 9 241 32 1080 data72 241 32 118 90 201 92 208 4 169 255 133 16 173 123 2 1090 data208 135 32 112 9 32 170 186 32 180 187 76 259 126 1490 122 1100 data2 230 119 208 2 230 120 160 0 177 119 201 153 249 10 201 1110 datal33 240 9 172 122 2 76 118 0 169 0 44 169 34 141 123 1120 data2 32 112 0 201 64 240 133 201 33 240 6 32 247 127 76 1130 data259 126 173 123 2 208 94 32 112 0 201 59 240 46 32 247 1140 datal27 32 299 200 134 212 134 165 32 255 240 32 118 0 201 59 1150 data249 10 32 209 200 134 211 134 165 32 9 241 32 72 241 32 1160 datall2 240 175 32 247 127 32 118 8 240 167 32 112 6 201 1170 datal 71 240 14 32 247 127 32 209 200 134 165 32 9 241 76 78 1188 datal27 169 52 141 17 232 32 209 200 134 165 32 9 241 169 60 1190 datal41 17 232 16 210 169 34 141 125 2 169 58 141 126 2 173 1200 data64 232 41 253 141 64 232 32 112 0 32 192 241 141 124 2 1210 datal33 165 32 118 208 29 169 34 141 125 2 169 58 141 126 1220 data2 169 8 13 33 232 141 33 232 169 2 13 64 232 141 64 1230 data232 76 250 126 32 209 127 32 118 0 240 219 32 112 0 32 1240 datal92 241 141 124 2 133 165 76 187 127 32 43 193 133 70 132 125 data71 165 119 72 165 120 72 36 7 48 3 169 124 44 169 123 126 datal33 119 169 2
117. 714 835 4884 Appiesoft and Apple II are trademarks of Apple Computer Company Pet is a trademark of Commodore Business Machines 61 LANGUAGES FORTH for the 6809 by Ronald W Anderson The various versions of FORTH available for 6809 based computers are discussed These include CCFORTH for the Color Computer fig FORTH and several FLEX based systems fig FORTH No discussion of FORTH would be complete without mention of the FORTH Interest Group fig Fig has implemented FORTH for most of the processors that are commonly used in cluding the 6800 6809 6502 and 68000 Source listings of fig FORTH for these processors are available from fig for a nominal charge it was around 15 when I bought it The 6809 version is compatible at the most minimal level with the FLEX operating system It is implemented as or includes its own disk operating system accessing disk sectors directly Depending on the number of bytes per sector it utilizes four or eight sectors to form a unit of memory called a screen A screen is a terminal screen full of information consisting of 16 lines of 64 characters The FORTH disk operating system is workable but primitive by present day standards There is no directory facility Standard practice is to use the first line of every screen as a description of the contents a type of comment line A FORTH word will list the first lines of all the screens formin
118. 72 152 72 96 ADVANCED E se hill E Zoom HiRes Graphic Printing tor Apple Computers Print front or back view of either or both screens Print upright upside down rotated left or right Selectable printing densities for many printers Easily place zoom viewport using on screen crosshairs Large range of scale factors independently selected Load files to either screen in just 5 keystrokes Type upper lower case English or Greek text on screen Attach screen dump to your own programs complete details Real Apple ti DOS 3 3 format Unprotected backup with COPYA Supports over 70 dot matrix and letter quality printers Supports serial parallel graphic and buffer 1 cards Also works with the Basis and Franklin Computers Only 34 95 postpaid or see your dealer Versions without text annotation available for Apple li Pascal 34 95 Apple Ill SOS 1 1 44 95 2281 Cobble Stone Court Dayton Ohio 45431 513 426 3579 Dealer Inquiries dni Invited MICRO 97 T E ps Apple Slices continr item number 1 Item DISKS which is one member of the SALES Inforr af entering 7 BOOK BOOY this t lus 48K as Beimu A Description The product provides the capability to create and manipulate large lists of information List manage ment is performed by high speed search and sort routines Pluses The system is expandabl
119. ADDRESS NB IS WORK 40600 IFNA O0THEN40980 REM EXIT OLD DEST PASS 40610 L PEEK X 3 L9 L 256 NB9PEEK X 2 LeL NB 40620 IFL gt HRTHEN40980 40630 WexX 4 REM TO TEXT OF INST 40640 FORIS0TO72 REM SCAN FOR BR 40650 C PEEK W I REM BRANCH TABLE ARGUMENT 40660 REM L44 0N 44 COMMA AFTER ON 40670 REM 136 GOTO 1409GOSUB 160 THEN 137 RUN 40680 IFCel4 4THENSe1 REM ON SET SWITCH TO 1 40690 IFS 1THEN40720 40700 IFC 1360RC21400RC 1600RC 137 THENGOSUBA40770 MICRO No 57 February 1983 Listing 1 Renumber BASIC continued 40710 40720 40730 40740 40750 40760 40770 40780 40790 40800 40810 40820 40830 40840 40850 40860 40870 40880 40890 40900 40910 40920 40930 40940 40950 40960 40970 40980 40990 41000 41010 41020 41030 41040 41050 41060 41070 41080 41090 41100 41110 41120 41130 41140 41150 41160 41170 41180 41190 41200 41210 41220 41230 41240 41250 41260 41270 41280 41290 41300 41310 41320 41330 41340 41350 41360 41370 41380 41390 41400 41410 41420 41430 41440 41450 41460 41470 41480 41490 41500 No 57 February 1983 G0T040730 LFC 1360RC 1400RC 1600RC 1370RC 44THENGOSUB40770 72 5 0 RESET ON GOTO SWITCH NEXTI 07040560 CONTINUE W NEXT LINE REM ENTER HERE FOR BRANCHING ONLY REM I NOW POINTS AT POSSIBLE THEN IFC lt gt 160THEN40800 B PEEK I W 1 IFB gt 57THENRETURN REM THEN W EXPR IGNORE
120. ATS 8 STD HEATH APPLE OSBORNE NORTHSTAR OUTSIDE USA Add 510 In NJ add 5 sales tax MICRO No 57 February 1983 ing like it before Nothing else like it now brings you continuous Hi Res action animation in every adven turous moment And real running leaping crawling Real fighting i shooting stabbing dynamiting Real wounding poisoning killing Real action excitement mystery All in a real time challenging adventure that s the wave of the future Paul Stevenson s graphic genius first displayed in his Hg best selling Swashbuckler sword fighting game F3 outdoes itself AZTEC You re inside an ancient UU Aztec pyramid searching for the golden idol Descend deep into the heart of the temple meet cobras scorpions giant lizards hostile Aztec guardians and more Watch for hidden strange death rooms Be ready to fight or run crawl or jump to possible safety The menace is real the options and strategy are yours You ve never seen an adventure like Aztec You ll never tire of its amazing action animation and exciting challenge 39 95 for the Apple 1 At your computer store or 213 709 1202 gt 2 VISA MASTERCARD accepted 52 00 shipping zu Typ handling charge California residents add 8495 Apple trademark af Apple Computer inc sales tax i More on Tiny PILOT for the PET by Arthu
121. Actually the previous discussion is a bit of an oversimplification since FORTH actually uses two stacks the parameter stack and the return stack The return stack is used to keep track of the program flow from colon defini tion to colon definition and it is usually transparent to the user Advanced tech niques may involve using words to manipulate the return stack as well FORTH has a core of standard words for mathematical operators data handling words and decision making One of the differences among the FORTH implementations is how many core words are implemented in tions in FORTH Assembler defined words generally run faster than the FORTH defined words Also the main part of FORTH will be smaller if more of the core is implemented in assembler The normal math functions in FORTH are based on 16 bit integer arithmetic so numbers have the range of 32767 to 32768 The implemen tations discussed in the companion article pg 62 have additional standard FORTH words defined that allow Manipulation of larger integer numbers such as D for double preci sion multiply etc You can write a floating point math package in FORTH if it is required for your applications You can tailor the package to your needs so that you don t have to suffer with the slow calculations of a 12 digit floating point math if you need only six or seven digits Such routines have been published and some are commer cially available
122. Ada CEEMAC COBOL 80 COBOL RM COBOL COBOL 3 3 Nevada COBOL CIS COBOL Nevada COBOL COMAL 80 best of BASIC amp Pascal Fast FOCAL 65 TransFORTH fig FORTH FORTH Microspeed superset of FORTH SuperFORTH CC FORTH FORTH 72 Version 2 FORTH 6809 SYM FORTH 1 0 fullFORTH FORTH 79 Stand Alone fig FORTH PolyFORTH X FORTH C64 FORTH VIC FORTH FORTH 1 7 FORTH I 0 S FORTH GraFORTH FORTH Timin FORTH 3 5 Color FORTH FORTH Color FORTH TeleSoft Supersoft Vanguard Software Factory Vagabondo Microsoft Enterprises Prism Software Ryan McFarland Data Compass Corp OSI Ellis Computing MicroFocus FORTH Inc Metanic 6502 Program Exchange Soft Corp SofTape Insoft Inc Aie Analytics Inc Hayden Software Frank Hogg MicroMotion Talbot Microsystems Saturn CGRS Microtech MicroMotion jim Tools i Frank Hogg Information Unlimited E q Bus Multi bus S 100 configurations CP M MSDOS 32K RAM min Z80 softcard RAMcard 1 drive 48K 16K cass 32K disk 48K 2 drives 44K Softcard Unix 68000 8 disk 1 drive 64K 6809 CP M Softcard CP M 1 drive UNIX or CP M Softcard CP M 1 drive CP M 48K 1 drive Apple 16K cassette others 1 or more disk drives 48K DOS 3 3 10K 4K RAM 48K DOS 3 2 Disk drive 1 disk drive 1 6 disk drives 48K 80 column bd op
123. Bec FORK OTO6 REM FIND LEFTMOST OF DESTINATION C PEEK K I W IFC gt 47ANDC lt 5 8THENK K 6 NEXTK KR K 6 REM FIND RIGHT SIDE FORKeKRTOKR46 C9PEEK K 1 W IFCX480RC257THENK K46 NEXTK K K 8 J 10 BT Q PEEK K I W BT Q BT Q 48 KeK 1 C PEEK K 1 W IFC lt 480RC gt 57THEN40970 48 1 1 10 0 0 G0T040920 C B Q Q 1 RETURN REM LINK TO DESTINATION X 769 BD BG NA PEEK X 1 NA NA 256 NBePEEK X NA NA NB IFNA O0THEN41130 LePEEK X 3 LeL 256 NBePEEK X 2 L L NB IFL gt HRTHEN41130 FORQ 0TO200 REM LINK OLD TO NEW Y97X 3 LN9PEEK Y LN9LN 256 REM HIGH OF LINE Y X 2 LOsPEEK Y LN eLN LO PRINTLN REM PRINT LINE NEXTQ IFL lt LRORL gt HRTHENG1110 BD BD ST X NA GOTO41010 REM RENUMBER SAVE PRINT START TAPE RECORDER IN RECORD PLAY MODE NOW INPUT PRESS SPACE RETURN WHEN PAST LEADER B Q 0 X 769 NA PEEK X 1 NA NA 256 NB PEEK X NA NA NB IFNA OTHEN41500 Y X 3 LN PEEK Y LN LN 256 REM HIGH OF LINE Y X 2 LO PEEK Y LN LN LO IFLNPHRTHENA41500 IFLN lt LRORLN gt HRTHEN41 240 PRINTBG BG BG ST G0T041250 PRINTLN REM PRINT LINE W X 4 FORI 0T072 C PEEK W I IFC OTHENX NA I 73 G0T041430 IFCeA4THENPRINTCHR C GOTO41340 IFC lt 1280RC gt 195THEN41420 128 IFLN lt LRORLN gt HRTHEN41430 C C 128 LFC 160 THENB PEEK W I 1 1 FB gt 57THENG1430 IFC 144THENS 1 REM SET ON GOTO SWITCH IFS 1THEN41380 IFC91360RC 1400RC 1600RC 137 TH
124. CASE statement and some additional data types such as ARRAYS Another program available from Talbot is firmFORTH firm FORTH allows you to shrink a finished application program to a bare minimum by including only the core words that you have used in your ap plication It eliminates everything else and generates only the necessary binary code that you may burn into an EPROM for a dedicated application or save on a disk for quick load and run XFORTH from Frank Hogg Labs Frank Hogg Laboratories of Syracuse NY also supplies a FLEX compatible version of FORTH called XFORTH XFORTH includes a com prehensive manual that contains a tutorial on FORTH as well as an exten sive FORTH Glossary This implemen tation comes complete with many FORTH screens of application pro grams that aid you in using FORTH including a complete double and triple precision integer arithmetic package an extensive Screen Editor and a complete 6809 assembler Ver sions are provided for several terminal models With a bit of study they may be adapted to most any terminal that No 57 February 1983 LANGUAGES ANM allows computer controlled cursor posi tioning cursor home and screen erase XFORTH varies from the fig stan dard disk operating system It still uses the screen concept but an application or program is kept in a standard FLEX file To load a particular application you load the FLEX file into a screen buf fer Now screens in the
125. CNT 7FF1 81 00210 SCREEN FULL 7FF3 26 OA 00220 BNE OUT IF NOT THEN GO 7FF5 AD A000 00230 LOOP JSR 4000 GO GET KEYPRESS 7FF9 4D 00240 TSTA CHECK FOR KEY 7FFA 27 F9 00250 BEQ LOOP IF NO KEY THEN WAIT 7TFFC 7F 7FE6 00260 RESET CLR LINCNT SET LINE COUNT TO ZERO TFFF 39 00270 OUT RTS MICRO No 57 February 1983 CoCo Bits continued the relay might stick closed and the recorder will not stop at the end of SAVEs and LOADs Bob s circuit places a PNP transistor in series with the power supply The computer relay switches the transistor which in turn switches the recorder The circuit is representative of most portable cassette recorders All wiring indicated exists within the cassette recorder itself only the transistor and 1K resistor are added to the circuit The Xs indicate where a wire or foil should be cut The jack assembly indicated is the motor remote control jack Cut the lines as shown and install the transistor and resistor If your cassette recorder is positive ground instead of negative ground as in the schematic use a suitable NPN transistor The circuit works by current flow ing through the base lead base bias resistor and remote relay switch inside the computer Although a transistor number is specified almost any general purpose PNP transistor will work Choose one with a collector cur rent at least twice the normal current draw of your particular cassette re corder The
126. CRO 37 names we will be using this file later in the sample computer program Index No BILL CARL CARL DON JOHN MARIE MARY PETE ROGER ROGER 22222 0 amp mn Note the following l The same name can appear more than once on the list The value of J returned will be the index of the first appearance of the name 2 The last value in the file must be larger than the last value that could appear The value ZZZZZ will usually satisfy this requirement The program in figure 1 sets up the sample file shown earlier With this routine we can enter search values and receive index values from the subroutine Enter and run this program for the following search values as shown in the NM column The response should be the index value given in the J column NM J JOHN 4 ADAM 0 BILL 0 YOST 10 MARIE 5 NANCY 7 PETE 7 Note that ADAM and BILL both return a value of 0 and NANCY and PETE both return a value of 7 You will have to put a line in your program to check whether you have actually found the value of NM or whether you have found the value that would have fol lowed NM if it had been on the file The next two lines of coding can be added to what you ve previously entered These lines allow you to see if the value was found or not Enter them and run the program again to check the results 112 IF J NM THEN PRINT RECORD FOUND PRINT PRINT
127. Centipede 33 00 Family Budgeter C2 Controller Caverns of Mars 32 00 Eastern Front C47 Controller Asteroids 29 00 Family Cash Missile Command 29 00 Jukebox Star Raiders 35 00 Downhill Galaxian 33 00 Outlaw TA Defender 33 00 Holy FLOPPY DISKS MAXELL MD Box of 10 32 00 ON LINE Player Piano MD II Box of 10 44 00 Keyboard FD H8 oaan 40 00 Jawbreaker 27 00 Number Blast FD Il 8 00 f Softporn M EL 27 00 Frogmastet VERBATUM Wizard and the Princess 29 00 747 Land Simulator The Next Step 34 00 Word P D D UM E rd Processor 5 SSD Mission Asteroid 22 00 5 DS DD Mouskattack 31 00 EPYX ELEPHANT FrO9gg t ow 31 00 Crush Crumble amp Chomp 24 00 SS 80 Cross Fire ROM 36 00 Crypt of the Undead 24 00 SYNAPSE pie of testones amp File Manager 800 t 69 00 rtp 99 Chicken 26 00 Invasion Orion 19 0
128. Chelmsford MA 01824 In PA 1 800 662 2444 45 PARALLEL PRINTERS NEC 8023 or C ITOH 8510 Virtually identical Specifications 100 CPS dot matrix printer 80 column print 136 characters per line Tractor friction feed 7 different print fonts included 2K printer buffer Proportional spacing Bit image graphics and graphic symbols NEC 8023 orC ITOH 495 NEC 8023 or C ITOH 8510 with Parallel Interface and Cable 550 EPSON 100 with Parallel Interface andCable 74 2 80 CARD FOR YOUR APPLE MICROSOFT SOFTCARD With CP M and MBASIC List 399 289 Best Buy A ADVANCED LOGIC SYSTEM 2 CARD With C PM Has everything the Softcard has except MBASIC Works with Microsoft s disks too List 269 Special at 195 ALS SYNERGIZER CP M operating package with an 80 column video board CP M interface and 16K memory expansion for Apple 11 Permits use of the full range of CP M software on Apple Il Includes SuperCALC List 749 549 U Z 80 PROCESSOR BOARD From Europe Software compatible with Softcard and ALS Software 149 MICROSOFT PREMIUM SYSTEM Includes Videx Videoterm Softswitch Microsoft and Softcard Microsoft and Z 80 Card and Osborn CP M Manual 595 JOYSTICK Takes the place of two Apple Paddle Controllers From BMP Enterprises Heavy duty
129. Color Computer equipped teacher Walrath Del Let s Learn How To Do a Number Picking Game pg 18 20 A programming tutorial using a number memory game Nolan Bill Demons in the Dungeon Let s See Em All pg 22 32 A program to get quick information about a particular kind of demon without looking it up A TRS 80 Color Computer dungeon game utility Harpe David PUT GET and Random Forms Make for Unusual Graphics pg 32 33 A graphics program for the 6809 based Color Computer Blyn Steve Make the Difficulty Level Variable pg 35 36 Suggestions and an illustrative listing for CAI programs on the 6809 based TRS 80 Color Computer Hryzak Wolfgang Ping Pong International Game for People and 80C pg 41 43 German game for the 6809 basd Color Computer Roslund Charles J Automatic Key Repeat Feature is Handy to Have pg 47 49 Add auto key repeat to your Color Computer with this machine language routine Schmidt Jim Here Are Some Useful Utilities for Your pg 51 53 Utilities for the Color Computer include a line width driver an 8 bit graphics driver and a speed routine 104 Rosen Bob The Simple Way to 64K pg 59 A hardware modification to convert the 6809 based Color Computer to 64K Hine Al The Track Will Provide Hours of Varied Fun pg 60 70 A race game for the 6809 based Color Computer 107 80 U S Journal 5 No 10 October 1982 Be
130. DE and IMPLODE allow the user to manipu late print names EXPLODE takes an atom and returns a list of the characters in the atom s print name thus EX PLODE TNT returns the list T IMPLODE does the reverse of EX PLODE it takes a list of atoms and HARDWARE THE TACKLER DUAL e MODE PARALLEL INTERFACE FOR THE APPLE 2 BOARDS IN ONE FOR NO MORE COMPATIBILITY PROBLEMS An intelligent board to provide easy control of your printer s full potential Plus a standard parallel board at the flip of a switch your assurance of returns an atom whose print name is the compression of the atoms in the list For example IMPLODE NEUT returns the atom NEUTRON Of course LISP wouldn t be much fun or very useful unless you were able to create your own functions The LISP function DEFINE is used to define func tions The general form of a function definition is as follows DEFINE function name LAMBDA formal arguments function body The function name is a literal atom which is what the function will be called A LAMBDA expression follows the function name all user defined functions must be some form of LAMBDA expression The second part of a LAMBDA expression following the atom LAMBDAJ is a list of atoms that are the function s formal arguments if the function takes no arguments the list is NIL This list tells LISP the number of actual arguments the function takes and how these arguments
131. DE to What s Where in the Apple for only 9 95 plus 2 00 s h THE GUIDE contains all new material that explains and demonstrates how to use the atlas and gazetteer published in the original volume of What s Where in the Apple MICRO makes it easy to order Send check payable to MICRO to MICRO INK Call our toll free number 1 800 354 8112 MICRO tation of the IBM language as adver tised It could benefit significantly however from some micro oriented ex tensions such as integer or byte numeric arrays perhaps resulting from Boolean operators Being a polyglot at heart I have enjoyed learning such an unusual language as APL Bibliography 1 Iverson Kenneth E A Programming Language John Wiley amp Sons Inc New York 1962 2 Peelle Howard A APL An Intro duction Hayden Book Company Inc Rochelle Park New Jersey 1978 3 Gilman Leonard and Rose Allen J APL An Interactive Approach John Wiley amp Sons Inc New York 1976 4 Wiedmann Clark Handbook of APL Programming Petrocelli Books New York 1974 5 Katzan Jr Harry APL Program ming and Computer Techniques Van Nostrand Reinhold Company New York 1970 6 Grey Louis D A Course in APL with Applications Addison Wesley Publishing Company Inc Philip pines 1976 You may contact Mr Peterson at 8628 Edgehill Ct El Cerrito CA 94530 VISA and MasterCard accepted MA residents add 5 P O Box 6502
132. DLE ATLANTIC AND SOUTHEASTERN STATES Dick Busch Inc Dick Busch Inc Richard V Busch Eleanor M Angone 6 Douglass Dr R D 4 74 Brookline Princeton NJ 08540 E Atlantic Beach NY 11561 201 329 2424 516 432 1955 serving New York Pennsylvania New Jersey Dela ware Maryland West Virginia Virginia D C North Carolina South Carolina Louisianna Tennessee Mis sissippi Alabama Georgia and Florida NEW ENGLAND Kevin B Rushalko Peterboro New Hampshire 03458 603 547 2970 serving Maine New Hampshire Vermont Massachu setts Rhode Island Connecticut and Kentucky ADVERTISING MANAGER Cathi Bland address materials directly to MICRO INK Advertising 34 Chelmsford Street Chelmsford Massachusetts 01824 617 256 5515 No 57 February 1983 Advertiser s Index Aardvark Technical Services Ltd ABC Data Products _ Acorn Software Systems Alternative Energy Products Anthro Digital Software Armidillo Software MICRO A2 Devices Aurora Software Chameleon 111 112 Next Month in MICRO New Section for the Serious Novice Developing Computer Literacy Appearing monthly in MICRO basics for home and for school in easy to understand terms Learn how to develop computer literacy using the VIC 20 Commodore 64 Atari 400 TRS 80 CC TI 99 Sinclair Timex as well as the Apple PET or Atari 800 Look for MICROCalc for
133. Description Micro Cookbook and Micro Barmate are automated reference systems that instantly provide food or beverage recipes based on the ingredients the user has on hand Drink and food recipes are selected via three methods recipe name category and or available ingredients They also provide other food and drink related information nutrition guides calorie counter party planning etc Both programs are fast and simple to use Price 30 00 Includes software basic recipe diskette 28 page user manual recipe index and ingredient index Author Joseph W Butler and Brian Skiba Available Virtual Combinatics P O Box 755 Rockport MA 01966 Name Computer Slide Express System Apple II Plus Description Apple Computer owners can convert com puterized charts designs graphs and graphics to 35 mm slides prints or overhead transparencies With our new Computer Slide Express Apple IS THERE LIFE AFTER BASIC YES WITH COLORFORTH MOVE UP FROM BASIC Forth is a new high level language available now for the TRS 80 Color Com puter COLORFORTH a version of fig FORTH has an execution time as much as to 20 times faster than Basic and can be programmed faster than Basic COLORFORTH is highly modular which make testing and debugging much simpler COLORFORTH has been specially customized for the color computer and requires only 16K It does not require Extended Basic When you purchase COLORFORTH you r
134. E DO F6 40 49 03 system will hang If you unsuccessfully 19 REM END DATA Xxxxx try to run stop restore you may have a 19 REM EX TO DECIMAL SUBROUTINE 28 READ AS IF R END THEN 98 printer problem Good luck and happy 25 IF LENCR DM1THEN 4 REM JUST ONE BIT SO SKIP BIT STUFF PRINT ing 38 ALS LEFTSCAS 1 gt GOSUB SO A VAL A1 gt REM DO HI BIT 40 ALS2RIGHTS As 1 gt GOSUB 6 B VALCA1 gt REM DO LO BIT 50 VeCRkK16 B REM MAKE IT BASE TEN 70 R Q BeQ REM KEP IT CLEAN 75 RETURN Butterfie and Law Jim Com 79 REM CHANGE LETTERS TO NUMBERS SUBROUTINE J y it 88 IF VALCAIS gt THEN RETURN REM IT IS A NUMBER pute Vol 4 No 8 August 1982 B2 IF Ri Q THEN RETURN REM IT IS A ZERO p 99 83 REM IT WASN T A NUMBER SO IT MUST BE A LETTER MAD 94 Z RSC R1 REM CHANGE TO A NUMBER 2 Finkel A et al Programmer s B6 Ri1 sSTR Z 55 REM MAKE NUMBER 10 TO 15 REM NEAT TRICK TO CONVERT R F TO 10 15 Reference Guide Commodore Busi 8 RETURN ness Machi 99 REM ss Machines 1982 100 REM POKE THE MACHINE LANGUAGE 3 Lesea A and Zaks R Micro 118 READ S REM GET THE STARTING MEMORY LOCATION 120 GOSUB 20 REM CHANGE HEX TO BASE TEN processor Interfacing Techniques 130 FOKE S V REM DO IT Sybex Berkeley CA 1977 135 PRINTS V REM SO CAN SEE IT 137 5 5 1 INCRIMENT THE MEMORY LOCATION 198 veg 159 REM
135. E 1 of the 1 FORTH screen is displayed in the text 2 RETURN 3 SCREEN CURSOR f Restore cursor video 4 SIDE 3 IF 32 ELSE ENDIF Get beginning of line 5 CCHAR Set as the current char 5 DOWN Move down 7 SYSTEMS INTEGRATOR SH doen 9 FLUSH Force disk output of update 10 1 STOP Set editor stop flag INTRODUCING 11 12 EABORT E ZYTREX Tone i REPE dae ZT14411 MS CMOS BAUD RATE SCR 77 EDITOR PRIMITIVES GENERATOR 2 ENEXT Csi 3 FLUSH f Write out updated buffers REPLACES MOTOROLA 14411 5 Read the FORTH screen J 6 DISPLAY Display and edit 7 8 ELAST bx PIN FUNCTION COMPATIBLE 9 FLUSH l Write out updated buffers IMPROVED FREQ OUTPUT 1g SCR 3 1 SCR Last screen no error check 11 EREAD Read the au DRIVE 4 LSTTL LOADS 12 DISPLAY ire Baby Sad FULLY STATIC OPERATION i TTL COMPATIBLE INPUTS SUN WIDE OPERATING VOLTAGE SCR 78 EDITOR PRIMITIVES 1 2 ADDR C 3 CLINE 9 Get th urrent line numb FREE EVALUATION SAMPLES 4 SCR 9 LINE DROF Get the addresse at FOR VOLUME USERS S CCHAR 3 Add the current char pos 6 6 20 EACH AT 1000 PCS 7 ADDKEY C 8 DUF ADDR Store a copy in memory text ZYTREX CORPORATION 9 CURSOR EMIT Output char to video screen 224 NORTH WOLFE ROAD 16 RIGHT 3 Move right for next SUNNYVALE CA 94086 12 CHANGE SIDE Ium 408 733 3973 Ti SIDE 3 Flip LSB 4 1 lega
136. ENA1400 G0T041430 IFC91360RC 1400RC 1600RC 1370RC A4 THEN41400 601041430 6050841460 IeI 8 11G0TO41430 REM BYPASS NEW DEST PRINTCHR C NEXTI S 0 PRINT G0T041170 BS STRS LN Q B LEN B PRINTRIGHT B 8 1 B LEN STRS BT Q REM PRINTING NEW LINE 9 0 1 RETURN FORDLs1TO4000 NEXTDL POKES17 0 END MICRO numbers that can vary from one digit to as many as five Second by making a tape the program can renumber itself which it could not do if it were changing memory byproduct is that a copy of the original program is still in memory in case there are bugs in this renumber ing routine BASIC is kept in memory in a com pressed format The first two bytes are the address of the next instruction in memory This is a binary value with a range of from 771 to 65383 The next two bytes are the current BASIC line number which is also in binary The range of this field is to 63999 Then comes the text of the BASIC instruc tion Any BASIC command statement operator or function is reduced to a single character in the range 128 80 to 195 C3 A line number destination branch as in a GOTO is kept in the graphic format To renumber in memory it is necessary to deal with the branch line numbers by expanding or compressing each line in memory from the end of the subject line to the end of the BASIC instructions The fourth line of the program in cludes two dimension statements using 200 This re
137. END INPUT A INVERSE PRINT MAXIMUM ARY REACHED 2545 IF A Q THEN RETURN FOR X 1 TO 2000 NEXT X NORMAL COTO 2028 2550 LN LEN A GD Y ZRO Y 2560 FOR 1 TO LN MD MID A 1 1 2565 IF MD gt 0 AND MDS lt 2016 2 VTAB 10 PRINT ENTER INVERSE PRINT Q NORMAL PRINT TO END ARY MAINTENANCE 2017 HTAB 2 VTAB 12 PRINT ARY NUMBER J 1 INPUT NAME IN J 2020 IF IN J THEN GOSUB 2010 GOTO 2015 REM DONT ALLOW NULL 2021 IF IN J Q AND J THEN INVERSE HTAB 1 VTAB 22 PRINT YOU MUST MAKE AT LEAST ONE ENTRY NORMAL FOR 0 TO 2000 NEXT GOSUB 2010 GOTO2015 2022 IF IN J Q THEN IN J GOTO 2028 2025 IF ARY ITEM THEN GOSUB 7000 REM CHECK FOR o ny QR 2027 J J 1 HTAB 12 VTAB 12 GOSUB 9000 GOTO 2005 2028 IF ARY CATEGORY THEN GOSUB 2010 GOTO 2034 2029 IF NODE 3 OR NODE 6 THEN GOSUB 2010 GOTO 2034 96 MICRO 2567 2570 2575 2576 2577 2578 2580 2595 2600 2602 THEN ZRO GOTO 2575 IF MD GOTO 2575 GD N I LN REM REQUEST IS NOT NUMERIC NEXT IF GD THEN MSG NUMERIC GOTO 2580 IF ZRO Y THEN MSG NON ZERO GOTO 2580 GOTO 2595 VTAB 23 GOSUB 9000 VTAB 23 HTAB 1 PRINT INPUT 50 INPUT A GOTO 2545 NUMS VAL A REM CONVERT TO NUMERIC IF NUM gt NUM THEN VTAB 23 GOSUB 900
138. ENTIAL REGRESSION POLYNOMIAL REGRESSION CURVILINEAR REGRESSION MULTIPLE REGRESSION SYSTEM REQUIREMENTS Apple 2 plus with 48k RAM and two Disk Drives Also compatible with the Apple 3 in emulation mode The package includes documentation both program and data discs and PRICE 95 00 Personal checks COD or 0 on offical order forms accepted California residents add 6 sales tax Write for more information or order from A2DEVICES 2226 ALAMEDA TEL 415 527 7380 CALIFORNIA 94501 146 NODD a 02 SCREEN GRAPHICS DUMP TO EPSON Mx80 APPLE a regiat amp red trademark of Apple Computers Inc WATANABE is registered trademark of Watanabe Corporation EPSOW is registered trademark of Epson America Inc 145 63 You don t need to be great with numbers to learn programming in LISP Because LISP uses words instead of numbers so you can start io program logically with out worrying about math For those who require it the new P LISP version 3 1 supports float ing point math Hi res graphics trig functions and all disk file functions P LISP is sold with a fun edsy to read Tutorial that teaches you LISP with hands on experience You need an Apple run P LISP i Educators LISP is a great teach single copy prce ing language 1 49 95 Write to us for special quantity 4
139. EV WLOOZIH LUU HLUGHRWV FOR 1 TO LEN P J ASC MIDS PS P 1 PRINT CHR ABS 155 J gt 64 NEXT PRINT Apple owners 10 HOME P GZPV UREV WLOOZIH LUU HLUGHRWV VTAB12 HTAB6 FOR 1 TO LEN P J ASC MIDS PS P 1 PRINT CHR ABS 155 J gt 64 J NEXT PRINT ATARI owners 10 GRAPHICS 0 DIM P 30 P GZPV UREV WLOOZIH lt LUU lt HLUGHRWV FOR P 1 TO 30 CHR 155 ASC P P NEXT P Take a close look at the message above If you own an we publish some of the most exciting games practical APPLE an ATARI or a TRS 80 microcomputer you utilities and captivating adventures you ll find probably recognize the language anywhere at any price It s in BASIC a one line program you can type into your SoftSide publishes original programs written by some computer to find out how much money you can saveona the most important names in the software business one year subscription to a unique useful entertaining Over half of each issue is devoted to BASIC line listings software magazine SoftSide for programs you can type into your computer and enjoy Sure we know this is a rather unconventional way to in forever Programs that might cost you hundreds of dollars troduce you to SoftSide but once you know what our if you purchased them individually at your computer store magazine is all about we know you ll agree that it s a but actual
140. Full feature screen editor and assembler Forth 79 Standard Commands with extensions High resolution 16 color character and sprite graphics Full 1 O allowing IEEE cartridge and Basic data file compability Three voice tone and music synthesizer 9 Detailed manual with examples and BASIC FORTH conversions Trace feature for Debugging 99 95 Disk Version Works with 1540 or 1541 Disk or Cassette Version Commodore 64 is a trademark of Commodore PERFORMANCE MICRO PRODUCTS 770 Dedham Streer S 2 Canton MA 02021 617 828 1209 69 New Publications Programming the PET CBM by Raeto Collin West Compute Books 625 Fulton Street P O Box 5406 Greens boro NC 27403 1982 504 pages paperback ISBN 0 942386 04 3 24 95 The 68000 Principles and Program ming by Leo J Scanlon Howard W Sams amp Co Inc 4300 W 62nd St In dianapolis IN 46268 1982 238 pages paperback ISBN 0 672 21853 14 95 Educational Software Directory A Sub ject Guide to Microcomputer Software compiled by Marilyn J Chartrand and Constance D Williams Libraries Unlimited P O Box 263 Littleton CO 80160 0263 1982 292 pages paperback ISBN 0 87287 352 8 22 50 PET CBM SOFTWARE SELECT 4032 DISPLAY FROM THE KEYBOARD OR PROGRAM NOW RUN WORD PRO 3 OR WORD PRO 4 FROM THE SAME MACHINE Available for either 4000 or 8000 Series 8032 DISPLAY OR ALSO INICRO Collegiate
141. HECK DISK STATUS also use as line 4745 and within lines 4770 and 4800 just before IF DS 4820 CLOSE 9 Line 4720 opens the sequential file index to read Then a few special values are read in F the name of the mail list NR the next record number to be used NV the maximum number of records it may contain ND the number of deleted records to be replaced before adding new ones After this the key array K J is filled in a single line as is the DE96 array two lines later The reason for cram ming these into single lines is to save time in reading it FOR NEXT loops contained entirely on a single line work far more quickly than those spanning several lines especially this far along in the module The difference is due to not having to scan for line numbers within the loop As written the pro gram falls through lines 4770 and 4800 only if there is a DOS error If it does fall through the session will be terminated Writing the Key File At the end of each use of the up date module Bennett s mail list checks to see if the key file needs to be rewritten to disk If nothing has happened to change the file in mem ory variable UP will equal zero Any other value triggers a rewrite of the key file This flag variable is checked in line 1390 1390 IF UP THEN GOSUB 5060 REM WRITE KEY FILE Due to a shortage of space on the 4040 diskette update does not use the best method of replacing the in
142. IF DROP 32 ENDIF amp ELSE 7 DUP 32 IF DROP ENDIF 8 ENDIF 9 CCHAR ig 11 RIGHT 2 MOVE RIGHT SCREEN CURSOR 13 RIGHT CURSOR 14 SCREEM CURSOR RIGHT 15 gt SCR 4 75 amp 4 CURSOR MOVEMENT PRIMITIVES 1 2 MOVE LEFT 5 CCHAR 3 1 4 SIDE 9 IF 5 DUP 31 IF DROF amp 3 ENDIF 6 ELSE 7 DUP 1 IF DROP 31 ENDIF 8 ENDIF 9 CCHAR 12 11 LEFT 12 MOVE LEFT SCREEN CURSOR 13 LEFT CURSOR 14 SCREEN CURSOR LEFT dece No 57 February 1983 i Point to 1st video line Type the screen number Foint to 2nd video line Type the screen number Clear video put title Output top of window Save current line on stack For each line in text Set CLINE and output it Next Forth text line Restore current line Get start depending on side Store as current col pos Output bottom of window Output current line ovrflow Position cursor show it 1 ASE STATEMENT BY DR C E EAKER FORTH DIMENSIONS V2 3 2 7COMP CSF 2 CSP 4 IMMEDIATE gt CASE 4 PAIRS COMPILE OVER COMPILE COMPILE BRANCH HERE COMPILE DROP 5 IMMEDIATE ENDCASE 5 PAIRS COMPILE BRANCH HERE SWAF 2 COMPILE ENDIF 4 IMMEDIATE Get increment char pos Handle wrap around on side Over 623 goes to 32 on right Over 31 goes to on left Store new current char Move and set cursor Restore cursor move gt Get decrement c
143. ILES PRINT A RETURN LFT LEFT IN J 1 IF NODE GOTO 7100 ON NODE GOTO 7200 7300 7400 7500 7600 7700 7800 7900 IF LFT THEN NODE 1 RETURN IF LFT THEN NODE 3 RETURN GOTO 8000 REM SEND ERROR MESSAGE IF LFT THEN NODE 2 RETURN GOTO 8000 IF LFT THEN RETURN IF LFT THEN NODE 3 RETURN February 1983 Listing 1 Continued 7315 GOTO 8000 7400 IF LFT THEN NODE 7410 I LFT THEN NODE 7420 GOTO 8000 7500 IF LFT THEN NODE 5 RETURN 7510 GOTO 8000 7600 IF LFT THEN RETURN 4 RETURN 6 RETURN 7610 IF LFT THEN NODE 6 RETURN 7615 GOTO 8000 7700 IF LFT THEN NODE 7 RETURN 7705 IF LFT THEN RETURN 7710 IF LFT THEN RETURN 7715 IF LFT THEN RETURN 7720 GOTO 8000 7800 IF LFT THEN NODE 8 RETURN 7805 GOTO 8000 7900 IF LFT THEN RETURN 7905 IF LFT THEN NODE 6 RETURN 8000 HTAB 1 VTAB 22 GOSUB 9000 8005 HTAB 1 VTAB 22 INVERSE PRINT NUMBER J 1 S 1ST CHAR MUST BE MSG NODE NORMAL 8010 FOR 1 TO 3500 NEXT 8012 J J 1 GD N 8015 RETURN 9000 PRINT 9010 RETURN 9100 HTAB 1 VTAB 22 INVERSE PRINT 1ST CHAR OF LAST ITEM MUST BE OR NORMAL 9105 RETURN 10000 DATA OR OR OR npn ug OR OR 11000 FOR 768 777 READ XX POKE NEXT 11002 RETURN 11005 DATA 164 168 104 166 223 154
144. ISTINC INTEGER PROCEDURE SCREENDUMP LEFT RIGHT BOTTOM TOP LMARGIN INTEGER uitttittttrititn ntn t n nn EEUU UU UE EU EU E E E G UU E UU E UO iut 4 THIS PROCEDURE DUMPS THE APPLE HIRES SCREEN TO THE EPSON MX 88 114 tt PRINTER EQUIPPED WITH GRAFTRAX TURTLEGRAPHICS PROCEDURES AND 4 d t FUNCTIONS ARE USED at tt R WALKER 7 82 tt MARIETTA GA BYTE 6 255 t USE VARIANT RECORD TO ASSOCIATE PRINTING WIRES WITH BYTE t1 WIRES PACKED RECORD CASE BOOLEAN OF TRUE BO PACKED ARRAY G 71 OF BOOLEAN FALSE BY BYTE END VAR 1 1 YCOARSE YFINE INTEGER BITIMAGE PACKED ARRAYIS 288 OF BYTE PRINTCODE PACKED ARRAYE1 4 OF BYTE W WIRES BEGIN 4 SCREENDUMP t 8 SET LINE SPACING TO 24 214 t PRINTCODELL 27 PRINTCODE 2 51 PRINTCODEL3 24 UNITWRITE 4 PRINTCODEC11 3 8 12 PRINT SCREEN t FOR YCOARSE TOP DIV DOWNTO BOTTOM DIV 8 DO BEGIN 4 MAKE LEFT MARGIN 1 PRINTCQDEL L1 232 FOR 1 21 TO LMARGIN DO UNITWRITE 5 PRINTCODEL11 1 8 12 it ASSEMBLE ONE LINE OF BIT IMAGES tj FOR X LEFT TO RIGHT 00 BEGIN FOR YFINE 8 TO 7 00 W BOCYFINE SCREENBIT Y YCOARSEt8 YF INE BITIMAGELY W 8Y END TELL PRINTER HOW MANY DOTS IN LINE f PRINTCODECI1 27 PRINTCODEL21 75 PRINTCODEL32 RIGHT LEFT 1 MOD 256 PRINTCODEC41 RIGHT LEFT 1 DIV 256 UNITWRITE 4 PRINTCODEL 11 4 6 12 it SEND ONE LINE OF BIT I
145. Leonard Gilman and Allen J Rose also assumes no particular computer or mathematics background The book is geared to IBM equipment as are all the others I ve seen but it is fairly com plete in describing the language ele ments and is quite usable with the SuperPET as long as you ignore the in formation about workspace storage etc Note In APL you save and load workspaces rather than programs This book seems to be more widely available than Peelle s I found it in a university bookstore Of the five textbooks I selected my favorite is Handbook of APL Program ming by Clark Wiedmann This book is more terse than Iverson s or Rose s but is more explanatory than WCS s manual The copy I borrowed from the library was clothbound but the copy right information page indicates it is available in paperback also APL Programming and Computer Techniques by Harry Katzan Jr is notable for its inclusion of several real APL programs for study The edition I saw however was published in 1970 and appears rather dated for example there is no mention of the domino MICRO by Terry Petersen function Perhaps later editions are more up to date Finally I looked at A Course in APL with Applications by Louis D Grey This book seems to me to have been hastily prepared with many typo graphical errors as well as what ap pear to be outright program errors Such confusion does not contribute positively to the learni
146. MAGES TO PRINTER t BITIMAGELRIGHT 1 218 LINEFEED t UNITWRITE 6 BITIMAGELLEFT3 RIGHT LEFT 2 8 12 END t RESET PRINTER ti PRINTCODELI3 27 PRINTCODE 2 64 UNITWRITE 6 PRINTCODEL 11 2 8 12 END t SCREENDUMP t No 57 February 1983 es LANGUAGES Listing 1 SCREENDUMP continued BEGIN 4 MAIN PROGRAM t 4 DRAW PICTURE f INITTURTLE PENCOLGR WHITE DISTINC 1 REPEAT DISTINC TURN 91 DISTINC DISTINC 1 UNTIL DISTINC 389 VIEWPORT 75 283 16 32 FILLSCREEN BLACK PENCOLOR NONE 84 20 WSTRING SAMPLE SCREENDUMP CALL SCREENDUMP 1 SCREENDUMP 8 279 8 191 17 END YOUR OWN Personal Switcher POWER For Lab or Original Equipment FEATURES Efficient 30kHz switching frequency Four Models satisfy most applica tions Years of trouble free service Each side AC line fuse protected Tele Tale LED Pwr Panel Indicator Three separate voltage outputs Metal enclosure provides physical and EMI protection For experimental use or permanent power source e Soft start feature pro tects critical circuits Parallel operation acceptable for higher current needs Push in termin als accept wire or test lead Light weight easy to use AC line cord permanently attached Most reliable power source for a variety of uses and applications 48 hour burn in assures MTBF of 3 years reasonably priced at 1 90 watt F
147. Master volume 7 voice 3 off 6 high pass on 5 band pass on 4 low pass on 3 0 master volume D419 54297 Paddle X A D 1 read only D41A 54298 Paddle Y A D 2 read only D41B 54299 Digitized voice 3 waveform read only D41C 54300 Digitized voice 3 envelope read only Let us know if you ve updated an atricle or discovered a bug Send a note to Updates Microbes MICRO P O Box 6502 Chelmsford MA 01824 SOFTWARE SPECIALS turtle to entertain your entire family By Thomas Kim and Jimmy Huey ONLY 15 95 No 57 February 1983 SWARM Another fast action game written entirely in machine language from Tronix Insects invade your Vic Cassette ET Visa MC Check Money Order CA residents add appropriate sales tax MICRO DUST COVERS 7 95 For Vic 20 or Vic 64 Waterproof Brown Color Commodore Logo Protect your investment FROM MARTIAN SOFTWARE pan ASS SS _ STAR COMMAND Intergalactic Combat Space Conflict All Machine Language INTERESTING SOFTWARE 1101 S Harvard Blvd Torrance CA 90501 Write for free Catalog MICRO 213 328 9422 Add 2 00 Postage amp Handling Dealer Inquirers Invited Vic 20 a trademark of Commodore Business Machines FOR COMPLETE GRAPHICS ersaWWriter EDUCATION ARTIST GAME PROGRAMMER Functi UIOMATIC SHAPE COMP 5 GAME 5 Q9 ANIMATED GRAPHICS HOBBIEST ENGINEERING
148. NOT AVAILABLE ON 240V MODEL SUPER FAN II WITH ZENER RAY OPTION 109 00 ZENER RAY TRANSIENT VOLTAGE SUPPRESSOR OUR BUILT IN ADVANCED DESIGN UNIT GIVES DRAMATIC COST SAVINGS STOPS ANNOYING DOWN TIME INSURANCE FROM VOLTAGE SPIKES GLITCHES DANGEROUS VOLTAGE SPIKES CAN JEOPARDIZE YOUR COMPUTER SYSTEMS PROTECT COMPUTER DISK DRIVE PRINTER AND MONITOR NO CUTTING WIRES WON T VOID WARRANTY JUST PLUG IN SUPERFAN II WITH ZENER RAY OTHER PRODUCTS BY Inc M M M e SUPER RAM 16K RAM CARD FOR YOUR APPLE 1 2 YEAR WARRANTY 125 GUARDIAN ANGEL AN UN NTERRUPTABLE POWER SOURCE 595 12 VOLT TRANSVERTER 12 RUNS YOUR APPLE II COMPUTER AND AND 514 DRIVE FROM YOUR CIGARETTE LIGHTER 149 Reg stered trademarks of Apple Computer Inc DEALER INQU RIES INV ITED TWO EXTRA 120 VOLT OUTLETS 80 MICRO No 57 February 1983 A BASIC Match Routine for CAI by Robert Phillips Using a match routine CAI authors can effectively trap errors isolate mistakes and overlook typographical errors This article discusses some uses for a match routine and presents such a routine in BASIC MATCH requires A Microsoft BASIC One of the nice things about a com puter is its unfailing accuracy yet one of the frustrating things about a com puter is that same compulsive accuracy it can t even recognize a simple typographical error But users in evitably ma
149. NT 9 MIDS STR K 2 5170 IF 0 THEN 5190 5180 FOR 1 TO ND PRINT 9 DE I NEXT 5190 IF DS THEN 1690 5200 DCLOSE 9 5210 IF DS THEN 1690 In BASIC 2 substitute 5110 OPEN 9 UN 9 DD INDEX SEQUENTIAL WRITE 5130 PRINT 9 F CSNR CSNV C ND C 5150 FOR z 1 TO NV PRINT 9 MIDS STRS K 9 1 2 C NEXT 5180 FOR z 1 TO ND PRINT 9 DE I C NEXT 5200 CLOSE 9 Notice the use of C containing the carriage return character as a delimiter in line 5130 This is the only safe way to write multiple variables in a single PRINT statement Due to a bug in BASIC 2 it is also the only way to finish a PRINT statement to the disk as shown in the alternate lines above Note too that semicolon spacing be tween variables is the default and only needs to be made explicit when vari able names could be confused The complex expression in line 5150 MID STR K I 2 saves disk storage space at the cost of file rewrite speed When a numeric variable is PRINT ed to the disk a leading space is left for its sign if any Since a file can t have a negative record number the space is wasted and would fill four disk sectors in Bennett s mail list The expression strips off the sign space by turning the number into a string and ignoring its first character If your disk has more capacity improve your re write speed by using a simple PRINT instead as in line 5180 Since the number of deleted reco
150. No amp GRAN amp GREEN FIELDS Yes GREENSLEEVES No GREAT SPLEEN Yes GROWN MAN Yes GROANING No SHOWS I DON T KNOW HOW TO DO IT Yes HE WENT TO THE SHOW Yes MITCH OWES ME MONEY No amp B T amp BYTE Yes BIT Yes BOUGHT No I BAT THIRD Yes amp COMPUT amp MACHINE amp A COMPUTING MACHINE Yes A COMPUTER OR A MACHINE Yes THE MACHINE IS A COMPUTER No COMPUTING MACHINERY No COMPUTE THE COST OF THE MACHINE Yes No 57 February 1983 MICRO subroutine in my BASIC programs ac cessing it with a GOSUB I start it on line 100 see the Match Routinel ex tending it to line 166 My input routine with pre processor is the only thing earlier in the program Since both are accessed frequently I put them as close to the top as possible Because you cannot pass arguments you must make assignment statements before the GOSUB statement The routine ex pects the string variable A for Author to have the string to be matched the variable S for Student is assigned the student response after pre processing eliminates punctuation compresses double blanks and puts a blank at each end I usually combine everything on one line A amp KNI ES amp SH ING GOSUB100 The match routine reports the result via the variable R R 0 if there is no match R 1 if there is and destroys the strings A and S during process ing The match routine needs to use in termediate strings and some index and pointer variabl
151. OW YES SO START LOOKING ALL OVER SO DECRIMENT NUMBER OF LOOKS TAKE ANOTHER LOOK SO RESTORE ACCUMULATOR RESTORE REGISTER IS OUTPUT VALUE A CYR 50 SET FLAG NO SO OUTPUT THE CHARACTER DON T COME BACK SET C R FLAG TO 13 amp 50 QUTPUT THE CHARACTER DON T COME BACK MAKE IT A LONG DELAY SAYE ACCUMULATOR RT TOP OF SCREEN MAKE IT R REALLY LONG DELAY COUNTING QUT IF X IS NOT ZERO THEN DECRIMENT SOME MORE DECRIMENT THE OUTSIDE COUNTER IF NOT DO INNER LODP RGRIM 24 FLRG RND DELRY COUNTER 25 MRY BE CHRNGED TO 26 SAYA EQU 0384 27 SRVX EQU 0381 28 FLAG EGU 0392 29 DCNTR EQU 0383 31 32 HA AA KAA ARR AAA AT AAI TOE 33 s 34 033 35 36 THIS IS THE START OF THE CASSETTE BUFFER 37 38 SAVA EQU 41 90 39 FLAG EQU 1E92 48 OUT EQU F27A 41 SAYA EQU 1681 42 CNTR EQU 8F 43 OCNTR EQU 21 21 44 BPORT EQU 9119 46 STA SAYA 47 STX SAVX 42 LDA FLAG 49 13 WAS IT CR 58 BEG DELAY 51 LDA 52 STA FLAG TO ZERO 53 RESET LDX CNTR 54 LOOK LDA amp PORT 55 191 5e BEQ RESET 57 DEX 5 SNE LOOK 59 FINALLY ALL LOOKS GOOD ea LDA SAYA 61 LOX SRVX 62 13 63 BEQ FLAGSET YES 64 JMP OUT 65 66 FLRGSET STA FLAG 67 JMP QUT SET 58 x DELAY LDA FF 79 STA DCNTR 71 XSTRT LOX FF 72 DEX STRRT 73 BNE DEC 74 7 DEC DCNTR 76 BME XSTRT Tf JMP 0349 DONE RT LAST RETURN FROM DELA
152. PLET OL by Alexander Laird APPL REM R DY Alan D Floeter FAST ND SALES TRENDING by Mike SUPE es Weaving Design by Alexande FOO rid Iron Action by Lou Haehn 4 BUILD DUA XS FOR UNDER 15 00 by N BBL BUIL IT BLE Stat DISK NIBBLE APPE RIKK ST by a FUN by Craig Cri yt e i BC RT ie PASS L P 8C by Mt MANAGING AND MOVING DISK BUFFERS by William Rt MONITOR EXECUTION Basically by William Reynolds AMPER INTERPRETER Add Print Using and Much Mo FUN WITH ASSEMBLER Graphics by Alexander Laird STRING FUNCTION FOR INTEGER BASIC by William Re BASIC MACHINE LANGUAGE SUBROUTINE CREATOR CHR FUNCTION FOR INTEGER BASIC by Wilfiam Reyr FUN WITH ASSEMBLER Alpha Beeper by Craig Cross APPLE A I M Automated Intelligent Mailing by Michaei APPLE CONCORDANCE Track Variable and Line 5 b LOW SCORE II Strategy Game by Rudy A Guy HOW TO WRITE GAMES THAT LAST by Mike Harvey IMPROVING THE MULTIPLE ARRAY SORT by Rick Cont APPLE UPPER LOWER CASE PRINTING by Mike Harvey WILL O THE WISP High Adventure by Mark Capella NIFFUM DOS 3 3 to 3 2 Conversion by C J Thompson BLAST AWAY Lo Res Shooting Gallery by Andrew Be FUN WITH MONITOR How to Enter Assembly Languatc If you re looking for quality software at an outrageously reasonable price we have a message for you TRS 80 owners 10 CLS DEFINT A Z PRINT 529 P 2 UR
153. SIC in ROM starts at A000 i e 9FFF 1 Now that you have this extra memory available how can you use it to best advantage Relocating the Ex tended Monitor to 9800 9FFF keeps CSE means OSI Software and Hardware record reliability Scotch diskettes at the lowest price Call our Modem Hotline anytime 619 268 4488 for exclusive monthly specials Our free catalog contains more than 600 fantastic values Data Products i formerly ABM 8868 CLAIREMONT MESA BLVD SAN DIEGO CALIFORNIA 92123 ORDERSONLY ITTTELEX INFORMATION 800 850 1555 4992217 619 268 3537 24 MICRO Specializing in C1P and C4P machines Basic Load SAVE Employs token loader system 50 100 faster than the old indirect ASCII system Maintains a listing of file names found on the tape Basic Enhancer Renumber Auto Sequencer Screen Control func tions and tape 1 0 system that is faster and has file names comes with required modified monitor Rom chip NEW NEW NEW ANCHOR SIGNALMAN MODEMS Please write for more info on new disk programs or send 2 00 for catalog Please include 2 00 shipping 4 00 for modems Computer Science Engineering Box 50 291 Huntington Ave Boston 02115 No 57 February 198 it out of the user memory area and allows it to co reside with the Assem 2 bler Editor increasing its usefulness 3a You can now jump back
154. Softrans protocol which provides automatic binary encoding and decoding block checking with error recovery and data compression to enhance line utilization A FORTRAN 77 source program is supplied with Softerm which is easily adaptable to any host computer to allow communications with Softerm New File Transfer Language using the Softrans protocol Softerm file transfer utilizes an easy to use command language which allows simple defini tion of even complex multiple file transfers with handshaking Twenty three high level commands include DIAL CATALOG SEND RECEIVE ONERR HANGUP MONITOR and others which may be executed in immediate command mode interactively or from a file transfer macro com mand file which has been previously entered and saved on disk Built in utilities Softerm disk utilities allow DOS commands such as CATALOG INIT RENAME and DELETE to be executed allowing convenient file maintenance Local file transfers allow files to be displayed printed or even copied to another file without exiting the Softerm program Numerous editing options such as tab expansion and space com pression are provided to allow easy reformatting of data to accommodate the variations in data formats used by host computers Softerm sup ports automatic d aling n both terminal and file transfer modes Dial utilities allow a phone book of frequently used numbers to be defined which are accessed by a user assigned name and specify
155. TORIAL the argument passed to FACTORIAL here is N 1 The value returned by this call is multiplied by the current value of N remember that each time FACTORIAL is invoked a new local is created and bound to the actual argument A handy way to observe the evalua tion of a function is via a function trace Most decent LISPs are supplied with some mechanism for tracing func tions an indispensable debugging aid A trace of a function displays the arguments passed to the function when it is invoked and the value returned by the function when it is exited For ex ample in P LISP if you are tracing the ADD function and type ADD 4 5 you would see gt gt ADD 45 lt lt 00 9 The gt gt arrow indicates func tion entering and the lt lt arrow indicates a function exiting Suppose you want to see how the evaluation of FACTORIAL proceeds If you trace the function and type FAC TORIAL 4 you will see the following gt gt FACTORIAL 4 level 1 value of N is 4 gt gt FACTORIAL 3 level 2 value of N is 3 gt gt FACTORIAL 2 level 3 value of N is 2 gt FACTORIAL 1 level 4 value of N is 1 gt gt FACTORIAL 0 level 5 value of N is 0 lt lt FACTORIAL 1 level 5 1 is returned lt lt FACTORIAL 1 level 4 1 is returned lt lt FACTORIAL 2 leve
156. TURN S30 A 0 IFLEN A lt 2THEN4SIO 560 IFC A ORC F THENA490 570 A 0 ASC C 55 15 0 S80 NEXTX 590 RETURN 610 DA DA 1 NEXT RETURN 400 IF A EA OF THEN 450 REM Done 7 Out of RAM 420 1 DC DC 1 REM INC Address amp Data Counter 430 IF DC lt 15 THEN POKEDA ASC s DA DA 1 DA DA 2 450 POKEDA 13 POKEDA 1 10 POKEDA 2 932 POKEDA 3 15 POKEDA 4 10 460 PRINT 28 The subroutine for your USR X routine now resides To add it to your program load 480 FRINT your program into the workspace and type a lt CTRL 490 PRINT Enter the decimal address or hex address preceeded by a L LEN A 510 FORX 1TOLEN A X DD IFC lt O ORC 2 9 THENSIO a GOTOZz80 GOTO360 7X7 NEW IF LEFT A 1 THENSZO 40 2 4 C zMID AS X 1 IFC O THEN490 550 IFC lt 9 THENA A VAL X 16 L X GOTOSSO 500 1 0 POKEDA ASC MID 0 X 1 620 0 LEN O 1 GOTO600 loading an assembly language program Now type P lt SHIFT gt K As with BASIC you will see your program listed on the screen Type a lt SHIFT gt M to close the file Now type I and respond with a Y to the prompt INIZ Confirm that the workspace is clear by typing P again Now try our usual lt CTRL X Your program will be reloaded The operating system store
157. UESS BEGIN signals the start of a loop that ends at UNTIL Within the loop NUMBER and GUESS are fetched has the reverse effect of it uses the top item on the stack as a pointer to a variable and replaces the pointer value with the value of the variable on the stack Next the word divides NUM BER by GUESS the result remains on the stack Now GUESS is fetched again and added to the result 2 divides the sum by 2 and you have averaged the result of the divide with the original guess so the new guess is now on the stack DUP duplicates the new guess on top of the stack and GUESS puts the old one on top Now you want to save the new guess in GUESS but it is second on the stack so use SWAP to get it on top and then GUESS to put it in GUESS Now you have the new guess and the old guess as the two top items on the stack so subtract and take the absolute value of the difference ABS You must set up a comparison that will leave FALSE 0 on the stack until you want to exit the loop 2 UNTIL compares the value on the stack with 2 and leaves TRUE when the value is less than 2 0 or 1 At that point the loop is done and you simply pull the last guess as the result and return with the result on the stack It is my understanding that an avid FORTH fan frowns on the use of vari ables if it can be avoided He would probably figure out a way to keep both GUESS and NUMBER on the stack as nameless values and mani
158. Y To make entering the machine lan guage program easier I wrote the BASIC program in listing 2 Note that the data statements contain the code in hex The program reads the hex data and converts it into decimal numbers It also reads the start address from a data statement then POKEs the data into successive memory locations By re moving lines 150 and 160 and changing the data in lines 5 17 this program will convert and enter any hex code se quence For those of you who don t have VICMon this is easier than con MICRO verting hex to decimal and typing it in as data or typing a lot of POKEs Using the programs is easy just follow these instructions 1 2 3 4 Enter the BASIC program SAVE the BASIC program RUN the BASIC program Either from the keyboard or from within a program OPEN2 2 3 CHR amp 7 CHR3 0 To LIST to an RS 232 printer CMD 2 Listing 2 1 GOTO 1 5 DATA 828 a REM 9 REM MACHINE LANGUAGE PROGRAM AS HEX DATA DATA 8D 30 1E BE G1 1E RD O2 1E C3 OD Fa 24 R9 0G DATA 8D 02 1E R6 8F RD 18 91 C9 BF FO F7 CR DG F6 REM START CASETTE BUFFER LIST PRINT 2 CLOSE 2 RUN STOP RESTORE Remember to PRINT before CLOSEing the RS 232 channel If the busy line goes low and stays there the 12 DATA AD 2A 1E AE 81 1E C9 OD FO 03 4C 7A F2 8D G2 1E 4C TR F2 RIS FF 8D 4 1E 15 CA DO FD CE 04 1
159. ZVC No 57 February 1983 Name Branch Condition ally Test Condition Decrement and Branch Comments If the specified conditions of the CC table are met the PC will be loaded with the offset and the execution of the program continued The offset is specified in two s complement form either 8 or 16 bits Opword Format 151413121110 9 8 7 65 4 3 10 dom 16 bit displacement The 8 bit displacement is the two s complement specifying the relative distance between the branch and the instruction that is to be branched to If the 8 bit displacement is zero the 16 bit displacement is used If the specified condition of the CC table for the loop is not true the low order 16 bits of the counter data register are decremented by one If the result is 1 the execution continues with the next instruction If the result is not 1 execution continues at the current the sign extended 16 bit offset displacement The PC is the current instruction plus 2 Opword Format 151413121110 9 87 6 54 3 210 The condition field is specified by the 16 bits in the CC table The register field specifies the data register which s the counter 5 The displacement field specifies t the distance of the branch continued MICRO pulled from the stack When RTS is used only the progam counter is pulled from the stack The Test and Set an Operand TAS is designed to c
160. a space for it in the K96 array Until we cover these calls at the end of this series readers without BASIC 4 may use a BASIC substitute 2470 FOR QQ E TO P 1 STEP 1 2478 K QQ K QQ 1 2476 NEXT Where QQ is simply an otherwise unused variable Once a hole is opened it is filled with the value of the current record number RR When a record is deleted the pro cess is similar First its key and record number are found using the binary search above Then after double checking that the user really wants to delete that record its place in the key array is removed with each value above it moving down one 3250 IF P lt gt NV THEN SYS DL 1 P E K 0 2Z 3260 K NV 0 Or in BASIC 3250 IF P NV THEN 3260 3252 FOR QQ P TO E 1 3254 K QQ 1 3256 NEXT 3260 K NV 0 This process frees a space in the relative file for re use To handle this Bennett s mail list remembers the de leted record number RR in a separate array DE96 indexed by ND the number of currently deleted records 3270 ND ND 1 3280 DE ND RR 34 When new records are added later these spots are re used first as we will see next time supplied Bennett s mail list dimensions DE to NR the maximum number of records If you were suddenly to delete every one of the list s 1000 name capacity the array would hold it On the other hand if you want to have over a thousand records you may need to reduce t
161. ach line thereafter will be 1 greater There will be a pause after your reply while the program builds the branch table Once the preliminary work is done the progam will type the message START TAPE RECORDER IN RECORD PLAY MODE NOW This 40 indicates it is ready to make the up dated copy of the program Start your recorder using a blank tape and type space return You will see the program listing with the new numbers After the tape is made you will have the un changed program in memory and a copy of it with new line numbers on tape To run the new version press BREAK and cold start your machine Then LOAD the tape as you would any other program To renumber any other BASIC program first load it into memory then load this renumber routine in with it by mounting the cassette and typing load again This program relies on the cassette tape as a working medium There are two reasons why I chose to write the program this way First by making a tape instead of changing line numbers in memory it is easy to handle line Listing 1 Renumber BASIC 40280 REM ROUTINE TO RENUMBER BASIC BY Paul Krieger 40290 REM Nov 8 1981 40300 REM BT BRANCH TABLE LN LINE NUMBER OF DESTINATION 40310 DIMIT 67 DIMBT 200 DIMLN 200 40320 IT 0 END IT 1 FOR IT 2 e NEXT IT 3 40330 ITS A INPUT IT 5 2 DIM IT 6 e READ IT 7 LET 40340 ITS 8 e GOTO IT 9 RUN IT 10 IF IT
162. an be used to produce complex waveforms Synchronization causes the voice to lock onto the frequency of another voice Voice 1 syncs with voice 3 voice 2 with voice and voice 3 with voice 2 Depending on the two frequencies interesting effects can be produced Ring modulation is the result of ad ding and subtracting two waveforms When ring modulation is on for a par ticular voice its output is the result of modulating from another oscillator Non harmonic frequencies ie not multiples of the fundamental fre quency result and very strange sounds can be produced As its name implies this can also be used to produce bell or chime effects Voice 1 is modulated by voice 3 voice 2 by voice 1 and voice 3 by voice 2 Voice 3 has extra controls available Its output can be turned off useful for synchronization and ring modulation used on voice 1 when you don t want to hear the driving frequency In addition the oscillator and envelope generator outputs are available in digital form in two SID registers When random noise is selected as the waveform for voice 3 the oscillator output is a very good source of random numbers The sound output is available in a form compatible with good sound 72 systems so you don t have to rely on your TV s poorer system Programming C64 s Sound It is difficult for the BASIC pro grammer to take full advantage of all the SID s capabilities Even such sim ple things as setting th
163. and the conditional jump branch Table 1 catalogues the unconditional program control statements and table 2 contains the conditional program control statements There are three basic types of uncon ditional program control instructions table 1 The first type is the branch always and jump JMP The BRA instruction branches with either an 8 bit or 16 bit displacement from the existing program counter contents The JMP instruction jumps to an effec tive address expressed in the opword The BRA and JMP instructions do not save any return address informa tion If you want to return to the in struction following an unconditional branch then you must Branch to Sub routine BSR or Jump to Subroutine JSR Both the BSR and JSR store the next instruction address on the stack before the next instruction is executed The BSR instruction uses a specified displacement to designate the next in struction and the JSR instruction calculates an effective address to locate the next instruction to be executed The last type of unconditional branch is the Return and Restore CCR RTR and Return from Subroutine RTS These instructions are used at the end of a subroutine to return pro gram control to the main program return is used when you want to con tinue execution at the original program location When RTR is used both the program counter and the CCR are 74 Table 1 Program Control Branch and Jump Instructio
164. ar with all popular computers Price 9 95 each Includes shipping and handling Available Computer Practice Keyboard Company 616 9th St Union City NJ 07087 Name Ink Stick Description Ink Stick mounts inside most spool ribbon dependent printers that use spool ribbons and immedi ately replaces ink that is depleted from the ribbon to maintain an appropriate level of ink in the ribbon at all times This extends the life of the ribbon frabic reduces the operating cost of the printer provides the user with consis tent image density and reduces the number of times ribbons are handled Price 4 95 retail Includes mounting cap 2 ink in container applicator wick and installation instructions Available Lawrence Electronics 3651 N Cicero Avenue Chicago IL 60641 Name Sage II System Sage Language Pascal FORTRAN BASIC Assembler Description Sage II offers the highest performance per dollar computer on the market in the price range of the IBM Apple III but with four to twenty times more computing power Expansion capability includes more RAM multi user multi tasking hard drives networks and graphics Price 4 450 00 Includes 128K RAM 320K floppy televideo 925 term software Available Sage Computer Technology 35 N Edison Way Suite 4 Reno NV 89502 Name Data Vault M Description Data Vault pro tects your computer tapes disk cartridges and floppy disks f
165. ards touch tone and rotary dial remote terminal voice toggle easy printer access and much more List 39 00 Introductory Price 29 00 MINI ROM BOARDS DOUBLE DOS Plus Place your 2K program on our Mini Rom A piggy back board that plugs into the disk Board Room for one 2716 EPROM Useinany controller card so that you can switch select Slot but zero Only 34 95 between DOS 3 2 and DOS 3 3 DOUBLE DOS Plus requires APPLE DOS ROMS 39 00 4 Super Mail List Plus more up to 1000 Entries on single 3 3 Disk only 1 required 2 second access time to any name full sort capabilities Dual Index Modes supports new 9 digit Zip Easy to follow manual Not Copy Protected 4 user defined tables with 26 sort selections per table Beta tested for 6 months user defined label generation Introductory Price 135 99 00 Dealer amp Dist Inquines Invited APPLE LINK A communications system for the Apple Requires Hayes Micro Modem Transmit and receive any type of file between APPLES Automatic multi file transfer real time clock indicating file transfer time Complete error check Plus conversation mode Only one package needed for fuil transfers Compatable with all DOS file types requires Hayes Micro Modem 59 00 THE APPLE CARD ATARI CARD Two sided 100 plastic reference card Loaded with information of interest to all Apple and Atari owners 3 98 NIBBLES AWAY II AGAIN Ahead of all other
166. are referred to in the body of the function the example Super Pix below will help clarify these points The last part of the LAMBDA expres sion is the actual body of the function and is a s expr whose value will be returned as the value of the function As an example suppose you want a function that returns the second ele ment of a list that is if you gave the function the list A B C you want the function to return B Call this function SECOND DEFINE SECOND LAMBDA L CAR L L is the formal argument of SECOND When SECOND is invoked L is bound SETQed to the value of the actual argu ment and the function body the CAR of the CDR of L is evaluated For ex ample if you type SECOND L is bound to the list A B CJ and CAR CDR 1 is evaluated returning Whenever a user defined function a LAMBDA expression is invoked a local environment for the function is created consisting of the formal argu ments of the function and the values they are bound to known as LAMBDA binding at the time of the invocation SOFTWARE Hires screendump software for the Epson OKI Itoh and Nec 8023 Use with PPC 100 Special 19 95 Specify Printer Mr Lister Customer Contact Profiler amp Mailer compatibility with essentially all software for the APPLE Hires printing with simple keyboard commands that replace hard to use software routines No disks to load Special feat
167. arrow Wealdstone Middlesex England 7SJ Tel 01 861 1166 INICRO Updates and Microbes In MICRO s Commodore 64 Data Sheet MICRO 55 109 most of the SID s registers were inadvertently omitted Here is a complete SID register list Voice 1 Voice 2 Volce 3 Register Function D400 D407 D40E Frequency low byte 54272 54279 54286 D401 D408 D40F Frequency high byte 54273 54280 54287 D402 D409 D410 Pulse width low byte 54274 54281 54288 0403 D40A D411 Pulse width high nibble 54275 54282 54289 bits 4 7 2 0 D404 D40B 0412 Voice Type bits 4 7 54276 54283 54290 7 Noise 6 Pulse 5 Sawtooth 4 Triangle 3 Test 2 Ring modulate 1 on 0 off 1 Synchronize 0 Gate bit 1 2 start attack 0 start release 0405 D40C 0413 Attack Decay 54277 54284 54291 Attack time bits 4 7 2ms 8ms Decay time bits 0 3 6 ms 24 sec 100 machine code game with colorful graphics music sound and a funny looking Voice 1 Volce 2 Voice 3 Reglster Function D406 D40D 0414 Sustain Release 54278 54285 54292 Sustain level bits 4 7 x 15 proportion of peak Release time 6 ms 24 sec Address Register Function D415 54293 Filter frequency Bits 7 3 2 0 Bits 2 0 low bits D416 54294 Filter frequency high byte D417 54295 Resonance Filter Voices 7 4 Resonance 3 0 Filter voices 3 external 2 voice 3 1 voice 2 0 voice 1 D418 54296 Filter select
168. aterial It thinks only in decimal which may be appropriate for some calculations but is awkward for many requirements of hexadecimal oriented computers 6 BASIC is slow The overhead in volved with interpreting and re interpreting every line during program execution can make even the most effi cient microcomputers appear sluggish There is also a high overhead in its memory requirements BASIC is simply too basic for many situations Some programs would be more beneficial written in an alter native language BASIC should be used for introductory programming short programs numerical calculation pro grams and limited input requirements It should not be used for long programs disk and video oriented applications non numerical programs and special devices in these cases alternative ap proaches should be considered Bob Tripp BUSICALC A Honey of an Electronic Spreadsheet Why electronic spreadsheet programs Electronic spreadsheet programs allow the user to create a gridsheet spreadsheet worksheet or any other table of information using the memory of the computer as pencil and paper The computer display or terminal acts as a window through which the user views the information as it is entered Textual information such as headings numerical values and formulas can easily be entered into the spreadsheet commodore E3 EA E3 EA FA PR A AABE
169. ay load the program run and make changes with no delays It is the only user friendly language amongst the lot Phil Daley Much Too Basic and Too Much BASIC BASIC was designed to allow a stu dent with a TTY terminal to write simple programs on a time shared mainframe and thousands of people received their initial introduction to the computer via BASIC It served these purposes well However it is not a good language for the microcomputer The use and abuse of BASIC has caused software develop ment to lag behind hardware develop ment The fundamental problems are 1 BASIC does not make effective use of screen capabilities Positioning the cursor is awkward reading the cur sor position is difficult and material appearing on the display is virtually impossible to access from a program 2 Input routines do not permit er ror checking of input do not support interaction with the operator do not provide support for other input devices and are generally limited in capability 3 BASIC does not make effective use of disk capacities Only the most basic disk file structures are supported and these often have restrictions 4 BASIC does not support large programs well The use of line numbers as labels makes it difficult to maintain and modify large programs As programs grow they become increasingly hard to modify document and understand 5 BASIC does not have simple techniques for manipulating string oriented m
170. ce individual bits must be changed without disturb ing the others Filters An audio filter functions in a way analogous to a paper coffee filter The paper filter has little holes that will let the coffee pass through but not the grounds Make the holes a little bigger and some of the finer grounds will pass through The audio filter acts on fre quencies and there are two basic kinds 71 of filters low pass and high pass low pass filter allows low frequency waves to pass through while the higher frequency waves are blocked to a con siderable extent A high pass filter re jects low frequency waves and allows high frequency waves to pass The borderline is called the cutoff fre quency The C64 s SID chip allows ap plication of high pass low pass band pass rejects high and low or any com bination of the three The cutoff fre quency and resonance or sharpness of the filter can be selected However there is only one filter unit which can be switched in or out for each voice so you can t filter the voices differently If you set the cutoff frequency somewhere above the fundamental fre quency and apply the filter in the low pass mode you will get a purer sound ing though softer tone The filter can also be applied in the high pass mode to increase the harmonics while atten uating i e reducing the volume of the fundamental Synchronization and Ring Modulation These sophisticated controls c
171. ch used still more space This method worked but I decided to try another tack emulating a load from the serial port The advantage of this procedure is that you don t have to use page zero and the application pro gram can be stored in ASCII rather than token form Two or more programs can be chained or program and data can be loaded independently My word pro cessor is in BASIC so I must retain this capability The disadvantage is that ASCII takes more storage space How ever for moderate sized programs I find not storing page zero makes the trade off acceptable To load a program from EPROM a three part machine language routine listing 1 is called from BASIC via the No 57 February 1983 Listing 2 5 1 1 82 28 BY DAVID JONES 9500 9600 9600 Sa s ee MEND 86 END OF MEMORY HIGH ADDRESS BYTE 9608 STOR 4F STORE POINTER 2 LOCATIONS 9688 YTMP FE TEMPORARY STORE FOR Y REGISTER 3680 LFLG 2 3 BASIC LOAD FLAG 9608 FLAG 0390 MODE FLAG 100 9680 BASIN FFEB INPUT ROUTINE 936808 ERSOQUT FFEE OUTPUT ROUTINE 129 9608 E 138 93688 n as SETP 1 03 SET STORE FOINTER 140 9662 84F STY STOR I 150 9604 LDY 0 168 9606 S4FA STY ST R 17 9608 i 8 9688 2GEBFF CHECK JSR BASIN GET CHAR FROM KEYBOARD 190 Se 8B C94C L CHECK FOR L TO START LORD 200 960D DEFY BNE CHECK IF NOT KEEP LOOPING 210 3e8F amp
172. cial printer commands or load any special software driver programs to do it Outputs standard ASCII codes to the printer e Plugs in the VIC 209 printer serial i o port Understands all standard VIC 20 print commands No modification to your VIC 209 No special programs required Includes all necessary cables to hook up a standard printer using centronics parallel input MADE IN THE U S A The CARD is a product of CARDCO Inc 79 95 TO ORDER P O BOX 18765 WICHITA KS 67218 316 684 4660 Personal checks accepted Allow 3 weeks or C O D Add 2 00 Handling charges 2 00 VIC 20 is a registered trademark of Commodore 93 DALEL ee a END COMBUTIN FUNTI Softlights By Fred Huntington Time to tell you about a littie program that s been around a while that deserves some mention The Menu Generator is an excellent program that everyone should use on every disk to create a HELLO program to take the typing out of running programs It creates menus quickly and painlessly The publisher has even given permission to pro grammers to use the generated menus in com mercial programs no royalties Comes com plete with a free backup disk The usual price is 39 95 Our price 33 89 But until April 30 you can have it for 27 99 9380 MONEY TO BURN If you ve got money to burn and want the best monitor for Apple around and do a lot o
173. clude hardware to convert RS 232 voltages to TTL a BASIC program to convert hex code data to POKEs a machine language printer driver and a discussion on using a CTS line from VIC Printer Driver requires VIC 20 RS 232 printer hardware interface The Programmers Reference Guide is indispensable for understand ing the VIC s RS 232 implementation Unfortunately some of the informa tion is misleading Part of PRG s chapter four is devoted to the RS 232 interface Although quite versatile VIC software does not implement two RS 232 func tions that may be important with many printers Neither ring indicator RI nor clear to send is included Unless a printer has a large buffer to allow simultaneous data input while printing some handshaking is re quired The simplest approach involves waiting long enough after each output to the printer to be sure the printer has received printed and returned the print head In BASIC this is easily done from the command mode it is not Standard printer handshaking in volves one line While it is busy the printer sends out a signal on this line The computer reads this busy line and holds off further output until the printer is free busy line usually con No 57 February 1983 nects to RS 232 CTS not used by VIC s software After referring to the VIC PRG and considerable experimentation I deter mined the only way to use the CTS line was
174. code this benchmark more closely to the BASIC version this way A 100000 1 1 XX lt 1 1 lt 1001 XX where the meaning of these APL lines may be guessed by comparison with the BASIC version This awful mess takes 121 seconds to run and is a glaring ex ample of what might be called pidgin APL I hope my remark about mindset is now clear I should hasten to add for the benefit of any fervent structured programming enthusiasts that it is possible to impose some of the cosmetics of structured programming on APL in order to make it more readable If you have a SuperPET see the excellent work done by an anonymous WCS programmer in the sample workspace MASTERMIND on the SuperPET tutorial diskette This sort of veneer however doesn t really MICRO LANGUAGES Ss make up for the lack of control statements in APL A feature APL does share with modern structured languages is the high degree of modularity APL pro grams usually are written as a collec tion of functions similar to Pascal pro cedures and functions which may use either local or global variables Each function may have zero one or two arguments and may or may not return an explicit result The limitation to two arguments is not as restrictive as you might imagine because each argu ment can be an array However any assumption within the function about the rank of its arguments reduces its generality For example consider th
175. ctions This graphics program makes draw ing with the Color Computer fun and easy for anyone six years and older Price 21 95 cassette only Includes cassette and instructions Author Paul S Hoffman Available Computerware P O Box 668 Encinitas CA 92024 714 436 3512 Name GraphPower System Apple II Apple IBM PC DEC Memory 64K Language Pascal Hardware Disk drive Description GraphPower pro duces high quality business graphics at low cost Using data input from the keyboard or the Micro DSS Finance finanacial modeling system GraphPower creates camera ready graphics on paper or transparencies for presentations and produces graphs and charts including bar stacked bar side by side bar line pie text and reports Features include automatic or manual scaling eight letter sizes with five slants up to four graphs per page multiple image overlays unlimited shading combinations text annotation mathematical operations 260 data points and more Price 295 00 Available Ferox Microsystems Inc 1701 N Ft Meyer Dr Arlington VA 22209 703 841 0800 Name Diversi DOSTM System Apple II Apple II Plus Memory 48K Language Assembly Hardware 16K 128K RAM card optional Description Diversi DOS is a new Apple DOS 3 3 compati ble operating system that loads and saves BASIC binary and text files two to five times faster than standard DOS 3 3 Diversi DOS also contai
176. d copyable program disk Available Bill Starbuck 2100 E Edgewood Shorewood WI 53211 414 963 9750 Name Ear Challenger System Apple II Plus Memory 48K Language BASIC Hardware One disk drive Description Instructional les son designed to teach elements of music to children or adults Price 39 95 Includes documentation and diskette Author John M Eddins and Robert L Weiss Jr Available Electronic Courseware Systems Inc P O Box 2374 Station A Champaign IL 61820 217 359 7099 Continued on next page Software Catalog continued Name Hi Res Plotting Package System Apple II Plus with Applesoft ROM DOS 3 2 or 3 3 Memory 48K Language Applesoft Hardware Disk drive Epson printer with Graftrax optional Description Hi Res Plotting Package features hi res func tion plotting with a twist Graphs are calculated and stored on disk then viewed in rapid succession when the game paddle is turned This package makes every Apple an oscillosope A 3 D plotter transparent and hidden line is included along with many other useful math routines Price 19 95 Includes floppy disk and complete instructions Author William C Jones Available Apex Software Co 8781 Troy St Spring Valley CA 92077 619 466 2200 Name Colorcom E System TRS 80 Color Computer Memory 4K 64K Language Machine Language Hardware ROMpak or diskette Description The Colorcom E is
177. d OR 97219 503 244 4181 JRT Systems 1891 23rd Avenue San Francisco CA 94122 415 566 5100 Kenyon Microsystems 3350 Walnut Bend Houston TX 77042 713 978 6933 Keyser Enterprises 22 Clover Lane Mason City I 50401 Krell Software 21 Millbrook Dr Stony Brook NY 11790 516 751 5139 Lifeboat Associates 1651 Third Ave New York City NY 10028 212 860 0300 Lucidata POB 128 Cambridge CB2 5EZ England Merrimack Systems PO Box 5218 Redwood City CA 94063 Metanic ApS Kongevejen 177 DK 2830 ANICRO Packages Micro Focus Inc 1601 Civic Center Drive Santa Clara CA 95050 408 496 0176 Micro Motion 12077 Wilshire Blvd 506 Los Angeles CA 90025 213 821 4340 Micronetics Design Corp 932 Hungerford Dr Bldg 11 Rockville MD 20850 301 424 4870 Microsoft 400 108th Ave NE Bellevue WA 98004 206 828 8080 MicroWorks PO Box 1110 Del Mar CA 92014 619 942 2400 Muse Software 347 N Charles Street Baltimore MD 21201 301 659 7212 Omega Software POB 70265 Sunnyvale CA 94086 408 733 6979 On Going Ideas RD1 Box 810 Starksboro VT 05487 312 259 3150 On Line 37575 Mudge Ranch Rd Coarsegold CA 93614 Ohio Scientific Instruments 7 Oak Park Bedford MA 01730 617 275 4440 Prism Software PO Box 928 College Park MD 20740 Quality Software 6660 Reseda Blvd Suite 105 Reseda CA 91335 213 344 6599 _Querty Computer Systems 20 Worcester Rd Newton Hall Durham England LI 25 67045 Ra
178. d so some of them are formed by overstriking to make one character out of two simpler characters This is awkward and re quires you to remember which two characters to use Mercifully the two characters may be typed in either order Ed note Terry had to limit his pro gram examples to ones containing the Greek and math characters our typeset ter has In summary there are things I like very much about APL Its free form variables permit very elegant and clever coding of mathematical problems I ve written a one line function that com putes the next generation of a LIFE game but I can fill only about half the screen because of the SuperPET s RAM limitation There are also things I dislike about APL Its odd character set and lack of flow control statements are anachronisms MicroAPL specifically seems to be a pretty faithful implemen What s Where in the Apple A Complete Guide to the Apple Computer This REVISED EDITION of the famous Apple Atlas provides Apple computerists with a framework for understanding both the overall organization and structure of the Apple system and programming techniques that exploit that knowledge What s Where in the Apple contains the most complete memory map ever published as well as detailed information needed for actual programming All for only 24 95 plus 5 00 s h No 57 February 1983 For owners of the original edition MICRO is offering a companion book THE GUI
179. d is the first character in the string there is nothing in front of it to check so line 112 strips off the ampersand and goes to line 120 If the ampersand is not the first character line 114 substrings off the first segment from both A and S these segments MICRO are assigned to both Z1 Z3 and to 22 24 respectively The routine then invokes the asterisk function with GOSUB 154 Here you want any leading blanks stripped off so you must turn off switch Z2 After the asterisk mask has been applied the substrings 21 and 22 are compared in line 116 If they are not equal the match has failed and the routine does a RETURN If the first segment is successful line 118 discards the first segment and the ampersand from A and S The program then checks line 120 for the position of the next ampersand If it finds one control passes to line 126 If it doesn t check the length of A If there s nothing left in it it means you ve checked the entire response without doing a RETURN the match has been successful so R 1 and you RETURN if there is still more of A left it means that this is the last seg ment and it didn t end in an amper sand so you have to look for an aster isk line 126 No 57 February 1983 Listing 2 10 HOME VTAB 4 PRINT TAB 4 PRINT TAB USING BASIC ROUTINE 20 PRINT OL GOTO 0 30 TEXT VTAB 8 CALL 958 PRINT A A POKE 34 10 HOME 40 OL
180. dcliffe House 66 68 Hagley Rd Edgbaston Birmingham United Kingdom B16 8PF Radio Shack Educational Software Division 400 Atrium One Tandy Center Fort Worth TX 76102 817 390 3302 Ryan McFarland Data Compass Corp 3233 Valencia Ave Aptos CA 95003 408 662 2522 Saturn Software Limited 8246 116A Street Delta British Columbia CANADA V4C 5Y9 Information Sheet 1 6502 Program Exchange 2920 W Moana Reno NV 89509 702 825 8413 Softcorp 1372 East 52nd St Chicago IL 60615 SofTape Software Exchange 10432 Burbank Blvd North Hollywood CA 91801 213 885 57 63 SofTech Microsystems Inc 16885 West Bernardo Dr San Diego CA 92127 714 942 1727 Software Factory PO Box 904 Chatsworth CA 91311 Sorcim 1333 Lawrence Expess way Suite 148 Santa Clara CA 95051 408 727 7634 Succinct Systems 1346 River St Santa Cruz CA 95060 408 426 4197 SuperSoft PO Box 1628 Champaign IL 61820 217 359 2112 Tallgrass Technologies Corp 9009 W 95th St Overland Park KS 66212 913 381 5588 Tamarack Water St Darby MT 59829 406 821 4596 Telesoft 10639 Roselle St San Diego CA 714 457 2700 Terrapin Inc 678 Mass Ave 205 Cambridge MA 02139 617 492 8816 Vagabondo Enterprises 1300E Algonquin 35 Shawnburg IL 60195 312 397 8705 valFORTH International 3801 E 34th St Tucson AZ 85713 800 528 7070 Vanguard Systems Corp 6901 Blanko San Antonio TX 78216 512 340 1978 Volition Syst
181. ddress in line cursor line 15 is lost 8 LOOP from the display but 9 ENDIF r 18 BL SWAP C Insert blank at end of line saved in a buffer for 11 the ESCP 12 DELETE T RE 13 SIDE 3 IF 65 ELSE 31 ENDIF Determine end char of line command 14 DELETE CHAR WRITE LINE Delete current char outut CTRL clea Clear the text 15 CURSOR SCREEN CURSOR gt Reset cursor window see el SHFT clear Clear the text EDITOR PRIMITIVES window BAS ais lesen CTRL right Move cursor right 3 SCR 9 LINE DROP Get the address of start within text window CTRL left Move cursor left a SIRE 6 CLINE L A SAV BUF 64 CMOVE Save current in SAV BUF within text window 7 15 CLINE 3 IF If not the last line TRI Mov Or 8 15 CLINE 3 DO For each line above current up up 9 I 1 L A I L A 64 CMOVE Move line one toward 1 within text window Mi CTRL down Move cursor down 12 15 L A 64 BLANKS Blank line 9 15 within text window 13 ia SUTDEUETEELNE Cakes RETURN Advance to the first 15 DELETE L DISPLAY gt Delete and display character of the next line SCR 82 TAB Move two characters EDITOR PRIMITIVES right 2 INSERT L 3 15 CLINE 3 IF If not the last line 4 CLINE 3 15 DO Start at the end of screen Only the text window is affected by 5 I 1 L A I L A 64 CMQVE Shuffle lines to end these special function keys 6 1 LOOF Move t
182. djust far right side SS Output left window edge Type actual text line Output right window edge Output left window edge Output text line overflow output right window edge Get video line number Point to left border pos Point ATARI text cursor Qutput edit line here Get video line number Point to left border pos Point ATARI text cursor Output extra line here Before ist line video Fosition of left window Foint ATARI text window Qutput a horizontal line After last line video Position of left window Point ATARI text window Output a horizontal line No 57 February 1983 Di en LANGUAGES Listing 1 continued SCR 69 gi PRIMITIVES FOR DISPLAY 1 2 ETITLE 3 g CHAROFF 3 FOINT CUKSOR 4 Screen SCR F 5 1 CHAROFF 3 POINT CURSOR 6 Side SIDE 3 7 8 S 9 1 11 2 13 14 SCR 7 i DISPLAY CURRENT SCREEN 1 2 DISPLAY 3 ECLEAR ETITLE 4 TOP 5 CLINE 5 16 DO 7 I CLINE WRITE LINE 8 LOOP 9 CLINE 1 SIDE IF Z2 ELSE ENDIF 11 CCHAR 12 HOT 1S WRITE EXTRA 14 CURSOR SCREEN CURSOR IS SCR 7 cc DOCASE ONG t0 b CL FI RK 1d EMDCASES 4 PAIRS COMPILE DROP 11 BEGIN SF CSF WHILE 12 2 CCOMPILE ENDIF REPEAT 13 CSP IMMEDIATE 14 15 gt SCR 72 CURSOR MOVEMENT PRIMITIVES 1 2 MOVE RIGHT 3 CCHAR 3 1 4 SIDE 3 IF 5 DUP amp 4
183. dults only Village 25 39 9061 Prism storybook and games 16 89 9681 Sheila HAL Labs 21 19 Rediform Redibinder Great CALL Flexware The best most flexible and most expensive account ing software ever made for the Apple CALL 8261 Lovers or Strangers 25 39 Corona IBM PC look alike Dynamite CALL 117 The Toaster two removable 5 meg cartridges by 2499 00 118 105 paper feeder 9 00 119 P M Card TM P M 3 0 TM 64X memory 6MHz speed Call for price AgDisk Agricultural software au 122 Compu Music Roland 429 00 Call Toll Free 800 344 5 106 outside california We take MasterCard American Express or VISA Include card 4 and Apple is a registered trademark of Appie Computer inc Xpiration date California residents add 6 tax Include 2 00 for postage Foreign and hardware extra Foreign excluding Canada remit U S cur rency checks on U S banks use listed charge cards or make direct wire transfers through Security Pacific Bank Corcoran for a 6 00 charge All overseas orders shipped by air Send for free catalog Prices subject to change without notice MICRO 4 230 Transtar 130 daisy wheel printer with boldface and underscore Six mo ltd
184. e following APL function 0 Z EQUALS 1 2 3 If A is a scalar the function EQUALS 3 returns a scalar value of 1 if A is 3 and returns 0 otherwise In addition if A is any numeric array whatever this func tion will return an array of 1 s and O s of the same shape as A On the other hand the following function will ac cept only one type of argument a numeric vector and it ignores all but the first three elements 0 VOLUME PARALLELAPIPED X 1 VOLUME X 1 x X 2 x X 3 As you might suspect this is another example of pidgin APL A more proper APL version of PARALLELAPIPED would be 1 VOLUME x X This second version uses the reduc tion operator to signify multiple ap plication of the X s operator In this version a vector argument would result in the scalar product of all the elements of the vector and an array argument would yield an array of one lower rank one less subscript with each element No 57 February 1983 ES LANGUAGES equal to the product of the elements of the argument array obtained by fixing all but the last subscript Mindset again APL s extensive use of arrays tends to require large amounts of memory On the SuperPET this is particularly troublesome because the microAPL in terpreter stores all numeric quantities in floating point form requiring five bytes each Furthermore microAPL doesn t allow all the available RAM to be used for variable sto
185. e Applesoft BASIC does not have a built in index or position func tion I use the MID function to scan the string for the items to be matched When an asterisk is found its position is noted and then it is replaced by a slash in both the author s string and the student s response This replace ment effectively masks the character to be ignored by making it identical in both strings Note that it is necessary to find the sections separated by amper sands before masking with the aster isks yet the asterisk means to ignore a character This is the most difficult part of the algorithm For a completely different way of attacking this problem see the discussion on a match algo rithm in the publication Frontend from CONDUIT University of Iowa Take a closer look at how the rou tine works There are four possibilities Listing 1 MATCH ROUTINE 100 REM MATCH ALGORITHM 102 0 IF S A THEN R 1 RETURN 104 FOR 21 1 TO LEN A IF MID A 21 1 amp THEN COTO 112 106 NEXT Z1 22 1 71 0 71 ALS 77 COSUB 154 108 25 LEN Z1 Ral 110 RETURN 112 78 0 IF 71 1 THEN A MID A 2 IF MID Z1 1 Z5 0 22 1 25 AND LEN 22 25 THEN GOTO 120 114 73 LEFT A Z1 1 74 LEFT 5 21 1 71 73 71 245 COSUB 154 116 IF 71 72 THEN RETURN 118 A 21 1 S MID 5 21 1 120 FOR 71 1 TO LEN A IF MID AS 21 1
186. e all based on the Micropi version offers a version of PILOT for CP M machines Author languages offer several ad vantages for educational programming UPGRADE YOUR AIM 65 INSTANTLY A trademark of Rockwell Inc To A 6809 Development System With The MACH 9 From M M S Inc INTRODUCTORY PRICE Plus 6 U P S And Handling Includes 6809 CPU Plug in Assembly Super set of AIM Monitor Two Pass Symbolic Assembler Complete Monitor Source Listings Enhanced Cut amp Paste Editor 200 Page Manual Full 1 Control 9 is assembled and tested with toca BUS 5 locking low force ROM sockets and 2K Static RAM MMS inc 1110 E PennsyLvan a Sr Tucson AZ 85714 602 746 0418 Programmer or author productivity is much higher when using author lan guages In fact programmer productivity when using a language like BASIC for such applications is often so low that they are forced to adopt multiple choice or numerical formats almost exclusively Thus a related benefit of using an author language is an increase in quality made possible by the increase in author productivity Another advantage is that a flexible instructional program written in an author language is likely to be much more intelligible to teachers than the same program written in BASIC This is important because the best educational software is under revision based on student reactions for many cycles In
187. e for under 20 plus a weekend of time instead of buying one for over 100 Several questions have been asked about the controller jacks at the front of the Atari console These jacks provide the simplest interfaces to any external device They are connected to eight A D analog to digital converters and a PIA peripheral interface adapter See the last page of your Atari hardware manual for a diagram of the pins and jacks Port A controls the joystick pins of jacks 1 and 2 and Port B controls those on jacks 3 and 4 As you look at the computer from the front the MSB is on your right and the LSB is on your left To use them for input you do not need special codes just PEEK 54016 for Port A or PEEK 54017 for Port B To set up pins for output you must write to the direction control register An example of setting up Port B as an 8 pin output follows to use Port A in stead subtract one from the PEEK and POKE addresses 100 POKE 54019 56 110 POKE 54017 255 120 POKE 54019 60 POKEing 54019 with a 56 tells the computer to take the next POKE to 54017 as a direction control code This is a binary code with each bit corre sponding to a pin on the jacks If the corresponding bit is 1 the pin is de fined as output and if it is a zero the pin is set up as input MICRO Once you have completed that sec tion of code you may then POKE to 54017 whatever you want to send out If you POKE there and then PEEK the same locat
188. e gate bits re quire ANDing and ORing Machine language is more effective when some of the more sophisticated features are involved In MICRO s Commodore 64 Data Sheet MICRO 55 109 most of the SID s registers were inadvertently omitted See page 9 in this issue for a complete list The Commodore 64 User s Guide and the Programmer s Reference Guide include a number of sample programs that demonstrate most of the C 4 s music capabilities The software developer s kit I mentioned last month Figure 2a Triangle Wave Figure 2c Pulsed rectangular Wave MICRO includes a SID monitor and a fancy music program The monitor allows you to change the contents of just about every SID register while you listen to the result The music program has a number of pre programmed pieces from Magic Trumpet to a Bach chorale You can select an in strument for each voice the tempo and a few other parameters the music plays the tune is displayed as notes on a clef The part of the program that lets you compose your own music is not very good The notes are keyed in by their alphabetic representations This might be OK for copying sheet music but it s not very good for the trial and error composing most of us are likely to do Abacus Software s Synthy 64 reviewed below makes programming of multi voice music a lot easier third type of music program is in Figure 2b Sawtooth Wave Figure 2d Noise Waveform
189. e in that it will operate with from one to eight disk drives on line providing management of up to 24000 records 4000 characters record of data Built in features permit printing form letters mailing labels and envelopes A special feature for list backup is provided Minuses You can use the program with only one disk drive which makes it possible to destroy the program disk The system should have been designed to prevent this rather than risk user forgetfulness The company says only one list can be stored per disk because of the need to store large lists but I think a multiple short list per disk option should have been built in Neither of these prob lems are serious the product is quite usable Documentation Adequate Numerous examples are pro vided instead of explanation Skill level required The user needs exposure to the prob lems of list management to get maximum utility from this product Reviewer Chris Williams ESTHER 64K TRS 80 Color Computer One disk drive FLEX DOS Price 54 95 74 95 with source Product Name Equip req d Manufacturer Frank Hogg Laboratory 770 James St Suite 215 Syracuse NY 13203 Author Dale Puckett Description ESTHER shows how a computer is capable of artificial intelligence ESTHER will remember your name and ask you questions in an effort to get you to unload some of your problems If you want to show your friends what your computer can do ESTHER will help break the
190. e language Putting some Spanish CAI on my Apple I found that it takes about 1 4 seconds to compare this author s string amp LE DECIMOS amp QUE amp SE ACUESTE amp we tell him to go to bed put English translation here please author with this student response Nosotros le decimos a Juan que se acueste tem prano We tell John to go to bed early That is not too long but if the student makes some unanticipated mistake it takes the program even longer to work its way through to find the error I have timed the program to take as long as five seconds in involved cases where the match routine must be invoked many times to analyze one sentence To obscure this time lapse at various stages I include progress messages such as THE SENTENCE IS INCORRECT when the right answer is not matched FIRST VERB IS CORRECT as the checking continues etc The length of time is unnoticeable since the process ing is completed before the student finishes reading the messages Linking the Match Routine To a Program I use the match algorithm as a Figure 1 Examples of Match and No Match A S Match amp COMPUT R amp COMPUTER Yes COMPUTIR Yes COMPUTING No COMPUTE OR DIE No amp COMPUT amp COMPUTER Yes COMPUTE OR DIE Yes COMPUTING MACHINE Yes amp GREEN amp GREEN FIELDS Yes GREENSLEEVES No GREAT SPLEEN No amp GRE N amp GREEN BEANS Yes A GREEN AND RED COLOR Yes IT IS GREAN Yes GRAIN
191. e stored program to be located anywhere in memory and prompts the user with an asterisk The user responds with the starting address Storing the program in EPROM is more complicated but by no means dif ficult once you understand the concept Also you must have access to an EPROM programmer First be sure the program to be stored is thoroughly debugged and user friendly Remove REM statements and if you want pack code to save memory MICRO Save the resulting code on cassette tape and load the program back into mem ory with the routine in listing 2 The file is now stored in a straight ASCII format with no tokens Find the end of the file delete the OK and insert a 99 The last available RAM location is stored by BASIC cold start in locations 85 and 86 When storing the routine checks for the end of RAM and displays the overflow flag if the end is reached No more loading occurs but all further incoming data is displayed on the 25th line Depressing the space bar ter minates cassette input and reverts back to the keyboard for input Anything typed now will be stored in the next location At this point you should break to the monitor and call your EPROM loading routine I use my smart terminal program to perform the storage function but since the hooks are unique to my system I mention only the following transfer the memory image to your EPROM pro grammer and program the EPROM I do 23 this with my mach
192. eachers guides It is currently available from McGraw Hill Gregg Division for the Apple No doubt other similar packages will appear shortly One final item likely to find wide acceptance is the disk library management system for keeping track of programs Disk Master for the Apple is a fine example of this type of program Finall we come to systems soft ware designed specifically for educa tional applications Again this is con veniently divided into three classes programming languages authoring lan guages and authoring systems LOGO is really the only language designed for student programming LOGO offers many advantages for this purpose It is highly structured and allows long vari able names and procedure names It uses advanced techniques like recur sion in an elementary and natural way Above all its orientation is primarily graphic at least at the beginning levels No 57 February 1983 Graphic exercises offer many advan tages for use with beginners The ap peal is sufficient to hold their interest and debugging is a visual process rather than an abstract reasoning process For example the program went wrong after drawing four line segments is much easier to detect than the pro gram gave this wrong numerical answer by going off after the fourth numerical step LOGO is available for three dif ferent microcomputer systems with more rumored to be on the way Three different sources offer v
193. eceive both cassette and RS DISK versions the standard fig EDITOR and an extensive instruction manual Both owners simply push a button to dial Visual Horizons in Rochester transmit the infor mation over ordinary tele phone lines and receive by mail 35 mm color slides stan dard size black and white prints enlargements or over head transparencies Price 6 00 each 30 00 minimum Available Visual Horizons 180 Metro Park Rochester NY 14623 716 424 5300 Name Computer Football Strategy System TRS 80 Models I and III IBM PC Memory 32K TRS 80 64K IBM PC Language BASIC Hardware One disk drive Description Computer ver sion of Avalon Hill s famous board game is based on the award winning Sports Illus trated game of professional football It forces the player to constantly make the right decisions about his team s of fensive and defensive forma tions Match wits against the computer or against a live opponent Price 21 00 Includes diskette Available Avalon Hill Microcomputer Games 4517 Harford Road Baltimore MD 21214 MICRO 23 so o Rr oie d pd Ns ri iren oig oat de E cedi quid dite fts 49 95 Texas residents add 5 percent DEALER AND AUTHOR INQUIRIES INVITED MICRO Phone 512 459 7325 No 57 February 1983 INICRO Hardware Catalog Name Micromouse System Any Description The Micromouse is a small hand held d
194. ective of the experiment The data analysis can be quite tedious and time consuming If a strip chart recorder is used to record the data retention time and peak areas must be measured with conventional methods Also data reduction will generally be done outside the laboratory and usually too late to repeat any analyses that yield questionable results These features of the laboratory are very un attractive to the student and tend to obscure the important features of the experiments These time related problems have been eliminated by using the micro computer to acquire and process the data from GC analyses on line Data reduction that would normally require hours is now done in a matter of minutes Consequently our students are now able to devote more of their time to the underlying conceptual aspects of the laboratory experiments The hardware required to interface the microcomputer to the GC is sim ple The detector output is a voltage in the low millivolt range similar to the output from thermocouples as discussed in Part of this series Consequently the A D converter interface QM 100 and signal amplifier used for tempera ture measurements should be directly applicable Initially our chief concern was sampling speed since it is possible to get rapidly changing signals narrow MICRO signal peaks from the GC However the QM 100 A D converter allows sampling rates up to 50 Hz and this has proven to be more than
195. ed with all ExpandaRAMs Disk emulators included with 64K and 128K versions MEM 32 Two rows of 16K RAMS make a 32K RAMCard 209 MEM 64 One row of 64K RAM With DOS 3 3 disk emulator 299 MEM 128 Two rows of 64K RAMS installed make a 128K Card With DOS 3 3 disk emulator 399 MEM RKT 64K RAM Add On Kits 64K Dynamic RAMS Each 125 VISICALC Expansion Program forMEM 128 75 MEM PSL Pascal disk emulator for MEM 128 45 MODEMS FOR YOUR APPLE HAYES Smartmodem 5 MICROMODEM Il 279 VERSAcard FROM PROMETHEUS Four cards on one With true simultaneous opera tion Includes 1 Serial Input Output Interface 2 Parallel Output Interface 3 Precision Clock alendar and 4 BSR Control All on one card Fully compatible with CP M and Apple Pascal List 249 169 MICRO 80 COLUMN VIDEO DISPLAYS FOR APPLE Il SMARTERM Not to be confused with SUPRTERM Software switching from 80 to 40 and 40 to 80 characters 9 new characters not found on the Apple keyboard Fully compatible with CP M and Apple PASCAL With lowest power consumption ot only 2 5 watts List 345 225 SMARTERM EXPANDED CHARACTER SET 7 x 11 matrix with true decenders Add to above ole a 40 Combination SMARTERM and Best Buy EXPANDED CHARACTER SET
196. een phosphor 175 BUSINESS SOFTWARE Spellmaster Dictionary great for WordPro 199 022 Data Base System 8050 240 Silicon Office database wp 995 New Wordcraft 80 VisiCalc new expanded Dow Jones Portfolio Management System RS 232 WordPro 4 5 Ms aoe The Manager Legal Time Accounting Rue BPI R G L Job Cost Inventory Payroll SJB will service any VIC or CBM64 MasterCard Visa Money Order Bank Check COD add 5 accepted Add 3 surcharge for credit cards In stock items shipped within 48 hours FO 8 Dallas TX All products shipped with manufacturer s warranty TO ORDER CALL TOLL FREE 800 527 4893 800 442 1048 Within Texas SJB will meet any competitive price under similar in stock conditions SJB DISTRIBUTORS INC 10520 Plano Road Suite 206 Dallas Texas 75238 T 30 SJB DISTRIBUTORS THE MOST COMPETITIVE PRICES ON COMMODORE PRODUCTS Business Hours 214 343 1328 M F 8106 Prices are subject to change without notice Sat 10 to 2 SOFTWARE FOR 64 Word Processing 90 Computer Tutoring Game COCO 50 General 199 Pet Emulator emulates 4 0 basic 30 CBM EasyCalc for the 64 99 CBM EasyFinance 50 CBM 80 CBM EasyScan appointm
197. em x OS 9 LEVEL ONE Multi tasking operating system for up to 56K of memory WINCHESTER SUBSYSTEMS Winchester packages are available for upgrading current GIMIX 6809 systems equipped with DMA controllers at least one floppy disk drive and running FLEX OS 9 LEVEL ONE or OS 9 LEVEL TWO The packages include one or two 19MB unformat ted Winchester drives Hard Disk Interface and the appropriate software drivers The Interface can handle two 5 Winchester Drives providing Automatic Data Error Detection and Correction up to 22 bit burst error detection and 11 bit burst error correction Dual drives can be used together to provide over 30 MBytes of on line storage or use one for back up of the other More convenient and reliable than tape backup systems 90 includes one 19MB Drive Interface and Software 4288 90 91 includes two 19MB Drives Interface and 5 5 3 6688 91 Contact GIMIX for systems customized to your needs or for more information CHICAGO ILLINOIS 60609 m IC GIMIX and GHOST are registered trademarks of GIMIX Inc FLEX and UniFLEX are trademarks of Technical Systems Consultants Inc 31 2 927 5510 50 HZ Export Versions Available 05 9 is a trademark of Microware Inc TWX 910 221 4055 1982 GIMIX inc DMA Double Density Floppy Disk Controller x 2 Built in 5 40tr DSDD Disk Drives
198. ems POB 1236 Del Mar CA 92014 619 481 2286 Williamsville Publishing Co Box 250 Fredonia NY 14063 Wordsworth PO 28954 Dallas TX 75228 214 783 0419 TABLE OF CONTENTS EDITORIAL ruere ett oc vr UE e Y CS APPLE TRAC Personal Finance Management by Mike SORT EM OUT Principles of Sorting by NIBBLE Staff PSEUDO UTO START Reset with CTRL Y by Rick Con INITIALIZE NEW FILES WITH ONERR GOTO by NIBBLE MACHINE LANGUAGE SCREEN DUMP by A M Mottola FREE DISK SECTORS by Chuck Hartley HI RES SPACE MAZE Graphics Game by NIBBLE Staf UN GRAPHIC GRAPHIC PRINTING by NIBBLE Staff TABLE PRINTING MADE SIMPLE by NIBBLE Staff DYNAMIC ARRAY DIMENSIONING by NIBBLE Staff BLOCKING VERY LARGE FILES by NIBBLE Staff LOW RESOLUTION SHAPEWRITER High Speed Actio SPACE ANIMATION Add ZIP to your Games by NIBBL STAR ATTACK Fast Hi Res Conflict Game by Mike Hai PADDLE READING IN ASSEMBLY LANGUAGE by NIBBI FIRIN nisl ine d Control by NIBE AIRS Fe Maneuvers b AUT by NIBBLE Staff WATCH OUT FOR GRAPHICS OVERFLOW by Mike Harv ORDER NOW oF T DERE NE INGE ynolds lil All programs and Articles are TOU iliam Reyno centered on the Apple Computer DOU by NIBBI family ARROWS AND CONTROL CODES by NIBBLE Staff APPLE TRICKS Fast DOS Spcl Chars Unlistables by C Uh APPLESOFT VS INTEGER BASIC PERFORMANCE by A E APPLE aphics by Mike Harvey 3 AP
199. ensity recording and e single double sided drive operation max 4 drives MEGAFLEX has the lowest chip count of any controller today This means less power a cooler Apple and better reliability Lowest price highest performance that s MEGAFLEX 11722 SORRENTO VALLEY ROAD SAN DIEGO CA 619 452 0101 TWX 910 335 2047 APPLE TWO SDG TRADEMARKS CP M Oigitai Research A Binary Search Routine by Alfred J Bruey This article describes the binary search technique and then presents two demonstration programs One sets up a sorted test file that can be searched using a binary search the other sets up a sorted test file and allows a record to be Inserted in its proper place This binary search technique can be used as the basis for a complete data base system Sort Routines require Any Microsoft BASIC computer Your computer is handy for keeping lists of names right But how do you find a particular name especially if your list is in random order You could write a program to start at the begin ning of the file and compare items one by one with the name you want Of course this process would be extremely time consuming And if the name you were searching for wasn t there you wouldn t know until you had searched the entire list Unfortunately there is no better method to search for an item if the list is in random order Therefore you should make sure your file is in alpha betical order the rest
200. ent manager 80 Sprite Magic build sprites on screen with Joystick save to disk or cassette 30 Assembler Package for CBM 64 cassette Editor creates and updates source code Assembler Loader Disassembler IEEE Interface 64 Parallel 90 RS232 Interface modems printers 45 VIC PRODUCTS VIC 20 Computer 5 199 Datasette Recorder 60 Vic 1541 Disk Drive 395 VIC MODEM for CBM 64 100 VIC 1525 Graphic Printer for 64 325 8K Memory Expansion Cartridge IEEE Interface VIC Gorf great arcade game 30 Omega 30 Midnight Drive 23 VIC slot Expander 43 VIC 6 slot Expander 83 Seawolf 4 eb ES eene 23 Cosmic Cruncher Arcade Joysticks Heavy duty with 2 firing buttons Great for the VIC or 64 SuperPET 5 languages 2 processors CBM 8032 Computer 80 column CBM Memory Expansion 64 PET 4032 40 Column CBM 8050 1 Mg Dual Drive CBM D9060 5 Mg Hard Disk NR CBM D9090 7 5 Mg Hard Disk CBM 4040 340K Duat Drive CBM 2031 170K S
201. er is used for both data acquisition and process con trol in the undergraduate chemical engineering laboratory 3 So far we have concentrated on interfacing microcomputers directly to laboratory experiments and replacing conven tional analog instrumentation with a combination of A D converter micro computer and printer our universal instrument A related area of application for the microcomputer involves interfacing to more sophisticated scientific struments There are two primary reasons for using a computer with a scientific instrument The first is to enhance the capability of the instru ment and the second is to improve operational features such as ease and speed of operation and data reduction The gas chromatograph and the spec trophotometer are good candidates for Microcomputer interfacing Both find widespread application in chemistry and related fields and all but the most expensive models require the user to spend a considerable amount of time reducing data No 57 February 1983 The Gas Chromatograph One of the most widely used analytical tools is the gas chromato graph GC The chemical engineering department is no exception as we make heavy use of the GC in both undergraduate and research labora tories In the undergraduate laboratory it is not uncommon for students to generate 15 to 20 chromatograms in an afternoon Each of these must be analyzed and the data processed to reach the obj
202. error occurred Atoms may have values associated with them just like a variable in BASIC or Pascal can be assigned a 66 value If you type an atom into LISP the interpreter will return the value of the atom if it has one For example numeric atoms are defined to have themselves as their value The value of the atom 3 is 3 as you d expect If you type 3 into LISP you ll get back 3 the same as if you d typed ADD 1 2 Asa general rule literal atoms don t have a value until they re given one The value cf a literal atom may be any s expr One thing you can do with lists is take them apart The LISP function CAR takes a list and returns the first element of the list If you type CAR A B C you get A as the value When you give LISP something to evaluate of the form Function Arg Arg2 Argn LISP first evaluates the arguments then applies the function to the argu ment values to return the final result For example if the value of A is 1 and the value of B is 2 then ADD A will return 3 In the example for CAR above the quote tells LISP not to evaluate the argument before applying the CAR func tion In other words if you didn t type the quote LISP would first try to evalu ate the s expr A B C then apply CAR to the result With the quote LISP applies CAR directly to A B returning A The LISP function CDR is the com plement of CAR CDR takes a list and returns that list minus the first ele
203. ersions for a 64K Apple II with one disk these ver sions differ only in minor ways Texas Instruments offers a ROM version for the 99 4 with memory expansion Radio Shack offers b th a ROM version 16K and a disk version 32K for the Color Computer There are significant differences between the three systems The Apple versions are probably closest to the original mainframe ver sions of LOGO This is accomplished at the cost of speed expensive hard ware remember 64K and severe re strictions on the amount of user pro gram space The Texas Instrument ver sion adds more colors and sprites which aid animation This version of fers only integer arithmetic and draws lines only by character definition an approach that noticeably limits the complexity of figures that can be drawn The Radio Shack version re quires the least hardware and adds multiple turtles This latter feature allows use of LOGO for illustration of true multi tasking and other advanced concepts It also provides a way for do ing simple animation The Radio Shack version offers only integer arithmetic and eliminates all of the word and list processing operations of the original LOGO language These differences re flect different analyses of what the educational applications of LOGO will finally be Rumor indicates that there will be a sprite version for the Apple requiring extra hardware and a real number and line drawing version for the Texas Instrumen
204. ert a single No 57 February 1983 SPECTRUM RESULTS 10 78 29 5 ANESTROMSSEC BES OF SCAN 2390 ANSSTROHS WIDTH OF SCAN 400 TROHS ANGSTROMS PER DIU 9 2 N N M N N x z T F 3 N T m AL Lus M PU De ES PUN VENT MT AGT DIOE TEES RE IUS SEES TUNI SO DS SEP ERIS T DOT Cs CNN CETTE ET VETT 47 A Cam Figure 2 The ultraviolet absorption spectrum of benzene vapor at room temperature The spectrum was obtained using a GCA McPherson single beam spec trophotometer interfaced to a PET CBM microcomputer and Trendcom 100 dot matrix printer beam spectrophotometer into what is effectively a dual beam device The basic requirement is that the analysis be run twice first in the reference mode and then in the sample mode An example of this type of application is shown in figure 2 This absorption spectrum of benzene was taken at room temperature with a single beam GCA McPherson spectrophotometer The units of the wavelength scale are 4 56 Angstroms division the ordinate is in absorbence units The high spectral resolution is evident and comparable to that obtained from much higher priced instruments Individual portions of an absorption spectrum can be selected and magnified by changing the scan rate and the wavelength range and re peating the
205. es The following variable names are used 21 Z2 Z3 ZA Z5 Z6 Z7 Z8 Z9 21 22 23 24 25 Any values stored in these variables when the match routine is in voked may well be destroyed Conclusion In applications where users will be responding with words and phrases a routine that masks part of the input often is necessary to analyze that input The routine may scan for key words overlook spelling and typographical er rors or find exactly where an error oc curs For whatever purpose the two masking characters the asterisk and the ampersand enable the author to use and analyze verbal input in telligently to achieve the intended results This match routine is one tool that can be used to do that Robert Phillips has B A M A and Ph D degrees in Spanish He is a professor at Miami University Ohio and is Assistant Chairman of the Department of Spanish and Portuguese He has been working with Computer Assisted Foreign Language Instruction since 1970 and has written CAI in PL 1 FORTRAN APL Coursewriter and BASIC You may contact Professor Phillips at the Dept of Spanish and Portuguese Miami University Oxford OH 45056 ANCRO 85 An Overview of Educational Software by George Gerhold As a follow up to our October education issue this article offers a discussion on specialized systems designed for educational applications Educational software can be classified into three groups
206. es if the last character printed was a car riage return These two delays assure that spaces between characters are not misinterpreted and that the routine sees the print head return to home Because the listed version uses four locations at the top of the VIC s screen you can watch the characters pass to the printer and the various timing loops perform The comment section at the top of the listing suggests alternative storage locations for permanent use Don t worry about the screen scrolling the routine is not affected No 57 February 1983 Listing 1 1 3okokolololoociorololorololololoroorororooeoooorpooor 2 VIC 4 DUTPUT ROUTINE FOR RS 232 5 0 amp Z 2 6 X 7 X BY 8 MICHAEL TULLOCH S x 17 RUG 82 18 x 11 THIS ROUTINE USES THE CTS 12 LINE WHICH IS NOT IMPLIMENTED 13 BY THE VIC SOFTWARE 14 15 x 16 NOTES 17 18 L 19 REQUIRE DIFFERENT CNTR 20 VALUES 21 2 DIFFERENT DELAY VALUES 22 X MRY BE NEEDED 23 3 LOCATIONS OF SAYA SAYR x x x x x x x DIFFERENT PRINTERS MAY x x x SAYE ACCUMULATOR FLAG FOR C R AS LAST CHARACTER REAL CHARACTER OUTPLIT SAVE X REGISTER EMPIRICAL DELAY BETWEEN SPACES LOCATION OF RS232 CTS REGISTER SAYE ACCUMULATOR SAVE X REGISTER GET THE FLAG IF SO THEN WAIT A WHILE NO SO RESET FLAG SET UP NUMBER OF TIMES TO LOOK GET THE CTS SIGNAL Is IT L
207. es to a limited extent The spectrophotometer presents the user with problems similar to those of the GC The measurement of an optical absorption spectrum produces a lot of information that must be analyzed and then converted to another form such as absorbence transmittance Or ex tinction to be of direct use If the spec tral scan covers a wide range of wave lengths data reduction can be quite time consuming As with the GC there are expensive accessories that will do most of the work but these devices are not available in all laboratories and certainly not in most teaching laboratories Most spectrophotometers use a photocell or a photomultiplier tube as a detection device so the output signal is a current Normally this is passed either to a chart recorder or a display of some sort which converts the signal to a numeric representation Since the out put current of the detector can easily be converted to a voltage see Part of this series it is a simple matter to use the QM 100 A D converter and an ampli 90 ANALYSIS DATE SAMPLE COMMENTS RTC 1 45 S 1 4816 RYC 2 57 5 amp 2 2318 PERK HEIGHT GC ANALYSIS OATE SAMPLE COMMENTS 1 34 S 1 1725 RTC 2 48 S 2 1709 3 52 S 3 2043 4 75 S 4 m 1351 2 2 EMD 2
208. esigns Repeated measures Designs Split Plot Designs 1 to 5 Factors 2 to 12 Levels Per Factor Equal N or Unequal Anova Table Descriptive Statistics Margino Means Cell Sums of Squares Data File Creation Data Review Edit Data Transformations File Combinations All nteractions Tested High Resolution Mean Plots Bargraphs HSD REGRESS Complete Multiple Regression Analysis Up to 25 Variables 300 Cases Variable Correlation Matrices Descriptive Statistics Predicted amp Residual Scores File Creation Regression on Any Subset of Variables Regression on Any Order of Variables Hi Res Scatterplot amp Residual Plot Keyboard or Disk Data nput Case x Case Voriable x Variable Input 99 95 Apple II 48K 1 or 2 Disk Drives 3 3 DOS ROM Applesoft Call 213 993 8536 to Order or Write HUMAN SYSTEMS DYNAMICS 9249 Reseda Blvd Suite 107 Northridge CA 91324 VISA 76 Table 2 continued Mnemonic Data Size CCR Name Comments scc 8 Set The specified condition of the CC table is tested CCR According If the specified condition is true the byte XNZVC to specified by the EA is set to all ones Te Condition otherwise the byte is set to all zeros Opword Format 1514131211109 87 6 54 32 10 0 1 0 l1 Condition 1 1 Effective Address Mode Register The condition field is specified by one of the 16 codes given by the CC table The effective address field specifies the location of the T F byte The following
209. evice that can be interfaced easily to any microcomputer When the mouse is moved on a table top the cursor or pointer moves on the computer screen The mouse has two butttons to draw lines on the screen The buttons also used to identify move and position symbols Price 180 00 in single quantities 72 00 in quantities above a thousand Includes instruction manual Available 3G Company Inc Rt 3 Box 28A Gaston OR 97119 503 662 4492 Name Hypercartridge System Atari 400 800 Memory 16K Description Hypercartridge gives hobbyists the ability to make their own cartridges at home Software firms can market extensive ROM based cartridges for use with 8K RAM or more computers without disk drives It comes with four low profile sockets for 24 pin ROMs or EPROMs chips not included two pin select logic chips and a capacitor Hypercartridge can be used in two configurations with any combination of 2532 EPROMs and 2332 ROMs or with two Atari ROMs and two 2532 EPROMs or 2332 ROMs Price 39 00 unit quantity discounts available Includes configured cartridge without EPROMs ROMs Available ChameleonTM Computing Dept of Physics and Astronomy Box 119 P Dickinson College Carlisle PA 17013 717 245 1717 Name Computer Practice Keyboard System Description The printed key board is used to practice special function key locations No 57 February 1983 and to become famili
210. f the data registers is used as a counter and when the value in that register reaches 1 the instruc tion immediately following the DBCC instruction is executed DBCC is useful for implementing a loop while a condition is true in the CCR The Set According to Conditions SCC is an instruction that tests the particular bits in CCR and sets the byte specified by the EA If the condition is not true the byte is set to zero 75 STATISTICS PURE AND SIMPLE HUMAN SYSTEMS DYNAMICS Human Systems Dynamics programs offer you flexibility accuracy and ease of use You can purchase from the HSD statistics specialists with complete confidence Any program that doesn t suit your needs can be returned within 10 days for full refund NEW STATS PLUS 200 00 Complete General Statistics Package Research Data Base Management Design and Restructure Your Files Count Search Sort Review Edit Add Delete Merge Files Compute Data Fields Create Subfiles Interface with other HSD programs Produce Hi Res bargraphs plots 1 5 way Crosstabulation Descriptive Statistics for all Fields Chi Square Fisher Exact Signed Ranks Mann Whitney Kruskal Wallis Rank Sum Friedman Anova by Ranks 10 Data Transformations Frequency Distribution Correlation Matrix 2 way Anova r Rho Tau Partial Correlation 3 Variable Regression 3 t Tests ANOVA II 150 00 Complete Analysis of Variance Package Analysis of Covariance Randomized D
211. f the instruction immediately following the JSR instruction is pushed onto the system stack and the program continues execution at the address specified Opword Format 1514131211109 87 654 3210 0100 1 1 1 O 1 O Effective Address Mode Register The effective address mode specifies the location of the next location The following address modes cannot be used 1 2 4 5 12 13 14 continued No 57 February 1983 Table 1 continued Mnemonic Data Size CCR Name Comments RTR Return and The PC and CCR are pulled from the stack and CCR Restore restored XNZVC Condition pulled from Codes Opword Format stack 15 1413121110 9 87 654 3210 01001110011 1011 1 RTS Return from The PC is pulled from the stack and the previous CCR Subroutine value of the PC is lost ANANG Opword Format 1514131211109 87 654 3 2 1 0 01001110011101041 TAS 8 Test and The TAS instruction sets N if the most CCR Set an significant bit of the data is set and clears N XNZVC Operand otherwise The Z bit is set if the data is zero 00 Opword Format 15 1413121110 9 87 654 3210 0 100 1 0 1 O 1 I Effctive Address Mode Register The following address modes cannot be used 2 10 11 12 13 14 Addressing modes will be covered in future issues Table 2 Program Control Instruction with tests Mnemonic Data Size CCR BCC 8 16 offset displacement DBCC 16 offset displacement CCR XN
212. f word processing you have no choice but The Genius At only 1695 we ll ship free in U S it includes an 80 column board a special pro gram to make it compatible with Word Star and your choice of B W amber or green screen only one What makes this monitor so special is that it displays a full 57 rows This means you can see a full page displayed just like it will be printed This is unheard of for the Apple 113 ULTIMA Il SPECIAL The hottest new game out is On Line s Ul tima Il at 59 95 Here s a special you won t beat Buy any item from us no matter how small and you can have the Ultima I for only n 37 99 This special ends April 30 1983 Included in Ultima II is the fanciest packaging ever done by On Line a beautiful four color 17x22 cloth map suitable for framing two M disks three sides and hours of fun 1114 NEW COMPUTER Werre in the process of installing a new Sage computer to run our business This 16 bit 68000 computer combined with Flexware soft ware also available for the Apple will allow us to have the fastest system ever installed by any mail order business In less than the time it takes to type your name we ll be able to tell you the status of your order call up any invoice in the last year tell N you shipping cost for any hardware item when back ordered items will come in and much more We re quite excited about it and will be sell ing Sage and Flexware and doing custom pro
213. for the TRS 80 Color Computer etc Commo Norm C User Notes pg 14 19 Discussion of Intersoft Version 1 0 a small C compiler for the 6809 Watson Ernest Steve and Brady Dale Home Accounting Program pg 20 23 Part of an accounting system for 6809 systems 113 The Rainbow 2 No 4 October 1982 Ridge Herbert B Pope Gregory Would Like This Calendar pg 8 12 A calendar program for the TRS 80 Color Computer Inman Don Let s Learn How to Use Graphics with CoCo pg 14 17 A graphics tutorial for the 6809 based Color Computer Garrett Ron Key Checks to Various Accounts with This Pro gram pg 20 24 A Color Computer program to allow you to designate spend ing areas for a check or payment into different categories for business expenses ACRO No 57 February 1983 68000 280 8080 8086 8088 APL Ap II BABBLE Ap II CEEMAC Ap COBOL Ap Plus OSI 6809 68000 OSIC 3 5 Ap Plus FOCAL 65 Ap 0 SYM AIM OSI KIM FOLIO KIM 1 FORTE Ap I w Integer FORTH Ap Plus At Ap Plus 07 TRS 80C Ap 6809 SSYMA 6502 Apl H oc osi 68000 6809 COM 64 Wic 20 7 05650 3 PET TRS 80C Plas 051 63 4 Language Packages Editor s Note This list of Language Packages is not meant to be comprehensive Ada Compiler
214. ft ware is somewhat like reading reviews of recordings of contemporary classical 86 music Since there is no standard of ex cellence for comparison the reviews may tell more about the reviewer s bias than about the quality of the product A number of institutions are trying to cope with the problem by assembling libraries for preview of programs There are obvious problems with guaranteeing respect of copyright Also many of these institutions have spent their whole budget on hardware and are relying on donated software We esti mate that it will take close to 1 000 such centers to adequately cover the country No small supplier of software will be able to supply that number of free copies A number of the textbook publishers have entered the educa tional software field Their products tend to place heavy emphasis on the most routine kinds of drill heavy use of multiple choice or numerical answers with elaborate record keep ing These programs are protected in ways that also prevent teachers from customizing them for their own class rooms Time will tell whether or not the publishers will find a way to com bine their mass marketing approach with the individualization that charac terizes the best educational applica tions software Next we turn to general systems software with educational applications Word processing systems have obvious educational utility Current practice in composition courses is to emphasize the
215. g Perfect typing not all that easy for a five year old is required no unnecessary spaces are allowed The child must also be reading fairly well to run the program on his own Skill level required Reading ability and interest in com puters Five years old might be too young Reviewer Phil Daley MICRO No 57 February 1983 The DOS Enhancer TDE System Apple II DOS 3 3 ROM RAM card Memory 48K Language Machine Language Hardware Disk II Description The DOS En hancer TDE utility creates copyable DOS 3 3 disks that start up directly and quick load a RAM card in 1 8 sec onds Its remarkable speed and efficiency comes from fixing all known bugs rewriting DOS including the file manager for enhanced speed of operation and assembling the resultant new TDE Quick DOS Compatibility with stan dard Apple DOS 3 3 programs is maintained Price 69 95 Includes utility disk training support disk and complete documentation Author Art Schumer Available S amp H Software 58 Van Orden Road Harrington Park Nj 07640 201 768 3144 Name Advanced X Tended Editor System Apple II Apple II Plus DOS 3 3 Memory 48K Language Applesoft Description The Advanced X Tended Editor AXE is a professional programming aid that provides the user with a text editor style extension to the standard Applesoft oper ating system AXE is called upon by one of over thir
216. g a directory of sorts What serves to make the use of this disk operating system a bit more dif ficult is that the sectors written by fig FORTH may not be accessed by or through the FLEX operating system ex cept through a sector dump utility Included in the fig FORTH system is a line editor that allows you to access and change information stored in screens Some of the more advanced systems have a screen editor that is a bit more convenient than the fig line editor 62 When you write a program or ap plication you edit some screens put ting your word definitions on them You may at any time load a range of screens which causes them to be com piled so the program may be run Therefore you can debug your program interactively running and editing screens alternately There is a screen buffer that can hold from two to several screens so they don t have to be writ ten to or read from disks for every change FORTH keeps track of whether a screen has been updated and won t let it be overwritten in the screen buffer without automatically rewriting it to the disk That is a very handy feature Fig FORTH as supplied has the source code for FORTH and some FORTH screens that must somehow be bootstrapped into the system to get the editor working The disk operating sys tem ties to FLEX and is compatible at the disk driver level I have the fig im plementation and have typed it in and gotten it up and running If you are new
217. ge spikes utilizing Zener Ray Green red LED power status indicator Green normal line power Slow blinking red at least 6 minutes of remaining standby power Fast blinking red approximately 2 minutes of remaining battery power Solid state technology unexcelled by any UPS power unit in its class SEE YOUR RH ELECTRONICS ELECTRONICS INC PRODUCTS DEALER FOR YOUR APPLE ANI COPYRIGHT 1981 PATENTS PENDING SUPER LN W ZENER RAY 566 IRELAN BUELLTON CA 93427 SUPER RAM 125 00 TOS RH 12 VOLT TRANSVERTER 22 149 00 805 688 2047 FOR MICRO COMPUTERS GUARDIAN 595 00 About the Cover HUMBER OF FISH KILLED zo eACcrroo na x e ACTU m N B PROJ S Aquarium personnel now use micro computers extensively for research education and cataloging data The bar graph on this month s cover is a sample output from a computer used to moni tor levels of toxic substances in ocean water Other ways that microcomputers are being employed to improve the marine environment are as diverse as tracking whale migration patterns and feeding sites to regulating tank feedings with tidal rhythms Special thanks to the research department at Boston s New England Aquariaum for the time they spent with us discussing their work Cover photo Phil Daley Cover Graphic Generated by program written by Art Arizpe MICRO
218. gnature sa tila mies in taht PASCAL PASCAL MICRO Data Sheet 13 These tables summarize the rules syntax for writing Pascal programs These rules define most of the UCSD Pascal language In standard use The ovals containing upper case are Pascal keywords the lower case entries are programmer supplied names Program PROGARAM A_ identifier Or EX Block unsigned integer PROCEDURE Identifier L_ FUNCTION identifier parameter 7 type Identifier parameter list NOTE Words or symbols that appear in ovals are required objects that appear in rectangles are defined in other diagrams Statement unsigned integer variable function identifier expression procedure identifier O 2 expression procedure identifier REL O WHILE variable identifier CASE THEN UNTIL expression bo expression DOWN TO 8 WITH O GOTO Parameter List unsigned integer O FUNCTION PROCEDURE XO identifier VAR ees 8 type identifier identifier e T dt du 4 a lt Q 22 lt Pa Com E e ueBe1u peubisum
219. graphics and sound 9 95 CPV 210 Bidder 13 95 CPU 87 Memory VIC challenges your memory 9 95 CPV 217 Cash Flow Model determine cash tow 12 95 CHUBB Match hang eye 7 95 CPV 220 Client Tickler 16 95 CPU 89 Monks a devilish game of logic 7 95 CPV 221 Club Lister 13 95 CPU 108 Bomber you must decide who you want to fly for 9 95 CPV 224 Depreciator 9 95 then pick a target and your experience level CPV 236 Investment An lyst track of investments 12 95 eee s Gen Ine IAL der 20 95 gt CPU 153 Tank vs UFO the tank i ing back and forth CPV 251 Present Value 10 95 along the base shoot the UFO before it shoots jou 939 CPV 269 Super Broker 12 95 CPU 194 Snakman Pacman for the VIC 14 95 CPV 270 Syndicator caiculates whether to buy or sell 13 95 Defender on Tri you re the pilot of the experimental ship Defender 17 95 CPV 274 Ticker Tape maintains investments profile 14 95 3 D Man the popular arcade game requires 3K 17 95 CPV 276 Un Word Processor screen editor 16 95 Exterminator game full of bugs 20 95 CPV 286 Phone Directory never lose a phone number again 9 95 CS 111 Checkbook nome utility program 14 95 GAMES FOR YOUR 64 CPV 294 Calendar My Appointments print a calendar 14 95 CCS Cribbage 17 95 every month in any year i CPV 296 The Budgeter piace your personal finances in order 12 95 Flight 64 what a program casseta ieee CPV 927 HESCOM artes aia
220. he capacity of this array Unless your list is highly volatile a dimensioned size of NR 10 should be adequate Array sizes are de fined in line 2070 of the set up module Reading the Key File To be useful key file information has to be in memory during the pro gram run and on diskette preserved for future use Further when its informa tion is changed the disk copy needs to be replaced Naturally we want to do all this as quickly compactly and safely as possible The first aid to speed is that the key file is read only once per session if the currently needed key is already in memory from earlier use of this or another module it is not read again Variable GD got data keeps track of this for us 1160 IF GD lt gt 1 THEN GOSUB 4720 GD 1 REM READ IN KEY FILE IF HAVEN T Since we will always want to read the entire key file at once and in order it is kept in a sequential disk file When it is to be read this routine does the work 4710 REM READ IN KEY FILE 4720 DOPEN 9 D DD INDEX ON U UN 4730 IF DS THEN 1690 4740 INPUT 9 F NR NV ND 4750 IF DS THEN 1690 4760 IF NV 20 THEN 4790 4770 FOR 1 1 TO NV INPUT 9 K I IF DS 0 THEN NEXT GOTO 4790 4780 GOTO 1690 4790 IF ND 20 THEN 4820 4800 FOR 1 TO ND INPUT 9 1 DS 0 THEN NEXT GOTO 4820 4810 GOTO 1690 4820 DCLOSE 9 In BASIC 2 substitute 4720 OPEN 9 UN 9 DD INDEX SEQUENTIAL READ MICRO 4725 GOSUB 60010 REM C
221. he most elaborate is Bell and Howell s PAS system PAS provides the widest range of formats and ways to in clude true flexibility in answer process ing although the latter requires some thing very close to programming PAS Microcomputer based your own Apple I microcomputer Easy dota entry Comprehensive data analysis Complete editing capabilities Easy to use Programs ore user friendly menu driven and interactive No special computer expertise is required Coll or send for more informotion today SCENT SGFTWARRE ASSOCIATES LTD SUL TELEPHONE 75 B5 o OEB 208 RIAUSAU Kil Apple is registered trademark of Apple Computer Inc 88 AWARE ASSOCIATES LTD a cj z Questionnaire Analysis Software Avoid the expense of contract services do everything in house on Avoid time consuming keypunching Uses respondent morked cards entered with an Optical Mark Reader keyboard entry also possible Son on any variabie s tally all responses conduct cross tabs correlations lineor regression frequency distributions ond more cust Weight items derive composites add or delete items ond more also provides a variety of type styles and some graphics PAS also carries what must be the record price for microcomputer software 15 000 ed ucational or 20 000 commercial plus a healthy yearly fee If I were the in structor I d rather
222. he requirements of the data acquisition routine however it was possible to modify the machine language code from the GC program by deleting parts specific to the GC and adding a few routines for handling the timing and apply it to the spectro MICRO photometer system This commonality among applications in both software and hardware requirements is impor tant It occurs frequently and recog nizing it can save a great deal of time and effort Since the spectrophotometer gener ally scans a wavelength range during an analysis it is important to coordinate the sampling rate and the wavelength scan rate We chose to use a timer available on one of the input output chips 6522 of the PET CBM com puter With this timer it is easy to measure time intervals precisely and have the microprocessor interrupted at the end of each interval so that it can sample the spectrophotometer output By knowing the scan rate and keeping track of the number of sample points collected the wavelength for each point can be determined Once the computer has collected the data absorb ence or transmittance is easily calcu lated Details are available in the litera ture concerning the PET CBM input output ports and the 6522 One very significant advantage of this system over the use of a chart recorder is that the data can easily be stored either internally or on an exter nal mass storage device Therefore it is a simple matter to conv
223. hout waiting for the printer The RS 232 software sends characters out simultaneously with other VIC functions except serial port and cassette The too dumb part involves VIC s failure to use the CTS line In stead you have to handle the busy line yourself My solution to this problem gives up the advantages of the printing buffer The machine language program described here only allows characters to be output to the buffer at print speed It holds up printing to the buffer while the printer returns its print head This slows down RS 232 communications considerably but it works To intercept the characters as they are printed to the buffer the output vector at 0326 0327 806 807 must be changed For the routine used here they must be changed to point to the cassette buffer 033C 828 where our machine language program lives This vector can be changed either from BASIC or the keyboard POKE 806 60 lo byte POKE 807 03 hi byte Once you have built the interface and an appropriate cable the next step is to interface the software not a sim ple task Since I don t have a VIC machine language monitor I used an assembler on my Apple Listing 1 is the resulting assembly code Liberal com ments are provided so I ll only briefly describe the routine Two delay loops are used The first loop checks the CTS bit until 8F successive checks show it has gone high which means the printer is not busy The second delay execut
224. ield along with the number of its record in the main file This method provides the fastest access but uses memory quickly Therefore large pro grams usually store the key value on the disk accessing it there when needed Either way the key file is kept sorted at all times by the contents of the key field This allows records to be located with a binary search see Alfred Bruey s article on page 37 for more on binary searches a technique offering very quick access to information already sorted Here is the binary search used in the mail list 4460 FS 0 4580 1 4590 J NV 4600 IF 1 gt J THEN 4700 4610 K INT I J 1 2 4620 1 K K 4630 GOSUB 5320 REM READ KEY 4640 IF THEN 4680 4650 IF K lt KY THEN J K 1 GOTO 4600 4660 K K 1 4670 GOTO 4600 4680 RR K K 4690 FS 1 4700 RETURN MICRO by Jim Strasma Variable FS starts equal to zero and is changed to 1 if key value K exists in the key field Notice that array K contains only the numbers of records in the main file Subroutine 5320 returns the key field from the main file in variable KY 5310 REM READ THE KEY IN RELATIVE RECORD NUMBER 1 5320 RECORD 1 5330 IF DS THEN 1690 5340 INPUT 1 KY 5350 IF DS THEN 1690 5360 RETURN If you don t have BASIC 4 you will need to substitute for the RECORD statement above as described in part two of this series 56 52 By making the key field the first one
225. iginally built my expansion in terface to house the Assembler Editor and Extended Monitor in EPROM so they always would be available im mediately I wired in extra sockets so I could do the same with some assembly language games for my children I figured if video games have programs in cartridge packs so can my 1 The Assembler and Extended Monitor are now as accessible as ROM BASIC The Extended Monitor can be run directly from PROM but since the Assembler Editor has self modifying code it must be moved to RAM to run I wrote a short routine to do this automatically when I call the program The response is instantaneous The next logical question was if I can do it with machine language pro grams why not BASIC programs also Some obvious answers are that BASIC programs are stored in token form they tend to occupy more memory they de pend upon pointers in page zero that are set when the program is loaded and these pointers are modified as the pro gram runs None of these reasons seemed insurmountable although they were not without challenge I tried storing page zero along with the tokenized program and then load ing both into RAM when I wanted the program problem occurred since my storing and loading routines also used page zero and therefore modified what I wanted to save Also storing page zero required 256 more bytes of storage and more complicated code to handle it unless page two and three were stored whi
226. in each record it can be read with a single INPUT statement Note that the only difference in BASIC 4 between reading a field from a relative file and reading it from a sequential one is the RECORD statement preceding the read Keeping Keys Sorted Next let s consider the way keys are kept sorted At any moment there is no more than one key value out of order the one currently being added When a record is to be added to the file its key field is first checked using the binary search above to see if it is a duplicate of one already in the file This is not allowed in the mail list though some programs do permit duplicate keys Next another subroutine makes room for the new key in the K array that will become the updated index file at the end of the program run 2360 REM DO BINARY INSERT ON KEY K 2370 IF lt 1 THEN P 1 2380 IF NV 1 THEN K 1 1 GOTO 2490 REM EXIT 33 2390 EZ P 2 IF EZ gt NV 1 THEN 2 1 2400 FOR K P TO EZ 2410 1 2420 GOSUB 5320 REM READ KEY 2430 IF K lt KY THEN P K K EZ 2440 NEXT 2450 IF K gt KY THEN K NV RR GOTO 2490 REM EXIT 2460 E NV 2470 SYS DL O P E K 96 0 ZZ 2480 K P RR 2490 RETURN Lines 2370 2390 and 2450 handle the top and bottom limiting values The other lines perform a binary insert to find quickly the place where the new key field should go in the file Once located the SYS call in line 2470 opens
227. industrial con struction and cable Non self centering With polarity switches for consistent motion control List 59 ce 39 MONITORS FOR YOUR APPLE AMDEK 300G 18MHZ Anti Glare Screen 179 NEC 12 HIRES GREEN 179 SUPER SPECIAL SPECIAL 12 GREEN MONITOR 99 46 SPECIAL AND NEW 5 MEGABYTE HARD DISK For Apple 11 Supplied with controller Use with CP M Apple DOS amp Apple Pascal 1995 514 DISK DRIVE Use with standard Apple il disk controller 295 54 FLOPPY DISKS With hub rings Box of 10 1 With other purchase 19 35 Without purchase 23 00 16K MEMORY EXPANSION MODULE The preferred 16K RAM Expansion Module from PROMETHEUS Fully compatible with CP M and Apple Pascal With full 1 year parts and labor warranty List 169 75 WORD PROCESSING SPECIAL WITH WORDSTAR AND SUPERCALC Do professional word processing on your APPLE All Deest hardware and software included Complete 80 column video display enhanced character set 16K memory board Z Card with CP M software Wordstar and word processing software and SuperCALC List 1 128 Special at 695 Do ExpandaRAM The only 128K RAM card that lets you start with 16K 32K or 64K of memory now and expand to the full 128K later Fully compatible with Apple Pascal CP M and Visacalc No Apple modifi cation required Memory management system in clud
228. ine code file save routine This often is called the OSI checksum format but is really the MOS Technology Binary Loader which is recognized by many commercial PROM programmers The OSI Extended Moni tor calls this the SAVE routine You may wonder why you should go to all this trouble when a disk offers more versatility Some reasons are cost speed a 3K BASIC program takes 3 minutes and 14 seconds EPROM takes 13 seconds ease of operation for novice users absence of mechanical transports the fact that the program is generally crashproof and quickly re covers if a crash occurs and the need for less desk space and interface cables Some of the programs I find useful to have in EPROM in addition to games are a renumber utility a word processor a stock market monitor with a cassette data base that I update each week and brief programs I might want on short notice I installed a ZIF con nector at location 4000 to facilitate changing PROMs You could of course have a com pletely dedicated system with PROMs Diskettes as the only mass storage media Such system could be used in a process con trol environment or office that con stantly uses the same set of programs day after day with no changes The system could be programmed to boot and call a menu on power up Changing the output vector to load the program without displaying it would speed up the loading process by about 50 three or four sec
229. ing arrays to make smaller or larger arrays There is even a function called the domino for finding the least squares fit of data to a model equation Domino will also trivially invert a matrix Aside from being rather difficult to read APL s worst deficiency in my estimation is its primitive branching mechanism Its only branch instruc tion is a close relative of BASIC s ON X GOTO 1 N There is no IF THEN ELSE WHILE UNTIL etc in short no structured program ming This is not as bad as it sounds because APL s rich complement of built in functions and extensive use of arrays obviate many loops and branches However since it lacks the sorts of program flow control statements found 44 in most other more modern lan guages efficient APL coding requires a different programming style and mind set For example the array filling benchmark mentioned above is coded in BASIC as follows 100 DIM A 1000 110 FOR 1 TO 1000 120 A l 130 NEXT I In APL it is written as A 1000 1000 where the meaning of the above one liner is Assign to A the 1000 element vector formed from the integers 1 to 1000 It s not too hard to see why the APL interpreter makes such short work of this benchmark It scans one short line of source while the poor BASIC in terpreter is stuck with scanning lines 120 and 130 a thousand times As an example of how not to write APL you could
230. ing a Reverse Polish calculator ENTER puts the first argument on the stack The operator or x for example puts the second number on the stack and oper ates on the top two numbers removing 58 the two numbers that were there and leaving the result on top of the stack In the case of the calculator the top item on the stack is always displayed With this notation you can put a group of intermediate results on the stack and then perform the final operations Though the idea might seem a bit strange at first most HP users will testify that the operations may be per formed with little or no thought Several years ago Consumer s Report did a review of all the calcu lators available They downgraded the HP severely because of the strange notation In a note a few issues later they did a reverse It seems that every one who used the calculators eventu ally wound up looking for the HP because it was easier to get the correct answer on it FORTH as you may have realized by now relies heavily on a stack for all calculations All of FORTH s instruc tions in some way manipulate the in formation on the stack FORTH in structions are called words A word is defined by a colon definition A word may have any combination of ASCII characters as its name isa FORTH word meaning the same thing as PRINT in BASIC If you typed in the instructions 22 return FORTH would respond with 4 OK All FORTH wo
231. ingle Drive PRINTERS LETTER M CBM 8300 40cps guid MP Ae C PET Di blo 620 256DS ue one e Nec Spinwriter 7700 55 5 Nec Spinwriter 3500 35 5 PRINTERS DOT MATRIX CBM 4022 80 CBM 8023 150 cps graphics Okidata 82A 120cps serial or Nec BO23A parallel eae Bee No 57 February 1 INICRO From Here To Atari By Paul S Swanson Languages The language C offered in interpreter and compiler versions was recently added to the list of languages available to Atari 400 and 800 systems FORTH PILOT and several other high level languages have been available for some time But despite the large number of choices for languages the most popular seem to be BASIC and assemblers There are several versions of BASIC and several assemblers Of the assemblers the original cartridge ver sion from Atari can be implemented on even a 16K system which is an advantage for those who have not ex panded their systems to 48K Atari also provides a macro assembler I chose the Synassembler Synapse Software which assembles faster than the Atari cartridge and is less expensive Almost every Atari computer is pur chased with a version of BASIC usually the cartridge BASIC There is also a form of Microsoft BASIC for those of you who want to on your
232. ion you will get back the code you sent as if it were a RAM loca tion Therefore if you set the low order four bits as output and the upper four as input you can send a code out then read the input combined with the code you sent This makes scanning con trolers simple to set up in the soft ware The value you read is what you sent plus 16 times the value that your device sends back The plugs for those jacks are not easy to obtain You can get plugs that work from APX but they cost almost 7 each plus postage and you must have a minimum order Just check around in your area for a suitable store My source is Eli Computers in Cam bridge MA A ground and 45 volts are available also For larger projects it is best to have an independent power sup ply for your device According to Atari you can draw as much as 300 mA from these pins total not per port which should be enough to drive many smaller devices Thanks to Devin MacAndrew for calling my attention to an error in my November column The 64K board I mentioned according to the advertise ment he sent me is available from Mosaic Mosaic Electronic Inc Box 748 Oregon City OR 97045 and bank selects only above the 48K boundary using a 4K address space not used by the hardware registers or operating system Future Columns As many columns as possible will be based on mail I receive so by all means keep writing Please mention specific applicati
233. is a non blank character If it is a blank you know that the match has failed You don t need to return to the match routine so POP the calling address in side the match routine and RETURN to where the match routine was invoked If the character is not blank lines 164 166 replace the asterisk with in A put a slash in the same position in S and then go back to line 158 to find any other asterisks If not it RETURNS to the line that called it The choice of the slash as the mask was purely arbi trary I felt that it was unlikely to occur in things my students write You can change it to something else such as a control character or a non printing character e g CHR 92 the backslash As I planned the match routine I realized that the best way for me to pro ceed was to compare from the front to the first ampersand make a new string starting after the ampersand and com pare to the next ampersand etc If any section cannot be found the match has failed and the routine returns 0 To make things as clear as possible in the following discussion I call each part a segment I define segment as any part of A between two amper sands or between the beginning and 82 132 NEXT 77 RETURN 134 IF 77 4 78 THEN RETURN 138 28 Z GOTO 152 GOTO 144 142 NEXT 77 RETURN 144 IF Z Z8 THEN RETURN 1 THEN GOTO 152 150 RETURN 152 A MID A 21 1 154 IF 22 s 0 THEN GOTO 158 160 NEXTZ3 RETURN
234. is published monthly by MICRO INK Chelmsford MA 01824 Second Class postage paid at Chelmsford MA 01824 and additional mailing offices USPS Publication Number 483470 ISSN 0271 9002 Send subscriptions change of address USPS Form 3579 requests for back issues and all other fulfillment questions to MICRO INK 34 Chelmsford Street P O Box 6502 Chelmsford MA 01824 or call 617 256 5515 Telex 955329 TLX SRVC 800 227 1617 Subscription Rates Per Year U S 24 00 2yr 42 00 Foreign surface mail 27 00 Air mail Europe Mexico Central America Middle East North Africa Central Africa South America South Africa Far East Australasia New Zealand 42 00 48 00 72 00 Copyright 1982 by MICRO INK All Rights Reserved No 57 February 1983 INICRO Editorial Our language feature this month provides an appropriate forum for our Editor in Chief Bob Tripp and Technical Editor Phil Daley to express their opposing views on BASIC It won t take long to figure out who is pro and who is con What are your thoughts on BASIC Too Basic or Not Too Basic According to John Kemeny one of the originators of BASIC the main in tent was to provide the user with friendly access to the computer This emphasis on user friendliness is the key to BASIC s popularity The key word in Beginner s All purpose Symbolic In struction Code is the first one more microcomputer programmers start w
235. ith BASIC than any other language Without BASIC the microcomputer world would never have gotten off the ground Its simplicity forthright clarity memorable mnemonics and inter active friendliness combine to make it the best all round microcomputer pro gramming language When the micro had only 4K of ROM and 2K of RAM BASIC was a necessity even now with 64K and 128K RAM machines loading a monolith language returns you to limited memory constraints Other languages such as FORTRAN and COBOL make it easy to do pro gramming and to understand the pro gram Unfortunately microcomputers don t do them justice and all imple mentations become subsets of the mother tongue FORTH and assembly language overcome many of the limitations of BASIC especially its slowness but they are incomprehensible jibberish to most folks sometimes including the person who wrote the program I must also mention Pascal a fine structured language but the most ex asperating language in which to write a program The disk accesses even with three drives are incredible The routine load the editor load the file change the file save the file load the compiler compile the program run the program note the mistakes load the editor is enough to addle your brains Any program that knows enough to tell you that you forgot a semicolon on the previous line should be smart enough to insert one for you MICRO Give me BASIC any d
236. k a veritable gold mine of prac Foy tical information on how to build a variety of in IX terfaces for your computer lt Projects include Connecting VIC to your Stereo Pickproof digital tock Capacitance pS meter Liquid level sensor Telephone dialer Voice output 8K 16K RAM ROM expansion lt 2 128K RAM expansion amp bit precision D A 8 bit y A D converter MX 80 interface and more M Written by a college professor in a friendly PZ4 and informative style the Blue Book gives you theory of operation schematics program iwl listings parts list construction hints and Pay jects you want to get the most out of your VIC lt this book is a must Cost is 14 95 less than Pay 75 per project Price includes postage ej ERE BEBE SEBS 3 g Microsignal pe BOX 22 amp cwooo NY 10546 a Please send me a copy of the Blue Book Enclosed my check for __ M NAME E H ADDRESS Above prices include postage in the U S CA res add 6 tax Foreign add 2 BEEBE Eee NS UD UND US MICRO wPDIPU SENSE I CARD OARD ERINE UNIVERSAL CENTRONICS PARALLEL PRINTER INTERFACE FOR THE VIC 20 Now you can use your VIC 209 with an EPSON MX 80 printer or an OKI DATA printer or a TANDY printer or just about anybody s printer And you don t have to give up the use of your user port MODEM or change to spe
237. ke typographical errors also they may make responses to ques tions in a program that the author didn t anticipate such as sure in stead of yes The programmer must try to overcome these problems When he asks a yes no question for exam ple he may test the first letter of the response and if it is a Y he can assume the answer is affirmative He can use a statement such as IF LEFT A 1 Y THEN GOTO 999 and have the program branch ap propriately regardless of the answer YES Y YEP YEAH etc However when designing teaching materials for CAI Computer Assisted Instruction the programmer may find himself fac ing difficulties because of typographical errors and misspellings He must find a way to determine if the response matches what he is looking for The purpose of this article is to show some ways in which a match routine can be used to write CAI effectively and to present my MATCH algorithm writ ten in Applesoft and adaptable to most dialects of BASIC No 57 February 1983 The Match Routine Originally I wrote this algorithm in PL 1 for use on an IBM 360 Since I knew it worked there I translated it from PL 1 into BASIC rather than starting from scratch in BASIC Some of the logic shows its PL 1 parentage I followed IBM s method of using the match facility Partial Answer Pro cessing in their CAI language Coursewriter the will not match a blank character Sinc
238. keep the money and learn to program Finally we come to the area where educational software is weakest graphic design One problem is that the people writing educational software have no training in graphic design so they tend to ignore it The other prob lem is that the software for graphic design included in most development packages is comparatively crude Com puter languages often draw on common knowledge to make learning computer languages easier For example many languages use an algebra like syntax in numeric assignment The problem is that we have no generally accepted lan guage for graphics that can be trans lated into computer terms Both soft ware and hardware e g graphics tablets solutions have been tried but much remains to be done The next de velopment in educational software tools probably will be in the areas of graphics and speech generation ACRO MICRObits Deadline for MICRObits 20th of second month before publication i e February 20th for April issue Send type written copy 40 word limit with 25 00 per insertion Subscribers first ad at 10 00 Lessons in Algebra gt An easy and fun way to learn die basic elements of high school algebra Apple computer diskette 29 95 30 day x noter pack guarantee if not satisfied George Earl 4 1302 So General McMullen Dr San Antonio TX 78237 Dynamite PETICBM Accessories Write protect awitches indica
239. l 3 2 is returned lt lt FACTORIAL 6 level 2 6 is returned lt lt FACTORIAL 24 level 1 24 is returned MICRO LANGUAGES es Note that each level has its own local N and the value of this N is multiplied by the value returned by FACTORIAL from the next level down Although recursion is usually a sim ple and elegant way to solve a program ming problem it is not always the best method to use In particular recursion tends to be inefficient A great deal of overhead is involved when entering a function and setting up the local en vironment both in execution speed and memory consumption If these fac tors are critical such overhead should be kept to aminimum Luckily LISP is provided with an iterative program ming capability called PROG Here is the definition of FACTORIAL using a PROG instead of recursion FACTORIAL LAMBDA N PROG PROD SETQ PROD 1 LOOP COND EQUAL N 0 RETURN PROD SETQ N SUB N 1 SETQ PROD MULT PROD N GO LOOP The first part of PROG is a list of local atoms to the PROG In the exam ple above PROD is declared a local atom Local atoms exist only in the context of the PROG and disappear when the PROG is exited When the PROG is entered their values are intially SETQed to NIL Each s expr in a PROG is evaluated in succession unless the s expr is an atom Such atoms are considered labels and are not evaluated
240. l Computer Part pg 254 260 A number of program listings for those without Extended Color BASIC in their TRS 80 Color Computer Degler Roger L LP VII Patch for the CC pg 304 306 An eight bit printer driver for the 6809 based Color Computer 102 Popular Electronics 20 No 10 October 1982 Anon 6809 FORTRAN pg 42 Running under FLEX and UniFLEX this compiler complies with ANSI FORTRAN 77 subset of FORTRAN 103 Call A P P L E 5 No 9 September 1982 Anon Enhancement to The Mill pg 75 MSM is an enhancement to The Mill Assembler Develop ment Kit that combines the features of ASMO9 ASMOSIO BIN and LOADOS Thus a stand alone 5 09 BRUNable 6809 assembler 104 Personal Computer World 5 No 9 September 1982 Anon Dragon 32 pg 40 41 The Dragon 32 is a 6809 based personal computer 32K RAM nine colors high resolution graphics etc 105 Commodore Microcomputer Magazine 3 No 4 August September 1982 Kutz Walt SuperPET Update pg 14 COBOL for the 6809 based SuperPET using extra memory single board upgrade 8032 to SuperPET accessing the serial port etc Staff Commodore News pg 21 Everything you always wanted to know about the 6809 based SuperPET and asked Questions and answers 106 The Rainbow 2 No 3 September 1982 Lester Lane P An Electronic Gradebook Can Make 82 83 Much Easier pg 8 14 A program for the TRS 80
241. l WORKS QUICK TRACE will show you it can show you WHY when it doesn t This relocatable program traces and displays the actual machine operations while it is running and without interfering with those operations Look at these FEATURES Single Step mode displays the last instruction next instruction registers flags stack contents and six user definable memory locations Trace mode gives a running display of the Single Step information and can be made to stop upon encountering any o nine user definable conditions Background mode permits tracing with no display until it is desired Debugged routines run at near norma speed until one of the stopping cond itions is met which causes the program to return to Single Step Price 50 QUICKTRACE was written by John Rogers QUICKTRACE is atrademark of Anthro Digital Inc QUICK TRACE allows changes to the stack registers stopping conditions addresses to be displayed and output destinatlons for all this inlormation All this can be done in Single Step mode while running Two optional diapiay formats can show a sequence of operations at once Usually the information is given in four lines at the bottom of the screen QUICKTRACE is completely transparent to the program being traced it will not interfere with the stack program or I O QUICKTRACE is relocatable to any free part of memory Its output can be sent to any siot or to the screen QUICKTRACE is c
242. l master it is necessary to identify student errors and diagnose them Diagnostics explain the specific error to the student so he can understand the error learn from it and hopefully not repeat it The author who designs materials with diagnostics has two basic choices for formatting the student s response some type of objective or con trolled questions such as true false multiple choice yes no etc or some type of open ended non controlled item The controlled type is comparatively easy to program although it does take time and care to develop effective materials But some types of teaching activities simply can not be done by a controlled question format As a foreign language teacher for example I want my students to use the language forms actively rather than merely to identify the correct form in a controlled format With non controlled items a stu dent may be asked a question to which he responds with a sentence It is im possible for an author to predict every possible variation of vocabulary ex pression and spelling that the student might use in his answer Most CAI pro grams scan the answer looking for a key word or two If the student has used 83 those words the answer is considered correct For this reason all the CAI languages with which I am familiar have some type of facility that enables the author to scan the student response What a Match Routine Does
243. l values Display set CCHAR to start 50 MICRO No 57 February 1983 en LANGUAGES Listing 1 continued window Finally STOP is the exit flag used in the main loop 0 continue SCR 79 1 EDITOR PRIMITIVES 2 INSERT CHAR end of line 3 ADDR SWAP CCHAK 3 Current addr chars to move EDIT implements the following 4 SWAP OVER SWAF End of line to move special function keys of the Atari 800 5 DUP IF If any chars to move right 6 2 DO For each char to move over i DUP 1 Cd OVER Lg in toward end Command Function ext one closer to blank 9 LOOF Until space opened in line delete Delete character be HE fore cursor 5s i or space 12 INSERT CTRL delete Delete current char 3 SIDE IF 63 ELSE 31 ENDIF Set end of line limit acter shrink line in 14 INSERT CHAR WRITE LINE Insert blank output line n 15 CURSOR SCREEN CURSOR 5 Set the cursor text window SHFT delete Delete current line 1 SCR 88 move rest up one line g EDITOR PRIMITIVES CTRL insert Insert space at cur 2 DELETE CHAR end of line sor expand line in 5 ADDR SWAF CCHAR Get addr chars to move 1 d w 4 DUF IF t If any chars to move left text windo 5 DO For each moving character SHFT insert Insert new line at 5 DUF 1 C3 OVER Move right to left 7 1 Next a
244. le as explained in part one of this series 55 37 If you want to save space for more names shorten this module and change the above line to match As supplied there is only enough main memory free to maintain about 1200 names even in disk drives far larger than the 4040 This is also about the size limit for a relative file on the 8050 disk drive i e six side sectors referencing 120 sectors containing 254 bytes of data each The 8050 file size limitation does not apply to other Commodore disk drives Using a Key File A relative file permits simple access to any record within a file as long as we know its position within the file relative to other records However that is rarely the case We are more likely to know the name we want than the No 57 February 1983 record number To deal with this most file handling programs use one or more additional files as indexes to the main file These files usually contain a value for each record in the main file The values are ordered in some way usually reflecting the alphabetic ordering of some field within the records of the main file Fields used this way are called key fields because they act as keys to gain access to the file In Bennett s mail list the key field is a combination of two fields the first ten characters of the last name followed by two char acters of the first name In smaller programs the key file may actually contain the contents of the key f
245. le rules and 63 levels of difficulty All machine code requires Joysticks Another great game by Dave Edson TRS 80 COLOR ONLY 16k and Joysticks required 19 95 CATCH EM by Dave Edson One of our simplest fastest funnest all machine code arcade games Raindrops and an incredibe variety of other things come falling down on your head Use the Joy sticks to Catch em It s a BALL and a flying saucer and a Flying 1 and so on TRS 80 COLOR 19 95 BASIC THAT ZOOOMMS AT LAST AN AFFORDABLE COMPILER The compiler allows you to write your programs in easy BASIC and then auto matically generates a machine code equiv alent that runs 50 to 150 times faster It does have some limitations It takes at least of RAM to run the compiler and it does only support a subset of BASIC about 20 commands including FOR NEXT END GOSUB GOTO IF THEN RETURN END PRINT STOP USR X PEEK POKE gt lt VARIABLE NAMES A Z SUBSCRIPTED VARIABLES and INTEGER NUMBERS FORM 0 64K TINY COMPILER is written in BASIC It generates native relocatable 6502 or 6809 code It comes with a 20 page manual and can be modified or augmented by the user 24 95 on tape or disk for OSI TRS 80 Color or VIC ALSO FROM AARDVARK This is only a partial list of what we carry We have a lot of other games particularly for the TRS 80 Color and OSI business programs blank tapes and disks and hardware Send 1 00 for o
246. lt in this row An Example Let s say you want to set up a work sheet to handle sales disks books less expenses fixed variable com pute the gross income subtract taxes and compute the net income You also want to break down the worksheet by the first three months of the year January through March with a grand total column for the three months BUILDIT prompts you first to enter the categories in the category maintenance mode You just enter each category JAN FEB and MAR one at a time There is no need to enter a grand total category because BUILDIT always generates it for you When you are done entering categories just enter Q for quit you are prompted for this in case you forget and BUILDIT will give you a chance to make any editorial changes in the category edit mode When you are done editing the categories just enter Q and BUILDIT will enter the item maintenance mode BUILDIT then prompts you to enter Figure 1 2B3 B1 B2 gt 43 GAMMA gt B2 5 gt 2 gt B1 10 gt 1 W1 GOC GRA GC9 X X Al Al MICRO Goto B3 and put the formula B1 B2 there Goto and put the label GAMMA there Goto B2 and put the value 5 there Goto A2 and put the label BETA there Goto Al and put the value 10 there Got 1 and put the label ALPHA there Set global parameter one window Set global order of recalculations to columns Set
247. ly cost you just a few cents each because of rather unconventional publication SoftSide s low one year subscription price of just 24 You see each month between the covers of SoftSide And right now you can pay even less than 24 for the next 12 issues of SoftSide Magazine It s easy Just type the one line of code we ve prepared for your system above into your APPLE ATARI or TRS 80 microcomputer Then type RUN and the unscrambled message on your monitor will tell you how much you can deduct from SoftSide s already low subscription price of 24 Fill in the coupon below and send it along with your payment and we ll send you the next 12 issues of SoftSide Magazine Coded Bonus Offer YOU PAY ONLY Enter Amount Send to SoftSide Publications Inc Dept M65 6 South Street Milford NH 03055 Your Order Reg Price EIZH 1 12 Issues Of SoftSide Magazine 24 i CODED BONUS Send me the 1 APPLE ATARI O TRS 80 Version Please check one If you do not the coded offer simply pay this amount You still save 1 3 off the newsstand price Payment Enclosed Bill me Yes SoftSide is the one computer software magazine can t CJ Check O Money Order C MasterCard D VISA afford to be without Name of Cardholder Name MC and Interbank VISA Address___ _ gt City State ZIP Si
248. month VIC BOOK Turn to PET Vet page 73 for details on our soon to be published book for the VIC STAFF President Editor in Chief ROBERT M TRIPP Publisher MARY GRACE SMITH Editorial Staff PHIL DALEY Technical editor JOHN HEDDERMAN Jr programmer MARJORIE MORSE Editor JOAN WITHAM Editorial assistant LOREN WRIGHT Technical editor Graphics Department HELEN BETZ Director PAULA M KRAMER Production mgr EMMALYN H BENTLEY Typesetter Sales and Marketing CATHI BLAND Advertising manager CAROL A STARK Circulation mgr LINDA HENSDILL Dealer sales MAUREEN DUBE Promotion Accounting Department DONNA M TRIPP Comptroller KAY COLLINS Bookkeeper EILEEN ENOS Bookkeeper Contributing Editors CORNELIS BONGERS DAVE MALMBERG JOHN STEINER JIM STRASMA PAUL SWANSON RICHARD VILE Subscription Dealer inquiries 617 256 5515 DEPARTMENTS 3 February Highlights 7 Editorial 9 Updates 31 From Here to ATARI 71 PET Vet 92 CoCo Bits 95 Apple Slices 98 Reviews in Brief Software Catalog Hardware Catalog 104 6809 Bibliography Information Sheet Data Sheet Advertiser s Index Next Month in MICRO No 57 February 1983 NO 57 FEBRUARY 1983 INICRO Advancing Computer Knowledge LANGUAGE FEATURE 42 47 54 58 62 65 SuperPET Terry Petersen An unusual but powerful
249. n Computer Publishii Apple is a registered trademark of Apple Computer Inc YES I want to get the First Word in Computer Publishing Send me 12 issues of MICROCOMPUTING for Farmingdale NY 11737 a die Oniy US Funds Drawa on l 24 97 O Check enclosed C MC O VISA O AE Bill me 731 RMC Card Cp Date Interbank Name Address City State Zip 997 Canada amp Mexico 27 97 1 Year Only U S Funds L 32 MICRO No 57 Februar Hn HN It s All Relative Using CBM s Relative Records Part 3 This third installment describes the use of a key file as an index into a relative file The author draws examples from the update module of a powerful mail list package available from the author and various user groups Last month we learned how to create relative files using the Create module of Chris Bennett s Mail List 4040 This time we will set up a key file as a framework for accessing relative files Our example is the Up date module of Chris Bennett s mail list As before you may want it handy as you read Cautions Bennett s Update module loaded from 4040 menu is the largest module in the package Be careful about changing it If you lengthen it more than a couple of lines you will need to increase the value POKEd into location 43 or your BASIC s equiva lent in line 1060 of the Setup modu
250. n it is repeated and separated by ampersands such as amp GRE N amp GRE N amp This will report a match if it finds just one occurrence of the string If the items are separated such as amp GRE N amp MACHINE amp GRE N amp it always reports no match These prob lems are caused by the need to check that the segments are in the right order They are the only limitations in the algorithm of which I am aware There may be others MICRO As indicated above I followed the lead of IBM s Coursewriter in not allowing the asterisk to mask a blank If you would like the asterisk to ignore a blank as well as any other character change statement 162 to REM When items are separated by the ampersand they must be in the order that they appear in A If order is unim portant so that amp COMPUTER amp MACHINE amp should give a match no matter which order the two words are in change statements 134 and 144 to REM I have not tested the accuracy of all possible combinations when lines 134 144 and 162 are all chanaged to REM Uses for the Match Routine There are various types of CAI One is drill and practice in which the student is given quick rapid fire drill on items that have one right answer Another type is called tutorial which serves as a tutor to the student giving practice but also supplying ex planations to the student If the CAI program is to act as an effective tutor rather than a dril
251. nce is used Si T qe to add special functions which do not 8 MOVE UF Move up the display have Atari keys to EDIT The first POREENCEURSUR S Inverse video cursor pos i8 escape character starts the execution of 11 UP CURSOR 9e the FORTH word ESC ESC like EDIT is eee oe GaBE Ore Gury ene 15 EUP move up new cursor uses a CASE statement to allow the 14 next key input to select a special func ix ion Di i nc tion Different classes of special fu em tions can be added easily to EDIT with this technique This is one of my first fig FORTH applications and the expert FORTH coder may notice how little the stack is used as word inputs Old pro gramming habits die hard Even so there are only four important variables used in EDIT CLINE and CCHAR maintain the current line and current character position in memory and on the text window display SIDE keeps track of whether the left side SIDE 0 SCR 4 76 CURSOR MOVEMENT PRIMITIVES 1 MOVE DOWN CLINE 3 1 15 AND CLINE WRITE EXTRA Move down a line 15 Save new wraparound by AND Add extra text line DOWN pessi MOVE DOWN SCREEN CURSOR Move down a line Set new cursor video pos ee 00 0 0 UN DOWN CURSOR m SCREEN CURSOR DOWN Restore video cursor pos Move down set new cursor m m AN un EDITOR PRIMITIVES or the right side SID
252. nd signal generating equipment from a number of large manufacturers including Hewlett Packard Tektronix and Fluke Some of these companies also supply sophisticated and expensive microcomputers and programmable calculators that can act as instrument controlers using the 488 bus The PET CBM micros cost considerably less and are therefore an attractive alternative for use with scientific instruments The disadvantages of the PET CBMs are twofold the graphics resolution is poor when compared to a Tektronix 4051 which has a 1024 x 780 point addressable display and second the I O techniques using logical files have limitations when used with equipment other than disk drives and printers The resolution problem has been tackled in a variety of ways from sim ple plotting programs that offer a small improvement to the addition of expan sion graphics memory The problem of improving the I O control is the object of this current utility program The Tektronix 4051 4052 systems offer two levels of control High level control of the bus uses the commands PRINT Q X Y a b c etc INPUT Q X Y a b c etc No 57 February 1983 0091 2002 0003 8004 2005 2096 9097 9008 9069 0016 2011 2012 2913 0014 0015 0016 99017 2018 9919 8820 8021 9922 9023 9024 9025 9026 9027 0028 0029 9030 9031 2032 9933 0034 8035 2036 0037 9038 3839 0049 9041 9042 9043 9044 9045 9046 9047 0048 9049 9051
253. nfiguration Never a need to remove equipment from case Simply remove lid connect power and operate AP101 Apple II with Single Drive 109 AP102 Apple Il with Two Disk rives 1 Apple Il 9 Inch Monitor amp o Drives AP104 Apple Two Drives amp llentype Printer 119 AP103 139 AP105 13 Monitor with Accessories 99 AP106 AMDEK Color Monitor 119 RS201 TRS 80 Model i Expansion Unit amp Drives 109 RS204 TRS 80 Model III 129 AT301 ATARI Computers with Peripherals 109 P402 Centronics 730 737 amp Radio Shack Printer 89 P403 Epson MX70 80 or Microline 82A 89 P404 Epson MX100 Printer 99 P405 IDS 560 or Prism 132 Printer 109 P406 Starwriter Printmaster F 10 Printer 119 P407 Okidata Microiine 83A or 84 Printer 99 P408 Prowrlter 2 Printer 99 P409 Prowriter Apple Dot Matrix Printer 89 IB501 IBM Personal Computer 129 18502 IBM Monitor 99 HP601 HP41 with Accessories 99 CM703 Commodore Model 64 with Drives 119 CM704 Commodore Model 64 with Dataset 109 NS010 North Star Advantage 139 CC80 Matching Attache Case 5 85 CC90 Matching Attache Case 3 75 CC91 Matching Accessory Case 95 CC92 5 25 Diskette Case 49 computer case company 5650 Indian Mound Court Columbus Ohio 43213 614 868 9464 CALL TOLL FREE 800 848 7548 94 INCRO CoCo Bits By John Steiner This month s column looks a
254. ng experience and is most unwelcome in a textbook Accessible Programming When Kenneth Iverson invented APL FORTRAN was practically the only high level language available for scientific programming At that time FORTRAN dialects were very restric tive and demanded that the program mer be a fairly sophisticated com puterist Even if you could get your pro gram to compile successfully there was a good chance some esoteric fea ture of the compiler s method of inter nal number representation would give unexpected results The main intent of Iverson s new language was to make programming more accessible by freeing program mers still presumed to be mathe matically oriented from mundane con siderations such as whether or not a number is stored in the computer in in teger or floating point form or whether or not a particular variable is a scalar or an array of dimension x APL achieves this intent the same APL variable may contain at different times during pro gram execution integer floating point or even character data and it may become a scalar or an array merely by assigning such data to it very power ful side effect of this lack of type is that an APL function may retur with no difference in coding scalar vector or array results depending only on given argument s Compared to other languages of the 43 early sixties APL is certainly a paragon of versatility Even today I
255. nix this command behaves exactly as WBYTE The command sends with ATN set the absolute primary address of the value of X and the absolute secondary address of the value of Y By No 57 February 1983 absolute I mean that the address is sent as is and is not first converted to a talk address by setting bit 7 or a listen address by setting bit 6 The byte variables a b and c are then sent without ATN These one byte vari ables or expressions must have values between O and 255 to be valid The minus sign before the variable c causes the EOI line to be set as this byte is sent Depending on the particular device this may be necessary to signal the end of transmission to the ad dressed device Note that the command does not send UNLISTEN or UNTALK and the addressed device s continues to take part in transactions on the 488 bus MICRO This means that one talker and one or more listeners can be set actively on the bus with or without the controller the PET CBM taking part in the sub sequent data transactions When the process is finished it may be necessary to send UNL UNT using the command PRINT 63 95 This will force all previously addressed talkers and listeners off the 488 bus The Tektronix RBYTE command means readbyte and is exactly im plemented here using the syntax INPUT a b The use of this command requires that a 488 bus device must have been previously addressed as a talker using
256. not control returns to BASIC You can change the number of MECHANICAL SWITCH IN RECORDER TO RECORDER CUT FOIL AT Xs lines printed by changing the data in 7FF2 When 14 lines have been printed control jumps to the GETKEY routine in BASIC The program loops while waiting for a keypress after which the count is reset to zero and control returns to BASIC Other applications for this particu lar RAM hook come to mind For exam ple it would be easy to supply a line feed after the BASIC generated carriage return for those printers that need it Bob Gilbertson of Fargo ND pro vided me with the circuit in figure 1 This circuit is a modification that allows the connection of high current drain cassette recorders to the light duty relay inside CoCo If you use a standard Radio Shack series recorder you don t need this modification but if you can t bear to spend money on a new recorder while an older machine just sits on the shelf you can use this circuit The RS recorder has a very light current drain and the relay provided is more than adequate If you use a re corder with too much current drain 00100 PAGER PROGRAM 00110 JOHN STEINER 00120 NOV 8 1982 00130 ORG 7FE6 00140 LINCNT EQU 7FE6 00150 DEVNUM EQU 6F 7FE6 00 00160 FCB 00 OD 6F 00170 START TST DEVNUM CK FOR LLIST 7FE9 26 14 00180 BNE QUT IF SO THEN GO IPEB 7C 7FE6 00190 LININC INC LINCNT ADD 1 TO LINE 7fEE B 7FE6 00200 LDA LIN
257. nput4 chrget Sbaaa Sbbb4 bacbas temp3 77 b2 78 5020 77 y 1 99 b5 85 1 temp3 chrgot 500 byte 2c al lda sta beq beq jsr jmp lda bne rbywby wby jsr beq jsr jsr stx lda jsr jsr beg jsr stx stx jsr lda and sta jsr jsr atnhi 522 temp4 chrget 540 inout 0521 rbywby chrdec bacbas temp4 rby cnrget 1530 out2 chrdec c3d1 d4 6090 027 chrgot 4 3b atnhi c8d1 43 a5 109 5 fd e840 e840 148 chrget check for get byte sa to xr sa 5 into ieee buffer send sa Clear atn high check for send cr end input on cr send cr lf ignore cr on inp check if input input data send data unl buss reset i o return to basic save y check for print check for input restore back to basic set output flag dummy op bit 2c Set input flag store flag check for check for reset chrget pointer check i o flag check for semicolon no addr sequence get byte to xr prim addr save send pa as is Set atn send pa check for semicolon S a so clear atn get byte sa to xr Sa store ieee output buffer send byte to ieee set nrfd low atn off high look past semicolon 2 flag set if binary zero or colon beq jsr lda ora sta out2 outbyt jsr beq jsr emp beq jsr jsr stx jsr jmp ou
258. ns Mnemonic Data Size CCR Name BRA 8 16 Branch offset Always displacement CCR XNZVC BSR 8 16 Branch to offset Subroutine displacement CCR XNZVC JMP ul Jump i CCR XNZVC JSR 27 Jump to CCR Subroutine XNZVC MICRO Comments The program will always continue executing at the PC displacement The displacement is either 8 or 16 bits and is in two s complement form the displacement is measured in the number of bytes Opword Format 151413121110 9 87 654 3210 0110000 o 8 bit displacement 16 bit displacement The 16 bit displacement is zero if the 8 bit displacement is used The address of the instruction immediately following BSR is stored on the system stack The PC is loaded with PC displacement The offset displacement is either an 8 bit or 16 bit displacement and is expressed in two s complement form Opword Format 15 1413121110 9 87 6 5 4 3210 16 bit displacement If the 8 bit displacement z ro the 16 bit displacement must be used Note a zero isplacement cannot be used The program will continue to execute at the address specified by the instruction The address is specified by the addressing modes Opword Format 1514131211109 87 6543210 01001 1 1 0 1 I Effective Address Mode Register The effective address specifies the address of the next instruction The following address modes cannot be used 1 2 4 5 12 13 14 The address o
259. ns a keyboard type ahead buffer and print buffer utility A sim ple menu driven installation program is included on the un protected disk Price 30 by mail order only Includes program disk and documentation Author Bill Basham Available Diversified Software Research Inc 5848 Crampton Ct Rockford IL 61111 Name Stellar Shuttle System Atari 400 800 Memory 32K disk 16K cassette Language Machine Language Hardware Joystick Description Assigned a dan gerous rescue mission to the planet Ttam you maneuver your space shuttle from the mother ship and begin a MICRO perilous descent to the surface attempting to avoid streaking asterpods along the way Retro rockets control your rate of descent to the narrow landing wells on the planet s surface where hostages eagerly wait for your arrival The rockets also provide your only defense against pesky dragons that have a taste for Ttamians and will do their best to thwart your attempt to rescue the hostages and transport them safely to the mother ship Four different levels of play are available Price 24 95 Author Matt Rutter Available Broderbund Software Inc 1938 Fourth Street San Rafael CA 94901 415 456 6424 Name Veecee Writer System Apple II Plus DOS 3 3 Memory 48K Language Applesoft Hardware Disk drive Description Veecee Writer translates VisiCalc PF files for Apple Writer Price 15 00 Includes instructions an
260. ns can be used Flats sharps naturals key signatures dotted notes double dotted notes triplets repeats and rests are all easy to use sample program line is shown below 10 SGN 2 B5 8 C 16 D E F G A6 B2 Tempo and volume can be changed at any point during the composition You can also program a portamento as if it were a regular musical note A portamento is a continuous sweep up or down in the pitch of a note The rate of sweep can be selected with a multiplier parameter The three voices are indicated with and prefixes As with octaves and note durations these designations are inherited by the next note unless otherwise changed The Synthy 64 in terpreter has a read ahead feature that No 57 February 1983 DECAY VOLUME SUSTAIN Figure 3 Envelope TIME makes it easy to keep the three voices synchronized There is no way to in dicate measures but this can be done by adopting the convention of using separate lines for each measure That s all you really need to do some impressive three part composing The attack decay sustain release waveform filters etc are set up with default values that produce a piano like sound In addition the skeleton pro gram includes convenient subroutines for flute trumpet banjo accordian and piano sounds All of these registers as well as ring modulation and synchro nization can be controlled with simple commands to set up your own sounds
261. ntically meaningful P lists also are used to store func tion definitions LISP determines whether or not an atom is a function by checking the atom s p list for the EXPR or SUBR property If the function is an EXPR the property value is the func tion definition if it s a SUBR the prop erty value is implementation dependent usually the address of the MICRO interpreter subroutine that evaluates the SUBR One way to have a LISP function create other functions on the fly is by PUTting the function defini tions on atom p lists There is still a great deal about LISP and its applications that are beyond the scope of an introductory article Hope fully your curiosity is piqued enough to want to learn more about this unique and fascinating programming language The P LISP package published by Gnosis Inc is a worthwhile invest ment for those who own an Apple and want to become part of the world of LISP References 1 Allen John Anatomy of LISP McGraw Hill 1978 2 Bagley Steven and Shrager Jeff The P LISP Tutorial Gnosis Inc Phila delphia PA 1982 3 Horn B and Winston Patrick LISP Addison Wesley 1981 4 Siklossy L Let s Talk LISP Prentice Hall 1976 5 Winston Patrick Artificial Intelli gence Addison Wesley 1977 You may contact the author at 1041 Penn Circle F 606 King of Prussia PA 19406 MICRO C64 FORTH for the Commodore 64 Fig Forth implementation including
262. nx 3a lda 3a 7c 92 sta 027c x dl 7f jsr varval 76 900 jsr chrgot cf bne input4 df 7e jmp print3 20 inout lda 00 96 sta 50096 dl c8 print jsr c8dl d4 stx d4 b stx S bf af stx Saf 7b 02 lda temp4 27 beq inout2 txa d2 f jsr f d2 clc g4 bcc print2 inout2 txa ds f jsr Sf0d5 76 0 print2 jsr chrgot 3b cmp 3b MICRO jump to start 7y Store i o flag output 22 input rby buffer iquote delimiter colon delimiter 5 5 32327 to setup change top of strings and top of memory put jmp 4c in chrget adjust to point at start go past delimiter get byte from ieee Store byte in buffer check was used M so don t check for cr check for cr cr So end input check i full buffer full so quit Status word check eoi no eoi so continue quote colon assign value check for A input finished set status 0 get byte to xr output device number input device number check i o flag output send listen put pa into a talk addr routine branch always put pa into a listen addr routine check for semicolon 11 where is the IEEE 488 device primary address Y is the secondary address SA and a b and c are the variables to be output or input The utility program presented here follows this syntax with the single change of using a semicolon or a backslash in place of the colon The PET CBM rec
263. o be the foremost printer of the decade SPEED MX 80 80 cps for 46 full lines per minute throughput PROWRITER 120 cps for 63 full lines per minute throughput GRAPHICS MX 80 Block graphics standard fine for things like bar graphs PROWRITER High resolu tion graphics features fine for bar graphs smooth curves thin lines intricate details etc PRINTING MX 80 Dot matrix business quality PROWRITER Dot matrix correspondence quality with incremental printing capability standard FEED MX 80 Tractor feed standard optional friction feed kit for about 75 extra PROWRITER Both tractor and friction feed standard INTERFACE MX 80 Parallel interface standard optional serial interface for about 75 extra PROWRITER Available stan dard either parallel interface or parallel serial interface WARRANTY MX 80 90 days from Epson PROWRITER One full year from Leading Edge PRICE Heh heh Marketed Exclusively by Leading Edge Products Inc 225 Turnpike Street Canton Massachusetts 02021 Call toll free 1 800 343 6833 or in Massachusetts call collect 617 828 8150 Telex 951 624 LEADING EDGE For a free poster of Ace Prowriter s pilot doing his thing please write us
264. obscure Cherry outlines the major strengths and features of LISP as well as its structure Commodore In addition to the SuperPET article in our feature sec tion we have several PET articles and one on the VIC 20 Microcomputer Aided Instrumentation p 89 by Deborah Graves et al is a continuation of our series on Microcomputers in a College Teaching Laboratory Part IV Learn how to interface a microcomputer to two types of scientific instruments a spectrophotometer and a chromatograph If you want to convert Tiny PILOT to your 8K PET read More on Tiny PILOT by Arthur Hunkins p 78 The author solves a few tricky problems and provides detailed explanations of some of the com mands David W Priddle provides a utility program in TEEE 488 Control of PET CBM p 11 You can add four new commands to your PET CBM to make it an ef fective inexpensive controller for use with many scien tific instruments The program requires 4 0 BASIC And this month we present the third installment of Jim Strasma s It s All Relative p 33 Jim explains how to use the key file as an index into a relative file He uses as an example a powerful mail list package available to the public Our VIC 20 contribution describes the hardware and software needed to interface RS 232 devices to Com modore s VIC computer See Michael V Tulloch s article An RS 232 Printer for VIC p 17 You will also lean how to convert RS 232
265. of this discussion will assume your file is in order The binary search routine presented here can be used to find items on a sorted list You can also use this routine to find where you should place a new item The principle of the binary search is as follows note that in any of the steps below you are done if you get an exact match 1 Check the first item on the list If the value you re searching for is less No 57 February 1983 than this the item isn t on the list 5 Continue this process until you find Go to the middle value on the list If the item or reduce the list to one the value there is greater than your item search value you ve got the search narrowed to the first half of the list Subroutine Description If not you ve got it narrowed to the The binary search subroutine last half of the list shown as part of figure 1 lines 10000 Next try the middle value of the in greater performs as follows terval found in step 2 above Now 1 The value you are searching for is you have the search narrowed down put in NM to one quarter of the list 2 The file being searched is assumed to The next comparison will narrow be in array N the search to 1 8th of the list the 3 If the value NM is found in array next to 1 16th etc Therefore N its location is returned as the counting your compare with the first value of variable J The first item in item on the list you will have your array N
266. ognizes the colon as a statement separator This syntax has the obvious advantage that logical files are not used there is no need to OPEN or CLOSE files The out put has the following syntax PRINT 4 0 hello there a b c This command string sends to the 488 bus the primary listen address 4 and the secondary address 0 with the 488 ATN line set low true followed by the ASCII string hello there the current values of the variable a integer variable b96 and string variable c A carriage return is sent and the 488 bus is cleared by an UNLISTEN UNTALK command If a backslash is used in place of the semicolon a line feed is also sent with the carriage return If a printer with device number 4 is connected the string and variables will be printed The input command has the syntax INPUT Q29 24 a This command string sends the pri mary talk address 29 and the secondary address 24 Data is then input to the PET CBM until a carriage return is received the 488 EOI end or identify line is set low true or the input buffer is full The data is then assigned to the variable a There are three fea tures of this syntax that differ from the standard PET CBM INPUT no logi cal files are used the input buffer used is located in the tape buffers and is set to allow an input of 250 characters in stead of the usual limit of 80 charac ters and the command can be executed not only in a p
267. ol 23 22 ia 2732 OE 20 A12 5000 A13 6000 7000 A15 Rw 14 F 7 16 6 15 5 14 4 13 3 11 74LS04 2 10 RAN D 1 9 23 22 74LS02 e2 113 WR vol 2000 A11 Y1 2800 A12 3000 Y3 Lum 3800 A15 voL s A14 ve A13 Y2 T Y3 FROM U23 2 A14 FROM U22 3 A15 FROM 015 5 RW FROM U23 1 A13 12 26 Figure 2 FROM W2 11 MICRO No 57 February 198 Figure 3 Top View of PC Board Figure 4 Bottom View of PC Board o o o o o uw 9 9 9 O m TE o o o o P O09 o o o o o o OY OO o o 00 0 OO OO 0 0 6 0 0 90 0 0 0 o0 Q yi wi we No 57 February 1983 MICRO OHIO SCIENTIFIC modification Basically all that is necessary for the conversion is to remove 02 from pin 21 and replace it with All wire in new output enables to pin 20 and add the new chip selects on pin 18 The 2316 s use high logic levels for CS and therefore require the four sec tions of inverter U16 The 2732 s use low logic levels for CS or CE so the in verters are not used You should have confidence in your ability to make hardware modifications before attempting these changes The entire project can be done in one eve ning and will provide you with in creased performance f
268. ome and memory efficient addition You should be aware of several little quirks in the operation of Jump and Use Subroutine statements With J A Jump to last Accept you get an ERROR message if you attempt to jump back out of a subroutine you previously jumped into J A works fine as long as it is not inside a subroutine Also be sure to reserve J A for jumping to the last en countered A Accept statement A is a reserved label and any use of A as an ordinary label will result in an ER ROR message The referenced A state ment must already have been en countered in the program jumping ahead to A is not possible Note too that U A Use Subroutine starting at last Accept is not dependable Such a branch can be accomplished by giving the Accept statement a regular label such as ZA and referencing it U Z I would like to suggest two addi tional enhancements to Tiny PILOT First since the P statement generates only random integers from 1 99 get ting random numbers in any other range is cumbersome though possible An optional extension to the routine specifying a different range for exam ple P X 7 for a 1 7 span would simplify coding Second a numerical Match statement with positive and negative compare also would help compact code In any case if you have a PET CBM with Upgrade ROMs try Tiny PILOT It s a most worthwhile educational in vestment especially for the young com puterist ju
269. ompletely compatible with programs using Applesoft and Integer BASICs graphics and DOS Time dependent DOS operations can be bypassed It will display the graphics on the screen while QUICK TRACE is alive QUICK TRACE is a beautiful way to show the incredibly complex sequence of operations that a computer goes through in executing a program QUICK TRACE requires 3548 E00 bytes 14 pages of memory and some knowledge of machine language programming t will run on any Apple Il or Apple I Plus computer and can be loaded from disk or tape It is supplied on disk with DOS 3 3 QUICKTRACE DEBUGGER Last address Last Instruction FE S amp S AS AA Top seven bytes of stack rm a SGT 707 ni Accumulator reg Contents a zz e a Next instruction FESB 65 33 18 Ic Y reg 98 25 Disassembiy LDA EAA Processor codes NV BDIZC Processor stalus Olionol 43 D4 Ci Stack pointer SF F2 Reference address 6001 Fos Disassembiy STA I MICRO User defined location amp Contents Content of referenced address Anthro Digital Inc P O Box 1385 Pittsfield MA 01202 413 448 8278 No 57 February 1983 aren t entirely that simple VIC both too smart and too dumb has a 512 byte RS 232 buffer When printing to the RS 232 port characters go first to the buffer If you don t print more than 512 characters the program will continue running wit
270. onds depending on the size of the data set the user is queried as to which results he would like to see One option is to display the spectrum retention times and peak areas on the computer 89 screen Another is to generate high resolution hard copy on a printer The screen plot is generated using the 16 PET CBM graphic characters that com bine quarter cursor elements The linear resolution of the screen plot is thus twice that obtainable by simply plotting with full size characters The screen plot allows previewing of data prior to plotting on the printer See figure 1 for examples of the printer output The GC microcomputer combina tion has been used successfully for over two years and has had a significant im pact on the laboratory program It has provided a convenient method of data reduction and demonstrated the utility of the microcomputer as a laboratory tool In addition by streamlining the experiments that rely on the GC for chemical analyses the microcomputer GC system has improved our ability to handle large numbers of students in the laboratory program This point has been most important since increased enrollments have had a profound im pact on our laboratory operation The Spectrophotometer Another important commonly used analytical instrument is the spectro photometer Our department uses spec trophotometers primarily as research tools although they have been used in the undergraduate laboratori
271. onds versus seven or eight seconds for a 4K program and would be more asthetically pleasing to a non computer professional For the do it yourselfer three sources of EPROM programmer kits are listed here 1 Micro Technical Products Mesa Arizona 45 00 kit 15 00 bare board documentation and software 2 John Bell Engineering Redwood City California 39 95 kit 24 95 bare board only 3 Aardvark Technical Services Walled Lake Michigan 75 00 assembled and tested 24 95 bare board only Although the Aardvark board is the most expensive it is designed specifically for the 600 board The John Bell board is for the Apple but can be coaxed to work with any 6502 system The Micro Tech unit is a general purpose board and is the one I ordered Other Methods You can double the ROM PROM capacity of the 600 board with or with out the J1 connector BASIC in ROM is stored in four 2316 s which are 2K by 8 bit 24 pin ROMs in U9 010 011 and 1712 Replacing these with 4K by 8 bit 2732 EPROMs doubles the storage capacity for a total of 16K available at these physical locations The extra ad dress decoding needed to support the additional 8K of EPROM requires only one 74LS139 IC and can be installed in one of the proto locations Assigning addresses 8000 9FFF to the newly installed memory works well with existing usage and minimizes the possibility of conflict if you decide to add the 610 board later BA
272. oned however the CTS line is not read by the RS 232 software This line is tied to PB6 pin PB6 is one of eight data lines of the B VIA port I O register The B port register can be Table 1 Parts List 11 79 plus tax total all stores Nearly any opto isolator will read or written to at memory address 9110 37136 Normally all VIA pins are either defined as outputs or pulled up to 5 volts PEEKing the port register should yield a value of 255 In other words all pins outputs and 5 volts are seen as logical 1 If pin K is connected to the Cost Used Item Radio Shack Part f 1 98 2 Opto isolators 276 1628 0 79 1 74LS04 Hex Inverter 276 1904 1 19 2 LEDs 276 032 0 39 4 6 8K Resistor 4 W 271 1333 0 39 3 1K Resistor 271 1321 0 10 1 56 OHM Resistor Assortment 0 49 1 1N4001 Diode 276 1101 0 69 1 47 F 35V Electrolytic 272 1015 or 272 1026 2 99 1 Edge Connector 276 150 or 276 151 Cut to 24 pins 1 49 1 4 Pin DIN Plug Available some stores 1 29 1 14 Pin DIP Socket 276 1993 3 Wire and 6 Wire Cable This part has been discontinued by Radio Shack and may not be available in do printer s busy line so that the busy condition pulls the line to 0 volts then PEEKing 9110 will return a value of 191 when the printer is busy To recog nize a busy printer you could read the B port and look for a value of 191 Printer Driver Software As Murphy would have it things EVER WONDER HOW YOUR APPLE I
273. ons and include a description of your hardware configura tion The next few columns will deal with various aspects of the hardware available on standard Atari computers MICRO 31 In The Beginning Was The Word W we oa 52 a vs pu 7 MICROCOCCUS MICROLITER micrococcus mi kro kok us n a microscopic organisr of a round form Microcomputing mi kro kom put ing n Gr mikro small and L computo to calculate The multi syster monthly journal for computer enthusiasts containin all the information needed to turn your microcompute into a powerful machine Includes dozens of new prc grams articles on innovative computer application buyer s guides new programming techniques accurat reviews of hardware and software complete coverage new products tips on your system s hidden capabilitie hardware modifications tutorials utilities boo reviews industry news Plus features on computers i business science education and games Written i understandable language by experts in the field of con puting Special emphasis is placed on the Apple Atar Commodore Heath and IBM systems but not to the e clusion of other systems Ed note A one year subscription to MICROCOM PUTING is only 24 97 Call 1 800 258 5473 Or send in the coupon below kro i n A photographic copy printed material or photographs MICROCOMPUTING The First Word i
274. ontrol the access of the 68000 to shared RAM The TAS in struction is a read modify write in struction and tests the data to see if the most significant bit is set The byte of data is returned to memory with the most significant bit set The TAS is designed to allocate RAM to multiple users If one of the multiple users wants to use a portion of RAM he first reads the TAS bit If the most significant bit is set the user knows that memory immediately adjacent to the TAS is being sed If a TAS byte has a zero in the most significant bit posi tion the user knows memory is avail able for use The most significant bit is then set on the TAS byte and returned to memory to indicate that the memory immediately adjacent to that TAS is be ing used The conditional transfer of control from one part of a program to another is accomplished by testing one or more of the bits in the CCR The conditional branches are given in table 2 The branch conditional instruction tests the bits in the CCR in accord with the CC table and branches if the conditions are met The branch displacement is expressed as a two s complement 8 bit or 16 bit offset If the 8 bit displace ment is zero the 16 bit displacement is used if the 16 bit displacement is zero the 8 bit displacement is used The Test Condition Decrement and Branch DBCC instruction is useful because it will count the number of times a specified condition in the CCR is not true One o
275. or Equip req d VIC 20 5K or more Price 15 95 Manufacturer Taylormade Software 8053 E Avon Lane Lincoln NE 68505 Author Marian Taylor Description The Touch Typing Tutor package contains two programs to teach the beginner how to type by touch rather than by hunt n peck The first program LESSONS is divided into 19 separate drills on the finger ing of keys ranging in difficulty from the home row in the first drill to punctuation in the last drill The VIC tracks your progress and shows your 96 correct for each drill The second program PRACTICE gives you random letter sequences and then measures your speed and ac curacy as you type in the sequences Pluses Fun useful and well done My kids ages 9 and 10 love it they learned where all the keys are effectively and enjoyably Minuses Typing random letter sequences is not really a good test of typing speed Random sentences would be more realistic Documentation The 12 page manual is well written and quite comprehensive Skill level required None Reviewer David Malmberg Product Name VIC Adventure Cartridges Equip req d VIC 20 5K or Price 39 95 each Manufacturer Commodore Business Machines Inc 487 Devon Park Drive Wayne PA 19087 Author Scott Adams Description Commodore has released the first five of Scott Adams classic Adventure games on cartridge for the VIC 20 These are outstanding games that allow you to in
276. ory beyond the standard 5K The talking feature is fun if you are fortunate enough to have a Votrax Minuses These cartridges require you to LOOK or L for short at your surroundings whenever you move to a new location This quickly becomes tedious The docu mentation on the Votrax interface is wrong it requires a 2400 baud rate rather than the 1200 rate claimed Documentation Each of the five cartridges comes with the same well written 12 page manual that explains the basics of adventuring plus gives valuable hints for suc cessful play Skill level required None other than imagination perseverance and luck Reviewer David Malmberg Product Name Story Machine Equip req d Apple with Applesoft or Apple Plus with 48K RAM DOS 3 3 Price 34 95 Manufacturer Spinnaker Software 215 First St Cambridge MA 02142 617 868 4700 Author Design Ware Copy Protection Yes Description Story Machine is an educational program to help children ages 5 to 9 write sentences paragraphs and simple stories It develops vocabulary skills and keyboard familiarity You type in simple sentences and the program acts them out in graphics Pluses Story Machine is well written and interesting enough to keep a young child occupied for hours on end in writing short amusing stories It is easy to use and has an in formative guide The graphics are illustrative and well done Minuses The dictionary is limited and exactin
277. ot connect either to the printer ground The pin connections shown in figure 1 are for the Radio Shack printer Note that Radio Shack calls the busy line the STATUS line Any three wire cable will do if you have an RFI prob lem and to comply with the new rules Figure 1 R S Printer 5 STATUS GND 4 DATA VIC Parallel User Port 5 C1 191 e VIC GND x3 MI 8 Ng Ic1 1N4001 IC1 Power Pin 7 GND 12V 9V AC Pin 14 5 DC V V MICRO 17 for Part computers use a shielded cable Connect the shield either to the printer ground or VIC s protective ground not both As an aid to trouble shooting I in cluded a couple of LEDs Although they increase the current required by the cir cuit they may be helpful in diagnosing interfacing problems Besides I enjoy watching them blink as VIC talks on the RS 232 port Although rather primitive the in terface can be constructed out of junk box parts It s so cheap that even if you buy all new parts in five packs at Radio Shack the bill will come to only 12 00 see table 1 VIC uses a 6522 VIA versatile inter face adapter for the RS 232 port The same chip also drives the user port Although VIC has two VIAs we re in terested in chip 1 Memory addresses 9119 911 37136 37151 access this chip The RS 232 software sets all the control registers Therefore we won t have to do it and I ll ignore the process As I ve menti
278. oward current J ENDIF The following functions are imple CLINE 3 L A 64 BLANKS Blank current line mented as two key escape sequences 9 INSERT LINE 18 INSERT L DISPLAY Insert blank line display 11 Command Function 12 FUT LINE p 3 INSERT L Insert a blank line ESC E Exit the editor writing the 14 SAV EUF CLINE 3 L A 64 CMOVE Restore deleted line edited screen to disk We See ee Lege Abort the edit session no change to the disk screen SCR 83 EDITOR PRIMITIVES ESC N Save the current screen edit the next screen 23 3 2 B DO Tab spaces only 2 for me EXCL Save the current screen net Simulate moving cursor edit the last screen E 6 ESC S Switch FORTH screen DES NE sides in the text window 8 LEFT CURSOR EL DUP ADDR C Move left and blank mem 9 CURSOR EMIT SCREEN CURSOR Echo to screen ESC P Put down insert the last a CLEAR SCR 7 line deleted 12 16 8 DO For ali 15 lines in screen 4 64 BLANKS lt Blank memory text The escape sequence method was DISPLAY gt Display results chosen in order to leave the normal and No 57 February 1983 MICRO 51 52 Lyco Computer Marketing amp Consultants TOLL FREE 800 233 8760 TO ORDER CALL US FEBRUARY ATARI SPECIALS In PA 1 717 398 4079 810 Disk Drive 429 00 400 32K RAM NEW ATARI COMPUTER
279. ox 0858 Roswell GA 30077 THE MONTHLY JOURNAL FOR COMMODORE COMPUTER USERS 64 PE T C B M MAX MACHINE COMMANDER unli be dedicated to communicating the fun of as weil as the latest information about the COMMODORE COMPUTERS GET YOUR MONEY S WORTH You ve probably made a sizeable investment in your computer equipment COMMANDER help you make the most of it Each issue brings you the no nonsense advice you need to stay on ihe leading edge of this constantly changing field COMMANDER wiil be your reference source to the world of computers with the best most comprehensive coverage you can ger PREMIER ISSUE a1 ioc Q 2 YR 340 Q3 YR 355 RIC ik INT 4 DISCOUNT ES DO NOT INCLUDE 4 DISCOUNT COMMANDER Subscription Orders Oniy P O BOX 98827 Toll Free Number 1 800 426 1830 TACOMA WASHINGTON 98498 except WA AK 206 565 6818 No 57 February 1983 INDUSTRIAL CONTROL MICROCOMPUTERS 6502 AND 280 MICROCOMPUTERS ARE DEDICATED COM PUTERS DESIGNED FOR CONTROL FUNCTIONS THESE BOARDS FEATURE 4096 BYTES EPROM 1024 BYTES RAM ALL BOARDS INCLUDE COMPLETE DOCUMENTATION 50 PIN CONNECTOR INCLUDED EPROM AVAILABLE SEPARATELY 8602 MICRO 80 153 wu eee lt gt z w a E a a T hd Co a s x gt u HN BELL ENGINEERING S NEW Z80 OCOMPUTER FEATURES JOHN BELL ENGINEERING S 6502
280. placing a relationship operator in front of each item as it is entered BUILDIT accepts four types of operators 1 summable group member member in a list of items that pro duces a sum signified by a in the first character position There must be at least two members of any summable group each member must be preceded by a and the hist must be terminated with an item entry see below 2 A stand alone sum an item to be entered as a lump sum rather than itemized signified by a in the first position of the item entry 3 A sum signified by an in the first character position of the item When BUILDIT encounters a sum following a summable group it sets the template up to place the total of the preceding group in the row of this sum for all categories If the sum is not immediately preceded by a summable group it sets the template up to sum the last two items entered that began with a ora and stores the result in this row for all categories If two items to sum were not previously entered an error message will be produced and the entry will not be accepted 4 A difference signified by a in the first position of the entry A dif ference takes the last two items that began with a and sets the template up to subtract the last item highest numbered lowest down in the worksheet from the second to the last storing the resu
281. pple Computer Inc Wy AIM HIGH Let Unique Data Systems help you raise your sights on AIM 65 applications with our versatile family of AIM support products Go for high quality with our ACE 100 Enclosure It accom modates the AIM 65 perfectly without modification and features easy access two board add on space plus a 3 x 5 x 17 anda 4 x 5 x 15 5 area for power supplies and other com ponents 186 00 Get high capability with Unique Data System s add on boards The UDS 100 Series Memory l O boards add up to 16K bytes of RAM memory or up to 48K bytes ROM PROM EPROM to your Rockwell AIM 65 You also get 20 independently programmable parallel O lines with an additional user dedicated 6522 VIA two independent RS 232 channels with 16 switch selectable baud rates 50 to 19 2K baud and a large on board prototyping area Prices start at 259 00 If you need to protect against RAM data loss the UDS 100B of fers an on board battery and charger switchover circuit 296 00 Heighten your AIM 65 s communications range by adding the UDS 200 Modem board it features full compatibility with Bell System 103 type modems and can be plugged directly into a home telephone jack via a permissive mode DAA No need for a data jack or acoustic coupler The UDS 200 also has software selectable Autoanswer and Autodial capability with dial tone detector The modem interfaces via the AIM 65 expansion bus with the on board UART and
282. pple Franklin CALL Call for Price on VIC 64 Peripherals and Software PROFESSIONAL SOFTWARE Word Processing for VIC 64 79 95 DISK DRIVES FOR ATARI AT 88 S1 399 00 AT 88 A1 289 00 RFD 40 S1 539 00 RFD 40 A1 329 00 RFD 40 S2 869 00 RFD 44 51 659 00 RFD 44 52 999 00 4sk 499 New low price effective January 1 1983 400 Mela E Call for Price and 39K 552974 4BK 8359 Availability of the NEW Non Atari Ram amp 4K ATARI 1200 410 Axion Ramdisk 128K 429 95 a S C l 810 Disk Drive 429 00 Intec 48K Board 159 00 4 822 Printer M Intec 32K Board 74 00 825 Printer One Year Extended Warranty 70 00 RANA DISK DRIVES Call for price and availability on the new Rana Disk Drives for The Apple and Franklin Computer Systems 399 Modemi CX481 Entertainer Package 69 00 820 Printer SEHEN Bene 850 82 Educator Package CX40 Joy Sticks pair 18 00 CX483 Programmer Package 54 00 MICRO SCi CX853 Atari 16K Ram 77 95 CX484 Communicator Package 344 00 OINK DRIVES FOR APPLE amp FRANKLIN SOFTWARE FOR ATARI Pac Man T Text Formatter
283. presents the maximum number of branches in a program So far this has worked fine for me but you may wish to make this value larger or smaller according to the size of your programs or memory or both If you load this routine into mem ory and all the line numbers are larger than those already in memory there probably won t be a timing problem If the line numbers of this routine are smaller than those already in memory there may be a timing problem as the machine will relocate all the instruc tions in memory once for each line read in If this is the case you will see par tial lines being read from the tape and a lot of error messages on the screen You can overcome this problem by placing some nulls in the renumber program prior to creating the master tape The author may be contacted at 3268 S Cathay Cr Aurora CO 80013 INICRO 41 announcincelectroScreen theSuperior Alternative to the Traditional Alphanumeric Terminals The ElectroScreen Intelligent Graphics Board Features Terminal Terminal emulation on power up 83 characters by 48 lines display Intelligence e Easy switching among user defined character sets e Fast hardware scrolling e 6809 on board 6K on board firmware e STD syntax high level graphics command set e Removes host graphics software burden e Flexible text and graphics integration Multiple character sizes User programs can be run on board See your dealer today
284. program may be accessed just as in standard FORTH When desired the program may be saved to a disk file The advantage of this file handling method is that the disk is completely compatible with FLEX utilities to get a DIRECTORY LIST a file COPY a disk etc It makes life a bit easier for someone who uses a number of different languages and wants to keep things on a more com mon base CCFORTH from Frank Hogg Labs Frank Hogg Laboratories also offers a version of FORTH that runs on the TRS 80 Color Computer It uses the TRS 80 disk operating system so it is not necessary to have FLEX on the CC in order to use it CCFORTH contains a screen editor and some other features that make it particularly well adapted to use with the Color Computer The screen editor uses the four directional arrow keys on the CC to position the cursor in the command mode You may also delete characters or lines and in sert blank spaces or lines in this mode By typing ENTER you enter the insert mode then you may type in lines of text or insert characters in blank spaces I used this editor for entering and testing the HYPOTENUSE program described in the companion article p The three word definitions fit nicely on one screen To get into the editor mode type screen number EDIT When you are done type lt screen number gt LOAD and your newly defined words are added to the dictionary If you get any error messages you can FORGET SQUARE
285. pulate the values with DUP ROT and OVER words that move the top values around in various ways I believe such code HARDC FORTH 79 Ver 2 For your APPLE II II The complete professional software system that meets dea tina be THE PROFESSIONAL S CHOICE FORTH A Tool for Craftsmen It has been said that if Chippendale had made programs he would have used FORTH as his tool If you want to learn how to program use a teaching language PASCAL or BASIC If you know how to program use a language designed for craftsmen FORTH FORTH Systems For all FLEX systems 6800 amp 6809 Specify 5 or 8 diskette and hardware configuration For standalone versions write or call tFORTH extended fig FORTH 1 disk 100 15 tFORTH extended more 3 5 or 2 8 disks 250 25 tFORTH includes 2nd screen editor assembler extended data types and utility vocabularies GOING FORTH CAI course on FORTH games and debugging aids TRS 80 COLORFORTH 10K ROM Pack Full screen editor Will work on 4K 16K or 32K systems 110 20 Disk versions available Applications Programs firmFORTH 6809 tFORTH only 350 10 For target compilations to rommable code Deletes unused code and unneeded dictionary heads Requires tFORTH TINY PASCAL compiler in FORTH 6800 09 75 20 FORTH PROGRAMMING AIDS Extensive debugging decom piling and program analysis tools 150 10
286. quickly caught on as the language of choice for work in Artificial Intelli gence Unlike Pascal or FORTRAN there is no real LISP standard Today LISP is available in various flavors such as INTERLISP MACLISP MTSLISP and of course P LISP How ever all LISPs more or less look and act the same and are descendants of Mc Carthy s LISP 1 5 No 57 February 1983 What makes this language so unique The major strengths and fea tures of LISP can be outlined as follows LISP uses the same data structure to represent both programs actually functions and data Since programs and data are indistinguishable as far as the LISP interpreter is concerned it is relatively easy to write LISP pro grams that construct and execute other LISP programs LISP is interpreted providing the user with immediate response The interactive nature of LISP makes it easier to develop and debug programs and gives the user the feeling that he is talking to the computer LISP has a simple and uniform syn tax there are only a few rules to remember and these quickly become second nature Moreover LISP is in dependent of the details of the machine on which it is running there is no need to deal with word sizes the lengths of variable names declarations etc LISP is ideal for applications requir ing symbolic manipulation because unlike BASIC or Pascal LISP deals with objects rather than strings records variables pointers etc All
287. r THe GUIDE If You Own the Original Whats Where in the APPLE You Will Want THE GUIDE only 9 95 The Guide provides full explanatory 70 INCOME TAX PROGRAMS For Filing by April 15 1983 text to lead you through the most complete Apple memory map ever published For APPLE II II DOS 3 3 16 Sector FEATURES 1 Menu Driven 2 70 Tax Programs 3 Basic Unlocked Listable 4 Name SS No FS carried over Inputs can be checked 6 Inputs can be changed LR S approved REVPROC format Prints entire FormiSchedule Calculates Taxes etc In 3 3 DOS 16 Sector Fast calculations Use GREENBAR in triplicate don t change paper all Season Our 4th Year in Tax Programs We back up our Programs No 57 February 1983 GOOTH TAX PROGRAMS 931 So Bemiston e St Louis Mo 63105 Helpful programs to calculate and print the many Tax Forms and Schedules Ideal for the Tax Preparer C P A and Individuals For just 24 75 per disk post paid in 3 3 DOS 16 Sector disks Programs are designed for easy use with check points to correct parts as needed Results on screen for checking before printing In ali there are more than 70 individual Tax Programs These include Form 1040 1040A 1040EZ 1120 1120S 1041 and 1065 Also Schedules A B C D E F G RP and SE And Forms 1116 2106 2119 2210 2440 3468 3903 4255 4562 4797 4835 4972 5695 625
288. r ful sound features can be exploited It is available for 35 from Abacus Software P O Box 7211 Grand Rapids MI 49510 MICRO S VIC BOOK Available in March I am currently editing writing and programming for MICRO s VIC book to be released in March Unlike most of MICRQO s articles the content will be aimed at the newcomer the person who is just beginning to realize there is more to computing than r nning canned software Eight or more useful and entertaining programs will be included on cassette and listed in the book as well The text that accompanies each program will aim first at using the pro gram then at making improvements by changing lines and finally at understanding how the program works The most exciting program is one I call Calc MICRO Calc allows you to define elaborate mathe matical calculations make convenient changes and calculate the results at the touch of a key Screens can be saved on tape for future use In addition the pro gram can be used to learn how BASIC expressions work MICRO 73 68000 Program Control Branch and Jump Instructions by Joe Hootman The 68000 installment this month covers the branch and jump instructions both conditional and unconditional Branch and jump instructions allow the transfer of program control to another portion of the program There are two basic types of program control instruc tions the unconditional jump branch
289. r monics or multiples of the funda mental frequency For instance a triangle wave consists only of odd har monics each in a proportion deter mined by the reciprocal of the square of its harmonic number Therefore a No 57 February 1983 triangle wave is dominated by the fundamental with the third harmonic only 1 9 as loud the fifth only 1 25 as loud and the other odd harmonics much softer It is difficult to produce a sine wave with inexpensive digital cir cuitry The more attainable triangle waveform looks and sounds similar to the sine wave and although you can certainly hear the difference it is a satisfactory replacement The Commodore 64 has three voices each of which can be pro grammed with a triangle rectangular sawtooth or random noise waveform shown in figure 2 The rectangular wave s pulse width is programmable The 6581 SID chip has a great number of other capabilities including filtration synchronization and ring modulation which I ll discuss later The Envelope Please Natural sounds seldom start im mediately with their full volume nor do they end abruptly Think of the way they are produced With a piano a little hammer hits a string with a violin the hairs of the bow catch the string with a wind instrument the im pact of the player s tongue starts the sound How can a computer simulate Figure 1 Sine Wave MICRO the natural variations of volume within a single note
290. r Hunkins The author s observations include how to solve a few tricky problems more detailed explanations of some commands and how to convert the program for 8K PET As an educator I appreciate PILOT as a simple instructionally oriented first language Therefore I was fascinated by the article Tiny PILOT for the MICRO 49 73 by Jim Strasma and John O Hare Since this PILOT re quired only 2K of memory I couldn t wait to code it into my Upgrade 8K PET I quickly discovered however that Strasma and O Hare s code was for 32K PET CBM Many changes are required to convert it to 8K The modification though time consuming is straight forward and easy to explain It involves changing all numbers in the range 78 7F to the range 18 1F and beginning the code at 1800 Excep tions to the number changes are these do not change a number in the range of 78 7F if it is followed immediately by a second number in the same range change only the second number For an example see the Tiny PILOT listing MICRO 49 75 leave the value in 7846 as is and change the one in 7847 Also three other locations should not be changed 78AD 7838 and 7F2E That s it for the coding changes The initialization sequence for the 8K version becomes NEW SYS7936 1FOO instead of 7F00 To run PILOT programs do SYS6145 or use the ordinary RUN command This relocated Tiny PILOT runs on any PET CBM with Upgrade ROM
291. rage I haven t worked out just how the division be tween program and variable space is decided but it works out such that an otherwise empty workspace cannot contain even one 3000 element numeric array However it can contain four 1000 element arrays In most cases it seems you probably will run out of variable space before the user RAM is actually full The RAM gobbling situation could be reduced dramatically if some form of byte or integer double byte numeric storage could be used where appropriate APL Character Set APL has a strange character set The wealth of built in functions of APL are invoked via a vast array of unusual characters I find this a problem even though I m familiar with the Greek alphabet those who are not face even greater difficulty The situation in APL could be compared to requiring BASIC programmers to read and write their programs in the tokens used internally by the interpreter instead of English keywords It s a pity Mr Iverson didn t invent the keyword token translator along with the rest of APL Besides requiring memorization the characters of APL present a prac tical problem when printing and typing them There are special APL print wheels available for daisy wheel printers and some dot matrix printers may be programmed to draw APL characters but the APL keyboard is still troublesome There are so many APL characters they won t fit all at once on a regular keyboar
292. rds is usually small little would be gained by using a complex expression in line 5180 Also note that once the file is suc cessfully opened the disk status is not checked again until an attempt has been made to write all the data in the file This saves time and if there is an error anywhere in the process the final check will catch it DOS errors during PRINT f are not fatal to the program if ignored However don t try this when reading the file Failing to check disk status after every INPUT will likely halt the program on any DOS error What About Alternate Keys Careful study of Bennett s mail list will reveal an alternate key in addition to the primary one handled in much the same way We left it out of our dis cussion because it is not fully developed At present it merely re cords record numbers a chore easily handled without a second key In an in complete 8050 version of the mail list Bennett went further using the code field as the alternate key field If you need one or more alternate keys just maintain them along with the primary one changing all of them when ever any one is altered Essentially ex tra keys are a trade off Maintaining them increases the time needed to add delete and change records and adds to the complexity of the program But maintaining these keys eliminates the delay of sorting before printing records out in ZIP code or other new orders Next month we finall get this
293. rds or instructions must be separated by spaces When FORTH sees a literal number it auto matically puts it on the stack so an equivalent of the enter from the calculator is not necessary The space after the number tells FORTH that the MICRO number is complete Of course the means multiply and the means to print the result Printing a result removes it from the stack Assuming the stack was empty at the start of the above sequence of instruc tions it would be empty at the end OK is FORTH s analog of READY in BASIC Shown in figure 1 are the con tents of the stack as each item in the line above is encountered Figure 1 empty TOP OF gt emptyl STACK Now let s define a word SQUARE DUP The word defined with a colon defini tion is SQUARE It will square the value on the stack Now if you type 2 SQUARE return FORTH will put 2 on the stack DUP is a FORTH word that will push a DUPlicate of the top item onto the stack multiplies the top two items on the stack and leaves the result on top 2 SQUARE will therefore result in the value 4 being printed to the terminal Now of course if you typed 5 SQUARE you would get 25 on the terminal Further the result of SQUARE does not need to be printed out It could just as well be left on the stack for use by another calculation You could type 3 SQUARE 4 SQUARE RETURN The result would be 9 16 or 25 OK No 57
294. re misspellings and typographical errors To do this the author may substitute the asterisk for the letter s most likely to be misspelled Or the author can use the ampersand 32K CMOS STATIC RAM BOARD for SYM AIM Models MB 132 32K 299 16K 241 8K 197 Features MI 200ns Low Power CMOS STATIC RAM Extends your expansion connector Plug compatible with 2716 EPROMS First 8K are jumper selectable Entire board may be bank switched G 10 Glass epoxy Full solder mask Gold fingers Fuil 1 year limited warranty e 68000 Microcomputer with 12 MHZ clock e 131 072 Bytes of RAM Memory e 32 768 Bytes of ROM Memory e Two RS 232c serial ports up to 19 200 bps e One million bps interface with APPLE e Seven levels of vectored interrupts e Real time clock and timer e Separate case and power supply Uses only one peripheral slot in the APPLE e Invisible operation with APPLESOFT or PASCAL e Compatible with Compilers and 6502 Assembly Programs 68000 Assembly Language Development System Write or call for a free brochure or send 10 for 100 page users manual refunded with order for ACORN ACORN SYSTEMS INC 4455 TORRANCE BLVD 108 e TORRANCE CA 90503 Telephone 213 371 6307 Apple Appie Il ond Applesoft are the trademarks of Appie Computer Co I O EXPANSION BOARD for the SYM AIM and other microcomputers that use 6522 VIAs for I O I OX 122 60 and do not provide full address decoding on
295. rogram but in immedi ate mode This feature is useful when controlling instruments In addition if a backslash is used in place of the semi colon the input will not terminate when a carriage return is received Any carriage returns will simply be imbed ded in the string variable in the above case a Of course numeric variables can also be input with INPUT In these cases the backslash should not be used since the carriage return is an il legal character here The Tektronix systems also allow Listing 1 continued 9072 2073 2874 0075 0976 2077 2078 9079 9089 9981 9082 0083 9884 9085 9086 9087 2089 9099 0091 2093 9094 0095 2096 0097 0098 9099 21900 0101 2192 103 21804 2106 0167 2108 9109 0116 0111 2112 113 8114 2115 116 117 0118 9120 9121 0122 0123 9124 2125 9126 9127 9129 0136 6131 132 9133 9134 2135 2136 2137 9138 2139 9140 9141 9142 2143 9144 9145 0146 2148 9149 2150 0151 2152 9153 9154 2155 2156 8157 2159 2169 2161 8162 2163 2164 9165 7eb6 7eb8 7eba 7ebc 7ebf 7 1 7ec3 7ec6 7ec9 7 7 7ed0 7ed2 7ed4 7ed7 7ed9 7edc 7edf 7ee2 7ee5 7ee8 7eea 7eec 7eee 7efQ 7ef2 7ef4 7ef6 7ef8 7efa 7efd 7f00 7f02 7 03 7 05 7 08 T Ob 7 7 7 11 7 13 7816 7 19 7 1 71 7 21 7 23 7 25 7 28 T 2b 7 2 7 2 7 32 7 35 7 37 7 39 7 3c 7f3e 7 40
296. rom the hazards of ship ping and storage They feature a rugged polyethylene exterior internal shock absorbing foam and a positive action locking system Send for a catalog Available Kathy Sutherland Sales Manager Data Vault Division at PRC of America 475 Boulevard Elmwood Park NJ 07406 201 796 6600 Name Speech Synthesizer System Atari 400 800 Memory 16K Language BASIC Description ITALKI offers an unlimited vocabulary four voices and powerful program development utilities It re quires no external power sup ply and outputs speech to the monitor s speaker machine language driver allows ITALKII to speak while action graphics and sound effects are being ex ecuted Software includes a dictionary a word editor a sentence builder and Word blaster an arcade style educa tional gamel Price 199 00 Includes ITALKII disk or cassette manual phonetic speech dictionary Available Greenbrier Marketing International Inc 509 South 48th St Suite 105 Tempe AZ 85281 602 948 0005 Name Starfighter The Ultimate Joystick System Atari VCS Atari 400 800 Commodore VIC Sears Tele Game Description This joystick con troller is designed with an ad vanced mechanism that trans fers movement directly from the user s hand through case hardened steel components to MICRO the internal contacts Its rounded shape helps to elimin ate muscle fatigue when u
297. rom your Super board II C1P at moderate cost David Jones is a technical specialist for Racal Milgo Inc a Miami based manufacturer of data communications products He has a Superboard II and has redesigned the video circuitry for a true 32 64 character per line display built a parallel printer interface adapted an EPROM programmer via a 6522 VIA and customized the monitor program in addition to the expansion outlined in this article You may contact Mr Jones at 8902 S W 17 Terrace Miami FL 33165 MICRO NEW PROGRAMS SCOUT Full color machine language fast action and graphics After a year of development comes the all machine language SCOUT Patrol the planet surface pro tecting and saving the human population from abductors Turn your OSI into a real ar cade 24 95 C4PMF C8PDF Send for our FREE catalog We have what you want for less S FORTH 39 FULL SCREEN EDITOR 19 ADVENTURE 19 SKYHAWK 8 TOUCH TYPING 19 IN TELLIGENT TERMINAL 24 THE WIZARU S CITY 12 UTILITIES and much more for the C1P to the C8PDF 312 259 3150 AURORA SOFTWARE 37 S Mitchell gg Arlington Heights Illinois 60005 27 Indirect Files Under OS 65D by Richard L Tretheway Several uses for the indirect files are discussed Including merging programs a warm start and transferring programs from one OSI operating system to another Demo Programs requires OSI with OS 65D V 3
298. ront of an Applesoft program 5 PRINT CHR 4 BLOADUTIL4 A 8600 CALL38383 That s all it takes to link our board into Applesoft assuming you have Applesoft loaded into a 16K RAM card Now run your program as is for faster number crunching or compile it to add the benefit of faster interpretation Operation with the Pet CBM is similar 68000 SOURCE CODE For Apple I users only we provide a nearly full disk of un protected 68000 source code To use it you will have to have DOS toolkit 75 and ASSEM68K 95 both available from third parties Here s what you get 1 68000 source code for our Microsoft compatible floating point package including LOG EXP SQR SIN COS TAN ATN along with the basic four functions The code is set up to work either linked into BASIC or with our developmental HALGOL language 85 sectors No 57 February 1983 MICRO 2 68000 source code for the PROM monitor 35 sectors 3 68000 source code for a very high speed interactive 3 D graphics demo 115 sectors 4 68000 source code for the HALGOL threaded interpreter Works with the 68000 floating point package 56 sectors 5 6502 source code for the utilities to link into the BASIC floating point routines and utility and debug code to link into the 68000 PROM monitor 113 sectors The above routines almost fill a standard Apple DOS 3 3 flop py We provide a second disk very nearly filled with various utility and demonstration programs
299. row co state of the text 11 CLINE 3 LINEOFF 3 Compute viden position 5 Causing the video screen editor to 12 CCHAR A Md re z 15 SIDE 9 IF 32 just i side execute with the Atari s default mi CHAROFF 3 Add left margin 38 character line length 15 gt No 57 February 1983 MICRO 47 6 Performing logically equivalent functions on the screen text with all special edit keys of the Atari 800 To use the Atari display and main tain compatibility EDIT uses a text window of 16 lines by 32 characters A FORTH screen is thus divided in half the left side SIDE 0 and the right side SIDE 1 The current side of the FORTH screen is displayed on the video screen with a solid line around the text area The current text position is indicated by inverse video as in the normal Atari display In addition to the text window the other half of the cur rent line is displayed at the bottom of the video screen In my applications the left side of a FORTH screen is used for actual FORTH code and the right side is reserved for comments Thus when viewing a FORTH screen all the code on the left side SIDE 0 may be ex amined at once while only one com ment line is displayed at a time as the cursor is moved from line to line So far 32 characters have been enough to code a logical FORTH step and 32 characters are usually adequate to com ment that step In addition this inter
300. rty software for most ali computers on the market CALL TODAY FOR OUR NEW CATALOGUE 1000 ACE 10 with Controller Card ACE Writer Word Processor CALL FOR SYSTEM PRICE ACE 1200 CALL VISICORP for Apple IBM amp Franklin 189 00 Visifile Visiplot i Visiterm eee eee 89 00 Visitrend Plot 229 00 VisiSchedule 229 00 Desktop Plan 189 00 Visicaic Apple 11 Atari CBM IBM 179 00 Visicorp prices for IBM may vary slightly CONTINENTAL Home Accnt Apple Franklin 59 00 Home Accountant IBM 119 00 1st Class Mail Apple Franklin 59 00 sinius Free 24 00 Beer 524 00 Snake Byte 24 00 Space 9 24 00 24 00 Bandits 28 00 BROOERBUND Apple 23 00 David s 27 00 Star 25 00 Arcade Macrine 34 00 27 00 27 00 INFOCOM 35 00 Star Cross 29 00 COMA n o 29 00 Zork 29 00 MPC Bubdisk 126K Ram 719 00 AXLON Ram Disk A
301. s e AUTO LOAD PARAMETERS Free s the user from having to Manually Key in Param values used with the more popular software packages available for the Apple II e EXPANDED USER MANUAL incorporates new Tutorials for all levels of expertice Beginners Flowchart for where do begin to Advanced Disk Analysis 15 included e TRACK SECTOR EDITOR An ali new Tracw Sector Editor including the following features Read Write Insert Delete Search and impressive Print capabilities eDISK DIAGNOSTICS Checks such things as Drive Speed Diskette Media Reliability and Erasing Diskettes e HIGHEST RATED Best back up Program in Softalk Poll Rated 8 25 out of 10 e CONTINUAL UPDATES Available from Computer Applications and new listings on the source 69 95 Dealer and Distributor Inquiries Invited SEE WARE DIST ING 201 838 9027 This local environment remains in ef fect until the function is exited At that time the environment is destroyed and the next most recent environment b comes the current environment The highest level environment the one in effect before any functions are invoked is called the global environment Suppose you type SETQ L THIS BETTER WORK into LISP The global value of L is now set io the list THIS BETTER WORK If you type SECOND WHOS ON FIRST a local environment for SECOND is created in which a local L is bound to the list
302. s or even 6Mb with the Amlyn cartridge pack Ideal for high capacity storage now winchester disk backup later The MEGAFLEX secret is to autoboot soft drivers that match the needs of your drive system All hardware functions are software controlled MEGAFLEX can match new drive capabilities with out hardware changes Drive dependent ROMs have been eliminated APPLE OF COURSE MEGAFLEX is compatible with BASIC CP M Pascal VISICALC SOS and DOS emulation on the Apple Ill Apple Il Franklin Ace and Basis All lan guage features and operating system commands LOAD BRUN etc are standard If you can oper ate Apple drives you can op erate MEGAFLEX Your Apple software will run MEGAD A Division of SVA out modification too BRIDGE THE APPLE FORMAT BARRIER The MEGAFLEX diskette does what Apple s cannot read and write diskettes from other computers Software controlled industry stan dard IBM 3740 or System 34 type formats allow the MEGAFLEX library of refor matting software to read and write Altos Radio Shack Osborne and IBM PC diskettes Call for the latest software details MORE STORAGE MORE UNIVERSAL FEATURES LOWEST COST MEGAFLEX with 8 maxi or high density 5 25 minis gives you 1 2 Megabyte of formatted data per diskette for 8 times the file and data size MEGAFLEX offers flexible software choices e data rate 250 500 Kbits per second single and double d
303. s and 8K or more of memory The 6K not used by PILOT should be adequate for most PILOT programs For the excep tional case the conversion instructions 78 above permit tailoring Tiny PILOT to any size memory on a 4K boundary For example on a 16K PET convert 78 7F to 38 3F with the excep tions mentioned start coding at 3800 and initialize at 3F00 The initialization routine protects PILOT one page lower than necessary in high memory reserving 2 25K in stead of 2K If you need the additional page change 7F10 and 7F11 or 1F10 and 1F11 in the 8K adaptation to EA NOP You may alternately POKE7952 234 and POKE7953 234 in the 8K version or after initializing simply 53 24 To understand Tiny PILOT better the reader should consult the article containing the original Tiny PILOT upon which Strasma and O Hare based their version for the PET Tiny PILOT An Educational Language for the 6502 by Nicholas Vrtis MICRO 16 41 offers substantial and lucid details of user operation and internal programming logic One of the attractive features in the new implementation is the incorpora tion of graphics and cursor control features into the screen display e g RVS field CLR screen and placement of text or graphics anywhere on the screen In addition there are special statements that reverse the field of everything currently displayed and that scroll the screen up or down The statements D Delay
304. s are per formed by the file clerk utility including LOAD SAVE RENAME ERASE and DIRECTORY Pluses Owners of earlier versions of WP 6502 can upgrade to revision 1 3a at a small additional cost The file clerk utility includes a copy routine to initialize disks and make backup copies of any text files or even WP 6502 A memory test and disk test are included in the file clerk There is an INSTALL command which allows WP 6502 to be custom configured to your needs Options include changing default parameters and assignments of control characters as well as accommodating differences in ter minal and printer character sets Minuses Text files created by version 1 3 must be edited before running on version 1 3a to reflect the changes in the margin tab and line feed control characters Editing is No 57 February 1983 Reviews in Brief continued done on the unformatted text file In this mode control characters are displayed but do not function and words may be split between lines The user must flip back to the view mode to see the effect of his editing on the formatted output Documentation The program is supplied with an opera tion manual and a training manual The training manual is written for the non computer user The disk is supplied with a number of text files already in place complete with errors Skill level required No computer knowledge necessary Reviewer Earl D Morris Product Name Touch Typing Tut
305. s your program in discreet ASCII when you use the indirect file When you download a program from the in direct file the OS interprets the incom ing lines just as if you had typed them in from the keyboard Should you have a program in the workspace while you are downloading a program duplicate line numbers will be replaced by the new lines just as if you had typed in a correc tion to a line with a syntax error in it But a crafty assembly programmer could arrange a library of disk files con taining his most used subroutines be ing careful to avoid duplicate line numbers Whenever one of those pro gams is needed he would just send the destination program that was resident in the workspace to the indirect file then load the subroutine file and merge the two by typing a lt CTRL gt X It s not perfect but at least it can save a lot of typing To illustrate another use of indirect files I have written a short program This program takes a machine code program resident in memory and con verts it into a subroutine written in BASIC that does the appropriate POKEs to set up a USR X function It could be used to transfer a machine code pro gram from your disk system to a MICRO friend s system that just has a cassette He still won t be able to read your disk but at least he would have a copy of your program in a form he can use To use the program save it on disk and then assemble your machine code program in memory
306. sable floppy disk storage capacity for a fraction of the cost of additional disk drives Modular Systems DiskDoubler is adouble 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 total disk space under OS 65U to 550K under OS 65D to 473K for 8 inch floppies to 163K for mini 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 products for OSI disk systems DiskDoubler is a trademark of Modular Systems Post Office Box 16C Oradell NJ 07649 0016 Telephone 201 262 0093 Modular Systems 25 moderate crashes be made by call ing the move routine again and reset ting the next available storage location pointer to the end of the text file 1 This pointer is stored in location 12FE 12FF and is set to 1391 upon in itialization Cold entry to the Assembler Editor is from 8000 and the INIZ prompt is displayed instan taneously Warm entry
307. scan Dual beam spectro photometers are generally more de sirable than single beam devices but they are also much more expensive Thus the interfacing of a microcom puter to the spectrophotometer re sulted in enhanced capability without significant additional expense References 1 Saltsburg H Heist R H and Olsen T Microcomputers in a Col lege Teaching Laboratory Part 1 No 57 February 1983 MICRO No 53 October 1982 pg 53 2 Heist R H Olsen T and Saltsburg H Microcomputers in a College Teaching Laboratory Part 2 MICRO No 55 December 1982 pg 59 3 Olsen T Saltsburg H and Heist R H Microcomputers in a College Teaching Laboratory Part 3 MICRO No 56 January 1983 pg 4 West R C Programming the PET CBM The Reference Encyclopedia _ for Commodore PET CBM Users Compute Books Greensboro N C 1982 5 Hampshire N The PET Revealed Computabits Ltd Somerset England 1980 6 See for example DeJong M L Pro gramming and Interfacing the 6502 with Experiments Howard W Sams amp Co Inc Indianapolis 1980 Zaks R 6502 Applications Book Sybex Berkeley 1979 You may contact the authors at the Department of Chemical Engineering University of Rochester Rochester NY 14627 AKRO MICRO Attache style cases for carrying and pro tecting your complete computer set up Accommodates equipment in a fully oper ationa co
308. sing other joysticks for long peri ods Controller carries a two year limited factory warranty Price 16 95 Available SUNCOM Inc 270 Holbrook Dr Wheeling IL 60090 Name Color III System TRS 80 Color Computer Memory 4K 64K Description If you are a do it yourselfer then you can upgrade a color computer to a 65 key keyboard with numeric pad integrated television and computer display screen telescopic antenna internal disk and sound channel selec tor knob indicator lamps ROM pack slot and all 1 0 connector jacks mounted in a Model enclosure Color Computer products work as before Price 15 00 Includes instruction manual 12 professional drawings and templates bill of material check off list and manufacturing list Available L amp E Electro Sales Co 7017 Hazeltine Ave 10 Van Nuys CA 91405 213 994 3110 Name Joyport System Apple or Apple H Plus Description Joyport expands the game port to use four fully functional Apple compatible paddles and two Atari type joysticks No modification is necessary The Joyport simply plugs into the existing game I O port Price 49 95 Includes user s manual Available Sirius Software 10364 Rockingham Drive Sacramento CA 95827 103 i 1 INICRO Dr William R Dial 438 Roslyn Avenue Akron OH 44320 6809 Bibliography 101 80 Micro October 1982 Miller Franklyn D The Colorfu
309. sk and ampersand can be used together so that an instruction such as amp COMPUT R amp returns a match if it finds the word computer or computor or com putir or even computzr anywhere in the student response Note that the placement of the ampersands may be crucial If there is not an ampersand at the beginning the word must be the first word in the response since the routine is not instructed to ignore anything in front of the first word Similarly if there is no ampersand at the end the word will have to be the last Several different words can be used separated by ampersands amp COMPUTER amp MACHINE amp will give a match only if the student uses both words and in that order Some things that match are The com puter is a useful machine My com puter is bigger than a sewing machine etc However com puting machine would give a no match computer is not there as would That machine is my computer the words are out of order Figure 1 shows more examples of strings that match or don t match One use for a match routine is to find a key word or a key phrase To do this the author puts the key word or key phrase between ampersands If it is important that they be stand alone words rather than parts of words there must be a space between the amper sands and the word if not then the ampersands should not be separated second use for a match routine is to be able to igno
310. st beginning to program And it won t cost you anything but time Editor s Note Tiny Pilot for was published as object code only Those wishing to have this program for 4 0 BASIC may want to obtain the source code from ASM TED Users Group c o Brent Anderson 200 S Century St Rantoul IL 61866 Arthur B Hunkins may be contacted at the School of Music UNC G Greensboro NC 27412 ANICRO SENSE 27 95 Like Centiped only better FROGEE 27 95 The exciting arcade game of Frogger MOTOR MOUSE 29 95 What a cheese ee game CRIBBAGE VIC 20 14 95 C 64 17 95 This is the game of Cribbage STAR TREK VIC 20 12 95 64 17 95 Excellent adventure game MASTER MIND VIC 20 12 95 C 64 19 95 Makes you think ROACH MOTEL 9 95 Kill the bugs YAHTZEE 1 1 12 95 YAHTZEE 2 1 14 95 GENERAL LEDGER 19 95 VIC 20 CHECK MINDER VIC 20 19 95 C 64 24 95 HOME INVENTORY 19 95 VIC 20 TO ORDER P O BOX 18765 WICHITA KS 67218 316 684 4660 Personal checks accepted Allow 3 weeks or C O D Add 2 00 Handling charges 2 00 V1C 20 is a registered trademark af Commodore No 57 February 1983 Program from Commodore ROM emulator e Jumper to target ROM socket Test programs in circuit Built in EPROM programmer and power supply Commodore VIC 20 too e Comprehensive manuals Fits EXPANSION PORT GLOUCESTER COMPUTER c
311. ste Steve Den Word Processing on Your Color Computer pg 65 74 A line oriented text editor for the TRS 80 Color Computer with disk Fawcett Dale H Serial Printer Interfacing pg 95 97 Connecting to your 6809 based Color Computer 108 MICRO No 58 October 1982 Whiteside Tom Apple Pascal P Code Interpreter and the 6809 pg 79 84 A rewrite of the Apple UCSD Pascal P Code interpreter for the MC6809 shows code size and speed improvements Tenny Ralph Homespun 32K Color Computer pg 91 95 A hardware article detailing a relatively simple memory ex pansion from 16K to 32K in the Color Computer 109 MicroComputer Printout 3 No 11 October 1982 Preston Chris MicroScope pg 20 21 Multiple processors and how they work including 6502 Z80 6502 6809 and similar combinations 110 Compute 4 No 10 October 1982 Anon TRS 80 Color Computer Program pg 223 Colortext for the 6809 based TRS 80 Color Computer is a high resolution text driver that displays a variety of character fonts and graphics on the screen simultaneously 111 Personal Computer 5 No 10 October 1982 Oliver Roger and Sadler Chris Positron 9000 pg 128 134 The Positron is a new British made microcomputer using 6809 with 64K RAM 112 68 Micro Journal 4 Issue 10 October 1982 Ney Robert L Color User Notes pg 11 13 Discussion of F MATE Version 2 0 powerful business systems
312. t In considering LOGO as an educational tool remem ber that it has been available for only one year No doubt there will be many new applications of LOGO in the near future Author languages are general com puter languages designed to make the programming of instructional dialogs easier Author languages reflect a dif ferent set of priorities than more familiar computation languages like BASIC and Pascal For example an author language makes programming the recognition of keywords in a response relatively easy even when those keywords are misspelled by the user but an author language has little need for the nested loop construct essential in number crunching applica tions Although there are a number of author languages for large computers only PILOT has been implemented on a range of microcomputers There are many versions of PILOT around but the commercial products come from three sources The original PILOT came from the San Francisco Medical Center Nevada PILOT and Atari PILOT are close to the original version but Atari PILOT has added turtle graphics to the package major set of additions to the original language were developed at Western Washington Uni versity Micropi offers versions based on those extensions for CP M 6809 IBM Pascal machines and for a number of larger mainframes Apple PILOT TI PILOT Monroe PILOT Color PILOT Radio Shack and the forthcoming PILOT for the Com modore 64 ar
313. t Microsystems 1927 Curtis Ave Redondo Beach CA 90278 tFORTH 100 00 tFORTH 250 00 firmFORTH 350 00 requires but does not include tFORTH XFORTH CCFORTH available from Frank Hogg Laboratories 130 Midtown Plaza Syracuse NY 13210 XFORTIH eee ew odes 149 95 plus 2 50 shipping huge manual CCFORTH 99 95 The author may be contacted at 3540 Sturbridge Ct Ann Arbor MI 48105 ANCRO MICRO BIOSTATISTICS OXYGEN TENSION CAMPARI SCN 7 WATANABE PLOTTER GRAPHICS BIOSTATISTICS III is a combined stat istical analysis and graphical data plotting software package It covers a comprehensive range of bivariate and multivariate tests commonly used in enigineering and the social and medical sciences SPECIAL FEATURES 1 Generates regression plots in screen high resolution graphics and on the Wantanabe WX 4671 plotter 2 Stores data in standard DOS 3 3 text files easy to access from your own software or data base 3 Programs are written in Basic Can be user modified Applesoft 4 Includes extensive data editing and file manipulation facilities 5 Tabulated data printouts and istical results stat STATISTICAL TESTS GRAPHICS STANDARD DEVIATION PAIRED STUDENT t TEST UNPAIRED STUDENT t TEST WILCOXON PAIRED TEST MANN WHITNEY U TEST ANO V ONE AND TWO WAY LINEAR REGRESSION EXPON
314. t tech niques that allow you to interface your machine language routines with BASIC The Color Computer memory map published by Tandy leaves many un documented locations Hopefully I can put a few items in their correct places To demonstrate the use of a RAM hook I have included a list pager pro gram More on this later If you know any locations of RAM hooks or ad dresses of particular BASIC functions in ROM please contact me Ben Farmer of Charlottesville VA sent the following information on a print routine hook locations 159 160 and 161 are called during print to screen or printer and locations 410 to 412 seem to hook to the keyboard after each BASIC keyword Mr Farmer also points out that there is a compatibility problem with EDTASM and the 8 bit printer driver distributed by Radio Shack to people with 1 0 ROM The driver is required to work with the DMP 100 printer yet it won t work with the assembler If anyone has found a solution to the problem let me know While I am on the subject of RAM hooks I have a routine that interfaces with the LIST and LLIST command to page a list on the screen see listing 1 Before loading the program enter CLEAR 200 amp H7FE5 This protects the routine from BASIC Load the pro gram by reassembling or POKEing the data into memory To activate the routine the hook at locations 383 384 and 385 is used These locations con tain an RTS and 383 is accessed after a LIST
315. t3 lda sta jsr stx jsr lda sta bachas chrdec 5 2 4 42 ch r ot bachas chr3et out3 chrdec c8d1 a5 1 9 outbyt 339001101800 e811 c8d1 a5 109 38001111900 e811 no bytes to send bacbas set nrfd high again check for end of statement look at next chr check for minus sign reset chrget get byte to xr to ieee buffer send to ieee ibit 3 Set eoi true get byte send it ibit 3 reset eoi No 57 February 1983 Listing 1 continued values must change if buffer moved 0166 7 8a 1 d2 bpl outbyt 80168 7 8c a9 22 rby lda 522 0169 7 8e 7d 22 sta temp4 0170 7 91 a9 1 3a 0171 7 93 8d 7e 02 sta temp 0172 7 96 26 78 09 jsr 50070 0173 7 99 20 l jsr flc 0174 7f9c 8d 7 02 sta temps 6175 7 9 85 a5 sta a5 0176 7fal 20 76 00 jsr chrgot 0177 7fa4 15 bne rby4 0178 7fah a9 22 rbyS lda 22 0179 7fa8 8d 7d 92 sta temp6 9180 7fab a9 3a lda 3a 9181 7fad 8d 7e 02 sta temp 0182 7 a9 08 rby3 lda 508 0183 7fb2 21 e8 ora e821 0184 7fb5 8d 21 e8 sta Se821 0185 7fb8 fa 7e jmp bacbas 0187 7fbb 26 dl 7f rby4 jsr varval 0188 7fbe 20 76 jsr chrgot 0189 7fcl 8 e3 beq rby5 0190 7fc3 290 70 00 jsr chrget 0191 7fc6 20 fl jsr flcf 0192 7 c9 7 02 sta tempsS 0193 7fcc 85 a5 sta 5 0194 7fce 4 bb 7 jmp rby4 0196 7fdl 20 2b cl varval jsr cl2b 0197 7 d4 85 46 sta 46 0198 746 84 47 sty 47
316. telligible programs get revised and improved others do not One of the assumptions behind the PILOT language is that it is easier to teach an experienced teacher how to program using an author language than it is to teach a computer programmer how to design good instructional material Experience has shown that this is true Now the problem is to get the teachers enough free time to actu ally do it Authoring systems represent another attempt to make it easier for experi enced teachers to generate instruc tional software Authoring systems pre sent a menu of formats for instruction for example true false multiple choice and fill in the blank Once the teacher has selected the format the authoring system builds the instruc tional program from the teacher s responses to questions Typically the authoring system would pose a series of questions like what instructions do you want to give the student what is the first question you want to ask the student what is the correct answer what response do you want to give to a correct answer where should the stu dent be sent after a correct answer what is a common incorrect answer etc In some authoring systems the teacher s input is encoded into a file in others the teacher s input actually generates PILOT like program There are a variety of authoring systems on the market All of them work on only one machine so there is no transferability possible Without ques tion t
317. tended to include new control structures EDIT uses a set of CASE words defined by Dr C E Eaker orginally written for a 6800 FORTH system FORTH Dimension Volume II Number 3 pp 37 40 Only the word names were changed when using this CASE statement The actual definitions were compiled and ex ecuted the first time Applications written in high level FORTH no code words can usually be transported be tween FORTH systems regardless of the processor type No 57 February 1983 Conclusion EDIT is my first large application with the APX fig FORTH implementa tion While EDIT probably is not as efficient as possible it was written and debugged in less than 15 hours Any language that allows a large application to be rapidly and logically imple mented during the learning process cer tainly deserves attention Many well designed concepts are at work in FORTH and all programmers should consider FORTH as an alternative to BASIC The author may be contacted at 7659 West Fremont Ave Littleton CO 80123 MICRO MICRO HYPERCARTRIDGE for ATARI 400 800 FOR SOFTWARE DEVELOPERS AND HOBBYISTS extend memory of 16K RAM and 32K RAM computers ecreate 16K cartridges easily with an EPROM programmer e combine ATARI BASIC ROMs with your own subroutines on ROM EPROM e eliminate need for disk drive and extra RAM for lengthy programs CONFIGURATIONS 1 Any combination of 4 2532 EPROMs 2332 ROMs
318. tered one problem during the testing of this procedure The intrinsic WRITE procedure does not allow all character codes to be passed to the printer This problem is cir cumvented by using the low level pro cedure UNITWRITE see pp 41 42 of the Apple Pascal Language Reference Manual 54 The SCREENDUMP procedure has the following form SCREENDUMP LEFT RIGHT BOTTOM TOP LMARGIN LEFT left X position to be printed RIGHT right X position to be printed BOTTOM bottom Y position to be printed TOP top Y position to be printed LMARGIN number of spaces in left margin Note both Y values are rounded to the next lower integer evenly divisible by eight Using SCREENDUMP is simple I have included a sample printout and a short program that demonstrates its use The procedure is easy to use and there is no need for error checking It is the programmer s responsibility to en sure that all parameters are within the proper range I have used this procedure in many programs involving Turtlegraphics Be cause of the popularity of the Apple II and the Epson MX 80 this procedure should find a place in many subroutine libraries You may contact the author at 2850 Delk Rd Apt 2B Marietta GA 30067 Figure 1 Sample Ouptut From SCREENDUMP MICRO REET No 57 February 1983 Listing 1 SCREENDUMP PROGRAM SAMPLEUSEOFSCREENDUMP t SAMPLE PROGRAM USING SCREENDUMP t USES TURTLEGRAPHICS VAR D
319. that I made no mention of the POKEs to 9554 and 9368 which set the starting addresses for input and output for the indirect file OS 65D was developed on and for systems with 48K of memory and thus these addresses are set by default to 8000 hex If you don t happen to have 48K you will have to reset these ad dresses with the appropriate POKEs One good way to decide what number to use is to figure out how many pages Listing 1 10 REM 20 REM SO PRINT 28 To begin of workspace memory you have divide it by two and then subtact that num ber from the page number of the end of your contiguous memory For example on a 24K system running OS 65D V3 2 you have roughly 12K of free RAM which translates to 48 pages of memory Dividing that by 2 yields 24 The top of 24K is page 96 96 24 72 and thus 72 is what I recommend you POKE 9554 and 9368 with in your so that it is always set up and available when needed If you own an OSI disk system manufactured before August of 1980 you have probably cursed OSI s fast Program to add DATA statements to existing programs to set up USR X 30 SzINT PEEK 8960 59 2 59 POKE133 S 1 40 SS PEEK 8960 REM System Memory Size in Pages I need to know the starting and ending 60 PRINT memory address where your machine code is in memory FRINT 70 PRINT For the starting address GOSUB490 SA A 80 PRINT For the ending address GOSUB490 EA A functions
320. the Commodore 64 My December column MICRO 55 54 covered the exciting graphics features of the Commodore 64 including sprites and high resolution graphics The Commodore 64 s sound includes many capabilities found only on dedicated synthesizers In this column I explore the C64 s sound features and then review some sound software The Problems The sound capabilities of most com puters and even most add on boards are limited Sounds programmed with these usually don t come close to their natural counterparts It s not sur prising considering the way most com puter sound is produced According to the theories of a physicist named Fourier all sounds can be constructed by combining sine waves figure 1 of the right frequen cies Full fledged synthesizers allow full control over how much of each sine wave is used In addition the phase of each can be varied As a result synthe sizers can duplicate nearly any sound How is music usually produced with home computers On the PET and many others it is possible to set up a square wave on the CB2 line of a 6522 by using an internal timer and the serial shift register square wave sounds a bit like a clarinet The VIC and Atari computers use more sophisti cated systems with special chips par tially dedicated to music Musical sounds are usually com posed of a single fundamental fre quency that determines the pitch of the note and various amounts of the ha
321. the first new word and re edit your definitions This process is repeated until your program runs Because of the display width limitation on the CC CCFORTH screens are 32 lines of 32 characters rather than the standard 16 lines of 64 characters I found I liked that arrangement better The shorter lines allow for better program phrasing Charles Moore the inventor of FORTH has said that FORTH is about as controversial as religion or politics No 57 February 1983 He maintains that a good way to start an argument among programmers is to say Boy FORTH is a great language I have mixed feelings about FORTH it is difficult to learn and reading some one else s program can be a problem though I am beginning to see that FORTH programs can be readably writ ten Keeping track of all the data floating around on the stack can be most frustrating particularly to a beginner However in spite of a few misgivings I never cease to be im pressed with how much you can do with FORTH with so little source code My guess is that with equally well documented and formatted programs in FORTH Pascal and BASIC the FORTH program will be considerably shorter and will run considerably faster than any of the others 68 FORTH for 6809 available as a printed listing from FORTH Interest Group P O Box 1105 San Carlos CA 94070 Write for their current catalog and prices tFORTH tFORTH and firmFORTH available from Talbo
322. ther and LIST creates a list of its arguments Some ex amples CONC I LISP YOU LISP returns I LISP YOU LISP and LIST A B returns A B AND I mentioned above that it is possible to assign values to literal atoms This is done with the LISP function SETQ The first argument to SETQ is the atom to be assigned a value and the second argument is the value An anomaly to remember about SETQ is that the first argument is not evaluated but the sec ond argument is For example if you want to assign the atom the value No 57 February 1983 LANGUAGES NNI WHO AM Ij type SETQ AM I Now whenever the atom A is evaluated the list WHO AM I would be returned Although there is no string data type in LISP there are facilities to treat atoms print names as though they were strings One such facility is the special kind of literal atom called the string atom A string atom is the same as a literal atom in all respects except that its print name is delimited by a pair of double quotes Any character may appear within the quotes except a double quote For example THIS IS A SINGLE ATOM is a single atom whose print name is the sequence of characters between the double quotes String atoms allow you to create atoms with funny print names for in stance can be an atom it has nothing to do with the symbol used to denote lists The LISP functions EXPLO
323. they are skipped In the previous example the atom LOOP is a label The GO function causes flow of control to proceed to the label indicated in the GO not unlike a GOTO in BASIC The RETURN function is used to exit a PROG The argument of the RETURN is evaluated and returned as the value of the PROG If RETURN is not used to exit the PROG then PROG returns NIL The example given for FACTORIAL should now be easy to understand When the PROG is entered PROD is SETQed to 1 and the main loop is then entered The first part of the loop is a test If N is 0 the PROG is exited and PROD is returned otherwise PROD is multiplied by N and N is decremented No 57 February 1983 ee LANGUAGES NENNEN SUB is the subtract function GO then brings you back to the beginning of the loop As you can see the iterative FACTORIAL is functionally equivalent to the recursive version The major difference is that although the iterative function is longer it is probably faster and more efficient than the recursive one LISP functions that are built into the interpreter are called SUBRs for SUBRoutine Functions that are defined by the user are called EXPRs The EXPRs that you have examined so far are functions that take a known num ber of arguments as indicated by the function s formal argument list The LISP mechanism for defining a function for which the number of arguments is not known is the FEXPR FEXPRs are defined using the follo
324. through them then read in another 100 records and search through them etc This method would be slower but it would allow you to search disk or tape files of any length Contact Mr Bruey at 201 S Grinnell St Jackson MI 49203 No 57 February 1983 TRS 80 COLOR QUEST A NEW IDEA IN ADVENTURE GAMES Different from ali the others Quest is played on a computer generated map of Alesia Your job is to gather men and supplies by combat bargaining explor ation of ruins and temples and outright banditry When your force is strong enough you attack the Citadel of Moorlock in a life or death battle to the finish Playable in 2 to 5 hours this one is different every time 16k TRS 80 TRS 80 Color and Sin clair 13K VIC 20 14 95 each ADVENTURES These Adventures are written in BASIC are full featured fast action full plotted ad ventures that take 30 50 hours to play Ad ventures are interactive fantasies It s like reading a book except that you are the main character as you give the computer com mands like Look in the Coffin and Light the torch Adventures require 16k on TRS80 TRS80 color and Sinclair They require 8k on OSI and 13k on Vic 20 Derelict takes 12k on OSI 14 95 each OSI AARDVARK VIC 64 VIC 20 CATERPILLAR O K the Caterpillar does look a lot like a Centipede We have spiders falling fleas monsters traipsing across the screen poison
325. tional FLEX disk drive 1 disk drive 48K Ap DOS 3 2 1 drive 20K 48K 16K RAM card recommended DOS 3 3 1 drive 16K or 32K PET CBM disk drive Z 80 Softcard CP M or CDOS 32K min 2 drives 16K 250 350 500 15 cass 20 disk 75 750 750 1250 600 29 95 850 29 95 soseyoeg osensuey 14 uoneuuojuj 50 cass 3 extra 29 95 125 495 2 MHz u Speed IT 645 4 MHz a Speed IE Plus 49 95 disk 99 95 139 95 hi res amp floating point 1605 5139 95 With Beating E 5100 8200 129 95 90 cass 75 source code 109 95 Language Packages will be continued in next month s issue Information Sheet 1 nr meter nn pat cera Language Packages Information Sheet 1 Addresses AB Computers 252 Bethlehem Pike Colmar PA 18915 215 822 7727 Abacus Software PO Box 7211 Grand Rapids MI 49510 616 241 5510 Addison Wesley Publishing Co Jacobs Way Reading MA 01867 617 944 3700 Apple Computer Inc Software Division 10260 Bandley Drive Cupertino CA 95014 516 751 5139 Applied Analytics Inc 8235 Penn Randall Place Suite 202 Upper Marlboro MD 20972 301 420 0700 Armadillo International Software PO Box 7661 Austin TX 78712 512 459 7325 ATARI Home Computers 1265 Borregas Ave Sunnyvale CA 94086 80
326. tle Graphics learn programming 34 95 CW 1924 Omega Race the ultimate space game 31 95 CH VIC Forth is a powerful language for BASIC programming 49 95 CW 1937 Seawolf an explosive Bally Midway arcade PCAASSIC 24 95 CH HES MON isa6502 machine language monitor with 34 95 CH G202 Maze o Mikor adventure packed game with 15 95 a mini assembier CH HES Writer tme saving word processing tool 34 95 CH G203 Tank Wars 15 95 H Encoder keep your personal records away from prying eyes 34 95 CH G205 Pinball 13 45 CT 21 Statistics Sadistics statistical analysis 14 95 CH G206 simon tougher as you get better Great for 13 45 CT 121 Total Time Manager 2 0 creates personal or 15 95 CH G207 Fuel Pirates 13 45 CT 124 Label a mailing list and label program 13 95 CH G209 Laser Blitz 15 95 CT 125 Tott Text BASIC 15 95 CH G210 Tank Trap 15 95 CT 126 Research Assistant keep track of reference data 17 50 CH G211 Concentration 13 45 CT 140 Totl Text Enhan 29 CH G212 Dam Bomber pilot your plane avoid enemy fire 13 45 e anced 9 95 CH C CM 152 Grafix Designer design graphic characters 12 95 307 Shamus search room after room for the shadow 34 95 CQ 5 Minimon allows you to program load save or execute 13 95 x 3 oS wo eveis oi ntense arcade een on machine language programs CH C308 Protector 36 95 CT 3 Order Tracker 15 95 CPU 79 Breakout 7 95 CT 4 Business Inventory to maintain record of inventory 15 95 CPU 85 Hangman unbelievable
327. tors for 2040 4040 disk drives Real world software at low cost 2114 RAM adapter replaces obsolete 6550 s and 4K memory expansion for old 8K PETs Hundreds of satisfied Write for free catalog mized Data Systems Dept M Box 595 Placentia CA 92670 Doubie Precision Pascal JFeraC mp A scientific mathematics library for Apple Pascal Gives the Apple mainframe accuracy with 64 bit double precision mathematics Package includes matrix operations including i inverse double precision trigonometri functions and dynamic array allocation Race 00 from gt M PicoTera Systems Box 163 Corvallis 97339 MICRO 503 754 0237 MiCRObits continued on page 93 No 57 February 1983 Microcomputers a College Teaching Laboratory Part 4 by Deborah Graves Richard H Heist Thor Olsen Howard Saltsburg Interfacing a microcomputer to two types of scientific instruments is described These applications illustrate the importance of commonality in both hardware and software design Interfacing a microcomputer to a scientific instrument can enhance the capabilities of the instrument as Illustrated with a spectrophotometer or it can facilitate data reduction and increase productivity as illustrated with a gas chromatograph In Parts I 111 of this series MICRO 53 53 55 59 56 38 we have described how the microcomput
328. ty commands that are easy log ical and operate in the normal Applesoft entry mode or in AXE s editing modes AXE operates on BASIC code as stored in memory by Apple soft No conversion of code to text is required In addition all Apple II DOS and monitor com mands are left fully functional Price 69 95 Includes floppy diskette and complete documentation Available Versa Computing Inc 3541 Old Conejo Rd Suite 104 Newbury Park CA 91320 805 498 1956 No 57 February 1983 Name GraFORTH System Apple or Apple Plus Memory 48K Language Machine Language Hardware DOS 3 3 and one or more disk drives Description GraFORTH is a fast compiled graphics lan guage similar to FORTH but with many built in graphics features including line and area graphics Turtlegraphics Character graphics and ani mated 3 D graphics Price 75 00 Includes diskette and 220 page manual Author Paul Lutus Available Insoft Inc 10175 SW Barbur Blvd Suite 202B Portland OR 97219 Name Semi Draw System TRS 80 Color Computer or TDP System 100 Memory 32K Language Extended BASIC Description With Semi Draw your computer s keyboard or joystick draws in eight colors with semi alpha graphics 8 12 and 24 Semi Draw provides animation and dumps the pic ture of the screen to a Line Printer VII VIII NEC 8023 or C Itoh 8510 printer Just press the space bar to see the HELP display for instru
329. ull one year guarantee 2 tone ano _dized case Custom valt current outputs on special order Input surge protection e Auto 1 ve ti Polarity Protecti Compact only 7 4 x 4 x 2 Fast load transient response 5 volt adj 10 eDC Out put 42 Watts continuous e 70 Efficiency SCHOOLS LABS QUANTITY PRICING ON REQUEST eseseesesacoceecescooocceooco000000909009990209 e esovoveceoseccoocos 1 1545 Osgood St Unit 114 No Andover MA 01845 Name Pleass print E ORDER INFORMATION City Zip Order First Unit 99 50 Model Output 1 Output 2 Output 3 Second Unit 79 60 12V 0 5A OFFER EXPIRES March 31 1983 15V 0 4A Sub Total 5V Mass res add 5 Tax Shipping amp Handling 350 6A 5V 1A Psa 5v 3a_ 2av 0 60 24V 05A Information on other switcher models TOTAL Charge to O MasterCard Q Visa O AmericanExpress Check Money Order Signature PHONE ORDERS CALL 617 682 6936 FOR PROMPT SERVICE MICRO 64 780 KB Disk Storage Word Processing Ultracaic CP M C Basic Software Smith Corona TP 1 Letter Quality Printer 2995 00 Retat Value 4895 00 EAGLE 1600 CALL NEC COMPUTERS 729 00 729 00 549 00 8001A 8031 8012 PRINTERS 499 00 2399 00 1599 00 MONITORS 8023 7710 7730 3510 3530 129 00 159 00 319 00 729 00 JB 1201 JC 1201 JC 1203 NEC 3550 PRINTER
330. ur complete catalog a AARDVARK 80 2352 S Commerce Walled Lake MI 48088 313 669 3110 e Phone Orders Accepted 8 00 a m to 4 00 p m EST Mon Fri No 57 February 1983 MICRO 39 BASIC Renumber for OSI by Paul Krieger A BASIC language routine to renumber BASIC programs in memory and save to tape Renumber requires OSI 1 This BASIC language routine is written for an OSI It will probably run on other OSI machines and I suspect could be adapted to most Microsoft BASIC machines as well To do this you would have to 1 change X 769 throughout the program to the ap propriate starting address for your machine 2 revise the instruction table lines 40320 40490 for your particular BASIC and 3 change the syntax of the BASIC to your format To operate this program first key it into your machine after a cold start and then test it to make sure there are no keyboard errors or omitted lines You can test it by typing RUN40280 The first message on the screen will be ENTER RANGE OF OLD s YOU WISH TO UPDATE LOW HIGH Enter the lower number comma higher number For the test enter 40280 41500 which is the range of this routine The program will then ask you for the new number BEGIN STEP Enter the new beginning number and the increment you want between num bers appropriate answer for this would be 1 1 which will cause the first line to be 1 instead of 40280 and e
331. ures include inverse doubled and rotated graphics and many text control features available through easy keyboard of software commands Uses Industry standard graphics commands This is the first truly universal intelligent parallel interface Change printers no need to buy another board Just plug in one of our RON S and you re all set ROM S available for Epson C Itoh NEC and j Okidata others available soon Specify printer when ordering Call for Price THE UPGRADEABLE PPC 100 PARALLEL PRINTER CARD and connector This unique board allows you to turn on and off the high bit so that you can access additional features in many printers Easily upgradeable to a fully intelligent printer board with graphics and text dumps Use with EPSON C ITOH ANADEX STAR WRITER NEC OKI and others with standard Centronics configuration 139 00 IF YOU WANT GRAPHICS AND FORMATTING THEN gl CHOOSE THE PERFORMER f ey for Epson OKI NEC 8023 C ITOH 8510 provides resident HIRES screen dump and print formatting in firmware Plugs into Apple slot and easy access to all printer fonts through menu with PR command Use with standard printer cards to add intelligence 49 00 specify printer p THE MIRROR FIRMWARE FOR NOVATION APPLE CAT 11 The Data Communication Handler ROM Emulates syntax of an other popular Apple Modem product with improvements Plugs directly on Apple CAT Board Supports Videx and Smarterm 80 column c
332. urrent pos Wrap around on side Go to 63 on right wrap Go to 31 on left wrap Store new char pos Move and set new cursor Restore cursor move MICRO voked it interprets all user keystrokes until the end of the edit session In general the words called by EDIT should not be executed from the key board Since the EDIT words manipu late the screen results of direct execu tion can be confusing EDIT is invoked by pushing the screen number on the data stack and calling EDIT For exam ple to edit screen number 60 type 60 EDIT Listing 1 is the EDIT application occu pying screens 60 through 86 on my EDIT source disk The original EDIT text was entered with the APX fig FORTH editor 27 LOAD and rewrit ten with the debugged version of EDIT The basic structure of EDIT is straightforward As defined on screens 85 and 86 EDIT reads a screen into memory displays the left half SIDE 0 on the video display and sets a stop flag to zero no stop The main loop is executed until the stop flag is set to a non zero value by one of the FORTH words EXIT EABORT ENEXT or ELAST EDIT inputs a ter minal key each pass through the main SENSE CARDBOARD 3 0 An Economy Expansion Interface Motherboard y Y f For the VIC 20 Personal Y Computer The CARDBOARD 3 is an expansion inter face designed to allow the user to
333. voltages to TIL convert hex code data to POKEs and use a CTS line from the VIC No 57 February 1983 Apple Along with the Apple articles in our language feature we offer an Applesoft BASIC Routine for CAI by Robert Phillips p 81 With this routine you can trap errors isolate mistakes and overlook typographical errors Mr Phillips also discusses some uses for a match routine and presents just such a routine in BASIC Columns This month s column on the Color Computer shows you how to interface your machine language routines with BASIC p 92 John Steiner discusses the use of a RAM hook and presents a routine that interfaces with the LIST and LLIST commands to page a list on the screen Tim Osborn presents BUILDIT Apple Slices a routine that makes programs external to VisiCalc create and access VisiCalc worksheet files p 95 Whether you are a begin ner Or pro you can learn something from this program Paul Swanson in From Here to Atari 31 discusses languages available for the Atari and answers several readers questions on hardware Commodore 64 fans will want to read Loren Wright s comments on the system s exciting sound capabilities p 71 He takes a look at music software including Synthy 64 a musical composi tion program from Abacus Software NEW SECTION BEGINNING NEXT MONTH Turn to page 112 for more information on our new section for the SERIOUS NOVICE appearing for the first time next
334. wing format DEFINE function name FLAMBDA formal argument function body The difference between a FEXPR and an EXPR is that a FEXPR contains a single formal argument in the formal argu ment list When such a function is in voked the formal argument is bound to the entire unevaluated list of actual arguments For example define the following function DEFINE PRINTME FLAMBDA X X If you now type PRINTME LISP LISPER LISPEST you get LISP LISPER LISPEST The formal argu ment X gets bound to the list of actual arguments LISP LISPER LISPEST Note these arguments are not evaluated The function then just returns X If you want to define a function that adds up an arbitrary number of numeric atoms the following functions will serve your needs DEFINE ADDLIST FLAMBDA X ADDLIST2 DEFINE ADDLIST2 LAMBDA X COND NULL X 0 T ADD CAR X ADDLIST2 CDR X Since the function can take any num ber of arguments it has to be declared No 57 February 1983 FEXPR This function ADDLIST simply passes the argument list to the function ADDLIST2 which recursively adds up the elements of the list Note that a FEXPR should never be recur sive since its arguments are never evaluated The final LISP feature discussed in this article is the property list or p list A p list is a list of properties and prop erty values that may be associated with a literal atom A p
Download Pdf Manuals
Related Search
Related Contents
Consignes de sécurité Snapper 204400 User's Manual Formation au tutorat Manual de instalación CHER MANAGER, - Planet fitness EURLITE LCD-4/S User Manual Manual Fogão elétrico.cdr MANUALE UTENTE Copyright © All rights reserved.
Failed to retrieve file