[PDF] Word Processing in - Free Download PDF (2024)

Download Word Processing in...

AUGUST 1983

NO. 63

U.S. Edition: International Edition:

$2.50 $3 00

_________ Acbtmning. Computer Knowledge Word Processing

®

A Word Processing Prim er: What to Look for, What to Avoid

©

Fourteen Popular Apple Word Processors Reviewed

JI

C

Word Processing in Pascal: Add Sophisticated Printout Controls

O

Use a Selectric Terminal as a Letter Quality Printer

Compute the Net Present Value of Your Investment Peripherals Catalog for Commodore, Color Computer, Texas nstruments

H E ."-

tArpst P e r Annum

*-

d Yearly

^V

$8.75 $7.60

■ See page 72

•.?'

1

1

See page 54

See page 45

In this month’s Learning Center: Atari Nine-Color Painting Program, Part 2 Color Computer Text Editing Routines Address Filer for the Apple

PEACH™ LN

GR

EMI-RFI FILTERED AC SURGE PROTECTOR

X

IY /

WORDPROCESSOR WORI COMMODORE 64 V FOR THE COI ALSO CHECKS YOUR SPELLING!

S

C

R

I

P

T

6

4

Suggested Retail: $ 1 3 9 .9 5

“ REALLY FOXY IS BEING LETTER PERFECTss

C o n ta c t Y o u r N e a r e s t C o m m o d o re D e a le r T o d a y . . . Y o u ’ ll B e S o G la d Y o u D id !

Distributed By: C O M P U T E R M A R K E T IN G

3 00 W. M arlton Pike C herry Hill, New Jersey 0 8 0 0 2 [6 0 9 ] 7 9 5 -9 4 8 0

SERVICES INC

C om m odore 6 4 is a tra d e m a rk of Com m odore E lectronics Lim ited S c rip t 6 4 is a tra d e m a rk of Richvale Telecom m unications

No. 6 3 -August 1983

MICRO

/AJCRO Highlights

TM

he magic wand currently being brandished is the word processor, an automated unit that combines hardware and soft­ ware to create, store, retrieve, and print out text. There are many fac­ tors to consider when buying a word processor, first and foremost being your needs. You w ill also have to make decisions regarding hardware (the computer, a mass storage d e v ic e , and p r in t e r ) , w ord processing software, docum enta­ tion, equipment compatibility, and available additional features. Cost will be related to the power of your total system. To help you put together your own m agic wand, this month MICRO features word processing. In "A Word Processing Prim er" (pg. 22) Phil Daley and Loren Wright provide some guide lines for buying a word-processing system. If you own an Apple, you will want to read “ Apple Word Processors" (pg. 26) in which Phil Daley reviews word pro­ cessors currently available for use with the Apple. Richard and Donna Marmon have written a program that adds the features missing in the Apple Pascal Language System Editor. "W ord Processing w ith Apple Pascal" (pg. 30) shows you how to add full word-processing capabilities to your Pascal Editor. John R. Raines explains why the D vorak Sim plified Keyboard is faster and more efficient for touch typists than the "qw erty " keyboard. See "D vorak Keyboard for Your Com puter" (pg. 38). And finally, "T h e Selectric Word Processor" by Louis F. Sander (pg. 44) is a conver­ sion program that uses an IBM Selectric terminal to provide lowcost letter-quality printing. When you have finished with the featu re sectio n , turn to John Steiner's monthly “C oC o B its " col­ umn (pg. 115) for information on the Color Computer as a word pro­ cessor. Also this month, MICRO in­ troduces a new "Apple Slices" (pg. 118) colum nist. Jules Gilder is

T

Attache-style cases for carrying and pro­ tecting your complete computer set-up. Accommodates equipment in a fully oper­ ational configuration. Never a need to remove equipment from case. Simply remove lid, connect power, and operate.

AP101 Apple II with Single Drive $109 API 02 Apple II with TVro Disk Drives 119 AP103 Apple II, 9 Inch Monitor & TWo Drives 129 AP104 Apple III, Two Drives & Silentype Printer 139 AP105 13" Monitor with Accessories 99 AP106 AMDEK Color Monitor 119 RS201 TRS-80 Model I, Expansion Unit & Drives 109 RS204 TRS-80 Model III 129 AT301 ATARI Computers with Peripherals 109 P402 Centronics 730/737 & 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 Microllne 83A or 84 Printer 99 P408 Prowrfter 2 Printer 99 P409 Prowrlter (Apple Dot Matrix) Printer 89 IB501 IBM Personal Computer 129 IB502 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

2

MICRO

ABOUT THE COVER The colorful graphic on MICRO’S cover is an interpretive representation of this month’s feature — word processing — as conceived by artist Curt Witt.

editor of M icrocom puter Software N ew sletter and has been vice presi­ dent in charge of computer software at Children's Television Workshop. You will find that the content of the column is now featuring news rather than programs and programming tech n iques, w hich are already covered in the magazine. Loren W right's "P E T V et" col­ umn (pg. 12) provides you with in­ formation about KMMM Pascal for the C 64, Paul Swanson discusses new products for the Atari in "From Here to A tari" (pg. 16), and Ralph Tenny, in "Interface C lin ic” (pg. 122), continues his discussion of BASIC programming. Be sure to visit The Learning Center (pg. 65) where you can study graphics, text editing routines, and an address file manager. It may be summer, but that does not mean school is out at MICRO!

ZMCRO No. 63 - August 1983

HAVE y o u FLOWN VOUR ATARI TODAY?

pavement, your pulse quickens, you’re down, but watch it, you’re pullins risht! Brakes, brakes! Left more! You’ve stopped safely! Good job. The first real-time flight simulator for ATARI is now available from MMG Micro Software. Written en­ tirely in machine language, there are four levels of difficulty, landings in clear or foggy weather, landings with or with­ out instruments, and with or without the real-time view from the co*ckpit. Final Flight! requires Atari 400/800, 24K, 1 joy stick, and is offered on tape or disk for the same sug­ gested retail price of $29.95.

MMG

imagine y o u rs e lf at the con­ trols of a small, single­ engine plane, 10,000 feet in the air, on your approach to the runway and safe­ ty. You’re running low on fuel, but your instruments show that you’re on the glide path, and lined up with the run­ way. It’s a beautiful, sun­ ny day, and you can see the airport in the distance, across the grassy fields. But the crosswind is tricky, and it will take all your skill to land safely. You’re coming down now, and the runway is getting closer. A bit left, OK, now lower the power, fine, now put down the flaps. Pull the nose up a bit more, you’re a little low. Watch the power! Don’t stall. OK. Here comes the runway. You hear the squeal of tires on No. 63 • August 1983

Final F lig h t! is available at your local dealer or direct from MMG Micro Software. Just send check or money order to P.O. Box 131, Marlboro, N.J. 07746 or for Mastercard, Visa, and C.O.D. deliveries call (201)431-3472. Please add $3.00 for postage and handling. New Jersey residents add 6% sales tax. Atari is a resistered trademark of Atari, Inc. MICRO

3

Advancing Computer Knowledge MICRO P.O. Box 6502, Amherst, NH 03031 (603) 889-4330 Managing Editor Marjorie Morse Technical Editors Phil Daley Loren Wright Assistant Editor Emmalyn H. Bentley Office Mgr./Editorial Assistant Maureen Dube Programming John Hedderman Tom Marshall Contributing Editors Cornells Bongera Dave Malmberg John Steiner Jim Strasma Paul Swanson Richard Vile Art Director/Production Helen Bergeron Typesetter Lynda Fedas Advertising Sales Manager— Bob Mackintosh Admin. Assist.— Dawn Blute Dealer Sales Sales Manager— Kathie Maloof Linda Hensdill Circulation Cindy Schalk Accounting Donna M. Tripp Presldent/Editor-in-Chlef Robert M. Tripp Publisher John G. Grow Associate Publisher/ Circulation Manager Nancy Lapointe

MICRO is published monthly by: MICRO, Amherst, NH 03031. Second Class postage paid at: Amherst, NH 03031 and additional mailing offices. USPS Publication Number: 483470. ISSN: 0271-9002. Send subscrip­ tions, change of address, USPS Form 3579, requests for back issues and all other fulfill­ ment questions to MICRO, 10 Northern Blvd., P.O. Box 6502, Amherst, NH 03031, or call (603| 889-4330, Telex: 955329 TLX SRVC, 800-227-1617. Subscription rates iper year): U.S. $24.00, $42.00 / 2 yr. Foreign surface mail $27.00. Air mail: Europe $42.00; Mexico, Central America, Middle East, North Africa, Central Africa $48.00; South America, South Africa, Far East, Australasia, New Zealand $72.00. Copyright © 1983 by MICRO. All Rights Reserved.

4

MICRO

No. 63 - August 1983

W ord P ro c e s s ln g -p a g e 7 2

O O 67

The Learning Center

Columns

Articles 54

Text Editing Routines for the Color Computer

How Much Is It Worth?

12

Brian J. Flynn

Pascal for the Commodore 64

Computing the net present value of an investment

16

John Steiner Routines for any program that manipulates text

72

58

A glance at new computers from Atari

A Machine Code String Array Sort for OSI

115 CoCo Bits

John D. Rippon

John Steiner

Sort members of a string array into alphabetical order

Paul Swanson

84

CoCo As a Word Processor

118 Apple Slices

Save the Networks

Jules Gilder

Robert F. Soloman

Our new columnist looks at products for the Apple

Capturing Network Communications on the OSI

122 Interface Clinic

96 A Product Catalog for Commodore, Color Computer, and Tl

Ralph Tenny Create a circuit that will serialize eight bits of logic data

A resource list for hardware buyers * — % — ♦ 5 8 8

G

Address Filer for the Apple Phil Daley A short file program that demonstrates random-access techniques

No. 63 - August 1983

V

8

¥

r

C

— 7

J F

81

From Here to Atari Paul Swanson

Mode 10 Atari Painting Program, Part 2 Add cassette capability and vertical fill

PET Vet Loren Wright

U H

B

M

Departments

r

K *

J

N

t J

!

-

9

P L f

*

104 It’s All Relative, Part 6 Jim Strasma

*

2 7 8 121 126 132 134 143 144

August Highlights Editorial Letters/Microbes/Letters New Publications Reviews in Brief Hardware Catalog Software Catalog Next Month in MICRO Advertiser’s Index

The final installment in our series on Commodore relative files MICRO

5

When it comes to superior performance, we study our lines very careMy. Superior printer performance is not a fluke. It evolves from analyzing printed line after printed line. Taking the time to test and retest. After 30 years of manufacturing precision parts, we know that there are no shortcuts. And so we took the Gemini-10X and methodically put it through its 120 cps pace. We achieved a print head life of over 100 million characters with an extremely precise dot alignment creating each crisp character. So far so good. Next, sophisticated performance demanded versatility. A wide choice of character sets, a buffer expandable ■■ to 8K,and the ability to interface with all popular personal computers. We added macro

instruction, giving Gemini-10X the capability to perform up to 16 operations with one cornmand. We included as standard a paper feed system that has a friction and fully adjustable tractor feed. Then we even built in the dexterity to print graphics and text on the same line, Done. And, of course, staying the best means constant reviewing and fine-tuning. Keeping the Gemini easy to find, easy to afford and so reliable it can be warranted for up to twice as long as its major competitors, . Only the most careful engineering has built the new hard-working GeminMOX. You’ll applaud its performance.

micro n i c s » m c THE POWER BEHIND THE PRINTED WORD. Computer Peripherals Division 2803 N.W. 12th Street, Dallas/Ft. Worth Airport, TX 75261

/AlCftO Editorial

HOMEBASE™ THE COMPLETE TRS-80* COLOR COMPUTER

DATABASE IN ONE COMPLETE PACKAGE: TEXT PROCESSJNG»DATA MANAGEMENT SPREADSHEET CALCULATION• TEXT& DATA UTILITIES P O W E R A F L EX IB ILITY :

r n March 1982, we ran an editorial entitled "H ello, OSI?” , which was intended to be a service to our readers. We tried to find out what OSI (M/A COM) had planned for its line of OSI microcomputers. D etails were sketchy and complete explanations non-existent. Since then a lot has happened to the m icrocom puter market and to MICRO magazine. Now it is time for us to close our OSI chapter. You've probably noticed that MICRO is changing; so is our au­ dience. Our editorial space is limited and it is obvious to us that we must devote that space to users of Ataris, Commodores, Apples, Color Com ­ puters, and the machines of the future. These systems have lots of support and many owners. The lowcost OSI, as a strong contender in the home microcomputer market, has died. We called Kendata, recent pur­ chaser of OSI, to find out what they have planned for the microcomputer market. The staff in their Connecticut offices said that at present they are working on a portable, low-end workstation for the 300. But the 300 is aimed at the professional business market, not MICRO'S "programmer" audience. According to the Kendata staff, the OSI market is being rede­ fined as the professional business market and they do not intend to compete with Apple, IBM, or Com­ modore for the "personal" market. C onsequently, w e've decided that, after this August issue, MICRO will no longer offer articles on OSI systems. We do realize that a certain percentage of our readers own OSIs, but we hope they will understand our position. M ICRO has covered the OSI more thoroughly than any other magazine, for the last six years. But it is time for us to move on. There are still several newsletters covering OSI specifically. For instance, the OSIO

No. 63 - August 1983

N ew sletter Yut of Virginia offers news oiT'OCI, S n id es, and a program ex­ change. You may contact William Callaghan at 6605 Fisher Ave., Fall Church, VA 22046 for more informa­ tion. We suggest that OSI owners use OSIO and other newsletters as their resource.

• • • • • • • • • • • • • • • •

P A G E N U M B E R IN G & H E A D IN G S R E N A M E file s & P R IN T O IS K D IR E C T O R IE S V A R IA B L E L E N G T H a lp h a /te x t d a ta lie id s D E F IN E a n d T O T A L o n fie ld s w ith in T E X T re c o rd s P r in t F O R M L E T T E R S & M U L T IP L E C O P IE S F R E E F O R M R E P O R T W R IT E R fo r D A T A file s 50 D A T A F IE L D S p e r d a ta r e c o rd R E O R G A N IZ E d a ta o r te x t r e c o rd s S E A R C H o n r e c o rd n a m e s o r a n y d a ta P R IN T la b e ls u s in g te x i o r d a ta r e c o rd s A S S IG N y o u r o w n r e c o rd & d a ta n a m e s F O R M A T T E D p r in t in g fo r d a ta r e c o rd s & fie ld s M E R G E . B A C K U P ( to c a s s e tte ) , o r C O P Y a n y file 2 5 0 S c re e n s o f te x t w ith e m b e d d e d p r in t e r c o n tr o ls A S C E N D IN G & D E S C E N D IN G S O R T u s in g a n y d a ta A D D . S U B T R A C T . M U L T IP L Y o r D IV ID E D A T A F IE L D S

• • • • •

N O p r o g r a m m in g o r e q u ip m e n t m o d if ic a tio n s re q u ir e d M E N U d r iv e n w ith s in g le s tr o k e c o m m a n d s C O M P L E T E c u r s o r c o n tr o l fo r te x t & d a ta e n tr y 120 P A G E M A N U A L W IT H 2 M A S T E R D lS K E T T S R E Q U IR E S 3 2 K C o lo r C o m p u te r w ith 1 d is k d riv e

E A S Y TO U S E AND W EL L S U P P O R T E D :

FOR VISA /M A STER C AR D OR DER S CALL: 800-334-0954 e it . 887 in N.C 919-544-5408 OR SEND $75.00 check/m oney order

AIM, SYM , KIM W e've also decided to discontinue coverage of the AIM, SYM, and KIM computers. Over the last several months the number of articles in each issue on these single boards has dwindled to almost nothing. As with OSI, the market for these systems is dying. Not only is our readership limited in this area, but we receive a negligible number of ASK-related ar­ ticles. These computers essentially began the microcomputer industry and were important in their time; but their tim e has come and gone. Users of these systems will continue to write for MICRO, but the programs and ideas will be of general interest or converted to other machines.

MICRO on the OSI Although we have decided to discontinue OSI coverage in MICRO, we have not completely discontinued support. MICRO recently published a volume specifically for OSI users. MICRO on the OSI, for $19.95, offers 24 programs/articles to help you enhance your programming capabil­ ities. This book is full of essential material (including an OSI memory map!) for OSI users.

Marjorie Morse Managing Editor

MICRO

f l li E B f r HOMEBASE - COMPUTER SYSTEMS P.O. BOX 3448, DURHAM, N.C. 27702 N C r e s id e n ts a d d 4% s a le s ta x H O M E B A S E '” is a tr a d e m a r k o f H O M E B A S E " C O M P U T E R S Y S T E M S , a s u b s id ia r y o I S m a ll B u s in e s s S y s te m s . D u r h a m . N C (9 1 9 ) 5 4 4 - 5 4 0 8 ‘ T R S -8 0 is a tr a d e m a r k o f T a n d y C o rp

R

°

pO U B^N A M E^H ER E

tP E R S O N A U Z E D ^ -1

— COMPUTER PAPER— Printed with your name, club, anything. Paper is white 20# stock and fits all printers using 9 1/2x11continuous pa­ per [8 1/ax11 when detached], 500 s h e e ts $ 1 4 . 9 5 , 1 0 0 0 sheets $ 2 4 .9 5 . W e pay shipping. Texas orders add 5 1/a% tax. Select ink color: red, blue, brown, gray, or canary. Specify name[s] up to 30 letters & spaces. Enclose check or money order. No COD’s. Allow 3 weeks. Faster de­ livery with M/C, Visa phone orders. W rite or phone Personalized C om puter Paper D, Box 20539/San Antonio, Tx. 7 8 2 2 0 / [512] 22 7-0 5 8 5. 7

/AICRO Updates and Microbes Many Missing Lines Our June issue carried an article by Bob Sullivan entitled "HEXPAD: U tility for M achine Language Key-Ins.” Unfortunately, the listing shown here, was not included.

1000- AD C6 00 1003- C9 0ft 1005- 50 0E 1007- fill D9 00 100fi- C9 30 100C- 90 07 100E- C9 39 1010* B0 03 1012- 4C 55 E4 1015- 20 IB 10 1018- AC 12 10

10 IB- R0 07 101B1020102210231025-

D9 31 10 F0 04 88 D0 F8 60

1026- R9 9D 1028- 20 D2 FF 102B- 98 102C- 69 3F 1G2E- 20 D2 FF 1031- 60

10321033103410351036103?-

2E 2D 3D 2B 2R 2F

0110 0120 0130 0140 0150 0160 0170 0180 0190 0200 0210 0220 0230 0240 0250 0260 0265 0267 0268 0270 0275 0280 0290 0300 0310 0320 0330 0340 0350 0360 0370 0380 0390 0400 0410 0420 0430 0440 0450 0460 0470 0480 0490 0500 0510 0530 0535 0540 0550 0560 0570 0580 0599 0600 0620 0625 0630 0640 0650 0660 0670 0680 0690 0700 0710 0720 0730 0740 0750 0766 0770 0780 0790 0800

; PET HEXPflD ; ;CREATE ft HEX-PflD FOR MACH ; ; BY BOB SULLIVAN BOX 2247 ; OftK PARK, ILL. 60381 ; ; AS OF RIJGUST 1982 ; .BA *1000 •OS ; DEFIN I T I O N S ; •DE $E455 IRQ ; ; eURT , ; ; ; STfiRT

■DE $FFD2

LANGUAGE KEV-INS

M utual Fund Change Roger Green sent in this change to his program, "M utual Fund Charting" (5 9:100): Line 1430 should read "....'GOTO 1450” instead of GOTO 450. ;4032 INTERRUPT REDRESS ;** CRUTI OH CHECK IRQ ; OH VOUR MACHINE

OSI M emory Test ;GET CURSOR COLUMN POSIT. ;CURSOR COLUMN = 18 VET? ;IF NOT THEN GOTO IRS ,GET LAST KEV ENTERED ,LAST KEV < ASCII FOR 0? ;IF TRUE THEN GOTO KEVCHK

CMP #$39 BCS KEVCHK

;LAST KEV > ASCII FOR 9? ;IF TRUE THEN GOTO KEVCHK

IRQ.JMP

JMP IRQ

;ELSE GOTO NORMAL IRQ

KEVCHK

JSR KEVCHK2 JMP IRQ.JMP

KEVCHK2

LBV *$07

LOOP.KC

CMP TABLE-1,V BEQ NEWKEV DEV BNE LOOP.KC RTS

;LAST KEV = TARGET? ;IF TRUE THEN SWITCH KEVS ;ELSE GOTO NORMAL IRQ

LDA #$9D JSR eWRT

;PRINT CURSOR LEFT

TVR ADC #$3F JSR @WRT

;V-INCREMENT INTO ACCUM ;V+*3F=NEW ASCII KEV VALUE ;PRINT DESIRED REPLACEMENT

RTS

;RETURN AND GOTO IRQ TARGET KEV

•BV •BV .BV ■ BV ■ BV •BV •EN

(Continued on next page)

;WRITE ASCII CHAR. ;IN ACCUMULATOR

LDA *D9 CMP *$30 BCC KEVCHK

TABLE

The Commodore 64 version of "Conversion of M om entum ” (59:85) contained errors in two lines of the listing. The lines should read: 1370 IF(PA323) THEN 1500 1380IF(PA < 24) or (P B > 3 2 3 ) THEN 1500

; ;

; CONDITION; LDA *C6 CMP *$6A BCC IRQ.JMP

NEWKEY ;

Conservation of M om entum Correction

REPLACEMENT

********** ***********

*2E tZIl $3D *2B $2A *2F

A

E + * ✓

C D E F

Dear Editor: This letter is in answer to Jeff Guernsey's letter in the April issue (#59). (Editor’s note: Mr. Guernsey

owns an OSI C4P and was lookin g for a m em ory program to ch eck his com ­ pu ter’s m em ory.) Here is a memory test I've found useful: 10 INPUT ,,FROM”;T :ll= T + 1024 20 PRINT ‘‘TO” ;U:PRINT:FORW = 1 to 500: NEXT 30 IF T U THEN END 40 POKE T,66:R = PEEK(T):PRINT CHR$(R);T 50 IF CHR$(R) = “ B” THEN 70 60 INPUT "ENTER SPACE TO CONTINUE” ;Q$ 70 T = T + 1 :GOTO 30 Above, T is the starting RAM address in decimal. You will have to know the first vacant address above the program. On my C l, the program oc­ cupies 768 to 957. Locations 0-767 are used by the system overhead. So, in line 10, I enter 958. The program tests IK of memory at a time. Line 20 has a pause loop to allow you to note the end of the test range. Line 30 checks to see if the end has been reached. In line 40, the memory location is POKEd with ASCII '66, which is the letter B. The location (continued on page 11)

8

MICRO

No. 63 - August 1983

FOR COMPLETE GRAPHICS:

U e rs a L U rite r EDUCATION

ARTIST

r.

j

i

!'

GAME PROGRAMMER

— ~,3

/.k

---------*: q

,,

- < 0 0 . ,99> '); WRITELN('TODAY IS ',D A Y , M O N T H , Y E A R ) ; WRITE('NEW DATE ? '); READLN (MONTHSTR); IF LENGTH(MONTHSTR) = 0 THEN BEGIN WRITELN('THE DATE IS 1,D A Y , . M O N T H , Y E A R ) ; HALTDISPLAY; EXIT(WRITESYSDATE); END; { SAVE CURRENT DATE VALUES ) OLDDAY :=DAY; DAY:= " ; OLDMONTH:=M0NTH; M0NTH:=' '; OLDYEAR: =YEAR; YEAR:*''; { GET DAY PART OF THE STRING ) MOREDATE :=TRUE; INDEX:= P 0 S M O N T H S T R ); IF (INDEX = 0) AND (LENGTH(MONTHSTR) > 0) THEN BEGIN DAY:-MONTHSTR; DELETE (MONTHSTR ,1, LENGTH (MONTHSTR )); MOREDATE :-FALSE; MONTH:OLDMONTH; YEAR:=OLDYEAR; END; IF (INDEX > 0) AND (INDEX < 4) THEN BEGIN DAY:=C0PY(M0NTHSTR,1,INDEX-1); DELETE (MONTHSTR,1, INDEX); END; IF LENGTH(DAY) = 0 THEN DAY:=0LDDAY ELSE IF LENGTH(DAY) > 2 THEN DATEERROR('DATESTRING1); { GET MONTH PART OF THE STRING } IF MOREDATE=TRUE THEN BEGIN INDEX: =P0S('-',MONTHSTR); IF (INDEX = 0) AND (LENGTH(MONTHSTR) > 0) THEN BEGIN MONTH:=M0NTHSTR; DELETE (MONTHSTR, 1, LENGTH (MONTHSTR)); MOREDATE :=FALSE; YEAR :=0LDYEAR; END; IF (INDEX > 0) AND (INDEX < 5) THEN BEGIN MONTH: =COPY(MQNTHSTR, 1, INDEX-1); DELETE(MONTHSTR,1,INDEX); IF LENGTH (MONTH) = 0 THEN MONTH:-OLDMONTH; END; END; IF LENGTH(MONTHSTR) > 0 THEN YEAR: =MONTHSTR ELSE YEAR:=0IDYEAR; IF LENGTH(DAY) > 0 THEN BEGIN DAYNUM:=0; REPEAT DAYNUM:=DAYNUM+1; STR(DAYNUM, WORKDAY); UNTIL (WORKDAY=DAY) OR . (DAYNUM = 31); (continued)

MICRO

No. 63 - August 1983

IF WORKDAY < > DAY THEN DATEERROR('DAY'); END; IF LENGTH (MONTH) > 0 THEN BEGIN MONTHSTR:=1JANFEBMARAPRMAYJUNJULAUGSEP OCTNOVDEC'; INDEX:=POS(MONTH,MONTHSTR); IF INDEX MOD 3 < > 1 THEN DATEERROR('MONTH'); MONTHNUM:=(INDEX DIV 3)+l; END; IF LENGTH(YEAR) > 0 THEN BEGIN INDEX:=100; REPEAT INDEX:=INDEX-1; STR(INDEX,WORKYEAR); UNTIL (WORKYEAR=YEAR) OR (INDEX=-1); IF INDEX = -1 THEN DATEERROR('YEAR'); YEAJ?NUM:=INDEX; END; { FIND THE VALUES TO BE USED WITH THE 'ORD' FUNCTION TO FIND THE TWO 'CHAR'S TO BE USED TO REPRESENT THE SYSTEM DATE } IF (DAY < > OLDDAY) OR (MONTH < > OLDMONTH) OR (YEAR < > OLDYEAR) THEN BEGIN IF DAYNUM > 15 THEN BEGIN YEARNMR:=1; DAYNUM :=DAYNUM-16; END ELSE YEARNMR:=0; DAYMONMR:=(16#DAYNUM) + MONTHNUM; YEARNMR:=YEARNMR + (2*YEARNUM); BLOCKTEXT[20]:=CHR(DAYMONMR); BL0CKTEXT[21]:=CHR(YEARNMR); UNITURITE(4,BLOCKTEXT,BLOCKSIZE,2); END; WRITELN('TKE DATE IS ', D A Y , ',M O N T H , , Y E A R ) ; HALTDISPLAY; END;

C COMPILERS-COMMON FEATURES: • UNIX VER 7 compatibility • standard float, double, and long support • run time library with full I/O and source • fast compilation and execution • full language.

AZTEC C II CP/M (MP/M) $199

* produces relocatable 8080 source code * assembler and linker supplied • optional M80 interface • SID/ZSID debusser interface • library utility • APPLE requires Z80 and 16K card

AZTEC C ] [ APPLE DOS $199 • relocates assembler supplied • APPLE SHELL • VED editor • library and other utilities • requires 16K card

C86 IBM PC MSDOS CP/M-86 $249 • directly produces 8088/8086 object code • linker supplied

Manuals—$30 ORDER 8Y PHONE OR BY MAIL-Specify products and disk format

MANX

s o f t w a r e

s y s t e m s

Box 55, Shrewsbury, N.J. 07701 (201) 780-4004 CP/M FORMATS: 8" STD. HEATH, APPLE, OSBORNE, NORTHSTAR,

OUTSIDE USA-Add S10 In N J add 5% sales tax

W

Letterbox

FO XS®W “Crafty Software from THE FOX”

(continuedJ

is then PEEKed, and the contents stored as variable R. N ext, the character string of R is printed, along w ith the memory location. If the character is the letter B, line 50 will send program flow to line 70. There, the memory index T will be in­ cremented and the process will repeat from line 30. To check the next IK of RAM, type RUN, then enter the starting address from where the last run ended. If the value found in memory is not 66, then CHR$(R) w ill not = B. At that point, the program will execute line 60. You can then see which byte contains the problem. To continue the test run, type SPACE |or any character) and hit RETURN. To check your ROMs, find another C4 owner who w ill allow you to switch ROMs temporarily. Be sure to check power supply voltages before this step. Bruce Showalter 857 Cedar Abilene, T X 79601

JMCftO No. 63 - August 1983

TM

F O X 20: The magazine for *VIC 20 users. On Cassette. The all magnetic magazine with S or more original programs per month. Game - Educational - Utility programs at an average cost of 8 8 * per program. FOXTALES - our video newsletter has Articles, Hints, Reviews and more. Delivered monthly to your door. Give your VIC 20 value and power with FOX 20. Texas Residents add 5% Sales Tax

$53/yr. U.S.

$63/yr. Cannadai Overseas

$6.50 Single & Back Issues

U p ry te 0 y te rT For the Commodore 64 The user affectionate sprite development program. Menu-driven, mono/mulitcolor sprites, loystick/keyboard, tape/disk, 20K w/FAST machine language routines. Over 80 commands: ROTATE (any angleO-360), INVERT/OBVERT, SHIFT, SYMMETRY, AND/OR. REVERSE, REVIEW, MOVIE (animation). Create and edit up to 128 sprites per file. For programming efficiency and FUNI Includes the Game Maker - automatically prepares a base for game development Cassette $29.95 Disk $34.95

FOXPACS Selected program collections for the VIC 20 and Commodore 6 4 - Games, Adventures, E d u c a tio n a l Home Utilities, Programming Utilities, e tc Each FOXPAC contains 4 programs on individual cassettes. See catalog for descriptions.

$20. All orders pre-paid (U.S. funds). Author and Dealer inquiries invited Send for our free catalog for more information on these and other fine products.

Don’t be outFOXed - Run with

F O X § © IF ir P.O. Box 507 Deer Park, Texas 77536 (713) 473-6723 A Division of Foxfire Systems, Inc *V1C 20 & Commodore 64 are trademarks of Commodore Business Machines, Inc

MICRO

11

SUPER SALE A B ulk D iske tte s* w ith envelopes •Now Get High Quality at a Low Price Manufactured by a Maior Disc Company For MDS Without Their Name on Diskettes ‘ Minimum order 20 diskettes with Tyvek envelope and storage shipping bos 'Quantity Discounts - 100 deduct 3%, 1000 deduct 5*.. 10 000 deduct 10- 1 0 0 - Certified 1 Year Warranty______

5% "

Soft Sectors

SINGLE SIDE. SINGLE DENSITY W/HUB RING SINGLE SIDE DOUBLE DENSITY W/HUB RING DOUBLE SIOE DOUBLE DENSITY W/HUB r in g

/AICRO PET Vet Loren Wright

g "S o f t or 32 Sectors

$ 1.69* $ 1. 99* $ 2 .79*

SINGLE SIDE SINGLE DENSITY SINGLE SIDE DOUBtE d e n s it y DOUBLE SIOE OOUBIE DENSITY

Pascal for the Commodore 64

$ 1.79* $ 2. 29* $ 3 .09*

couple of months ago I mentioned the availability of KMMM Pascal for the Commodore 64. Since then, author W illi Kusche has been hard at work remov­ ing the remaining bugs and producing a new manual. He gave me copies of the latest versions of the Pascal disk and manual while we were both participating in the recent Toronto PET Users Group conference (see below). The package now warrants a more thorough look. Pascal is a language for the devotee of structured pro­ gramming. It provides a lot of powerful structures in­ cluding REPEAT...UNTIL, W HILE...DO, CASE, and others. Procedures, functions, and variables may be given long, descriptive names instead of the cryptic double-letter names or line numbers of BASIC. Variables may be local or global, and parameters can be passed to a procedure or function. The result is a source listing that is readable and understandable, even months later. There is no penalty for space occupied by comments and indentation since the source is compiled. M ost microcomputer Pascals are compiled to P-code |Pseudo-code), which is then interpreted by a P-code inter­ preter. A typical Pascal, such as the popular Apple Pascal, includes several programs: an editor to put the source file together; a compiler to convert the source file to P-code; and an interpreter, which executes the P-code by inter­ preting each code in sequence. KMMM Pascal does it a little differently, substituting a translator for the interpreter. The translator converts the P-code into machine code, w hich can be SAVEd along with 8K of support routines to disk. This module will LOAD and RUN on its own, w ithout the presence of any interpreter or translator. The KMMM editor could stand some improvement. In the command mode, commands must be separated by user-specified escape characters. Two escape characters in sequence cause the command string to be processed. Changes, insertions, deletions, etc., can be done but in a tedious manner that involves moving the character pointer. In short, this editor is not powerful enough to justify its confusing complexity. Fortunately, there is a window mode that allows full-screen editing, and this is adequate for routine editing of source files. Tabs and more convenient search and search-and-replace functions would be a real plus. Also, the way source files are handled seems cumbersome. There are actually two versions of the editor. One allows editing of the largest possible source file; the other has a built-in syntax checker. One of my biggest frustra­ tions w ith the Apple Pascal package was debugging. Something as simple as omitting a sem icolon would cause the compiler to abort. This means you have to reload the editor, reload the source file, reload the compiler, and recompile the file (only to find another error!). I can’t

A

MICROBUFFER

PRINTERS All EPSONS available ............. Jca'I GEMINI 10 by Star Micronics $359 00 GEMINI 15 by Star Micronics $54900 Okidata Microline 8 0 ............... Jcall Okidata Microline 8 2 ......... $469 00 Okidata Microline 83A............. Jcall Okidata Microline 84 ............... Jcall

MBP 16K Parallel ... ........ $149 00 MICROBUFfER IN LINE for Most Printers 32K Parallel ........... ....... $289 00. 64K Parallel ........... ....... $339.00 32K Serial ............... ....... $289 00 64K Serial............... ....... $339.00 64K Memory Expansion Modules .. ....... $169.00

TANDON DISK DRIVE ENCLOSURES Complete with Chassis & Power Supply: Fully assembled silver or beige chassis with external card edge connector for easy cable installation for 5'/«" drives With MDS 120 days warranty ............................... $59.00

BARE DRIVES T M 1 0 0 1 40 Irk T M 1 0 0 2 4 0 / 4 0 Trk

.................................

$199

00

............................. $ 2 6 9 00

T M 1 0 0 4 8 0 8 0 T r k ............................. SIEMANS FD D 100 8 S S 'D D 8 m . . . .

$ 3 3 9 00 $ 2 7 9 00

TM 50 SS DD 40 Trk Thinline ............ $ 1 9 9 00 TM 84B 1 S S /D D 8 ' 77 Trk Thinline . $ 3 6 9 00 TM 84B 2 D D /D D 8 ' 77 Trk Thinline $ 4 7 9 00

Add $59.00 For Complete 5 Vt" Drive System @

S

A

N

Y

O

MCB 1000 High Performance Business System Indudes F R E E MicroPro Software: • WordStar • SpedStar • MallMerje • CalcStar • And More • Z-80A C PU. ft • 64KB RAM • 326KB mini floppy disk drive • •C P / M operating system • 12” non-glare green phosphor video display screen • Centronics parallel printer port • RS232C serial port • Additional dish drtvei up to 2.3MB .. ■ >

CASH ORDERS ONLY

JM C A O D A TA SUPPLIES (216) 481-1600 all p r ic e s

'

* MasterCard

Oiec%» • Money Onto* ♦ COO

ARE FOR M Atl ORDER ONLY PnctS- Specrftcftttont and Offerings wbfect to e fw g e without

ADD S3 00 FOR SHIPPING ft HANDLING $6 00 Extra tor C O D Orders OhTiidrt'Tf*^ T

i

nc.

One last tug to the helmet strap—a reassuring ^ c e c t f h e ^ u-e of powerful steel monsters and you know all is reacFy your command hatch you raise your hand "and "forward"! The air suddenly fills with the roar of engines a nd the • rumble of treads, as the mighty dreadnoughts of the land starf _ forward. You command a team of your country s finest armored vehicles in a, mission te6earch and destroy the enemy. T.A.C. is a game of World War II tactical armored combat You pick a nation [from among the four major combatants— Britain, U.S.A., Germanv and Russia) You build a combat team from their most powerful tanks, assault guns and tank destroyers. You command the team you've created in major operations against tike forces of the enemy. , .i All the famous vehicles of the second world war are here— Tigers, Panthers, Shermans and JS ll's; Jagdpahthers. SUH 52's, V Fireflies and T 34's, just to name a few. They have all been thoroughly researched and their important features program­ med into the game. Each vehicle is distinguished by such elements as armor thickness (rear and flanks as well as front), fire power, speed, acceleration and gun traverse. Even minor points like fuel tank location can be critical. The computer handles all the technical details. This lets you concentrate on making the same kinds of decisions the reah life tank commanders made. You search for the enemy, sej your speed, aim your gun and knock out the enemy. The com puter will handle all the rest.

Or c a ll

mediatpr. ■ The mosj-reip jn - l Qerrrari/- are, ■ Choose from five different scenarios to play. Actiafife range from open meeting engagements' to assaults -against prepared positions " ‘ 1V 1; , ■ You pick the sides You choose the weapons A simple pur­ chasing system has been provided to le* you “ buy" what you want in balance with your opponent ■ The results of combat are determined by the computer, It factors such critical elements as range, armor thickness (front, rear and flanks), tracking time, the speed and maneuvers of both the firing and target units, visibility and weapon adjustment to determine weapon accuracy. ■ Special options include hidden movement, improved positions, smoke mortars, minefields, close assaults, overruns and indirect fire.

T.A.C. on diskette retails for $40.00 and can be played on the following computers: Apple® ll's with 48K (Mockingboa'd™ Sound Enhanced!), Atari's® with 48K. Commodore®! & IBM® versions coming this fall.

A v a ila b le a t fin e r c o m p u te r stores e ve ryw h e re . TOLL FREE: 1 (800) 638-9292 fo r fast c re d it c a rd p u rch a se . Price: $40. Ask fo r O p e ra to r M.

microcomputer games" A DIVISION OF

The Avalon Hill Game Company 4517 H arford Road • Baltim ore, MD 21214

%R — Right Justification On: All subsequent text is space-filled to the right margin.

%N — Right Justification Off: Space­ filling to the right margin is turned off for all subsequent text.

%U — Underlining On: All subsequent text is underlined.

%V — Underlining Off: Underlining for all subsequent text is turned off. If this command is not given by the end of line, it will be terminated then.

!character string ! — Escape Sequence: An escape character is sent to the printer, followed by the characters in the character string up to the next ! character. If there is not another ! by the end of line, the command is ter­ minated then. The action of this com ­ mand varies according to the printer, but typically it is used to change typestyles.

?character string1. — Control Sequence: All characters in the character string are turned into control characters and sent to the printer. The action of a con­ trol character on the printer varies according to the printer, but generally it is used to change type size or style. The command is terminated by a ? or end of line. %X — C om m and Sequence Recogni­ tion Off: All subsequent command se­ quences are not recognized as such, ex­ cept the % Z command, which is always recognized. This command is used for special-purpose documents, such as program listings or this article, where the command sequences are part of the text to be printed. No. 63 - August 1983

% Z — Com m and Sequence Recogni­ On: Command sequences arc recognized for all subsequent text.

tion

page numbers, or N for no page numbers. If the command characters (percent, question mark, and exclamation point) are followed by a space in the text, they will not be recognized as commands. In addition, if the percent symbol is followed by anything except P, T , R, N, U, V, X, or Z, those characters will not be recognized as commands. This facilitates normal text use of these symbols. The default conditions at the beginning of any new document are as follows: no title, right justification off, underlining off, and command se­ quence recognition on.

STARTING PAGE NUMBER ? — You w ill see this question only if you answered T or B to the previous ques­ tion. Type the beginning number you want in your page-numbering scheme. If you type anything other than 1, that number will appear on the very first page printed. If you type 1, the first page will not be numbered but all other pages w ill be, starting with 2. This capability enables you to print docu­ ments longer than the Editor capacity. NUMBER OF COPIES? — Type the

Executing the Program After you've entered and compiled PFORM, Xecute it; the program will be read from disk and executed. You will be asked the following questions. (Before answering any of them, make sure the disk containing the text file you want to print is inserted in any disk drive.)

FILE NAME TO PRINT! — Type the full file nam e including the volume name and extension. If you make a mistake, a beep w ill sound and you will be asked the question again.

number of copies of this document you wish printed.

Program Operation Following the question/answer se­ quence, your text file will be read from disk and printed according to the answers you gave to the questions and the PFORM commands embedded in your text. The printing is somewhat slow due to the processing involved, but the results are worth the wait. After all copies have been printed you are asked PRINT ANOTHER FILE? Type Y to start the question sequence again,type N to end the program.

SPACING (S OR D)1 — Type S for single spacing or D for double spacing.

PFORM Logic Description

RIGHT MARGIN7. — Type the column

PAGE NUMBERS (T, B, ORN)l — Type

The main program consists of five embedded repeat loops — one ex­ ecuting for each document, copy, page, line, and character of your text. The document loop is controlled by the variable TURNOFF. It starts by open­ ing the printer, setting the page number to the default of 1, and executing the question/answer sequence. The copies loop then begins, controlled by the variable NCOPY. This loop sets the default conditions for the document and then falls into the page loop. The

T for top page numbers, B for bottom

(Continued on next page)

number you wish to be your right margin. Normally, this will be the same one you used to create your docu­ ment using the Editor. This is used for right justification.

LINES PER PAGE ? — type the number of lines you wish to see printed per page.

M IC R O

33

p

© ,rate

som e o f

meant t o de ; a mp A

•can s s s g

c f

s o n *©

, E . i (3 !7 N 7

'

.

is

a

to demon -

us i n ^

a

p f o r M* -j r t r

n ce& so r *

s s s s M

th ©

get

you

You

* "

ju s tify *

looK

good.

S p a c in g s iz e s t

a s on tbhee pfl ei ra s i^n g wi 11 s

The o n l y

s o ' ' J AND (RECOG) THEN SESC; ' ? 1: IF (FBUF[I+1] < > 1 ’ ) AND (RECOG) THEN SCONTR; END; IF EX=FALSE THEN BEGIN PBUF:=CONCAT(PBUF,1 ’ ) ; PBUF[J] : =FBUF[I] ; COUNT:=C0UNT+1; J:=J+1; I:=I+1; IF ULIN THEN USEQ; END; UNTIL I > LENGTH(FBUF); IF RJ THEN RJUST; WRITELN(PRTR,PBUF); LINCNT:=LINCNT+1; IF SPACE='D 1 THEN BEGIN WRITELN ( PRTR, ' ' ) ; LINCNT:=LINCNT+1; END; IF EJECT THEN ESEQ; IF EOF(DFILE) THEN ESEQ; UNTIL LINCNT=PLIN; IF (PTYPE=’ B' ) AND (PNUM>1) THEN PPRINT ELSE IF PN U M > L THEN IF TITLE THEN TPRINT; PAGE(PRTR); IF PNUM=1 THEN PNUM:=2; UNTIL EOF(DFILE); PAGE(OUTPUT); PAGE(PRTR); NCOPY : =NCOPY-l; CLOSE(DFILE); IF NCOPY > 0 THEN RESET (DFILE, FNAME) ; UNTIL NCOPY=0; WRITE('PRINT ANOTHER FILE? ' ) ; READLN(ANSWER); IF ANSWERIN' THEN TURNOFF:=TRUE; UNTIL TURNOFF=TRUE; CLOSE(PRTR); PAGE(OUTPUT); END. PROCEDURE USEQ; {PUTS A BACKSPACE CHARACTER FOLLOWED BY AN UNDERLINE} (CHARACTER INTO PBUF} BEGIN PBUF:=CONCAT(PBUF, ' ' ) ; PBUF[J]:=CHR(8); PBUF[J+1]:=CHR(95); J:=J+2; END; PROCEDURE ESEQ; {PRINTS BLANK LINES TO SPACE TO THE BOTTOM OF A PAGE] [WHERE A PAGE NUMBER OR TITLE MAY BE PRINTED} BEGIN WHILE LINCNT < P L I N DO BEGIN WRITELN(PRTR,1 ' ) ; LINCNT:=LINCNT+1; END; END;

BEGIN IF PTYPE=»Br THEN BEGIN WRITELN(PRTR,1 ' ) ; WRITELN(PRTR,' '); END; IF PNUMC100 THEN SPC:=40 ELSE SPC:=39; FOR I:=l TO SPC DO VRITE(PRTR, ' ' ) ; WRITELN(PRTR.PNUM); PNUM:=PNUM+1; IF PTYPE='T' THEN BEGIN WRITELN(PRTR, ' ' ) ; WRITELN(PRTR , 1 '); LINCNT:=LINCNT+3; END; END; PROCEDURE TPRINT; {PRINTS TITLE} VAR I,SPC:INTEGER; BEGIN IF PTYPE='T' THEN BEGIN WRITELN(PRTR,1 ' ) ; WRITELN ( PRTR, ' ' ) ; END; SPC: =(BO-LENGTH(TSTRING) ) DIV 2; FOR I:=l TO SPC DO write(prtr,1 ' ) ; WRITELN(PRTR,TSTRING) ; IF PTYPE='B1 THEN BEGIN WRITELN(PRTR,f ' ) ; WRITELN(PRTR,1 ' ) ; LINCNT:=LINCNT+3; END; END; PROCEDURE RJUST; {PERFORMS RIGHT JUSTIFICATION OF PBUF} VAR I ,SPC,NEED,BIDX,FACT,REM,LOOP : INTEGER ; JSTRING1,JSTRING : STRING; BEGIN JSTRING: = 1' ; JSTRING1:=' IF COUNT=0 THEN EXIT(RJUST); NEED := LCHARS-COUNT ; {CHAR. SPACES NEEDED} BIDX:=1; SPC:=0; WHILE (BIDX< LENGTH (FBUF)) AND (FBUF[BIDX] = 1 ' ) DO BIDX:=BIDX+1; IF BIDX=LENGTH ( FBUF ) THEN EXIT(RJUST); FOR I:=BIDX TO LENGTH(FBUF) DO IF FBUF[I]=' ' THEN SPC:=SPC+1; IF SPC*0 THEN EXIT(RJUST) ELSE IF (FBUF[LENGTH(FBUF)] =' . 1) AND ( LENGTH ( FBUF ) CLCHARS-9) THEN EXIT(RJUST); FACT : =NEED DIV SPC; REM : =NEED MOD SPC;

I:=Sf;

PROCEDURE STITLE; {PUTS CHARACTERS UP TO END OF LINE IN TSTRING AND} {SETS TITLE INDICATOR ON} BEGIN TSTRING: = ' ' ; EX:=TRUE; I:=1+2; K:=l; REPEAT TSTRING:=CONCAT(TSTRING, ’ ’ ) ; TSTRING[K] : =FBUF[I] ; I : =1+1; K:=K+1; UNTIL I > LENGTH(FBUF); TITLE:=TRUE; PLIN:=PLIN-3; END; PROCEDURE PPRINT; {PRINTS PAGE NUMBER} VAR spc,I:INTEGER;

No. 63 - August 1983

(continued)

MICRO

LOOP := FACT; WHILE L O O P > 0 DO BEGIN JSTRING:=CONCAT(JSTRING, ’ ' ) ; I:=1+1; LOOP : =LOOP-1; END; I : =LENGTH(PBUF) ; REPEAT WHILE PBUF[I] < > 1 ' DO I : =1—1; INSERT ( JSTRING,PBUF,I ) ; I : =1-1; SPC:=SPC-1; UNTIL SPC=0; IF REM=0 THEN EXIT(RJUST); I : =BIDX; REPEAT WHILE PBUF[I]< > ' ' DO I :=1+1; INSERT(JSTRING1,PBUF,I); I :=I+FACT+2; WHILE PBUF[I]= 1 ' DO I: =1+1; REM:=REM-1; UNTIL REM=0; END;

^MCftO 37

HO

by John R. Raines

The standard typewriter/computer keyboard layout is inefficient. This article presents a computer program that allows experimentation with the Dvorak Simplified Keyboard, which is much faster for touch typists.

38

MICRO

z' x ver 100 years ago, when typeI B 1 writers were relatively new inventions and before the shift key had been invented, Christopher Sholes was faced with a problem: the keys, which returned sluggishly from hitting the paper, would often get jammed if the typist went too fast. Christopher's solution to the problem was the "qw erty" keyboard (named after the upper left-hand key ar­ rangement), and is not a truly effi­ cient keyboard. In 1932 Dr. August Dvorak patented a keyboard that was human-engineered to speed up typists. Most typing speed records are held by typists who use the Dvorak Simplified Keyboard. Typing time may be reduced by up to 75% . Everyone, m yself included, is d isin clin ed to change from the keyboard that he/she knows and owns. But consider how many hours are spent typing in the course of a year nation­ wide. How much would the conversion of all of the keyboards cost? How many hours would be lost in the course of retraining? Studies done 20 years ago suggested that the payoff comes long before one year is out. While the cost of conversion of one privately owned keyboard used to be high, it has fallen drastically in some examples of modular keyboard design. In many cases only a single ROM needs replacing. Newer computers aimed at an international market are often designed w ith redefinition of the keyboard in mind. Why is the Dvorak keyboard so much better than qwerty? (The analysis p resum es you w ill be en terin g something like English text.) The most commonly used letters should be on the 'home' row of keys. Typing is faster if letters struck by the left hand alter­ nate with letters struck by the right. The arrangement of keys should take into account the relative strengths and coordination of the fingers. The Dvorak keyboard systematically follows these tenets while the qwerty keyboard (rather haphazardly] does the contrary. Basically the Dvorak layout puts vowels on the home row for the left hand. The most common punctuation marks ( ? , and . ) are just above these keys and y is also in that row. Some of the less commonly used consonants fill out the left hand’s duties. On the average the left hand does 45% of the total keystrokes, as opposed to 55% on No. 63 - August 1983

M odified Dvorak Keyboard as im plem ented by these programs (M odified so that existing key caps can be used)

Dvorak Keyboard

requires:

the qwerty keyboard. Since vowels and consonants tend to alternate, key­ strokes will naturally alternate be­ tween the two hands. In * 'e qwerty ar­ rangement, 32% of the k strokes are on the home row (50% are on the row above it!); in the Dvorak layout, 70% of the keystrokes fall on the home row. In 1944 the U .S. Navy performed an experiment. For about 10 weeks 14 typists were retrained on the Dvorak keyboard and a control group was given some additional qwerty training. The Dvorak group improved their produc­ tivity by 74% and the total cost of their retraining was amortized 10 days after the test was finished. The control group improved by 28% but took twice as long to reach this level of improve­ ment as the Dvorak group had taken. This seems to be a good measure of what the cost of retraining yourself will be. Is the Dvorak Simplified Keyboard the best keyboard? Probably not. I’ve read of several ideas that may be better, none of which has been directly com­ pared with Dvorak. However, not one of them can be implemented by re­ arranging the keys on a standard keyboard. Dvorak remains the best known of the improved keyboards and the documentation of its superiority is also better than the newer contenders. A couple of years ago I read an ar­ ticle about a new keyboard. There was no close-up picture of the keyboard, but the basic idea was this: sit down, rest your hands in your lap, and co*ck your wrists up as in typing. Now draw a line No. 63 - August 1983

Apple II could be modified to another 6502 machine

through the fingertips of each hand. The lines will intersect at an angle since this is the position in which hands like to rest. The rectangular keyboard is more fatiguing than it needs to be, not only because the qwerty design puts more of the work on weaker and less dexterous fingers, but also simply because it is rectangular. M ichael Adler has designed a typing machine that allows comfortable use of the thumbs on the home row of keys and enlists the feet to operate the space, return, and shift. He argues that a pianist can hit keys at a rate that is equivalent to 300-400 words per minute. Edward Montgomery has developed a more radical keyboard. Since fingers are better adapted to a wiping move­ ment than poking at keys and then pulling the finger back again, it is feas­ ible to design switches that are trig­ gered by the capacitance of a finger (rather than depending on actual ver­ tical movement or pressure). In addi­ tion, with a wiping movement it is possible to keep going and trigger a second or third key before stopping. By laying out the keys so that common words and two- and th ree-letter combinations occur adjacent to each other, the number of separate strokes can be cut by almost half. I first read about keyboards better than qwerty 10 years ago. I was tempted to change keyboards at that tim e but I couldn't afford it, and it seemed im ­ practical since I would certainly be typ­ ing on other people's computers in the future. Now it ’s less expensive to make MICRO

the switch and I can probably count on being able to use the Dvorak keyboard exclusively for the foreseeable future. As a result, I began to look at soft­ ware solutions. These are necessarily less satisfactory than hardware solu­ tions, at least on my BASIS 108 (an Apple-like machine with numerous im ­ provements) . The biggest problems are w ith the operation of the shift key and especially the effect of alpha shift lock (available on the BASIS). This is because certain punctuation marks ( ? , . ; ) must be switched with letters when im ­ plem enting the Dvorak keyboard. Alpha shift lock thus will capitalize the letters that fall where qwerty letters were, but it will capitalize some Dvorak punctuation keys and not capitalize a few letters ( s, w, v, and z ) that fall where the punctuation keys had been. Fortunately you don't need alpha shift lock often for word pro­ cessing. The next problem is that if you are going to switch, you should switch completely. Every language, operating system, game, word processor, etc., should be affected. My program can switch DOS, In­ teger, and Applesoft BASICs and the machine-code monitor. Any program that doesn't intefere w ith D O S's handling of the keyboard input will work. Unfortunately, PR#0 will undo the effect of this program (even if typed from the keyboard or sent to DOS via a PRIN T w ith ctrl/D ). S till m ore frustrating, editors and word pro­ cessors necessarily disconnect DOS (so

(Continued on next page) 39

HO1

that typing "R U N DICK, R U N ." doesn't make DOS load the BASIC pro­ gram "D IC K " over the word pro­ cessor) . Of course, the program is very simple and if you can find where your word processor calls the keyboard (check for references to $36 and to the hardware keyboard location, as well as the obvious monitor subroutines) and if your word processor's disk isn't locked and if you can find some free space, then you can probably convert it easily; and then you can convert your Pascal and CP/M systems, etc. CP/Mbased word processors should be able to use CP/M for the keyboard input, but (at least on the Apple) WordStar patches CP/M to use a new keyboard routine of its own. My program is far from a panacea; however, it does let you try the Dvorak keyboard without spending any more money. If you decide to switch to Dvorak, find out what is needed to put a new ROM in your keyboard. I haven't made a final decision, myself, and I don’t yet have the expertise to tell you how to make the switch. There is some addi­ tional information on page 101 of the Apple II R eference Manual. I’m not

Basically the Dvorak layout puts vowels on the home row for for the left hand. The most common punctuation marks are just above these keys. On the average the left hand does 45% of the total keystrokes. familiar with the features of the Videx Keyboard and Display Enhancer, but it might be useful for the Apple owner to investigate these products before pro­ ceeding with a project like this. This program is a half-measure. It does the m ost important part of the conversion to the Dvorak keyboard — the letters and the punctuation marks that have to be switched with letters. The full Dvorak keyboard also changes the location of the numbers (the top row reads: 1 7 5 3 1 9 0 2 4 6 8 = ) and changes which punctuation marks go together (e.g., ? is a low er-case

keystroke with : as its capitalized keystroke). The important benefits of the Dvorak keyboard should be ap­ parent with this program. The keys on the keyboard can be relabeled in one of two ways. You can rearrange the key caps (see figure 1). If you share your computer with others who are not interested in trying the Dvorak keyboard yet, then putting figure 1 near the keyboard may help. A better alternative might be to purchase (from a graphic arts supply store) a set of transfer lettering in either white or black and in a small size (e.g., 8-point)

YOUR COLOR COMPUTER JUST EARNED A MATH DEGREE! FEATURING: • 3D SURFACE PLOTTING — Plots a user defined equation on an X,Y,Z coordinate system in the High-Res graphics mode. Planes, surfaces o f revolution, statistical surfaces, etc. can be easily plotted. Surfaces may be saved to disk or tape. We believe this is the only program o f its kind commercially available for the Color Computer.

PLUS:

MATHMENU Developed by an engineer, Mathmenu is a powerful menu-driven system to turn your Color Computer into an intelligent, flexible tool for mathematics and engineering. Mathmenu takes the tedium out of math, leaving your full brain power to attack the “ meat” of your problems. By rapidly mani­ pulating matrices and vectors, performing integration and differentiation, solving quadratic equations, plotting user defined functions and much more, Mathmenu can help simplify the most complex problems. Whether you are a student or a professional, if you use math, you need Mathmenu. 40

2D Function Plotting • Complete MATRIX Operations Rectangular to Polar Conversions (up to 8 x 8) Base Conversions • Complete VECTOR Operations Large Number Addition and • Numerical Differentiation Multiplication • Numerical Integration Reverse Polish Logic Calculator • Least Squares Curve Fitting with Hexadecimal • Binomial Expansion Quadratic Equation Roots • Prime Number Verification • Main Menu with Single-key Selection and Return (Disk Only) Complete documentation o f all functions is included. For 32K D is k ................... $49.95 Plotting Requires Extended BASIC For 16K C assette............. $44.95 Documentation o n ly.......... $5.00 (refundable with purchase)

Or write fo r free brochure.

In t e r < ^> c ^A c tio n 113 Ward Street • Dept. M I • New Haven, C T 06519 • (203) 562-5748

MICRO

No. 63 ■August 1983

Dvorak Keyboard Listing APPLE ][ DVORAK KEYBOARD DEMO START KEYIN KSW

0014 0015 0016 0017 0018 0019

0300 0302 0304 0306 0308 030B

0021 0022 0023 0024 0025 0026 0027 0028 0029 0030 0031 0032

030C 201BFD 030F C9AC 0311 300B 0313 C9DB 0315 1007 0317 38 0318.E9AC 031A A8 031B B91F03 031E 60 031F 031F D7ADD6 0322 DABOBI 0325 B2B3B4 0328 B5B6B7 032B B8B9BA 032E D3 032F BCBDBE 0332 BFC0C1 0335 D8CAC5 0338 AED5C9 033B CAC3C8 033E D4 033F CECDC2 0342 D2CCAF 0345 D0CFD9 0348 C7CBAC 034B D1C6BB 03 4E DB

0033

0034

A90C 8538 A903 8539 20EA03 60

INIT

MONITOR FINAL INPUT ROUTINE INPUT POINTER

GEQU GEQU

$FD1B $38

0RG

$300

LDA STA LDA STA JSR RTS

0DVSTRT PATCH INPUT SUBROUTINE ADDRESS KSW /DVSTRT KSW+$1 $3EA CONNECT DOS

DVSTRT JSR CMP BMI CMP BPL USETBL SEC SBC TAY LDA DONEIN RTS

KEYIN #$AC DONEIN #$DB DONEIN

TABLE

DC

H’ D7ADD6DAB0B1B2B3B4B5B6B7B8B9BAD3'

DC

H 1BCBDBEBFC0C1D8CAC5AED5C9C4C3C8D4'

DC

H 'CECDC2D2CCAFD0CFD9C7CBACD1C6BBDB'

DON'T TRANSLATE IF BELOW ' IN ASCII OR ABOVE 'Z' CHAR IS IN RANGE TO TRANSLATE

#$AC TABLE,Y GET DVORAK CHAR FROM TABLE ALL DONE, CHAR IN ’ A 1 REG

END

and add extra labels to the keys in one corner. The adhesive on the transfer lettering is not permanent and the let­ ters are so thin that they do not affect keyboard feel. When the program is BRUN, it at­ taches itself to DOS as the input routine. The BASICs (and even the monitor) get input by first calling DOS (via the keyboard input pointer]. DOS will then call my routine, which gets a single character via the usual monitor keyboard input routine. Then it trans­ lates the character to the character that would be at that location on the Dvorak keyboard. This is passed back to DOS and then to the higher-level monitor and BASIC code. The arrow keys still work because that happens after my translation. The capital letter input is changed along with the (unshifted) punctuation marks that are interchanged with some of the letters. This is necessary because the effect of the shift key on most of the Apple II keys is undetectable. However, because the Ctrl key can’t be detected No. 63 - August 1983

separately and because keys like the ar­ rows and return can’t be distinguished from ctrl plus various letters, I decided against translating the control keys. Basically you would have to change all the documentation of control keys if you wanted to use this as a permanent solution on the Apple II. A more perma­ nent solution is to change the key­ board hardware. Typing practice probably should not be haphazard. Exercises are usually

devised for practicing a few new keystrokes at a time. Concentrate on developing a good rhythm, and remem­ ber that repetition is im portant. Although your old touch typing text­ book isn’t ideal (since it emphasizes the easy home row keys on the qwerty keyboard in the early lessons], it is probably superior to random exercises. L e tte r s to m a n u fa c tu re rs of machines that concern you would help them to know of the interest in alter­ natives to the qwerty keyboard. It would be great if machines were available with either programmable or switch-selectable keyboard configura­ tions! The manufacturers probably won’t do it unless we urge them. Remember that the total time you save by reducing your manual input time may be greater than you could save by doubling the clock rate of your microprocessor. The value of a better keyboard layout will usually exceed that of a keyboard with a nicer feel. The expense of providing a second ROM and sw itch to choose between them is relatively sm all compared to the savings it could generate.

References 1. Parkinson, Robert, "T h e Dvorak Simplified Keyboard: Forty Years of Frustration,’’ Computers and Automation, Nov. 1972, p. 18. 2. Montgomery, Edward, "Bringing Manual Input into the 20th Cen­ tury: New Keyboard Concepts,” Com puter (IEEE), March, 1982, p. 11. 3. Lemmons, Phil, "A Short History of the Keyboard," BYTE, Novem­ ber, 1982, p. 386. You may contact Mr. Raines at 2170 W ellesley, St. Paul, MN 55105.

jSMCRO

Typing practice probably should not be haphazard. Excerises are usually devised for practicing a few new keystrokes at time. Concentrate on developing a good rhythm. MICRO

41

UJ

TAYLORMADF

T A Y L O R M A D E SO FTW ARE

The

Expanded offering of Educational Software

MIDNITE

for the COMMODORE 64

S O F T W A R E GAZETTE

• Touch Typing Tutor (T T T 6 4 ) ........................ diskette $24.95

cassette $19.95 Ideal for typing students or computer users. Learn to type with all fingers on your computer's keyboard by following the keyboard and finger placement pictured on your TV screen. 19 lessons fully de­ scribed in 12-page manual. Select PRACTICE and type computer generated pseudo words for your rate and list of errors. Select TEXT and practice English words for timed test of any duration.

V

The

'

PAPER

A Bi-Monthly Journal of Notes, Reviews and Articles^ Five Years of Service to the PEffcommunity

for the VIC-20 • Touch Typing Tutor 3 .0 (T T T 5 K ) .................cassette $19.95

Has same features as TTT64 above. Will run on basic VIC. Four separate programs. Enhanced version now provides practice typing English words. Includes 12-page manual. Selected by Denver Public Schools to train 700 elementary students in keyboard skills. • Fu n Fractions ( F F + 8 K ) ............................... diskette $24.95

cassette $19.95 The fun way to learn addition, subtraction, multiplication, and divi­ sion of fractions for grades 4-9 with sound, color, and graphics. Watch VIC show you all the intermediate steps on the screen black­ board. Then take a turn and see if you can answer before the parachute jumper crashes. Three levels of difficulty. Help is given for incorrect answers; learn your score. Requires 8K (or more) memory expansion Includes 16-page manuai. Foreign orders payable U.S. dollars plus $3.00 shipping/handling

Thejndependent U.S. Magazine for Users of Commodore Brand Computers

TAYLORMADE SOFTWARE P .O . Box 5574 Lin co ln , N E 68505 (402) 464-9051

EDITORS: Jim and Ellen Strasm a $2 0 US / YEAR Sam ple Issue free on request, from: 635 MAPLE, M T. ZION, IL 6 2549 USA 2 1 7 /8 6 4 -5 3 2 0

war

Commodore 64 and VIC-20 are trademarks of Commodore Business Machines. Inc

T A Y L O R M A D E SO FTW A R E

TAYLORMADE

£

HARDWARE AND SOFTWARE FOR THE VIC 20 R)& COMMODORE 6 4 R SOFTWARE ZAP! - Climbing the corporate ladder could be fun e xce p t for all that falling paperw ork. This Hires arcade type game allow s up to 4 players to advance through each floor to scale the corporate ranks. Be careful, it's easy to be ZAPPED! CAR­ TRIDGE for VIC 2 0 ' $ 2 9 .9 5 A TE-PA K - Eight graphic gam es on tape with com ­ plete manual to explain gam ing techniques. For VIC 2 0 s $ 2 4 .9 5 W O R D W IZ A R D FO R T H E VI C 2 0 & - (Requires at least 8K m emory expansion) A user friendly WORD PROCESSOR with optional joystick control. Easy edit and string m anipulation com mands. Full use of function keys, Delete Word, Search functions and Full Justification. Use VIC 20® printer, or any C entronics com patible printer co nn e cte d to the user port. On Tape (su pp o rts disk). $ 3 4 .9 5 B O M B E R W O R D - A unique graphic w ord game on ca rtrid g e that provides this full thrill of arcade action. C om plete w ith six m odes o f play options for added enjoym ent. Play against the com puter or another player. 6 to adult. For VtC 20® $ 2 9 .9 5 T IC A TTA C K - A fast action arcade game on C artridge that challenges all of your dexterity. W ritten in machine language for special audio & visual effects. Over 100 levels of play. High score indication. For VIC 20® $ 2 9 .9 5 D O T-A -LO T - As you w ander through life c o lle c t­ ing B erries,you happen upon som e m agical fruit. Pick one and the treasures appear, but the Meanies are out today looking to spoil your fun. Defeat them and continue on to a higher level. An ever changing maze. CARTRIDGE for the VIC 20* $ 2 9 .9 5

42

T R IP L E PLAY - Three gafnes that are both fun and educational. CROSSW ORDS (requires at least 8K expansion). CRYPTOSOLVE w ill help you solve those c ryp tic m essages with a system ­ atic co m pu ter technique. Included are approxi­ m ately 50 puzzles. E nter your own too. HIDDEN WORDS will d isplay a matrix of seem ingly random letters on the screen. Included are approxim ately 25 different puzzles. For VIC 20® $ 2 9 .9 5 for all 3 K E Y Q U E S T - O ur exciting new Arcade type game that takes you through the many levels of an ancient dungeon while gathering treasures and gaining ex­ perience points. Monsters, magical keys, and hid­ den passages all add to the excitement. ON CAR­ TRIDGE for VIC 20® $ 3 4 .9 5 S K E T C H PAD & C H A R -G E N - A high resolution drawing program that will allow you to save your pictures to tape. A lso included is a character gen­ erator that will allow you to design a difference character for every printable key. On tape for the VIC 20® $ 2 4 .9 5 SPA C E BATS * You are one of the defenders of Beta Triscalion # 5 and must be of high reflex to prevent the space bats from destroying the out­ post. Multi-level, high speed graphics. On cartridge for VIC 2 0* $ 2 9 .9 5 D’ FU SE - Gather all the tools you’ll need because you have been hired to D’FUSE a bomb in the abondoned building. High risk, multi-level game to frazzel your nerves. On ca rtridg e for VIC 20® $ 3 4 .9 5

HARDWARE E X P A N D -O -R A M * 16K Expansion board for the VIC 2 0 € w ith reset, memory w rite p ro te ct full memory allocation, plus TW O slots. Can be used as a ca rtridg e developm ent system and also to save ca rtridg e s to tape or d is k $ 1 1 9 .0 0

MICRO

U N IV E R S A L TA P E IN T E R F A C E & D U P L IC A ­ TO R - (Use on the C om m odore 64® and VIC 20-). W ith this device, you can easily load, save or even d uplicate tapes with your standard recorder. Full 3 LED indication of Data transfer. A reliable w ay to Load, Save and Duplicate. NOTE: D uplication requires 2 standard cassette recorders. $ 4 9 .5 0 TYM A C B U F F E R E D P A R A LL E LC A B LE W IT H D R IV E R - For the VIC 20® & C om m odore 64®'. This cable assem bly plugs into the USER Port and provides a sim ple and inexpensive way to connect a PARALLEL Printer to your computer. $ 2 9 .9 5 D R IV E R C A R T R ID G E FO R V IC 20® Take full advantage of the ca pa b ilitie s of your Parallel P rinter including full Com m odore graphics and form atting. Available for SEIKOSHA, C.ITOH, OKIDATA, and others. S pecify printer. O N L Y $ 2 9 .9 5 TY M A C “ C O N N E C T IO N ” - A truly intelligent parallel interface for the VIC 20® and C om m odore 64®. It will make your p rinter o perate like the C OM M ODORE Printer including graphics, text sym bols, ta b ’s, and virtually every oth e r printer function. Plugs into the serial socket. A vailable for m ost popular parallel printer. $11 9 .0 0

D I S T R I B U T I N G INC . Dealer and Distributor Inquiries Invited 201-636-9027 1324B Route 23, Butler, N.J. 07405 NOTE: W e solicit hardware and software items for the VIC 20* and Com m odore 64. Royalties, license fees, or outright purchases can be negotiated. Commodore 64:'& VIC 20'* are Registered Tradem arks of Comm odore Business Machines, Inc.

No. 63 - August 1983

ACCESS UNLIMITED ^ 'MICRO SHOPPING CENTER PERCOM™ HARD DISK DRIVES FOR IBM PC™, APPLE™, TRS-80 MODELS I, II, III™

SIGNALMAN™ MODEMS With FREE Source™ Subscription Service!

5 megabyte 5 megabyte, add-on 10 megabyte 10 megabyte, add-on

MARK MARK MARK MARK MARK

Only Only Only Only

$1395.00 $1295.00 $1795.00 $1695.00

PERCOM™ FLOPPY DISK DRIVES FOR: TRS-80 MODEL I™ — W ith FREE OOSPLUS 3 .4 ™ Single sided/Double density, single unit Single sided/Double density, dual unit Double sided/Double density, single unit Double sided/Double density, dual unit TRS-80 MODEL III™ _ w ith FREE DOSPLUS 3 .4 ™ Single sided/Double density, single unit (internal) Single sided/Double density, dual unit (internal) Double sided/Double density, single unit (internal) Double sided/Double density, dual unit (internal) ATARI™ Single sided/Single density, first drive Single sided/Double density, first drive Double sided/Double density, first drive IBM-PC™ Single sided/Double density, single unit (internal) Single sided/Double density, dual unit (internal) Double sided/Double density, single unit (internal) Double sided/Double density, dual unit (internal)

Only Only Only Only

$275.00 $500.00 $350.00 $650.00

Only Only Only Only

$449.00 $699.00 $560.00 $860.00

THE

Your Your Your Your Your

Price — Price — Price — Price — Price — C all Call

Single sided/Single density 5% " Single sided/Double density 5% " Double sided/Double density 5'A" Single sided/Double density 8" Double sided/Double density 8" BASF™ 5 ’A" Single Sided/Double Density Lifetime Limited W arranty. Reg. $44.95 5% " Double Sided/Double Density —

$279.95 $529.95 $359.95 $699.95

Only $ 980.00 Only $ 699.00 Only $1495.00 Only $ 895.00 Only $1695.00 For Low P rice! For Low Price!

1(800)527-3475 Order by phone o r by m ail. We accept Visa, M asterC ard, cash ie r’s checks, certified checks, and money orders. W ith personal checks, allow additional tim e lo r bank clearance. Your bankcard w ill not be charged u n til y o u r ord e r is shipped

On orders over $ 1 ,0 0 0 , we pay fre ig h t (surface only)

and insurance; please add $ 3 .0 0 shipping and handling under 50 lbs. Over 50 lbs , add $5 .0 0 for orders under $ 1 ,0 0 0 00 Texas residents add 5% sales tax A llow 2 to 4 weeks fo r delivery

□ YES, I’m taking advantage of your Sales Prices. □ Please send me a FREE catalog. I’m not ready to order at this time. Nam e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Company Nam e_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ;_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Address_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .Z ip . City _ . State _ Phone Number! Quantity Item Subtotal Unit Price

Check one: State Sales Tax (Texas residents only) □ payment enclosed handling charge □ Visa □ MasterCard* Total *lf MasterCard, numbers above name:

P L U S B I G D I S C O U N T S O N S O F T W A R E ! W ith iBEX Purchase Reg. R etail W ith iBEX WORDSTAR $495 00 $290.00 MAILMERGE $250.00 $130.00 CALC STAR $145 00 $ 95.95 ADS™ BUSINESS SOFTWARE PACKAGES V e rtica ls: C all For Low P rice! Contract Services,Private Clubs $895.00 C all For Low P rice! Retail Florist, Churches $895 00 A cco u ntin g :

No. 63 - August 1983

Now $ 24.90 bx of 10 Now $34.95 b x o f 10

" Reg Trademarks ■Limited Time Offer'Limited Quantities • Prices suDject to change without notice • Prices do not include stale taxes

This com puter features dual 8-inch double-sided, double-density floppy disks, w ith the form at software selectable. Because it supports the IBM 3740 industry-standard form at, as well as double-density, data exchange w ith m ost other com puters is possible. • Easy-to-read video screen w ith high co n tra st green phosphor ■ S e le ctab le 4 0, 80, or 132 ch ara cters to d isp la y a fu ll w id th re po rt • Program m able cu rsor c o n tro l, high-speed s c ro llin g , and o th e r video a ttrib u te s * Industry-standard p a ra lle l in te rfa c e fo r p rin te r • Serial in te rfa c e hardw are (a sync., b isyn c., e tc .) • M ore a vaila ble user m em ory because ROMs and video refresh are ban k-sw itch ed o u t • M em ory p a rity ch e ck • Floppy d isk ca p a c ity 2.4M B • W inchester hard d isk a va ila b le • A b a tte ry-d rive n clo ck/ca le n d a r • Strong, com pact, and style d fo r the o ffic e e nvironm ent • C P /M " ope ra tin g system and MBASIC language inclu d ed

^

by case only $179.00 case of 100 $190.00 case of 100 $225.00 case of 100 $280.00 case of 100 $340.00 case of 100

PERFECT DATA™ HEAD CLEANING KIT Your Price — $19.95 FILE MINDER™ Smoked acrylic, flip-top box, holds 75 diskettes Only $24.95 COLOR CODER™ OISKETTE ORGANIZER Five different colored library cases, each holds 10 diskettes Only $24.95

AMAZING iBEX 7202

Accts. Pay., Accts, Rec., Payroll $495.00 General Ledger, Invoicing $485.00

$ 99.00 $ 99.00 $139.00 $279.00 $159.00

BUY DISKETTES IN BULK AND SAVE $ $ $ $

THE POWER OF A BUSINESS COMPUTER AT A PERSONAL ty&S* COMPUTER PRICE! ------*- TOTAL 2 5 9 5 fo YOUR PRICE s

®

Only — Only — Only — Only — Only —

MEDIA FOR LESS

BIG DISCOUNTS ON PRINTERS! New BROTHER HR1™ MICROPRISM™ C. ITOH F - 1 0 T M TRANSTAR 130™ TRANSTAR 140™ OKIDATA™— A ll M odels STAR MICHONICS™

Now Now Now Now Now

SENTINAL™ complete with hub rings & one year limited warranty. Single sided/Single density 5 W $ 18 .70 bx ot 10 Single sided/Double density 5'A" $20.70 bx of 10 Double sided/Double density 5'A" $27.80 bx of 10 Single sided/Double density 8" $ 29 .70 bx of 10 Double sided/Double density 8" $38.70 bx of 10

Only $475.00 Only $559.00 Only $679.00 Only Only Only Only

I w ith RS232C interface II w ith Atari interface III w ith I I interface VI with IBM interface VII with RS232C interface & auto answ/orig.

C all For Low P rice! C ali For Low P rice!

Expiration Date:

Authorized signature, if charged

ACCESS UNLIMITED | j

MICRO

DEPT. N -2 /4 0 1 N. C e n tra l E x p w y ./R ic h a rd s o n , T e xa s 7 5 0 8 0 T e l. 1 -8 0 0 /5 2 7 -3 4 7 5 2 1 4 /3 4 0 -5 3 6 6 2 1 4 /6 9 0 -0 2 0 7 — S a t. a n d E v e n in g s O n ly

43

Figure 1: The I/O Selectric Typewriter £

The Selectric Word Processor by Louis F. Sander

This conversion program uses an IBM Selectric terminal to provide low-cost letter-quality printing to the home computerist.

The I/O Selectric, Interior View 44

MICRO

I n many ways, the IBM Selectric ter­ minal makes an ideal letter-quality printer for the home computerist. It produces nice output at a modest price, and it serves double duty as an ex­ cellent electric typewriter for jobs not suited to computerization. Adapting the Selectric to the com­ puter is a rewarding task, made even more so by the challenge of making it work with the latest word processing software. Several articles on converting the hardware have appeared, but if they m ention software at all, they provide only a rudimentary text processor. This article describes my personal adven­ tures in finding a Selectric printer, converting it for computer use, inter­ facing it to my Commodore PET, and making it work with my full-featured comm ercial word processing software. W ith this article and those in the list of references as a guide, the reasonably sk illfu l hardware/software hacker should be able to make a similarly successful conversion. My project began in 1980 when I became obsessed with getting letterquality output from my computer. At that time the least expensive letterquality printers cost $2500, and it was rare to find them attached to $895 per­ sonal computers. I wanted to do the job for under $400 or so, so I began in­ vestigating. It didn't take long to find that thousands of IBM Selectric ter­ minals were taken out of service in communications and word processing systems when the much faster daisyNo. 63 - August 1983

wheel printers came along. What did take long was to find such a printer that I could afford. One day my persistence paid off and I found tw o Selectric ter­ minals plus a custom desk for $375 total. They seemed to be in good condi­ tion and the price was right, so I bought them. W ithin a week I had an offer for two more in even better condition for $200. I bought them, too! Two articles in a computer maga­ zine and an IBM service manual jsee references) got me started on con­ verting the Selectric terminals to microcomputer printers. If you want to make the conversion yourself, you can refer to the same sources for the details. For many years IBM made several models of a typewriter called the I/O Selectric, the primary purpose of which was computer input and output. An I/O Selectric has additional mechanisms beneath the keyboard, which allow the keys to send electrical signals and allow other signals to control the typ­ ing machinery. The extra mechanisms make an I/O Selectric about 5 " higher than a standard machine, usually re­ quiring it to be mounted in a cutout in its desk.

Selectric Driver Program requires: PET, IBM I/O Selectric modified and interfaced as described

No. 63 - August 1983

A group of 24- or 48-volt solenoids drives the Selectric mechanisms when the machine is used as a printer. Seven solenoids are activated in various com ­ binations to energize the 44 printed characters. Other functions, such as the space, backspace, shift, return, etc., are activated by additional single­ purpose solenoids. In some models the space is treated as one of the printing keys. A surge-suppressing diode is con­ nected across the coil of each solenoid. Since I did not want to use my Selectric's keyboard as a computer device, I disconnected its special mechanisms and devoted all my atten­ tion to the solenoids. IBM used a lot o f handshaking contacts for timing pur­ poses. Since I planned to do all my tim ­ ing in software, my approach was to remove the existing handshaking con­ tact of wiring and to run m y own leads to the solenoids of interest. The result was a machine w ith lots of space and visibility inside, where before there had been a rat’s nest of yellow-colored wire. T he next step was to design a computer-to-Selectric interface — a cir­ cuit to let a 5-volt computer port drive all the 48-volt solenoids. Here again a magazine article was helpful as it

described someone else’s solution to the same problem (see reference 4). I decided to use my PET's parallel user port as the source of the signals to the printer. Since my Selectric contained 13 solenoids, and the user port has only eight lines, I needed some decoding in my interface. A quirk in the Selectric allows six lines to control the seven print solenoids, so I used the six loworder bits from the user port for this purpose. The seventh bit was a control bit, which when high disabled the print solenoids and allowed the others to be controlled by the three low-order bits. I have reserved the eighth user port line for future use when I might decide to use the Selectric keyboard as an input device. The logic chips in the interface ultim ately activate a series of tran­ sistors that connect the cold ends of in­ dividual solenoids to ground. The hot ends are all connected to a 48-volt power supply, which came w ith my Selectric desk. Figure 2 is a photograph of the interface, which is built entirely of components available at Radio Shack. Figure 3 is its schematic diagram. One perversity of I/O Selectrics m erits special mention — many of

(Figure 3 appears on page 47) (Text continues on page 48)

Figure 2: Interface Board Construction

MICRO

45

INTERNATIONAL

SAVEON... COMPUTERS • MONITORS PRINTERS • PERIPHERALS •SUPPLIES* STAR MICRONICS GEMINI 10

EPSON FX-80 PRINTER

A • Up To 160 cps • 11 x 9 M a trix • Pinfeed Platen • Proportional Spacing

OMEGA SALE PRICED PRINTER • DOT MATRIX

• Graphics

• Centronics Parallel Interface

• Elite Pitch

• Internal 2 K Ram

NOW AVAILABLE FOR IMMEDIATE DELIVERY!

£ SALE ENDS 6 /3 0 /8 3

For O ur Price.. .CALL 1-800-343-0873 TODAY!

SAVE ON LETTER QUALITY PRINTERS

DOT MATRIX PRINTER BARGAINS

DIABLO 620 N ew Low P ric e ............................. DIABLO 630 w /A P I & c a b le ............................. NEC 3510 SPINWRITER....................................... NEC 7710 SPINWRITER....................................... NEC 7730 SPINWRITER.......................................

C-ITOH PROWRITER 8510 A P ........................... IDS MICROPRISM 4 8 0 ......................................... OKIDATA MICROLINE 92 (N EW )...................... OKIDATA MICROLINE 93 (N EW )......................

9 2 9 .0 0 1 ,7 4 9 .0 0 1 ,3 9 9 .0 0 2 ,0 4 3 .0 0 2 ,0 9 3 .0 0

BIG SAVINGS ON ACCESSORIES HAYES SMARTMODEM 300 Baud.................... HAYES MICROMODEM II (APPLE I I ) ............... MICROSOFT SOFTCARD PREMIUM SYSTEM. ORANGE MICRO GRAPPLER + ...................... PKASO PRINTER CARDS..................................... RANA ELITE I (APPLE I I ) ..................................... SIGNALMAN MODEMS (MK I) As Low As . .

3 9 9 .0 0 5 4 9 .0 0 5 4 9 .0 0 8 5 9 .0 0

MONITOR SPECIALS FROM OMEGA 2 3 0 .0 0 2 8 9 .0 0 4 5 9 .0 0

1 2 0 .0 0 1 2 9 .0 0 2 9 9 .0 0 8 5 .0 0

AMDEK 300 G ............................. AMDEK 300 A ............................. NEC JB1260 .................................. NEC JB1201 M ............................. USI Pi-2 12" GREEN M O NITO R . USI Pi-3 12" AMBER M O N ITO R .

ACCESSORIES & SUPPLIES

MAGNETIC MEDIA

OMEGA Has A Com plete Line o f Accessories & Supplies fo r the A pple II and many oth er Popular Computers by m anufacturers like: • D. C. Hayes • M icrosoft • Tymac • M £ R Enterprises • M ountain Computers • Kensington M icro w a re • Practical Peripherals • T.G. Products • Videx

OMEGA Stocks D iskettes by: • Dysan • Elephant • M axe ll • Verbatim • • • •

1 3 9 .0 0 1 6 5 .0 0 1 1 9 .0 0 1 6 9 .0 0 1 5 9 .0 0 1 7 9 .0 0

A ll Equipment Factory Fresh w / MFT W arranty Prices Do Not Include Shipping Charges Mass. Residents Add 5% Sales Tax A ll Returns Subject To Restocking Fee

SOFTWARE O m ega Caries Software by the fo llo w in g companies: • Am erican Business Systems • Ashton Tate • Dakin 5 • Innovative Softw are • M icrosoft • Sorcim • Stoneware • Visicorp

CUSTOMER PIC K U P N O W AVAILABLE 334 R Cam bridge St., B urlington, Mass. (617) 229-6464

» PRICES, SPECIFICATIONS AND AVAILABILITY OF ADVERTISED MERCHANDISE SUBJECT TO CHANGE WITHOUT NOTICE

UNADVERTISED SPECIALS ON • COMREX • EPSON • NEC • IDS PRISM • OKIDATA

OM EGA INTERNATIONAL 334 R CAMBRIDGE STREET, BURLINGTON. MA. 01803

PARTS LIST AND NOTES

C1,C2 D1 Q1-Q13 R1-R16 U1 U2,U3 U4,U5 U6 U7

Description

Radio Shack Part No.

0.1 MF, 50 W V

272-1069

1N914 or equivalent M PS2222 or equivalent 1K, 1/2 w att 74LS244 7408 7404

276-1620 276-2009 271-023 276-1941 276-1822 276-1802 276-1939

74LS138 7805 Plug-in PC board M atching connector

1. Som e selectrics may have a different group of solenoids. Use circuit A-B only for S electrics w ithout a SPA C E solenoid. 2. Inputs of all unused gates should be grounded. 3. Power supply voltage can be in 6-35 volt range. 4. Be sure to m ake + 5 and G N D connections to all IC ’s.

276-1770 276-153 276-1551

Figure 3: Interface Schematic Diagram

------------------- W

-

FUTURE

— ju4>Q------V W -

FUTURE

+ 5

4-

LU

U7 C1 - L

o

gnd

o

X

x

TO ALL IC’S

15

-ju ^O

AA V

-

RETURN

GND

-|u5>0------M/V-----------U6

BACKSPACE

— |u5>0----- VW ---------SPACE

— [u s> 0 -^ V W ---------------- J ^ ~ SH IFT

----- |u5>0-----W /---------- { ^ "

O 2 U N SH IFT

' f

■ f—

-------

°

o cr

c

f— o R2A

~~j

-

U3

-------W

/ --------------------

CK

> .

o Q.

= E >

-v w -

=E>

-w -

^ r >

-M M -

R2

CL

'■

PA2

PA1

~U2~^-

_V W -

:=E>

-W A -

►T2

-M M -

PAO ^ ------------- J u > > -

c

GND

R1-R16

Q1-Q13

No. 63 - August 1983

MICRO

47

them must be modified before they can use the standard Selectric typing elements, or 'balls', in the standalone mode. M ost of the I/O Selectrics had special typing elements, often with all capital letters, and the positions of the letters on the element were non­ standard. The major exceptions to this rule were units used in the old M T/ST word processors, all of which used stand ard ty p in g e le m e n ts . T h e machines with special elements are called 'BC D coded' units, while the others are known as 'correspondence coded' units. The difference is unim­

my driver program (see listing 1); it is the product of many months of evolu­ tion and revision, and I feel it is a good solution to the problem of optimizing the performance of a Selectric printer. The major functions of the various sec­ tions of the program are described below in the general sequence of their execution. Line 0 is a dummy line containing a short ML program (shown in hex dump and disassembly in listing 2) to find the end of the word processor text, plus the table that relates the character codes in text to their Selectric

As with any computer application the key to powerful use of the Selectric printer is software.

portant when the computer is driving the printer because software can select the proper letter, no matter where it is positioned on the ball. But when you use the I/O Selectric as a typewriter, BCD-coded keyboards will only work with BCD typeballs. Converting a BCD unit requires you to alter these mechanical connections so the keys correspond to positions on standard correspondence elem ents. Although the conversion takes several hours of m eticulous m echanical work (see reference 1), it is well worth the effort. As with any computer application, the key to powerful use of the Selectric printer is software. I wanted to use my word processor (Copy-Writer from CGRS Microtech) with the Selectric, taking advantage of the best features of both. Copy-Writer, like Word Pro and most other word processing programs, stores text in a certain area of memory as images of the characters actually ap­ pearing on the screen. I wrote a Selec­ tric driver program that reads the text, converts it to the proper Selectric character codes, and sends them to the printer with the proper timing. Since the driver and the word processor won’t fit in memory at the same time, I load Copy-Writer, use it to load the desired text, then replace Copy-Writer with the Selectric driver and start typing. Because the Selectric has features that work differently than those on most computer printers (margins, tab stops, etc.), the driver program had to take them into account. The accom­ panying listing is the latest version of 48

They also activ ate the tab and backspace and return solenoids when called for. When entering text for Selec­ tric typing, I use the 'less than' key to cause a backspace and the 'greater than' key to initiate a tab. Copy-Writer itself doesn't have characters for these func­ tions because they aren’t usually found on computer printers. Lines 340-380 return the carriage on the first space at the end of a printed line. Lines 390-440 pause for paper changing, lines 450-500 ‘pick’ three special solenoids, and lines 750-810 allow the temporary suspension of printing for paper adjustment or any other reason. If you have thought about convert­ ing an I/O Selectric for use with your PET, the system described here is proof that it can be done with powerful effect. The same interface and a modified driver should be able to be used with a VIC-20 or Commodore 64, or any Commodore machine having a parallel user port. If you would like more detailed information than is presented here, write to me at the address below.

equivalents,- it also provides several temporary storage locations used later in the program. The 255-character length of this line was achieved by changing its link, as described in reference 5. Line 110 is used to activate or 'pick' the print solenoids by POKEing the appropriate code to the user port for a tim e determined by the FOR...N EXT References loop. This line is placed early in the 1. Robert M. Weil, "Converting Selec­ tric Keyboards from BCD to Cor­ program to reduce its execution time. Line 100 keeps it from interfering with respondence Code, Part 1 ,” M icrocomputing, December 1979. the main loop of the program. Lines 510-550 initializes the main 2. Robert M. Weil, "Converting Selec­ tric Keyboards from BCD to Cor­ program. The ML at 1190 finds the end respondence Code, Part 2, of text, then BASIC initializes a series M icrocomputing, January 1980. of variables and sets the top of memory 3. IBM Corporation, I/O Selectric Ser­ to a point below the text area. vice Manual, Part No. 241-5737-0. Lines 560-740 allow the operator to choose his starting point in text and the 4. W illiam F. Pytlik, "An Inexpensive Word Processor,” MICRO #36, number of lines per printed page and to input the settings of the margins and May 1981. tab stops. T h ese stops are set 5. Louis F. Sander, "A New Technique for Mixing BASIC and Machine mechanically on the Selectric then in­ put to the program so it knows where Language," COMPUTE! #24, the carriage is positioned. May 1982. Lines 120-270 work through the text in memory, printing the characters and returning the carriage at the proper Louis F. Sander lectures on computer points. When the end of text has been subjects for the Special Programs Division of Carlow College. He is the originator of reached, line 270 reloads the main CO M PUTER KINDERGARTEN™ , a word processor program. (My PEDISK computer fam iliarization course for adults, II uses the !RUN command for this pur­ and has written articles for many pose — other disk drives will use computer-related publications. You may contact Mr. Sander at 153 Mayer Drive, something else.) Pittsburgh, PA 15237. Lines 280-330 bypass any word pro­ cesso r form at co n tro l ch aracters embedded in the text since the Selec­ (Listings begin on page 50) tric has no way to respond to them. MICRO

No. 63 - August 1983

For the Apple II + /He

THE PRIME PLOTTER"

P IE -C H A R T S

A com prehensive plottin g package to meet the exacting needs for most b usiness, tech n ical, and scientific applications. The most pow erful, versatile, flexible and co m p lete plotting package ever developed for the Apple. With d a ta m anagem en t • sta tistica l analysis • X-Y plotting • PIE C h arts • G raphics • Slide S h ow /replay • and much more. An OPEN-ENDED SYSTEM with built-in capabilities for CUSTOMIZATION and ADD-ON applications. REM ARKABLY PO W ER FU L In one session, using only THE PRIME PLOT­ TER, you can: Create data files • Perform trend analysis and curve fit regressions • Plot the data, the fit or any function/mathematical subroutine • Save or print any screen at any time • Edit, add or delete units and then save the file for a demonstration * Over one hundred such replay files, each full of charts, can be stored on one disk • Then . . . sit back and watch a step-by-step REPLAY of the whole show.

H O W D O E S IT W O R K ? The Prime Plotter is a modular system where each of its elements, such as the statistics, the plotting routines, and the character sets, can be replaced by another module. Thus, the base system can continuously be extended and enhanced by add-on modules.

EASE O F U SE The Prime Plotter is a menu-driven system • Default parameters are displayed and can be changed before each step • Simple and easily learned terminology • Prompts with legal range for each input * Value or expression input • Excellent error handling • Optional inverse cursor with top-bottom/left-right scrolling.

E X T E N S IV E D O C U M E N T A T IO N A comprehensive manual with step-by-step tutorial and samples to ignite your creativity • A reference card • Demo files • Continuous support with a free subscription to our user newsletter and periodic new add-on Modules (see below).

XTZ

F E A T U R E S C H E C K L IS T

Log • Spillman • Nth Order. characters with the character generator • Additional 2. Trend Analysis: Averaging • Moving Average 20 unique typeset designs. • Smoothing • Growth Rate • Frequency & Automatic label generation and placement with Cumulative histograms • Logistic curve. justification, prefix and suffix • Centering or 3. Distributions: Normal • Gamma • Chi-square plotting at predefined locations * Manual placement tests and contingency table analysis. of several labels in one operation • Expression, In Addition: User defined functions and sub­ keyboard cursor, or paddles/joystick inputs. routines • Basic stats on any data set (sum, mean, S.D. etc.) • Customized Modules (see below). G R A P H I C U T IL IT IE S Inverse/invert, fill, or frame areas, even copy to another area • Free-draw of lines and shapes. X -Y C H A R T S

Options: Data/fit • Log scale • HI-LO • Error bars • Axis of origin • User defined parameters for frame, axes, tic marks, grids, labels and graph types.

Graph types & Parameters: Over 20 symbols for scatter • Variable line thickness • Dotted line with variable increments • Variable step for area fill • Bars with variable width and 6 filling methods in 15 steps • 3-D bars, or 3-D area fill in 4 direc­ tions, variable width and filling step • Up to 15 multiple bars on same tic mark * 1 0 different figures for unique figure charts.

BARS

8A L E 8

S.2J 7 .0 X 7 .2 * 7 .3 * 0 .3 J

9.ex 9 .as 10.32

S L I D E S H O W /R E P L A Y Review your work at any time, stop at any moment and print the image or save it to disk. With this power, you can design unique multi-screen presentations of graphs, titles, data display and stats. Switch between the hi-res and the text screens, insert delays, plan an erase, or replot mode, and store the whole show in a fraction of the usually required space. You can also compress images for quick load (instead of redraw) and even chain files for an hour-long show.

PLOTTER INTERFACES An Add-on disk allows production of high quality outputs with a pen plotter. Any replay file created with the program can be sent to a user defined area on paper. Multiple screens can be easily plotted on one page. The user can define plot size, pen selection, and directly access any of the plotter built-in commands.

1 1 .4X 1 2 .9 X

COMING SOON THE X A X IS

A Gamma F i t U>•9 S

Lowercase • Small letter • Greek alphabet • Scientific symbols • Your own shapes or character set (compatible with the Apple Tool Kit ""sets) • Placement in any screen location • 8 different

directions * Multi-level super and sub script • Variable forward-backward spacing • 8 different rotations with shapes. S T A T IS T IC S Designs: Bold ■ Partially bold (horizontal or 1. Curve Fit Regressions: Linear • Logarithmic vertical) • Double size • Double bold • Inverse • Exponential • Geometric • Inverse • Inverse type and double width, or double height

4 .7 1 3 .7 *

ill

L A B E L IN G Two methods, shape table and a special character generator, provide: Uppercase *

General: No limit overlay and/or frames within one screen • Multi-screen display of both graphics and text •Over 100 colors. Data Management: Convert DIF files • Create data files • Edit, transform, add, or group data sets • Display, save, or print data and statistics.

___

i;I 200 229 aa>

User Defined: PIE size (horizontal & vertical) • Location • PIE area used • 3-D PIE width • Unlimited number of pieces • Unlimited overlay of filling methods per piece • 1-4 groups of pushed and/or exploded pieces.

i:i;

?0 .3: i *i 11ss; .J** 10 .4

il.ai.

• PLOTTING MODULES: 3-D • Mapping • Organizational charts • THE PRIME TYPESETTER m: For the creation and management of shape tables, character sets, figures, typesetting designs, and much more. • Customized statistical modules can be ordered for a nominal fee. CHARACTER

F IG U R E C H ART

SET

XYZ COMPANY

o CLOSING PRICE j VOLUME

I" fill'O * *.- ./

0 1 2 3 4 5 6 7 fl9 'i< = > ? i C N J -. ASCDtFCHI JKLHNOPORSTUVWXYZ 194 then t=e 1: *ioto23Ci : r e rn^ctr 1 330 stop340 rem MM l i n e end 350 i t p :=32and'' peek 4 5 Vthen-:;iosub4 70 :ciosub400 srem MM dash t o 1 by no t dash 360 i tp~67 5>.ndpeek •']t+ k 1 :> O 32 .:■then*iosub470 : *iosub400 : :i tr e e ! :. t+ k 1:»32"t| 0+he ri r e t u r n 41U s "■1 :yo s u b 4 6 0 :p r 42u 430

j

n t " S'G^-HhI' IGG! PhPER

MIT

■ rP'r31M

-;:iet-a$ s i t a f ^ c l ' i r l 1'3 tl- ieri250 i ha.f O ,,r ' l, theri420

44 0 '-O -'V " th e i .580

5'7|r:i s -: ■1 : 'ib460 ; < ■ .:.■ =! 55 : o(osujj4 70 i.hi '1 p t i.n t “ S I liR T L.N I .!5-l“ ■-k.r f • 13 ■ta b 1 '.:?"' ? : i rip u ts 1 : i t 1 < 1ofs 61.0 pi .int "L .IMFS. JP 0 "peel:'..' lp.> c h r S: '• 1 3 > " £jM t =-b«< 8 > :ir,pulr.j s .i Ij8J 620

I- e Ip - ,;i : ,l t ipi.it" L.

.111

IRUir'

1:

16 n ie r i6hm

tl ,en i-,;j n■ ^o-l-.,.-l64 9

a-t

630 640 650

i •;;:,,,a L a £ > sj P ■ *=" " ti-(er.700 i t i CJ tl*'ienpi :i i i t " 13 1L.LEOhL 1 1; 9 0 to 6 10 poke lm , 1 : t o i - i = l to 13 spr i n t "TAB #" i "

660 670

" th e n i- o .n ;i f. i" H. -1 >oi

r::f:0 6"90 700 71 0 720 730

p .jt e li„ i- i , j si f',i --c"rl--l ieri :i. -1 3 spi- i n t t a b 9 j " JH" .1 ne;:"+. : i 1 1p-r i t"R HHROlh-l" ' i spokei rn. :i I-p e e k r I p '-1 sc l ;-;peeh'• r in - r e e l - 1 m :1 --5 K-'r in t spi •:i n t 1" I.in e s/p a vje ., " c 1"spaces,' 1j n e . gl" toi- 1 = liu tor-in .1 pr i n tp e e k j. > ; : i tp e e k '• i u.'th€'i"i i. :- r rn- 1 ne: :l:; pr i n t spr i n t spoke 144 , 49

ftftftl" ' ■ .i n p u t ^

: 1 -:

11

'

i^ci.u thenpotie ln.+ i ,.-i.u : i -1 3 snext si~ 0 : ':;Hotr;,640

740 r e t u r r i 750 1 eiji MM suspend typ in o i 76 0 1 f =.:$ - c h t $ < 3 t h e r-i2 5 8 770 p r i n t " I«BMB«I3FEF0S SPRlCE TO RE:}:UriF TVPIUCi^" 780 vie ta ^ : i ta .f= " " tiienSJ 0 790 .i to.f-^ctii- X ■3 >-t|-iei-i250 800

tc>780

31 >J pr i n f IWHIM HI I I r e „

166

(More listings on page 52) 50

MICRO

No. 63 - August 1983

□ COMMUNICATIONS □ REAL ESTATE □ TAXES □ STOCK MARKET □ INVENTORIES M HEATH/ZENITH 89 8 ”

□ APPLE □ EAGLE □ IBM, PC □ NORTHSTAR □ TRS-80 II 8 ” □ OSBORNE □ FRANKLIN □ STANDARD CP/M 8’

RENT SOFTWARE BEFORE YOU BUY! from our

SOFTWARE

oo to o

□ O

□ £ ■o

RENTAL LIBRARY

in

□ 03

c 75

SUPER FAST GAMES FOR THE VIC 20

Text dump Move memory

N e w aliens have been found i nvading

Hunt memory for a string

thousands o f V IC ' s. T h e y com e in all shapes and sizes te rro riz in g V IC owners

HEX - DEC conversion

e veryw here. N o w . yo u to o . can shoot it

Edit code

This is sure to become a M U ST item for every programmer. Regularly $9.95, our price is only $7.95.

STELLAR TRIUMPH A great new. all machine code game is now available for your CBM -64 Features exciting hires color graphics and spectacular sound effects. A two player game with many variations such as reverse gravity, bounce back, speed control, and more. Prepare yourself into an all-out space battle. From H .A .L tape or disk

Labs

............................... $24.95

o u t w ith these menaces!

Mini-assembler M IS C . C O M M A N D S

PEN P.A.L. HELPS PROGRAMMERS

PROTECT YOUR INVESTMENT

tom ers!

Switch kemal to R A M KEY

WITH ATTRACTIVE DUST COVERS!

GRAFDOS

Fill memory with any byte

LO R E S LGR LC O L LPLO T

bonus,

M IN I-M O N , a powerful

programs and demos including a music

A PLOT HGR SCREEN A LT NORM

added

assembler w ith 20 description below.)

CATalog IN IT W A TC H OFF S TA T C H A IN

B A S IC C O M M A N D S - H IR E S

an

includes the

Switch BASIC to R A M The only thing m ini in this monitor is the price! VIC -20 version requires 8K expansion.

Cassette ................................... $15.95 Disk ........................................ $19.95

SCORPION DEADLY SKIES COLD FEVER CRATER RAIDER CYCLON SIDEWINDER 8K SWARM GALACTIC BLITZ QUACKERS

MICRO

can. can can can. can. cas.s. cass cass. cass

LIST 39.95 39.95 39 95 34.95 34 95 29.95 29.95 24.95 15 95

OUR PRICE 29.95 29 95 29 95 26.95 26.95 19.95 19.95 16.95 11.95

INTERESTING SOFTWARE 21101 S. Harvard 8 lvd. Torrance. CA 90501 (213) 328-9422 Visa/MC/Check/Money Order - Add $2.00 CA residents add 6 ’/2% sales tax. Dealer inquiries invited.

No. 63 - August 1983

Products for Commodore, Atari, Apple, and others! T H E M O N K EY W R EN C H II

VIC R A B B IT C A R T R ID G E A N D CBM 64 R A B B IT C A R T R ID G E NEW FEATURE! DATA FILES!

A PROGRAMMERS AID FOR ATARI 800 NEW AND IMPROVED - 18 COMMANDS PLUGS INTO RIGHT CARTRIDGE SLOT

If you are a person w ho likes to m onkey around with the A TA R I 800, then T H E M O N K E Y W R E N C H II is for you!! Make your program m ing tasks easier, less tim e -co n s u m in g and m ore fu n . W h y spend extra hours w orking on a B A S IC program w h e n the M O N K E Y W R E N C H can do it for you in se co nd s. It can also m ake backup copies of boot typ e cassette pro gram s. Plu gs into the right slot and w o rks w ith A TA R I B A S IC cartridge.

“High Speed Cassette Load and Save!”

$ 39.95

( in c lu d e s c a r t r id g e a n d m a n u a l)

The MONKEY W RENCH provides 16 direct mode comm ands. They are: AUTO LINE NUMBERING — Pro­ vides new line numbers when entering BASIC program lines. RENUM BER — Renumbers BASIC's line numbers including internal references. DELETE LINE NUMBERS — Removes a range BASIC line numbers.

D o n ’t w aste yo u r Life a w a y w aiting to LO A D and S A VE program s on Cassette Deck.

$59.95

VA RIABLES — Display all BASIC variables and their current value. Scrolling — Use the START & SELECT keys to display BASIC lines automatically. Scroll up or down BASIC pro­ gram. FIND STRING — Find every occurrence of a string, XCHANGE STRING — Find every occurrence of a string and replace it with another string. MOVE LIN ES — Move lines from one part of program to another part of program. COPY LIN ES — Copy lines from one part of program to another part of program. FORMATTED LIS T — Print BASIC program in special line format and automatic page numbering. D ISK DIRECTORY — Display Disk Directory. CHANGE M ARGINS — Provides the capability to easily change the screen margins. MEMORY T E ST — Provides the capability to test RAM memory. CURSO R EXCHANGE — Allows usage of the cursor keys without holding down the CTRL key. UPPER CASE LO CK — Keeps the computer in the upper case character set. HEX CON­ VERSIO N - Converts a hexadecimal number to a decimal number. DECIMAL CONVER­ SION - Converts a decimal number to a hexadecimal number. MONITOR — Enter the machine language monitor. In addition to the BASIC commands, the Monkey Wrench also contains a machine language monitor with 16 commands used to interact with the powerful features of the 6502 microprocessor.

< o < ^ V S T C P _ ;300/1200 Baud Standard Term inal C om m unications Package •P F C T IO D

OOA

C PD 2

* Complete Package -

h

* * * *

includes RS232 Inter­

face Board and software (does not include modem) Communicates in Industry Standard ASCII Upload/Download to/from Disk Autom atic File Translation Can be controlled from keyboard or user sup­ plied basic or machine language program

S p e c ify 3.0 o r 4.0 R O M S o r 8 0 3 2 C o m m o d o r e C o m p u te r 4 0 4 0 o r 8 0 5 0 o r P E D IS K M D is k o r C B M 6 4 o n 1541.

Price: $129.95

Load or Save 8K in a p p ro x im a te ly 30 seconds! T ry it— yo u r U n -R a b b itize d V IC or 64 takes alm o st 3 m inutes. It's not o nly fast but V ER Y R E L IA B L E . A lm o st as fast as 1541 Disk Drive! D o n ’t be fo o l­ ish — W h y buy th e disk w hen you can g et the Rabbit for m uch, m uch less! Allow s one to A P P E N D Basic Program s! Easy to install — just plugs in. E xpansion C o n n e c to r on r e a r o fth e V IC Rabbit. W orks with or w ith o u t Expansion M em ory. W orks with V IC or 64 Cassette Deck. 12 C o m m an d s provide o ther neat features. Fast D a ta Files - tw o d ata file modes. Also A vailable fo r 2001, 4001, and 8032.

PET BASIC SCROLL PROGRAM S c ro ll th ru B a s ic P r o g r a m s u s in g c u r s o r u p /d o w n k e ys. S p e c if y c o m p u te r . $ 6 .0 0 o n c a s s e tte , $ 9 .0 0 o n d is k e tte .

65C02 MAE S a m e a s o u r M A E b u t e n h a n c e d fo r th e n e w 6 5 C 0 2 O p c o d e s . T u rn s y o u r c o m p u te r into a d e v e lo p m e n t s ys te m fo r th e n e w R O C K W E L L 6 5 C 0 2 M ic ro p ro c e s s o r. $ 2 0 0 .0 0 — S p e c ify C o m p u te r .

E H S c a n s u p p ly la rg e q u a n titie s o f A T A R I a n d V I C C a r tr id g e s fo r s o ftw a re d e v e lo p e r s . If yo u n e e d c a rtrid g e s , ca ll for p ric in g .

jJT Pro g ram s

2 71 6

and 2532

--------------------

E P R O M s . Includes hardware

TRAP 65

and software. P ET = $75.00 —

TRAP 65 is a hardware device that plugs into your 6502's socket Prevents execution o f unim plem ented opcodes and provides capability to extend the m achines' instruction set. For PET/APPLE/SYM Reduced from $149.95 to $69 95

A T A R I (includes sophisticated machine language monitor) = $119.95 P r o w r ite r P r in te r • E x c e lle n t d o t m a trix p r in t p a ra lle l = ca ll S e ria l = C a ll IE E E = C a ll

T u No. 63 - August 1983

e

DC Hayes Smart M odem = $235 00 I DC Hayes M icro M odem II = $289 00 I

r s

MAE

Professionally Designed Softw are Develo pm e n t S ystem

6800 CROSS ASSEM BLER A C r o s s A s s e m b le r b a s e d o n th e M A E th a t ru n s o n th e P E T , A p p le , o r A ta ri b u t a s s e m b le s o p c o d e s fo r th e M o to ro la 6 8 0 0 m ic r o p ro c e s ­ so r. T u rn s y o u r c o m p u te r into a d e v e lo p m e n t s ys te m fo r th e M o to ro la 6 8 0 0 M ic ro p ro c e s s o r. $ 2 0 0 .0 0 — S p e c ify C o m p u te r .

ATARI and VIC Cartridges ATARI AND PET EPROM PROGRAM M ER

More than just an Assembler/Editor! Now for the “ 64” \ It's a

B ELL = 12 3 0 0 0 1 0 1 4 3 6

Don't settle for non-standard Communications Protocol! Access Micro Net. Source. Bulletin Boards. Local Main­ frame, etc.

for VIC

n e

1 MICRO

Rana Disk Drive - 375 4 Drive C ontroller - 114

Blast o ff w ith the softw are used on the space shuttle project! • D e s i g n e d to im p ro v e P r o g r a m m e r P ro d u c tiv ity • S im ila r sy n ta x a n d c o m m a n d s — N o n e e d to r e le a r n p e c u lia r s y n ta x e s a n d c o m m a n d s w h e n you g o U o m P E T to A P P L E lo ATARI • C o r e s id e n t A ss e m b le r/ E d ito r — N o n e e d to lo a d th e E d ito r th e n th e A s s e m b le r t h e n th e E ditor, e ic • A lso i n c lu d e s W o rd P r o c e s s o r . R e lo c a ti n g L o ad e r, a n d m u c h m o re • O p tio n s - E P R O M P r o g r a m m e r , u n im p l e m e n te d o p c o d e c irc u itry • STILL N O T C O N V IN C E D . S e n d for Ire e s p e c s h e e t!

5% INCH SOFT SECTORED DISKETTES Highest quality. W e use them on our P ET s , A P P L E s , A T A R Is , and other computers.

$22.50110 or $44.50/20

EPROMS 2716 = $4.50 2532 = $7.50 Over 4 0 C om m odore Program s by Baker (on 4040) = $25.00

3239 Linda Dr. W in sto n-S alem . N .C . 27106 (9 1 9 )9 2 4 -2 8 8 9 (9 1 9 )7 4 8 -8 4 4 6 Send for free catalog!

53

If

©

1

*

How Much Is It W o rth?

$

Com puting the N et Present Value of an Investment by Brian J. Flynn

Computation of net present value is an important consideration; costs and benefits occur in the future as well as the present because money has value over time. onsumers, government mana­ gers, and corporate men and women often face the dilemma of how best to spend scarce resources. Resolution of this problem entails evaluating alternatives whose costs and benefits occur in the future as well as the present. A consumer who wants to buy a new car, for example, may tally the costs of three models, each with a dif­ ferent sticker price and recurring cost of operation. Differences in recurring costs may be due to differences in fuel efficiency (miles per gallon), price of insurance, and frequency of repair. Since costs are partly incurred in the future and since money is valuable over time, computation of net present values is desirable. Net present value is the amount of money needed today to generate a future cash flow. This article explains net present value in more detail, and gives an example of its use, applying the BASIC program listed here.

C

Today's dollars are translated into tomorrow's by compounding the rate of interest. Conversely, tomorrow's are converted into today's by discounting. Each operation is the inverse of the other. Let's first discuss compounding. Five dollars f$5.00) invested at 15% in­ terest per annum, compounded once a year, yields $5.75 at the end of 12 months ($5+ $ 5 x 0 .1 5 = $ 5 x 1 .1 5 = $5.75). And as figure 1 shows, the $5.00 investment doubles in value after about five years ($5 x 1.155£$10). In­ terest need not be compounded just once a year, however. In fact, it may be compounded any number of times, as table 1 shows. But when interest is compounded more than once a year, nominal and effective interest rates dif­ fer. For example, $1.00 invested at 15% interest, compounded every six Figure 1

months, yields approximately $1.1556 at the end of one year [$1 x (1 +0.15/2)2 ~ $1.1556], While the nominal interest rate is 15.00%, the effective rate is about 15.56%. Discounting is the antithesis of compounding. Hence, $5 invested to­ day at 15% interest, compounded an­ nually, yields $5.75 in one year, and $5.75 in one year is worth $5 today ($5.75/1.15 = $5). The first process in­ volves compounding and the second discounting, as figure 2 shows. Simi­ larly, $50 two years from now is worth about $37.81 today ($50/1.152£$37.81). And the present value of $100 in "n " years is $100/1.15n. Following this logic, the formula for computing the net present value of an investment, with interest compounded annually and with dollars spent or received at the end of each period, is: Net Present Value = FL +

R,

(1 +r)

+

+ (1 + r)2

(1 + r)n

$5 Invested at 15% Interest Per Annum, Compounded Yearly $10.06

N et Present Value Almost no one in today’s economy would willingly part with $1,000 in return for merely $1,000 a year hence. This is because inflation would diminish the purchasing power of the $1,000 and because this sum, properly invested, would likely produce a "real" return, or a yield above and beyond the rate of inflation. Hence, a person might lend $1,000 for one year only if promised $1,000 plus 15% in­ terest at the end of the period. It is this rate of interest that links money today and tomorrow. 54

$8.75 $7.60 $6.61 $5.75 $5.00

Year 0 MICRO

No. 63 - August 1983

R elatio n sh ip B etw een C o m p o u n d in g and D isco u n tin g ($5 invested at 1 5 % in te re s t p er ann u m , com po u n d ed yearly)

Each system, consisting of a CPU, video screen, disk drive, printer, and software, is expected to last five years, with no salvage value. System A costs $1500 but should save $3000 over its life (net saving = $1500). System B, on the other hand, costs $2000 but saves $3450 over five years (net saving = $1450). Since A saves more, do you purchase it instead of B? Since money has value over time, you can always put your money into government bonds and earn about 15% per annum. Hence, you should decide which system to buy by comparing net present values. With r = 15%, and with interest compounded once a year, the net present value of system A is:

C o m p o u n d in g ($5.00 x 1.15 = $5.75)

R0 is initial net revenue (revenue minus cost) of the proposed project, and is always either zero or a negative number. This is because building a new factory, for example, involves an im­ mediate expenditure (cost of construc­ tion) but yields no immediate return. Next, Rj through Rn are the annual net revenues expected during the invest­ ment's life. Finally, r is the interest or discount rate, and n is the number of years in the cash flow. If we decide to discount interest twice instead of once a year, the for­ mula changes to:

Your estimates of costs and benefits of two alternative systems are:

System

System Year A B 0 $1500 $2000 1 50 600 2 150 650

R

(1 + 1/2 r)

2x2

(1 + Vi r )2

Similarly, when quarterly discounting is desired, r is divided by 4 and the ex­ ponent becomes 4 multiplied by the ap­ propriate year. The computer program lets you use any frequency of discount­ ing that you want. But what discount rate (r) is ap­ propriate? Theoretically, the "correct" discount rate is the opportunity cost of the investment, or the next best available rate of return. But opportun­ ity cost is difficult to measure, and varies from firm to firm and from private to public sector. In the private sector, a measure of a firm's cost of capital is probably a good approxima­ tion for r.

-----

+

1.1 5 2

$1000

$1300

1 .1 5 4

1 .1 5 s

$500 1 .1 5 3

$204

Similarly, the net present value of B is approximately $275. Therefore com­ puter B is the better buy. (Continued on next page)

compounded with varying frequency Future Worth of the investment, Interest Compounded:

R0 +

+

$150

Table 1: Future worth of $5 invested at 15% interest per annum,

(1 + V z r ) 2 * 1

____

Year A B $ 500 $700 3 4 1000 750 1300 750 5

+ 1 .1 5

Estim ated N et Revenue

R,

N e t P re s en t V alue

$50

■$1500 +

End of Year

Semi­ annually

Quarterly

Monthly

Continuously

$5.78 6.68 7.72 8.92 10.31

$5.79 6.71 7.78 9.01 10.44

$ 5.80 6.74 7.82 9.08 10.54

$5.81 6.75 7.84 9.11 10.58

1 2 3 4 5

Notes: 1. Future worth of an investment = $ P x (1 + j - ) ,x t , where $P = r = f = t =

the principal rate of interest, in decimal form frequency of compounding year “t”

For example, with quarterly compounding of interest, $5 at the end o f five years is worth: $5 x (1 + - 2 ^

$10.44

An Example 2. When interest is compounded continuously, future worth equals

Let's say you want to buy a microcomputer system to reduce number crunching in your shoe store. N o. 63 - A u g u s t 1983

lim

$P x (1 4 - f ) IX, = $ Per**

MICRO

55

HO1

Listing 1

10 REM Computing the Net Present Value of an investment. 20 REM Brian J. Flynn — 1 July 1981 30 REM Copyright (C) 1983 by MICRO Ink 40 REM P.O. Box 6502, Amherst, NH 03031 50 GOSUB 2000 REM Print heading and enter parameters 60 GOSUB 3000 REM Enter data REM Compute Net Present Value 70 GOSUB 4000 80 GOSUB 5000 REM Print results 90 END 1000 REM CD$ = YES or NO for continuous discounting of interest 1010 REM DF = Discount factor 1020 REM DN = Denominator of the first period term in NPV formula 1030 REM E = 2.71828 1040 REM F = Frequency of discounting per period 1050 REM N = Number of periods in the cash flov 1060 REM NPV = Net Present Value 1070 REM R = Interest (Discount) rate 1080 REM R() = Vector of net revenues 2000 GOSUB 6000 2010 REM Heading 2020 PRINT'THIS PROGRAM COMPUTES THE NET": PRINT'PRESENT VALUE OF AN INVESTMENT." 2030 PRINT"NET PRESENT VALUE IS THE AMOUNT": PRINT"0F DOLLARS TODAY WHICH WILL" 2040 PRINT"GENERATE A FUTURE CASH FLOW,1': PRINT"USING PREASSIGNED INTEREST RATE." 2050 REM Length of cash flow 2060 PRINT "HOW MANY PERIODS ARE INYOUR": INPUT"CASH FLOW "j^DIMRtN) 2070 PRINT:REM Interest rate 2080 PRINT"VHAT NOMINAL INTEREST RATE (IN": PRINT"PERCENT FORM) WOULD YOU LIKE TO" 2090 INPUT "USE (E.G. 10 = 10$) ";R 2100 GOSUB 6000 2110 REM Frequency of discounting 2120 PRINT"IN COMPUTING THE NET PRESENT": PRINT"VALUE OF YOUR CASH FLOW/' 2130 PRINT"INTEREST IS DISCOUNTED WITH ANY": PRINT"FREQUENCY PER PERIOD YOU DESIRE." 2140 PRINT "WOULD YOU LIKE CONTINUOUS": INPUT'DISCOUNTING (Y/N) ff;CD$ 2150 PRINT:IF CD$="Y"THEN 2170

2160 PRINT"H0W MANY TIMES WITHIN EACH": PRINT"PERIOD SHOULD INTEREST BE": INPUT "DISCOUNTED ";F 2170 RETURN 3000 GOSUB 6000 3010 BK$=" " : REM 35 Spaces 3020 PRINT"PLEASE ENTER EXPECTED NET": PRINT"REVENUE (REVENUE MINUS COST) IN" 3030 PRINT"EACH PERIOD" 3040 FOR I = 1 TO N 3050 II = 204 :GOSUB 7000 3060 II = 192 :GOSUB 7010 3080 INPUT N$ :R(I) = VAL(N$) 3090 NEXT I :RETURN 4000 NPV = R(0) 4010 E = 2.71828183 4020 R = R/100 4030 IF CD$ = "Y" THEN DN = EtR :G0T0 4050 4040 DN = (1 + R/F)tF 4050 DF = DN 4060 FOR I = 1 TO N 4070 NPV = NPV + R(I)/DF 4100 DF = DF#DN 4110'NEXT :RETURN 5000 GOSUB 6000 :PRINT:PRINT:PRINT:PRINT:PRINT 5010 NPV = INT( (NPV + .0005)*1000)/1000 5020 PRINT"NET PRESENT VALUE = ";NPV 5030 PRINT:RETURN 6000 CIS : RETURN 7000 PRINT6II,BK$: RETURN 7010 PRINTgll/'PERIOD #"I;" :RETUHN

M r F h n n has ,in M \ in cdM iuriii.'- Hum Virginia Polytechnic Institu te and a Ph D in economctrics from Georgetown U n ive rs ity . He is r m p l o v L ' d .is j i i i i p c r u i H T i s n m - k

h

an.il' -»r w ith rhc P c p .iiu n rr.t ui Ldefense. Y ou m ay contact M r. Flynn at ] 704 D rew lain e D r., Vienna, VA 21180.

JMCftO

/

TheOSCOM

The STARCOM

$450°°

’ AUTO DIAL 300/1200 BPS 212A COMPATIBLE MODEM

’ EXCLUSIVE TWO YEAR WARRANTY

’ BUILT-IN SPEAKER

’ COMPLETE COMM SOFTWARE AVAILABLE

$520°°

’ VERY COMPACT

’ The STARCOM Is our latest compact, most technologically advanced, 3 0 0 /1 2 0 0 BPS, SUPER INTELLIGENT AUTO DIAL MODEM. The STAR COM is our second generation product, utilizing only 3 LSI Chips, packaged in a custom designed reinforced plastic case. With the STARCOM, all you need is a modular wall plug: it requires NO TELEPHONE, simply key in the phone numbers from your Terminal or Microcomputer keyboard and the Modem will do the rest. •The OSCOM is another New Product designed for the OSBORNE® Computer User. To simplify its use by providing the necessary communi­ cation software integrated in the Modem, no more guessing as to which Software to use. •The SOFTCOM is a Communications Software Package for PC Microcomputer Users.

We Offer Very Generous Discounts To Our Dealers Call and Place Your Order Today

ORDERS ONLY 1-800-323-2666 For Information Call 312-459-8881

INCOMM Division of Interbusiness Corporation 115 N. Wolf Road Wheeling, IL 60090

56

MICRO

No. 63 - August 1983

INTRODUCINGTHE The Executive + System A Truly Virtual Machine!

Multi-User!

UP TO 24 USERS ON LINE.

>

Concurrent Tasks!

EACH USER CAN RUN MULTIPLE TASKS CONCURRENTLY.

>

Multi-Processing!

UP TO 8 C PU’S PER SYSTEM.

>

Networking!

COMPUTER SYSTEMS CAN BE TIED TOGETHER TO SHARE DATA BASES.

>

Up to 6.144 million bytes of RAM memory! Up to 1.848 billion bytes of on line storage! Cost Effective! High Reliability! >

>

a

A 4 USER SYSTEM WITH 1.2 MBYTE ON FLOPPIES 540K BYTE RAM, 4 PRINTER INTERFACES, 1 NETWORK INTERFACE AND A 154 MEG BYTE FIXED DISK RETAILS FOR $ 20,390.

THE SYSTEM IS HOUSED IN A SEALED RACK WITH FORCED AIR FOR ENVIRONMENTAL CONTROL WITH FRONT PANEL TURN KEY OPERATION, SWITCHING POWER SUPPLIES AND ROM BASED DIAGNOSTICS.

PRICE AND AVAILABILITY SUBJECT TO CHANGE WITHOUT NOTICE.

Send for information on our complete line of Executive Computers, Operating Systems and Business Solutions. Representative inquiries are welcome.

ANINNOVATIVELEADERINPROCESSINGSYSTEMS CUSTOM COMPUTER SYSTEMS INC.

7250 COMMERCE CIRCLE EAST No. 63 - August 1983

FRIDLEY, MINNESOTA 55432

MICRO

PHONE (612) 574-9493

57

A Machine Code S tr in g A r r a y S o r t

for OSI by John Rippon

This machine-language program sorts the members of a string array into alphabetical order In far less time than would be needed using BASIC. routine called for in a number of my programs sorts students' names into alphabetical order. The task of putting strings into alphabetical order can, of course, be tackled in many ways. If the strings are stored in a BASIC program as members of a string array then you may choose either to rearrange the string array directly, or to create a pointer array, additional to the* string array. The successive members of the pointer ar­ ray are integers corresponding to the string array subscripts when the strings are placed in alphabetical order. The two methods are illustrated in figure 1. Which method is used will depend on the exact application. The machine code routine described here is a direct sort and uses the rather inefficient, but easily understood, bubble sorting technique. It is called in a BASIC pro­ gram by the USR function.

A

Bubble Sort The bubble sort compares adjacent pairs of strings and swaps pairs in the wrong order. The first and second strings are compared and swapped if necessary, followed by the second and 58

third, and so forth. After the last pair has been checked the process is repeated from the first and second strings again. One less string needs checking on each successive pass through the list since the last string of each pass is placed in its correct posi­ tion. Eventually all strings will be in correct order. For N strings, the number of passes through these suc­ cessively diminishing loops before the order is correct is N-l in the worst case. In this case the last string has to bubble its way, one place at each pass, up to the top of the list. (Some increase in efficiency can be made if the order of checking the strings is reversed on alternate passes.) In BASIC, the string bubble sort routine looks like listing 2. This method is fine, in theory, but two major difficulties arise when using such a program on the C1P. First, the number of swaps required to sort a ran­ domly distributed list of N strings is ap­ proximately proportional to N squared so that, as the number of strings is in­ creased, the time required to make the sort may become inconveniently long. Second, and more important, everytime a string swap is made the three assignMICRO

ment statements on lines 1050 and 1060 each cause a string to be added to the string storage area in RAM. If N is too large, the number of swaps needed will cause the available string storage area to be filled; the now well documented garbage collector string ar­ ray bug in the Microsoft BASIC-INROM will be encountered. Unless you have made one of the software or firm­ ware modifications to eradicate the bug it will indicate its presence by a con­ tinual flicker of the video screen at about 1 Yi second intervals while it goes around an endless loop looking, un­ successfully, for places to relocate your strings. In practice, I found about 40-50 strings with an average length of 15 characters to be the upper limit on my 16K RAM machine before running into trouble. String Vector Swaps Since we are not creating any new strings but rather just swapping the order of the existing ones, adding fur­ ther strings to RAM, as described above, is redundant in a bubble sort routine. In O.S.I. BASIC every string array element has a 4-byte pointer that contains information on the length of the string and the address in RAM at which the string is stored. Thus, whenever two strings require swapping all you need to do is swap their two 4-byte pointers. While such a swap routine could be written in BASIC, the No. 63 - August 1983

high-speed nature of machine-code operation makes the latter mode of pro­ gramming a better idea. Listing 1 shows the machine code bubble sort routine, which easily fits into the unused page 2 area of RAM in the CIP. The routine is called within a BASIC program by the statement S = USR(N), where N is the variable standing for the number of strings to be sorted, and S returns the number of passes through the list for the sort to be completed. To keep the routine as short as poss­ ible its use is limited to sorting one array in any one BASIC program. This array is identified by inserting an appropriate DIM statement ahead of any other array reference in the BASIC program. The strings to be sorted must have subscripts 1 to N inclusively. The machine code is position independent.

Array Sort requires:

OSI-CIP with BASIC in ROM

String Comparisons

contains number of strings, N, in fixed-point format First, the value of N is transferred to $AE, $AF by the INVAR subroutine called at $240. At addresses $243 to $254 the pass count and string count are set to unity and the swap flag is cleared. $255 to $260 takes the Variable End Pointer ($7D $7E), adds ten to it and stores the resulting address in $28,$29- (high byte in $29). Provided the array to be sorted is the first encountered in the BASIC program the address in $28 $29 at this point will How It Works be one less than the address of the string pointer for A$( 1] - the first string The routine bears a close analogy to to be examined. After string com­ the BASIC program in listing 2. parison and swapping, this address is The zero-page locations used in the increased by four at $29D to $2A7 to routine are: point to one less than the string pointer $24,$25 - pass count, analogous to I in for A$(2) and etc. listing 2. At $2A8 to $2BE the value of N-I-J is $26,$27- string count, corresponds to J calculated. When this value is found to $28,$29- contains the address minus be zero, i.e. J = N - I , the main loop is one of the current string exited by a branch to $2C7. pointer At $2C7 the swap flag is checked $2E - swap flag. 00 = no swaps, FF and, if no swaps were made, the current = swap made in last pass value of the pass count, I, is transferred $31 to $37 - the pointers for the current back to BASIC via the OUTVAR sub­ pair of strings being com­ routine ($2DC to $2E2). If the swap flag pared are stored in these is set, the string count, J, is incre­ locations mented and then compared with N

$AE,$AF -

Figure 1: A comparison between direct and indirect sorting of string arrays.

ORIGINAL STRING ARRAY

A $ ( t) ~ SMITH A$(2) = BROWN A$(3) - MARTIN A$(4) = PETERSON

SORTED ARRAY

DIRECT SORTING

POINTER ARRAY

P(1) = 2 P(2) = 3 P(3) = 4 P(4) = 1 No. 63 ■August 1983

at $2CB to $2DB. If the incremented count is not equal to N the program branches in two steps back to $24B where the swap flag is cleared and the main loop is re-entered.

A$(1}= BROWN A$(2)= MARTIN A$(3) = PETERSON A$(4) = SMITH

SORTED ARRAY - VIA POINTERS

INDIRECT SORTING

A$(P(1)) = BROWN A$(P(2))= MARTIN A$(P(3))= PETERSON A$(P(4)) = SMITH

Whether or not two strings require swapping is, of course, determined by comparison of correspondingly posi­ tioned characters in each string - start­ ing from the left-hand end. If, however, two strings are identical up to and in­ cluding the right-hand end character of the shorter of the two strings, then it is generally agreed that the longer string is placed after the shorter one in an alphabetical list. Thus, for example "C A T 1' comes ahead of "CATWALK.” At $261 to $26A the two current string pointers are transferred to $31-37 (One byte in each pointer is a null and one of these is not transferred). The length of the shorter string is trans­ ferred to the X-Register at $26B to $272. Comparison of the string character pairs is made at $273 to $278. The swapping of the two pointers is made at $279 to $28E together with the setting of the swap flag. After swapping, the program branches to $29D again for the next string pair. If it is necessary to move on to the next character-pair comparison the BNE's at $28F to $292 are ignored and at $293 to $296 the character index [Y) is incremented. If the end of a string has not been reached, the program branches back to $273 for the next character-pair check. Finally, if all characters agree in pairs, the string lengths are compared at $297 to $29C. If the longer one is the first one, a branch is made to the swap routine. Using this routine I have found that 250 randomly-ordered strings can be sorted into alphabetical order in a time of the order of five to ten seconds; but if your list has two dozen ANDERSONS, 15 H IG G EN BO TT O M S and 30 CHRISTENSONS randomly distributed throughout, then, perhaps the times may not be so impressive! John Rippon is head of m ath em a tics and ph ysics at T a ita C ollege, N ew Zealand, w here he uses a C IP to introduce students to m icroco m p u tin g . You m ay co n ta ct him at 32 T ilb u ry Street, Low er H u tt, New Z ealand.

(Listings appear on next page) MICRO

59

Hi©

Listing 1

20 MS RF R9 00 c-j 24 Sc“< 2e ,:> C i-:. 2*? R2 0U :’ EuD i'E ,Tnr tt; !. i 7E13 E6 27 7E15 IS 7E16 R9 0H 7E18 65 7D 7EJR S3 2S 7E1C Sh 7E1FJ 65 7E 7E1F 85 29 7E21 R0 07 7E23 ei 28 7E25 99 30 00 7E2S SS 7E29 Du FS 7E2B R6 31 7E2D E4 35 7E2F 90 02 7E31 R6 35 7E33 El 36 7E35 D1 32 7E37 10 16 7E39 H0 07 7E3B E:9 20 00 7E3E 91 23 7E40 SS 7E41 C0 03 7E43 D0 F6 7E45 B9 34 00 7E4S 91 28 7E4H SS 7E4B 10 FS 7E4D 84 2E 7E4F D0 tiC 7E51 Du E:S 7E53 CS

T';ir LDfl STR 3 IR

,’hUU ~E0 .’E.li ■ ’Ey;'

TI =00 2i 2

me I...S

ld : :

ST ' -:m .-I'.'.

P?

L 13 L2

L3 L9 L5

L6

L4 LI 6

INC CLC LDR RDC STR TXR RDC STR LDV LDR STR DEV BHE LDX CF'X BCC: LDX LDR CMP BPL LDV LDR STR DEV CPV

Z5 ~0R 26 Z7 Z8 Z9 =07 < Z ? ’z ,V Z10.. V L2 211 Z12 L3 Z12 •::Z13> , V 2 14 > V L4 =07 215, V i' pV

=03 BHE L5 LDR Z16 , V STR TO RETURN TO MENU" ME$=INKEY$:IFME$=""THEN3030 IF ME$="M" OR ME$="m" THEN CI^:RETURN X=0:R=0 PRINT"T0 RETURN TO MENU, ENTER < M E N U > " INPUT"FILE NAME";N$ IF LEN(N$) < 1 OR LEN(N$)>8 THEN PRINT "IMPROPER FILE NAME, ONE TO EIGHT LETTERS ONLY":GOTO 3070 IF N$="MENU"THEN RETURN OPEN"I",# 1,N$ PRINT"LOADING FILE ";N$ R=R+1 IF E0F(1) THEN 3160 LINEINPUT#1,A?(R) GOTO 3120 CLOSE#l X=R:R=0:RETURN

Listing 6 4000 4010 4020 4030 4040 4050 4060 4070 4080 4090 4100 4110 4120 4130 4140 4150 4160 4170

REM SAVE A FILE---VER 1.0---FEB, 1982---JOHN STEINER CLS:PRINT:PRINT "":PRINT"T0 SAVE A FILE PRESS ANY KEY" PRINT "PRESS < M > TO RETURN TO MENU" ME$=INKEY$:IFME$=""THEN4030 IF ME$="M"0R ME$="m"THEN CLS:RETURN PRINT"TO RETURN TO MENU, ENTER < M E N U > " INPUT"NEW FILE NAME";PA$ IF PA$="MENU"THEN RETURN IF P A $ < > " ”THEN N$=PA$ IF LEN(N$)8 THEN PRINT "IMPROPER FILE NAME, ONE TO EIGHT LETTERS ONLY":GOT04060 IF A$(X)="" THEN X=X-l:GOTO4lOO CLS:PRINT "SAVING FILE ";N? 0PEN"0",#1,N? FOR 1=1 TO X PRINT #1,A$(I) NEXT CL0SE#1 RETURN

Listing 7 5000 5010 5020 5030 5040 5050 5060 5070 5080 5090 5100

One of the finest com puter summer camps in the na­ tion! N ow in our third season. Atari Learning Center this year will o ffer com plete recreational, cultural and social camaraderie in conjunction w ith Denison University. Full m otel-resort facilities (swim ming, sauna, tennis, etc.) and at least 6 hours every day o f hands-on com puter learning. Spacious, com fortable rooms and meals at the college dorms. PLUS....m id-course weekend break at Kings Island and the fabulous Kings Island Resort Inn! COMPARE OUR LOWER COST FEE structure before you send your child to any other camp. Reservations accepted now for tw o and four w eek sessions June 1 3 through August 5 . Restricted to 4 0 co-ed students, ages 9 -1 8 , per session. For Free information packet call: 6 1 4 - 4 5 4 - 6 4 0 8 or 3 4 9 - 8 4 4 8 or w rite to: M itey Byte Corporation 1 3 2 5 Maple A v e ., Zanesville, Ohio 4 3 7 0 1

5110 5120 5130 5140 5150 5160 5170 5180 5190 5200 5210 5220 5230 5240 5250 5260 5270 5280

REM---GLOBAL SEARCH---V.2.2--- SEPT, 1982 CLS:PRINT"GLOBAL SEARCH ROUTINE" PRINT” PRESS ANY KEY TO CONTINUE PRINT"PRESS < M > TO RETURN TO MENU B$=INKEY$:IF B$="" THEN 5040 IF B$="M" THEN RETURN CLS:PRINT"" LINEINPUT"PHRASE TO DELETE? ";D$ IF LEN(D$)=0 THEN PRINT"PLEASE ENTER A PHRASE, 0R":G0T0 5030 LINEINPUT"PHRASE TO INSERT? ";I? IF I$=D$ THEN PRINT "YOU CANNOT ENTER A PHRASE YOU WANT REPLACED":G0T05090 PRINT"SEARCHING" CT O : F O R S=1 TO X F=INSTR(A$(S),D$) IF A$(S)=""THEN5180 IF F > 0 AND B $ < > " A " T H E N GOSUB 5230 REM THIS GOSUB CALLS THE EDIT ROUTINE IF F > 0 AND B$="A" THEN GOSUB 2250:F=0:CT=CT+1:S=S-1 NEXT CLS PRINT "PRESS ANY KEY TO CONTINUE..." IF INKEY?=""THEN5210 RETURN CLS:PRINT:PRINT S, ,A?(S) :PRINT " CHANGE";CHR?( 13); " < C > CHANGE ALL";CHR$(13); " < ENTER > LEAVE" B$=INKEY$:IF B?="" THEN 5240 REM THIS GOSUB CALLS THE EDIT ROUTINE IF B$="C" THEN GOSUB 2250:F=0:CT=CT+1:S=S-1:RETURN IF B$=CHR$(13) OR B?="A"THEN RETURN SOUND 100,1:GOTO 5240

JMCftO

COMPUTIN&

9 . 0 Box 2 0 2 5 CORONA, CA 91 7 2 0

99.95 149.95 69.95 149.95 99.95 175.00 129.95 199.00

Magic Window

Magic Window! Bank Street Writer pie W r i t e r Easywritef

Pro E a s y w r i t e r

Screenwriter

List

B O O K S

(7 1 4 ) 7 3 5 -2 2 5 0

T S iT

U*t

69.95 I 99.95 I 64.95 I 109.951 69.95 1 119.951 79.95 1 134.951

o

SPECIALS

C fi

List ARK Axlon RAM Disk 320 1395.001099.00 Wizard 16K BPO 179.00 119.95 S.A.M. 124.95 84.95 Videx Combo 375.00 235.00

Word Handler

ARK

LISA Apple Graphics Arcade Book Book of Apple Software Elem. Apple Beneath Apple ; DOS Kids & the Apple •Using 6502 Assem. Lang.

19.95

15.95

19.95 14.95

15.95 11.95

19.95 19.95

14.95 14.95

19.95

11.95'

UTILITIES

LIST

ARK

Anix 49.95 39.95 Apple Doc 39.95 29.95 Applewriter Preboot 19.00 15.00 Bag of Tricks 39.95 29.95 The Dictionary 99.95 69.95 Disk Recovery 30.00 21.95 Transend II 149.00 119.95 Dosource 39.95 24.95 E P F IV 79.95 49.95 Lazer Pascal 39.95 29.95 Graforth 75.00 54.95 ALDS 125.00 89.95 Multi Disk Catalog III 24.95 19.95 Sensible Speller 125 00 89.95 Super Disk Copy 111 30,00 21.95 TASC 175.00 129.95 UCSD P-System Software Set 635.00 450.00 Graphics Magician 59.95 49.95 Visicalc Preboot 49.95 39.95 Locksmith 99.95 69.95 Inspector (Disk) 59.95 49.95 Watson (Disk) 49.95 39.95 'Omega Pack 209.85 145.00 (Locksmith, Inspector, Watson)

Beagle Bros.

List

ARK

Alpha Plot Apple Mechanic Beagle Bag DOS Boss Flex Text Frame up Tip Disk #1 Typefaces Utility City Pronto DOS

39.50 29.95 29.50 24.00 29.50 29.50

29.95 21.95 21.95 15.95 21.95 21.95 14.95 14.95 21.95 21.95

20.00 20.00 29.50 29.95

In celebration of the arrival of the new Apple Lisa Computer to ARK’S office, we are having a SPECIAL on the APPLE II, 11+ and / / • programs of the same nam e... LISA 49.95 79.95 LISA ED SYS. 74.95 119.95

Disk Drives at BLOWOUT PRIC E SIII High quality “Slim-Line" disk drives produced by TEAC Single Drive 259.95 Single Drive w/Controller 299.95 2 Drives w/Controller 549.95

DISKETTES Peripherals *ALS CP/M Card CPS Multi­ function Card Guardian Angel Kraft Joystick The Mill Pascal Speed-up kits Micromodem II Micromodem w/Term Pack Microsoft Premium Pack Microsoft 16K Ram Card Parallel Interlace Microbuffer II RAM Plus 16K STB 128K Memory Card Super Fan II Super Switcher *212 Smartcat 1200 Baud Versa Card Graphics + Plus Z80 Softcard

List

ARK

399.00 334.95 239.00 149.95 595.00 499.95 64.95 49.95 369.00 289.95 379.00 264.95

Don’t Miss The B o a t. . . Upgrade your Apple II & lb to an APPLE //e l

Lazer Lower Case + Plus Lazer Keyboard + Plus

List

ARK

64.95

29.95

99.95

49.95

Elephant 5%"s/s s/d (box of 10) Verbatim 5%"s/s d/d (box of 10) Verbatim 5'A" d/s d/d (box of 10)

List

ARK

29.95

19.95

45.00

29.95

65.00

44.95

MONITORS

409.00 309.95

499.00 359.95 79.95 59.95 295.00 219.95

These two enhancements working together allow upper/lower case with shift key, full 128 character keyboard and a 64 character type ahead buffer which allows faster data entry. To further upgrade your Apple II System, buy both the Lower Case Plus and the Keyboard + Plus then choose on of the following outrageous offersl

595.00 499.95 199.00 149.95 159.95 99.95 345.00 224.95

16K Ramcard WIZ-80 Omnivision Character Set

685.00 494.95 99.95 69.95 139.50 64.95 295.00 219.95 189.00 139.95

Plus

4 9 .9 5 1 4 4 .9 5 9 9 .9 5 5 .0 0

List

ARK

•Comrex 12" Gr. 149.95 89.95 NEC Gr. Screen 285.00 169.95 Amdek Color I 449.95 349.95

Great Games •Mandy s new all Miner 2049er Pinball Constr. Set Zaxxon Eggs It Dark Crystal Time Zone Blade of Blackpoole

List

ARK

time favorite . . . 39.95

29.95

39.95 39.95 29.95 39.95 99.95

29.95 29.95 21.95 29.95 69.95

39.95

29.95

DISCLAIMER WE ACCEPT VISA/MASTERCARD, PERSONAL CHECKS (ALLOW 10 DAYSTO CLEAR) OR COD($2.00 CHARGE). PLEASE INCLUDE 3% FORSHIPPING($2.CK) MIN.) OR 5% FOR BLUE LABEL ($3.00 MIN.). FOREIGN SHIPPING 10% ($5.00 MIN.). CALIFORNIA RESIDENTS ADD 6% SALES TAX. ALL ITEMS ARE NEW AND CARRY MANUFACTURERS WARRANTY. PRICES AND AVAILABILITY ARE SUBJECT TO CHANGE WITHOUT NOTICE.

GREAT DEAL

No. 63 - August

M IC R O

CP/M® is a registered trademark of Digital Research

CALL FOR NEW FREE CATALOG (714) 735-2250

3*11! S f l i s t s

Photos taken from AMDEK Color I M onitor.

ast m onth, part 1 (M ICRO 62:66) contained operating in stru ction s and th e listing of the program. If you downloaded it from a bulletin board service, ch eck to be sure no lines were altered. T h e services listed in last m o n th 's issue placed th em in the download files under the nam e M O D EIO .

L

T h e bulk of th is m o n th 's in stallm en t is a description of the program, so you should have last m o n th 's M IC RO handy. Y ou m ay w ant to m ake som e changes to add tw o new features: cassette capability and v ertical fill.

V ertical FIJI It m ay be useful to have the program fill in a vertical direction as well as horizontal. Since there are now four different fill directions, the directions w ill be selected w ith the four arrow keys (unshifted and w i t h o u t the control key). T o im plem ent this change, start w ith the keyboard interpret routine in lines 3000 to 3030. T h e new version of the routine is listed below. N ote th at lines 3002 and 3004 and new variable VFILL have been added.

Sin ce m any A tari com puters still have no disks, a save/load to disk d oesn't help too m uch. A very sim ple change can m ake the program write out the file to any peripheral. T h a t change is in the subroutine th at opens the file, in lines 10000 through as listed below . N ote that line has been deleted.

10050, 10040 1 0 0 0 0 ? “ E N T E R FILE S P E C - MAX. 8 C H A R A C T E R S :” 1 0 0 1 0 IN P U T FILES 1 0 0 2 0 IF L E N ( F I L E $ ) < 2 T H E N 1 1 0 0 0 10030 TRAP 11000 1 0 0 5 0 O P E N # 3 , D IR E C T IO N ,0 ,F IL E $ :R E T U R N

3 0 0 0 N = P EEK (KB ):POK E K B,2 55: IF N = 7 T H E N VFILL = 0:FIL L FLA G = 1:G O T O BEGIN 3 0 0 2 IF N = 14 THEM FILLFLAG = 0:VFILL = - 1: G O T O BEGIN 3 0 0 4 IF N = 15 THEM FILLFLAG = 0:VFILL = 1: G O T O BEGIN 3 0 1 0 IF N = 6 T H E N VFILL = 0:FILLFLA G - 1 :G O T O BEG IN 3 0 1 2 IF N = 31 O R N = 3 0 T H E N G O T O 8 0 0 0 3 0 2 0 IF N = 18 T H E N FILLFLAG = 0:VFILL = 0: G O T O BEG IN 3 0 3 0 IF N < > 5 8 T H E N G O T O BEGIN

M O D E 10 requires: A tari 400/800/1200 72

If you want to save to cassette, w hen it com es tim e to save the screen, enter C: w hen asked for a file spec. Enter C: to load the picture back from tape, also. For disk storage precede the filenam e w ith D :, D l :, D 2:, etc., as required. Pay atten tio n to the screen in stru ction s when m aking a change lik e this, also. You m ay want to elim in ate the "O N D ISK '' and "F R O M D ISK " portions of the screen displays from lines 3060, 3070, 3200, and 3300.

MICRO

No. 63 - August 1983

for the screen in H ELPSC$ and SELDL$ is the display list for the screen SELSC$.

Also you should add:

9 3 2 VFILL = 0: FILLFLAG = 0 1 0 0 2 IF FILLFLAG = 0 A N D VFILL = 0 T H E N 1 0 4 0 1 1 7 0 C U R S O R F L A G = 0 : C U R S O R C O U N T = 4:IF (FILLFLAG = 0 A N D VFILL = 0) O R STRIG(O) = 1 T H E N G O T O BEG IN 1 1 8 0 X1 = X:Y1 = Y :C O L O R S E L C O L O R 1 1 9 2 Y1 = Y 1 + V FIL L *IN C R E M EN T :IF Y 1 > 191 O R Y1 < 0 T H E N G O T O BEG IN 1 2 0 0 LOCATE X 1.Y 1 .T E S T E N D : IF T E S T E N D = S E L C O L O R T H E N G O T O BEG IN 1 2 1 0 P L O T X 1,Y 1 :G O T O 1 1 9 0 MODEIO Program D escription — Initialization In itialization begins w ith reading the joystick read table at lines 50 through 70. T h ese constants form a look-up table that m akes reading the jo y stick a little faster. BASIC is a rather slow language, so as m any ways to pick up som e speed as possible should be im plem ented. T h e array JO Y is set up as a tw o-dim ensional array using the first dim ension as the reading, w hich is in the range of 1 to 15. Several elem en ts are unused, so these are filled in w ith zeroes. T h e n ext section, at line 100, sets up the string assignm ent location on an even IK boundary. Players and m issiles, display lists, and screens all have restriction s relative to m em ory boundaries. Starting the strings on a IK boundary m akes it possible to adhere to these restriction s. Display lists m ay not cross a IK boundary, so these are defined next. T h ere are three display lists used in the m ain part of the program. O ne is the standard operating system display list, w hich w ill be established and m aintained by the operating system so that the P O SIT IO N , P LO T, and other BASIC com m ands w ill w ork on it. GRAPHICS 10 au tom atically sets this up and reserves m em ory for it. T h ere w ill also be a "H e lp ” screen and a general selection screen used to select the colors, both of w hich are m aintained in strings. HELPDL$ is the display list Mo 63 - August 1983

T h e display lists are defined in the statem ents at lines 160 through 200. T h e "H e lp " screen is a 6-line m ode 0 screen. In the display list, the lower case " P " is ASCII code 112 ($70), w hich blanks 8 scan lines for each com m and. T h e upper case B (ASCII 66 = $42) is a "lo a d m em ory sca n " in stru ction . It w ill display a mode 0 line ("in stru ctio n m o d e" 2 is operating system mode 0) starting th e m em ory scan at the address in the tw o bytes th at follow it. T h e m em ory scan contains the address of the screen m em ory that is to be displayed. T h e address for the m em ory scan is zero in the next two bytes, but it w ill be filled in later. The five bytes that follow the address are one-byte com m ands that display the five rem aining mode 0 lines. For this mode, the m em ory scan is increased by 40 for each line. T h e upper case " A " that ends this list is a "ju m p on vertical b la n k " instru ction (decim al 65 = $41), w hich causes a w ait u ntil the television fram e is com plete, followed by a branch to the address in the two bytes that follow it. T h is address is also filled in later on in the in itializatio n . T h e second display list is for the color selection screens. It is basically the sam e as the "H e lp ” screen display list except that it w ill display IR m ode $F (= decim al 15) lines, w hich is the m ode for operating system modes 8 through 11. A nother lo cation in m em ory determ ines w hich of these modes w ill be displayed, and that w ill be used later in the program. O ne significant difference in this second display list is the inverse video lower case " p ” just before the "ju m p on vertical b la n k " instru ction . T h is is a "b la n k 8 lin es” instru ction w ith the display list interrupt enabled. A display list interrupt w ill be used later in the program to change colors on the select screens. If you do not get the arrow on the color selection screens, ch eck the last low er case " p " in this display list. It m ust be inverse video in order to im plem ent the display list interrupt. A D R SETU P is a subroutine that takes an address stored in the variable A and converts it to the tw o-byte form at required for insertion into the display lists, returned as the variable A$. Lines 190 and 200 show how this subroutine is used by placing the addresses of the display lists in the "ju m p on v ertical” blank instru ctions. T h e screens stored in the strings m ust be initialized. T h e operating system is not m aintaining these screens, so the BASIC program m ust m ain tain them . T h e "H e lp " screen is set to all spaces, w hich w ill be altered later. T h e color selection screen is set up for 16 different colored M IC R O

73

------------ „---------------- ---------------------------

:Sr

boxes. T h e G TIA m odes (operating system modes 9, 10, and 11) all require four bits per pixel, so the bytes m ust be set up w ith tw o pixels each. T h e bytes in th is string w ill each hold tw o pixels of one color, w h ich m akes in itializatio n a little easier. A ll colors w ill be on the screen. T o convert a particular color num ber to the code required for tw o pixels in each byte, just m ultiply the color tim es 17. T h e first " b o x " is color zero, so lin e 2 30 starts the string w ith ASCII zeroes. T h e loop in lines 240 through 250 prepare four dots in each color by setting pairs of bytes equal to all of the num bers from 17 to 255 that are divisible by 17. Line 260 copies th is one screen lin e to the rest of SELSC $ so that there are six lines altogether, form ing the rectangular colored boxes. T h e subroutine A D R SETU P is used again in the n ext section (lines 2 80 and 290). T h ese lines insert the screen starting location s into the display list "lo a d m em ory scan ” in stru ction s. T h e single player used as the arrow in the color selectio n routines is set up next. T h e string area was set on a IK boundary and then several item s were D IM ensioned after that. An easy addition shows th at the pointer used to locate the strings is now 640 bytes after the IK boundary. T h is is exactly where the second player starts w hen twolin e resolu tion is used. T h e 128 bytes needed for this are set aside at line 3 1 0 and the string used for the player, PL2$, is initialized to all zeroes. A nyone fam iliar w ith using players and m issiles w ill note that the system equates refer to th is as player 1 because the players start w ith player 0, but only one player is to be used, so confusion is not lik ely . It may be m ore proper to call this PL1$. T h e tex t is added to the "H e lp ” screen at lines 3 40 through 3 8 0 . T h e screen, H ELPSC$, is now set up in ATA SCII, but that is n 't going to work. T h e screens are interpreted using a slightly different order for the characters. T h is is done so th at the colors for m odes 1 and 2 w ork out a little better, but it causes one slight problem here. T h e codes m ust be turned around to agree w ith the screen codes. M IC R O

M ost of the in itializatio n tim e is spent in this conversion loop, w hich occupies lines 390 and 392. First, the inverse video bit is stripped off and stored in N l. T h en all codes betw een 32 and 95 are decreased by 32, all codes betw een 0 and 31 are increased by 64, and all codes betw een 96 and 127 are left as they are. T h e inverse video bit is then restored and the converted code is stored back into the string. T h e "H e lp ” screen could be set up in the converted form at, elim inating the tim e required for that loop, but it would be very hard to read in the listing. T h e GRAPH ICS 10 screen is declared and a set of colors is inserted into the color registers next. Although in itializatio n is n ot yet com plete, altering the screen here serves as an indication that in itializatio n is alm ost over and actually m akes it seem like it is a little shorter than it really is. A fter that, som e con stan ts are defined that w ill be used in the other section s of the program. T h e display list interrupt is read into m em ory by lin es 610 and 620 and lin e 630 in itializes the proper vector to point to it. T h e altern ate screen set up n ext is the one that uses only nine boxes instead of the 16. It w ill be displayed by altering one byte of the display list in SELD L$. BU FF$ and RCO L are used to store the colors and screen im ages so that they may be stored on disk and read from disk m ore easily. T h e other variables DIM ed in lin e 910 are used to store m achine language, file nam es, and other m iscellan eous inform ation. Lines 930 through 982 set up the program for the cursor being near the cen ter and set the in itial values of flags and counters.

The M ain Program After all that in itializatio n , the m ain program text is relatively short. T h ere is one m ain loop, w h ich reads and interprets the operator input, and a series of routines that carry out the various com m ands. T h at loop starts by reading the jo y stick at lin e 1000. T h e cursor m ust flash so that it can be seen. T h is flashing cursor is m aintained at a rate set by counting using the variable C U R SO R C O U N T . If the fill is on, a tone is also sent out, w hich is done in lines 1002 through 1030. Line 1040 and line 1050 reverse the color of the pixel when C U R SO R C O U N T reaches four, then resets C U R SO R C O U N T to zero. T h e cursor color is flashed by alternating it betw een the proper color for that spot and the next sequ ential color register. U N D ER C U R SO R contains the num ber of the color th at is plotted at that location and CURSO RFLAG keeps track of w hether that color, or an alternate one, is there. N o 63 - A u g u s t 1983

ZANIM SYSTEMS

P.O. Box 4364 F lin t, M ich ig an 48504 (313) 233-5731 (313) 233-3125

HOME CONTROL AT YOUR FINGERTIPS T h e Z C M - 1 is t h e M a s te r C o n t r o l m o d u l e t h a t p r o v id e s t h e in te r la c e b e t w e e n y o u r c o m p u t e r a n d o u r lin e o f Z a n i m A p p l ic a t io n M o d u l e s . U p to 15 A p p l ic a t io n M o d u l e s c a n b e p ig g y -b a c k e d to th e Z C M - 1 M a s te r C o n tr o l m o d u le . T h e Z C M - 1 is c o m p a ta b le w ith a n y s ta n d a r d R S -2 3 2 (serial) in te rfa c e . A s p e c ia l M a s t e r C o n t r o l m o d u l e , th e Z C M - 1 V is a v a ila b le fo r th e V IC - 2 0 a n d C o m m o d o r e - 6 4 c o m p u t e r s . 'T h e Z C M - 1 V is a v a ila b le fo r V IC - 2 0 a n d C -6 4 u s e r s .

| I V '

Z A M - 1 is th e h o m e c o n tr o l in te rfa c e m o d u le th a t p r o v id e s a fu lly v e r s a tile c o m p u t e r c o n tr o lle d e n v ir o n m e n t . Z A M - 1 c a n c o n tr o l u p to 2 5 6 d if fe r e n t la m p s a n d a p p lia n c e s in y o u r h o m e o r b u s in e s s prov id in g y o u w ith a n e f f e c t iv e a n d e a s y to im p le m e n t e n e r g y m a n a g e m e n t a n d e le c tr ic c o n tr o l s y s t e m . Kl A M A A f 4 a I f A l K a A fs A I If s i m m a J jh A r A i s a a A A l t a p i f / M i p N o s p e c ia l m o d i fi c a t i o n s a re n e c e s s a r y to y o u r b u ild in g aasIAall c o n tr o l s ig n a ls a re s e n t o v e r y o u r e x ­ is tin g w ir in g . Z A M - 1 c a n b e p r o g r a m m e d in B A S I C o r o p t io n a l h o m e c o n tr o l s o ft w a r e is a v a ila b le . Z A M - 1 r e q u ire s o n e Z C M - 1 M a s te r C o n t r o l m o d u le . * T h e Z C M - 1 / Z C M - 1 V M a s te r C o n t r o l m o d u le is r e q u ire d to u s e th e Z A M - 1 H o m e C o n t r o l m o d u le .

T h e Z A M - 2 a llo w s y o u r c o m p u t e r t o c o n t i n u o u s l y m o n it o r u p to 15 d iffe r e n t d o o r s o r w in d o w s a ro u n d y o u r h o m e o r b u s in e s s . Z A M - 2 is a b a s ic b u ild in g b lo c k in a c o m p le te c o m p u te r c o n tr o lle d h o m e s e c u ri­ t y s y s t e m . W it h o u r Z A M - 1 H o m e C o n t r o l m o d u l e , y o u c a n h a v e a fu lly in te g r a te d s e c u r it y a n d e n ­ v ir o n m e n t c o n tr o l s y s t e m . U p o n a n i n tr u s io n , y o u r c o m p u t e r c a n ta k e th e a c tio n m o s t a p p r o p r ia te , w h e th e r th a t is to rin g a n a la rm b e ll, fla s h all th e lig h ts a r o u n d y o u r h o m e , o r d ia l th e p o lic e . ' T h e Z C M - 1 / Z C M - 1 V M a s te r C o n t r o l m o d u le is r e q u ire d to u s e th e Z A M - 2 S e c u r i t y m o d u le .

T h e Z A M - 3 is a c o m p l e t e te le p h o n e a n s w e r in g a n d d ia lin g s y s t e m . It is c a p a b le o f ta k in g th e p h o n e o f f - h o o k a n d d ia lin g a n u m b e r u n d e r c o m p u t e r c o n tr o l o r o f a n s w e r in g th e p h o n e w h e n it r in g s . W ith th e Z A M - 1 H o m e C o n t r o l m o d u le a n d t h e Z A M - 2 S e c u r it y m o d u l e , t h e Z A M - 3 P h o n e D ia le r m o d u le c a n b e in te g r a te d in to a c o m p le te h o m e o r b u s in e s s s e c u r ity / m o n ito r in g s y s te m . A p p l ic a t io n s in c lu d e s e c u r i t y , a u t o p h o n e d ia lin g , a n d c o m p u t e r -a n s w e r in g s y s t e m s . 'P u l s e d ia lin g o p t io n is a v a ila b le a s Z A M - 3 P . ' T h e Z C M - 1 / Z C M - 1 V M a s te r C o n t r o l m o d u le is re q u ire d to u s e t h e Z A M - 3 / Z A M - 3 P P h o n e D ia le r m o d u le .

SERIAL OR PARALLEL (CENTRONICS) PORT SWITCHER DOES YOUR COMPUTER ^ L O O K LIKE THIS? A PORT SW ITCHER NOW AVAILABLE FOR YOUR COMPUTER (ZSW1)

P .O . B O X 4364 F lin t , M ic h ig a n

48504

( 3 1 3 ) 2 3 3 -5 7 3 1 (3 1 3 ) 2 3 3 -3 1 2 5 □

P le a s e s e n d m e m o r e in fo r m a t io n o r c a t a lo g u e !

Nam e

Company A d d re ss_ C ity

S ta te .

Zip.

Device A Common

Device B

APPLE 11 IS TRADEMARK OF APPLE COMPUTERS, INC. C R M IS REGISTERED TRADEMARK O F DIGITAL RESEARCH, INC.

No. 63 - August 1983

W h a t M a k e /M o d e l C o m p u te r d o y o u o w n ?

TRS - 80 IS REGISTERED TRADEMARK OF TANDY CORP. VIC - 20 AND COMMODORE • 64 ARE REGISTERED TRADEMARKS OF COMMODORE. INC

MICRO

75

A ti

T o keep the drawing and cursor m ove routine loops as short as possible, the jo y stick and trigger values are checked n ext. If eith er ind icate an action, line 1050 branches out to the routine that perform s the action; otherw ise, the fun ction keys and keyboard are checked. If n eith er of those inputs indicates any actions, lin e 1074 restarts the loop. Line 1080 begins the cursor m ovem ent and draw fu n ctio n s. First, if the jo y stick is moved or the trigger is pushed, lin e 1080 turns off the attract m ode so that the screen w ill n ot start rotating colors. N orm ally this is done by pressing a keyboard key, but no key is pressed w hile drawing w ith the joystick. Lines 1110 and 1120 plot the U N D ERC U RSO R color at the current cursor lo cation to guarantee that the altern ate color is n ot there if th e cursor is moved. If the trigger is down, then the selected color (SELCOLOR) is put there instead. T h e m ove cursor routine in crem en ts the positions of the cursor according to the joystick position. W ith the lookup table in the JO Y array, this can all be done on one line. IN C REM EN T is eith er one or tw o and it is lin e 1140 that controls w hich colum ns and rows the dots w ill display when an in crem en t of tw o is in force. L ine 1150 keeps the cursor on the screen. It sets X and Y to the rem ainder of dividing each by their upper lim its, w h ich causes the cursor to wrap if directed off the screen. Lines 1160 and 1170 take care of the bookkeeping w ork required for the new position. Setting C U R SO R C O U N T to four w hen the cursor m oves causes it to flash more frequently to m ake it m ore visible. If the fill flag is on for a right or left fill, the routine at lines 1180 through 1210 perform the fill operation. T h e tem porary horizontal position during the fill is kept in the variable X I , w hich is increm ented for a right fill or decrem ented for a left fill u n til either the sam e color is h it or the edge of the screen is encountered. IN C REM EN T controls w hether every pixel or every other pixel is checked. FILLFLAG is + 1 for a right fill, - 1 for a left fill, or zero for no fill. Various keys are also defined for specific fu n ctions and are interpreted in lines 3000 through 30 3 0 . T h a t routine reads the keyboard code, so it is n ot ch eckin g the A TA SCII value of the reading. Left fill is im plem ented by the le tter L, for exam ple, and the key code for that is zero. Line 3 0 1 0 sets FILLFLAG to - 1 if the code is zero, then restarts the loop. Line 3 0 1 2 ch ecks for one (code 31) or two (code 30) and goes to lin e 8000 to reset the in crem en t if eith er of those keys is pressed. Line 3 0 2 0 ch ecks for C (cancel fill) and sets FILLFLAG accordingly. T h e R for right fill is set at lin e 3 0 0 0 just after the keyboard reading. T o access the disk com m ands, a D is pressed, 76

M IC R O

w h ich is code 58. Execu tion falls through line 3030 on th at code. T h at routine first saves the screen into the buffer BLTFF$ (the G O SU B 2000), then clears the screen to a selector of functions. T h is uses the keyboard handler by opening, reading, and closing the keyboard (line 3100), so the A TA SCII values of the keys are actually read. Reading using a G E T statem en t is possible here because the " a c tio n ” is stopped anyway. In the loop used for drawing, if G E T w ere used, h ittin g the CAPS/LOW R or Atari keys would freeze the action w hile the keyboard handler w aits for a decodable key. Load and save are both handled by using a subroutine at line 10000. T h is subroutine gets the file nam e and opens the file. O n return, the two routines that load and save do the PRIN Ting and IN P U Tting as required. N otice th at IN P U T is used to retrieve the inform ation from disk. T h e only codes that are critical are 155, w hich is the RETU R N character ($9B), and 44, w h ich is the com m a ($2C ). N either of those codes can be generated by correct mode 10 colors. Knowing th at the RETU RN code and the code for com m a w ill not be in the data allow s use of PRIN T and IN PU T. S election 3 effects a return to the current picture. Lines 3400 to 3420 read the picture that is currently in the buffer BU FF$ back in to the screen area, sets all of the colors, and defines U N D ER C U R SO R to the color under the cursor position. Function keys are also used as input and are interpreted at lin es 4 0 0 0 and 40 1 0 . The FO R/N EXT loop at line 4 0 0 0 ends only w hen the fu n ction key is released, allow ing PEEK(CON SOL) to equal seven. Line 5020 stores the lo cation of the display list for the operating system m ode 10 screen so that it m ay be restored later. Line 4010 branches according to w hich sw itch is pressed. T h e "H e lp ” screen is displayed in response to the O PT IO N key. T h e routine that handles this starts at lin e 4 1 0 0 POKEing a zero into the GTIA location (PRIOR in the m anuals) turns off the G TIA mode allow ing the tex t to display norm ally. T h at lin e continues by taking the address of the display list out of the display list itself, settin g the operating sy stem 's display list pointer to point to the HELP screen display list. Line 4 1 0 2 m akes sure that there are no fu n ction keys pressed. T h is looks redundant, but it elim in ates possible key bounce, w hich would cause the "H e lp ” screen to flash on and off the screen very quickly. O nce that is done, lin e 4 1 1 0 checks for any operator input. If any keyboard or fu n ction key is pressed, the trigger is pressed, or the jo y stick is moved, lin e 4 1 2 0 restores the mode 10 drawing and goes back to the interpretation routines to execu te the com m and indicated. Lines No

6 3 -A u g u s t 1983

H

c o m

m

o d o r e

NEW COMMODORE PRODUCTS C B M 6 4 ............................................................................. Call C B M B 5 0 0 ......................................................................$ 6 9 5 C BM B 7 0 0 ..................................................................... 2 9 9 0 C B M 1 5 2 0 Plotter.................................................... 259 CBM 1 7 0 1 Color M o n ito r............................... 279 B Series S o ftw a re ..................................................... Call

SOFTWARE FOR CBM 6 4 1 W ord Processing (W ordPro 3 * ) .....................$ 6 9 W ord-Pac ( t a p e ) ........................................................... 60 The Assistant Series W rite r'sA ssista n t(e a s ya n d fle xib le ).. . 99 File Assistant(database with m e r g e ) .. . 99 Spreadsheet A ssistan t.......................................... 99 Pers. Finance Assist.(greot reports). . . 45 Busicalc (S p re a d s h e e t).......................................... 55 Coco II (build your ow n gam es easily). . . 45 Ho m e Accounting P a c k a g e ............................... 39 General Ledger, A /R , A /P (w ith check w r itin g ).............................................e a .l 39 CBM E a s y Fin a n c e ........................................................ 50 CBM EasyScript............................................................... 80 C B M EasyFile..................................................................... 80 D ata M a n a g e r.................................................................. 70 Stock(investm ent a n a lys is )............................... 80 Pet Em ulator (em ulates 4 .0 b a s ic )___ 30 Sprite-Magic (use joystick to design sprites)........................................................... 19 Assembler Package (cassette or disk, compiled, includes editor, loader, disa sse m ble r)............................................................... 39 Spacebelt................................................................................ 20 R e tro b a ll................................................................................ 34

INTERFACES & ACCESSORIES 8 0 Colum n E x p a n d e r.............................................. $ 1 5 9 VIC 1 6 0 0 M o d e m ...................................................... 95 VIC 1 6 5 0 (a u to answer, auto d ia l)__ 1 5 0 V IC 1 5 2 5 Graphic P rin te r................................. 3 2 9 VIC 1 5 3 0 Datasette Recorder....................... 65 VIC 1 5 4 1 Disk D riv e ............................................... 3 2 9 VIC Switch (connect 8 6 4 's or Vies to printer, d d ) ............................................................... 1 4 9 IEEE Interface ( 6 4 ) .................................................... 85 P ET -IEEE c a b le .................................................................. 33 IEE E -IE E E cable ( 2 m ) ................................................. 43 Parallel Interface (Ep s o n , O kidata, IDS , N E C ) ......................................................................... 80 R S -2 3 2 Printer Interface (O kida ta , Diablo, etc.)..................................................................... 60 Programmers Reference G u id e ..................... 18 Verbatim Diskettes ( 1 0 per b o x )................. 26 Victree (Program m ers Utility)............................ 75

VIC PRODUCTS A ACCESSORIES 8 K R AM Mem ory Expansion C ortridge. . . $ 4 0 1 6 K R A M ................................................................................ 70 2 4 K R A M ................................................................................ 1 0 5

No. 63 - August 1983

V IC IEEE Interface............................................................................. 7 5 V IC 3 Slot Expander...................................................................... 2 7 VIC 6 Slot Expander...................................................................... 7 0 R S -2 3 2 Printer Interface.........................................................65 Cassette In te rface .......................................................................... 2 7 47 Hom e Finance Package (6 ta p e s ) ___ Gorf ( 6 4 a ls o ).................................................................................... 30 O m e g a R a c e ....................................................................................... 30 Arcade Joystick - Heavy duty w /2 firing buttons! Great for the VIC or 6 4 ___ 25

MONITORS - GREAT RESOLUTION (64 OR VIC) A m d ek Color I ..............................................................$ 2 9 9 Am d ek II or I I I ............................................................... call Panasonic C T 160 .......................................................................... 2 7 9 Com rex 6 5 0 0 - 1 3 " C o lo r .................................................. 2 9 9 Transtar 2 0 (H ig h Resolution Green phosphor).......................................................................... 12 9 Video/Audio C a b l e .......................................................................1 5

PRINTERS - LETTER QUALITY

MasterCard, Visa, Money Order, Bank Check C O D (a d d $ 5 ) accepted. Add 3 % surcharge for credit cards. In stock items shipped within 4 8 hours, F .O .B , Dallas, Texas All products shipped with manufacturer's warranty. Prices are subject to change without notice.

TO ORDER CALL TOLL FREE 8 0 0 -5 2 7-4 8 9 3 8 0 0 -4 4 2 -1 0 4 8 (W ithin Texas) Business Hours Mon.- Fri. 8 to 6 , Sat. 1 0 -2

CBM 8 3 0 0 , 4 0 cp s.....................................................$ 1 4 5 0 Write for free catalog. Diablo 6 2 0 , 2 5 cps ................................................................... 9 4 9 Com Riter, 1 7 c p s .......................................................................... 8 1 9 Transtar 1 3 0 ,1 6 cps (au to load, GAME OF THE MONTH w p features!)..................................................................................... 7 6 9 Adventu-Writer (m a k e your N E C 7 7 0 0 series......................................................... 2 3 5 0 ow n adventure g a m e ) ................................... N E C 3 5 0 0 series......................................................... 1 6 0 0

39

PRINTERS - DOT MATRIX C B M 8 0 2 3 , 15 0 cps/graphics......................................... 5 8 9 Epson F X Printer, 1 6 0 cp s...................................................... 5 2 9 Epson M X-8 0 w /Graftrax.......................................................... 3 4 9 C B M Graphics for E p s o n .......................................................... 65 Okidata 8 2 A , 1 2 0 cps (serial and parallel)......................................................................................4 2 9 N E C 8 0 2 3 A (p a ra lle l)................................................................. 4 3 9 Okidata 9 2 .............................................................................................5 5 9 Star Gem ini, 1 0 .................................................................................. 3 6 0 Star Gem ini, 1 5 ................................................ 499

COMMODORE BUSINESS SERIES SuperPet (5 languages, 2 process ors)...............................................................$ 1 4 0 9 CBM 8 0 3 2 Com puter, 8 0 Colum n . . . 1 0 2 9 CBM M em ory Expansion, 6 4 K ..................... 359 C B M 8 0 5 0 ,1 m g. D ual D rive..................... 1 2 5 9 C BM 8 2 5 0 , 2 mg. Dual Drive..................... 15 0 0 C B M D 9 0 6 0 , 5 mg. Hard D is k .................. 2 2 4 0 C B M D 9 0 9 0 , 7 .5 m g Hard D i s k ___ 2 6 0 0 C BM 2 0 3 1 , 1 7 0 K Single Drive (N e w ) 489 D C Hayes Sm art M o d e m .......................................................... 2 2 0

BUSINESS SOFTWARE W ordPro 4 * or 5 * ....................................................$ 3 0 9 Adm inistrator........................................................................................ 4 8 9 VisiCalc ( e x p a n d e d ).................................................................... The Manager (da ta ba se )......................................................... 1 9 9 BPI A / R G / U Jo b Cost, Inventory, Payroll............................................................................... eo. 3 2 5

MICRO

SJB DISTRIBUTORS INC. 19 9 1 0 5 2 0 Plano Road, Suite 2 0 6 Dallas, Texas 7 5 2 3 8

(2 1 4 ) 3 4 3 -1 3 2 8

77

4 1 3 0 through 4 1 5 0 are n o t used in the program but are the rem ains of an earlier version. T h ey m ay be rem oved w ith ou t affecting program operation. My apologies for th is oversight to all w ho entered this program v i a the keyboard. Line 4 2 0 0 begins the rou tin e th at changes the colors in the color registers. It uses sim ilar screens in different G TIA m odes to select the color and lu m in an ce. M A XSEL in d icates the m axim u m num ber of selection s to be displayed, M SG is the lin e num ber of a DATA statem en t containing the m essage for the arrow, and lin e 5 0 4 0 is the subroutine that allow s selection . T h e location identified as G TIA in th is program causes the screen to be m ode 9 if it contains 64, m ode 10 if it con tain s 128, or m ode 11 if it con tain s 192. C O LU SED is the variable used to assem ble the color selected and C O LN O is the register num ber selected for the change. COLSA V restores one color register borrowed for the background. T h e rou tin e starting at line 4 3 0 0 functions sim ilarly but is sim pler in th at all it selects is the color for the “ p aintb ru sh,” so it goes through only one screen of selection . B oth of these last two rou tines borrow the last part of the ' ‘H elp” screen display rou tin e to restore everything and go back to the m ain loop. Subroutines T h e subroutines and other m iscellan eous supportive statem en ts start at lin e 5 0 0 0 w ith the rou tin e that changes an address stored in the variable A to the tw o-byte form at needed for display lists. Line 5020 is a subroutine that reads the pointer to the operating system screen and stores it in SHI and SLO . Line 5 0 3 0 is the inverse, used to restore the pointer. Line 5 0 4 0 begins a subroutine th at sets up the player for the SE L E C T and ST A R T fu n ctio n s and reads the operator's choice. M SG is the line num ber containing the tex t to display in the player and that is read in to the variable F$. Line 5050 sets the arrow head into the player, then lin es 5 0 7 0 through 5 0 8 0 read the character form ats for each letter into the player area. Lines 5090 and 5 1 0 0 con tain all of the POKEs required to im plem en t tw o-line resolu tion player/m issiles and lin e 5 1 1 0 sets the horizontal position under box zero. Line 5120 ch eck s the jo y stick and trigger and lin e 5 1 3 0 m akes the selectio n and returns if the trigger is pressed. Lines 5 1 4 0 and 5 1 5 0 keep track of the arrow 's position and m ove it according to the jo y stick . If the arrow is m oved, line 5160 produces a tone for a short tim e and th is sm all loop is repeated. N ote the DATA statem en ts containing the tex t at lines 6 0 0 0 through 6030. T h e num bers in the DATA statem en t at line 78

7000 com prise the display list interrupt. T h is is POKEd into page 6. T o save tim e if there are changes in th is interrupt routine, the DATA statem en t ends w ith a 256, w h ich is n ot a valid code to POKE. T h e routine that reads th is into page 6 reads u n til it gets to a value of 256. Adding to the routine then does not require counting the entries. Line 8000 is a little out of place, n um erically. It belongs w ith the other routines in the m ain part of the program. T h is routine sets the in crem en t to 1 or 2. T h e keyboard codes for 1 and 2 are 31 and 30, respectively, so subtracting the code from 32 results in the correct num ber, on ce it is checked th at the code is eith er 30 or 31. Line 10000 begins the subroutine that gets the file nam e and opens the file. In the m ain part of the program, D IREC TIO N is set at 4 for reading from the disk or 8 for w riting to the disk so that only one OPEN statem en t is required. It uses line 11000 for any errors detected in the file nam e. Add TRAP 4 0 0 0 0 betw een the OPEN statem en t and the RETU R N statem en t to avoid possible problem s from the TRAP 11000 statem en t. T h e final subroutine uses a m achine-language program to m ove data from the screen area to the buffer and v ic e v e r s a . T h e m achine-language routine m oves 2 5 6 bytes at a tim e, so it m ust be used repeatedly to m ove all 8K bytes. Line 20010 finds the lo cation of the screen by locating the operating system display list and looking at the tw o bytes in its load m em ory scan instru ction. L in e 2 0 0 2 0 is the loop that m oves the screen and lin e 200 3 0 reads the colors directly from the shadow registers. O nce th is subroutine is com pleted, the m ode screen used for the disk fu n ctions selector can be declared w ith ou t losing the mode 10 screen data. Also, th is subroutine defines Q$ w ith the m achine language that w ill also be used at line 3410 to restore the m ode 10 screen. Adding Functions In m aking changes to the program, the general stru ctu re should m ake it easier to locate places to tap and to find places in the lin e num bering to add m ore routines. T h ere are also a few “ in su ran ce” statem en ts left in the code, lik e lin e 39 8 9 . If you add a routine at lin e 3500, for exam ple, and leave off the return to the loop, th is G O T O BEGIN w ill do it for you. T h ere is also a ST O P at lin e 4 9 9 0 to prevent an om ission in the m ain portion of the program from running into the first subroutine. T h at does it for this m onth. N ext m on th we add line, rectangle, and circle-draw ing features.

• MICRO

Y ou m ay co n ta ct M r. Sw anson at 97 Jack son St., Cam bridge, MA 0 2 1 4 0 .

JM C R O

No 63 - August 1983

Analytic;)! data display • M athe m atical functions • G e o ­ m etric patterns • S y s te m /c o m p o n e n t characteristic display • Statistical charts • W o r k flo w d iag ram s • P e r­ fo rm a n c e graphs • O rg an ization charts • C re a tive graphics • Perso nal a c h ie v e m e n t charts • Instruc­ tiona l/referen ce diag ram s

T h e n e w A M P L O T -II. on c o m p u te r c o m m a n d , can a u to m a tic a lly p roduce hard-copy. 6-color business or eng ineering graphics in m inutes. D esigned for the enduser and O E M applications, its high pen speed, a u to ­ matic pen retrieval and high resolution assure fast, accurate 1 0 " x 1 4 " plots. C o m p a tib le w ith m o st per­ sonal com p u ters, the A M P L O T -II is e c o n o m ic a lly priced at o nly $1 2 9 9 .0 0 retail. Just circle the reader service n u m b e r for c o m p le te eng ineering details

2 2 01 Lively Blvd. • Elk Grove Village, IL 6 0 0 0 7 ( 3 1 2 ) 3 6 4 - 1 1 8 0 TLX . 2 5 - 4 7 8 6 REGIONAL OFFICES C-ilif : 71 4; 662-3949

A

, Texas (81

7, 498

23

The Avant-Garde Programmer’s Series:

^

''* S A

'

*> > ^

c ,L n n ” and PRIN T CHR$(4) "R E A D (or W RITE) < file n a m e> ,R n '' ' is the correct m ethod for accessing such a file. N ote that Lnn is the LEN G TH param eter and m u s t be specified w hen OPENing the file. Lnn can be any num ber w ith in reason, but if it is m uch longer than each actual record length, you w ill w aste a lo t of unnecessary space on the disk. T h e best m ethod for determ ining the length to use is to cou nt the num ber of bytes necessary for storing your inform ation (including a carriage return after each field) and add a few extra bytes in case you decide to change anything as you develop your program. It is not necessary for the fields to be the sam e length in each record, but the total record length m ust n ot be exceeded or D O S w ill w rite records on top of each other. T h e record length m ust be the sam e every tim e the file is opened, as D O S uses that param eter to calcu late w here the different record num bers are stored. W a r n i n g : Never W RITE to a random file w ith ou t specifying the length param eter w hen OPEN ing it. D O S w ill assum e it is a sequential

Address Filer

T

No 63 ■August 1983

;

7*

requires:

Apple II with disk drive 80-column card optional

file (even if you specify a record num ber) and w rite at the beginning of the file (ruining your file) w ithou t issuing any error m essages! (I discovered this the hard way.) I w rote the program to allow an 80-colu m n card in slot 1-7 so that upper/lower-case fields can be entered. If you don't have an 80-colu m n card, a " 0 " to the "W h a t slo t? " question w ill suffice; or you could delete those lin es altogether. Notes on Program Operation 1. T elephone num bers should be entered as ten digits. T h e hyphens w ill be inserted on printout. 2. U se the two-digit state codes. T h e zip-sort routine assum es the zip code starts in byte 4 of the state field. 3. W hile the sort is not fast, it rew rites the file in sorted order so that printouts w ill be sorted w ithou t re-sorting every tim e. 4. D uring edit mode, a < return > signifies that current inform ation is correct. 5. T h e zip sort arranges the record num bers into zip-code order in an array that is used to index the rew riting of the file. I hope this relatively easy program increases your use of random files. T h ey are the m ost efficien t way to manage lengthy files. (L is tin g appears on n e x t page)

MIOPO

81

130 PRINT : PRINT D$j "READ "V$", R"V: IF V = 0 THEN INPUT V: GOTO 150 140 INPUT A$: INPUT Z$: INPUT S$ : INPUT T$: INPUT P$ 150 PRINT D$: RETURN 160 X$ = "a**********************

Listing 1: Address Filer Listing 10 D$ = CHR$ (4): HOME : VTAB 10 : PRINT "80 COLUMN CARD IN S LOT : INPUT AA$:AA = VAL (AA$): PRINT D$"PR#"AA: PRINT : GOSUB 500: GOSUB 500: GOTO

160

*

...

* * * * * * * * * * * * * * * * " :XX$ = " *

20 GOSUB 90: GOSUB 500 30 VTAB 1: PRINT "IF DONE, ENTER 'DONE'": POKE 34,1 40 V = V + 1: IF V > 1226 THEN RETURN 50 VTAB 10: PRINT "Input Name ]": VTAB 10: HTAB 11: INPUT "»;A$: IF A$ = ’ ’ DONE" OR A$ = "done”THEN GOSUB 120: RETURN 60 PRINT "Input Street Address ]": VTAB 11: HTAB 21: INPUT "";Z$: PRINT ’ Ilnput City ]": VTAB 12: HTAB 11 : INPUT "" ;S$: PRINT "Input State and ZIP]": VTAB 13: HTAB 20: INPUT "";T$: PRINT "Input Phone #]": VTAB l4: HTAB 13: INPUT "";P$: GOSUB 500: GOSUB 110: GOTO 40 70 PRINT D$"0PEN"W$: PRINT D$"DE LETE"W$ 80 PRINT D$"0PEN "W$,,,L100": PRINT D $ : RETURN 90 GOSUB 500: VTAB 5: PRINT "WHA T NAME FOR THE FILE": INPUT U$: IF LEN (W$) = 0 THEN POP : RETURN 100 GOSUB 70: RETURN 110 PRINT : PRINT D$; "WRITE "W$" ,R"V: PRINT A$: PRINT Z$: PRINT S$: PRINT T $ : PRINT P$: PRINT D$: RETURN 120 PRINT D$"WRITE"W$",R0: PRINT V - 1: PRINT D$"CLOSE": RETURN

IF AA < > 0 THEN X* = X$ + X$:XX$ = LEFT$ (X X$,38) + " " + RIGHT? (XX* ,38) 170 PRINT X$: FOR X = 1 TO 20: PRINT XX$: NEXT : PRINT X$:BB = 8: BC = 27: IF AA = 0 THEN BC =

12

180 VTAB BB: HTAB BC + 3: PRINT "ADDRESSER1': VTAB BB + 2: HTAB BC + 1: PRINT "(C) Copyright ": PRINT : HTAB B C : PRINT "B y M I C R 0 INK'1: FOR X = 1 TO 500: NEXT 190 GOSUB 500: VTAB 8: PRINT "Do you want to:": PRINT : PRINT TAB( 10)"1 Make an address file": PRINT TAB( 10)"2 C hange an address file": PRINT TAB( 10)"3 Print an addres s file": PRINT TAB( 10)"4 Sort by Zip": PRINT TAB( 10 )"5 Qult":VZ = 0 200 HTAB 10: GET SS$: IF VAL (S S$) > 5 THEN 200 210 PRINT : ON VAL (SS*) GOSUB 20,240,230,450,220: GOTO 190 220 GOSUB 500: END 230 W = 1: GOSUB 410: PRINT D$"OP EN "W$",L100": PRINT D$: GOSUB 500: PRINT "EVERYTHING OK": GET J$: PRINT : PRINT D$"READ "W $",R0": INPUT X: FOR V = 1 TO X: GOSUB 130: PRINT D$"PR#1"

: PRINT S$", "T$: PRINT "(" LEFT$ (P*,3)") " MID* (P$,4,3)"-" RIGHT* (P$,4):PRINT:PRINT:NEXT:PRINT D*"PR#"AA: RETURN GOSUB 410: PRINT D$"0PEN "W$ ", L100" : PRINT D$"READ "W$", R0": INPUT V: PRINT D$: GOSUB 500:N = V: INPUT "ADD(A), CH ANGE(C), OR QUIT(Q) ";F?: IF LEFT? (F$,l) = "A" THEN 400 250 IF LEFT$ (F$,l) = "Q" THEN RETURN 260 PRINT "YOU HAVE "V" ADDRESSE S.": PRINT "If you wish to e dlt a specific address, Type In 'N' and": PRINT "hit RET URN, and enter the Number of the Address.": PRINT "To RE TYPE, type 'Y' , If DONE, ty pe 'D '.": PRINT "To run thro ugh addresses In order, hit RETURN." 270 FOR X = 1 TO N 280 V = X: GOSUB 130: PRINT A$: PRINT Z$: PRINT s r , "T$: PRINT : INPUT "Retype (Y/N/D) ";Q$: IF Q$ = "N" THEN INPUT V: GOTO 320 290 IF Q$ = "Y" THEN 330 300 IF Q$ = "D" THEN X = N 310 NEXT : PRINT D$"CLOSE": RETURN 320 GOSUB 130 330 PRINT "("A*")": INPUT Q$: IF Q$ < > "" THEN A$ = Q$ 340 PRINT "("Z$")": INPUT Q$: IF Q$ < > "" THEN Z$ = Q$ 350 PRINT "("S$")": INPUT Q$: IF Q* < > "" THEN S$ - Q$ 360 PRINT "("T$")": INPUT Q$: IF Q$ < > "" THEN T$ = Q$ 370 PRINT "("P$")": INPUT Q$: IF Q$ < > "" THEN P$ = Q$ 380 GOSUB 110: PRINT "CHANGE ANO THER? ": INPUT Q$: IF LEFT*

*,1) = "Y" THEN X = X + 1: GOTO 280 390 RETURN 400 GOSUB 130: PRINT "Y o u have "V" Addresses and the last one Is": PRINT : PRINT A$: PRINT Z$: PRINT S$", "T$: GOTO 30 410 IF W$ < > "" THEN RETURN 420 GOSUB 500: VTAB 5 430 PRINT "What Is the name of": PRINT "File you wish to wor k with?": PRINT " If you nee d CATALOG, Hit Return": INPUT W$: IF W$ < > "" THEN RETURN 440 PRINT D$"CATAL0G": GOTO 430 450 R = 0: GOSUB 500: VTAB 10: GOSUB 410: GOSUB 80:V = 0: GOSUB 1 30: DIM B (V) ,C(V): PRINT "RE ADING" :QQ = V: FOR V = 1 TO QQ: GOSUB 130:B(V) = VAL ( RIGHT$ (T$,5)): NEXT :I = 1: PRINT "SORT ING":D1 = 0 460 M = 0:N = 0:D = 100000: FOR J = 1 TO QQ: IF M AND B(J) = B(E) THEN N = N + 1 470 IF B(J) < D AND B(J) > = D1 THEN D = B (J ) :E = J:M = 1:N

=1 480 NEXT :D1 = D + 1: FOR K = 1 TO N:C(I) = E:I = I + 1: NEXT : IF I < = QQ THEN 460 490 PRINT "WRITING":A$ = ".SORTE D" :A1$ = U$:A2$ = Al$ + A$:U * = A2$: GOSUB 80: FOR I = 1 TO QQ:V = C(I) :W$ = Al$: GOSUB 130:W$ = A2$:VZ = VZ + 1:V = VZ: GOSUB 110: NEXT : PRINT D$"WRITE"A2$" ,R0": PRINT QQ: PRINT D$"CL0SE": RETURN 500 IF AA > 0 THEN PRINT CHR$ (12): RETURN 510 HOME : RETURN

JMCftO

VIC-20 USERS: Get Serious with a PRtJIYIQLJEEN • A cartridge development system

• Comprehensive manuals

• Program from Commodore V IC -20 keyboard into built-in 4K R O M em ulator

• Jum per to target R O M socket

• Test programs in circuit

• Fits E X P A N S IO N PORT

• Includes H exkit 1 .(J, a powerful 100% machine code e d ito r/d ebugger utility program that makes coding for 8-bit Micros a snap. • Built-in E PR O M program m er and power supply • Burns & runs E P R O M S for the Commodore V IC -20, too Programs 2716, 2732, 2732A, 27C16, 27C32, adaptable to 2532 & 2764

PRDMQLIEEW

Promqueen 64

c a r t r id g e c o m p l e t e o nly

us

Canada

$299.00

$399.00

8K board with 1 EPROM

$29.95

$39.95

16 board with 1 EPROM

$39.95

$49.95

8K board with 1 EPROM, C64

$39.95

$49.95

S end fo r F re e B ro c h u re

82

$199

G LO U C ES TER C D IY IP U T E R .iw c . D i s t r i b u t e d in U . S . b y Arbutus Total Soft, Inc., 4202 M e r i d i a n , S u i t e 214. B e l l i n g h a m , W A 9 8 2 2 6 . P h o n e 8 0 0 -4 2 6 -1 2 5 3 , in W a s h i n g t o n 2 0 6 -7 3 3 -0 4 0 4 D i s t r i b u t e d in C a n a d a b y IBC/Distributlon V a n c o u v e r , B C V 5 Z 2 x 9 . P h o n e 6 0 4 -8 7 9 -7 8 1 2

MICRO

Canada,4 0 4 7

C a m b ie

S t .,

No. 63 - August 1983

PUT PRICES IN CH ECK CARTRIDGE RIBBONS FOR

CARTRIDGE RIBBONS FOR

APPLE PRINTERS

EPSON MX-80 MX-100

NEC 8023A C. ITOH PROWRITER

$1 1

99. S6 . ” ea

$Q 95 w ■

ea.

$ 1I 0 7 46 w * ■

d o;

INNOVATIVE CONCEPTS

s1 2 9 . 0 6 DOZ

s 8 6 . 29 EA

IDS PRINTERS EA

D IS C S T O R A G E B O X

8 "

DOZ.

440

s 2 . 77 s 2 9 . 92

PAPER TIGER

S6.95 S75.06 S7.99 $86.29 10.95118.25

H O L D S U P T O 6 0 D IS K E T T E S

MICROPRISM

s 2 4 . 9 5 , . s 2 9 . 9 5 EA

PRISM

D U A L S P O O L R IB B O N S F O P

OKIDATA PRINTERS

MEMOREX DISKETTES 5'

80,82,83 92, 93 84

EA

D0Z

s2.77 s29.92 s5.99 s64.69

ANTI-STATIC SPRAY FULL Q U A R T SIZE W IT H DISPENSER

*6 .

95 QT.

j

S IN G L E S ID E - D U A L D E N S IT Y

$04

10 P A C K

C A R T R ID G E R IB B O N S FOR

COMREX DAISYWRITER 2000 49

IVI k/* I

90

$2 9 . DISKETTE STORAGE BOXES 5'A" —

10 P A C K

BLUE OR BEIGE

49 $2 . COLORCODER EA.

LIBRARY CASE SET CONTAINS 5 BRIGHT COLORS

5 1/4"

99 ■

5 1/»" S IN G L E SIDE DUAL DENSITY

EA

R IB B O N S F O R

FLIFN’FILE 5 1/ 4 "

95

MAXELL DISKETTES

s19.95 $23.95 LABEL SPECIAL $ 9 99

Cm, m

$

/ K

(5K M IN)

2 6 .

1 GALLON REFILL*19.95

8"

1 ACROSS 3 x 1 5 /1 6

CONTINUOUS LABELS

MOST RIBBONS AVAILABLE IN COLORS TOO! CALL OR WRITE FOR OUR SUPPLIES CATALOGUE ON ORDERS UNDER *14.°° PLEASE ADD J3.°° FOR SHIPPING MINIMUM RIBBON ORDER *30.°° OR 1 DOZEN

T O L L F R E E 8 0 0 -3 4 3 -7 7 0 6 IN M A S S 6 1 7 -9 6 3 -7 6 9 4

-Check-Male-

P H O N E S O P E N 9 A M -7 P M E A S T E R N T IM E

No. 63 ■August 1983

51 D IA U T O D R

P O

B O X 103

M A S S R E S ID E N T S A D D 5% S A L E S T A X

R A N D O L P H . M A 02368

MICRO

83

i

-

S

M

m

e

C a p t u r in g N e tw o rk C o m Utilization of network information sources is improved by allowing the user to save the entire dialogue on disk so that the information can be thoroughly reviewed at a time.

he availability of vast amounts of information v ia the large com­ puter networks provides signifi­ cant benefits to even the computer hob­ byists. I have used the networks for in­ formation sources, shopping, news, electronic mail, etc. One of the first things I learned is that a "dum b" terminal places signifi­ cant restrictions on 'effective utiliza­ tion of computer telecommunications. This article details a program I developed to capture communications with a second computer and to generate a copy of the information while off-line, which helps minimize connect-time charges. The only restriction is that the computer you are talking to must echo your input, and the other computer must not require an echo of its output. My system is an OSI C4P-MF with 32K RAM. I use a Radio Shack Modem I and an Epson MX-80 printer. The pro­ grams are written for use on the OS65D Version 3.3 operating system, but Version 3.2 will work as well. Three programs are required to utilize this system effectively. The main program, called MODEM, is the operational part of the program and is written in BASIC. The second program is the m achine-code portion of

T

84

MODEM. The third program is called QUICK and is the program to output information saved on disk. The machine-code portion will be discussed first, since it provides the heart of the communications system.

M achine-Code Program The machine-code program is not very complex (see listing 1). In fact, the heart of the program is included in the first 25 lines. In simple terms, the pro­ gram does the following: 1. It checks for a character input from the modem 2. If there is a character, it outputs the character 3. It does the file housekeeping 4. It checks the keyboard for a char­ acter input 5. If there is a character input, it sends the character The program then repeats this sequence. The assembly listing of the machine-code program is almost selfexplanatory, but a few of the operations need more explanation. The modem in­ put sequence is straightforward. If the status register is empty, the program branches to the JSFILE location. If a MICRO

character is available, it is loaded into the accumulator and masked to seven bits. (You cannot receive OSI graphics characters with this program.) The pro­ gram accepts all ASCII characters ex­ cept one. In lines 90-110, the double quote [") is replaced by a single quote [’]. Something in the operating system causes the computer to hang if the first character in a character string is a double quote. (This has no effect on any of the programs in my article. I have been experimenting with programs to manipulate and edit the information on disk, but they are incomplete.) In line 120, PRINT is a JSR to the output routine in the operating system kernel. This routine allows you not only to display the received character on the CRT but to store it in memory also. This decision is made during ex­ ecution of the BASIC program. The file housekeeping routine at line 280 simply reminds you how much memory has been used by com­ munications storage. The routine prints the memory page number in hex­ adecimal on the right side of the screen each time the page number changes. The function of this display is ex­ plained later. If the save-to-disk option is not selected, this routine is not called by the program. The keyboard routine at line 520 returns either an ASCII code or a zero. The routine I use was developed by Don VanSyckel and was published in the December 1981 issue of the Aaxdv a ik Journal. (Permission to use this copyrighted material was received.) I chose this routine over several others because it provides both upper and No. 63 - August 1983

by Robert F. Soloman lower case and all ASCII control codes. The selection of a keyboard routine is not critical, except that it must be a non-waiting type of routine; it must check for a key to be pressed but not wait for the key. (This is the reason the keyboard routine in the monitor cannot be used.) If no character is returned from the keyboard routine, the program jumps back to the beginning. If a character is returned, it is transmitted to the modem and then jumps to the begin­ ning. The remote computer echoes the character you sent and this echo character is what you see on the screen. You are now operating in a full duplex mode. The only exception is the Control-B code. This key combination causes the program to return to the BASIC program. MODEM Program The MODEM program is the BASIC program that does all the housekeeping and saving on disk. It calls the machine-code program as a USR(X) routine (see listing 2). Saving com­ munications to disk is actually a twostage process: the machine-code pro­ gram stores the communications data in reserved upper memory then, in the BASIC program, this memory is transferred to disk. This approach uses the operating system kernel to dispatch the output to more than one device. The CRT screen display is called as device 2 and memory storage as device 5. These devices also can be selected by setting a status bit to 1 at decimal location 8994 in the kernel. The CRT is bit 1 and memory is No. 63 - August 1983

bit 4. An advantage is that these devices can be enabled at the same time so that each character is both displayed and stored in memory. The memory output routine does all the housekeeping such as incrementing memory pointers, etc. The kemal out­ put routine is called from line 120 of the Assembly program. The program requires the use of a buffer disk — a disk that has been initialized but has no directory or established files. The constant PA is the pass number and is POKED to decimal location 15336 (constant PD). It keeps track of how many times the machine-code pro­ gram has been called. It also deter­ mines on which tracks of the disk the current data will be saved. Since my computer has been set up with a selector switch to use the modem or printer from the same ACIA, GOSUB 6000 gives a reminder to select the modem. Line 12 eliminates string delimiters. GOSUB 5000 allows you to select be­ tween a dumb terminal, which gives display only, or a terminal that allows you to save to memory. Decimal loca­ tion 15337 (constant SD) is used as a disk-save flag. It is set to zero for dumb terminal use and to 99 to indicate disk save. Line 5030 sets line 130 in the assembly listing to enable the file routine for the disk save function. Line 5050 sets assembly line 130 to NOPs for dumb terminal use. Line 15 saves PA and resets the up­ per memory limits. Line 40 sets the USR(X) location ($3A7E) and sets the ACIA protocol. Line 65 checks the save flag. If it is zero [dumb terminal), it jumps directly to the machineMICRO

code program. The two disk commands in line 66 set up the memory output. The com­ mand "MEM F000,4800” sets the first memory storage location for memory storage to $4800. ($F000 is the memory input pointer, which is not used.) The command "IO, 12" sets the output dispatch word to select both CRT and memory output. After you exit the machine-code program, line 85 retrieves the pass number and sets the keyboard and CRT as the only input and output devices. Line 1000 checks for dumb terminal ar­ rangement, the program branches to the decision routine at line 4800. If the program is in the disk-save mode, the program asks if the file is complete. This routine selects end-offile strings to be appended to the file. These are used to indicate when you have output all the useful information from a file. As long as the file is not complete, the program will return to the machine-code routine after saving the information on the proper tracks. If the buffer disk becomes filled, the program will instruct you to use a second buffer disk. If you do not change buffer disks, you will write over the previously saved information. Should you respond "Y E S" to the file complete prompt, the program will branch to the decision routine at line 4800 after saving on disk. You can still continue with modem communica­ tions from this point without over­ writing previously stored information. One of the exit options (option 3) is to run the program called QUICK, which outputs the disk information. 85

QUICK This program takes the com­ munications information from disk and outputs it to the CRT and/or the printer as you request. You are asked to specify the first and last tracks to be output (see listing 3). You can stop at any time by hitting the ESC key, which causes a jump to the exit menu. You have the option of going to the next track, restarting the program, or quitting. The QUICK program functions by calling each track into the disk buffer. Each location in the buffer is PEEKed sequentially and that character is out­ put to the printer. Usage After boot-up, open the system and then type < RUN1'MODEM” > . From this point, the program prompts you all the way through. As written, you must answer < YES > or < Y > to the modem switch prompt before you can continue. The next prompt will ask if you wish to save to disk. If you answer < NO> , the program will function as a dumb terminal. If you answer < Y E S > , you will be instructed to insert the buf­ fer disk into the drive. After you get the message "Modem Ready", you can go online. If you are in the disk-save mode, a " 4 8 " will be visible on the right side of the screen. At this point you can dial up the network and proceed with your log-on and other communications. There is only one important restriction in the use of this program: the network or bulletin board you access must have provision for suppressing output under your control. (The network I use ac­ cepts Control-S as a stop code and Control-Q as a start code. These are the normal ASCII DC3 and DC1 codes, respectively.) There are only two situations in which you would need to suppress out­ put. One, is when your memory storage area ( in the disk save mode) is almost full. The other is when you wish to exit to change to or from the disk-save mode. An example of changing save modes would be when you want to save only a portion of your network communica­ tion. Things such as stock market data, news stories, or reference information may need more study; so you would want to have a hard copy. The program keeps track of where you are in the memory storage area. Each time a page in memory changes, 86

the new page number (in hex) is displayed on the right side of the CRT screen. You must remain aware of this value so the page location does not ex­ ceed the boundary of your memory. If you exceed the limits, the computer places the information in a non­ existent memory location. The highest value for the memory page is 7F for a machine with 32K of memory. When you approach the end-ofmemory storage, type Control-S to stop the network and then type Control-B. This returns you to the BASIC part of the program. You will then see the prompt "IS FILE COMPLETE” . If you want to stop saving to disk, answer < YES > or < Y > to this prompt. If you answer < NO > , you will automatically return to the machine-code program and get a "Modem Ready" prompt. If you answered yes to the file com­ plete prompt, you will go to the exit menu. You should select option 1, return to modem. After you have returned to the machine-code program, type a ControlQ and you are back in business. Each time your memory is almost full, repeat this sequence. The program will tell you when the disk is almost full and that you should use a second buffer disk. When you want to log-off the net­ work, use the following sequence: Log­ off; after log-off is verified, type Control-B then hang up; answer the exit prompts as they come up. (Answer < YES > to the file complete prompt.) To get a hard copy of the com­ munications select exit option 3. You will be instructed and the QUICK pro­ gram will run. All the information on the buffer disk will be printed on the CRT and/or printer. After you see ‘ ‘ temporary End of File’ ’, hit the Escape button. All the information after this message is garbage. You can restart on the next batch of information from the next pass number (the first track numbers for each pass are 1, 8, 15, 22, 29, and 36). If the message was "End of File" there is no more information on the disk that relates to this communication.

Installation The installation of the program can be accomplished by more than one method, the most efficient being Assembler. However, a lot of computer users are not familiar with assemblylanguage programming, so another method of installing the program is MICRO

described in detail. The instructions are for a system running the OSI OS-65D operating system Version Instructions for other memory limits and for Version are given later. First, initialize a disk and copy the operating system and BEXEC* only. Then create two files with each file be­ ing two tracks long. The first program is titled MODEM and the second is titled QUICK. Since the QUICK program is easiest to implement, I will create that one first. Using option 7 in BEXEC*, create a single disk buffer. Then enter the program as listed and type:

3.3.

3.2

DISK! “ PUT QUICK” < CR > For the MODEM program, type NEW and then type in the following:

10 REM MACHINE CODE < C R > 20 END Then type

DISK! “ PUT MODEM” CR Remove the disk and reboot using Tutorial Disk Two. Then type

RUN “ BUFFER” < C R > Answer E to the Enable prompt. Remove the Tutorial disk and put the MODEM disk in the drive. Type the following sequence:

DISK!“ LOAD MODEM” < C R > BYTE 370 < C R > DISK!“ PUT MODEM” < C R > Reboot your MODEM disk and type:

DISK!“ LOAD MODEM” < C R > Now type in the machine-code in­ stallation program (listing 4) and type RUN. This sequence does the following: first it creates buffer space ahead of the program for the machine-code routine; then it POKEs the machine-code routine into the buffer and saves it on disk. To put the actual MODEM pro­ gram on disk, type

DISK!“ LOAD MODEM” < C R > NEW < C R > Now type in the MODEM program and then type

(Continued on page 88) No. 63 - August 1983

D&N MICRO PRODUCTS,5 INC.

Fort Wayne, Ind. 46808 (219)484-6414

TERMS $3.00 shipping, Foreign orders add 15%, Indiana residents add 5% sales tax.

COMPUTER MICRO-80 COMPUTER Z-80A CPU with 4Mhz clock and CP/M 2.2 operating system. 64K low power static memory. Cen­ tronics parallel printer port. 3 serial ports. 4” cooling fan. Two8” single or double sided floppy disk drives. IBM single density 3740 format for 243K or storage, double density format for604K of storage. Double sided drives allow 1.2 meg on each drive. Satin finish extruded aluminum with vinyl woodgrain decorative finish. 8 slot backplane, 48 pin buss compatible with OSI boards. MODEL 80-1200 $2995 2 8” Single sided drives MODEL 80-2400 $3495 2 8” Double sided drives

PRINTERS Okidata ML82A, 120 cps, 10” .$409 ML83A, 120cps, 15” .$895 ML84 Parallel, 200 caps, 15” . $1150 C. loth 8510APProwriter,parallel ...$419 120 cps, correspondence quality 8510APD Prowriter, serial___$585 F10-40PUStarwriter, parallel $1319 Letter quality daisy wheel F10-40RUStarwriter,serial. .$1319 F10-55PU Printm aster........$1610 parallel, Letter quality daisy wheel F10-55RU Printmaster, serial $1610 DISK DRIVES AND CABLES 8” ShugartSA801................. $385 single sided 8” ShugartSA851 $585 double sided FLC-66 ft cable from D&N ___$69 or OSI disk controller to 8” drive 51/4h MPI B51 diskdrive with. .$450 cable, power supply and cabinet. Specify computer type. FLC-5V4 cable for connection .$75 to 51/4 drive and D&N or OSI controller, with data separator and disk switch. Specify computer type

MICRO-65 COMPUTER 6502 CPU with 2Mhz clock and DOS-65 operating system. 48K of low power static memory. 2 serial ports and 1 Centronics parallel port. 2 8” single or double sided drives. Satin finish extruded aluminum with vinyl woodgrain finish. 8 slot backplane, 48 pin buss compatible with OSI. Will run OSI 65D and 65U software. Includes HARDWARE Basic E/65 a compiled BASIC for 6502 CPU. OSI COMPATIBLE MODEL 65-1 $2995 IO-CA1 OXSerial Printer Port. .$125 2 8” Single sided drives Specify Device #3 or #8 MODEL 65-2 $3495 IO-CA9 Parallel Printer Port ..$150 2 8” Double sided drives CMOS-MEM 64K CMOS static memory board, BP-580 8 Slot Backplane........$ 47 uses 6116 chips, 3 16K, 1 8K and 2 OSI 48 pin Buss compatible 4K blocks, Partitionable for multi­ MEM-CM9 MEMORY/ user, OSI type disk controller, 2 IO FLOPPY CONTROLLER mapped serial ports for use with 24K memory/floppy controller card D&N-80 CPU. Ideal way to upgrade uses 2114 memory chips, 1 8K and from cassette to disk. 1 16K partition. Supports OSI type 64K CMOS-MEM..................... $500 disk interface 24MEM-CM9...........................$325 48K CMOS-MEM..................... $405 16MEM-CM9...........................$260 24K CMOS-MEM..................... $260 8MEM-CM9...........................$180 16K CMOS-MEM.....................$210 BAREMEM-CM9..................... $ 50 BARE CMOS-MEM................. $ 50 Controller add.$ 90 Controller on assembled unit 2 IO mapped serial ports add. $125 add.......................................... $ 90 on assembled memory board BIO-1600 Bare IO card.............. $ 50 Z80-I02 IO mapped serial. . . .$160 Supports 8K of memory, 2 16 bit ports for use with D&N-80 CPU parallel ports, 5 serial ports, card with manual and Molex FL470 Disk Controller........... $155 connectors. 5Vi or 8" drive No. 63 - August 1983

MICRO

STANDARD CP/M FOR OSI D&N-80 CPU CARD The D&N-80 CPU allows the owner of an OSI static memory computer to convert to Industrial Standard IBM 3740 single density disk for­ mat and CP/M operating system. Double density disk operation is also supported for 608K of storage on an 8” diskette. When used with a 51/t ” disk system 200K of storage is provided. Optional parallel printer and real time clock. Also available for polled keyboard and video systems. Compatible with C2, C3, C4 and 200 series OSI com­ puters. INCLUDES CP/M 2.2 D&N-80-1 Serial 8” disk $595 D&N-80-2 Video disk $595 D&N-80-3 Video 8” disk $595 Option 001 $ 60 Parallel printer and real time clock.

5'A"

HARD DISK DRIVER $140 Allows D&N-80 CPU board to con­ trol OSI 40 or80 meg hard disk unit. Will not destroy OSI files. Will also allow for a true 56K CP/M system. Specify 40 or 80 meg drive. BUSS TRANSFER $135 Allows for D&N-80 and OSI CPU to be in the computer at the same time. Toggle switch provides for alternate CPU operation. DISK TRANSFER $100 Utility program to transfer OSI CP/M format disk to IBM 3740 single density format. Will also transfer IBM to OSI format. SYSTEM HARDWARE REQUIREMENTS D&N-80 CPU, D&N FL470 or OSI 470 controller, 48K memory at 0000-BFFF, 4K memory at D000-DFFF, two disk drive cables. FORMATTRANSFER $15 You supply software on 8” diskette D&N will transfer OSI CP/M format to IBM 3740 CP/M format. Can also transfer IBM 3740 CP/M format to OSI CP/M format. Original diskette returned. 87

DISK!“ PUT MODEM” < CR >

Accounts Payable &

Receivable Program Business or Home owner, keep track of your accounts payable and receivables • 300 entries per disk • 75 entries per cassette • Printer option • Automatic Sort R equires 8K or 16K E xp and er

Disk - $35.95 Cassette - $29.95

SEIMSEi:.'1

.... ..

TO ORDER: P.O. BOX 768 W ICHITA, KS 67201 (3 1 6 )2 6 3 -1 0 9 5 Handling charges $3.00 C O D (Add $2.00) Personal checks allow 3 week delivery VIC-20® is a registered trademark of Commodore Prices subject to change

A

p p le ^ & E

le c t r o n

T te e ic s

PROWRITER PRINTER

$395 H A R D W A R E FR A N K L IN

ACE

T h e P ro fe ssio n a l P e rso n a l C om puter IN T R O D U C T O R Y PA C K A G E

Your program is now complete and ready for checkout. The only other thing you will need is one or more buf­ fer disks. To create these, open the system and place a blank disk in the drive. Type E X IT after a BASIC "O K " prompt. Then type "IN IT" < CR > and respond Y to the ' 'Are you sure" question. The computer will do the rest.

Testing Testing the program can be done off-line. Assuming that all the instruc­ tions up to this point have been fol­ lowed, you can commence testing. Disconnect the DB-25 connector from your modem and connect pins 2 and 3 together temporarily. This con­ nects the computer's output to the modem to the input from the modem, so whatever you transmit is im­ mediately received. Then bootup and run the MODEM program without sav­ ing to disk. After you get the "Modem Ready" prompt, you can type whatever you want. It should be correctly displayed on the CRT. I suggest typing all characters in both upper and lower case to verify all is well. If this works properly, all is well. If it does not, then check carefully over your work — especially the machine code. If all works, type Control-B and you should come back to the exit menu. Now try saving on disk by following the prompts. After you have something in there, type Control-B and answer yes to the file-end question. You should now hear the computer dump to disk. Run the QUICK program to see how it works. Providing everything is okay you are now ready to go on-line.

* F ra n k lin A ce

1000

this program for the CIP at a later date. I have, however, translated these programs for use with an OSI C4P run­ ning OS-65D Version 3.2 in 24K and present those changes here. Because of the num erous com b in ation s of memory size and operating system, I will not attempt to generalize. Those users who want to adapt to their system can learn enough from studying these programs to implement their own configuration. The changes required to adapt to the 3.2 version encompass all three pro­ grams. Listing 5 shows those data lines that must be changed in the machinecode installation program. For those who would rather work in the Assembler, the only change required is to make the starting address $327E. To establish the buffer space for the machine-code program, you will need to use the CHANGE program to a llo ca te 370 bytes before the workspace. All other installation in­ structions are the same. The MODEM program for use on 3.2 is listed in its entirety in listing 6. Because of the extensive changes necessitated by the reduction in memory available, a complete listing is more readable than a list of corrections. The QUICK program requires only two changes. They are 510 DISK!“ CA 327E = ” + T S $ + “ ,1” 520 FORAD = OT02047:CH = PEEK (12926 + AD):CH = CHAND127: IFCH BNE DEC BNE

KYI 1

LD X

KYI2

CM P BNE LD X STX STA PLA

OA 90F C

LDA RTS LDY IN Y A SL BCC

60 A 901 EA EA 8D 00D F ADOODF

RTS LDA NOP NOP STA LDA

CONV C 001

RD01 RD

# *10

#♦ 4 0 K Y 09 #*1 F

CHR1 KYBB

3B C 8 3B C 9

52 54

3B C A

59

1700

CHR2

1700 1700 1700 1700 1700 1700 1710 1710 1710 1710 1710 1710 1710 1710 1720 1720

# ♦0 1

KYBD KYBD

1720 1720

3B E 0 3B E 1

1720

3B E 2 3B E 3 3B E 4

1720 1720

* 2 E + * 8 0 ,’ L 0 ’

.B Y T E

* 0 A ,* 0 D ,* 2 0 ,* 3 0 ,* 7 F

.B Y T E

' W E R T Y U I' , O

53 44

.B Y T E

' S D F G H JK ’ , O

.B Y T E

’ XCVBNM ’ , * 2 C + * 8 0 , 0

•B Y T E

' QAZ

46 47 48 4A 4B

00 58 43 5 6 42 4E 4D AC

00 51 41

' , * 2 F + * 8 0 ,* 3 B + * 8 0 ,'P '

5A

20 AF BB 5 0

Listing 2

Expand the ca pacity o f your p rin te r hundreds o f times

Load c u s to m fo n ts into y o u r A p p le ® M a t r ix Printer, /•' P ro w r it e i4® 851 OA, OK I® M ic ro lin e 92, 9 3 * and j i r . a Epso n® F X * and use t h e m w it h virtually e v e ry / ^ w o r d p ro c e s s o r to tu rn y o u r p rin te r into a / ' DD custom typesetter. A f t e r t h e f o n t s a re s f s[ f f ^ loaded, th e y w ill stay in y o u r ^ ' 1 p rin te r until it's tu r n e d off. A “ T* & W fo n t e d ito r is also provid ed to a llo w y o u to c re a te y o u r o w n graphics, te x t, fo reig n la n g u a g e le tte rs , m ath and e le c tro n ic s sym b o ls to load into yo u r p rin ter. *Available in 30 days

Disk S o f t w a r e only ............................. $ 3 9 .0 0

r > $ 1 0 0 REW ARD*S u b m it t h e b e s t or m o s t u n iqu e fo n t using th e ab o ve s o f t w a r e and w e w ill m ake yo u $ 1 0 0 richer. O th e r prizes fo r th e first 2 5 ru n n ers up.

by RAK-Ware

55 49

00

3B D B 3B D C 3B D D 3B D E 3B D F

EXC

.B Y T E

20

3B C D 3 BCE 3B C F 3B D O

* B 8 , * B 9 , * 3 0 , * 3 A + * 8 0 , * 2 D + * 8 0 , * 7 F , O ,O

OD

3B C B 3 BCC

3B D 1 3B D 2 3B D 3 3B D 4 3B D 5 3B D 6 3B D 7 3B D 8 3B D 9 3B D A

. BYTE

00 00 AE 4C 4F OA

16 90

0 0 0 0

*B 7, O

3 0 BA AD 7F

30 7F 57 45

9 9 9 0

6,

B9

3B C 5 3B C 6 3B C 7

6 6 6 7

. BYTE

B6 B7

1680 1690 1690

CNT

A

3B B B 3B B C 3B B D 3B B E 3B B F

TABLE

00 B8

3B C 2 3B C 3 3B C 4

1 1 1 1

C 001

3B B A

NOP NOP RTS *B 1 ,* B 2 , *B 3 , * B 4 , *B 5 , *B

B3 B4 B5

1680 1680 1680

1690 1690

•♦ F F

3B B 6 3B B 7 3B B 8 3B B 9

EA 6 0 B1 B2

3B C 0 3B C 1

CNT KYCC

CHR!

3B B 5

EA

16 70 1670 1680

#♦ 9 6 CHR2 K Y 12 #♦ 1 4

Font DownLoader

micro SUIArE!

1342 B Rt. 23, Butler, NJ 07405 201-838-9027 92

3B B 2 3B B 3 3B B 4

1660 1660 1670

Just Released

Dealer and Distributor Inquiries Invited Designed

1650

16 60 1660 1660

TAY PLA TAX

AA

3B B 0 3B B 1

1660

TXA AND

8D 1302

68 A8 68

3B A 5 3B A 8

K Y 08

0 0 8 6 A 296 CD1302 D 002 A 214 8E 1602

3B 92 3B 93 3B 94

3B 9E 3B A 0 3B A 1 3B A 3 3B A 4

TYA ADC TAY

1650 1650

3 4 5 5

1660 16 60

TAY

3B 68 3B 6A

12 30 1240

3B A B 3B A C 3B A D 3B A E 3B A F

6 6 6 6

1650 1650 16 50

TY A ADC

0 0 0 0

1 1 1 1

MICRO

1 REM LISTING 2 5 REM SOURCE MODEM FOR VERSION 3.3 AND 32K 10 PA=0:PD=15336 sSD=15337; JF= 14997 sG0SUB6000 12 P0KE2888,0:P0KE8722,0s P0KE2972,13:P0KE2976,13 13 GQSUB5000 15 POKEPD,PA: POKE133,71s POKE 132,255s PRINT 40 POKES955,126sP0KE8956,58sP0KE63235,52:P0KE64512,22 60 PRINT:PRINT:PRINT"MODEM READY" 65 IFPEEK P R IN T E R O N L Y ": P R IN T

IS IS

THE THE

O U PU T

PR O G R A M ": P R IN T

F IR S T TRACK TO BE O U TPU T " ; F T L A S T T RA CK TO B E O U T P U T " ; L T : " sP R IN T

8 0 P R IN T " 2 > CRT O N L Y ":P R IN T 9 0 P R IN T " 3 > C R T AND P R I N T E R " : P R IN T 1 0 0 P R IN T " 4 > Q U lT " : P R IN T 1 0 5 P R I N T : P R IN T ” * * * N O TE > H IT < E S C > TO END 110 IN P U T "S E L E C T IO N ” ; X 1 1 5 P R IN T : IN P U T " IN S E R T B U F F E R D IS K TH EN H IT 120 130 140 150

PRO GRA M

E A R L Y "sP R IN T

C C R V 'jZ Z *

IF X < IO R X > 4 G 0 T 0 6 0 I F X= 4 G 0 T 0 2 0 0 0 IF X > 2 G O T 0 2 0 0 IF X = 2G 0T 0 18 0

160 180

D IS K !“ 1 0 D IS K !" 1 0

2 0 0 5 0 0

D IS K !" 1 0 , 0 3 ” FO RTT=FTTO LT: G 0S U B 800

5 5 5 5

D I S K ! 11C A 3 A 7 E = ' , + T S * + ', t 1 " REM F O R V E R S IO N 3 . 2 CHANGE CA L L A D D R ESS IN 5 1 0 REM TO 3 2 7 E F 0 R A D = 0 T 0 2 0 4 7 j C H = P E E K ( 1 4 9 7 4 + A O ): C H =CH A N D 1 2 7 : IF C H < 1 0 T H E N C H = 2 0

1 0 11 1 2 2 0

, 0 1 " : G 0T 0500 ,0 2 " : G 0T 0500

521 5 2 2

REM REM

F O R V E R S IO N TO 1 2 9 2 6 + A D

5 3 0

G 0S U B 900

5 4 0 5 5 0

P R IN T C H R * < C H ); NEXTAD

CHANGE

5 6 0

P R IN T # 2 :P R IN T # 2 ,

5 7 0 5 8 0 5 9 0

P R I N T W 2 : P R I N T # 2 , "T R A C K P R IN T #2 , NEXTTT

5 9 5 8 0 0 8 1 0

G O T 02000 T * = S T R * (T T ): IF T T > 9 G 0 T 0 8 2 0 T * = s " 0 " + R I G H T * ( S T R * (T T > , 1 )

8 9 9 9

T S * = R I G H T * (T * ,2 ) : RETURN CL=PEEK(5 7 1 0 0 ) IF C L = 3 30 R C L -32 G 0 T 030 00 RETURN

2 0 1 2

0 0 0 0

PEEK

L O C A T IO N

IN

52 0

* * * * * * * * * * * * * * * * * ” ‘^ T S * ; " CO M PLETE" : P R IN T #2 P R IN T # 2

2 0 0 0 2 0 1 0

P 0 K E 2 S 8 8 ,2 7 : P 0 K E 8 7 2 2 ,2 7 : P 0 K E 2 9 7 2 ,5 8 : P 0 K E 2 9 7 6 ,4 4 D IS K ! " 1 0 , 0 2 " : END

3 0 0 0 3 0 1 0 3 0 2 0

O P = P E E K ( 8 9 9 4 ) : D IS K ! " 1 0 , 0 2 " : P R IN T : P R I N T 'S E L E C T P R IN T " 1 > N E X T T R A C K ": P R IN T P R IN T " 2 > R E S T A R T " : P R IN T

3 0 3 0 3 0 4 0

P R IN T " 3 > Q U I T ’* : P R I N T IN P U T "S E L E C T IO N : ' ; X X

3 0 5 0

IF X X < 10R X X > 3G 0T 03000

3 0 6 0 3 0 7 0

O N X X G O T 0 3 0 7 0 ,3 0 ,2 0 0 0 P 0 K E 8 9 9 4 ,O P : A D = 2 0 4 7 : R E T U R N

: “ : P R IN T

Listing 4

5 REM LISTING 4 10 REM MODEM MACHINE CODE GENERATOR 20 F0RX=14974T015332 30 READC:POKEX,C;NEXTX 40 DISK!“PU MODMMC" 50 END 100 DATA32,68,30,173,0,252,74,144,14,173 110 DATA1,252,41,127,201,34,208,2,169,39 120 DATA32,67,35,32,1BO,5B,32,242,58,240 130 DATA228,201,2,240,15,72,173,0,252, 74 140 DATA74,144,249,104,141,1,252,76,129,58 150 DATA76,68,38,234,173,146,35,205,179,58 160 DATA240,30,141,179,58,74,74,74,74,32 170 DATA219,58,141,254,209,173,179,58,32,219 180 DATA58,141,255,209,169,32,141,190,209,141 190 DATA191,209,96,41,15,201,10,24,48,2 200 DATA105,7,105,48,96,32,161,59,41,7 210 DATA208,110,160,32,208,106,138,72,152,72 220 DATA32,161,59,41,32,240,24,169,27,208 230 DATA120,141,21,2,169,2,141,22,2,160 240 DATA5,162,200,202,208,253,136,208,248,240 250 DATA225,162,1,138,10,170,208,5,141,21 260 DATA2,240,98,32,163,59,240,241,32,154 270 DATA59,140,20,2,138,32,154,59,152,10 280 DATA10,10,109,20,2,168,185,174,59,160 290 DATA5,217,192,59,240,31,136,208,248,141

(Continued on next page)

A tten tio n P r o g r a m m e r s ! At last! Microscreens, a screen generator package lets you produce clear, uncluttered, professional quality monitor screen formats ... for only $119.00. Just a few lines of code in your BASIC is all it takes. Develop selection menus, data-entry, inquiiy display and more . . . quickly and easily . . . because Microscreens: • provides configuration routines for monitor control characters. Remits use on any monitor. • presides a "DRAW" program. Enables programmer to create any screen format on a blank screen. • provides protected, unprotected and variable use fields. • provides editing of input to data-entry screens and full data validity checking. • provides highlighting and reverse video features usage (\Aiien available on your monitor). • lets you position the cursor a t the begin­

3 .2

ning of any data input field. • provides six different escape codes for help, emergency step or any other abnormal com plication of input. • can be INCLUDE'd in CP/M® BASIC com piled programs or MERGE'd with the MICROSOFT* I3ASIC Interpreter for Apple II with Softcaid®. • 3 K memory for screen handling routines; frequency less than your avn code for monitor input/output. • is a maximum flexibility screen generator. Reduces your programming time as much as 40%. ORDER NCW. $119.00

Please send my Microscneens program so I can begin to get quick and easy professional quality monitor screens. Only $119.00. Name _____________________________ I Address

I City, State, Zip I Phone _____ I

| MC/VlSA Circle one CB^SIC Compiler CB80 Compiler Basic-80 Compiler

Exp. d ate . MEiASIC Compiler MBASIC Interpreter Apple CP/M

®£ppte H™cf Apple Computer, Inc.. Mfcjc60fl: MB*SC™cf MfcrasDft, Inc.; CP/M™cf Digital Research, Inc.

IL

PMI, Incapaated P.O. Box 87 Buckfiefd, ME. 04220 (207) 336-2500 -

-

__________ DEALER INQUIRIES INVTTED____________

No. 63 - August 1983

MICRO

J 93

Listing 4 (Continued)

300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450

Listing 5

DATA20,2,170,16,156,160,128,32,161,59 DATA41,6,240,8,160,144,224,176,48,2 DATA160,112,24,152,109,20,2,168,32,161 DATA59,170,41,128,240,5,24,152,105,16 DATA168,138,41,64,240,4,152,41,31,168 DATA152,205,21,2,208,131,206,22,2,208 DATA134,162,150,205,19,2,208,2,162,20 DATA 142,22,2,141,19,2,104,168,104,170 DATA173,21,2,96,160,255,200,10,144,252 DATA96,169,1,234,234,141,0,223,173,0 DATA223,234,234,96,177,178,179,180,181,182 DATA183,0,184,185,48,186,173,127,0,0 DATA174,76,79,10,13,32,48,127,87,69 DATA82,84,89,85,73,0,83,68,70,71 DATA72,74,75,0,88,67,86,66,78,77 DATA172,0,81,65,90,32,175,187,80

5 REM LISTING 10 REM MACHINE CODE CHANGES FOR VERSION 3.2 20 F0RX=12926T013284 120 DATA32,67,35,32,180,50,32,242,50,240 140 DATA74,144,249,104,141,1,252,76,129,50 150 DATA76,68,38,234,173,146,35,205,179,50 160 DATA240,30,141,179,50,74,74,74,74,32 170 DATA219,50,141,254,209,173,179,50,32,219 ISO DATA50,141,255,209,169,32,141,190,209,141 200 DATA105,7,105,48,96,32,161,51,41,7 220 DATA32,161,51,41,32,240,24,169,27,208 260 DATA2,240,98,32,163,51,240,241,32,154 270 DATA51,140,20,2,138,32,154,51,152,10 280 DATA10,10,109,20,2,168,185,174,51,160 290 DATA5,217,192,51,240,31,136,208,248,141 300 DATA20,2,170,16,156,160,128,32.161.51 330 DATA51,170,41,128,240,5,24,152,105,16

Listing 6 1 5

1o

REM L I S T I N G R E M S O U R C E M ODEM F O R V E R S I O N 3 . 2 W IT H 2 4 K P A = 0:P D = 1 3 2 8 0 : SD = 1 3 2 8 9 : JF = 1 1 2 9 4 9 : G 0S U B 6000

12

P 0 K E 2 8 8 B ,0 : P 0 K E 8 7 2 2 ,0 : P 0 K E 2 9 7 2 ,1 3 : P 0 K E 2 9 7 6 ,1 3

13 15 4 0

G O SU BSO O O P O K E P D , P A : PO K E 1 3 3 , 6 3 : PO K E 1 3 2 , 2 5 5 : P R IN T P O K E 0 9 5 5 ,1 2 6 : P 0 K E 8 9 5 6 ,5 0 s P 0 K E 6 3 2 3 5 , 5 2 : P 0 K E 6 4 5 1 2 , 2 2

6 0

P R I N T : P R I N T : P R IN T " M O D E M

6 5

66

I F P E E K (S D )= 0 G O T 0 7 0 D I S K ! "M E M F O O O , 4 0 0 0 " : D I S K ! ” 1 0

7 0 8 5

X = U S R (X ) P A = P E E K (P D > : D I S K ! " 1 0

READY" , 1 2 ”

0 2 , 0 2 " : G O T O IO O O

10 00

IF

2 0 0 0 2 0 2 0 2 0 3 0

P A = P A + 1 :B *= "T E M P O R A R Y END O F IN P U T " IS F IL E C O M P L E T E "5Z Z * I F L E F T < < Z Z < ,1 )= " Y " 6 0 T 0 2 0 6 0

2 0 4 0 2 0 6 0

PR IN T # 5 ; PR IN T # 5 , B * : F E = 9 9 : G 0 T 0 2 0 7 0 PR IN T # 5 : P R IN T # 5 , " F IL E E N D ": F E = 0

2 0 7 0

Q N PA G 0T 021 0 0 ,2 2 0 0 ,2 3 0 0 ,2 4 0 0 ,2 5 0 0 ,2 6 0 0 ,2 7 0 0 ,2 8 0 0 ,2 9 0 0 ,3 0 0 0

2100 2110 2120 2200 2210 2220 2300 2310 2320 2400 2410 2420 2500 251 0 2520 2600 2610 2620 2^00 2710 2720 2000 2810 2820

P E E K (S D )= 0 6 0 T 0 4 8 C 0

DISK!"SA DISK!"SA G0T03850 DISK!"SA DISK!"SA G0T03850 DISK'"SA D IS K !"SA G0T03850 D I S K !"SA DISK!"SA G0T03850 D IS K !"SA D IS K !"SA G0T03850 D I S K !"SA D I S K !"SA 60T03850 DISK!"SA DISK!"SA G0T03S50 D IS K !"SA DISK'"SA G0T03350

2375 2900 2910 2920 3000 3010 3020

F I L E " : P R IN T

01, 1=4000/8":DISK! "SA 02, 1=4800/8" 03, 1=5000/8” :D IS K !"SA 04, 1=5800/8" 05, 1=4000/8” :D IS K !"SA 06, 1=4800/8" 07, 1=5000/8” :DISK.!"BA OR, 1=5800/8” 09, 1=4000/8":DISK! "SA 11. 1=5000/8" :DI SK "SA

10, 1=4800/8" 12, 1=5800/8"

13, 1=4000/8":DISK! "SA 14. 1=4800/8" 15, 1=5000/8":DISK! "SA 16, 1=5800/8" 17, 1=4000/8":D IS K !"SA 18, 1=4800/8" 19, 1=5000/8” :D IS K !"SA 20, 1=5800/8" 21, 1=4000/8":DISK!"SA 22, 1=4800/8" 23, 1=5000/8":DISK! "SA 24, 1=5800/8" 25, 1=4000/8":D IS K !"SA 26. 1=4600/8" 27, 1=5000/8":DISK! "SA 28, 1=5000/8“ 29. 1=4000/8":DISK!"SA 30, 1=4800/8" 31 1=5000/8":DISK! "SA 32, 1=5800/8"

,

3730 3740 3850 3860 3870 3880 3910 3920 3930 3940 4800 4810 4820 4825 4830 4850 4870 5000 5010 5030 5035 5040 5045 5050 5060 6000 6020 6030 6040 7000 7010 8000 8020

IFFE=0G0T04B10 D IS K !"SA 33,1=4000/8":D IS K !"SA 34,1=4800/8" DISK !"SA 35, 1=5000/8’ *: DISK !"SA 36,1=5800/8" G0T03850 D IS K !"SA 37.1=4000/8":D IS K !"SA 38.1=4800/8" DISK!"SA 39,1=5000 18" G0T03850 F'RINT:PR INT PRINT"*** WARNING - DISK IS FULL ***":PRINT INPUT"INSTALL BUFFER DISK TWO THEN TYPE ";Z2* IF PA=10ANDFE=99 G0T03910 PR INT:PRINT-PASS” ;PA;" COMPLETE":PRINT IF PA=11THENPA=0 GOTO 15 PRINT PRINT"*** WARNING - NEXT BLOCK MUST END BEFORE 57":PR INT:PRINT INPUT"HIT TO CONTINUE";ZZ* GOTO15 PRINT:PRINT F'RINT "SELECT" PRINTsPRINT" 1 > RETURN TO MODEM":PR INT PRINT" 2 > QUIT"sPRINT:PRINT" 3 - RUN QUICK":PR INT PRINT" 4 CHANGE MEMORY SAVE":PR INT INPUTQQ: IFQQ< 10RQQ.--4G0T04B00 ONQQGOTO15,8000,4870,7000 PRINT:INPUT"INSERT MODEM DISK THEN HIT "Y"G0T05050 POKESD,99:POKEJF,32:POKEJF+l,180:POKEJF+2,50 PR INT:PR INT INPUT"INSERT BUFFER DISK THEN HIT ";ZZ* RETURN POKESD,0:POKEJF,234:POKEJF+1,234:POKEJF+2,234 RETURN PR INT:PR INT INPUT"IS OUTPUT SWITCH IN MODEM POSITION";QZ* IFLEFT*(QZ*,1)” Y"G0T06020 RETURN GOSUBSOOO GOTO15 P0KE63235,O:P0KE64512,17 X=PEEK(8960):P0KE133,X:END

AMCftO

IS THERE LIFE AFTER BASIC ? YES I WITH. TM COLORFORTH MOVE UP FROM BASIC! Forth is a new, high level language available now for the TRS-80® Color C o m ­ puter. COLORFORTH, a version o f fig FORTH, has an execution tim e as m uch as IO to 2 0 times faster than Basic, and ca n be program m ed faster than Basic, COLORFORTH is highly modular which m ake testing and debugging m uch simpler. COLORFORTH has been specially customized for the color com puter and requires only 16K. It does not require Extended Basic. When you purchase COLORFORTH, you receive b oth cassette and RS/DISK versions, the standard fig EDITOR and an extensive instruction manual. Both versions and 75 p ag e m a n u a l.................................................................................................................. $49.95 Texas residents a dd 5 percent

A dd $ 2 .0 0 shipping DEALER AND AUTHOR INQUIRIES INVITED

ARMADILLO INT’L SOFTWARE P. O. Box 7661 Austin, Texas 78712 94

Phone (512) 459-7325 MICRO

No. 63 ■ August 1983

"■•■'CQiBPU SENSEi:/ CS1

QUICK BROWN FOX

$ 5 5 .0 0

The W o rd P ro ce sso r o f this d eca de ! For the V IC -2 0 and C -64.

C ommodore 6 4 * 3 1 0 00 Plus you receive a free QBF Word Processor valued at $55.00 C -64 S oftw are

VIC -1210

Pet Emulator $ 2 7 .9 5 Editor Pac 67.00 File Pac 3 2 .36 Account Pac 57 .00 Farm Management I (Agricultural Software) 4 7 .25 Home Budget 29.95 Stock Investments 76.95 Calc Result 1 40 .00 6502 Professional Development System 2 7 .95 Mail List 3 4 .95 Vic Easy Lesson & Easy Quiz 3 5 .97 Loan Calculator 1 5.95 Data Files 14.95 Research Assistant 2.0 2 8 .00 Total Label 2.6 (Mailing Lables) Tape 19.95 Disk 22.00 Total Time Manager 2.6 3 7 .00 Total Text (Word Processor) 2.6 4 0 .0 0

Flight 64 (Flight Simulator) Gunslinger Spellathon Motor Mania Renassance Vic Clowns Radar Rat Race Jupiter Lander Temple of Apshai Upper Reaches of Apshai Curse of Ra Sword of Fargoal Jump Man

Tape $1 3 .9 5 Disk 1 5.95 13.95 16.95 25.95 25 .95 25 .00 25 .00

20.00 37.00 1 6 .9 5

20.00 19.95 26.95

VIC-1312

Disk Drive Datasette Printer Expansion Module Joystick Wico Joystick Game Paddles Telephone Modem Terminal Emulator (64) 4 0 x 2 5 Terminal Em ulator VIC

No. 63 - August 1983

7

VIC-1213 3 4 .95

VIC 8K Memory Expander Cart.

VIC -20 Softw are

CM 102

119.95 3 9 .9 5

P ro vide s in te rfa c e betw een the V IC -2 0 and R S 2 3 2 tele ­ co m m u n ica tio n s m odem s. C o nn e cts to V lC 's u ser port

PETSPEED — Basic Compiler for Commodore

Vic Rabbit Cartridge CBM 64 Rabbit Star G -10 Printer Mura M odem Smith Corona TP-1 Printer

140.00 3 5 .0 0 35 .00 299.00 1 20 .00 6 5 0 .0 0

CARDCO HARDWARE $ 8 7 .5 0

An e xpa nsion in te rfa c e fo r the V IC -2 0 A llo w s e xpa nsion to 4 0 K o r a cce p ts up to six gam es. M ay be d a isy-ch a in e d to r m ore versa tility.

CARDBOARD 3

$ 3 5 .9 5

E con o m y e xp a n sio n in te rfa ce fo r the V lC -2 0

CARD “ ? ” CARD /P R IN T

$ 7 6 .0 0

U n ive rsa l C e n tro n ic s P arallel P rin te r In te rfa c e fo r the V IC -2 0 or C B M -6 4 . Use an E pson M X -8 0 o r O KID A TA o r TA N D Y o r just a bo ut any oth e r

CARDETTE

$ 3 0 .9 5

U se any s ta n d a rd V IC -2 0 o r C B M -64 .

ca sse tte

p la y e r/re c o rd e r

LIGHT PEN

w ith

yo ur

$ 2 9 .9 5

A lig h t pen w ith six g oo d p ro gra m s to use w ith yo u r V IC -20 o r C B M -64

16K Memory Expander

299.00 67.50 33 4 .9 5 139.95 9.95 28 .00 19.95 99 95

$ 5 0 .5 0

All CA R D C O P ro du cts have a life tim e w a rra n ty

Tape 9.95 Disk 15.95 4 0 .9 5

VIC -12 1 1 A VIC-20 Super Expander $ 5 5 .0 0 E veryth in g C om m o d ore co uld p ack in to one c a rtrid g e — 3K RAM m em ory e xpa nsion , high re so lu tio n g ra p h ic s p lo t­ tin g , co lo r, p a in t and so un d co m m a nd s. G ra p h ic, text, m ul­ tic o lo r and m usic m odes. 1 0 2 4 x 1 0 2 4 d ot scre e n p lottin g All co m m a nd s may be type d as new BASIC co m m a nd s or a cce sse d by h ittin g one o f the V lC 's sp ecia l fu n ctio n ke ys In clu d e s tu to ria l in stru ctio n boo k E xcellen t fo r all p ro ­ gra m m in g levels

VIC -1212

Programmer's Aid Cartridge

$ 4 5 .9 9

M ore than 2 0 n ew BASIC co m m a nd s help n ew and e x p e r­ ie nced p ro g ra m m e rs renum ber, tra ce and e d it BASIC p ro ­ gram s. T ra ce any pro gra m lin e -b y-lin e as it e xe cu te s, pause to e d it S pe cia l K EY com m and lets p ro g ra m m e rs re d efin e fun ctio n ke ys as BASIC com m a nd s, su b ro u tin e s o r new co m m ands

MICRO

VICMON Machine Language Monitor $ 4 8 .9 9

5 2 .5 0

8 K RAM e xpa nsion c a rtrid g e p lug s d ire c tly in to the V!

24K Memory Expander Cart. VIC-10 1 1 A RS232C Terminal Interface

5

H e lp s m a ch ine co d e p ro gra m m ers w rite tast, e ffic ie n t 6 5 0 2 assem bly la ng u ag e p ro gra m s. In clud es one line a s s e m b le r/ disasse m b le r

P lu g s d ire c tly in to th e V lC 's e xpa nsion port. E xp a n d s to 8K RAM total.

VIC -1110

When you buy our 6 Game Pac or 6 Finance Pack $43.00

COM MODORE SOFTW ARE

VIC -20 & C -64 H ardw are VIC-1541 VIC -1530 VIC -1515 VIC -1010 VIC-131 1

- 2

VIC 3K Memory Expander Cart.

CARDBOARD 6

C -64 Games

VIC * °°

Write for FREE Catalog!

for Business & Home A pplications

6 502 Professional Development System $ 2 5 .0 0 Vic Forth (Advance Computer Language) 49 .95 Hess Mon (Machine Language Monitor) 34 .95 Hess Writer (Word Processor) 34 .95 Turtle Graphics 34 .95 Total Label 2.1 Tape 17.95 Disk 22.00 Total Time Manager 2.1 Tape 28.00 Disk 3 2 .00 Research Assistant 2.0 Tape 28.00 Disk 3 2 .00 Total Text 2.5 Tape 3 0 .00 Encoder 3 4 .95 Acct. Payable 8. Receivable Tape 2 9 .00 Disk 3 5 .00

VIC -20 Games Exterminator Plus (Excellent) $ 1 7 .9 5 Anti Matter Splatter (Disaster) 1 7.95 Rescue From Nufon (Great) 12.95 Tank Wars (War Game) 15.95 Simon (Great for kids) 13.45 Dam Bomber (Avoid the enemy) 13.45 Breakout 7.95 Snack Man (Pac Man) 1 4 .9 5 Defender on Tri 17.95 Amok Cart. 23 .95 Cassette 19.94 Starfighter 1 7,95 Torg 15.95 Gridrunner 3 4 .9 5 Invasion Orion 2 0 .95 8K Backgammon 19 95 TO ORDER: P.O. BOX 768 W ICHITA, KS 67201 (3 1 6 ) 2 6 3 -1 0 9 5 Handling charges $3.00 C O D. (Add $2.00) Personal checks allow 3 week delivery VIC-201 * is a registered trademark of Commodore Prices subject to change

95

A Product Catalog for Commodore, Color Computer, and Texas Instruments Last month we provided descrip­ tions, comparisons, and pictures of the most popular low-cost computers. This month and next month we will offer a catalog of peripherals and software available for these machines. Please note that this list is not meant to be comprehensive.

Commodore V = VIC P = PET 64 = C 64 Hardware EPROM Programmers V, Promqueen, Arbutus, $99.00 V, EPROM Programmer, MWS, $79.95 P, Branding Iron, Eastern House, $75 Video Boards P, 40/80-column Board, Execom V, 40/80 Video Cartridge, Quantum, $159.95 V, 40/80 Video Cartridge w/ 16K, Quantum, $259.95 V, Video Pak, Data 20, $299.95 64, Video Pak 80, Data 20, $179.95 64, Z-80 Video Pak, Data 20, $299.95 P, Color Chart, CGRS/Microtech, $139.95 P, Visible Memory, MTU, $495.00

Cassette Interfaces V,64,P, Univ. Tape Interface & Dupl., MicroWare, $49.50 V,64,P, UCA-20 Cassette Cable, World Elec., $19.95 V,64,P, VIAC, Integ. Controls, $24.95 V,64,P, Rabbit (high-speed), Eastern House, $39.95 V,64, CB-2 Tape backup, Dig. Interf. Sys., $89.95 V,64, Cardette 1, Cardco, $39.95 P, ARROW, DataCap, $60.00

Light Pens V,64, Cardriter-1, Cardco, $39.95 V,64, Edumate Light Pen, Prog. Inst., $29.95

Parallel Printer Interfaces V ,6 4 , T y m a c P a ra lle l C a b le , MicroWare, $19.95 V,64, Parallel Printer Driver Cartr., MicroWare, $29.95 V,64, Tymac Connection, MicroWare, $119.95 V,64, Smart ASCII, Midwest, $59.95 V,64, Card?, Cardco, $79.95 V,64, UPA-20 cable, World Elec., $19.95 V,64, MW-302 interface, Micro World, $119.95 P, 36-pin parallel interface, CMC, $129.00 P, 40-pin parallel interface, CMC, $129.00 P, Epson MX-70 interface, CMC, $129.00 P, PIE-C, LemData, $119.95

Alternate Processors P, Z-RAM, Comp. Mark., ? 64, Z-80 Video Pak, Data 20, $299.95 Multi-user Systems P, Superbus 4.0, Cyberia P, Arbiter 1.4, Batt. Incl., $150.00 P, MUPET, CMD, $550.00 P, MUPET H, CMD, $995.00 P, Diskshare, Questar, $749.00 V,64, Interpod, Comp. Workshops,

$ 200.00 Other V,64, Auto Clock, Micro World, $129.95 64, Ten Key Pad, Qual. Comp., $69.95 96

MICRO

Serial Interfaces V,64, Serial printer interface, Data 20, $69.95 P, Portm aker, C G RS/M icrotech, $69.95 P, RS-232 serial adaptor, CMC, $149.00 IEEE and Multiple Interfaces V, V-Link|avail. with RAM), Richvale, $149.00 64, C64-Link, Comp. Mark., $169.00 V, VIE, Micro-Systems, $99.95 64, CIE, Micro-Systems, $99.95 P, SADI communications adaptor, CMC, $295.00 RAM Expansions and Expander Boards V, Expand-O-RAM , M icroW are, $119.00 V, 16K RAM/ROM board, World Elec., $24.95 up V, 4-slot expander board, BAZ, $44.00 64, 7-slot expander board, BAZ, $69.00 V, 8K, Century Micro, $47.70 V, 16K, Century Micro, $69.90 V, Cardboard-3, Cardco, $39.95 V, Cardboard-6, Cardco, $99.95 V, 24K Golden RAM Expansion Chassis, Voice World, $149.24 V, DataSpan (5-slot expansion), Dig. Interf. Sys., $84.95 V, 16K, Data 20, $79.95 No. 63 - August 1983

V, 4-slot chassis, Data 20, $49.95 V,64, Soft-A ware Box, Soft-Aware, $149.00 Speech Synthesizers V, V o ice S y n th e siz e r, $79.00

P ro te cto ,

Printers (specially for VIC] V, A lphacom V P42 Printer Alphacom, $209.95

Set,

D isk Drive P, P E D IS K (IB M c o m p a t ib le ) , CGRS/Microtech, $595.00 up

Software Term inal Software and Hardware P, T h e C om m u nicator, Am plify, $200.00 V,64, SuperTerm, Midwest, $99.95 V, Term inal-40, Midwest, $29.95 64, '64 Terminal, Midwest, $29.95 V ,6 4 , 3 0 0 baud M o d e m / T e rm . Emulator, BAZ, $89.00 P ,6 4 , S ta n d a rd T e r m . C o m m . Package, Eastern House, $129.95 P, C o m p a ck , C G R S / M ic ro te c h , $129.95 Languages 6 4 , C 6 4 -F O R T H , P e rfo rm a n c e , $99.95 P, FORTH for PET, AB Computers, $50.00 V, VIC FORTH, HES, $59.95 P, fu llF O R T H , C G R S/ M icro tech , $75.00 P ,6 4 , K M M M P a s c a l, W ilse rv , $85.00 V ,64, Tiny FORTH, Abacus, $19.95 V, Tiny Pilot, Abacus, $17.95 P, Tiny Pascal Plus, Abacus, $39.95 P,64, COMAL, Instrutek, $495.00 Development Software Monitors 64, 64M ON, Commodore, $45.00 V, VICMON, Commodore, $45.00 64,V, HESMON, HES, $39.95 Assembler Packages P,64, MAE, Eastern House, $99.95 P, EARL for PET, AB Computers, $65.00 V,64, Assembly/Devel. Syst & Book, Abacus, $29.95 P,64, PAL, Pro-Line, $99.95 Sprite Editors (64 only) Spryte Byter, FoxSoft, $34.95 S p r ite S h a p e r/ re g u la r, Q u a lity , $19.95 S p r ite S h a p e r/ d e lu x e , Q u a lity , $24.95 Spritewriter, Pixell, $29.95 Sprite Designer, Academy, $16.95 Sprite-Aid, Abacus, $14.95 Spritemaster, Access, $34.95 N o. 6 3 - A u g u s t 1 9 8 3

Graphics 64, S c re e n -G ra p h ics-6 4 , A bacus, $24.95 V, Game Prog. Dev. System, French Silk, $49.95 V, SuperExpander Cartridge, Com ­ modore, $70.00 P, PICCHIP, Skyles, $75.00 P, Supergraphics, AB Com puters, $40.00 P, VIGIL, Abacus, $35.00 V, HESPLOT, HES, $17.95 Sound Editors & Composers 64, Sound Shaper/regular, Quality, $9.95 64, Sound Shaper/deluxe, Quality, $14.95 64, T h e Staff, P ro f.M icro .S e rv ., $22.95 V, T h e S ta ff, P r o f.M ic r o .S e r v ., $17.95 64, Synthy-64, Abacus, $29.95 Programming U tilities P, POWER, Professional, $89.00 64, POWER64, Pro-Line, $99.95 V,64, VicTree, Skyles, $89.95 64, P T D -6 5 1 0 D ebugger, P te ro ­ dactyl, $65.10 64, D isKit 64, Pterodactyl, $75.00 P, SYSRES, Solidus, $75.00 P, SM-KIT, AB Computers, $40.00 P, Programmer's Toolkit PAICS, $40.00 P , S u b s o rt, A B ,E a s te r n H o u se, $35.00 P,64, T he Tool, CMD, $65.00 P,64, Master, CMD, $65.00 BASIC Compilers 64,P, PETSpeed, Small Syst. Eng., $150.00 P, Integer BASIC Compiler, Small Syst. Eng., $150.00 P, Tiny BASIC Compiler, Abacus, $19.95 P, D TL BASIC Compiler, CMD, $350.00 Word Processors V, Word Wizard, MicroWare, $34.95 64, Script 64, Comp. Mark., $99.95 64, Quick Brown Fox, Quick Bm. Fox, $65.00 V, Wordwiz, World Elec., $14.95 64, V, The Editor, Powerbyte, $34.95 V, TO TL T ext 2.0, TO TL, $25.00 V, TO TL T ext 2.5, TO TL, $35.00 64, TO TL T ext 2.6, TO TL, $40.00 64, Busiwriter 64, Skyles, $99.00 P, Superscript, Precision P,64, Paper Clip, Batt. Incl., $125.00 P(80), WordPro 4, Professional P(40), WordPro 3, Professional 64, WordPro 3/64, Professional, $89.95 V, Un-word Processor, M idw est, $19.95 V, VIC-Nic, Type Thrift, $19.50 M IC R O

V, Rapidwriter, HD Mfg., $39.95 P(80|, Wordcraft Ultra, Comp. Mark. 8096, Silicon Office, Comp. Mark. P, Copywriter, IDPC, $159.00 V, Wordcraft 20, United Microware 64, EasyWriter, Commodore P,V ,64, PaperMate, AB, $40.00 Spelling/Dictionary Programs P,64, Spellmaster, Spellmaster, $89.00 P(80], SpellPro, Pro-Line, $179.95 Mailing List V ,64, Mailing List, Micro Spec, $99.95 V, Mailing List, World Elec., $14.95 64, The Mailer, Susie, $38.00 V,64, TO TL Label, TO TL, $20.00 Spreadsheets 64, Calc Result, Comp. Mark. V, BusiCalc, Skyles, $49.00 64, BusiCalc, Skyles, $69.00 P(40), BusiCalc, Skyles, $79.00 P(80J, BusiCalc, Skyles, $89.00 V, PractiCalc, Comp. Softw., $39.95 P, VisiCalc, VisiCorp V, Vl-Calc, United Microw. P, V e rs a c a lc (V isiC a lc add-on), Anthro-Digital, $125.00 Data Base Managers P, finsam, Jini Micro, $150.00 up P, FlexFile, AB, $110.00 V, VI-Data, United Microw. 64, C64 File, RAK, $9.95 P, The Manager, CMD, $250.00 V,64, Data Base Manager, Micro Spec 64, The Manager, Commodore, $49.95 8096, Silicon Office, Comp. Mark., $999.00 P(80), ASERT, CFI, $450.00 P, InfoPro, Professional P, KRAM, Comp. Factory, $100.00 P(80), The Wiz, Tamarack, $495.00

Commodore Addresses AB Computers 252 Bethlehem Pike Colmar, PA 18915 Abacus Software P.O . Box 7211 Grand Rapids, M l 49510 Academy Software P.O. Box 9403 San Raphael, CA 94912 Access Software Inc. 925 East 900 South St. Salt Lake City, U T 84105 Alphacom 2323 South Bascom Av. Campbell, CA 95008

(Continued on next page) 97

C o m m o d o re A d d r e s s e s

(continued) Arbutus Total Soft, Inc. 4202 Meridian, Suite 214 Bellingham, WA 98226 Batteries Included 71 M cCaul Street Toronto, Ontario Canada M 5T 2X1 BAZ Electronics P.O . Box 4895 Federal Way, WA 98003 Cardco, Inc. 313 M athewson W ichita, KS 67214 Century M icro 7881 La Riera Drive St. 131 Sacramento, CA 95826 CFI Computer Solutions 875 West End Avenue New York, NY 10025 CGRS/M icrotech P.O. Box 102 Langhorne, PA 19047

Canadian M icro Distributors 500 Steeles Avenue M ilton, Ontario Canada L9T 3P7 Connecticut m icrocom puter, Inc. Instrum ent Division 36 Del Mar Drive Brookfield, CT 06804 Commodore Business M achines 1200 W ilson Drive West Chester, PA 19380 Computer Factory 483 Lexington Avenue New York, NY 10017 Computer M arketing Services, 300 W. M arlton Pike Cherry Hill, NJ 08002 Computer Software Associates M icro Software International 50 Teed Drive Randolph, MA 02368 Computer Workshops 465 Kings Street E., U nit #9 Toronto Canada M5A 1L6

Cyberia, Inc. 2330 Lincoln Way Ames, IA 50010

Instrutek Christiansholmsgade DK-8700 Horsens Denmark

Data 20 Corporation 23011 M oulton Parkway Ste. B10 Laguna Hills, CA 92653

Integrated Controls 1240-L Logan Av. Costa Mesa, CA 92626

DataCap 73 rue du Village 4545 Feneur Belgium 62558

Jini M icro Systems P.O. Box 274 Riverdale, NY 10463

Digital Interface Systems Rainbow Computer Corp. 490 Lancaster Av. Frazer, PA 19355

LemData Products P.O. Box 1080 Columbia, MD 21044 M icro Spec 2905 Ports O 'C all Court Plano, TX 75075

Eastern House 3239 Linda Drive W inston-Salem, NC 27106

M icro-Systems 11105 Shady Trail 103 Dallas, T X 75229

Execom Corporation 1901 Polaris Avenue Racine, WI 53404

M icroWare Distributing Inc. 1342 B Route 23 Butler, NJ 07405

FoxSoft P.O. Box 507 Deer Park, T X 77536 Human Engineered Software 71 Park Lane Brisbane, CA 94005

Color Computer

M icro World Electronix 3333 South Wadsworth Bd. C105 Lakewood, CO 80227

(continued on page 112)

Hardware and Software Modem Hayes Smart Modem II, Computer Plus, $235.00 Hayes Smart Modem 1200, Computer Plus, $565.00 Disk Drive SS DD drive w/ Controller, DataComp, $499.95 DS DD drive w/ Controller, DataComp, $599.95 40 Track drive w/ Controller, Cer Comp, $449.95 80 Track drive w/ Controller, Cer Comp, $549.95 Hardware Cartridge SP-1 Speech Synthesizer, Alford & Associates, $179.95 TC -8C High Speed Tape interface, fPC Products Inc., $129.95 Supports 2 tapes Expansion Interface, General Automa­ tion, Parallel port w/buffered ex­ pansion bus, $199.95 BT-1000 Expansion Interface, Basic Technology, $270.00

98

MICRO

No. 63 - August 1983

A c c e s s o rie s

Light pens, voice, graphics, etc. LCA-47 Lower case adapter Micro Technical Products, $75.00 F-MATE(RS), Data-Comp, Conversion for RS disk controller to FLEX, $79.95 Super-Pro Keyboard, Mark Data Prod­ ucts, $69.95 Wico Control foystick, The Program Store, $29.95 Wico Analog foystick, The Program Store, $49.95 Wico Control Trackball, The Program Store, $69.96 Atari foystick Interface, M icro-Div., $19.95 Flatbed Plotter/Printer, Radio Shack, $995.00 Color Graphics Printer, Radio Shack, $249.95 Graphics Input Tablet, Radio Shack, $349.95 Digitizer, Radio Shack, $449.00 M u lti-P en P lo tter, Radio Shack, $1995.00 Custom printers and interfaces Parallel Printer Interface, Botek In­ struments, $69.00 Operating System FLEX9, Data-Comp, includes editor & assembler, $150.00 FH L C o lo r F le x , F ra n k H ogg Laboratory, $99.00 Star DOS, Star-Kits, $49.95 M/L Debugger Super Sleuth Disassembler, Computer Systems Consultants, $99.00 Humbug, Star-Kits, TAPE or DISK $39.95 ROM $69.95 TSC Debug Package, Frank Hogg Laboratory, $75.00 M/L Monitor Color M onitor, Computerware, TAPE, $24.95, DISK, $29.95 Color Monitor, Tom M ix Software, $24.95 Bugout, Applied Microsystems, Inc., $16.95 Editor ED, Frank Hogg Laboratory, $50.00 Assembler fBUG Assembler/Debugger, fPC Prod­ ucts Co., EPROM, $34.95 TAPE, $ 2 9 .9 5 ED/ASM, Frank Hogg Laboratory, $100.00 68000 Cross Assembler, Frank Hogg Laboratory, $250.00

HELLO CENTRAL! The single most important telecommunications program available today ...

‘‘The most satisfying feature of HELLO CENTRAL! is its user-friendliness. . . offers som e features that have been longed for in a term inal program. . .HELLO CENTRAL! is a great term inal program. . .consider this one.” —SOFTALK (December, 1982) “The manual is relatively easy to read. . .M ost directions, choices, and com m ands are either easy to rem em ber or are displayed on the s c re e n .. .In my opinion, the best fe a tu re .. .is the text editor. It allows you to write, insert, delete, and copy blocks of text in a very e ffic ien t manner. . .can receive and store text files w ritten in In te g e r.. .Applesoft® BASIC and in Binary Code. . .” —DESKTOP COMPUTING (December, 1982) Here are a few of the features standard w ith HELLO CENTRAL! • • • • • • • • • •

18,000 ch a ra cte r b u ffe r to sto re an u n lim ite d num ber o f lines, regardless o f le n g th No need fo r 80-colum n hardware, because in te rn a l w o rdw rap e lim in a te s s p lit w ords A u to d ia l/a n sw e r and take-a-m essage A cce p ts any ASCII file Upper and lo w e r case in p u t and o u tp u t M u ltip le use r-d e fin ed d ire c to rie s P ow erful te x t e d ito r lets you m o d ify in co m in g and o u tg o in g in fo rm a tio n N ot co p y-p ro te cte d , a llo w in g fo r easy back-up C o m p le te ly m enu-driven Program up d ate s (when available) via m odem

Ask for No. 2 6 0 8 1

......

only $9 9 . 0 0

Only H ELLO CENTRAL! has all of these features for $99.00! Call 800-428-3696 or 317-298-5566 and ask for Operator 402. Available for Apple II® series computers, including the new lie®. Apple II, ll-PLUS, lie, and Applesoft are registered trademarks, of Apple Computer, Inc.

SAMS BOOKS & SOFTWARE HOWARD W. SAMS & CO., INC. 4300 West 62nd Street P.O. Box 7092 Indianapolis, IN 46206

(continued on page 102) No. 63 - August 1983

MICRO

99

computer mail order SaGLE

P R IN T E R S E P S O N MX0O . M X 6 0 FT. M X 1 0 0 ........... C A L L R X 8 0 .................................................. C A L L FX0O. F X tO O ..........................

CAL'L

N C C 3 H B O P R I N T K R ... * 1 7 9 9

□ K IO A T A 9 2 . 9 3 . 84 ..........................................C A L L 9 2 . 9 3 ..............................................

P E R C O M /T A N O O M

CALL

O R IV E

S T A R

S'/4 3 2 0 K F lo p p y .................... $ 2 7 9 .0 0

G e m in i 1 0 X .................... .........9 2 9 9 .0 0

10 M ag H ard

G e m in i I S ....................................9 4 7 9 .0 0 S M IT H

31 OA A m b e r M o n ito r

C O R O N A

TP-1

$ 4 9 9 00

TP 2 ...................................

CALL

T ra c to r F e e d ........................... $ 1 2 9 .0 0 C .IT O H

ME 1

S I 3 6 9 00

IIE -2 ...................................

HE-3 .........................................$ 2 3 9 9 00

P ro w rite r 1 5 S 0P S ta rw n te r F 1 0 -4 0 P P rin tm a s te r F 1 0 -5 5 P . . .

P C - E .......................................$ 1 5 7 9 00

$ 6 8 9 00

P C -1.......................................... $ 2 3 9 9 0 0 P C -2 .......................................... $ 2 7 9 9 0 0

$ 1 5 9 9 00

PC-XL

.....................................$ 3 5 9 9 0 0

T ra c to r F e e d ......................... .$ 1 0 9 .0 0 O A I8 V W R IT E R 2 0 0 0 L e tte r Q u a lity 2 S 00

$ 1 1 4 9 .0 0

"N E W "

C ALL

16 20

.......................................$ 3 5 9 9 00

16 30

$ 5 4 9 9 00

16 4 0 ........................................ $ 6 4 9 9 00

.C A L L

M ega P l u s .......................................C A L L I/O P lu s .............................................. C ALL P R O F E S S IO N A L

630

M O N IT O R S

AMOEK

* 1 7 6 9 .0 0 108

30 0 G

C a ll to r A L L C o n fig u ra tio n s on

PC Plus W o rd P ro c e s s in g

__ $31 9 .0 0

............................. ... $ 2 9 9 .0 0

N E C 8 0 2 3 ...............................................$ 3 9 9 0 0 7 7 1 0 /7 7 3 0 ............................. $ 2 1 4 9

00

* 1 5 4 9 .0 0

CAILIS ACONNECTIONS ..9 2 9 .0 0

A ta ri T o S e r ia l...................... . 9 2 9 . 0 0 A p p le to P a r a lle l.................. .9 6 9 .0 0 A p p le o t P a ra lle l/G ra p h ic s . . 9 9 9 . 0 0 A p p le lo S e r i a l ...................... . .9 6 9 .0 0 IB M lo P a ra lle l .................... . .9 3 9 .0 0 IB M to S e r i a l ........................ .9 2 9 .0 0

$169 00

I $279 00 Ip lu s $299 00 C o lo r II $ 3 9 9 .0 0 C o lo r III............................. $349 00 C o lo r IV.................................... $ 9 9 9 0 0 USI C o lo r

Pi 1 . 9

G ................................... $ 9 9 00

Pi 2. 12

C ..................................$1 19 0 0

Pi 3. 12

A ................................. $ 1 5 9 .0 0

Pi 4 . 9

A ..................................$ 1 3 9 .0 0

1400 C o lo r '

□ -B a se I I ...................................$ 4 4 9 0 0 IU B

Sm an

$2 19 00

S m art 1 20 0 112 0 0 Baud)

$51 9 0 0

C h ro n o g ra p n

$ 1 9 9 00 $ 3 09 00

M ic ro m o d e m 100

S m a rt C om II S m a n 1 2 00 B

$299 00 $ 9 9 00 $ 4 6 9 00

J-Cat

$ 1 1 9 00

Cat

$ 14 4 00

O-Cai

$ 1 5 9 00 $ 1 8 9 00

00 00

$279 00

E a s y F ile r ...................................$ 1 2 9

00

A p p le C at 11 103 21 2 S m a rt C at 21 2 A p p le C at II

$609 00

A p p le C at 11212 U p g ra d e

$ 3 0 9 00

C O N T IN E N T A L S O F T W A R E 1 s tC ta s s M a ii/F o rm L e tte r

S Y N A P S E F it* M a n a g e r ............................$ i 19

($ 2 9 9 .0 0

M ark I (RS-232) M ark III (T

I. 99)

$ 7 9 00

M ark IV (C B M PETI

$109 00 $ 1 2 5 00 $ 9 5 00

ZVM 1 2 1 ......................................... $ 9 5 .0 0

M ark VI (IBM -PC )

$1 79 0 0

ZT1 T e r m in a l.................. ....... $ 3 8 9 .0 0

M a rk V lt(A u to A n s Auto 01811

G ra p p le r P l u s ......................

9191 1 3 " C o l o r .......................$ 2 9 9 0 0

.. . $ 8 5 .0 0

PKASQ ..................................... $ 1 3 9 .0 0

TAXAN

A ta ri to M o d e m C a b le ....... ... 9 2 9 . 0 0

12 N G re e n ............... ............... 9 1 2 9 .0 0

C B M 6 4 to IE E E B o a r d .. . . ... 9 7 9 . 0 0 A p p le 8 0 C o lu m n C ard . . . . .9 1 9 9 .0 0

12 A A m b e r ............. .

F ile R e p o rt G rap h

APPLE

IS M

9 8 9 .0 0

$ 9 9 .0 0

9 8 9 .0 0

$ 8 9 .0 0

9 6 9 .0 0

$ 9 9 .0 0 $ 9 9 -0 0

W rite

h /a

CT 1 6 0 O ual M o d e C o lo r ..9 2 9 9 . 0 0

NEC

M E M O R Y M P C 8u b d ish (1 2 8 K N o n V o lita re )

FOR AP PLE. IB M A F R A N K LIN

A p p le /F ra n k lin 1 28K Ram

$ 2 9 9 .0 0

A p p le , f r a n k lin Ram Oisk

$7 29 00

IN F O C O M 0eedllne(AP.,IBM.AT.4C-64) ... 939.00 S ta r C r o s s ................... .............9 2 9 .0 0 Zorfc I, II o r 111........................... 9 2 9 .0 0

A p p le P a n ic

D a v id 's M a g ic ...........................$ 2 7 .0 0

$9 00

S ta r B la z e r................. . ............$ 2 5 .0 0

9 V o lt P o w er S u p p ly

B R O O E R B U N O

V js ip lo t ......................................... $ 1 5 9 .0 0

JC 1 2 1 2 ........................................9 2 9 9 .0 0

V is ita rm ....... ...................................$ 8 9 .0 0

JC 1 2 - 2 0 2 .................................... $ 2 9 9 .0 0

V is itr e n d /P lo t............................9 2 2 9 .0 0

JC 1 2 0 3 ........................................$ 5 4 9 .0 0

V ia iS c h e d u le .............................. $ 2 2 9 .0 0

aoniLLA

D e s k to p P la n .............................. $ 1 8 9 .0 0

G r e e n ......................................$ 8 9 .0 0

............................ $ 2 3 .0 0

A rc a d e M a c h in e .. ..................$ 3 4 .0 0 C h o p litte r .................................... $ 2 7 .0 0

0% ” BlnfcW M Papef{TiacLFeed)..919.99 8 V a"B ln k E n v fT r a d . F e e d )___9 1 4 .9 9

S e r p e n t in e ........................ .........$ 2 7 .0 0 S IR IU S B e n d its .....................................$ 2 8 .0 0 B e e r Run . . . . ............................ $ 2 4 .0 0 Free F a l l .......................................$ 2 4 .0 0 S n e a k e r s .....................................$ 2 4 .0 0 S n e ke B yte ............................... $ 2 4 .0 0

V i s i l i l t ........................................... 9 1 8 9 .0 0

J B 1 2 0 1 ........................................$ 1 4 9 0 0

.$ 6 4 9 .0 0

A X LO N

$ 9 9 00

1S " R eport Paper (T ra c t F e e d )... 92 4.99

V i s i t i e x .......................................$ 1 8 9 0 0

J f l 1 2 8 0 ........................................$ 1 1 9 0 0

12

R A N A E lite I ( A p p ie /F r e n k lin ) ____ $ 2 7 9 .0 0

$9 9 00 M arti V III (1 2 0 0 B a u d ) ....... $ 2 8 9 .0 0

READY FO RM S V I8 IC O R P

.................$ 8 9 .0 0

E lite II ( A p p le /F r a n k lin ) ...............C A L L E lite III ( A p p le /F r a n k lin ) . . ....... CALU

1 " o r 2 " A d d n * La6Mt

*2 6 9 00

S p e ll M a s te r

*1 4 9 00

E aM em F ro n t .................. $ 3 9 .0 0 Q lX ......................................................* 3 3 .0 0

S O F T W A R E W ord Pro 2 Plus

S1 59 00

Z Ram

*5 4 9 00

S u p e rm a n l l ................................... * 3 9 .0 0

M o o n S h u t tle ................................* 2 5 .0 0 B a s ic C o m p ile r ............................ * 5 4 .0 0

W ord Pro 3 Plus

S 199 00

S 'lic o n O ftic e

* 7 4 9 QO

S ta r T r u * ...........................................* 3 3 .0 0

T e le - ta lk .......................................* 3 4 .0 0

W ord P ro 4 Plu s

* 2 9 9 .0 0

T he M a n a g e r S o ft Rom

* 2 0 9 00

A s t e r o id s .........................................* 2 9 .0 0

CSS

W ord P ro 5 Plus

* 2 9 9 00

In fo P ro . A d m in is tra to r

S 199 00

J in s a m

$ 3 79 00

AOA 14 5 0 (S erial) AOA 16 0 0 (P a ra lle l!

*8 9 00

S79 0 0

*1 2 9 00

B a s fc e tb e ll....................................... * 2 9 .0 0

K -razy S h o o t O u t ........................* 2 9 0 0

CALL

C o m p u te r C h e * * ..........................* 2 9 .0 0

K - r a iy K n t t e r s ............................... * 2 9 .0 0

* 9 9 00

J u g g le s H o u s e ..............................* 2 3 .0 0

K -ra iy A n tic s

M y F irs t A lp h a b e t ........................ * 2 9 .0 0

K-star P a tr o l................

* 2 9 .0 0

S tic k S t a n d .................................

* 3 99

C .M .O . T O P C B M

A P P L E /F R A N K L IN 1. C h o p h fte r.

*2 7 00

1 W o rd Pro 6 4 ...................... . . * 6 9 . 9 5

I

*2 4 00

2 K ic k m a n (2 0 /6 4 ) .............

2. Z a x x o n .................................

* 8 9 00

3. G o rf ( 2 0 / 6 4 } ...................... . . * 1 4 . 9 5

S T 79 00

4 M ic ro s p e c D ata B ase 6 4 . . . * 6 9 . 0 0

* 4 5 00

5 L o g o 6 4 ................................ . . * 3 9 0 0

6 A rc a d e M a c h in e

S34 00

*2 4 00

*2 8 00

6. M ic ro s p e c G en. L e dg er 64 . * 7 9 .0 0 7. Z o r k ....................................... - * 2 4 .9 $

6 P r e p p ia ................................

7 B a n d its

7 D onkey K o n g J r

*3 9 00

8 V is ib le

S I 8 9 .0 0

8 F ro g g e r ( 6 4 | ......................

8. C a n y o n C lim b e r

.*1 4 .9 5

* 2 3 .0 0 . .*4 9 00

* 3 5 00

10 . S h a m u s ............................ . . * 2 9 . 0 0

1I

*2 4 00

\

D e a d lin e ............................

* 3 5 .0 0

II

12 PFS R e p o rt

S89 00

12. A s s e m b le r 6 4 .................

* 1 4 .9 5

13 Z o rk III 14. F ro g g e r

* 2 9 .0 0 * 3 I 00

15 L a i Pak

S31 0 0

15 P r o t e c t o r .......................... . . * 3 2 0 0

16 G a la c lic A lta c k

*2 4 00

* 2 9 .0 0 * 1 4 95

..*11 00

..

10. T ea t W iz a r d ...................

.* 3 4 .0 0 *3 4 00

12. E a s te rn F ro n t

*3 9 00

13- Z o rk I ................................. . . * 1 9 . 0 0

13 S h a m u s ............................

*3 4 00

14. R a d a rR a t R a c e ( 2 0 /6 4 ) .

14 . L e tte r P e rfe c t

I 7 S n o o p e r T roop s ■ 1

*2 4 00

18. K in d e rc o m p

*2 1 0 0

18 G rave R o b b e r .................

19 W avy N avy

*2 1 0 0

*12.00

P ic n ic P a ra n o ia

* 1 7 .0 0 *3 4 00

...........

16. S ta r c ro s s .......................... 17 E asy M a il 6 4 ...................

20 V is ile r m ..................................S 8 9 0 0 21. M is s io n A s t e r o id ................ * 1 6 .0 0

.............

9. S n o o p e r T ro o p s « 2

10 D e a d lio e

1

D o n k e y K o n g .................... . 9 3 9 0 0

* 2 9 .0 0 3 E .T. P h o n e H o m e ........... . * 3 9 .0 0 4. M in e r 2 0 4 9 e r ............. . * 3 5 .0 0 5 D ig O u g ................................ * 3 3 .0 0

.

*1 0 9 00

F ile M a n a g e r 8 0 0

*6 9 00

16. C h o p l i f t e r ....................

*2 7 00

t5

1 7. A s tro C h a s e .................

*2 5 00

18. K-razy S h o o t O u t .

* 2 9 .0 0

19 W a ll S t r e e t ...................... . . * 1 9 . 0 0

19. Pac M a n ..................

*3 3 00

2 0 T rash M a n ........................

2 0 B a ja B u g g ie s

*2 5 00

* 3 2 .0 0

*2 4 0 0

2 1 . H ES W r i t e r ...................... . . * 3 5 . 0 0

21 . C rush. C ru m ble • C hom p.

22. L u n a r L e e p e r ........................* 2 7 .0 0

2 2 . H E S M o n .......................... . . * 2 9 . 0 0

22 H e ll F ire W a r r io r ...........

23. F a c e m a k e r ........................... * 2 8 .0 0

23. R oad T o e d ...................... . . * 2 4 . 0 0

23

24. C ro s s fire ............................... * 2 7 .0 0

24. Easy S c r ip t...................... . . * 7 9 . 0 0

24 V i s i c a l c .............................. * 1 5 9 0 0

.................... . . * 2 9 . 0 0

*7 9 00

25. P o ol 1 . 5 .................................* 2 7 .0 0

29. G r id ru n n e r

M E M O R Y A x lo n 3 2 K R a m ......................

* 6 5 .0 0

A x io n 4 8 K R a m ....................

* 1 0 9 .0 0

A x lo n 12 8K R a m ..................

* 2 9 9 .0 0

Z o rk II

............................

25 A ta ri W r ite r ......................

l * 1 9 .0 0

*2 9 00

26 T h re e L itt le Pig s

* 9 9 .0 0

28 S ta rb o w l F o o tb a ll

*1 6 00 * 2 4 95 *2 6 00

D re lb s

30 P ro te c to r

*3 4 00

31

F ro g g e r

*3 1 00

32 J a w b re a k e r

*2 7 00 *3 4 00

33 W iz a td o f W or

*21 00

K in d e rc o m p

35 . M o o n S h u ttle

* 1 4 9 .0 0

*2 5 00

. .

29

36

* 7 4 .0 0

In te c 6 4 K B o a r d ...................

27 . U pp er R e a c h e s o l Apshai

34

* 1 1 9 .0 0

A p p le V o ic e B o x ................... * 1 4 9 0 0

In te c 32 K B o a r d ....................

8 4

9. Q u ic k B ro w n F o x (2 0 /6 4 )

A L IE N A ta ri V o ic e B o x ..................

In te c 6 4 K B o ard ( 4 0 0 on ly]

3 PFS F ile .

S 2J00

.......................... * 2 9 .0 0

1 OO

2 B e er R uo.

Free F a il

* 3 4 .0 0 * 3 4 .0 0 * 2 4 .0 0

9060

*7 9 00

9 A p p le P a nic

.

F ace M ake r

. * 6 9 .0 0

6 S lo t E xpans ln te rta c e (2 0 |

5. H o m e A c c o u n ta n t

S n o o p e r T roop s a 2

D a ie a to n e s * R y n .................

* 3 2 00

4 V is ic a lc

S P IN N A K E R S n o o p e r T ro o p s * 1 .............

*2 9 00

3 S lo tE ip a n s In te r la c e (20)

Pow er

Le tt e r Pe rfe ct BO Coi. ROM .. . 9 1 7 9 .0 0

. .

J O Y S T IC K S W ic o J o y s t ic k ......................

* 2 4 .9 5

F a m o u s R ed B a l l ...................

* 2 6 .9 5

A p p le T ra c k b a ll ....................

*5 9 00 * 5 5 .0 0

A ta ri/V IC T ra c k b a ll A p p le A d a p to r ....................

.* 1 6 .0 0

K ra ft A p p le J o y s t ic k .........

* 4 4 .0 0

*2 5 00

7 4 7 S im u la to r ..

*1 6 50

37 T e m p le o f A p s h a i

*2 9 00

38 . S p e ll W ita r d

* > 4 00

39

N a u tilu s

* 2 6 .0 0

40

K r a z y A n tic s ................. . * 2 9 0 0

41 . So H P o r n ........................

. * 2 7 .0 0

4 2 . Q i * .....................................

*3 3 -0 0

A T 8 8 - S 1 .....................................* 3 6 9 .0 0

4 3 . W iz a rd 4 P h n c e s a ......... . . * 2 9 . 0 0

A T 8 8 - A 1 .....................................* 2 9 9 0 0

4 4 . C e n tip e d e ......................

OISK DR IVES FOR ATARI

..* 3 3 .0 0

A T 8 8 -S 2 .....................................* 5 6 9 0 0

4 5 . S trip P o k e r .................... . . * 2 4 . 9 5 46 . J u g g le a H o u s e ............. . . * 2 3 . 0 0

A T 8 8 -S 2 P D ............................. * 6 6 9 .0 0

4 7 . J u m p m a n ......................

A T 8 B -D D A ................................. * 1 3 9 00

..* 2 4 .0 0

4 8 . S l i m e ................................ . . * 2 6 . 0 0 49. G o r f...................................

..* 3 2 .0 0

5 0 . J u g g le s R a in b o w ......... . . * 2 3 . 0 0

ATB8-S1 PO

A T44-S1

.

* 4 1 9 .0 0

................................... * 5 7 9 .0 0

A T 4 4 - S 2 .....................................* 9 6 9 .0 0 T e xa s in s tr u m e n ts D riv e __ * 3 6 9 .0 0

c o m p u t e r mail o r d e r e a s t

8 0 0 -2 3 3 -8 9 5 0

In PA call [71 7 )3 2 7 -9 5 7 5 , Dept;. 81 5, 4 7 7 E. 3rd St., Williamsport;, PA 1 7701 i n t e r n a t i o n a l OROER8: All s h ip m e n ts o u ts id e th e C o n tin e n ta l U n ite d S ta te s m u st be p re -p a id by c e r tifie d c h e c k o n ly .In c lu d e 3 % (m in im u m S 3 .0 0 ) s h ip p in g an d h a n d lin g , e d u c a t i o n a l d i s c o u n t s : A d d itio n a l d is c o u n ts a r e a v a ila b le fro m b o th C o m p u te r M a il O rd e r lo c a tio n s to q u a lifie d E d u c a tio n a l In s titu tio n s , a p o & FPO: A d d m in im u m $ 5 . 0 0 s h ip p in g a n d h a n d lin g .

C o lo r C o m p u te r (continued)

CRASMB, Frank Hogg Laboratory, $139.95 (each m odule-6800,6801,6502,1802, Z-80,Z-8J, $25.00 OSM Macro Assembler Frank Hogg Laboratory, $125.00 ASM, Frank Hogg Laboratory, $50.00 MACE, Frank Hogg Laboratory, $98.00 Macro Assembler, Dugger's Growing Systems, $49.95 Editor/Assem bler/Debugger, Eigen Systems, (in BASIC), $6.95 C olor A ssem bler, C om puterw are, $29.95 M acro-80C, The Micro Works, $99.95 SDS80C, The M icro Works, ROM, $89.95 Co-Res9, Cer Comp, $29.95 RS ED/ASM, Cer Comp, $49.95 Ultra 80 CC, Applied M icrosystems, Inc., $42.50 Languages FORTH, Hoyt Steams Electronics, $58.95 M UM PS, E clectic Systems Corp., $800.00 D BA SIC, Frank Hogg Laboratory, $40.00 T R S - 8 0 C O L O R F O R T H , T a lb o t M icrosystems, ROM, $110.00 TSC BASIC, Frank Hogg Laboratory, $75.00 TSC extended BASIC Frank Hogg Laboratory, $100.00 TSC Pascal, Frank Hogg Laboratory, $200.00 T S C F o rtra n '7 7 , F ra n k Hogg Laboratory, $275.00 A/BASIC C om p iler, Frank Hogg Laboratory, $150.00 X -Forth, Frank Hogg Laboratory, $149.95 CC-Forth, Frank Hogg Laboratory, $99.95 PL/9, Frank Hogg Laboratory, $198.00 TR S D O S C, D ugger's Growing Systems, $49.95 Dynasoft Pascal, Computerware, TAPE $49.95, DISK, $59.95 Tiny Turtle (Logo|,SDS Computers, $39.95 C olor Logo, Radio Shack, ROM , $49.95, DISK, $99.00 Color Pilot, Radio Shack, TAPE, $59.95, DISK, $79.95 Spread Sheet D Y N A C A LC , C om p u ter Sy stem s Center, $200.00 Tabula Rasa Spreadsheet, Computer Systems Consultants, $100.00 Super Color Calc, Nelson Software Systems, ROM $89.95, DISK $99.95 Spectaculator, Radio Shack, $59.95 102

Word Processor Super Color Writer II, Micro Technical Products, Inc., ROM $74.95, DISK $99.95 Stylograph 2.0, Great Plains Computer Co., $195.00 CoCo Stylograph, Data-Comp, $195.00 Dynastar, Frank Hogg Laboratory, $149.95 Dynaform, Frank Hogg Laboratory, $149.95 Scribe Editor, D ugger's Growing Systems, $49.95 Telewriter-64, Cognitec, TAPE $49.95, DISK, $59.95 Color Editor, Computerware, $29.95 T ext Pro II, Cer Comp, $79.95 Wordmaster, Pyramid D istributors, TAPE, $9.95, DISK, $14.95 Color Disk Scripsit, Radio Shack, $59.95 Spelling Checker Spell 'N Fix, Star-Kits, $89.29 Spell Check, Great Plains Computer C o., $145.00 Dynaspell, Frank Hogg Laboratory, $199.95 Spell-Rite, Eigen Systems, $59.95 Data Base Data Base Manager, Universal Data Research, Inc., $150.00 Full Screen Inventory, Com puter Systems Consultants, $100.00 Infomag, Frank Hogg Laboratory, $250.00 RMS, Frank Hogg Laboratory, $200.00 D isk Data Handler, Custom Software Engineering, 32K, $44.95 64K, $54.95 DBLS, Star-Kits, $29.95 Pro-Color-File, Derringer Software, $59.95 Color Data Organizer, Computerware, TAPE, $19.95, DISK, $29.95 TIM S, Sugar Software, $24.95 Super Color Database, Nelson Software Systems, $79.95 H o m eb ase, H om ebase C om p u ter Systems, $75.00 Personafile, Radio Shack, $59.95 Mailing List M ail Merge, Great Plains Computer C o., $125.00 Full Screen Mailing List, Computer Systems Consultants, $100.00 M ailing List, Frank Hogg Laboratory, $99.00 Correspondence System, Frank Hogg Laboratory, $149.95 Super Color Mailer, Nelson Software System s, TAPE, $ 3 9 .9 5 , DISK, $59.95 All In One, Star-Kits, includes editor, $50.00 MICRO

Address F acto ry , C om p u terw are, TAPE, $17.95, DISK, $22.95 M ail List, Tom Mix Software, $17.95 Communications Package CoCo External Terminal Program, Data-Comp, $19.95 REMOTERM, Star-Kits, use C RT ter­ minal w/ CoCo, $19.95 Super Color Terminal, Nelson Software System s, TAPE, $ 3 9 .9 5 , ROM , $49.95, DISK, $69.95 Colorcom/E, Eigen Systems, $49.95 M icrotext, The Micro Works, ROM, $59.95 The Color Connection, Computerware, TAPE, $29.95 DISK, $39.95 Colorterm 1.1, M artin Consulting, $34.95 Color Term Plus, Double Density Soft­ ware, $29.95 Datapak, Cer Comp, TAPE, $24.95 DISK, $49.95 Business Package Check Ledger, Frank Hogg Laboratory, $195.00 General Accounts Receivable, Frank Hogg Laboratory, $149.00 A c c o u n ts P a y a b le , F ra n k Hogg Laboratory, $195.00 P ay ro ll P ro cessin g , Fran k Hogg Laboratory, $295.00 D isk Double Entry, Custom Software Engineering, $44.95 Accounts Payable &. Receivable, K & K Computorware, $59.95 Small Business Accounting Phg., Color Software Services, $149.95

Color Computer Addresses

M icro Technical Products, Inc. 123 N. Sirrine, Suite 106-J Mesa, AZ 85201 Data-Comp P.O. Box 794 Hixson, TN 37343 Great Plains Computer Co. P.O .Box 916 Idaho Falls, ID 83402 Universal Data Research, Inc. 2457 Wehrle Drive, D -l Buffalo, NY 14221 Hoyt Stearns Electronics 4131 E. Cannon Dr. Phoenix, AZ 85028 JPC Products Co. 12021 Paisano Ct. NE Albuquerque, NM 87112

(Continued on next page) No. 63 - August 1983

Texas Instruments TI 9 9 /4 A Hardware and Software There are no second-source Original Equipment Manufacturers of hardware for the T I 99/4A. All hardware available is produced by T exas Instruments. Assembler Editor/Assembler, Texas Instruments Languages Pascal Development System, Instruments TI Pilot, Texas Instruments Spread Sheet M ic r o s o f t M u ltip la n , Instruments

Texas

Texas

Word Processing TI Writer, Texas Instruments TI-Text Writer, Microcomputers Corp. Ty-priter, Extended Software Company Word Processing, Anthistle Systems &. Programming, Ltd. Word Processing, International 99/4 Users-Group, Inc. Futura Word P rocessing, Futura Software

Mailing List Mailing List, International 99/4 UsersGroup Inc. Tl-C ount Mail List, Texas Instruments M ail List, Yean Systems, Inc. Communications Package T e r m in a l E m u la to r II, Instruments

Texas

Texas Instruments Addresses

M icrocomputers Corporation 34 Maple Ave. Box 8 Armonk, NY 10504 Extended Software Company 11987 Cedarcreek Drive Cincinnati, OH 45240 Anthistle Systems & Programming, Ltd. 563 Patricia Drive Oakville, Ontario, Canada L6K 1M4

Texas Instruments P.O .Box 10508 Lubbock, T X 79408

Yean Systems, Inc. 4037 Johnson Drive Oceanside, CA 92056

International 99/4 Users-Group, Inc. P.O. Box 67 Bethany, OK 73008

Futura Software P.O. Box 5581 Fort Worth, TX 76108

iSMCRO

Custom Software Engineering, Inc 807 M inutem an Causeway |D-6) Cocoa Beach, FL 32931

The M icro Works P.O. Box 1110 Del Mar, CA 92014

The Program Store 4200 W isconsin Ave. NW Washington, DC 20016

Alford & Associates P.O .Box 6683 Richmond, VA 23230

Nelson Software Systems 9072 Lyndale Ave. S M inneapolis, MN 55420

SDS Computers P.O. Box 450 Bogota, NJ 07603

Applied M icrosystems, Inc. 612 Washington Denver, CO 80203

General Automation 9600 Roosevelt Blvd. Suite 100-LL Philadelphia, PA 19115

Dugger's Growing Systems P.O. Box 305 Solana Beach, CA 92075

M artin Consulting 94 M acalester Bay Winnipeg, Manitoba, Canada

Homebase Computer Systems P.O. Box 3448 Durham, NC 27702

Computer Systems Center 13461 Olive Blvd. Chesterfield, MO 63017

Basic Technology P.O. Box 511 Ortonville, MI 48462

Double D ensity Software 920 Baldwin St. Denton, T X 76201

Computer Plus 480 King Street Littleton, MA 04160

E clectic Systems Corp. 16260 Midway Rd. Addison, TX 75001

Botek Instruments 4949 Hampshire U tica, MI 48087

Sugar Software 2153 Leah Lane Reynoldsburg, OH 43068

M icro-Div. 450 W. Laskey Toledo, OH 43612

Computer Systems Consultants 1454 Latta Lane Conyers, GA 30207

Derringer Software P.O. Box 5300 Florence, SC 29501

K & K Computorware 37326 Gregory Drive Sterling Heights, MI 48077

Color Software Services Business Software Div. P.O. Box 1708, Dept. R Greenville, TX 75401

Star-Kits P.O .Box 209 M t. Kisco, NY 10549

Cognitec 704 Nob St. Del Mar, CA 92014

Cer Comp 5566 Ricochet Ave. Las Vegas, NV 89110

Frank Hogg Laboratory 770 James St. Suite 215 Syracuse, NY 13203

Eigen Systems P.O. Box 180006 Austin, T X 78718

Tom M ix Software 3424 College NE Grand Rapids, MI 49505

Talbot M icrosystems 1927 Curtis Ave. Redondo Beach, CA 90278

Computerware Box 668 Encinitas, CA 92024

Mark Data Products 24001 Alicia Pkwy., No. 226 M ission Viejo, CA 92691

C o lo r C o m p u te r A d d re s s e s

(continued)

No. 63 - August 1983

MICRO

Pyramid Distributors 527 H ill St. Santa Monica, CA 90405 Radio Shack 300 One Tandy Center Forth Worth, T X 76102

iSMCRO 103

he sixth and final part of MICRO'S series on using relative files on Commodore disk drives features the machine-language code that makes the mail list safe for new users and fast enough for large lists. Since so many MICRO readers have Commodore 64's now, and no other good mail lists have yet appeared for that model, the source listing this time is for the 64. However, the same source code should work on any other diskcompatible Commodore model. Simply tell the assembler which model you have. (Those without Eastern House Software's MAE assembler might have to make some changes, but all variables are in the listing.) Due to the size of the listing, I'll not say much at this time. However, three items need attention. First, a bug. If you've tried [and failed) to open a relative file on the 1541 using com­ mands in part two of this series (MICRO 56, page 53), you'll be glad to know that it isn't your fault. As printed, an ‘1e ll'' became a "o n e " and a comma was omitted. Here is the cor­ rect form. Be sure to jot it down, as I've not seen this published correctly anywhere before.

T

It’s All Relative Part 6 b y Jim

S tra sm a

1260 OPEN 1 ,UN,2,STR$(DD) + + F$ + “,L,” + CHR$(RL) If you are missing parts of this series (MICRO 55:37, 56:52, 57:33, 58:85, 60:61), you can order back issues from MICRO. If you have a Commodore 64 or a PET/CBM with BASIC 4.0, you can obtain a working copy of the pro­ gram, its source code, and instructions from the author at the address below. Please enclose $15.00 and mention the "m ail d isk.'' Specify 1541/4040 format or 8050/8250 format. Commodore 64 owners are especially urged to get the disk as the changes needed on the 64 were numerous and difficult. Some of you may never have used source code before. For the most part it's like a BASIC program; you type it in and it works. Unlike BASIC, however, there are two ways to type in source listings. First, if you have a good assembler, such as MAE, Commodore's, or PAL, type in all the information on each line, beginning with the line numbers halfway across the r age- ^ you do not have an assembler use the second method to type in a copy for the 64. Using a machine-language monitor, type the left part of each line up to, but not including, the line number.

The final article in a 6-part series on relative files for Commodore computers. Included is the source code for the machine-language part of a popular public-domain mail list.

104

MICRO

No. 63 • August 1983

Various users' groups have Microm on and Supermon for the 64. Both are excellent for this work and free except for copying charges. Instructions for using a simple monitor are in the PET P erso n a l C o m p u ter G u id e from Osborne/M cGraw-Hill and in the August/September issue of the M idnite /PAPER, both available from Com ­ modore dealers or the author. ROM U tility's source code includes four main options: an improved INPUT command, an INSERT/DELETE option for adding or deleting an element anywhere in an array, a PETSCII to ASCII converter for non-Commodore printers, and a [STOP] key disable routine that works even during pro­ gram loads. Bennett's original version for the PET/CBM included two other commands, but these were not used in the m ail list and have been omitted to save space. Each command uses a small trick to transfer its information from BASIC to machine language. Just as the cursor keeps track of where you are on the screen, a program pointer keeps track of where the next statement is in a BASIC program. Normally it would choke on non-BASIC inform ation following a SYS command. Bennett avoids this by having the machinelanguage program move the program pointer past added information before returning to BASIC. Thus, BASIC never sees the additions. The first command in the listing is INPUT. Its syntax is: SYS IN,n1 ,n2,$ where n l is a number defining options, n2 is the length of the input field (1-255], and $ is the string variable that is to be filled by the routine. The possible numbers for n l and their meanings are: 0 1 2 4

= = = =

Anything goes Numbers only . and + and - allowed Upper and lower-case alphabet allowed 8 = Force alphabet to upper case

16 = Space allowed 32 = Allow Y or N — make them upper case 64 = Disallow null field 256 = Change null to 0 512 = Change null to Y 1024 = Change null to N 2048 = Change null to space These may be combined. Thus, a value of 7 for n l means the following are No. 63 - A ugust 1983

allowed: Upper and lower-case letters, AND numbers, AND decimal points, and plus and minus signs. Before calling this routine, define the string variable and move it to upper memory as described in part 2 of this series. Once in the routine, entry is ended by pressing RETURN. SHIFTEDRETURN empties the field and starts over. The DELETE key works as usual but not the cursor controls. The second command is to INSERT or DELETE an array element. Its syn­ tax is: SYS DL,n1,n2,n3,v(0),w(0),zz where n l is 0 for insert and 1 for delete, n2 is the place of the element within the array, n3 is the total number of ar­ ray elements (plus 1 on insert), V(0) and W(0) are names of arrays, and ZZ ends the list of arrays to be handled. Two-dimensional arrays are not allowed, and the name ZZ must come last. The next three commands disable the STOP key. Use SYS DI to kill the STOP key but preserve the clock during a program. Then use SYS EL to keep it killed during a program load. When the program ends, use SYS EN to fix the STOP key again. The last command converts strings

from PETSCII to ASCII characters, usually so they can be printed on nonCommodore printers. Its syntax is: SYS SM,n1,$ where n l is a 1 when converting and 2 when the result is to be forced to upper case. may be any string variable. I would like to add a few words about using the assembler. First, this file is large. You will need to use the SET command within MAE to reserve a file buffer about twice the usual size, say from $1000 to $4FFC. Second, wherever possible I used Commodore's official labels for locations in ROM and low memory. Finally, ROM U tility may be burned into an EPROM; it doesn't need to change itself. In closing, let me thank you for your patience through this long series. We both know more about relative files than when we started last December, and an excellent Public Dom ain business program is now better understood. I hope you find its secrets useful in your own work.

You may contact Jim Strasma at 1238 Richland Ave., Lincoln, IL 62656.

ROM Utility for Bennett’s Mail List 0818

8820

UNIVERSAL ROM UTILITY VI.0 8838 BASED CM CHRIS BQINETT'S ORIGINAL 8848 AS OF HAY 38, 1983 JFS t BAA 0850 8068 0070 ;ASSEMBLER DIRECTIVES ;DO STORE OBJECT CODE 8090 0100 ;GET INFO FOR CONDITIONAL ASSEMBLY 0110 •PR "IMTER ROM 2=2001, 4-8032 i 4032, 6-C64, 8= 0120 ROM .IN ROM 0130 0148 ;ROM-DEPENDENT VARIABLES

01S0 0168 0110

IIP R0M-6 ?IP FOR VIC-20 OR CChMCCORE 64 0180 .DE $14 8198 VARTAB .DE $2D 0200 STOEND .DE $31 0210 VARNAM .DE $45 0220 VARPNT .DE $47 ;NEXT 16 LOCATIONS SWAPPED 0230 F0UR6 .DE $53 ;LENGTH OF STRING 0240 PLEN .DE $60 ?POINTER TO LINKBACK .DE $61 0250 FSTR 0260 STKEY .DE $91 0270 CHRIS .DE $92 .DE $0314 0280 CINV 0290 0300 IFE ROM-8 0310 8328 ;IF FOR VIC-20 (REQUIRES 24K ADDED RAM) 8330 START .DE $6C00 0340 CHKCOM .DE $CEFD ;CHECK C O W 8358 FRMEVL .DE $CD9E ;INP_EVAL .DE $D7F7 0360 GETADR >FLTJFIXED ;0frJ HARDWARE IRQ 8370 KEY .DE $EABF 8380 0398 8400 IFE ROM-6 8418 ;IP FOR COfMCOORE 64 0428 START .DE $C000 .DE $AEFD 8430 CHKCOM ;CHECK_C0MM ;INP__EVAL 8440 FRMEVL .DE $ADA4 .DE $B7F7 0458 GETADR ;FLT_FIXED ;ON HAREWARE IRQ 0460 KEY •DE $EA31 0470 0490 IfM ROM-5 0500 ;IF FOR CBM OR PET

MICRO

(continued) 105

R O M U t i li t y (co n tin u ed )

C500-

0510 0520 0530 0540 0550 0560 0570 0580 0590 0600 0610 0620 0630 0640 0650 0660 0670 0680 0690 0700 0710 0720 0730 0743 0750 0760 0770 0780 0790 0800 0810 0820 0830 0340 0850 0860 0870 0830 0890 0900 0910 0920 0930 0940 0950 0960 0970 0930 0990 1000 1010 1020 1030 1040 1050

START POKER BENNETT VARTAB STREND VARNAM VARPNT F0UR6 FLEN FSTR STKEY CHRIS CINV

.DE .DE .DE .DE .DE .DE .DE .DE .DE •DE .DE .DE .DE ***

C596C598C59AC59BC5AC-

$7B00 $11 $0F $2A $2E $42 $44 $50 $5D $5E $9B $8F $90

NEXT 16 LOCATIONS SWAPPED LENGTH OF STRING POINTER TO LINKBACK C000C003C006C009C00CC00F-

;IRQ VECTOR

IFE ROM-4 ;IF FOR CBM/PET BASIC 4.0 CHKCOM .DE $BEF5 FRMEVL .DE $BD98 GETADR .DE $C92D .DE SE455 KEY ***

14 04 23 30 3F 7D

C0 C2 C3 C3 C3 C3

C012- 31 EA

CHECK COMM INP EVAL FLT FIXED ON HAREWARE IRQ

IFE RCM-2 ;IF FOR CBM/PET BASIC 2.0 CHKCOM .DE $CDF8 FRMEVL .DE $CC9F GETADR .DE SD6D2 KEY .DE $E62E ***

4C 4C 4C 4C 4C 4C

CHECK COMM INP EVAL FLT~FIXED ON HAREWARE IRQ

;RELATIVE b RCM-INDEPENDENT VARIABLES .DI FOUR6+4 TEMPLF RCNT .DI RCNT+2 MCNT .DI MCNT+2 PNTl PNT2 .DI PNT1+2 .DI RCNT+8 LENGTH .DI FOUR6+4 ED ED2 .DI ED+1 .DI ED2+1 MX HIGHTR HADR .DI MX+1 TEMPF2 .DI FOUR6+9 LLENGTH DECCNT CURSOR .DI LLENGTH+1 .DI LLENGTH+2 TENEXP CLOCK SADR .DI LLDGTH+3 GRBTOP .DE START+$0500 ABS ABSOLUTE VARIABLES IGNORES STOP KEY & CLOCK HARD_INT .DI KEY+3 .DE $FFD2 BSOUT OUTPUT TO CHANNEL GET CHAR. FROM QEUE GETIN .DE $FFE4 INCREMENT CLOCK CLOCK UPDT .DE $FFEA .BA ABS ;ABSOLUTE VARIABLE STORAGE BUFFER .DS 150

C014C017C01AC01CC01EC020C022C025C027C029C02BC02E-

20 20 A5 85 A5 85 20 A5 85 D0 20 60

E7 0F 14 57 15 58 0F 14 59 04 F3

C02FC031C033C036C038C03AC03CC03EC041C043C045C048C049C04BC04DC04FC051C052C054C056C058-

C9 B0 20 A5 85 A5 85 20 A9 A0 99 88 10 A9 85 A5 18 69 85 A9 85

95 F8 0F C3 47 5A 48 5B 51 C3 20 94 00 C5 FA 00 5C 92 04 5E 2A 5D

C3 C3

C3

C3

1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 1180 1190 1200 1210 1220 1230 1240 1250 1260 1270 1280 1290 1300 1310 1320 1330 1340 1350 1360 1370 1380 1390 1400 1410 1420 1430 1440 1450 1460 1470 1480 1490 1500 1510 1520 1530 1540 1550 1560 1570 1580 1590

PCNT ECNT ZP 0F ZP 50 SWITCH

•DS .DS •DS •DS •DS

2 2 1 17 1

.BA START .MC $7B00 ;JUMP TABLE OF JMP JMP JMP JMP JMP JMP VEC_SAVE

DON'T OVERWRITE ASSEMBLER

COWANDS INPUT RTN INS DEL DISABLE ENABLE EN LOAD STRJKID

•SI KEY

Cf*> *149 BCS Al JSR INPUT LDA *VARPNT STA *HADR LDA *VARPNT+1 STA *HADR+1 JSR NULL STR LDA *32 LDY *148 STA BUFFER,Y DEY BPL Bl LDA *0 STA *LLENGTH LDA *CHRIS CLC ADC *4 STA *CL0CK LDA *’* STA ‘CURSOR

ISTART Bl

INPUT ROUTINE INSERT/DELETE ROUTIN DISABLE STOP KEY ROU ENABLE STOP KEY ROUT ENABLE LOAD ROUTINE STRING MODIFICATION

VECTOR INTERRUPT

;GENERAL PURPOSE INPUT ROUTINE INPUT_RTN JSR SAVE ZP JSR INPUT LDA *P0KER STA *ED LDA *P0KER+1 STA *ED2 JSR INPUT LDA *POKER STA *MX BNE A2 Al JSR REST ZP RTS A2

GOTO GOTO GOTO GOTO GOTO GOTO

READ EDIT LENGTH

GET STRING ADDRESS

BLANK OLTT BUFFER

SAVE TI

PUT OUT MX *'S

(co n tin u ed )

EVER WONDER H O W YOUR A PPLE I I WORKS? Q U I C K T R A C E will show you! And it can show you W H Y 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 F E A T U R E S :

S in g le -S te p mode disp lays the la st in struction , next instruction, registers, flag s, sta ck contents, and six user-definable memory lo cations. T r a c e mode gives a running d isp lay ot the SingleStep inform ation and can be made to stop upon encountering any of nine user-definable conditions. B a c k g ro u n d mode perm its tracing with no display u ntil it is desired. Debugged routines run at near norm al speed u ntil one ot the stopping co nd­ itions is met, which ca u se s the program to return to Single-Step. P r ic e s

$50

Q U IC K T R A C E allo w s changes to the stack, registers, stopping conditions, ad d resse s to be displayed, and output destination s tor a ll this inform ation. A ll this can be done in Single-Step mode while running. T w o o p tio n a l d la p la y fo rm a ts can sh o w a sequence ot operations at once. Usuelly , the inform ation is given in tour lin es at the bottom ot the screen. Q U IC K T R A C E is com pletely transparent to the program being traced. It.w ill not interfere with the sta ck, program, or I/O.

Q U IC K T R A C E La»t address

FF69“

content*

ST=7C

AA

LDA

Ai

32

D5

A ccu m ulato r

X reg.

Y reg.

ft=AA

X==9S

Y=25

j_. T_ Next Instruction

Q U IC K T R A C E is a b eautiful way to show the incredibly com plex sequence ot operations that a com puter goes through in executing a program

D E B U G G E R

D isassem bly

A9

#$AA

Top eeven bytes ot stack

Slack

Q U IC K T R A C E is com pletely com patible with program s using Applesoft and Integer B A S IC s, graphics, and DOS. ( Tim e dependent 0 0 $ operations can be b ypassed.) It w ill d isp lay the graph ics on the screen while Q U IC K T R A C E is alive.

Q U I C K T R A C E requires 3546 (SEOO) bytes (14 pages) ot memory and some knowledge of machine language programming. It will run on any Apple II or Apple II Plus computer and can be loaded from disk or tape. It is supplied on disk with DOS 3.3.

Q U IC K TRA C E w a s w r i t t e n b y J o h n R o g e r s . Q U IC K TRA C E is a t r a d e m a r k o f A n t h r o - D i g i t a l , In c .

Last Inttru ctlo n

Q U IC K T R A C E is refocatab/e to any free part of memory. Its output can be sent to any slot or to the screen.

, . r. _ r fa b

43

Pro cesso r codas

D4

Cl

Stack pointer

SP=F2

N V -B D IZ C P ro cesso r status

P S= 1 0 1 1 '0 0 0 1 D , . a ^ mb,y

S T H

$ .j

^ >

Uaer defined location A Contents

0000= 4C Content ot referenced add rest

[J =DD

A n th ro -D ig ita l, In c. j

P O

B O X

1385

P itts fie ld , M A 0 1 2 0 2 413^48-8278 106

MICRO

No. 63 ■ August 1983

R O M U t i li t y (con tin u ed ) C05A- A4 C05C- 20 C05F- 88 C060- D0 C062- A9 C064- A4 C066- 20 C069- 88 C06A- D0 C06C- 20 C06F- A8 C070- A5 C072- AA C073- 29 C075- F0 C077- 98 C07S- C9 C07A- 90 C07C- C 9 C07E- B0 C080- 4C C083C084C086C088C089C08BC08DC08FC091C093C095C096C098C09AC09BC09DC09FC0A1C0A3C0A5C0A6C0A8C0AAC0AB-

59 D2 FF FA 9D 59 D2 FF FA A4 Cl 57 01 0C 30 07 3A

03 6F Cl

8A

29 F0 98 C9 F0 C9 F0 C9 F0 8A 29 F0 98 29 C9 90 C9 B0 8A 29 D0 98 4C

02 0D 2E F3 2B EF 2D EB 0C 1A 7F 41 13 5B 0F 08 04 6F Cl

C0AE- 98 C0AF- 09 80 C0B1- 4C 6F Cl C0B4C0B5C0B7C0B9C0BAC0BCC0BEC0BFC0C1C0C3C0C4C0C6C0C8C0CAC0CCC0CEC0CFC0D1C0D3C0D5C0D7C0D9C0DBC0DD-

8A 29 F0 98 C9 F0 8A 29 F0 98 09 C9 F0 C9 F0 98 C9 D0 A5 D0 A5 29 F0 4C

C0E0— C0E2C0E3C0E5C0E6C0E8C0EAC0EBC0EDC0EFC0F0C0F2C0F4C0F5C0F7C0F9C0FAC0FCC0FEC101C104C106C108C10AC10BC10DC10FCl10Cl12C114C115C117C119CllBClIDC11ECl 20C123C124-

A5 AA F0 6A 90 A0 6A 90 A0 6A 90 A0 6A 90 A0 98 E6 A4 99 20 A0 A5 91 C8 A9 91 C8 A9 91 38 A5 E5 C9 F0 A8 A9 20 88 D0

10 05 20 F3 20 0B 80

09 E7 CE E3 0D 56 6C 2D 57 40 03 6C C0 58 IF 02 30 02 D9 02 CE

02 20 5C 5C FF C4 D2 FF 00 5C 5A 00 5A C5 SA 59 5C 00 09 20 D2 FF F8

1600 1610 B2 1620 1630 1640 1650 1660 B3 1670 1680 1690 GET CHAR 1700 1710 1720 1730 Tl 1740 1750 1760 1770 1780 1790 1800 J1 1810 1820 T2 1830 1840 1850 1860 1870 I860 1890 1900 1910 1920 T4 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020 2030 2040 2050 2060 2070 FORCE UP 2080 2090 J2 2100 2110 T16 2120 2130 2140 2150 2160 2170 T32 2180 2190 2200 2210 2220 2230 2240 2250 2260 T64 2270 2280 2290 CAR_R£T 2300 2310 2320 2330 2340 2350 2360 Cl 2370 2380 2390 2400 2410 2420 C2 2430 2440 2450 C3 2460 2470 2480 C4 2490 2500 2510 C5 2520 2530 2540 2550 2560 FINI 2570 2580 2590 2600 2610 2620 2630 2640 2650 2660 2670 2680 2690 2700 2710 B5 2720 2730 2740

No. 63 ■ August 1983

C126- 4C 2B C0 LDY *MX JSR BSOUT DEY BNE B2 LDA #157 LDY *MX JSR BSOUT DEY BNE B3 JSR GET1 TAY LDA *ED TAX AND 11 BEQ T2 TYA CMP #48 BCC T2 CMP #58 BCS T2 JMP ADD_CHAR TXA AND #2 BEQ T4 TYA CMP #'. BEQ J1 CMP #’+ BEQ J1 CMP I BEQ J1 TXA AMD #12 BEQ T16 TYA AND #$7F CMP #65 BCC T16 O P #91 BCS T16 TXA AND #8 BNE FORCE UP TYA JMP ADD_CHAR

/BACKSPACE MX TIMES

LDA TAX BEQ ROR BCC LDY ROR BCC LDY ROR BCC LDY ROR BCC LDY TYA INC LDY STA JSR LDY LDA STA INY LDA STA INY LDA STA SEC LDA SBC Cf«> BEQ TAY LDA JSR DEY BNE

*LLQCTH *LLEWGTB BUFFER-1,Y BSOUT #0 *LLEM3TH (HADR),Y #L,BUFFER (HADR) ,Y #H,BUFFER (HADR) ,Y *MX *LLQGTH #0 EXIT

14 IB 5C 03 6C C0

Cl 34- 20 F9 Cl C137- C6 5C a9 9D C13B- 20 D2 FF C13E- A5 92 C140- 18 C141- 69 04 C143- 85 5E CH S - 4C 6c C0

;GET EDIT FLPC ;TEST FOR NUMERIC

;<

ZERO

;>

NINE

;TEST FOR

' '+ ' &

;TEST FOR BOTH ALPHA FLAGS

;< A

;> z ?TEST FOR FORCE UPPER CASE

jTEST FOR BLANK

;TEST FOR Y

&

N

C148C14AC14CC14ECl50-

C9 D0 A5 D0 4C

8D 1A 5C 03 6C C0

C153C156Cl58C15AC15DC160C161C163-

20 a4 A9 20 20 88 D0 4C

F9 Cl 5C 9D D2 FF F9 Cl

Cl66C167Cl69C16B-

8A 29 3F F0 03 4C 6C C0

C16EC16FC171C173Cl76C179C17BC17DC17F-

98 E6 A4 99 20 AS C5 B0 4C

FS 41 C0

5C 5C FF C4 D2 Ff 5C 59 03 6C C0

C182- 20 C185- C9 C187- F0 C189- C9 C10B- D0 C18D- 4C Cl 90- C9 C192- F0 C194- C9 C196- D0 C198- A9 C19A- 20 C19D- C6 C19F- D0 ClAl- 4C

E4 00 F9 0D 03 D3 14 A3 8D EA 9D D2 SC B2 41

Ff

C1A4C1A7CIA9ClABClADClAFClBlClB3C1B5C1B7C1B9ClBBClBDClBFClClC1C3C1CSC1C7C1C9C1CB-

20 C9 F0 C9 F0 C9 F0 C9 F0 C9 F0 C9 90 C9 90 C9 90 C9 B0 60

E4 FF 00 21 22 F5 0D 18 14 14 8D 10 20 0D 60 08 Cl 05 DB 01

C1CCClCDClCfC1D1C1D3C1D5C1D7C1D9C1DBCiDDC1DFClElC1E4C1E6C1E9C1EBC1ECClEEC1F0C1F2C1F4C1F6-

38 A5 E5 B0 AS C9 F0 A9 D0 A9 85 20 A9 20 A5 18 69 C9 D0 A9 85 4C

C1F9C1FBClFEC200-

A9 20 A9 20

C0

FF

C0

;= 'Y' 'N'

;CARRIAGE RETURN

*ED2 FINI A C2 # ’0 A C3 #217 A C4 #206 A C5 #32

C9 D0 AS D0 4C

C l3 9 -

TYA ORA #$80 JMP ADD_CHAR TXA MID #16 BEQ T32 TYA CMP #32 BEQ J2 TXA AND #32 BEQ T64 TYA ORA #$80 O P #217 BEQ J2 O P #206 BEQ J2 TYA CMP #13 BNE B6 LDA *LLENGTH BNE FINI LDA *ED AND #64 BEQ Cl JMP GET_CHAR

Cl29C12BC12DC12FC131-

;= 'Y'

;= *N' BLANK

#32 SSQUT

5E 92 DI SD 2A 04 2A 02 20 SD D2 FF 9D D2 FF 92 04 FF 02 00 5E A4 Cl 9D D2 FF 2A D2 FF

2750 EXIT JMP Al 2760 2770 B6 CMP *20 2780 BNE B8 2790 LDA *LLEMGTH ;DELETE CHARACTER ROUTINE 2800 BNE DEL CHAR 2810 JMP GET CHAR 2820 2830 DEL CHAR JSR AST BKSP 2840 DEL2 DEC *LLENGTH 28S0 LDA #157 2860 JSR BSOUT 2870 LDA *CHRIS 2880 CLC 2890 ADC #4 2900 STA *CLQCK 2910 JMP GET CHAR 2920 2930 B8 O P #141 2940 BNE TEST ED 2950 LDA *LLEifcTH ;SHIFT-RETURN 2960 BNE NULL 2970 JMP GETCHAR 2980 2990 NULL JSR AST BKSP 3000 LDY *LL£NGTH 3010 B10 LDA #157 3020 JSR BSOUT 3030 JSR AST BKSP 3040 DEY 3050 BNE B10 3060 JMP ISTART 3070 3080 TEST ED TXA 3090 AND #$3F 3100 BEQ TEST OK 3110 JMP GET CHAR 3120 3130 TEST OK TYA 3140 ADD CHAR INC *LLENGTH 3150 LDY *LLENGTH 3160 STA BUFFER-1,Y 3170 JSR BSOUT 3180 LDA *LLENGTH 3190 Cff *MX 3200 BCS GET2 ;LEH3TH >= MX 3210 JMP GET CHAR 3220 3230 GET2 JSR GETIN ;GET A CHARACTER 3240 CMP #0 3250 BEQ GET2 3260 CMP #13 3270 BNE CC1 3280 JMP CAR RET 3290 CC1 O P #20 3300 BEQ DEL2 3310 CfP #141 3320 BNE GET2 3330 LDA #157 3340 JSR BSOUT 3350 DEC *LLENGTH 3360 BNE NULL 3370 JMP ISTART 3380 3390 ;GET ROUTINE WITH CURSOR CONTROL 3400 GET1 JSR GETIN •GET A CHARACTER 3410 O P #0 3420 BEQ G1 3430 O P #34 •DOUBLE QUOTE? 3440 BEQ GETl YES. 3450 O P #13 3460 BEQ GET OK CARRIAGE RETURN O P #20“ 3470 3480 BEQ GET OK DELETE O P #14t 3490 3500 BEQ GET OK SHIFT RETURN 3510 CMP #32 3520 BCC G1 < 32 , REJECT 3530 0 * #96 3540 BCC GET OK < 96 , ACCEPT 3S50 O P #193 3S60 BCC Gl < 193 , REJECT 3570 O P #219 3S80 BCS Gl >= 219 , REJECT 3590 GET OK RTS 3600 3610 G1 SEC 3620 LDA *CLOCK 3630 SBC *CHRIS 3640 BCS GETl 36S0 LDA *CURSOR 3660 CMP #'* 3670 BEQ G3 3680 LDA #'* 3690 BNE G4 3700 G3 LDA #32 3710 G4 STA ‘CURSOR 3720 JSR BSOUT 3730 LDA #157 3740 JSR BSOUT 3750 LDA *CHRIS 3760 CLC 3770 ADC #4 3780 Off #$FF 3790 BNE GS 3800 LDA #$00 3810 GS STA *CLOCK 3820 JMP GETl 3830 3840 AST BKSP LDA #157 3850 JSR BSOUT 3860 LDA #'* 3870 JSR BSOUT

(con tin u ed )

B5

MICRO

107

ROM U tility (c o n tin u e d ) C203- 60

C204C207C20AC20CC20FC212C214C217C219C21CC21FC221C224C226C229C22CC22EC230C232C234C236C238C23B-

20 20 A5 8D 20 A5 8D A5 8D 20 A5 8D A5 8D 20 A5 C9 D0 A5 C9 D0 20 60

E7 0F 14 AC 0F 14 96 15 97 0F 14 98 15 99 0F 45 5A 0A 46 5A 04 F3

C23CC23EC240C242C244C246C248C24AC24CC24EC250C252C254C256C259C25BC25EC260C263C265C268C26AC26DC26FC271C272-

A2 A9 24 F0 A2 24 F0 A2 86 A5 85 A5 85 AD 85 AD 85 AD 85 AD 85 AD D0 A6 CA 18

05 80 46 02 03 45 02 02 5F 47 5D 48 5E 96 57 97 58 98 59 99 5A AC 51 5F

C3 C3 C5 C3 C5 C5 C3 C5 C5 C3

C3

C5 C5 C5 C5 C5

3880 3890 3900 3910 3920 3930 3940 3950 3960 3970 3980 3990 4000 4010 4020 4030 4040 4050 4060 4070 4080 4090 4100 4110 4120 4130 4140 4150 4160 4170 4180 4190 4200 4210 4220 4230 4240 4250 4260 4270 4280 4290 4300 4310 4320 4330 4340 4350 4360 4370 4380 4390 4400

RTS ;INSERT / DELETE ROUTINE FOR ARRAYS INS_DEL JSR SAVE ZP JSR INPUT READ INSERT/DELETE FLK3 LDA *P0KER STA SWITCH 0=INSERT, 1=0ELETE JSR INPUT READ INSERT/DELETE POSITI LDA *POKER AND SAVE IN STA PCNT TEMPORARY AREA (PCNT) LDA *P0KER+1 STA PCNT+1 JSR INPUT READ END OF ARRAY COUNT LDA *POKER AND SAVE IN STA ECNT TEMPORARY AREA (ECNT) LDA *P0KER+1 STA ECNT+1 READ ARRAY VARIABLE. CHECK JSR INPUT LDA *VARNAM IF THE VARIABLE Cf4> f'Z NAME IS ZZ, THEN RETURN TO BASIC BNE NOTEND LDA *VARNAM+1 CMP i'Z BNE NOTEND JSR REST ZP RTS NOTEND

NEXT22 NEXT33

INSERT LOOPl

LDX LDA BIT BEQ LDX BIT BEQ LDX STX LDA STA LDA STA LDA STA LDA STA LDA STA LDA STA LDA BNE LDX DEX CLC

15 f$80 *VARNAM+1 NEXT22 13 *VARNAM NEXT33

CALCULATE LENGTH OF ARRAY ITEM. FLOAT = 5 1 = 2 $ = 3

‘LENGTH *VARPNT *PNT2 *VARPNT+1 *PNT2+1 PCNT *RCNT PCNT+1 *RCNT+1 ECNT *MCOT ECNT+1 *MCNT+1 SWITCH DELETE ‘LENGTH

AND STORE INTO LENGTH STORE ADDRESS OF ZERO ARRAY POSITION INTO PNT2.

C273- A5 C275- 65 C277- 85 C279- A5 C27B- 65 C27D- 85 C27F- CA C280- 10 C282- 38 C283- A5 C285- E5 C287- 85 C289- A5 C28B- E9 C28D- 85 C28F- A4 C291- 88 C292- Bl C294- 91 C296- 88 C297- 10

C299C29BC29DC29FC2A1C2A3C2A5C2A7C2A9C2AB-

12

RESTORE INSERT/DELETE POSITION INTO RCNT

A5 D0 C6 C6 A5 C5 M A5 C5 D0

5D 59 5D 5E 5A 5E F0 5D 5F 5B 5E 00 5C 5F SB 5D F9

59 02 5A 59 59 57 09 SA 58 03

C2AD- 4C 29 C2

RESTORE END OF ARRAY COUNTER INTO MCNT.

IF 0 THEN INSERT. IF >0 THEN DELETE. LOAD ITEM LEM3TH MINUS 1

C2B0C2B1C2B3C2B5C2B7C2B9C2BB-

38 A5 E5 85 A5 E9 85

50 5F 5D 5E 00 5E

4410 4420 4430 4440 4450 4460 4470 4480 4490 L00P2 4500 4510 4520 4530 4540 4550 4560 4570 4580 L00P3 4590 4600 4610 4620 4630 4640 4650 4660 4670 4680 4690 4700 NEJCTl 4710 4720 4730 4740 4750 4760 4770 4780 4790 4800 4810 4820 4830 4840 SUB3 4850 4860 4870 4880 4890 4900

LDA *PNT2 ADC *MCNT STA *PNT2 LDA *PNT2+1 ADC *MCNT+1 STA *PNT2+1 DEX BPL LOOPl SEC LDA *PNT2 SBC ‘LENGTH STA *PNT1 LDA *PNT2+1 SBC »0 STA *PNT1+1 LDY ♦LENGTH DEY LDA (PNT1),Y STA (PNT2) ,Y DEY BPL LOOP3 IFE RCM-4 JSR FIX sra *** LDA BNE DEC DEC LDA CMP BNE LDA CMP BNE

•MCNT NEOT1 *MCNT+1 *MCNT *MCNT *RCNT SUB3 *MCNT+1 ♦RCNT+1 SUB3

;PNT2 = PNT2 + MCNT*LENGTH ;(LAST OCCURANCE OF ;TABLE PLUS 1}//

;PNT1 POINTS TO ;PNT2 MINUS LENGTH ;(LAST OCCURANCE)

;LOAD ITEM LENGTH MINUS 1 ;MOVE X OCCURANCE ;TO X+l OCCURANCE

;FIX UP LINKBACK POINTER

{SUBTRACT 1 FROM MCNT

;WHEN MCNT EQUALS RCNT ;THEN GO TO CHECK ;NEXT ARRAY VARIABLE

IFE ROV-4 JSR ZERO_LIN *** JMP CHECK SEC LDA SBC STA LDA SBC STA

*PNT2 ♦LENGTH *PNT2 *PNT2+1

.•SUBTRACT ITEM LENGTH ;FROM PNT2

W

*PNT2+1

(C o n tin u e d on page 110)

ROCKW ELL M i c r o c o m p u t e r s f r o m E x c e r t , In c . • • SPECIALS • •

RM 65 SERIES

A65-1 (1K R A M )................................. $435 A65-4 (4K R A M )................................. $455 A65-4B.4F (4K, BASIC or FORTH*) .$495 A65-4AB (4K, BASIC & Assembler) . $525 A65/40-5000 (32K RAM ).................. $1250

Deduct 5% from list if ordered with AIM 65® or AIM 65/40.

LANGUAGES for AIM-65® & AIM 65/40

(out of warranty only) $25/hr. plus parts - $25 min.

Assembler..............................................$35 BASIC ROMs ....................................... $65 FORTH* ROM s..................................... $65

ENCLOSURES & POWER SUPPLIES A65-006................................................$175 E N C 4 A ................................................$115 E N C 5 A ................................................$130 E N C 6 A ................................................$140

Educational Com puter Division EXC ER TIN C O R PO R A TED SALES SPRVICr INSTALLATION

CONSULTING

108

P.O. Box 8600 White Bear Lake Minnesota 55110 (612) 426-4114

REPAIR SERVICE

SPARE PARTS are available

CASH DISCOUNT ■Deduct 5°/o for Prepaid Orders (we pay shipping) TERMS: Net 30 from approved Com panies & Institutions — otherwise COD. Shipping w ill be added to order. M innesota residents add 6% sales tax. Prices subject to change w ithout notice. Authorized Dealers for: RO CKW ELL INTERNATIONAL CORP., CUBIT, MTU, FORETHOUGHT PRODUCTS, GORDOS, SEAW ELL, DYNATEM, APPLIED BUSINESS CO M PUTER AIM -65 is a registered tradem ark of R ockw ell International Corp. ’ FORTH is a registered tra d e m a rk of Forth, Inc.

MICRO

No. 63 - August 1983

Commodore • 64 „ Word Processors M R

S C R IP T 6 4

E X E C U T IV E W O R D

P R O C E S S O R

Rated best by COMMODORE. This is the finest word processor available. Features include line and paragraph insertion/deletion, indenta­ tion, right and left justification, titles, page numbering, characters per inch, etc. All features are easy to use and understand. With tabs, etc. SCRIPT-64 even includes a dictionary/spelling checker to make sure your spelling is correct. The dictionary is user customizable to any technical words you may use. Furthermore, all paragraphs can be printed in any order so doctors, lawyers, real estate agents, and homeowners will find contract writing and everyday letters a snap. To top things off, there is a 100 page manual and help screens to make learning how to use SCRIPT-64 a snap. This word processor is so complete we can't think of anything it doesn't have. When com­ bined with the complete database you have a powerful mailmerge and label program that lets you customize any mailing list with per­ sonalized letters. List $99.95. Sale $79.00. (plus postage) Disk Only.

C O M P L E T E D A TA

BASE

This is a user friendly database that makes any information easy to store and retrieve. The user defines the fields and then can add change, delete and search for any category he wants. When combined with the SCRIPT-64 Executive Word Processor you can search out any category (zip codes, hair color, etc.) and print super personalized letters. List $89.00. Sale $69.00. (plus postage) Disk Only.

TOTAL W O R D P R O C E S S O R PLU S 5 2 This top quality word processor was specially designed for PROTECTO ENTERPRIZES. Features include line and paragraph insert and delete, right and left justification, multiple copies, and tine spacing. Extra functions include mailmerge, embedded footnotes, extra user defined character sets, plus a complete label program. List $69.90. Sale $56.00. (plus postage) Disk add $7.00.

QUICK B R O W N FOX W O R D P R O C E SS O R (Cartridge). Nationally advertised all purpose word processor that uses menu control to let you manipulate your text. Includes the features most often asked for including right and left justification, wordwrap, and more. List $69.00. Sale $59.00. (plus postage).

• LOWEST PRICES • 15 DAY FREE TRIAL • 90 DAY FREE REPLACEMENT WARRANTY • BEST SERVICE IN U.S.A. • ONE DAY EXPRESS MAIL • OVER 500 PROGRAMS » FREE CATALOGS

PRO TECTO

W E S H I P C .O .D . H O N O R V IS A A N D M A S T E R C H A R G E A D D $ 3 .0 0 S H IP P IN G F O R C .O .D . A D D $ 2 .0 0 M O R E S P E C IA L S E R V IC E S : O n e D a y — E x p r e s s M a il a d d $ 1 0 .0 0

No. 63 - August 1983

ENTERPRIZES

(WE LOVE OUR CUSTOMERS)

BOX 550, BARRINGTON, ILLINOIS 60010 Phon* 312/382-5244 to ordar

MICRO

109

ROM Utility C2BD- 4C 82 C2 C2C0C2C2C2C3C2C4C2C6C2C8C2CAC2CCC2CEC2D0C2D1C2D3C2D4C2D6C2D8C2DAC2DCC2DEC2E0C2E2C2E3C2E5C2E7C2E8-

C2EAC2ECC2EEC2F0C2F2C2F4C2F6C2F8C2FA-

A6 CA 18 A5 65 85 A5 65 85 CA 10 18 A5 65 85 A5 69 85 A4 88 Bl 91 88 10

E6 D0 E6 A5 C5 00 A5 C5 D0

5F

5D 57 5D 5E 58 5E F0 5D 5F 5B 5E 00 5C 5F 5B 5D F9

57 02 58 59 57 09 5A 58 03

C2FC- 4C 29 02 C2FFC300C302C304C306C308-

18 A5 65 85 A5 69

5D 5F 5D 5E 00

(continued) 4910 4920 4930 4940 4950 4960 4970 4980 4990 5000 5010 5020 5030 5040 5050 5060 5070 5080 5090 5100 5110 5120 5130 5140 5150 5160 5170 5180 5190 5200 5210 5220 5230 5240 5250 5260 5270 5280 5290 5300 5310 5320 5330 5340 5350 5360 5370 5380 5390 5400 5410 5420 5430

JMP L00P2 DELETE LOOP4

LOOP5

LOOP6

LDX DEX CLC LDA ADC STA LDA ADC STA DEX BPL CLC LDA ADC STA LDA ADC STA LDY DEY LDA ' STA DEY BPL

‘LENGTH

PNT2 POINTS TO DELETE

*PNT2 *RQJT *PNT2 *PNT2+1 *RCNT+1 *PNT2+1

PNT2 POINTS TO ITEM TO BE DELETED

LOOP4 PNTl POINTS TO THE ARRAY ITEM ONE HIGHER THAN PNT2

*PNT2 ‘LENGTH *PNT1 *PNT2+1 10 *PNT1+1 *LENGTH

LOAD ITEM LENGTH MINUS 1

(PNT1),Y (PNT2) ,Y

MOVE X+l OCCURANCE TO X OCCURANCE

LOOP6

IFE ROM-4 JSR FIX_STR ***

NEXT2

INC BNE INC LDA CMP BNE LDA CMP BNE

C30A- 85 5E C30C- 4C D3 C2

;FIX LINKBACK POINTER

*RCNT NEXT2 *RCNT+1 *MCNT *RCNT ADD3 *MCNT+1 *RCNT+1 ADD3

ADD 1 TO RCNT WHEN MCNT EQUALS RCNT THEN GO TO CHECK NEXT ARRAY VARIABLE

IFE ROM-4 JSR ZERO LINK ***

JMP CHECK AD03

CLC LDA ADC STA LDA ADC

*PNT2 ‘LENGTH *PNT2 *PNT2+1 *0

C30F- 20 FD AE C312- 20 A4 AD C315- 20 F7 B7

ADO ITEM LENGTH TO PNT2

5440 5450 5460 5470 5480 5490 5500 5510 5520 5530 5540 5550 5560 5570 5580 5590 5600 5610 5620 5630 5640 5650 5660 5670 5680 5690 5700 5710 5720 5730 5740 5750 5760 5770 5780 5790 5800 5810 5820 5830 5840 5850 5860 5870 5880 5890 5900 5910 5920

STA *PNT2+1 JMP L00P5 FIX_STR

FIX EQ

FIX_NEXT

FIX__EXIT ZER0_LINK

INPUT

IFE LDA CMP BNE LDY LDA BEQ STA INY LDA STA INY LDA STA CW BCC BEO BCS LDA CM> BCC LDY LDA STA INY LDA STA RTS LDA CMP BHE LDY LDA STA INY STA INY STA RTS ***

ROM-4 *LENGTO #3 FIX EXIT 10 (PNT2)rY FIX EXIT *FLEN (PNT2),Y *FSTR (PNT2),Y *FSTR+1 *VARTAB+1 FIX EXIT FIX EO FIX NEXT • *FSTR *VARTAB FIX_EXIT

;BYPASS IF NOT STRING ARRA

GET LENGTH EXIT IF ZERO SAVE IT ;SAVE ADDRESS OF STRING

CHECK WITH TOP OF BASIC STRING WITHIN BASIC WITHIN STRING AREA

WITHIN BASIC

*FLEN *PNT2 (FSTO),Y *PNT2+1 (FSTO) ,Y

♦LENGTH 13 FIX EXIT *0 *0 (Brrl),Y (WTl) ,Y (WTl) ,Y

CHECK FOR COWA INPUT & EVALUATE EXPRESSI CONVERT FLOAT TO FIXED

JSR CHKCOM JSR FRMEVL JSR GETADR

(continued)

SVKT

THE SVSTEM

fllKT

DUAL ACIA BOARD jJJ ao iO ££

Essential for telecommunications. Two independent full duplex RS232 channels. Uses 6551 AClAs. Crystal-driven TTLckxk. Supports TTL level or RS232C (+/-12v). Supports all standard baud rates to 19,200- Can support interrupt-driven I/O. Demonstration source code provided.

«

COM-1

1-4

EPROM PROGRAM M ER Particular combination of hardware and software (machine language) used results in VERY LOW proyamming overhead. Flexible design; supports future EPROM designs. Will procpam EPROMS up to 256K bits (32K bytes). Programs all these EPROMS: 2508, 2516, 2532, 2564, 27S8A, 27588, 2716, 27C16, 2732, 2732A, 27C32, 2764, 27C64, 27128, MCM68764 All personality modules INCLUDED. Menu driven pro^am for easy operation.

13 u 35 > X fiu

± >

PRG-l

(/) REALTIME o CLOCK/CALENDAR H LU

CO

2 u t/) CO

D

(/)

Demonstration software with source and data sheet. Uses the OKI MSM5S32. Provision for user-supplied battery backup. On board crystal for accurate timekeeping. CMOS circuitry - Low power Year, month, date, day-of-week, hours, minutes & seconds! 12/24 hour - Leap Year correction 4 interrupt rates available.

CLK-l

$60

I/O EXPANSION BOARD

j

For microcomputers that use 6522 VlAs for I/O and do not provide full address decoding on board. This board has physical space for four additional 6522 VlAs, and provide additional decoding for a total of 16 devices. Two versions of this board are available. The l/OX-122 mounts above, and directly plugs into, an on-board 6522 socket, and relocates the original VIA to the expansion board. Where there are space limitations, the l/OX-222 uses a dip header and an S' cable for remote installation.

1/OX-122 $60

l/OX-222 $72

P.O. Box 1 0 1 9 •

32K CMOS STATIC RAM BOARD M o d e ls M B - 1 3 2 / 3 2 K , $ 2 9 9 /1 6 K $241 ,/8 K $ 1 9 7 F e a tu re s : • • • • •

200ns Low Power CMOS. STATIC RAM Extends your expansion connector Plug compatible with 2716 EPROMS First 8K are jumper selectable Entire board may be benk-switched

All boards feature G -10 glass/epoxy, solder mask, and gold plated connectors. All boards carry a full 1-year limited warranty. When ordering specify SYM or AIM version; add S & H in U.S. and Canada $2.50. overseas $4.00 jUS). Calif, residents sdd sales tax.

D e a le r a n d D is trib u to r In q u ire s In v ite d . W h ittie r. C A 9 0 6 0 9

(2 1 3 ) 9 4 1 - 1 3 8 3

110

$250

MICRO

No. 63 - August 1983

ROM U tility C318- 60

C319- 20 EA FF C31C- A9 FF C31E- 85 91 C320- 4C 34 EA C323- 78 C324- A9 19 C326- 8D 14 03 C329C32BC32EC32F-

A9 C3 8D 15 03 58 60

C330C331C334C337C33A-

78 AD 8D AD 9D

12 14 13 15

C0 03 C0 03

(c o n tin u e d )

5990 6000 6010 DISABLE 6020 6030

JMP HARD INT — SEI LDA #LfSTOP STA CINV

6040 6050 6060 6070 6090 6090 ENABLE 6100 6110 6120 6130

LDA IH.STOP STA CINV+1 CLI RTS

6140 6150 6160 C33F- 78 6170 EN LOAD C340- AD 12 C0 6180 C343- 18 6190 C344- 69 03 6200 C346- 8D 14 03 6210 C349- AD 13 C0 6220 C34C- 80 15 03 6230 C34F- 58 6240 C3S0- 60 6250 6260 6270 ;NULL THE C351- A0 00 6290 NULL STR C353- Bl 5A 6290 C35S- 85 SC 6300 C357- F0 23 6310 C359- C8 6320 C3SA- Bl 5A 6330 C3SC- 95 SF 6340 C35E- C8 6350 Bl 85 C5 90 F0 B0 AS CS 90 A4 AS 91 C9 A9 91 60

SEI LDA STA LDA STA

VEC SAVE CINV VEC SAVE+1 CINV+1

CLI RTS SEI LDA CLC ADC STA LDA STA CLI RTS

VEC SAVE #3 CINV VEC SAVE+1 CINV+1

STRING BEING USED LDY 10 LDA (HADR),Y STA *LLENGTH BEQ NULL EXIT INY LDA (HADR),Y STA *SADR INY

5A 60 32 15 02 06 SF 31 0B 5C 5C SF

6360 LDA (HADR),Y 6370 STA *SADR+1 6380 CMP *STRENIH-1 6390 BCC NULL EXIT 6400 BEQ NULL EQ 6410 BCS NULL OK 6420 NULL EQ LDA *SADR 6430 CMP *STREND 6440 BCC NULL EXIT 64S0 NULL OK LDY *LLENGTH 6460 LDA *LLENGTH 6470 STA (SADR),Y 6480 INY FF 6490 LDA #$FF SF 6500 STA (SADR) ,Y 6S10 NULL EXIT RTS 6520 6530 .-ROUTINE TO MODIFY STRING DATA C37D- 20 0F C3 6S40 STR MOD JSR INPUT C390- A5 14 6S50 LDA ‘POKER C382- 48 6560 PHA C383- D0 01 6570 BNE ST2 C39S- 60 6580 ST1 RTS C386- C9 03 6590 ST2 CMP #3 C388- B0 FB 6600 BCS ST1 ;> 2 C38A- 20 0F C3 6610 JSR INPUT C39D- A0 00 6620 LDY >0 C39F- Bl 47 6630 LDA (VARPNT) ,Y C391- 85 5C 6640 STA *LLENGTH C393- C9 6650 INY C394- Bl 47 6660 LDA (VARPNT),Y C396- 85 SA 6670 STA *HADR C398- C8 6680 INY C399- Bl 47 6690 LDA (VARPNT) ,Y 6700 C39B- 85 SB STA *HADR+1 6710 C39D- 68 PLA C39E- C9 02 6720 CMP #2 C3A0- F0 2B 6730 BEQ OPTION 2 ;CONVERT TO UPPER CASE C3A2- A4 SC 6740 OPTION 1 LDY *LLENGTH ;ASCII PRINTER CONVERSION C3A4- F0 26 6750 BEQ STO EXIT C3A6- 88 6760 0P1 LOOPl DEY 6770 C3A7- C0 FF CPY #$FF 6790 C3A9- F0 21 BEQ STR EXIT C3AB- Bl SA 6790 LDA (HADR),Y 6900 C3AD- C9 41 CMP #65 C3AF- 90 0C 6910 BCC OP1 NEXT1 6820 C3B1- C9 5B CMP #91 ;> Z C3B3- B0 08 6930 BCS OP1 NEXT1 C3B5- 18 6840 CLC C3B6- 69 20 6850 ADC #$20 C3B9- 91 SA 6960 STA (HADR),Y C3BA- 4C A6 C3 6870 JMP 0P1_L00P1 6980 C3BD- C9 Cl 6890 OP1 NEXT1 CMP #193 ;NOT LOWER CASE C3BF- 90 ES 6900 BCC 0P1 LOOPl 6910 C3C1- C9 DB CMP #219 C3C3- B0 El 6920 BCS OPi LOOPl C3C5- 29 7F 6930 AND #$7F C3C7- 91 SA C3C9- 4C A6 C3 C3CC- 60 C3CD- A4 SC

6940 6950 6960 STR EXIT 6970 6980 OPTION 2

No. 63 - August 1983

F0 88 C0 F0 Bl C9 90 C9 B0 09 91 4C

FB

6990 7000 OP2_LOOPl 7010 7020 7030 7040 7050 7060 7070 7080 7090 7100 7110 7120 SAVE_ZP 7130 7140 7150 7160 7170 7180 C3E7- A0 10 7190 7200 C3E9- B9 53 00 7210 SVJL00P1 C3EC- 99 9B C5 7220 C3EF- 88 7230 C3F0- 10 F? 7240 C3F2- 60 7250 7260 7270 REST_ZP 7280 7290 7300 7310 7320 7330 C3F3- A0 10 7340 C3F5- B9 9B C5 7350 RS_L00P1 C3F8- 99 53 00 7360 7370 C3FB- 88 73B0 C3FC- 10 F7 C3FE- 60 7390 7400 7410 END OF MAE PASS!

5930 RTS 5940 5950 ;STOP KEY ENABLE AND DISABLE f 5960 STOP JSR CLOCK UPDT 5970 LDA »$FF S990 STA *STKEY

C33D- 58 C33E- 60

C35FC361C363C365C367C369C36BC36DC36FC371C373C37SC377C378C37AC37C-

C3CFC3D1C3D2C3D4C3D6C3D8C3DAC3DCC3DEC3E0C3E2C3E4-

STA (HADR),Y JMP OPI LOOPl RTS

FF F6 5A 41 F5 SB Fl 80 5A Dl C3

BEQ STR_EXIT DEY CPY f$FF BEQ STO_EXIT LDA (HADR)fY CMP #65 BCC 0P2_L00P1 CMP #91 BCS 0P2_L00Pl ORA #$90 STA (HADR) ,Y JMP OP2 LOOPl

;LOWER CASE A

IFE ROM-4 LDA *BENNETT STA ZP 0F LDY 116 LDA FOUR6,Y STA ZP_50,Y DEY BPL SV_LOOPl RTS

IFE RCM-4 LDA ZP_0F STA ‘BENNETT LDY LDA STA DEY BPL RTS

#16 ZP_50,Y FOUR6,Y RS_LOOPl

.EN

JMCftO

Commodore 64 & Apple II Assembly Language Debugger If you are developing ^ software for the Commodore 64 or Apple II or are interested in assembly language programming, you needed this finely-crafted aid “yesterday!’ All the features you'd expect in an advanced debugger are included - step, breakpoints, windowing, super-complex conditional breaks, symbolic debugging, patch, show prior 128 steps, and compiled BASIC-like language. Supplied complete with a detailed instruction manual. A new data sheet is available on request. PTD-6510 Debugger for Commodore 6 4 ......... $65.10 PTD-6502 Debugger for Apple II and l i e ......... $49.95 Manual (only) for above, e a c h .......................... $10.00 DisKit 64 Fast single disk copy (+utilities) for Commodore 6 4 ..........................$75.00 'PTD-6510 (Commodore) requires 1541 disk drive. PTD-6502 (Apple) requires DOS 3.3, 48K.

PTERODACTYL SOFTWARfi 200 Bolinas Road #27, P.O. Box 538 Fairfax, CA 94930 (415)485-0714

LDY *LLENGTH

MICRO

111

GRANITE COMPUTER SYSTEMS THE DISASSEMBLER FAMILY Source listings identical with TSC 6809 EDITOR - User symbol tables - Local and global labels and expressions ■ Occurance numbered local labels - Easy Identification of Data Areas - FCB FDB - FCC - Step (optional) disassembly one program or data statement at a tim e - Source code disc or tape for TSC EDITOR input - Run TSC ASSEMBLER with no or minimal editing Monitor and FLEXTM references are named - Equate table for all external references • Problem codes flagged (6800 & 6502) Convenient menu driven options carry out tedious error prone disassembly operations - rapidly and accurately. 6809 to 6809 DISASSEMBLER 6800 to 6809 DISASSEMBLER 6502 to 6809 DISASSEMBLER

$75.00 $75.00 $75.00

TEXTWRITER II - A complete Text Processor to use with the TSC TEXT EDITOR - The two programs run as one - All features you expect in a full text editing and processing system - (For example: Embed print control characters) - Menu driven Disk only $75.00 TEXTWRITER I - A basic Text Processor program to use with the TSC TEXT EDITOR - with most of the features of TEXTWRITER II Specifically for tape systems Cassette only $50.00 EPROMMER- Use with theSWTPC MP-R Programmer

$40.00

Commodore Addresses (corn) Midwest M icro Associates P.O . Box 6148 Kansas City, MO 64110

Q uick Brown Fox 548 Broadway New York, NY

M icro Technology Unlimited P.O . Box 12106 2806 Hillsborough Raleigh, NC 27605

Richvale Telecom m unications 10610 Bayview Avenue Richmond Hill, Ontario Canada L4C 3N8

MWS Electronics P.O. Box 418 Pocomoke, MD 21851

Skyles Electric Works 2 3 1G South W hisman Road M ountain View, CA 94041

Palo Alto Integrated Circ. Syst Nestar Systems, Inc. 430 Sherman Avenue Palo Alto, CA 94306

Sm all Systems Engineering 1056 Elwell Court Palo Alto, CA 94303

Performance M icro Products 770 Dedham Street, S-2 Canton, MA

FILEMANAGER - Use with the JPC TC-3 high speed I/O board comprehensive cassette oriented operating system. $40.00

02021

All efficient - well documented - and - VERY FRIENDLY Run on any SS50 6809 with No or Minimal changes - Provided Object (Binary) programs on 5 & 8 FLEXTM discs or KC cassette Inquire about Color Computer availability - Non-FLEX

Pixell Software 6595 W. Mississippi Rd. Lakewood, CO 80226

FLEXTM is a trademark o f Technical Systems Consultants, Inc.

GRANITE COMPUTER SYSTEMS Route 2 Box 445 Hillsboro, NH 03244 M/C VISA (603)464-3850

Powerbyte Software 2 Chipley Run W est Berlin, NJ 08091 Precision Software Ltd. 4 Park Terrace Worcester Park Surrey, England KT4 7JZ Precision Technology, Inc. Computer Products Division P.O . Box 15454 Salt Lake City, U T 84115 Professional Software 51 Fremont Street Needham, MA 02194

^ c # ?P0

'

,5 0

' S > rV ' cfW 3%ec

00° ° ° ' ^ ® n vOcV■ S < 0 ^ .^e 'N

______________ •_'_____________

BIBLE MOUNTAIN A fun a n d e xcitin g Bible e d u c a tio n a l g a m e !

• For 2 to 20 players. • Fully documented. SEND CHECK OR MONEY ORDER TO:

J & M SOFTWARE

P.O. Box 2132 Athens. Texas 75751 (214)675-8479 112

(Texas residents a d d 5% Sales fa x ) (A dd $1 50 for sh ipp in g a n d h a n d lin g charge s )

Programs for 48K APPLE II* a n d D O S 3 3 w itti disk drive •APPLE is a registered tra de m a rk o f A p p le C o m p ute r. Inc

Professional M icro Service 100 W. 22nd St., POB 7268 Baltim ore, MD 21218 Programmer’s Institute P.O. Box 3470 Chapel H ill, NC 27514 Pro-Line 755 The Queensway East 8 Mississauga, Ontario Canada L4Y 4C5 Quality Computer 801 S. Victoria Suite 105 Ventura, CA , 93003 Quantum Data, Inc. 14252 Culver Dr. Ste. A, 285 Irvine, CA 92714 MICRO

10012

Soft-Aware P.O. Box 725 Glendora, CA 91740 Spellmaster Systems Software 1400 66th St. North Suite 485 St. Petersburg, FL 33710 Susie Software 709 W ilshire Drive M t. Prospect, IL 60056 Tam arack Software (formerly Dr. Daley) Darby, M T 59829 TO TL Software Inc. 1555 Third Avenue Walnut Creek, CA 94596 Type Thrift Shelburne, Ontario Canada LON ISO United Microware Industries 3503-C Tem ple Avenue Pomona, CA 91768 VisiCorp 2895 Zanker Road San Jose, CA 95134 Voice World 13055 Via Esperia D el Mar, CA 92014 Wilserv Industries P.O. Box 456 Bellmawr, NJ 08031 World Electronics 177 27th Street Brooklyn, NY 11232

No. 63 - August 1983

Skyles Electric Works Presents

The VicTree ™ . ..L e a v e s y o u r n ew

V ic ( o r C B M

6 4 ) w ith 4 2 a d d it io n a l c o m m a n d s .

. ..B r a n c h e s o u t to m o s t B A S IC 4 . 0 p r o g r a m s . . . . R o o t s in to m o s t p r in te r s .

New from Skyles: the VicTree, a coordinated hardware and software package that allows your Vic to branch out in unbelievable directions and makes it easier than ever to do BASIC programming, debugging and to access your disk. And the new VicTree provides routines to interface the Vic to the powerful CeeNet local network. 8kb of ROM — 4kb for the BASIC commands, 4kb for disk commands and interfacing to CeeNet— plus 4kb of RAM for miscellaneous storage. Perfect not only for the new Vic but also for the Commodore 64. Unbelievably simple to use and to install, the VicTree gives you all the additional BASIC 4.0 commands to allow most BASIC 4.0 programs to work on your new Vic or CBM 64. Now only $ 8 9 .9 5 .. .or $ 1 09 .95 co m p lete with Centronics standard printer cable. (Cable alone $ 2 9 .9 5 .) Available now from your local dealer or order through your Visa or MasterCard toll free: (800) 227-9998 (California, Canada, Alaska, Hawaii: (415) 965-1735) or send check or money order directly to: pr

m

-

' i r *

Skyles Electric Works

N o, 63 ■A u g u s t 1983

M IC R O

2 3 1 E South Whisman Road Mountain View, CA 9 4 0 4 1 ( 4 i5 ) 9 65-1735 113

©VINSANDER

EAZY/SCREENS

THE MONTHLY JOURNAL FOR COMMODORE COMPUTER USERS

FOR THE COMMODORE 64 A SCREEN DEVELOPMENT SYSTEM E A Z Y /S C R E E N S ESTABLISHES A N E N V IR O N M E N T T H A T ALLOW S YO U TO C R E A TE A N D USE SO P H IS TIC A TE D SC RE EN F O R M A TS S IM IL A R TO THOSE USED O N IBM M A IN FR A M E S . TO AC C O M PLISH TH IS , E A Z Y /S C R E E N S USES THE FO LLO W IN G C O M P O N E N TS :

VIC-20 IN T E R A C T IV E S C R E EN D E S IG N E R - E N A B LES YO U TO DEVELOP Y O U R SC RE EN D IR E C T L Y ON A M O N IT O R , D E F IN IN G : H E A D IN G S , N U M E R IC V A R IA B L E S , A L P H A N U M E R IC V A R IA B L E S , PR O TEC TED V A R IA B L E S , CO LO R D E F IN IT IO N S , REVERSE V ID E O .

G E T Y O U R M O N E Y 'S W O R T H Y o u 'v e p r o b a b ly m a d e a s iz e a b le in v e s tm e n t in y o u r c o m p u te r e q u ip m e n t. C O M M A N D E R c a n h e lp y o u m a k e th e m o s t o f it. Each issue b rin g s y o u th e no-nonsense a d v ic e y o u n ee d to i o n th e le a d in g e d g e o f th is c o n s ta n tly c h a n g in g V fie ld . C O M M A N D E R w ill b e y o u r re fe re n c e to th e w o r ld o f c o m p u te r s . . . w it h th e best, m o s t c o m p re h e n s iv e c o v e ra g e y o u c a n g e t!!

S C R E EN M A N A G E R - IN C O R P O R A T E S LO GIC TO H A N D L E ALL S C R E EN PR O C ES SIN G . YOUR CO DE C O M M U N IC A T E S TO THE M ANAGEM ENT R O U T IN E S BY ISSUING SIM PLE REQUESTS (VIA GOSUBS) TO LO A D SCREEN D E F IN IT IO N S , O U TP U T SC REENS A N D IN P U T V A R IA B L E S . FE A TU R E S IN C L U D E : F IE LD E N T R Y /U P D A T E , T A B B IN G TO N E X T /P R IO R F IE L D , IN S E R T /D E L E T E C H A R A C T E R S , ERASE F IE L D , N U M E R IC C H E C K IN G , CURSOR O V E R R ID E , M U LTIP L E SC R E EN S SU P P O R TE D .

S u b s c r ib e n o w a n d t a k e a d v a n t a g e o f o u r lim ited o f fe r o f o f f th e o n e y e a r s u b s c rip tio n .

1

$4 $220 2

$400 3

E A Z Y /S C R E E N S IN C L U D E D ).

$58

C YR. U.S. YR. U.S. YR. U.S. (Prices do not include $4 DiscounllPnces in U.S. Funds W ashington residents please add 7.8% sales tax

REQ U IR ES

A

1541

DISK

DR IV E

(D O C U M E N T A T IO N

TO O R D E R , SE N D C H EC K OR M O N E Y O RDER FOR $54.95 PLUS $2.00 S H IP P IN G TO:

— S u b s c rip tio n O rd e rs O n ly — T o ll Free N u m b e r : 1 -8 0 0 -4 2 6 -1 8 3 0

LO RIS D A T A C O R P O R A T IO N (M IC R O SO FTW ARE D IV IS IO N ) 401 B R O A D W A Y NEW Y O R K , N Y 10013 (212) 4 3 I-9 S 8 6 ■C O M M O D O R E 64« U ft tr*d « m » rk of C O M M O D O R E

(except W A , H I, AK)

COM MANDER P .O . B O X 9 8 8 2 7 T A C O M A , W A S H IN G T O N 9 8 4 9 8

(206) 584-6757

Save valuable time! 5 to 50 times faster performance than floppy disks and Winchester drives PION'S INTERSTELLAR DRIVE is designed for use with a family of interfaces and software packages. Currently avail­ able are interfaces for IBM, S100, TRS80, Apple, SS50, and most Z80 uP, and software for most popular operating systems. Additional interfaces are continually being developed for the most popular computers.

SAVE MONEY! Increase you r com puter's p ro d u ctivity

B a s ic P ric e f o r 2 5 6 K B u n it

The INTERSTELLAR DRIVE is a high performance data storage subsystem with independent power supply, battery backup, and error detection. It has 2 56KB to 1 Megabyte of solid state memory integrated to perform with your operating system.

114

[In c lu d e s In te r fa c e a n d s o f t w a r e ]

$1095. plus tax (where applicable) and shipping

V isa a n d M a s te r C ard a c cep ted .

P IO N

jrlNC.

T e l.|6 17)923-8009

101R Walnut St.Watertown, MA 02172 80

TRS tra d e m a rk o f T a n d y C orp . A p p le t ra d e m a rk o f A p p le C o m p u te rs In te rs te lla r D riv e tra d e m a rk o f P IO N , In c .

MICRO

No. 63 - August 1983

/AICRO CoCo Bits

TM

his month I have expanded my column to include information about Rainbowfest, the Color Com ­ puter's first national show. Since the topic for this month is word processing, I have a few comments on using the CoCo as a word processor, which is something I have done for over two years. Before getting started with the new agenda, however, I have some old business that con­ cerns upgrading to 64 K.

T

64K Upgrade Last month I described how to convert a 16K D board to 64K. This month I describe how to convert the E and F boards. The upgrades are easy to do, and with 4164 ICs at less than $1.00 a byte there is little excuse not to upgrade. Remember, if you break the seal on the bottom center screw you will void your Radio Shack warranty; you may want to wait the 90 days before upgrading. The E board upgrade is easy compared to the D board modification since the E board is already designed to accept 4164. If you have a 16K computer, remove capacitors C61, C31, C 64, C35, C 67, C 45, C 70, and C 48. Move the jumper be­ tween U8 and U4 to the 32K position. Move the jumper near C44 and the ROM port to the 16K/32K position. Next, move the three jumpers located by the keyboard connector to the 32.K position and use a wire-wrap tool to jumper the stakes next to U29 to be in the LOW position. Connect the two stakes to the left of C44 together. If you were to install the 64K chips at this point, you would have a standard 32K Radio Shack computer. The 1.1 ROM re­ quired with the D board is already in place on the E board. If you have a 32K computer, you can start the modifica­ tion at this point. Remove IC U29 and bend pins 4, 5, and 6 straight up. Do not flex these pins too much as they may break. Be sure that they are bent straight enough so that they w on't touch the metal RF shield to the left of the IC when it is reinstalled. Connect pin 6 of U29 to pin 8 of U29. Solder only to the very top of pin 8 as it must be reinserted in the socket. Be careful not to drip solder onto the lower part of the IC pin. Reinsert the IC into its socket being careful not to bend any pins underneath the IC. In a similar fashion, remove IC U l l and bend pin 5 straight up. Reinstall it in the socket. Next connect pin 4 of U29 to pin 5 of U l l , and pin 5 of U 29 to TP1. This com­ pletes the modification. Install the 4164 ICs in sockets U 20-U27. If you have a 32K machine it will already have these chips. However, since Tandy did not expect to use the upper bank of RAM, they bought mediocre 32K chips. You can replace all of these chips or run a memory diagnostic to test the upper bank. You will need to replace only the chips that indicate bad cells. M ost of the conversions I have seen required the replacement of only two or three ICs. This finishes the upgrade. If you have a new F board, the project is really simple. The 32K F board will access 64K just by calling MAP type No. 63 - August 1983

1. If you have a 16K computer, remove the shield from around the RAM chips. The F board is identified by the fact that the shield does not cover the 6809, VDG, PIAs, or ROMs. To remove the shield, reach under the computer circuit board. You will find tabs bent under the board at­ tached to the shield. Bend the tabs to a vertical position and lift off the shield. Remove capacitors C 58, C 60, C62, C64, C66, C68, C70, and C72. Move two jumpers to the left of U21 and one jumper above U 28 down to the 64K position. Install a jumper of wire-wrap wire between the two stakes at the left of U 17; then install the 64K chips. Many programs are now supporting a check for 64K capacity and more are being introduced daily. You don't need Flex to use the extra RAM anymore. My thanks to Bob Rosen of Spectrum Projects for providing upgrade in­ structions and allowing me to pass them along. Yes, Bob does have 64K RAM chips and installation instructions avail­ able. The latest price I've seen for 4164's is $49.95 each. Next month I will have a program listing that will call and use the 64K memory map and provide a simple memory test of upper RAM.

CoCo as a Word Processor One question I often get asked is "H ow can you possibly use that cheap keyboard for any serious work?” The answer is "Q u ite w ell!" Although the keyboard is probably the largest objection to CoCo as a word pro­ cessor, it is easy for me to use. W ith the short keystroke required, I can type over 70 WPM accurately, something I can't begin to do on an Apple keyboard. If you must have a 1'professional'' board, you can install one of several add-on replacement boards. Probably the nicest keyboard I've seen is from M ark Data Products. It costs $69.95 and has the same layout as the original CoCo board. Others, in­ cluding one from Macrotron Company, have user-definable function keys. I haven't tried either of these boards. A more difficult problem with using CoCo as a word processor is its relatively small screen display, which allows only 32 characters by 16 lines. For occasional work it is tolerable, and there are several solutions. One advantage of using a word processor is that you can see the text as it might look on the printed page. There are two ways of implementing this on the commercial word processors I have seen for Coco. D isk and ROM Scripsit and Nelson's original C olor Writer use a window to look at the text. The programs scroll the text past the screen horizontally and vertically. I have never used Color Writer, but I have used both D isk and ROM Scripsit. Telew riter and the latest C olor Writer use a highresolution graphics screen to provide up to 85 characters by 24 lines on screen. The disadvantages of this method are that you m ust use a monitor (and modify CoCo to ac­ cept one), and the extra memory required for a large graphics screen is taken from the available text buffer.

MICRO

(Continued on next page) 115

(continued)

One advantage of the graphics screen is the ability to have actual lower-case letters on the screen display (which overcomes a major objection to C oC o's reverse video representation of lower-case letters). D isk Scripsit uses a graphics screen to display lower-case letters but continues to use the 32 x 16 display window; the memory penalty you pay is approximately 6K of buffer space. While on the subject of graphics display, if you have a 32K upgrade that just piggy-backs 4116 RAMs to the top of the existing 16K RAMs, you w ill not be able to use Disk Scripsit’s graphics display. The computer cannot access the upper 16K as graphics memory, which it must do in this program. Adding a lower-case hardware modification is useful when using Scripsit. The lower-case modification board from M icro-Technical Products is an excellent ac­ cessory for anyone using Scripsit. W ith this board you can have upper/lower case and the extra 6K buffer. Since I got my CoCo, I've used four word processors: a home brew, C olor Scribe, ROM and Disk Scripsit, and Telewriter. Here I discuss some of the things I like and dislike about each of the commercial programs. Hopefully you can use the information to make a decision as to which processor might be best for you.

C olor Scribe C olor Scribe from Computerware has the best and most versatile text formatter. It can handle files larger than RAM memory, change print formats from within the text, right and left justify, etc. The major reason I don't use it often is because it has a line-oriented editor. Each line must be no longer than 127 characters and must be terminated with a carriage return. The program is disk oriented and handles files well, but I can't get used to the editor. D isk and ROM Scripsit D isk and ROM Scripsit from Tandy are similar, but the disk version is more powerful. The program is document oriented with text entry a continuous process. Formatting is its weakest point. T ext cannot be reformatted from within a print; left and right justify at the same time are not allowed. The disk version does allow some simple for­ matting codes such as underline commands and font com­ mands to the printer. A powerful printing capacity in the disk version is the built-in software spooler. You have the option of printing a file to the disk and then sending the file from disk to printer. The printer w ill receive data from the disk and you can continue editing, saving or loading another file, or working on a new file. Editing with Scripsit is easy. Characters are deleted by typing over them. If you want to insert characters in a line, you must specify an insert mode. The screen display lets you see the entire page, but you have to use the arrow keys to move around the page. 116

Scripsit is relatively slow. I don't enjoy using it because I can type fast enough to fill its 32-character typeahead buffer. I don't have audio on my monitor so I do not hear the beep in the speaker that warns me the buffer is full. Consequently I miss characters. This problem is noticeable only if you are a fast typist. The program slows even more if you are printing from the spooler or using the graphics display. A disk with Scripsit on it must reside in drive zero whenever you are editing. Telew riter by Cognitec I have used Telew riter 2.0 and am currently writing this using Telew riter 64. The processor is document oriented, but the newest version contains a page-finder feature. This allows you to find out where the pages break and change text so that one line of a new paragraph is not at the bottom of a page or one line of an old paragraph at the top of a new page. The latest version allows right and left justification of text and ASCII or binary files. Using the original version with a spelling checker is difficult due to its binary file format. When entering text, you are always in the insert mode. When you type, text is inserted at the cursor. If you are in­ serting in a line, you must realign the text with a control command. The normal 51 x 24 screen display is readable even on a TV. On a monitor it is excellent. I often use the 64 x 24 mode on the monitor, though it is a little hard to read. The 85-character mode could be used for entry but is better used just to check for hyphenation, paragraph for­ matting, and page breaks. The printer routine contains drivers for all types of printers, but the Epson driver is excellent, allowing any print font, underlining, and selectable baud rates. Telew riter’s bad points are, to me, just picky an­ noyances. The page-numbering routine doesn't reset after a print, and I often find multiple prints having large page numbers. The disk version I/O routines must always be accessed through a BASIC program, which seems to take unnecessary time. Formatting is excellent, but headers always print on the top of the page following the last page of text, causing wasted paper. You cannot move a block of text in one step; instead, you must copy the block to its new position and then delete the block in the first posi­ tion. My last gripe is that you cannot have a light character on a dark screen. Letters are displayed black on a white (or green) background. As you can probably tell, my favorite is Telew riter 64. It does a good job, even with its faults. When coupled with an Epson printer, its power is surprising for a word pro­ cessor that costs well under $100.00. All in all, for the occasional word-processing task, don't sell CoCo short. Yes, there may be better wordprocessing computers on the market, and better software, but I'll bet that they don't sell for $299.00. All three of the software processors above sell for less than $70.00 each.

MICRO

No. 63 - August 1983

Rainbowfest The weekend of April 22 through 24 I attended Rain­ bowfest, a national Color Computer show sponsored by Rainbow magazine, at the Hyatt Regency Woodfield in Schaumberg, Illinois. Judging from the crowds, Rain­ bowfest will probably become an annual event. I don't know of many people associated with CoCo who weren’t there. The exhibits and seminars were top notch and the major complaint was that there was not enough room for people to view the exhibits. As I cannot begin to describe everything that went on, I will lim it the discussion to newly introduced products and to topics covered in the seminars. Addresses of the companies men­ tioned can be found at the end of the column. I saw (and heard] several voice synthesizers designed to interface with the ROM port. All of them use the popular Vo-Trax synthesis chip. One that particularly caught my attention was C olorspeak by Bumblebee Software. J&M Systems displayed a new disk controller for CoCo. This controller, totally compatible with RS DOS, contains no pots or alignment adjustments. It comes with gold-plated edge connectors standard. J& M sells several compatible drive units in attractive light-colored cases. W hile on the topic of disk systems, Amdek had their new 3 1/2” micro disk on display. One disassembled unit showed the inner workings of the two-drive 624K capacity unit, which uses a standard RS controller card. Software was everywhere. The days of poor and nonexistant CoCo software are gone. One item of note that I will have more to say about in future columns is the release of Elite*CALC from Elite Software in Penn­ sylvania. Elite*CA LC is the first CoCo spreadsheet pro­ gram to truly compare with VisiCalc. The program retails for $44.95 and contains powerful sort, graphic display, and format capabilities. Frank Hogg Labs demonstrated an upgraded Flex DOS. Frank has added fine scrolling and other niceties to the software. Yes, I have sent my original in to be upgraded. Peter Stark of Star-Kits demonstrated StaiDOS and DELS, his data-base lookup system. DBLS can read the Spell & Fix dictionary and look up any word in seconds. Pete also demonstrated Humbug, a powerful CoCo m onitor program. There were several seminars of interest for CoCo users of all skill levels. One of the more interesting presentations, called "BA SIC Faster and Better” by E.R. Bailey of Micrologic, Inc., contained a series of tips and references that allow you to write faster-executing BASIC code. Mr. Bailey has a small booklet available that covers the topics of the seminar. Micrologic specializes in u tilities for the BASIC programmer including a space remover, variable and line-number cross references, and LLIST formatter, among others. Probably the most well-attended seminar was a lastminute program with Steve Bjork. Steve works for Datasoft, Inc., which has purchased the rights for the ZaxNo. 63 - August 1983

xon video game. I was interested to learn that the Zaxxon ROM is over 960K in the arcade version. The CoCo ver­ sion is amazingly like the original and arcade enthusiasts will have trouble finding a more realistic representation. Steve's presentation included many comments about graphics programming on different types of computers. Rumors abound that Radio Shack will be coming out with two new Color Computers sometime this month. The Color II will be a smaller version of the CoCo with 64K RAM and Standard BASIC selling for $239. The se­ cond will be the 64K CoCo with a new deluxe typewriter keyboard selling for $399. Both will contain the new ROMs previously mentioned in this column. There will probably be some disk imcompatability for older CoCos with the 1.0 D isk ROM; replacing it with the 1.1 ROM will require replacing the BASIC and Extended BASIC ROMs as well. It is also rumored that the expansion port will be removed from the side and replaced with a slot in the bottom for an expansion chassis. OS9 availability is still a question mark because of the disagreement with Microware over calling the new DOS “R S9” . The Color Computer also has a "m o u se” that plugs into the joystick port. The mouse is primarily for games and will sell for $49.95. Addresses of companies mentioned in this column are listed below. Amdek Corp. 2201 Lively Blvd. Elk Grove Village, IL 60007

Bumblebee Software Box 25427 Chicago, IL 60625

Cognitec 704 Nob St. D el Mar, CA 92014

Computerware Box 668 Encinitas, CA 92024

Datasoft 9421 W innetka Ave. Chatsworth, CA 91311

Elite Software Box 11224 Pittsburgh, PA 15238

Frank Hogg Labs 770 James St. Syracuse, NY 13203

J&M Systems 137 U tah NE Albuquerque, NM 87108

Macrotron Box 3257 St Louis, M G 63130

M ark Data Products 24001 A licia Pkwy., No. 226 M ission Viejo, CA 92691

M icrologic Box 193 Brady, PA 16028

M icro Technical Products 123 N. Sirrine, Suite 106-A2 Mesa, AZ 85201

Nelson Software 9072 Lyndale Ave. S. Minneapolis, MN 55420

Spectrum Projects 93-15 86th Drive Woodhaven, NY 11421

Star-Kits Box 209 - R M t, Kisbor NY 15049

Tandy Radio Shack 300 One Tandy Center Fort Worth, T X 76102

You may contact Mr. Steiner at 508 Fourth Ave. NW, Riverside, ND 58078.

MICRO

XMCftO 117

/AlCftO Apple Slices by Jules G lider We would like to welcome Jules Gilder, our new Apple columinst. Jules is cur­ rently editor of MicrocomputerSoftware Newsletter. Previously he served as vice president in charge of computer software at C hildren’s Television Workshop (producers of Sesame Street), editorial director of the software division at Hayden Publishing, and editor of Personal Computing magazine.

I n the past, this column has concen­ trated on programs and programming techniques, which are covered quite well by the rest of the magazine. MICRO has decided to m ake it more news oriented. I'll be telling you what's new at Apple Computer these days, what new products are available for the Apple and how good they are, and pass along rumors from well-placed sources that w ill be of interest to you. Recently there have been quite a few new Apple-related products in­ troduced. This month I'm going to briefly look at three of them. In the coming months, we will be discussing additional new products and taking a more in-depth look at some that have already been mentioned. Among the item s recently introduced are a new A p p le-co m p atib le com p u ter w ith significantly more power than the Apple //e, a plug-in board for the Apple that can increase its speed by almost four tim es, a 68000 microprocessor board that will run all Apple BASIC, FOR­ TRAN, and Pascal programs at speeds up to 20 tim es faster than the Apple's 6502, and a detachable keyboard for the Apple.

Albert challenges Apple W ith the Apple look-a-like market so crowded these days, it's hard to get excited about another Apple^compatible computer, so when I first heard about Albert, I ignored it. It was only when I saw it at a recent computer show that I realized this was not just another Apple clone. The Albert is everything the Apple //e should have been, but isn’t. Like the //e, it includes upper- and lower­ case capability from the keyboard and 64K of RAM. W hile the Apple //e can 118

be expanded to 128K by adding an addi­ tional 64K of RAM on a separate card, the Albert can be expanded to 192K by simply plugging in additional chips in the empty sockets on the motherboard. In addition to this, the Albert also in­ cludes built-in parallel and RS-232 |serial) printer interfaces as well as an RS-422/423 interface for use with Ethernet or other compatible network­ ing systems. Another nice feature of the Albert is its data security lock. W ith this feature, you can keep the computer on and leave it unattended. Other features of this new Apple competitor include audio input and digitizing circuitry for voice recogni­ tion applications, audio output of real [digitized) or artificial voices, RGB video graphics interface, clock/calen­ dar, high-speed analog electronics for fast and accurate joystick control, and a m ini graphics tablet. In addition to all these hardware features, Albert comes with five soft­ ware packages that include an en­ hanced spreadsheet, word processor, spelling checker, mailing list, and data manager. W ith all of these extras, the Albert sells for only $1595. A com­ parably priced Apple //e would cost about $2800.

Speed up with The A ccelerator For those of you who wish that your Apple could work faster, take heart. It can. A new card from Saturn Systems, called T he Accelerator n, can speed up the operation of your Apple 3 .6 times. The card, which uses a 6502B m icro­ processor, operates at 3 .6 MHz (the standard 6502 used in the Apple runs at 1 MHz) and can be plugged into any empty slot. Along with the faster micropro­ cessor, the card also contains 64K of 150ns RAM chips. T his memory duplicates the original 48K of Apple memory and adds a fast, built-in language card. When the power to the Apple is turned on, The Accelerator causes the Apple's standard micropro­ cessor and memory to be disabled and The Accelerator takes over. When this happens, all programs, including those written in BASIC, Pascal, Fortran and machine language, run about 3 .6 times MICRO

faster. The only programs that w ill not enjoy this increase in speed are CP/Mbased programs that run with a Z80 card in the Apple. To overcome problems that could crop up with interface cards that expect an Apple operating at 1 MHz, Saturn has set up The Accelerator so that whenever any input or output opera­ tions are performed, the micropro­ cessor speed is slowed down to 1 MHz. W ith this card in your Apple, the stan­ dard 6502 and memory are almost totally ignored. They are only used to ’ 1 drive the video display. Some enterpris­ ing programmer should be able to find a way to convert this slow 48K of RAM into a RAM disk or use both the original processor and memory as a smart printer buffer. Price is $599.

Add the pow er o f a 68000 to your Apple Several 68000 adaptors have been available for the Apple, but this latest one from Analytical Engines, Inc., looks like a winner. Known as the Saybrook 68000 co-processor, the board is capable of running at 10 to 20 times the speed of the Apple. The standard Saybrook board comes with an 8 MHz MC 68000 32/16 bit microprocessor, which is the same as the one used in Apple's Lisa. This is upgradeable to a 12.5 MHz processor if additional speed is needed. The board also comes with it's own 128K of RAM. Once 256K RAM chips become widely available, the board can be upgraded to 512K by simply replac­ ing the chips. The price of the Saybrook 68000 card is $1550. W hile this may seem like a lot, remember that along with the board, the user gets a com­ plete UCSD p-System with Pascal, FORTRAN-77 and BASIC compilers. T his alone normally sells for $1425. In addition, the card comes w ith an Applesoft-compatible 68000 BASIC so that m ost Applesoft programs can be run without modification. Also in ­ cluded is a 68000 assembler program. In addition to the p-System, two other operating systems will soon be avail­ able for use: CP/M 68K and UNIX. You may contact Mr. Gilder at REDLIG Systems, Inc., 2068 79th St., Booklyn, MY 11214. i|y C fta No. 63 - August 1983

Word Processing on Your Apple (Continued from page 29) have ever seen, including many sugges­ tions for custom patching, using exter­ nal terminals, and modifying printer codes. The Training Guide is written for a person not aquainted with a com­ puter and should be good for typists who are learning word processing. One of the most amazing things about WordStar is the on-screen help menus, w hich just about eliminates the need for reading the manual, if you are familiar w ith computers. The amount of on-screen help is dictated by the "help level" function that can be set from the beginning'or main menus. WordStar allows screen editing of documents up to 240 columns with horizontal wrapping of the screen! It allows rejustification of margin set­ tings on-screen, and does on-screen left, right, and center justification. The softw are also im plem ents printer spooling with no additional hardware. WordStar has hyphen-help, continous scrolling, block moving — not only horizontal blocks, but vertical columns — and a multitude of printer controls. It is next to impossible to exit the system without saving the file. Word­ Star does spelling ch eck in g and mail merge with additional programs from Micropro. All of this comes at a price. Because WordStar is available for so many dif­ fe re n t co m p u ters, th e ro u tin e s, especially the screen routines, are necessarily general. This causes the program to be slower in execution speed than some more specifically 80-column Apple oriented. It doesn't

M L

V

1 !

-

U) >

W '-.ir '.J

S I- i ' / O . E h F WTv I ! E

-

v •• / -

" -

/.

ri_ n - .! ; ,

IF F

i- i. m ' j ;. jh f

I :i jl- t f. F'

F

c H m ra c ft'k S - A 'E

r h it

M AcM j

LU F>E. R

Kf-L n jh k nrtCP' i fcil IF !• F:p U iJ R i)

CHUNi

s f -v f

1j E: r

l.'K F I I IE; -

I UP'

I H,

!b W

A

m .i’ F i- f_ f M -,1 fvl.j

! J l. I - 'C L E A F *

iF .

H I'U r l

M iN ijI

v

rh'-.r h:11 f r h - j •

u . m jv h '- i CF

IMF-

I F •. I

L' ’ I- i - 'J I F

. r,,:

I N ) 1 ( m L i-:if-i

C'L l~M [ L E-1 ‘

L O r - l l ih i N b ,

■ -.F riC i

F < ;F

'I I I- r_

i

i 'j i'

fH C

F i.'h 'l

MM

C F -F -F .

1 - L iU

Ti-IKl 1 ' i f E ' I Ir I1 If'-1 r i I Mm I

-

i h-

No. 63 - August 1983

,r J

L 'I'

hr ; T

i. I. i 1F F .

i ‘ i f^ fiv fn

; . 'i

( i r,

''

L te

......

* w -:”

LD i i

;

iv ,

-.1 '. ' m M i F

• F

~#A E

Change

- - D

Le i e t v Get

r .- j

t

■SXI .*»

t f i ■’

.t

c i,1 i-j ■r J w r . p ! F -*• 1 1 t- ■, h , - m . ! -j f.. + 1 ■: P r ► .

H e lp

EC

is

In s e r t

EDI EF

M in !>'• l t ' t * > o ( 1 1 V

t ;

^ ■•, ,.. ; t t.,->

- FtL M a #R

- * s

J u.iip

p m

r ; i; - j r

t i l l

1 ; ne -r ,

L is t

1 ir;

w ;r-:

d e rin s -?

M acro

O n g m

o-f

C lui t

R e co rd

rtE R * ES EV

le n g th

Save

lin e s

T a le

rcacra

d e le te

lin e

in s e r t +

Fr li'te r

cmd m acr C O

Fead

'

iTiad'..-

f i l e

ca s b e t t s S -vo V :d e n mode

EW$

W r l t e?

FX

E: . l t -T) •31' I <

L E lE ’ t

L [M L

»

i.fj

!

■ F [r JD

H

l y iJl ’ l '

' L T F' f.

I

IM iE iR T ■11. f** V'

M jR W h R D

M i l

f.

1

[ I i l

L IN f:

nFFfTNE)

u

-

cu-.w

A

F

IN I HE

FHf-

GET

t ' U F F E. (•'

urjH AT'

C U F/iQ R

L H h K m C TE R

THE

CURSOR

CURRENT

1' EXT

P ILE

THE

h

RAGE

A U D IO

T

l.L IC

F

CURSOR

( G v 'E R 'F 'R If JT ;

ADVANCE

C 'U IT fc.PL A C E

A

S

-

SAVE

'r

-

SET

U

-

S E T /C LE A R

THE

FHRAEE

THE

TEXT

TEXT

TA B S

RE^T SPACE

F i. i tl?

tf x i

rn .E

TOGGLE

-

The Executive Secretary is one of only two programs that I could type in a letter, save it to disk, and print it on the printer w ithout reading the manual. It can be done on WordStar because of the complete screen menus. It can be done on the Secretary because of the sim plicity and user friendliness of the program. The program is copy pro­ tected; you can receive a backup by returning the registration card. In addi­ tion to the w ell-w ritten 89-page manual, there is a sketchy reference card and a lower-case IC for installing in the Apple ] [ + keyboard character generator socket. This program operates on standard text files, can use files from other pro­ grams such as Visicalc, and includes utilities for transfers between disks and to and from a modem. It also includes a form letter option, conditional print­ ing, document indexing, headers and footers, preprinted forms and a card file function, which w ill do mailing lists. It recognizes most 80-column cards and displays lower case in 40-column mode. The Secretary is the easiest to use of the word processors listed. MICRO

AT

F -

thf

rl-X !

(Lh F

CURSOR

u>

TEXT

Fhfc

THE

M ’J D E

F H R, 4 ' - F :

rHf-tRA !. T L R S

-

SOF/SYS, Inc.; 4306 Upton Avenue South; Minneapolis, MN 55410

OF

' >f-c'v'L

R

The Executive Secretary — Word Pro­ cessing System

gf

ME : R

O

scroll the entire screen when scrolling quickly through the text, but just the cursor line, reprinting the entire screen when you stop scrolling. However, the on-screen formatting makes this the most "w h at you see is what you get" word processor around.

fn d

'i

-!

f F- x r QF F< I

i he;

to

i u t / p a s t e

1. H f - N G t

H

'.J

■ iF-

F F G ir.N H .'C j

^

Wr i t f j

f l i

t

1■■

I

1 Q,uM jc r

tF

pro gram

(:r ;E

THE

F L 1~E F '! t - ( ;,' E : . n e o

f i t '.

Ff - = .)

1

t

t c-

I C]

3'

; : h . 1 -. * n c > j B fjin n in q

- - C*

FOR

( JF

UPPER

CASE

FLAG

C IS T

L IS T

-

CR

10

RETURN

TO

E D IT O R

The screen display is a good representation of the final printout, unless the document is more than 80 columns wide (it allows up to 240 col­ umns). The Secretary does rejustifica­ tion, but on the whole, the screen up­ dating is extremely slow. The editor is good at creating a new document and fair to poor at editing an existing one. The insert mode throws everything after the cursor to the bottom of the screen. The ESCape key changes from "ty p e " to "e d it” , but not vice-versa. "R eturn ” to move the cursor up a line is certainly non-standard. The cursor itself, an inverse up-arrow, covers the letter at the current location. There is no type-ahead buffer so that the cursor movements, which are slow, cannot be speeded up with the repeat key. While a full-featured text editor, I wouldn't want to use the Secretary for many long documents that needed many changes.

Magic Window II — Word Processing System ARTSCI, Inc.; 5547 Satsuma Ave.; North Hollywood, CA 91601 Magic Window offers several screen modes — 40, 70, or 80 columns. The 40/80 mode is for standard character display with horizontal scrolling for 80 columns. The 70-coluinn mode uses the high-resolution graphics screen and allows 70 columns across. The screen display routine is fast for scrolling and insertion but the characters are dif­ ficult to read. The 80-column mode ap­ pears to recognize standard 80-column (Continued on next page)

119

FID -> Easywriter additional coiiwMndj A D C■ [ T I G MA !_ : UMMMNL !>1 - NAPGIN GETTINO:\ A - ALIGN 1 TAc' GLTUNL-. C - CENTER ALINE L - uJOFf, LG.INF F - rAC.r zt-r r1NGG H - HMI SETTING'.; F f-TGL' JFILUFf LFINTFF CF - EXIT Ti' t L11: ijfJ - JUSTIF' >' LIN-'OFF 0 - C•L,rGM!;F[r. 1E.f\ Lhf-iP' H(-iN L) KEF'lAGL COMMAND: --- -+----+---- +-----+ --+-- —+___ . . .. .+ -... +__ F ig

4

S e le c t

Form at f lr 'it

O p tio n

fra i n m enu le t t e r of

:

each

cateqor ,

Load Save New p a g e

R e p la c e G ld p ag e

cards, and presents the clearest on­ screen display. The 164-page documentation is complete and well written, especially for the novice. In addition to the pro­ tected program disk, you receive an I/O drivers disk and a color-coded quick reference card. For $20 you can receive a backup of the master disk. The pro­ gram is easy to use and has the function keys grouped in sections. The color coding on the card makes finding the keys for the commands easier. The insert command only inserts one letter at a time and only allows in­ sertions until the total line length is reached, not wrapping additional words to the next line. It is necessary to split the line to insert words and sentences, and then rejustify the text a line at a Magic Window also includes a set of commands to work with "unformatted" files. This includes standard text files made with another program such as time. The cursor, a blinking covers the current letter.

-^hcr.ild b e

D e le te P rin t.

nwer it

if

o n iis ib lf

G a ta io q u e In itia lise * Boot te ::t M a ilin g l i s t Fi:< p a g e s

Visicalc, or BASIC programs. ARTSCI also publishes Magic Words, a spelling checker, and Magic Mailer, a mailing list program, that are compatable with Magic Window. This is an easy-to-use program, compatible with all types of hardware, with some lim itations on screen display.

7

A p p le

H ELP

w rite r

SCREEN

h e lp

m enu

MENU

1.

Command Sum m ary C u r s o r M ovem ent 3. U pp er/Lo w er C ase 4. D e le te / R e c o v e r T e x t 5 . Tabs b. G l o s s a r y ^ S a v in g F i 1e s . L o a d ng F i 1e s 9 . F i n d / R e p l a c e T e:: t . Em bedded P r i n t Commands

2. i 7 8

1

10

E n te r

120

Your

S e le c tio n

< 1 — 1 * e

>3//

Shipping & H andling Charges:

First two (2) items - $2.00 per item. Three (3) or more items - $1.00 per item. For orders over $100 total, surface shipping will be paid by CompuServe. Blue Label or special handling will be paid by the customer. Additional $2.00 C.O.D. fee on all C.O.D. orders. MasterCard and Visa accepted. Give card number and expiration date on order form. Allow three (3) weeks for personal checks. TO OR D ER: P.O. B o x 18765 W ic h it a . K S 6 7 2 1 8

m

g y

^

@0

(316) 263-1095

Write for FREE Catalog! VIC-20 or C-64

P rice s s u b je c t to change. VIC -20" is a registered trademark of C om m odore

No. 63 - August 1983

MICRO

135

M enu-driven Copy U tility

Software Catalog (continued)

TRS-80 Color Author Color Author allows educators (without previous experience) to create in­ structional m aterials for delivery on the TRS-80 computer. The system is menu-driven w ith options listed to guide the user through the lesson-creating process. Lessons consist of a series of frames, which may contain tutorial text, questions, and graphics. Special display features of Color Author include nor­ mal and double-sized text, reverse video, underlining, b o ld -fa c e , and sp e cia l g r a p h ic s c h a r a c te rs . Graphics can be created for frames by using a joystick, and feedback messages and hints can be set to appear after correct and incorrect responses. Available from Radio Shack.

Price is $15.00 ppd. for ca s se tte or $ 2 0 .0 0 for diskette. Available from C O C O P R O , P .O . B o x 37022, St. Louis, MO 63141.

C O L O R CO P Y is a menu-driven copy utility for the TRS-80 Color Com ­ puter th at copies data files or programs — disk to tape, tape to disk, or disk to disk. It also kills files or programs. M any options are pro­ vided: it copies basic pro­ grams, m achine-language programs, or data files; allows selection by groups of filenames or extensions, or individual files by menu selection; writes multiple copies of files to tape; backs up a disk to tape; restores a tape to disk; copies files in alphabetic sequence, and m uch more. W ritten in BASIC with machine-language subrou­ tines, C O LO RC O PY re­ quires 32K and DOS. It is supplied on cassette or d isk ette w ith com plete instructions.

Genealogical Software System for the Apple

The Family Connection Software from Hallie Diet! w ill make your Apple II computer more p o p u la r th a n your r e f r ig e r a t o r . S e le c t e d features include: your ideal weight and calories needed to m aintain that weight, ef­ fect of exercise on weight loss, weight charts, insults or c o m p lim e n ts (your choice!) about your weight change, and more! Visual prompts, anytime review of d ir e c t o r ie s , and " n o calorie” menus make this program especially easy to use. D iet! sells for $15.95 and is available from Hallie S o f tw a r e , B o x 4 3 8 3 , Auburn Heights, MI 48057.

is a p o w erfu l, handy genealogical program that is available from Discovery Software. It will allow you to create and m aintain a series of individual records about each member on your family tree. Th e Family Connection is designed for the Apple II series of com­ puters (or an Apple II workalike) with 48K of memory and two disk drives (using DOS 3.3). A printer is op­ tional, but recommended. Price is $99.50. Contact Discovery Software, P.O. Box 68821, Indianapolis, IN 68821 or P.O . Box 9336, C in cin n a ti, OH 4 5 2 0 9 ; (317) 291-1433.

(Continued on page 138)

TELECOMMUNICATIONS ontheVIC and’6 4 ! “A versatile and exceedingly well-done package.” David Malmberg, MICRO “Simply the best & nicest VIC terminal software I have seen.” Greg Yob, CREATIVE COMPUTING We created quite a flurry and earned rave reviews with Terminal-40, the unique software that transforms the VIC screen into a 40-column smooth-scrolling display. And with features like a Receive Buffer and VIC printer dump, Terminal-40 sets a new standard for personal modem communications with networks such as CompuServe and Source. Our ’64 Terminal does the same quality job for the ’64.

S fc F

v ^ ---------M O O EM L ^ S fc fc ^ : _______

_.

^

jj jf a H P

And now there’s even M O R E !!! SuperTerm for the VIC and ’64 supports text storage to disk or tape and program UPLO AD/DOW NLOAD. SuperTerm, used with our Sm art ASCII interface, also supports popular parallel printers.

Choose the one right for you. Call or write today for the “best”, th e n . . . For the VICS u p e r T e r m .r ^ tax «>pi

S29.95 C all

For the Commodore 64: ’64 Term inal

S29.95

T e r m i n j l 4 0 n i « • ntai

SuperTerm

a

E

n

A

d

C

B

H

Y

O

T

E

U

T

S

O

M

E

O

N

E

!

Call

M ID W E S T M IC R O me 311 W 72nd ST • KAfi

136

R

O RDER DESK:

(8 1 6 ) 3 3 3 -7 2 0 0

Send tor a fre e brochure describing our.

• M O •6 4 1 1 4

H*

MICRO

M A IL ORDER- Add $t.50 shipping and handling ($3.50 for C O D > VISA/M^ste'C-vd hH 'i it u--

[PDF] Word Processing in - Free Download PDF (2024)

FAQs

What is word processing in PDF? ›

Word processing is an application program that allows you to create letters, reports, newsletters, tables, form letters, brochures, and Web pages. Using this application program you can add pictures, tables, and charts to your documents.

What are the 10 features of word processor PDF free download? ›

Key features include the ability to save, open, copy, paste and search text, as well as apply formatting like fonts, styles, page numbers and headers/footers. Word processors also enable the insertion of tables, graphics, footnotes and macros to automate repetitive tasks.

How to convert Microsoft Word to PDF? ›

Select Save .
  1. Select the File tab.
  2. Select Save As . ...
  3. In the File Name box, enter a name for the file, if you haven't already.
  4. In the Save as type list, select PDF (*.pdf) . ...
  5. Select Options to set the page to be printed, to choose whether markup should be printed, and to select output options. ...
  6. Select Save .

How to edit a PDF file for free? ›

How to edit PDF files online
  1. Choose a PDF to edit by clicking the Select a file button above or drag and drop a file into the drop zone.
  2. Once Acrobat uploads the file, sign in to add your comments.
  3. Use the toolbar to add text, sticky notes, highlights, drawings and more.

How do I convert a PDF to a word processor? ›

How to convert PDF files into Word documents:
  1. Open a PDF file in Acrobat.
  2. Click on the “Export PDF” tool in the right pane.
  3. Choose Microsoft Word as your export format, and then choose “Word Document.”
  4. Click “Export.” ...
  5. Save your new Word file:

Is a PDF word processed? ›

Word processing software supports various file formats for saving your documents. Common options include DOCX (Microsoft Word), OpenDocument text (ODT), portable document format (PDF), and rich text format (RTF). These formats ensure compatibility with different software and allow easy sharing or printing.

Is converting Word to PDF free? ›

Convert Word to PDF: A free online converter. Adobe Acrobat. Create, edit and sign documents with our all-in-one PDF and e-signature solution.

Why can't I convert Word to PDF? ›

Make sure the document is not checked out

Ensure that the document you are trying to convert is not checked out by another user. You need to able to check out the document to convert it to PDF format.

How do I stop my Word document from converting to PDF? ›

Choose "Options" at the bottom of the left navigation pane. In the Word Options dialog, go to the "Save" category. Look for the "Save files in this format" or a similar option. Ensure it is set to "Word Document (*.

Is there a 100% free PDF editor? ›

EaseUS is a free PDF editor that offers options to read, create, edit and convert PDFs both in program and online. The streamlined interface allows you to edit or convert with ease for any formats like doc, excel, ppt, jpg, png or epub, even merge, split, compress, watermark e-sign or OCR PDF files.

Is there a free PDF editor download? ›

MiniTool PDF Editor 2.0. A comprehensive PDF file manager free to use. MiniTool PDF Editor is an all-in-one PDF editing software that enables you to convert, merge, split, compress, extract, and annotate PDF files in a flash.

Why can't I edit a PDF for free? ›

The PDF document is password-protected

The creator set up a password to protect PDF documents from being edited or tampered with, that's why you can't edit PDF documents.

What do you mean by word processing? ›

Word Processing refers to the act of using a computer to create, edit, save and print documents. In order to perform word processing, specialized software (known as a Word Processor) is needed. One example of a Word Processor is Microsoft Word, but other word processing applications are also widely used.

What is the word processing in Adobe? ›

Adobe InCopy is a professional word-processing tool developed by Adobe Inc. It integrates with Adobe InDesign. While InDesign is used to publish printed materials such as magazines and newspapers, Adobe InCopy is used for general word processing.

How would you convert a word processing document to PDF? ›

Open your Word Document, and click the "File" Button in the upper left corner.
  1. Click the "Save As" button. ...
  2. Next to "Save as type:", select "PDF (*. ...
  3. You can check whether or not the file converted correctly by opening the PDF file with Adobe Reader and reviewing its contents.

What is document in word processing? ›

Text documents refer to as word-based documents like letters, tables, reports, publications all of which are products of the application of word processing software on the computer system.

Top Articles
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 6411

Rating: 4.2 / 5 (73 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.