Skip to main content

Full text of "Antic Magazine Volume 8 Number 03 (Atari Glyphics)"

See other formats


The ATARI' 



U.S.A. $3.95 CANADA $4.95 
JULY 1989 
VOLUME 8, NUMBER 3 






"74470"12728" 




American Techna- Vision 



For Orders Only - 1-800-551-9995 
CA. Orders / Information 415-352-3787 



No surcharge for VISA/MasterCard 
Your card is not cfiarged until we ship 



SPINNAKER 

EDUCATIONAL CARTRIDGES 
Cartridges work with al Alaf i 8- bit Corrpulere 



• Kindercomp 

■ Fraction Fever 

■ Alphabet Zoo 

■ Story Machine 



' Delta Drawing 
' Kids on Keys 



$9 



50. 



HOT DISK TITLES 

■ Video Title Shop 

• ChessMaster 2000 

• Alternate Reality the City 

• Alternate Reality Dungeon 

■ Tomahawk (64K) a- j ^cn 

■ Bismark $ "j ^^^g 



WORD PROCESSORS 

Bank Street Writer Disk $17.60 

Cut & Paste Disk $17.50 

AtariWriter Cartridge $29.95 

DATA BASE 

Data Perfect by LJK is a high-powered 

generaJ purpose dala-base for use in dozens 

d applicslions. Create your cwn mailing lists, 

Lbusiness database, etc $CALL . 



800 4 PIECE BOARD SET 

Includes Main Board. Power Supply 
Assembly. CPU Module and 10K 
Revision B Operating System Module. 
All boards are new, tested and complete 
with all components $28.50 

800/400 MODULES 
NEW PARTS COMPLETE WITH IC'S 

• CX853 16K RAM MODULE .... $9.50 

• 800 MAIN (MOTHER) BOARD . $9.50 
•800/400 CPU Module with GTI A $9.50 

• 800 10K "B" O.S. MODULE . . . $9.60 

• 400 MAIN (MOTHER) BOARD . $9.50 
•400 POWER SUPPLY BOARD $9.50 
■ 800 POWER SUPPLY BOARD $14.50 

INTEGRATED CIRCUITS 



• C014795 . 


. $4.50 




•CO 14806. 


.$4.50 


1050 IC'S 


• C0 12296 . 


.$4.50 


• U7 - 6532 $6.60 


•C0 10745. 


. $4.50 


• U8 - 6810 $4.50 


•C0 14377. 


. $4.50 


• U9 - 6507 $4.50 


•CO60472 


.$4.60 


• U10 ROM $19.60 


•C0 12298. 


. $4.50 


• U13 2793 $19.60 


• C012399B 


$4.60 


■ U5 LM2917 $8.50 


• C0 124998 


$4.60 


All other IC'S 


■ C014599B 


$4.50 


$3.76 each 


•CO 14806. 


.$4.50 


Specify by Socket* 


• C0 10750 . 


.$6.50 




•C0 12294. 


.$8.50 


850 INTERFACE 


•C0 10444. 


. $8.50 


12 Piece Chip set. 


• C021697 


$15.00 


Includes all plug In 


•COei991 


$15.00 


IC'S except ROM. 


• C061598 . 


$20.00 


Replacement fixes 


• C061618 


$20.00 


vast majority of 850 


•C024947 


$15.00 


failures $19.50 



1050 MECHANISM 



Factory fresh TANDON mechs. 
make difficult repairs a snap. Units 
are complete with Head, Stepper, 



Spindle motor, belt etc. Just plug in, 
no difficult alignments or adjust- 
ments required (t i—tcn 

*4/ 



VISICALC 

SPREADSHEET 

Unleash the corrputing power * j 095 I 
d your 8 bit Atari withVisicalc. | y I 
Compute everything from home qisk 
finances to high powered finan- 
cial projections. Hundreds d uses. 



XL 40 PIN LSI CHIP SET 

A Complete set of 40 Pin Large 
Scale Integrated Circuits for your 
800XL, 600XL or 1200XL computer. 
Great for quick repairsl Set 
contains one each of the ^ . ,. nc I 
following: CPU, GTIA, $"1Cyo| 
ANTIC, PIA AND POKEY. ' '«-' 



REPAIR MANUALS 

SAMS Service Manuals for the 
following units contain schematics, 
parts listings, labelled photographs 
showing the location of 
checkpoints and more! A special 
section gives oscilloscope and 
logic probe readings allowing you 
to narrow the malfunction down to 
a specific chip or transistorl 
800, 800XL, 130XE, 400, 1025 

and 1050 $19.50 each 

520ST Service Manual. $37.50 

MISCELLANEOUS 

1027 INK ROLLER $6.50 

13 Pin Serial I/O Cable $5.95 

ACE Joystick $7.95 

800XL RF IvVjduiator $9.50 

1050 Track Sensor $8.50 

2793 1050 Controller IC . . . $19.50 

U.S. Doubter $29.95 

SPARTADOS Tool-Kit... $32.95 
Paddle Controlters (Pair) . . . $6.50 

400 3 Piece Board Set $19.50 

Fastchip for 800/400 $15.50 

Rambo XL w/o RAM IC's $39.95 
850 or PR N/lodem Cable . . $14.50 
850 or PR Printer Cable . . . $14.50 

Printer Interface $39.95 

I/O 13 Pin PC connector . . . $4.50 
I/O 13 Pin Cabte end plug . . $4.50 
ST 6' Disk Drive Cable . . . $14.00 
ST Monitor Cable connector $5.50 

ST Oive Cable plug end $6.50 

5 V4" Drive Cable $23.95 



CALL TOLL FREE 
1-800-551-9995 

IN CALIF. OR OUTSIDE U.S. 
CALL 415-352-3787 



"GROWER PACKS 

Exact replacement trans- 
former for 800/400. 1050 
810, 120OXL,8S0,XF551& 
1020 units. Part «C017945. 



$ -|450 



XL/XE SUPPLY 

PoABLPakteir KICIX_L,e0OXL $ /^ COO I 



130XE, 65XE & XE Game. 



'25^ 



THE BOOKEEPER 
AND CX85 KEYPAD 

You get botti Atari's 8 bit 
professional bookeeping $"10951 
system and the handy CX85 ' ^ 
numeric keypad for one low 4 DISK 
price. Packages faaory sealed. SET 



KEYBOARDS 

New and corrplete subassembly. 
Easy internal replacement. 

130XE/65XE $35.00 

800 $40.00 

800X1 $29.50 

400 $12.50 



COMPUTER BOOKS 

Atari Playground Workbook $7.95 
HackerBook Tricks & Tips 

Inside Atari Bask; 

Atari Basic Ref. manual. 
How to Atari 6502 Program 
Write Your Ovm Games. 
Programmers Ref. Guide : 
Assembly Language Guide 

XE Users Hatxibook 

XL Users Handbook 

Atari Basic Faster & Better 

■Vour Atari Computer .... $17.95 

SERIAL I/O CABLE 

High Quality, 13Pin $5.95 

MAC-65 CARTRIDGE 

6502 Machine language Macro- 
Assembler. First class tool for 
serious programmers. . . $59.95 

ATARI 850 INTERFACE 

Bare PC Board with parts list and 

crystal $7.50 

Board & all plug in IC's . . . $39.50 

PR: CONNECTION 

Serial/Parallel Interface br connecing 
modems and printers $65.00 

BASIC CARTRIDGE 

Exact replacement for 
800/400/ 1200XL $15.00 

ANIMATION STATION 

Graphics Design Tablet $74.95 

DISK DRIVE REPAIR 

Flat service rate 1050 $75.00 

Flat service rate 810 $69.50 

Include $7.00 return shipping & Ins. 



rtrldges lof aJ 8 bit Atari corrputers ' 

' PAC-MAN C«rSli)9» $4,00 

DELUXE INVADERS Cartridge $4 00 

JOURNEY TO THE PLANETS Carl $4,00 

DONKEY KONG CarOitlgo $5 00 

KINDERCOMP Cartridge $9,50 

STORY MACHINE Cartridge $9.50 

MILUPEDE Cartridge $10,00 

CAVERNS OF MARS Clwtridge , $14,50 

ATARIWRITER Cartridge $29,95 

TURMOIL Cartridge $500 

CROSSFIRE Cartridge $7,50 

SPRINGER Cartridge $7,50 

LINKING LOGIC (Fish€r-FVice)CarL $9,50 
ADVENTURE CREATOR Cartridge $12,50 

ZONE RANGER Cartridge $12,50 

SILICON WARRIOR Cartridge , , , , $12,50 
MATH ENCOUNTER Cartridge ., , $12,50 

UP FOR GRABS Cartridge $12,50 

PILOT LANGUAGE Package $17,50 

SPARTADOS-X Cartridge , , , , $59,95 

ACTION OSS Cartridge $59,95 

MAC-65 OSS, Cartridge $59,95 

BASIC XE OSS, Cartridge ,, , $59,95 

H-TIME 8 Cartridge $56,95 

BASIC XL OSS, Cartridge , , , $49,95 
DISK TITLES 

VISICALC Spreadsheet $19,95 

BOOKEEPER 8 CXS5 KEYPAD , $19,95 

MISSION ASTEROID Disk $5,00 

DAVID'S MIDNIGHT MAGIC Disk $5,00 

SPIDER MAN Disk $5,00 

HUMAN TORCH S THE THING,,, $5,00 

MUSICAL PILOT Ed, Disk $5,00 

CON-PUTATiON Disk $5,00 

DEBUG Childware Disk $5,00 

CRYSTAL RAIDER Disk $5,00 

DISPATCH RIDER Disk $5.00 

MASTER CHESS Disk $5.00 

SPEED KING Disk $5.00 

LAST V-8 Disk $5,00 

CHAMBERS OF 20RP Disk $5,00 

PATHFINDER Disk $5,00 

MATCH RACER Disk $5,00 

ALIEN AMBUSH Disk $5,00 

WOMBATS 1 Adventure Disk , , , , $5,00 

NINJA Disk $7,50 

ELECTRA-GLIDE Disk $7,50 

SPORTS SPECTACULAR Disk , , , $7.50 

THE GAMBLER Disk $7.50 

STRATOS Disk $7,50 

FUN IN NUMBERS Disk $7,50 

MIND MAZES (Educational) $7,50 

MONEY TOOLS (Financial UHIily), , $9,95 

DIG DUG Disk $9,95 

REPTON Disk $9,95 

REAR GUARD Disk $9,95 

TECHNA-COLOR DREAM Disk, , $9,95 

FREAKY FACTORY Disk $9,95 

LASER HAWK Disk $9,95 

ROCKET REPAIRMAN I5isk $9,95 

CESTE LA VE Disk $9,95 

WOMPER STOMPER Disk $9,95 

OLIN EMERALD (Jr.. Adv,) $9,95 

MOVIE MAKER (Graphicsl $9,95 

FINANCIAL COOKBOOK $9,95 

SONG WRITER $9,95 

COUNTINGS ADDING with Tink,, $9,95 

PROTECTOR Disk $9,95 

CHESSMASTER2000 $12,50 

GFWNDMA'S HOUSE (Educational) $12,50 

DFIOP20NE Disk $12,50 

CASTLE WOLFENSTEIN Disk , , , $12,50 
BEYOND CASTLE WOLFENSTEIN $12,50 

ALIANTS Disk $12,50 

MOUSE QUEST IJsk (64K) $12,50 

ELECTRONIC DRUMMER [Jisk , , $12,50 

STOCK MARKET Game $12,50 

PIFWTES OF THE BARBARY COAST $12,50 

NICKERBOCKER Disk $12,50 

BOULDER DASH Construction Set $14,95 
MIDWAY BATTLES War Game . . $14,95 
MOONMISTdnlocom Adventure) $14,95 
MIND SHADOW Adventure 64K.. £14,95 

HACKER Adventure $14,95 

SEA STALKER Adventure $14.95 

STATION FALL Adventure $14,95 

HOLLYWOOD HIJINKS Adventure $14,95 
LURKING HORROR Adventure,, , $14,95 

SSI 50 MISSION CRUSH $14,95 

SSI BATTALION COMMANDER , , $14,95 

SSI PANZER GRENADIER $14,95 

SSI FIELD OF FIRE $14,95 

SSI GEMSTONE WARRIOR $14,95 

MASTERTYPE (Typing Tutor) ,, , $15,00 

BANK STREET WRITER 517,50 

CUT a PASTE W,P, Disk $17 50 

SPARTADOS CONST SET , , , , $39,50 

DATASOFT DISKS 

VIDEO TITLE SHOP $12 50 

ALTERNATE REALITY (Tile Cily) $12,50 
ALTERNATE REAUTY The Dungeon $12,50 

ZORRO Disk $9,95 

SARACEN Disk $9 95 

GUNSUNGER Disk (64K) $9,95 

TOMAHAWK Helicopter Game 64K $12,50 
THEATER EUROPE War Game. , $12,50 

BRUCE LEE Disk $12,50 

CROSSCHECK Disk $12,50 

MERCENARY Disk $12,50 

THE GOONIES Disk $12,50 

CONAN Disk $12,50 

NEVER ENDING STORY (64K) , , $12,50 
L221 BAKER STREET (64K) ,,,, £12,50^ 



AMERICAN TECHNA-VISION 

I Mail Order: 15338 Inverness St., San Leandro, Ca. 94579 
Repair Center: 2098 Pike Ave., San Leandro, Ca. 94577 

(Terms: NO MINIMUM ORDER. We accept money orders, personal checks or 
C.O.D.s. VISA, tWlaster/Card okay. Credit cards restricted to orders over $18.50. No 
personal checks on C.O.D. - Shipping: $4.00 shipping and handling on orders under 
$150.00. Add $2.75 for C.O.D. orders. In Canada total $6.00 for shipping and 
handling. Foreign shipping extra. Calif, residents include 7% sales tax. All items 

I guaranteed 30 days from date of delivery. All sales final.. 

Prices subject to change wgroit notice. Send SASE tor tree price list Atari is a reg »a1«nark of Atiri Cc»p 




^^ ^^ The> ATARI' Bocol irro 



FEATURES 



JULY 1989, VOL. 8, NO. 3 



Egypt Calendar: 
Page 20 



PlSSti^' 



8 MACHINE LANGUAGE STRINGER by Andy Barton 

Save 7 seconds on each BASIC subroutine type-in Software 37 



n OPERATING SYSTEM DEVICE HANDLERS: PART II 

by Bob Martin & Martin Mercorelli 

Customizing your Atari I/O type-in Software 38 



20 EGYPT CALENDAR by Chris Carrier 

Convert today's dates to the ancient Egyptian system. . type-in Software 28 



25 FLASH! by Ernie Negus 

Light show with a hidden message 

DEPARTMENTS 



, type-in Software 36 



Page 2 5 



SUPER DISK BONUS 



17 EXWALL by Andy Barton 

Futuristic tank battle for two players. 




FEATURE APPLICATION 
18 TAPETIME LABELMAKER by Gary Coppola 
Printing your VCR log 



. type-in Software 29 



GAME OF THE .MONTH 
24 RED SQUARES by Marc Abramowitz 

Challenge for your mind and your reflexes 



. type-in Softtvare 33 



Red Squares: 
Page 24 



SOFTWARE LIBRARY 5 Easy-To-Type 8-Blt Listings 



27 TYPO II, SPECIAL ATARI CHARAaERS 



5 I/O BOARD 
43 TECH TIPS 



44 CLASSIFIED ADS 

45 ADVERTISERS LIST 



Antic— rhc Atari Resource (ISSN 0745-2527) is published monthly b)- Antic Publishing, r.diioriul offices are locared at 544 Second Street, S:in Francisco, CA 9-t 107. ISSN 07(5-2527, Second Clxss Postage 
p:iid itt San Francisco. California and additional mailing offices, POSTMASTKR: Send address cliangc to Antic, The Atari Resource, P.O. Box 1569, Martinez, CA 94553. Subscriptions: One year (12 issues) 
S2R. Canada and Mexico add S8, other foreign add SI 2. liisk Edition (12 issues with disks) S59. 95, all foreign add S25. (California residents add 6'/;% sales tax for disk subscriptions. Editorial submis- 
sions should include text and program listings on disk and paper. Submissions will be returned if stamped, self-addressed mailer is supplied. Antic assumes no responsibility for unsolicited editorial 
material. No part of this publication may he reproduced, stored in a retrieval system, or transmitted, in ;uiy form or by any means, electronic, mechanical, photocopying, recording, or otherwise, 
without the prior written permission of the publisher Antic is a registered inidemurk of Antic Publishing, Inc. An Information Technology Company Copyright ©1989 by Antic Publishing. All Rights 
Reserved. Printed in USA. 




fidiYonrAlariST! 

Subscribe to START magazine with M 




Tutorials on START Disk brings 
the expertise of top ST program- 
mers right into your computer 



Manage the power of your 
SX and make your computing 
more enjoyable with utilities 
on STart disks. 



Outstanding animation and 
graphics from the best ST artists 
around, from START Disk right 
on to your screen. 

Stimulate your imagination and 
your reflexes with games on 
START Disk! How-to tutorials 
show you how to write your 
own pulse-pounding games. 



Subscribe WaKall 1-800-234-7001 



Use your Visa or Masleifai'd 



James Capparell 
Publisher 

John Taggoft 
Associate Publisher 

EDITORIAL 

Not Fridland 

Editor 

diaries Jackson 

licbnicaj and Online Editor 

Carolyn Cushman 

Assistant Editor 

Marta Deike 

Editorial Coordinator 

ART 

Kathleen MiKeown 

Creative Services Director 

Jim Warner 

Art Director 

Dwight Been 

Associate Art Director 

Georgio Solkov 

Photo Editor and Cover Photography 

Julianne Ososke 

Production Manage 

Kale Murphy 

Advertising Proditction Coordinator 

Jim Green 

Ticbnical Assistance for 

Cover Screen Shot 

CIRCUUTION 

Manny Sawit 
Director 

Amber Lewis 
Subscription Coordinator 

Ann Dunlap 

Retail Sales 

Dennis Swan 

Distribution Coordinator 

(415)957-0886 

ADVERTISING 

Marketing Manager 

Diane Van Arsdall 

Eastern Sales Sepresentatives 

Denny Itiley 

Wistem Saks Representative 

Austin Holian 

(415)957-0886 

ANTIC PUBLISHING, INC. 

James Capparell 

President and Chairman of the Board 

Donald F. Kidiard 

Richard D. Capparello 

Directors 

Lee Isgur 

Advisor to the Board 

John Taggart 

Vice President 

John Cody 

Controller 

GENERAL OFFICES 

(415)957-0886 

544 Second Street, San Francisco, CA 94107 

Credit Card Subscription and Catalog Orden 
(800) 234-7001, Visa or MasterCard Only 

SUBSCRIPTION CUSTOMER SERVICE 

(415) 372-6002 
Antic, RO. Box 1569, Martinez, CA 94553 



I/O BOARD 



MINIMON FIX 



The program MiniMon (Antic, April 
1989), wUI not run on my Atari 1200XL 
as written. For an easy fix, change Line 
1140 in Listing #1, MINIMON.BAS. The 
seven boldfaced numbers below are the 
only ones to change: 

1140 DATA 2040961322050320662 
422011601440020731281620001421820 
02164205096132205032245241164205 
096125155 

Now MINIMON.BAS will create a ma- 
chine language file called MINIMON.EXE 
that will work on an 800 or 1200XL. The 
new version will not work an an XL/XE 
without a translator. 

Paul Alhart 
Lompoc, CA 

Antic doesn't have a working 1200XL to 
check this on, but Paul Alhart has pub- 
lished a number of programs and Tech 
Tips in this magazine. — ANTIC ED 



DO 8-BITS SWIM? 

I am presently the meet manager of our 
local swim club. Our club just yesterday 
finished hosting the Provincial Champi- 
onships and I found the paperwork very 
time-consuming. I'd like to find a program 
1 can use on my 130XE, one that will store 
information on the swimmers, seed the 
swimmers, produce time cards, and print 
the information in a program format. The 
only such program I can find is for IBM 
PCs. Is there one I can use on my Atari 
8-bit? 

Jerry Parsons 

Gander, Newfoundland, 

Canada 

A spreadsheet program such as SynCalc 
could hold the information on swim- 
mers, do some mathematical figuring for 
you, and print reports of the informa- 
tion. Talk to members of your local users 
group about available spreadsheets — or 
even finding a BASIC programmer who 
could write a custom program designed 
specifically for your set-up. — ANTIC ED. 



BEGINNER'S BLUES 

Sometimes I feel like a man sitting in a 
well-equipped garage feeling frustrated be- 
cause I don't know how to use the tools. 
That's my situation with these cotton- 
pickin' computers and magazines I've 
picked up. 

Don't get me wrong. . .since getting an 
Atari XE Game System for Christmas in '87 
there's been a lot of time spent at the 
keyboard — but the potential is so much 
greater than the performance. I started 
reading Antic in early 1988, but I need 
the elementary stuff to lead the way, and 
it's been hard to find. I would like to know 
more about the different BASICs, where 
1 can find a small business inventory pro- 
gram, how to get a word processor that 
fits me. 

I hope you're thinking of us newcomers 
who aren't in school any longer Give us 
a helping hand so we can catch up with 
you. 

Bob White 
Ferndale, MI 

It's always hard to cover the needs of all 
our readers. Many of the topics you 're in- 
terested in have been covered in previous 
issues, and most back issues are still 
available. If you don't know what issue 
you want, the ANTIC ONLINE Index on 
CompuServe is the most complete re- 
source we can offer. V)u can search for 
articles, reviews and programs by title, 
subject, date and author. Very often, the 
complete text of the article is included in 
the index itself. 

Users groups are also an excellent 
source of help, and there are several ac- 
tive users groups in Michigan who pro- 
duce a large joint newsletter, the Atari 
Interface Magazine, 'ibu can write 
them at Unicom Publications, User 
Group Information, 3487 Braebum Cir- 
cle, Ann Arbor, MI 48108. Send them your 
address, phone number, and the kind of 
computer you own, so they can link you 
up with the appropriate group.— AHT\C 
ED 

continued on next page 



JULY 1989 



I/O BOARD 



DOS, 800 & XF551 



It was with great sadness that I read your 
article on DOS-XE (March, 1989). I eagerly 
awaited Atari's new DOS, only to find out 
that it would not work with my old relia- 
ble 800. Playing around with the cartridge 
door switch so I can use SpartaDOS X 
does not appeal to me, either. 

The Antic Arcade seems to say that 
SuperDOS 50 is compatible with all Atari 
8-bit computers. Will it let me take advan- 
tage of all the XF55rs capabilities? 
Thomas Andrews 
Manlius, NY 

According to Arcade Manager Charles 
Cherry, SuperDOS 5. does work with the 
800 and will give you full control of the 
XF551. - ANTIC ED 



ATARIAN FRIENDS 



I am the computer coordinator in the 
Lower School at the Wilmington Friends 
School. Fortunately, eight years ago the 
very wise principal of our school pur- 
chased four Atari 800 computers. Since 
then we have designed a curriculum 
around computer programming and word 
processing. The Atari computer is so easy 
for young children to program in graphic 
colors that we begin first graders design- 
ing and programming their own patterns. 
We continue programming through the 
fourth grade, with students strengthening 
their ability to plan a project. 

Presently we have four 800s, two 
800XLS, and 23 65XE computers. With 
the reasonable price of the system, many 
parents have also been able to get Ataris 
for their homes. 1 have prepared many les- 
son plans for teachers to use with BASIC 
on the Atari. It distresses me to see Atari 
systems take the back seat in conferences, 
catalogues, and everyday conversation. 

Bertie Toler 

Wilmington Friends 

School 

101 School Road 

Wilmington, DE 19803 



CELEBRITY REVIEW 

In my review of Celebrity Cookbook, 

published in the February 1989 Antic, 1 
noted two problems with the program — 
quirky joystick response, and an inability 
to print the recipes, despite a very generic 
printer driver. 

Well, 1 wrote the company, and they did 
send me a fresh copy that fixed these bugs. 
It was six weeks in arriving, perhaps due 
to having moved their offices from Cali- 
fornia to Maryland about that time. But 
the support was there for me, so I 
wouldn't hesitate to recommend the 
product. 

David Merrihue 
Daly City, CA 

Celebrity Cookbook ($29-95) is available 
from U.S.A. Media, 7810 Malcolm Road, 
Clinton MD 20735. (301) 868-5494. - 
ANTIC ED 



FROM DEBUGGING TO 
BUG SPRAY 

I would like to start an Atari Farmer's and 
Gardener's user group. Anyone who uses 
an Atari 8-bit to help them with their 
gardening or farming is welcome to join. 
I would like to issue a disk full of useful 
programs, if we can accumulate enough. 
We are particularly interested in artificial 
intelligence applications for the purpose 
of sorting out plant nutrient requirements, 
programs to track nutrient usage, or any- 
thing else that would help with the task 
of growing food. This includes hardware 
interfacing with real world sensors, etc. 
Anyone interested should drop us a let- 
ter with a self-addressed stamped enve- 
lope, and we'll let you know how it's go- 
ing. The Atari 8-bit is the most 
cost-effective computer around. Let's get 
on the ball and see if we can apply it to 
the much needed job of producing whole- 
some food. GROMOR-SYSTEMS 
Lee Jones 
Rt. 1 Box 76-B 
Pleasantville, TN 
37147-9801 



ATARIWRITER DRIVERS 

I have a problem with the subscript and 
superscript commands in AtariWriter. The 
printer goes into subscript or superscript 
mode, but won't come out, so everything 
is printed in tiny print slightly above or 
below the normal print line. 1 have an Ep- 
son LX-80 printer Is there anything 1 can 
do to fix the problem? 

K. Helton 
Sacramento, CA 

The Antic Arcade's Printer Driver Con- 
struction Set (APOI31, $19.95) will let 
you set up a special driver file that will 
"make your AtariWriter cartridge com- 
patible with any printer." — ANTIC ED 



DRIVE NEEDS DOS 

We have an Atari 800XL and a disk drive, 
and are thinking of subscribing to your 
disk magazine Do you need DOS to play 
the disks? 

J.E. Barclay 

Lake Havasu City, AZ 

DOS stands for Disk Operating System, 
and as the name suggests, you need some 
sort of DOS to use a disk drive. For- 
tunately, the Antic Monthly Disk always 
comes with Atari DOS 2. on it — all you 
need to do is put the disk in the drive and 
turn the computer on, and the disk menu 
will appear. — ANTIC ED 



Antic welcomes your feedback, but 
we regret that the large volume of mail 
makes it impossible for the Editors to 
reply to everyone. Although we do 
respond to as much reader correspon- 
dence as time permits, our highest pri- 
ority must be to publish I/O answers 
to questions that are meaningful to a 
substantial number of readers. 

Send letters to: Antic I/O Board, 
544 Second Street, San Francisco, 
CA 94107. 



ANTIC, THE ATARI RESOURCE 




A COMPUTER SOFTWARE SERVICES 
RO BOX 17660, ROCHESTER, NY 14617 
ATARI" PHONE [716] 467-9326 

JUST RELEASEDI 
$99.95 "SUPER ARCHIVER II"! 

(for ATARI 1050 drives) 

NOWI COPYS all ENHANCED DENSITY programs plus retains all of the features 
of our World Famous SUPER ARCHIVERI (see below). Allows you to COPY or 
CREATE single or ENHANCED density protection sctiemes (Including PHAN- 
TOM SECTORSI). Completely automatic; compatible with the BIT-WRITERI; the 
ULTIMATE BACKUP/PROGRAMMING device! Only $99.95 plus $4 S/H/l 
NOTICEI If you already own a SUPER ARCHIVERI, you can upgrade to a SUPER 
ARCHIVER II for only $29.95 plus $4 S/H/l (disk only - no additional hardware 
required). 

THE 

$69.95 "SUPER ARCHIVER'T $69.95 

(for ATARI 1050 drives) 

The new SUPER ARCHIVER, obsoletes all copying devlcei currently available 
for the ATAR1 10501 It eliminates the need for Patches, PDB (lies. Computer 
Hardware, etc Copies are exact duplicates of originals and will run on any 
drive; without exaggeration, the SUPER ARCHIVER Is the nnost powerful 
PROGRAMMING/COPYING device available for the 10501 Installation consists 
of a plug-in chip and 6 simple solder connections. Softwares included. 
Features are; 



• ARCHIVER/HAPPY ARCHIVER 
COMPATIBLE 

• BUILT-IN EDITOR - reads, writes, 
displays up to 35 sectors/track 
short 

• BUILT-IN CUSTOM FORMATTER 
up to 40 sectorsytrack 

• BUILT-IN DISASSEMBLER 

• BUILT-IN MAPPER - up to 42 sectors/ 
track 

• DISPLAYS/COPIES Double Density 
HEADERS 

• AUTOMATIC FORMAT LENGTH 
CORRECTION 

• SIMPLE INSTALLATION 

The SUPER ARCHIVER is so POWERFUL that only programs we know that can't 
be copied are the newer ELECTRONIC ARTS and SYNFILE/SYNCALC (34 FULL 
sectors/track). It you want It ALL . , . buy the "BIT-WRITER"I also . . . then you'll 
be able to copy even these programs! Only S69.95 plus $4 S/H/l. 



• TRUE DOUBLE DENSITY 

• ULTRA-SPEED read/write 

• FULLY AUTOMATIC COPYING 

• SUPPORTS EXTRA MEMORY 

• SCREEN DUMP to printer 

• TOGGLE HEX/DEC DISPLAY 

• SECTOR orTRACK TRACING 

• AUTOMATIC DIAGNOSTICS 

• DISPLAYS HIDDEN PROTECTION 

• ADJUSTABLE/CUSTOM SKEWING 

• AUTOMATIC SPEED 
COMPENSATION 

• AUTOMATIC/PROGRAMMABLE 
PHANTOM SECTOR MAKER 



$79.95 



'BIT-WRITER"! 



$79.95 



TTie Super Archiver "BITWRITH!"! is capable of duplcoUng ewen ttie lincopvabie" 
EA and SYN series which employ 34 FULL sectors/tracks. "BIT-WRITER"! is 
capable of reproducing these and FUTURE protection schemes of non 
physicially damaged disks. PLUG-IN circuit boards and 4 simple solder 
connections. The "SUPER ARCHIVER with "BIT-WRITER"! Is the ultimate 
PROGRAMMING/COPYING device for Atari 1050's. EXACT DUPLICATES of 
originals are made! Copies run on ANY drive. Must be used with Super 
Archiver. Only $79.95 plus $4 S/H/l. 



$69.95 



"ULTRA SPEED PLUS" 



$69.95 



Imagine a universal XL/XE Operating System so easy to use ttiat anyone 
can operate it Instantly, yet so versatile and powerful ttiat every Hacker, 
Programmer and Ramdisk owner will wonder how they ever got along 
without It! Ultra Speed Pius puts unbelievable speed and convenience at 
your fingertips. Use ANY DOS to place an ULTRA SPEED format on your disks, 
boot any drive (1-9) upon power-uR format your RAMDISK In Double Density, 
activate a built-in 400/800 OS for software compatibility, plus dozens of other 
features too numerous to mention! Below are just a FEW features you'll find 
in the amazing OS: 



• ULTRA speed SIO lor most 
modllied drives 

> ULTRA Speed Is toggleable 

• Boot directly from RAMDiSK 

• Special timer circuits not re- 
quired (or 1 or 2 Meg upgrades 

■ Background colors ad|us1b!e 

• Reverse use of OPTION key 

■ Cold-start wittiout memory loss 
' Built-in tloppy/disk configuration 

editor [1-9] 



• Built In RAMDISK configura- 
tion editor (1-9) 

■ RAMDISK exactly duplicates 
floppy drive so sector copy- 
ing and sector editing are 
now possible 

> Built In MINI Sector Copier 

• Toggle SCREEN OFF for up to 
40% increase of processing 
speed. 

• Toggle Internal ElASIC 



• Rom resident disk loader 
program (MACH 10 menu] 

• DOUBLE DENSITY RAMDISK 
capable 

• Entire MEMORY test that pin- 
points detective RAM chip 

• Boot any drive (1-9) upon 
power-up or cold-start 

• Supports memory upgrades 
up to TWO MEGABYTES 

• THREE Operating Systems In 
one (XUXE, 400yacEo, ULTRA 
SPEED PLUS) 



$29.95 



"XF551 ENHANCER!" 



$29.95 



Ttie XF551 Atari drive Is a line product witti one major tlaw...it writes to side 
TWO of your flopping disks BACKWARDS. Ttiis causes read/write 
incompatibility problems with all ottier single sides drives made for Atari 
sucti as Indus. Tralc, Rana, Percom, Astra, Atari 1050, Atari 810, etc Add ttie 
XF551 ENHANCER to ttie new XF551 drive and your problems are overl Ttiis 
device will restore 100% compatibility wtille retaining original design 
qualities of Atari's super new drive. Ttie XF551 ENHANCER Is a MUST for all 
XF551 Owners. Installation is simple Only S29.95 plus S4 S/H/l. 



A 



DEALER/DISTRIBUTOR/USER GROUP Discount avollaibe coil (or inta 
PHONE Orders - MASTER CARD, VISA I^AIL ■ Money Orders, Ctieoks 

•SHIPPINGI Add S4 (or ShIpping/Handllng/lnsuranoe wittiln the USA. 

UPS BLUE IJkBLE (2nd DAY AIR) available (or S3 extra per shipment. 

CALL TODAYI C716) 467-9326 COMPUTER SOFTWARE SERVICES 

9 am - 5 pm (EST) WEEKDAYS P.O. Box 17660 

Roctiester, N.Y. 14617 



ATARI 



$39.95 RICHMAN'S $39.95 

80 Column Word-Processor! 

Easy to use, very powerful, and NO ADDITIONAL HARDWARE required! 
Worl<s witti TV or fvlonltor! Ttiis "DISK ONLY" 80 Column Word-Processor is 
simple to use wtille offering numerous features sucti as: 



Completely IVIenu driven 

Self contained DOS 

Complete Text formatting 

Built in Printer Drivers 

Page numbering 

Justify and Endfill 

Higti Speed Cursor 

Dictionary 

80 COLUMNS ON THE SCREEN! 



• Insert and Delete 

• Searcti Mode 

• View only mode 

• Memory Statistics 

• Alternate Output 

• Ctiange screen Colors, 
borders, luminesce 

• Mouse compatible 



One expert tias compared 40 domestic and foreign word-processors 
and concluded ttiat ttie RICHMANS 80 Column Word-Processor Is ttie 
best! Only $39.95 plus $4 S/H/l. (64K required). 



S39.95 



THE "QUINTOPUS!" 



$39.95 



Ttie "QUINTOPUSI" is an Inexpensive device ttiat provides a tremendous 
amount of convenience wtille eliminating ttie problems associated witli 
the endless "daisy-chaining" of peripherals (eg: drives. Interfaces, printers, 
modems, cassettes, etc). The "OUINTOPUSI" Is an I/O port expander that 
converts a single I/O output/Input Into five additional outputs/inputs. Instead 
of daisy-chaining all of your peripherals (which often times results In passing 
a signal through 30 feet or more of coblel), the "QUINTOPUSI" allows each 
device to be connected directly to the computers through only three or 
(our feet of cable. This Is particularly useful when attempting to use 
ULTRASPEED or WARPSPEED data transfer rates. The "QUINTOPUSI" also 
provides the "extra" I/O ports often needed to connect devices not having 
daisy-chaining capabilities. Cable resistance and compocitance are 
greatly reduced thereby significantly Improving the opportunity of 
accurate data transfers! Only $39.95 plus $4 S/H/l. 

S59.95 THE "QUINTOPUSI" $59.95 

(wfth SWITCHABLE PORTSI) 

This Deluxe version of the "QUINTOPUSI" has all of the above features with 
the additional benefits of two SWITCHABLE PORTSI This means you can 
connect two computers to one printer or two printers to one computer; you 
can switch In a computer/printer combination and while you're printing 
out a long document, switch In a second computer to access a modem, 
disk drive, cassette deck, etc! Switch multiple combinations of peripherals 

or computers without the hassel or re-arranging I/O cables simply flip 

a switch! Only $59.95 plus $4 S/H/l. 



LIMITED SPECIALS! 



Previously we listed these products under our FIRESALE ad but many of our 
customers feared that the software items might be smoke or water 
damaged. They're NOT! All of the Items listed below are BRAND NEW.. only 
their literature or packing may have slight cosmetic imperfections All items 
are fully warrontled! Quantities are limited! No ralnchecks! 



1. PILL (wittiout cose) 

2. SUPER PILL (without case) 

3. XL FIX ROM 

4. ULTRA MENU/DOS 

5. DISKCRACKER (Newest version) 

6. ELECTRONIC PHANTOM SECTOR MAKER DELUXE 

7. RICHMANS 80 COLUMI^ WORD PROCESSOR 

8. MIRACLE (Disk only Version of Impossible) 

9. IMPOSSIBLE for 800 or 80DXL 

10. XL MATE 

11. COMPACTOR 

12. KLONE il (Generic HAPPY backup) 

13. SILENCER 

14. BLACK PATCH (MASTER) 

15. BLACK PATCH DATA DISKS 1 & 2 

•Order 5 Items or more and we will pay the frelghtl 

These SPECIALS are for C.S.S. customers only - NO DEALER DISCOUNTS - NO RAINCHECKS 

■ LIMITED QUANTITIES 





LIMITED 


NORMALLY 


SPECIALS 


S 70 


$19 


80 


22 


70 


19 


3D 


19 


SO 


19 


60 


35 


60 


29 


70 


19 


150 


69 


30 


15 


30 


15 


100 


75 


30 


19 


SO 


25 


20 


10 



I TS'pe-ln Software 



Machine 
Language 

Stringer 



Save 7 
seconds on 
each BASIC 
subroutine. 



By Andy Barton 

Machine Language Stringer takes machine language object 
code and converts it into string format for use in your own 
BASIC programs. This BASIC program works on Atari 8-bit 
computers with at least 48K memory and disk drive. 



Most machine language 
routines in BASIC pro- 
grams are in the form of 
string data. This is done 
partly because strings take up less 
space than numerical DATA state- 
ments. They frequently don't need to 
be POKEd into a memory location. 
When I tried translating a machine 
language routine in one of my pro- 
grams into string format, I discovered 
the best reason for using strings. The 
string format virtually eliminated the 
seven seconds used to READ the 144 
bytes of data and POKE them onto 
page 6. I was sold. I dearly hate to 
wait for slow computers. 

I developed Machine Language 
Stringer to do the near-impossible 
manual task of taking the object code 
file of a machine language program 
(the executable code) and converting 
it into a set of BASIC program lines 



8 



that will produce the proper string 
data. 

GEniNG STARTED 

Type in Listing 1, STRDAT.BAS, and 
check it with TYPO II. Be sure to 
SAVE a copy to disk before you RUN it. 

If you have difficulty typing the 
special characters in Line 460, don't 
type them in. Instead, type Listing 2, 
check it with TYPO II and SAVE a 
copy. When you RUN Listing 2, it cre- 
ates these hard-to-type lines and stores 
them in a file called LINES. LST. 

To merge the two programs, LOAD 
"DrSTRDATBAS" and then ENTER 
"D:LINES.LST." Remember to SAVE 
the completed program before you 
RUN it. 

When you RUN the program, you 
will be asked for the object file name. 
If you forget the "D:" or the name is 
not found you will be asked again. 



Next you are asked for a starting line 
number Be sure you choose one that 
will not overlap lines in your BASIC 
program or in this one. 

Finally, you are asked for a name 
for the machine language string (max- 
imum of 2 characters). The program 
will add a numerical extender to this 
name, starting with I. The program 
will now go about the business of 
reading the object file and building 
the BASIC line(s) that vvdll be incor- 
porated into this program using Atari's 
forced read mode. 

When the program is done, there 
are three more steps for you to take 
to incorporate the string into your ba- 
sic program. 

1. LIST the new lines to a disk/cas- 
sette file, for example: 

LIST "D1YOURPRG.STR",1000,1005. 

2. LOAD your BASIC program and 
ENTER the string data file, for 

ANTIC, THE ATARI RESOURCE 



■J 



example: 

ENTER "Dl:YOURPRG.STR". 

3. Make a USR comand to run the 
ML string. 

PROGRAM NOTES 

There are two numbers that cannot 
be displayed in a string — 34 and 155- 
34 is ASCII for a quotation mark and 
155 is ASCII for a carriage return (re- 
turn key). This program handles this 
problem by creating a separate line 
that inserts the number into its proper 
place in the string, for example: 

1001 ML1S(72,72) = CHRS(155). 

There are two types of machine 
language programs, ones that are fully 
relocatable and ones that are fixed at 
a particular memory location. Jump 
(JMP) and jump subroutine QSR) co- 
mands use absolute rather than rela- 
tive addressing and thus require the 
program to be at the specific location 
to which it was assembled. 

Machine Language Stringer accom- 
modates this by creating a final BASIC 
line which provides a brief machine 
language string to move the string 
data to the memory location indicated 
by the object file, for example: 

1006 X=USR(ADR("hh. . ."'), 
FROM , TO , NO. BYTES ) 

This line is provided regardless of 
which type of machine language pro- 
gram you wrote. If your program is 
fully relocatable, this line can be 
deleted. 

It is possible to create a program 
that is loaded into two or more sepa- 
rate memory locations. For example, 
a section of subroutines could be 
fixed onto page 6 and the main pro- 
gram could be totally relocatable. 
Machine Language Stringer accomo- 
dates this by using the numeric ex- 
tender mentioned above. Each time 
a new load address is indicated in the 
object file, the extender is increased 
by one, creating a new string name. 
Each string is provided with its own 
loader. 

As mentioned above, for a program 
to be relocatable it cannot use abso- 



lute addressing with jump instruc- 
tions. I have found no way around this 
problem with subroutines other then 
placing them on Page 6 or some other 
safe, fixed location. 

However, there are two tricks I have 
discovered for JMP instructions. The 
problem arises when I would use a 
branch instruction, but find that its 
range (126 bytes) was too short so I 
would be forced to use a JMP instru- 
tion. The first crude but effective so- 
lution involves setting up intermedi- 
ate branches to one or more areas 
within range, but outside the flow of 
the program. Here is an example: 

LOOP LDY #0 
PARTI LDA ($DO),Y 



BPl 



BEQ PARTI 
BNE PART2 

BCS LOOP 



BRANCHES 
OVER 
INTER- 
MEDIATE 
BRANCH 



PART2 ASLA 

SEC ;SET CARRY 

;TO 
BCS BPl ;FORCE A 
;BRANCH 
The second solution is more ver- 
satile, using the indirect jump instruc- 
tion JMP(XXXX). It involves passing 
the address of the relocateable ML 
string to the ML program in BASIC'S 
USR command. The ML program then 
figures the relative distance from the 
start of the program to the targeted in- 
struction, adds this to the starting ad- 
dress of the string and saves the re- 
sults on page 6 for the JMP(XXXX) to 
use. Here are two examples, first in 
BASIC: 

X = USR(ADR(ML$), ADR(ML$)) 



In ML, this would be: 



IJPl = J5600 



IJP2 = S602 



SAFE 

STORAGE 
FOR 

INDIRECT 
JUMP 
ADDRESS 



START * = 


S5600 


PLA 




PLA 


HI BYTE OF 




ADDRESS OF ML 




STRING 


T\X 




PLA 


LOW BYTE OF 




ADDRESS 


T\Y 


SAVE IF MORE 




THEN ONE JUMP 




TARGET 




NEEDED 


CLC 




ADC #<TARG1-START 




ADD LOW BYTE 




OF TARGET 




ADDRESS OFFSET 




TO ML STRING 




ADDRESS 


STA 


[JPl 


TXA 




ADC #>TARG1-START 




ADD HI BYTES 


ST\ 


tJPl + 1 


TYA 


GET LOW BYTE 




STRING ADDRESS 


CLC 


FOR SECOND 




TARGET 


ADC #<TARG2-START 




etc. 


TARGl SEC 


SOMEWHERE IN 




MAIN PROG. 



jMPajpi) 



You may have to modify the pro- 
gram to get it to work with character 
set files. This program strips the first 
two control characters from the file, 
so you would end up with 1022 in- 
stead of 1024 bytes in your character 
set files. 

As always, whenever modifying 
your programs you should first make 
backups of the originals, in case prob- 
lems arise. A 

Andy Barton has been a regular contrib- 
utor to Antic since 1984. His machine 
language game, Extvall, is this tnonth's 
Super Disk Bonus. 

Listing on page 37 



JULY 1989 



ComputerVisions 



3257 KIFER ROAD 

SANTA CLARA, CA 95051 

(408)749-1003 

(408) 749-9389 FAX 



A 



STORE HOURS 
TUE - FRI 10am - 6pm 

SAT - 10am - 5pm 
CLOSED SUN - MON 



SOO/ X Z^/ XE SOFTWy\.RE 

ALL TITLES ON DISK 



ENTERTAINMENT 

12 ADAMS ADVENTURES . . 14 . 

ALIANTS 26. 

ALT. REALITY CITY 26. 

ALT. REALITY DUNGEON. 26. 

BEYOND CASTLE WOLF. ... 14 . 

ni.'iMARK 26. 

nop S WRE.STLE 26 . 

UURDINO:1812 26. 

BOULDERDASH CONSTR.SET 17. 

BRUCE LEE 17 . 

CASTLE WOLFENSTEIN. . . . 14. 

DALLAS QUEST 7 . 

D-BUG 7. 

F-15 STRIKE EAGLE .... 31. 

FIGHT NIGHT 17. 

GAUNTLET (54K) 31. 

DEEPER DUNGEONS 22 . 

GUNSLINGER 26. 

HARD HAT MAC 7 . 

JAWBREAKER 9 , 

KAKATEKA 13 , 

KNICKERBOCKERS 13 

KORONIS RIFT 13. 

LAST V-B 8, 

LEADERDOARD 13 

HAIL ORDER MONSTERS .. 13 

MICROLEAGUE BASEBALL.. 35, 

MONTEZUMA'S REVENGE... 14, 

HOUSEQUEST 17 

MOON SHUTTLE 7 

NINJA 8 

OIL'S WELL 9 

O' RILEY'S MINE 9 

PIRATES OF BARD. COAST 22 

PRFPPTE T S II 9 

RESCUE ON FRACTALAS ... 13 

SILENT SERVICE 31 



SPEEDKlNp 
SPIDERMAN 



SPITFIRE 40 31 

STARFLEET I 44 

spy vs. SPY III 17 

STOCKMARKET 22 

STRIP POKER 26 

SUMMER GAMES 17 

TAX DODGE 9 

THE HULK 7 

TOMAHAWK (64K) 26 

TOP GUNNER 17 

TOUCHDOWN FOOTBALL ... 13 

TRAILBLAZER 26 

UNIVERSE 44 

ZAXXON (400/800) 13 

PROGRAMMING 

ACTION I 71 

ACTION! TOOLKIT 26 

BASIC XL 53 

BASIC XL TOOLKIT 26 

BASIC XE 71 

DOS 2.5 7 

DOS XE 10 

DISK I/O 26 

KYAN PA.SCAL 62 

LIGHTSPEED C 35 

LOGO 19 

MAC/65 71 

MAC/65 TOOLKIT 26 

MACRO ASSEMBLER 22 

PILOT 19 

SPARTA DOS X 71 

TOP DOS 1.5 PLUS 35 

PRODUCTIVITY 

ANIMATION STATION .... 89 

ATARIWRITER+ 39 

ATARI BOOKKEEPER 24 

ATARI MUSIC II 14 

AWARDWARE (1050) 13 



95 
95 
95 
95 
95 
05 
95 
95 
95 
95 
95 
95 
95 
50 
95 
50 
50 
95 
95 
95 
50 
50 
50 
95 
50 
50 
95 
95 
95 
95 
95 
95 
95 
50 
95 
50 
50 
95 
95 
50 
95 
95 
50 
95 
95 
95 
95 
95 
95 
50 
95 
95 
50 

95 
95 
95 
95 
95 
95 
00 
95 
95 
95 
95 
95 
95 
,50 
,95 
,95 
,95 

,95 
,95 
.95 
,95 
.50 



BANK STREET WRITER.... 14.95 

BLAZING PADDLES 31 . 50 

CELEBRITY COOKBOOK ... 26.95 

COMPUTE YOUR ROOTS ... 35.95 

DATAMANAGER 17 . 95 

FAMILY FINANCE 6.95 

GUITAR WIZARD 26.95 

HOME ACCOUNTANT 19 .95 

HOME FILING MANAGER. . 6.95 

HOMEPAK 24 .95 

INVENTORY MA.STER 80.95 

LETTER WIZARD 29.95 

MUSIC CONSTRUCTION SET 13.50 

NEWSROOM (1050 - 64K). 44.95 

NEWS STATION 26.95 

NEWS STA. COMPANION. . 26.9 5 

PAGE DESIGNER 26.95 

PRINT POWER (1050).... 13.50 

PRINTKIT (1050) 13.50 

PRINTSHOP 34.95 

P.S. COMPANION (64K) . 24.95 

P.S.GRAPHICS LIBRARY 1 17.95 

P.S.GRAPillCS LIDRARY 2 17.95 

P.S.GRAPHICS LIBRARY 3 17.95 

PROOF READER 17.95 

PUBLISHING PRO 35.95 

RUBBER STAMP 26.95 

SYNTREND (130XE) 35.95 

SUPER MAILER 35.95 

THE LOTTO PROGRAM .... 17.95 

TIMEWISE 6.95 

TURB0W0RD/8U COLUMN 

REQUIRES XEPaO 44.95 

VIDEO TITLESHOP (64K). 26.95 

GRAPHICS COMPANION. 17.95 

VIRTUOSO 29.95 

VISICALC 24 .95 

EDUCATION 

ATARI LIGHT MODULE 

(REQ. STARTER SET) . 9.95 

BUZZWORD 35.95 

GRANDMA'S HOUSE (-10) 9.95 

HEY DIDDLE (AGE 3-10). 9.95 

MASTER TYPE 14.95 

PLANATARIUM 22.50 

STATES AND CAPITALS .. 9.95 

TOUCH TYPING 9.95 

CBS (AGE 3-6) : 

ASTROGROVER 8.95 

BIG BIRD SPEC UELIVE 8.95 

ERNIE'S MAGIC SHAPE. 0.95 
DESIGNWAKEl 

MATHMAZE (6-11) .... 35.95 
MISSION ALGEBRA (13+) 35. 95 

SPELLICOPTER (6-11). 35.95 
TINK TONK (AGE 4-6): 

ABC'S 8.95 

COUNT AND ADD 8.9 5 

SMART THINKER B.95 

SPELLING 8.95 

SUBTRACTION 8.95 

THINKING SKILLS .... 8.95 

ALL 6 TINK TONKS.. 39.9 5 
UHICOEN: 

10 LITTLE ROBOTS 

(PRE-ScnOOL) 26.95 

FUN BUNCH (6-ADULT) 26.95 
RACECAR RITHMETIC 

(AGE 6+) 26.95 

WEEKLY READER ( PRE-SCHOOL ) ; 

STICKY BEAR SHAPES . 26.95 

STICKY BEAR NUMBERS. 26.95 

STICKY BEAR ABC'S .. 26.96 

STICKY BEAR OPPOSITE 26.95 

SB BASKET BOUNCE ... 26.95 

STICKY BEAR BOP .... 26.95 

RUN FOR IT 26.95 

PIC BUILDER 26.95 



800/ x: E/ x:e soetw^^ he 

ALL TITLES ON CARTRIDGE 
ENTERTAINMENT 

3D TIC-TAC-TOE 

AIRBALL (XL/XE) 

ALIEN AMBUSH 

ACE OF ACES . (XL/XE) . 

ARCHON 

ASTEROIDS 

ASTRO CHASE 

ATARI TENNIS 

ATLANTIS 

BALL BLAZER 

BARNYARD BLASTER 

(REQ. LIGHT GUN) . . . 

BATTLEZONE 

B.C. QUEST FOR TIRES 

BLUE MAX 

BOULDERS S BOMBS .... 

CAVERNS OF MARS 

CENTIPEDE 

CHICKEN 

CHOPLIFTER 

CLAIM JUMPER (400/800) 

CLOUDBURST 

CRIME BUSTER 

(REQ. LIGHT GUN) . . 

CROSSDOW 

CROSSFIRE 

CRYSTAL CASTLES (XL/XE) 
DARK CHAMBERS (XL/XE). 
DAVIDS MIDNIGHT MAGIC 

DEFENDER 

DELUXE INVADERS 

DESERT FALCON 

DIG DUG 

DONKEY KONG 

DONKEY KONG JR 

EASTERN FRONT (1941). 

E.T. PHONE HOME 

FIGHT NIGHT 

FINAL LEGACY 

FOOD FIGHT (XL/XE). . . 

FOOTBALL 

FROGGER 

GALAXIAN 

GATO 

GORP (400/800) 

GYRUSS 

HARDBALL 

INTO THE EAGLES NEST 
JOURNEY TO PLANETS . . 

JOUST 

JUNGLE HUNT 

KABOOMI 

KARATEKA 

KRAZY ANTICS 



9 


95 


24 


95 


9 


95 


24 


95 


19 


95 


15 


95 


14 


95 


9 


95 


14 


95 


19 


95 


24 


95 


19 


95 


19 


95 


19 


95 


14 


95 


14 


95 


14 


95 


9 


95 


14 


95 


9 


95 


9 


95 


24 


95 


24 


95 


9 


95 


19 


95 


24 


95 


19 


95 


14 


95 


7 


95 


19 


95 


19 


95 


5 


00 


19 


95 


19 


95 


9 


9 5 


19 


95 


19 


9 5 


19 


9 5 


14 


9 5 


14 


95 


9 


95 


24 


95 


5 


00 


14 


.95 


19 


.95 


19 


.95 


9 


.95 


19 


.95 


19 


.95 


14 


.95 


19 


.95 


14 


.95 



LODE RUNNER 


?4 


95 




19 
9 

14 
5 


95 


MEGAMANIA 


95 


MILLIPEDE 


95 


MISSILE COMMAND 


00 


MOON PATROL 


19 

9 

19 


9 5 


MR . COOL 


95 


MS . PAC MAN 


95 




19 
19 


95 


ONE ON ONE (XL/XE) . . . 


95 


PAC MAN 


5 


on 


PENGO . . 


19 
19 


9 5 


POLE POSITION 


95 


POPEYE 


14 
14 


95 


Q-BERT 


9 5 


QIX 


14 


95 


RESCUE ON FRACTALAS . 


19 


95 


RETURN OF THE JEDI . . 


14 


95 


ROBOTRON:2084 


19 


95 


SKY WRITER 


14 


95 


SLIME (400/800) 


9 


95 


SPACE INVADERS 


14 


95 


STAR RAIDERS 


5 


00 


STAR RAIDERS II 


19 


95 


SUBMARINEE COMMANDER 


14 


95 


SUMMER GAMES (XL/XE) . 


24 


95 


SUPER BREAKOUT 


9 


95 


SUPER COBRA 


14 


95 




19 

24 


95 


TRACK (. FIELD 


95 


TURMOIL 


9 


9 5 


WIZARD OF WOR 


5 


OU 


PRODUCTIVITY 




ATARIKRITER 


19 


95 


MICROFILER 


22 


SO 


EDUCATION 




ATARI LAB STARTER SET . 


29 


95 




14 
9 


95 


MATH ENCOUNTERS 


95 


FISHER PRICE (PRE SCHOOL 




DANCE FANTASY 


8 


9 5 


LINKING LOGIC 


8 


95 


LOGIC LEVELS 


8 


95 


MEMORY MANOR 


8 


9 5 


SPINNAKER (AGE 3-10) 






ALF IN COLOR CAVES . 


9 


95 


ALPHABET ZOO 


9 


95 


DELTA DRAWING 


9 


95 


PACEMAKER 


9 
9 


9 5 


KIDS ON KEYS 


95 




9 


9 5 


(AGE 7 - ADULT) ; 




ADV. CREATOR (4 00/800). 9 


95 


FRACTION FEVER 


9 


95 



4 



RECONDITIONED ATARI MERCHANDISE 

30 DAY WARRANTY 



800 (48K) 
COMPUTER 

$79.95 

400 (16K) 

COMPUTER 

$29.95 



1020 COLOR 
PRINTER/PLOTTER 

$19.95 



40 COLUMNS WIDE 
(new in box) 



SPACE AGE 
JOYSTICK 

$5.00. 

ATARI 

TRACKBALL 

$9.95 



ATARI 
BOOKKEEPER 
$14.95- NO BOX 

ATARI 

NUMERIC 

KEYPAD $7.95 



1030 MODEM 

WITH EXPRESS! 

$24.95 



1010 PROGRAM 

RECORDER 

$29.95 



DISKETTES 
AS LOW AS 20 CENTS 

10 FOR $4.00 

100 FOR $29.95 

1000 FOR $200 

MOST ARE UNNOTCHEU 

WITH OLD SOFTWARE 



SHIPPING INFORMATION - Prices do nol include shipping and handling. Add J 5.00 for small icems ($8.00 Min. for Canada). Add 18.00 for disli drive. Add J2.75 for C.O.D. 
Calif, res. include TOr sales lax. Mastercard and Visa accepted if your telephone is listed in your local phone directory. Orders may be pre-paid with money order, cashier 
check, or personal check. Personal checks are held for three weeks before order is processed. C.O.D orders are siiipped via \iV^ and must be paid with cash, cashier check or 
money order. Inlernationai and APO orders intist be pre-paid with cashier check or money order. $20.00 minimum on ail orders. All sales are final - no refunds - prices are 

Phone orders accepted TUESDAY THROUGH FRIDAY from 10:00 atn to 6:00 pm PST. 
We carry a full line of ATARI products - large public domain library - write or call for free catalogue 



PRICES SUBJECT TO CHANGE WITHOUT NOTICE - ALL SALES ARE FINAL 



I type-Ill Softivare 



Customizing the Atari 
Operating System 
Device Handlers: 



Partn 



By Bob Martin & Martin Mercorelli 

The final half of this series is for experienced MAC/65 
programmers. It describes an interactive handler that saves 
machine language programs as boot files. This program 
requires MAC/65 and OS/A+, and works on all 8-bit Atari 
computers of any memory size, with disk drive. 



In the previous month's Antic, the 
first half of this series introduced de- 
vice handlers and described how they 
work by creating two simple handlers. 
This final installment describes the 
creation and operation of MAKE- 
BOOT, a more sophisticated device 
handler 

The MAKEBOOT handler lets you 

JULY 1989 



save object code as a boot file and 
convert binary load files to boot files. 
Before the MAKEBOOT handler can 
do this, however, it does something 
quite unique — it asks you questions. 
Although almost every useful com- 
puter program prompts you for infor- 
mation, handlers do not. Since the 
CIO (Central Input/Output) uses de- 



vice handlers whenever it operates, 
the device handlers cannot easily use 
CIO to prompt you for information — 
the CIO is busy. 

If we try to use the CIO while it's 
busy, your Atari usually — but not 
always — becomes confused and acts 
strange. This is why handlers should 
not use CIO for I/O to the screen or 



11 



keyboard. 

The catch is that we often want to 
interact with a program while a hand- 
ler is in use. Therefore we must use 
the screen or keyboard handlers 
directly, without going through the 
CIO. 

MAKEBOOT is an example of such 
a handler. The MAKEBOOT program 
requires you to direct the handler 
operation and make some decisions 
while it's operating. Your Atari oper- 
ating system has a built-in mechanism 
for accomplishing this. 

Uses for this program include load- 
ing an alternate program into the same 
area occupied by DOS, or initializing 
your Atari before DOS is loaded. For 
example, you could load in the modi- 
fication to the printer handler. You 
could use this program to produce 
bootable games or programs that pro- 
duce a disk menu. 

BOOT FILES 

A boot file is a machine language 
program which resides on the outer- 
most sectors of a disk. It is automati- 
cally loaded whenever you boot with 
that disk. On the disk, the boot file 
is a continuous, uninterrupted file 
which begins in the first sector and 
occupies successive sectors until the 
end of the file. On disk, there are no 
breaks between the end of one sec- 
tor and the beginning of the next — 
and no directory. 

Binary load files are machine lan- 
guage programs which may reside 
anywhere else on the disk. On the 
disk, a binary load file may be broken 
into sector-sized pieces and scattered 
throughout the disk. The last three 
bytes of each sector direct your Atari 
to the next sector of the file. "Vbur Atari 
treats these sector links as "Continued 
On Sector xxx" messages. 

Every time you boot a disk, your 
Atari checks the first six bytes of the 
first sector to determine what action 
to take next. 

Byte 0, the first of these six bytes, 
is used as a flag. (A zero in this loca- 
tion denotes a boot file.) This value 



is stored to DFLAGS, memory loca- 
tion 576 ($0240). 

Byte 1 contains the number of sec- 
tors to load, bytes 2 and 3 tell your 
Atari where to load the boot data (this 
is the "load address"), and the next 
two bytes tell your Atari where to go 
after the program starting at byte 6 is 
executed (this is the "initialization 
address"). 

The program starting at byte 6 is an 



The 

MAKEBOOT 

handler 

does something 

quite 

unique — it 

asks you 

questions. 



initialization program and usually 
ends with an RTS (RdTurn from Sub- 
routine) instruction. If there is no in- 
itialization routine, then byte 6 must 
be an RTS instruction, which is 
represented by a 96 (S60). 

If the initialization routine doesn't 
start at byte 6, then byte 6 must be a 
JuMP instruction, directing your Atari 
to the start of the initializing routine. 

When the initialization program 
ends, the operating system jumps to 
the memory location given in bytes 
4 and 5. 

The program in Listing 1, MAKE- 
BOOT.M65, treats the first nine bytes 
of sector 1 as if it was structured as 
shown in Figure 1. This structure re- 
quires nine bytes of data on sector 1. 

When a series of sectors is loaded 
as part of the initial boot, the sectors 
are loaded sequentially in memory. 



For example, if the initial load address 
is 1000, then sector 1 loads its data 
starting at 1000 (including the first six 
bytes), sector 2 loads its data starting 
at 1128 (there are 128 bytes per sec- 
tor), etc. 

This initial boot sector load is called 
the first-stage load. For a DOS format 
disk, three sectors are loaded in the 
first-stage load, then your Atari loads 
DOS.SYS, a second-stage load. 

Since the boot sectors are loaded in 
memory sequentially, the specified 
load address (bytes 2 and 3) is treated 
as the memory location of byte of 
sector 1, and data on the disk is cal- 
culated relative to that address. In the 
example, if the load address was 1000, 
then byte of sector 1 corresponds 
to memory address 1000, byte of 
sector 2 corresponds to address 1128, 
etc. Note that the initialization routine 
of the boot sectors starts at 1006, since 
all of sector 1 (including the first six 
bytes) is loaded. 

THE LOAD FILE 

Now that we've determined a way 
to put data on the boot disk, we need 
to know how data will be received 
from the CIO. Load files are loaded 
by DOS as a series of data blocks. A 
block can be any length, but they're 
typically 251 bytes long (at least in 
MAC/65) and preceded by two two- 
byte numbers. The first number is the 
starting address, where the first byte 
is stored. The second number is the 
ending address, where the last byte is 
stored. 

If DOS was loading this file in 
memory, each byte of the block 
would be stored sequentially until the 
ending address was reached. Then it 
would repeat the process until all the 
data had been loaded. 

This varies only at the start of a file 
and when appending files. The start 
of a file has two bytes of the value 255 
that identify it as a load file. When one 
load file is appended to another, these 
bytes are carried over to the load data. 
This means that a data block is 
preceded by either four or six bytes. 



12 



ANTIC, THE ATARI RESOURCE 



where the first two are 255, 255. 

Since each block has its own load 
address, data can be loaded in widely 
separated memory locations even for 
a short load file. Thus the load file 
doesn't necessarily have the same 
number of sectors as the resulting 
boot sector count used by the MAKE- 
BOOT handler. 

Finally, two more addresses are 
used by DOS as vectors for load file 
execution — the initialization address 
loaded to INIT\D, memory location 
738 (S02E2); and the run address 
loaded to RUNAD, memory location 
736 (!i!02E0). The latter is executed af- 
ter the file is completely loaded and 
the former is executed as soon as a 
new address is loaded to INITAD. 

GeneraUy these addresses should 
correspond to the boot sector run ad- 
dress of bytes 4 and 5 and the initiali- 
zation routine starting at byte 6. Both 
addresses are loaded as any other data 
from a load file (e.g. as a two-byte data 
block). 

HOW IT WORKS 

In Part 1 of this series, we discussed 
three steps of adding a new handler: 

1. Write the program for the 
handler 

2. Set up the Handler Table. 

3. Make an entry in the Handler 
Address Table. 

In step I, the routines that comprise 
the handler are on lines 5000-8600. 

The open routine (BOPEN, lines 
5185-5480) sets the initial values of 
the variables used in the program and 
checks to make sure you still want to 
proceed. It also writes zeros into as 
many sectors as you want, starting 
with sector 1. 

The close routine, line 7130-7495, 
writes the last sector to the boot disk. 
Then it takes the actual sector count, 
the run address and the initialization 
address, and asks you if you want to 
add these to the boot disk (the first 
nine bytes of sector 1). 

The PUT BYTE routine (BPUT), 
line 6925-7085, receives all the data 
from the load file. Most subroutines 



in this program support the PUT 
BYTE handler This routine first stores 
the byte from the CIO and then 
checks to see if it's part of the first six 
bytes of the load file. If so, subroutine 
FSTSIX checks for a load file and lets 
you set the sector count, load address, 
run address and initialization address. 

Data after those first six bytes is ei- 
ther program data stored in a 128-byte 
buffer before being written to the 
boot disk, or load information ex- 
tracted by the subroutine LDINFO. 
This subroutine compares the starting 
address of the load file with the cor- 
responding boot sector load address 
and calculates the location of the next 
block on the boot disk. If a load file 
address is lower than the specified 
boot disk load address, an error mes- 
sage is issued and the CIO returns 
control to you. 

The data in memory locations 736- 
739 (S02E0— $02E3) are stored in the 
variables RUNADR and INTADR. In 
the CLOSE routine, you can add these 
values to their respective positions in 
sector 1. 

The handler for the GET status rou- 
tine is also used as the general exit 
routine for all handler routines. This 
large program needs an internal sta- 



passes error code 146 back to the CIO. 

The handler in lines 5035-5065 is 
not very complicated. Each address 
is represented by the address-minus- 
one of each routine and is in the or- 
der given in Figure 1 in part one of 
this series from last month's Antic. 

Step 3 (lines 440-630) makes an en- 
try into the Handler Address Table, 
finding an empty spot in the Handler 
Address Table and adding the ASCII 
code for "B" followed by the address 
of the Handler Table. That's the same 
routine used in the NULL handler. 

I/O WITHOUT CIO 

The I/O subroutines for the MAKE- 
BOOT handler run from line 7505 to 
the end of the program. The first one 
reads and writes sectors to the boot 
disk. It doesn't use the resident disk 
handler (DSKINV) but instead uses 
the serial bus I/O utility vector (SIOV) 
and lets you write without write- 
verification, greatly speeding the 
process of writing to disk. 

To use SIOV, we must fill in all the 
values of the Device Control Block 
(DCB) from memory locations 768 — 
779 (S0300— »030B). But for this ap- 
plication only four bytes of data are 
variable. To read a sector, set the fol- 



label 


Memory Location 


Value 


Read a Sector 






DCOMND 


770 (S0302) 


82 ($52) 


DSTATS 


771 ($0303) 


64 ($40) 


Write a Sector 






DCOMND 


770 (»0302) 


87 ($57) 


DSTATS 


771 (S0303) 


128 ($80) 



tus variable. Error codes are stored in 
STATS and loaded into the accumula- 
tor and Y register when the handler 
returns to the CIO. The CIO returns 
control to you when an error code 
greater than 127 occurs. 

The GET BYTE and special func- 
tions are not implemented here and 
are represented by NOFNT (line 
6785). This is simply an RTS which 



lowing memory locations: 

The command for writing without 
verification is $0050, and with verifi- 
cation it's S0057. The only other vari- 
able is the sector number in bytes 
«030A and $030B (low byte, high 
byte) taken from the variable SEC- 
NUM. All other values are supplied by 
the routine DISKIO. 

The second I/O subroutine in lines 



JULY 1989 



13 



7840-7930 accepts either Y or N from 
the keyboard buffer and loads the ac- 
cumulator with either a one for Y or 
a zero for N. Upon returning from this 
subroutine, a BEQ or BNE tests for the 
key pressed. The only drawback to 
this is that the character for the key 
pressed is not displayed. 

These two routines perform I/O 
consistently between Atari operating 
systems. SIOV is a vector that always 
points to the serial bus I/O utility, and 
the keyboard buffer is always at 
$02FC. To get or display a string of 
bytes from the keyboard, we need a 
different approach. 

SCREEN EDITOR HANDLER 

Both writing to the screen and 



dependently of the operating system. 

The method for this is included in 
the initialization routine for the 
MAKEBOOT handler Lines 690-1070 
first locate the screen editor's Handler 
Table by searching the Handler Ad- 
dress Table (starting at S031A) for the 
E: device. 

The two bytes following the ASCII 
E are the address of the Handler Ta- 
ble, in which bytes 4 and 5 are the 
address-minus-one of the GET BYTE 
routine and bytes 6 and 7 are the 
address-minus-one of the PUT BYTE 
routine. These addresses are stored in 
a three-byte jump instruaion on lines 
8295 and 8320. One is added to each 
address, so we're ready to do I/O to 
and from the screen. 



You could use this 

program to produce your 

own bootable games or programs that 

produce a disk menu. 



receiving a string from the keyboard 
can be done via the screen editor han- 
dler. Printing to the screen is done by 
loading the accumulator with the 
ASCII value of the character to be dis- 
played and doing aJSR to the screen 
editor's PUT BYTE routine. To get a 
byte from the screen, do a JSR to the 
screen editor's GET BYTE routine. 
Upon return, the ASCII value of the 
next key pressed will be in the ac- 
cumulator 

For most Atari operating systems, 
the screen editor's PUT BYTE routine 
starts at JfF6A4 and the GET BYTE 
routine starts at $F63E. Your program 
might use these addresses to read and 
write to the screen. The problem is 
that these locations aren't guaranteed 
and may be at different locations in 
different operating systems. We have 
to find these handler routines in- 



Instead of doing a JSR to a location 
in the operating system, we do a JSR 
to either EPUT or EGET. The program 
is vectored to the true address of the 
PUT BYTE and GET BYTE routine. 

Now that we've established a legal 
way of using the screen editor to read 
and write to the screen, we can fin- 
ish discussing the I/O routines. 

To use the subroutine in lines 8l40- 
8270 that displays characters, load the 
low byte of the address of the first 
character of the string into the ac- 
cumulator and the high byte into the 
Y register Then JSR to PRINT. 

This continues to display charaaers 
until it finds one with the most sig- 
nificant bit set (values greater than 
127). If the last character equals 128, 
then the cursor will remain at the end 
of that line of text. All values greater 
than 128 will make the text end with 



a carriage return. The only other con- 
trol character is a carriage return, 
represented by zero. Lines 8260-8515 
give examples of how this routine is 
used. 

The routine called PNUM (lines 
7950-7975) displays a two-byte in- 
teger as a base 10 number To use it, 
put the low byte of the number in 
$0004 (FRO) and the high byte in 
$00D5. Then do a JSR to PNUM. The 
routine uses the floating-point rou- 
tines found at JSDSOO to SDFFE IFP 
converts the integer to a floating-point 
number in FRO. FASC converts a 
floating-point number in FRO to a 
string in a buffer called INBUFF at 
550580. PRINTE displays the resulting 
string. 

Finally, GETNUM inputs a user- 
generated number and converts it to 
an integer in FRO. This routine also 
uses the floating-point routines, but 
it starts with an ASCII string in IN- 
BUFF. The string is input from the 
keyboard by doing aJSR to EGET un- 
til a carriage return is reached. To 
avoid most errors, the ASCII value for 
a zero ($0030) is put in the first byte 
in the INBUFF buffer This means that 
any character other than a number 
will return a zero. 

USING THE PROGRAM 

MAKEBOOT is written for OS/A-i- 
DOS, and will not work with Atari 
DOS 2. Compile the source code (List- 
ing 1, MAKEBOOT.M65) using 
MAC/65 or your Atari Assembler/Edi- 
tor cartridge. If you have the Antic 
monthly disk, you will find both the 
source code and the executable file 
(MAKEBOOTEXE) already on the 
disk. (This executable file will NOT 
run with DOS 2.) 

Load the resulting file from DOS. 
To use the new handler, simply use 
the COPY command to copy the 
desired load file to the B: handler. You 
need a disk to hold the new boot sec- 
tors. (It's a good idea to use a freshly 
formatted disk, and always a good 
idea to work with backup copies of 
your programs, just in case.) 



14 



ANTIC, THE ATARI RESOURCE 



The first six bytes of information 
can be added in several ways. The eas- 
iest is to put them in your program 
before compiling it, as shown in the 
example below. 

100 .Start of your program 

110 ; 

120 *= (your load address) 

130 STA.RT .BYTE 

140 SECCNT .BYTE [LAST-START]/ 
128 + 1 

150 LOADAD .WORD START 

160 RUNADR .WORD (your run 
address) 

170 INITAD JMP (your program 
init) 

170; 

LAST is a label that is added to the 
end of your program. 

If this is impossible or incon- 
venient, they can be added while the 
MAKEBOOT handler is running. The 
first opportunity is before the load file 
is written to the boot disk. At this 



FIGURE 1 




Boot Sector Data 




Byte# 

1 
2 

4 
6 




Bytes 
I 
1 
2 
2 
3 






Purpose 

Flag stored at $0240 

Boot sector count 

Load address 

Run address 

Jump to initialization address 


The initialization address can 
program, a jump instruction 


start at 
is placed 


byte 6 but for the purposes of this 
here. 



point the program asks you for the 
sector count, load address, run ad- 
dress and initialization address. 

If you use this method, you must 
leave at least six bytes between your 
load address and the beginning of the 
boot program for the boot informa- 
tion. If you specify an initialization 
address, you must leave nine bytes be- 
cause the initialization address is ad- 
ded as a jump to the address you 



specify and it starts at byte 6. 

Finally, after the boot sectors are 
written, the MAKEBOOT handler 
gives you the actual sector count, load 
file run address and load file initiali- 
zation address. Then it asks you if you 
want to add them. If you respond 
with a [Y] to these prompts, the cor- 
responding data will be added to sec- 
tor 1. A 
Listing on page 38 



Keep 

Your 

Atari 

Alive! 



SUBSCRIBE 



Antic 

Disic 

Only 

$59.95 




JULY 1989 



15 




NEW XL/XE SOFTWARE! 



c:;f«.os^:bo'w (>ce; gun) 

OISTE OrsT OIME 

c::n:oF»LiF-TE;rt 



CFtllVIE; IBUSTEFiS C?CE: gum) 

ICAJRA-TEICA. 

AJ:FtBAi,L 



1020 

Complete with: 

• 2 Pen Sets 

• 1 Roll Paper 

• Power Supply & Cable 

EJCTRAPENSn^ 



COLOR PRINTER 
PLOTTER 



$14.98 

' Brand New 

$ .89 (Black) 
$3.98 (Color) 



1200XL 64K COMPUTER 



w/PAC-MAN 



Reconditioned 



1027 PRINTER 



80 Column 
Direct Connect 
' Letter Quality 



Brand New 



ATTN. DEALERS 

PAC-MAN 

Case of 120 



800 48K COMPUTER 

w/PAC-MANig995 

Reconditioned 



$69. 



1025 PRINTER 



• 80 Column 
" Dot Matrix 

• Frlction/Tractor 

• Direct Connect 



$79.98 

Reconditioned 



DISK DRIVE 



1050 $169. 



800 BOARDS 

• Mother • CPU your choice 

• Power • ROM $8.98 



8Blt I/O Cable . $4.98 

850 Interface <>'70 no 
Serial, parallel »l^^-«g 

810 DRIVES $129. 

ReAmdmowd 

BASIC TUTOR ^^ QQ 
4 BOOKS S''*.S70 

S.2S" DISKS 20 CENTS BA.* 

QTY. PRICE 

10 $4.00 

100 .... $29.95 

•1000 .... $200 

UXIOSTTY ARE UNNOTCHED 

CONTAINING OLD SOFTWARE 

DOS XE .99.95 

DOS 2.5 w/manual .. $4.9S 

1010 Tape drive $29. 

10' Joystick ext $ .99 

Trackball $9.95 



CARTRIDGES FOR 800, XL. XE 



BASIC CARTRIDGE $4.95 

BASIC TUTOR (4 BOOKS) $4.95 

TURMOIL $4.95 

PAC-MAN (no box) $4.95 

DONKEY KONG (no box) $4.95 

GORF (400.800) $4.95 

DEMON ATTACK (400,80(^ $4.95 

DEUIXE INVADERS $4.95 

JOURNEY TO THE PLANETS.. $4.95 

MATH ENCOUNTER $7.98 

DANCE FANTASy $8.98 

LOGIC LEVELS $8.98 

MEMORY MANOR $8.98 

UNKING LOGIC $8.98 



CHICKEN $8.98 

CLAIM JUMPER $8.98 

DELTA DRAWING $8.98 

HEY DIDDLE DIDDLE .... $8.98 

SUME (400/80<S $8.98 

ALPHABET ZOO $8.98 

ALF $8.98 

ADVENTURE CREATOR .. $8.98 

SKY WRITER $14.95 

FOOTBALL $14.95 

DEFENDER $14.95 

ROBOTRON $19.98 

TENNIS $19.98 

FINAL LEGACY $19.98 



MARIO BROS $19.98 

DONKEY KONG JR $19.98 

JUNGLE HUNT $19.98 

MOON PATROL $19.98 

BATn.£ZONE $19.98 

FOOD FIGHT $19.98 

HARDBALL $19.98 

FIGHT NIGlfr $19.98 

ONE ON ONE BASKETBALL .. $19.98 

DESERT FALCON $19.98 

NECROMANCER $19.98 

RESCUE ON FRACTALUS $19.98 

BALLBLAZER $19.98 

BLUE MAX $19.98 



STAR RAIDERS II $19.98 

DAVID'S MIDNIGHT MAGIC $19.98 

ARCHON $19.98 

KARATEKA $19.98 

CHOPUFTER $19.98 

GATO $24.98 

ACE OF ACES $24.98 

LODE RUNNER $24.98 

BARNYARD BLASTER p(E gun) .. $24.98 

DARK CHAMBERS $29.98 

AIRBALL $29.98 

SUMMER GAMES $29.98 

CROSSBOW pCE gun) $29.98 

CRIME BUSTERS (XE gun) $29.98 



DISK SOFTWARE FOR 800, XL, XE 



DAVID'S MIDNIGHT MAGIC $4.98 

ZORRO $4.98 

BANDITS (48K 400.800) $4.98 

PROTECTOR II $4.98 

CLAIM JUMPER $4.98 

SYNTREND $4.98 



CROSSCHECK $4.98 

MOLECULE MAN $4.98 

CRYSTAL RAIDER $4.98 

DESPATCH RIDER $4.98 

MISSION ASTEROID $4.98 



SPIDERMAN $4.98 

HULK $4.98 

VISICALC $24.98 

BOOKKEEPER W/ numeric keypad... $29.98 
GET RICH $39.98 



„^<.-"" 8-bit 
Bargains! 



Commbat 

Preppie I & II 

The Count 

Disk 50 (50 Games) 

Freaky Factory 

Laser Hawk 



Special buys on 8-BIT Software! 



SAN JOSE COMPUTER 



THE 



ATARI 



STORE 



Sunrise Plaza 640 Blossom Hill Rd. ScnJcse, CA 95123 
(408) 224-8575 • BBS (408) 224-9052 



^^<^--"" 8-bit 
Bargains! 



Rocket Repairman 
Adventureland 

Pirate Adventure 
Secret Mission 
Voodoo Castle 

Technicolor Dream 



SHIPPING: ADD $5.00 TO ALL ORDERS. AJR AND INTERNATIONAL SHIPPING EXTRA. THATS IT. 

WARRANTY: 90 DAY WAliRANlY ON ALL ITEMS. TAX: CALIFORNIA RESIDENTS ADD 7% SALES TAX. 

PREPAITMENT: USE VISA, MASTERCARD. MONEY ORDER, CASHIER'S CHECK OR PERSONAL CHECK. 

PERSONAI- CHECK MUST CLEAR PRIOR TO SHIPMENT. C.O.D.: CASH. CASHIER'S CHECK OR M.O. ONLY. 

Prices subject to change without noUce. Brand and/or product names are trademarks or registered trademarks of their respective holdeiB. 

Ad produced on an ATARI ST using Publishing Partner and printed on an ATARI SLM804 PostScript compatible laser printer. 



DISK BONUS 



ExiAfall 



Futuristic tank battle for two players. 



Battle it out for construction 
space, in this month's Su- 
per Disk Bonus. Exwall is 
a hard-hitting futuristic two player 
tank game written in assembly lan- 
guage. The program works on 8-bit 
computers with at least 48K mem- 
ory, disk drive and two joysticks. 
Exwall was written in fast-moving 
machine language by Andy Barton, 
who has been contributing to Antic 
since 1984. His programs include 
Spelling FlashcardsiFehruary 1989) 
and the ever-popular TYPO 11. His 
Machine Language Stringer appears 
elsewhere in this issue. 

THE SCENARIO 

Across eight battle zones, the ro- 
bot war continues without end. 
Powerful robots battle it out for 
building space, over a terrain marked 
with stone fortress walls and blue 
rivers and lakes. Massive mobile fac- 
tories, the robots move about, build- 
ing and repairing the fortress walls, 
even as they try to destroy each 
other. 

Your robot carries a cannon that 
fires explosive shells — but so does 
your opponent's. In this high-tech 
slugfest, you must destroy your op- 
ponent's fortresses and robot factory 
without being destroyed yourself. 
Your ranking reflects your success. 

GEniNG STARTED 

Don't try to run Exwall directly 
from the Antic Monthly Disk. In- 
stead, copy EXWALL.EXE to another 



Program by Andy Barton 




disk that includes the DOS.SYS file. 
Use DOS command E to rename EX- 
WALL.EXE to AUTORUN.SYS. Turn 
off your computer and remove all 
cartridges. Place the disk in Drive 1. 
Hold down the [OPTION] key if 
you're using an XL or XE. TUm on 
the computer, and Exwall will load 
and run automatically. 

Plug in two joysticks, one for each 
player Use your joystick to move 
your robot factory up and down, 
forward, backward and diagonally. 
You can't move through walls, over 
water, or into the farthest quarter of 
your opponent's territory. 

To build a wall, move the robot 
factory to the desired place. Then 
move back 1 or 2 spaces and stop. 
A two-layer wall will be built in front 
of the machine. Construction will 
stop when the area in front of the 
machine and within the crane's 
reach is completed — or when you 
move the factory. 

Press the joystick button once to 
fire your cannon. Press it a second 
time to explode the shell. Press and 



release the fire button quickly, or the 
shell will explode before you want 
it to. You can use unexploded shells 
to knock narrow channels in your 
own defenses, and then fire through 
the channels as you hide in the rela- 
tive safety of your fortress. 

You can't move over water but 
you can build walls at the water's 
edge. When these walls are de- 
stroyed the debris will fill in the 
water and allow you to move on. 

A shell exploding next to a wall 
will penetrate deeply but not widely. 
Conversely, if the shell explodes be- 
fore it reaches a wall it will destroy a 
wider area but with less penetration. 

Crashing your robot into your op- 
ponent's will destroy both machines 
— and possibly get you out of a tight 
situation. But it won't help your 
ranking. On the other hand, daring 
players can significantly enhance 
their scores by moving in close and 
firing repeatedly into their oppo- 
nent's exploding robot. 

Your July 1989 Antic Disk— fea- 
turing the Exwall Super Bonus game 
as well as every type-in program 
from this issue — ^will be shipped to 
you within 24 hours after receiving 
your order Just phone Toil-Free 
to the Antic Disk Desk at (800) 
234-7001. The monthly disk is only 
85-95 (plus $2 for shipping and han- 
dling) on your Visa or MasterCard. 
Or mail a 5595 check (plus $2 ship- 
ping and handling) to Antic Disk 
Desk, 544 Second Street, San Fran- 
cisco, CA 94107. A 



JULY 1989 



17 



I T\'pe-hi Software 



FEATURE APPLICATION 



TapeTime 
LabelMaker 



Printing your VCR log. By Gary Coppola 



TapdTime Labelmaker is a la- 
bel printing utility that will 
allow you to print the title, 
speed and time of your favorite video- 
taped movies or television programs 
on any Beta or VHS label. I developed 
the label maker as an add-on to Paul 
Shannon's TapeTime (Antic, January 
1989) which determines the amount 
of time remaining on partially 
recorded VCR tapes. 

When Antic challenged readers to 
design a patch for an add-on labeler, 
I thought this should be no problem! 
A dozen or so lines of code and pres- 
to, a labelmaker Well, after rummag- 
ing through all of my VCR tapes and 
checking out their labels, I realized 
that in nearly every instance, no two 
brands provided the same area and lo- 
cation to print in. In fact, even differ- 
ent tape grades of the same brand had 
different labels. So much for an easy 
patch. 

What evolved after several ap- 
proaches to the problem was a user- 
friendly program that automatically 
selects the print size on the label ac- 
cording to the number of titles you 
have entered. This allows you to have 
up to six titles on Beta format labels 
and up to seven titles on VHS labels. 
The positioning of the printing area 
is accomplished with only one user 
input. It's that easy! 



Print VCR labels showing titles, speeds, 
and times of your favorite movies and 
shows with TapeTime Labelmaker A 
simple modification of Antic's Tape- 
Time program ffanuary 1989), Tape- 
Time Labelmaker will make managing 
your VCR collection easier than ever. 
Works on 8-bit Atari computers with at 
least 48K memory, disk drive and an 
Epson-compatible printer. 



GEHING STARTED 

If you don't already have Tape- 
Time simply type in Listing 2, 
VCRLABEL.BAS, and be sure to SAVE 
a copy to disk before you run it. 

If you already have TapdTime, the 
patch can be typed and merged with 
the original listing. Type in Listing 1, 
TAPEMOD.LST, check it with TYPO 
II and LIST it to disk. LOAD the origi- 
nal TapdTime program and then EN- 
TER "D:TAPEMOD.LST". Don't forget 
to SAVE the merged file back to disk 
as "D:VCRLABEL.BAS". 



Several lines of TapdTime have been 
rewritten in order to accommodate 
the labelmaking patch. You'll find the 
complete TapdTime Labelmaker on 
tills month's Antic Disk, ready to RUN 
without any modifications or merg- 
ing required. 

MAKING A LABEL 

When you RUN the modified ver- 
sion of TapdTime the first choice you 
will have to make is either Do Calcu- 
lation or Make a Label. If you select 
Do Calculation you will proceed ex- 



18 



ANTIC, THE ATARI RESOURCE 



actly as in the original TapdTime 
program. 

If you select Make a Label you will 
next be prompted to choose either 
Beta or VHS format. After typing your 
choice, a list of the more popular VCR 
tape brands will appear onscreen with 
a column of numbers under the head- 
ing of CMAX. This is a suggested value 
for the maximum number of charac- 
ters your title should contain in order 
for it to fit within the allowable space 
on that brand's label. 

After a short time, a scale with 
numbers ranging from 5 to 35 appears 
in the message area with room to en- 
ter your title right below it. This scale 
helps you easily determine the num- 
ber of characters in your title as you 
are typing it. After entering your first 



If your brand of tape is not among 
those in the list, make a trial label on 
paper to insure that your margin set- 
ting and title length are correct. An 
easy way to find the appropriate mar- 
gin setting is to hold your label next 
to the printers' column scale with its 
left edge on column 0. Then read the 
column number where you want 
your printing to begin. This is the 
margin setting. 

Once you determine satisfactory 
margin settings and title lengths for 
your particular brand of label, you can 
replace some of the brands on the list 
with your own brands and values. 
This way, you won't forget those 
numbers the next time you use the 
program. The lists are located in Lines 
3015-3070 in Listing 1. 



printer control codes used in this pro- 
gram are Epson codes. If you own a 
printer that is not Epson compatible 
you can replace the codes in Lines 
3200-3245 with your own printer 
codes. Each code has a REM statement 
following it so you know exactiy what 
each code represents. Just look in 
your printer manual for the proper 
codes. 

When the program enters the print- 
ing mode and you input the margin 
setting, you will notice that the 
printer advances the label approxi- 
mately five-eighths of an inch, as a re- 
sult of the printer receiving the con- 
trol codes. If you don't take this into 
account you may have to reposition 
your label at this point. 

You can avoid this problem by turn- 



^mi 




M*.RV'3 BIR'THDJWK PXRTVr : »» ■* -S 

aoffiV'.a. BrRn^HOA.^ £>jpl»tv- hsc . 4 q. 
awiMMiMO LffiaaoNa ac- 20 

HH:R3HH:V : OA.RK TOUR: -WV: SO 

c:*.MC-xMa AMD p-isHiNO ac> 30 
*.iR 3HOW ttc- eo 


N lyy 







DISNEY WORLD VACATION 
CAPE KENNEDY Bill 50 



BIX 120 



title you will be asked for its speed 
and time. 

This sequence repeats, allowing 
you to enter up to a maximum of six 
tides for Beta and seven titles for VHS. 
If you have less than the maximum, 
just press [RETURN] when prompted 
for the next title and you will enter 
the printing mode. 

At this point, insert a label into the 
printer with the brand name or logo 
facing to the right. Align the label's left 
edge with column (on many 
printers the column scale is located on 
the tear bar). 

HELPFUL HINTS 

Now, turn on the printer and, at the 
prompt, enter the margin setting. A 
list of VCR tape brands along with 
some suggested settings will appear 
That's about it — press any key and 
your label will be printed. 



The size of type on the label is con- 
trolled by the number of titles you en- 
ter In Beta format, if you have three 
titles or less, they will be printed in 
normal-size type. For more than three 
titles, the print size will be one-half 
that of normal. In VHS format, four 
titles or less will be in normal-size 
type, otherwise you will get the 
smaller type. If you expect the label 
to print in the smaller type, I recom- 
mend that you use all capital letters 
in your title for better readability. 

After entering your title and speed 
you are prompted for the program 
length (in minutes). This was done to 
keep the same format as in the calcu- 
lation portion of the program. In the 
labelmaking portion, however, this is 
not critical. If you would rather type 
2hr instead of 120 (minutes), go right 
ahead but remember you only have 
a maximum of three characters. The 



ing off the printer's line feed DIP 
switch when you first place your la- 
bel in the printer (My interface has a 
line feed switch on it also, which 
makes this process easier.) After en- 
tering the margin setting the printer 
will now receive the codes without 
moving the label. Turn the line feed 
switch back on and press any key to 
print the label. 

If you need more room than is al- 
lotted on your brand name label, 
blank VHS pin-feed labels (sorry, Beta 
owners) are available in a variety of 
colors from SUdeScribe, 7141 Shady 
Oak Road,Minneapolis,MN55344. A 

Gary Coppola ofBudd Lake, New Jersey 
is a senior research chemist for a major 

pharmaceutical company. He has writ- 
ten two books and has over 75 scientific 

publications and patents. 

Listing on page 29 



JULY 1989 



19 



.%>. 



mi 



n 



Vi 



20 



^^% 



Tfpe-lii Software I 




EGYPT 



m^h 



CALEMDAR 

C0MVERT5 

TODAY'5 DATE5 

TO TME AMCIEMT 

EQYPTIAM 5Y5TEM 



By Chris Carrier 



Feel like a Pharoah! 
Convert any date 
from the Julian 
or Gregorian 
calendars back to 
the calendars 
used in ancient 
Egypt This BASIC 
program works on 
Atari 8-bit computers 
with at least 48K 
memory. 



Your Atari can make you an 
Egyptologist. Egypt Cal- 
endar takes any date in 
the Julian or the modem 
Gregorian calendars, and gives the 
equivalent dates in both of the civil 
calendars used in ancient Egypt, one 
of which survives even to this day. 
Just enter the date, and a screen full 
of information about that day and 
year appears. Not only does the pro- 
gram give the original Egyptian calen- 
dar date, but the year is given as de- 
termined by the reigns of several 
ancient kings, or by the Alexandrian, 
Augustan and Coptic calendars. The 
program can even tell you the day of 
the week on which that date fell, or 
the Julian Day number, useful for as- 
tronomers. 

GEHING STARTED 

Type in Listing 1, EGYPT.BAS, 
check it with TYPO.II, and SAVE a 

ANTIC, THE ATARI RESOURCE 



.J 



m. 






■p^ 


mS 


mi 


1 




.M 






















J 


-^111 




d 


^1/:^ ■■ 




1 




.1- 



copy to disk before you RUN it. 

The program wUl then ask you to 
input a date. If the date is between 
1582-1923, you will be prompted to 
specify whether the date uses the 
Julian or Gregorian calendar. The 
Gregorian calendar began in 1582 
A.D., but the last nation to switch 
from Julian to Gregorian (Greece) did 
not do so until 1923. 

Then press [RETURN] to see how 
your date translates. At the top of your 
screen the date you entered wiU be 
displayed, followed by the Julian Day 
Number. Used by chronologists and 
astronomers, this number simply tells 
you how many days have passed since 
January 1, 4713 B.C. QD #0). 

The original Egyptian calendar date 
follows, with the year as determined 
by eight different eras. At the very bot- 
tom of the screen is the date of the 
Sothic Rising, the astrological phe- 
nomenon used by the ancient Egyp- 



tians to track the actual, as opposed 
to calendar, year. 

During the first couple of millenia 
of the calendar's existence, the 
months had no names, but were sim- 
ply referred to as the first, second, 
third. . .month of their season. 

EGYPTIAN DATES 

The ancient Egyptians, among their 
other accomplishments, were proba- 
bly the first people in the history of 
the world to discover the number of 
days in a year down to the nearest 
integer. 

The original version of the Egyp- 
tian calendar had a week of 10 days, 
a month of 3 weeks or 30 days, a sea- 
son defined as 4 months or 120 days, 
three seasons equaling 360 days, 
which were followed by five un- 
named epagomenal, or "outside the 
calendar," days to total 365 days in a 
year. 



The year began with the season of 
Akhit (Flood, as in Nile River), fol- 
lowed by Perit (Winter) and Shemu 
(Summer). Egypt Calendar gives this 
date thus: Shemu 2-14 for the I4th day 
of the second month in the summer 
(Shemu) season. The five epagomenal 
days are treated by the program as a 
five-day, fifth month of Shemu. Be- 
cause a tradition developed that any 
work done on the epagomenal days 
was unlucky, the ancient Egyptians 
ended their year with a five-day 
festival. 

The great advantage of the Egyptian 
calendar is that it was easy to use — it 
survived in daily use for more than 
3,000 years. Astronomers and 
historians used the calendar for con- 
venience of chronology as late as the 
I6th century. France tried a version 
of it shortly after the French Revolu- 
tion, in the late 18th century. This 
calendar has even drawn praise from 



JULY 1989 



21 





y>A 



a 20th century astronomer (Neuge- 
beuer, "A History of Ancient Mathe- 
matical Astronomy") for being the 
"most sensible of all calendars used 
by mankind", with its easy-to-use 
10-day weeks, 30-day months, and> 
365-day years. 

CORREQIONS NEEDED 



The great disadvantage of Egyptian 
calendars is that the number of days 
in the year is not 365, but rather 
365.2422 days in a tropical year (the 
cycle of the seasons) or 365.2564 days 
in a sidereal year (one orbit of Earth 
with respect to the stars). 

Therefore, the Egyptian calendar 
ran about 1 day fast every 4 years, so 
if an armual event occurred on, say, 
Akhit 1-1 in a given year, it would oc- 
cur on Akhit 1-2 after four years, Ak- 
hit 1-3 after eight years, during the 
second month of Akhit after about 
120 years, and eventually, the event 
would go around the entire year. It 
would have been obvious within, say, 
100 and certainly before 200 years 
that the calendar needed to be cor- 
rected for the true length of the year. 

However, the calendar wasn't cor- 
rected for thousands of years, but the 
Egyptians invented a second new year. 
The "true" year, as opposed to the 
calendar year, began when Sirius, the 
brightest star in the sky (except for our 
own sun) appeared for the first time 
in the predawn sky after having been 
behind the sun and invisible. Because 
the Egyptian name for Sirius is 
"Sothis," this annual event is called the 
Sothic Rising. 

On July 20, 139 A.D., a Roman liv- 
ing in Egypt by the name of Censori- 
nus observed a Sothic Rising on the 
first day of the Egyptian year. He fur- 
thermore stated that as the Julian 
calendar contained 365-25 days, and 
the Egyptian 365, that 1460 Julian 
years equaled l46l Egyptian years, 
and he labeled this the "Sothic Cycle," 
or the "Great Year" of the Old Egyp- 
tian calendar, now known as the 
"Julian Sothic Cycle." 

Since Censorinus' time the exact 



length of the sidereal year has become 
known, and the true Sothic Cycle is 
1422 Old Egyptian years long. The 
next time a Sothic Rising coincides 
with Akhit 1-1 will be on August 27, 
^2985 A.D. 
ji^' I Also of note is the fact that the 
ft f ts bthic Rising occurs in the JuUan 
calendar about 1 day later every 150 
years, and in our Gregorian calendar, 
1 day later every 72 years. This is be- 
cause of the precession of the 
equinoxes, the same phenomenon 
which makes Polaris the North Star 
in our lifetimes and Thuban the North 
Star during the building of the Great 
Pyramid. 

Although any estimates as to exaaly 
when the Egyptian calendar began to 
function are only educated guesses, 
Sothic Risings on Akhit 1-1 occurred 
in 1282-85 B.C., 2706-09 B.C., and 
4 130-33 B.C. The program designates 
the last mentioned date as Cycle #0, 
and it is believed that the calendar 
may have started regular use about the 
beginning of Cycle #1. 



22 



REIGNS AND ERAS 

There are two surviving accounts 
of ancient Egyptians observing a 
Sothic Rising — during the reigns of 
Senworset III and Amentohep I. Be- 
cause of this, we can calculate the ex- 
act year their reigns began, and this 
date is given in the program; in an- 
cient Egypt, and in fact in most of the 
world's monarchies, the year used is 
the number of years since the acces- 
sion of the current monarch. 

In the second century A.D. the 
Greek astronomer Ptolemy compiled 
a "Canon of Kings," a reference book 
that attempted to standardize the dates 
of the reigns of the monarchs of vari- 
ous empires. As his reference, he used 
the 365-day Egyptian year because of 
its convenience and established a year 
1 at the crowning of the Babylonian 
king Nabonassar 

The Nabonassarian Era is the most 
common one used in connection 
with the Old Egyptian calendar, al- 
though it was never used by either the 

ANTIC. THE ATARI RESOURCE 



Egyptian government or its subjei 
(In fact, the World Almanac 1989 
gives in "Chronological Cycles" the 
opening of the Nabonassarian Year 
2738 on April 26, 1989— a fact that 
can be checked using Egypt Calendar.) 

When Augustus Caesar conquered 
Egypt, shortly after the Roman Em- 
pire adopted a 365. 2 5 day year, he 
decreed that a 366th day be added to 
the Egyptian calendar in every fourtli 
year, thereby setting up a new 365.25 
day calendar with an Augustan Eta 
(from Augustus' accession) and an 
Alexandrian Era (from Rome's con- 
quest of Egypt). 

After Augustus' death, however, the 
new calendar went ignored for almost 
300 years, until the Coptic Christian 
Church in Egypt decided to start us- 
ing it, with an era beginning with the 
reign of the then-current Roman em- 
peror, Diolectian. Since Diolectian is 
primarily remembered for persecu- 
tion of and atrocities against Chris- 
tians, the Coptics refer to their era, 
which they use even today, as the "Era 
of Martyrs." The year 1706 of the 
Coptic Era of Martyrs begins on Sept. 
11, 1989. 

Egypt Calendar gives the date in the 
revised 365.25-day Egyptian calendar, 
and as names for the months were in 
use by the time of the reform, these 
month names are used instead of the 
season and month number. The year 
in the New Egyptian calendar begins 
on August 29 or 30 in the Julian calen- 
dar, and between 1900 and 2099 A.D. 
in the Gregorian calendar, on Septem- 
ber 11 or 12. The Alexandrian, Augus- 
tan, and Coptic eras are all given by 
the program. 

This program was inspired by the 
chapter on the Egyptian calendar in 
O. L. Harvey's "Calendar Conversions 
by way of the Julian Day Number." 

LIST OF VARIABLES 

CAL$ — the calendar in which the 
date is being inputted, either Julian or 
Gregorian. Anyone entering a date be- 
tween 1582-1923 will be prompted 
for the calendar they want. 




ENSEASONS— The season of the 
year, in the original Egyptian calendar. 

EMO— The number of the month 
in the season in the original Egyptian 
calendar. 

EBM— The day of the month in the 
original Egyptian calendar 

D$— The day of the (seven day) 
week. 

M$— The month of the year in the 
Julian or Gregorian calendar 

DATE— The day of the month, 
Julian or Gregorian. 

lYEAR— The number of the year, 
Julian or Gregorian. 

ERAS— A.D. or B.C. 

JDAY— Julian Day Number, used by 
chronologists and astronomers, and 
is a linear count without end. JD #0 
was January 1, 4713 B.C. — in the late 
20th century A.D., the number is be- 
tween 2440000 and 2450000. 

JSC— Julian Sothic Cycle of Cen- 
sorinus. I46l original Egyptian years 
long. 

TSC— Thae Sothic Cycle 1424 origi- 
nal Egyptian years long. 

EY— -Number of the original Egyp- 
tian year in the current Julian Sothic 
Cycle. 

TEY^Number of the original Egyp- 
tian year in the current True Sothic 
Cycle. 

SENWORSET3— Number of origi- 
nal Egyptian years since the corona- 
tion of Senworset III. 

AMENHOTEPl— Number of origi- 
nal Egyptian years since the corona- 
tion of Amentohep I. 

NABONASSAR— Number of origi- 
nal Egyptian years since the corona- 
tion of Nabonassar 

CY— Year of the Coptic Era of Mar- 
tyrs, expressed in the New Egyptian 
calendar with a 366th day every 4th 
year. 

ENMONTHS— The month of the 

Egyptian year, expressed in the 

365.25 day New Egyptian calendar. 

CBM— The day of the month in the 

New Egyptian calendar. 

ALEXANDRIAN— The day of the 
month in the New Egyptian calendar, 
counting from Augustus' conquest of 



Alexandria and his attempt to institute 
a 365.25 day calendar in Egypt. 

AUGUSTAN— The day of the month 
in the New Egyptian calendar, count- 
ing from year 1 of Augustus' reign as 
Emperor of Rome. 

SRMONTHS- The Julian or 
Gregorian month in which Sirius 
makes its first appearance in the early 
morning (the Sothic Rising) just be- 
fore dawn, after having been invisi- 
ble for a month or so because it was 
above the horizon during daylight 
hours only. 

SR— The day of the month on 
which the Sothic Rising occurs. A 

Chris Carrier lives in Sacramento, Cali- 
fornia. His interests include astronomy, 
chronology and games. His articles have 
appeared in USA Today and the Barrow 
Sun, the northernmost newspaper in 
North America. This is his first appear- 
ance in Antic 

Listing on page 28 



HAVE A QUESTION 

ABOUT YOUR 

SUBSCRIPTION? 

Get an answer fast! 

Call 
(415) 372-6002 

Write: 

Antic Customer Service 

P.O". 60x1569 

Martinez CA 94553 







JULY 1989 



23 



I 'type-In Software 



GAME OF THE MONTH 



Red Squares 

Challenge for your mind and your reflexes. By Marc Abramowitz 



Are you sick and tired of shoot-'em- 
up games? Do the words "Space In- 
vaders" drive you crazy? Well, if 
you're tired of senseless violence, 
ringing ears and joystick-cramped 
hands, try Red Squares, a challenging 
strategy game that challenges your 
mind and reflexes. 

Red Squares is based on an imagi- 
native Russian computer game. A 
popular American version has been 
released for several makes of personal 
computers including the Atari ST— 
but not for the 8-bit Atari. 

But now this oversight is remedied. 
Red Squares lets you play this color- 
ful and exciting new game on your 8- 
bit Atari. The game features 50 speeds 
and other options for added 
challenge. 

GEniNG STARTED 

Type in Listing 1, SQUARES.BAS, 
and check it with TYPO II. Be sure 
to SAVE a copy before you RUN it. 

If you have trouble typing the spe- 
cial characters in lines 100 and 8010, 
don't type them in. Instead, type List- 
ing 2, check it with TYPO H and SAVE 
a copy. When you RUN Listing 2, it 
creates these hard-to-type lines and 
stores them in a file called LINES.LST. 

To merge the two programs, LOAD 
"D:SQUARES.BAS" and then ENTER 
"D:LINES.LST." Remember to SAVE 
the completed program before you 
RUN it. 

Various shapes, all made of four 




Tired of shoot-'em-ups and ma^es? 
This colorful strategy game, 
adapted from the popular Russian 
import, challenges both your mind 
and reflexes. This BASIC program 
works on 8-bit Atari computers with 
at least 48K and disk drive. 



squares, fall into a pit. The object is 
to move and rotate the shapes, guid- 
ing them into position at the bottom 
of the pit. Whenever the shapes fiU 
a complete line across the bottom of 
the pit, that line disintegrates, and the 
pieces above move down. The game 
is lost when the pieces are piled up 
all the way to the top of the pit. 
You get a certain number of points 



for completing a line, depending on 
how close it is to the top of the pit. 
The closer the line is to the top of the 
pit, the more points you get. You also 
score one point for each shape that 
falls into the pit. Even if you can't 
complete many lines, you should try 
to survive as long as possible. 

When you first RUN Red Squares, 
press [ST\RT] or the joystick button 



24 



ANTIC, THE ATXRI RESOURCE 



to reach the options screen. Move the 
joystick up and down or press [SE- 
LECT] to change the speed, which 
ranges from 1 to 50. As you play, the 
speed increases gradually, so don't 
start at too high a speed. 

Moving the joystick right and left 
or pressing [OPTION] lets you add 
extra challenge to the game, by start- 
ing the game with one to ten layers 
of randomly-placed pieces in the bot- 
tom of the pit. 

FALLING SQUARES 

Once you've selected speed and 
height, press [ST\RT] or the joystick 
button to begin the game. The pit will 
appear, and pieces will start falling 
from above, one by one 

Move pieces right or left using the 
joystick, or by pressing [J] and [L] . To 
rotate a piece 90 degrees, press the 
joystick trigger, or [K]. Pieces may be 
rotated several times — if the shape 
changes with such rotation. The 
square doesn't rotate, since the shape 
would remain the same. 

Try to leave as few gaps as possible 
when landing pieces. The more lines 
you complete, the more room you'll 
have for future pieces — and the more 
you manage to get into the pit, the 
higher your score. 

These rules are simple, but play can 
be challenging. With a little practice, 
you'll know which pieces will fit 
which spaces best — but the piece you 
need most may take its time about ar- 
riving. As the pieces fall faster and 
faster you'll find yourself struggling to 
place each piece just so. It takes in- 
tense concentration and some sharp 
thinking to truly master the falling 
squares. 

Marc Abramotvitz is a Freshman at Port 
Richmond High School in Staten Island, 
New ybrk. Besides computers, his interests 
include playing the guitar and fantasy 
role-playing games^particularly Teen- 
age Ninja Mutant TUrtles and Advanced 
Dungeons and Dragons. This is his first 
appearance in Antic 

Listing on page 33 



1)pe-/ii Software I 



Light show 
w^ith a hidden message. 




By Ernie Negus 



Many people who use 
computers are highly 
analytical thinkers. 
There is nothing wrong 
with that, but new ideas that are dif- 
ficult to prove seem a little off-the-wall 
to them. I myself was very skeptical 
about subliminal perception. I simply 
did not believe the claims that some 
people made about it. After reading 
a book on the subject, I decided to 
try out my own experiment with sub- 
liminal messages. 

Flash! is one of my experiments, a 
short machine-language program that 
lets you enter a message, which is then 
flashed on the screen in a series of 
dots. 

GEniNG STARTED 

Type in Listing 1, FLASH.BAS, 
check it with TYPO II and SAVE a 
copy before you RUN it. When RUN, 



FLASH.BAS creates a machine lan- 
guage program called FLASH.EXE. 
Antic Disk owners will find 
FLASH.EXE on the monthly disk. 

Don't try to run Flash! from 
the Antic Monthly Disk. Copy 
FLASH.EXE to another disk that has 
the DOS.SYS file on it. Then rename 
FLASH.EXE to AUTORUN.SYS. 

Thrn your Atari off and place your 
Flash! disk in drive 1. Now, turn on 
your Atari and Flash! will automati- 
cally load and start. 

CONVINCING EXPERIENCE 

My first experiment with sublimi- 
nal perception convinced me that it 
worked. At the time, about two years 
ago, I upgraded my 130XE to 1Mb of 
memory. I was also running a 24-hour 
bulletin board. 

To show off the power of a 130XE 
with one megabyte, I wrote a "Spin- 



JULY 1989 



25 



Give yourself a subliminal boost — or test the power of 
subliminal messages on your family and friends with 
Flash! This BASIC program creates a machine language 
program that works on 8-bit Atari computers with at least 
48K memory. 



ning World" demo program. Using a 
map-generating program, I created 
120 maps of the globe, incrementing 
the longitude three degrees for each. 

I then loaded these maps into the 
one megabyte of memory and wrote 
a program to switch the banks dur- 
ing vertical blank time. In this way, I 
could show the 120 different maps in 
rapid succession, and the effect was 
quite impressive. I even had paddles 
to control the speed, and if the trig- 
ger was pressed I could use the pad- 
dle values to determine the frame dis- 
played. Rotating the paddle control 
yielded a very weird effect, as the 
globe would eerily rotate along with 
it. 

I was working at a computer store, 
demonstrating my program at various 
trade shows. It was quite a popular 
display. As an experiment, I added an- 
other frame that would flash for a few 
milliseconds just before the first frame 
when the globe was spinning at full 
speed. 

At the time, my BBS was very inac- 
tive. I was lucky to get three or four 
calls a day. So naturally my sublimi- 
nal suggestion was, "Call BEE-CATS 
BBS!" written in huge letters on the 
extra frame. 

The effect was a slight flickering of 
the screen when the demo was run- 
ning. The flicker was barely percept- 
ible and far too fast to read no matter 
how hard you looked. 

The demo with its subliminal mes- 
sage ran at a trade show for three days. 
The night of the first day I had fifty 
calls on my BBS. The next day, I had 
over 200! 



Talking with some of the callers 
(most were already logged in, but 
hadn't called for a long time) I found 
they all had been to the trade show. 
Not only that, most did not even 
know that I had written the spinning 
world demo! It was this experience 
that caused me to believe wholeheart- 
edly in subliminal perception. 

HOW FLASH WORKS 

Flash! is another experiment in sub- 
liminal suggestion. Based on a con- 
cept by artist and engineer Bill Bell, 
it works on the phenomenon of the 
eye's perception of light and the way 
the subliminal mind can interpret the 
patterns from the eye. 

After you run the program you will 
be prompted for a phrase. Enter a sin- 
gle word or a short phrase. For the 
best results, keep the phrase as short 
as possible, with not more than four 
words. After that, the screen clears 
and a column of eight boxes will be- 
gin to flash rapidly on the screen. 

Most people who see this will just 
think it's a pretty display. If they try 
to concentrate on the flickering boxes 
to get any meaning they will proba- 
bly think even less of it. But when 
they look away and start thinking 
about something else, the words you 
typed may suddenly appear in their 
imagination. 

To understand how the program 
works, visualize one of those electric 
news signs, like the one in New \brk's 
Times Square, where words travel 
across a panel. The sign contains 
several columns of bulbs that turn on 
and off in a special sequence to pro- 



duce the moving message effect. 

Now visualize just looking at one 
of the columns of lights. After a cer- 
tain amount of time, the whole mes- 
sage gets scrolled through that one 
column. But it looks like just a bunch 
of flickering lights. 

Your subliminal mind is able to per- 
ceive the message being scrolled 
through that single column of lights, 
but your conscious mind cannot 
comprehend it as a message. It is only 
when you look away, when you may 
finally get the message coming 
through. 

This makes Flash! a great program 
for developing your subconscious 
mind. For example, if you want to lose 
weight, use the phrase, "I will be thin" 
on Flash!. If you are trying to develop 
a more positive attitude try "I am 
happy." Try to avoid negative words 
such as "not" or "no" or "won't" — 
these words tend to confuse the sub- 
conscious mind and will often pro- 
duce the opposite of the desired 
effect. 

To exit Flash! while it is displaying 
your phrase, just press any key. To 
slow down the message, press the [SE- 
LECT] key and release it several times. 
To speed it up, press the [OPTION] 
key several times. The audible click 
that occurs happens at the end of the 
phrase, just before the message is recy- 
cled through. A 

Ernie Negus is a longtime contributor to 
Antic Currently he lives in Bothell, Wash- 
ington, working as a technician on state- 
of-the-art ultrasound equipment. 

Listing on page 36 



26 



ANTIC, THE ATARI RESOURCE 



SOFTWARE LIBRARY 



TYPING SPECIAL ATARI CHARACTERS 



The Atari Special Characters and 
the keys you must type in order to 
get them are shown below: 

For [CONTROL] key combina- 
tion, hold down [CONTROL] while 
pressing the next key. For inverse 
[CONTROL] [A] through 
[CONTROL] [Z], press the [Oj] 
key— or [vk ] on the 400/800— then 
release it before pressing the next 
key. (Press [ H ] or [ yk ] again to turn 
off inverse.) For [ESC] key combina- 
tions, press [ESC] and then release 
it before pressing the next key. 

Carefully study the chart above 
and pay close attention to differ- 
ences between lookalike characters 
such as the slash key's [/] and the 
[CONTROL] [F] symbol [0]. 











NORMAL VIDEO 




rNVERSE VIDEO 


FOR Tin 


FOR TYPE 




FOR TYPE 


THIS THIS 


THIS THIS 




THIS THIS 


HCTRL , 


ffi CTRL S 




□ ESC 


[BCTRL A 


m CTRL T 




SHIFT 


□ CTRL B 


B CTRL U 




DELETE 


ffl CTRL C 


D CTRL V 




Q ESC 


9) CTRL D 


S CTRL W 




SHIFT 
INSERT 
O ESC 
CTRL 


B CTRL E 


ffl CTRL X 




IZCTRL F 


B CTRL Y 




S CTRL G 


ffl CTRL Z 




TAB 


a CTRL H 


G ESC ESC 




□ ESC 


□ CTRL I 


ffl ESC CTRL - 




SHIFT 


B CTRL J 


ffl ESC CTRL = 




TAB 


13 CTRL K 


ffi ESC CTRL + 




n A CTRL . 


B CTRL L 


ffl ESC CTRL ' 




□ A CTRL ; 


□ CTRL M 


m CTRL . 




ASHIFT = 


□ CTRL N 


n CTRL ; 




□ ESC CTRL 2 


B CTRL 


D SHIFT = 




□ ESC 


EB CTRL P 


H ESC SHIFT 




CTRL 


ffl CTRL Q 
e CTRL R 


CLEAR 
H] ESC DELETE 
(B ESC TAB 




DELETE 
D ESC 

CTRL 
INSERT 



TYPO II AUTOMATIC PROOFREADER 

TYPO II automatically proofreads Antic's type-in BASIC listings. Type in the listing below and SAVE a copy to disk 
or cassette. Now type GOTO 32000. At the prompt, type in a single program line without the two-letter TYPO II 
code at the beginning. Then press [RETURN] . 

Your line will reappear at the bottom of the screen. If the TYPO II code does not match the code in the magazine, 
then you've mistyped your line. 

To call back a previously typed line, type [■*], then the line number, then [RETURN]. When the completed line ap- 
pears, press [RETURN] again. This is how TYPO II proofreads itself. 

To LIST your program, press [BREAK] and type LIST. To return to TYPO II, type GOTO 32000. To remove TYPO 
II from your program, type LIST "D:FILENAME",0,31999, then [RETURN], then NEW, then ENTER "D:FILENAME", 
then [RETURN] . Now you can SAVE or LIST your program to disk or cassette. 



^ 



Don't type the 
rypo II Codes! 



MB 

un 

H5 

BN 

YC 

EM 
H5 

XH 



TH 
MF 



32088 REM TYPO II BY PNDV BARTON 

32818 REM UER. 1-8 FOR ANTIC tinCflZINE 

32828 CLR : DIM LINES C12e> : CLOSE t«2:CL0 
SE «3 

32838 OPEN »2, 4 . 8 , "E" : OPEN a3,5,e."E" 

32848 ? ••«••! POSITION 11.1:? "DHaffiBnnB" 

32858 TRAP 32848 : POSITION 2,3!? "Tupe 
in a prosran line" 

32068 POSITION 1,4:7 INPUT n2;LINE 

S:IF LINE«="" THEN POSITION 2,4:LI5T B 

:GOTO 32860 

32878 IF LINES cl, 1J="»«" THEN B = UnLCLIN 

ESc2,LENtLINES>J> iPOSITION 2,4:LIST B: 

GOTO 32868 

32088 POSITION 2,18:? "CONT" 

32898 B = OALeLINES> :POSITION 1,3:? •• ••; 



NY 
CN 
ET 

CE 
OR 



UJ 
JM 
EH 
BH 
MB 
IE 

UG 



2100 
2118 
2120 
:P05 
2138 
2148 
INES 
TO 3 
2158 
NS+c 
2168 
2178 
2180 
2190 
2200 
2210 
LCOD 
2220 
nat 
oue 



P 
P 
? 
IT 
C 
P 

20 
F 

C» 
C 
C 
H 
L 
H 
P 

EJ 
P 

Ch 



OKE 842,13:ST0P 
OKE 842,12 

••H":P05ITI0N 11,1:? ■'■UammBlinB 
ION 2,15:LIST B 
=0:flNS=C 

OSITION 2,16:INPUT n3;LINES!lF 
•• THEN ? "LINE " ; B ; " DEL'ETED":G 
50 

OR D=l TO LENcLINESJ :C=C+l:nN5= 
flSCcLINES CD, D>>> :NEXT D 
0DE=INTcnNS'676> 
ODE=nNS- CC0DE»676> 
C0DE=INTCC0DE'26> 
C0DE=C0DE-tHC0DEH2 6>+65 
C0DE=HC0DE+65 
OSITION 8,16:? CHRS CHCODE> ; CHRS 



OSITION 2,13:? 

press ■[i;r'IU[l)[iJ[i!ll 
GOTO 32050 



■If CODE does no 
and edi-t line a 



JULY 1989 



27 



Egypt Calendar 



Article on page 20 



LISTING 1 



Don't typ« the, 
TVPO II Codes! 



5 R 

le 

15 
20 
HON 
25 

! "7 

35 

0th 

37 

38 

E" 

39 

e t 

4B 

noN 

DAT 
41 



En E 

REM 

REM 

Din 

THS t 

POKE 

"IS"! 

? "T 

Eau 

? "h 

? :? 



GVPT 
BY C 
cc>l 
09C9 
151 . 
710 
? :? 
his 
Pt ia 
e 1 ia 
? 



IAN C 

HRIS 

969, 

> ,nsc 

ENSEA 

,14!P 

I ? 
will 
n cal 
cal r 

Tupe 



ALENDAR 
CARRIER 
ANTIC PU 
91 <ERA$c 
SONS C7J . 
OKE 712. 

give uou 
endars. 
is ins of 
in a VE 



BLISHING INC. 
5> >CAL$cl8l ,EN 
SRnONTH$c9> 
14!P0KE 709.14 

the date in b 
and the "; 

Sirius . " 
AR. MONTH. DAT 



? "cif date is BC. ty 

he siear . J " : ? 

? "YEAR "; iGOSUB 410: 

TH "; :INPUT nONTH:? " 

E 

IF VEAR<1582 THEN CAL 



pe a 



bef or 



INPUT YEAR:? • 
DATE "; :INPUT 



42 IF YEAR>1923 THEN CAL«: 



■J"!GO TO 45 
■G"iGO TO 45 



43 ? :? " [Hresorian or Buiian Caienda 
r? "; 

44 INPUT CALS 

45 IYEAR=YEAR 

48 IF IYEAR<0 THEN IVEAR=0-I YEAR : BC=1 

49 IF BC=0 THEN ERAS="A.D." 

50 IF BC=1 THEN ERAS="B.C." 
60 IF YEAR<0 THEN YEAR=YEAR+1 
70 JYEAR=YEAR+4712 

80 JDAY=0 

90 JDAY=JDAY+ cJYEARw3e5> 

95 HEn »♦•»• ADD LEAP YEARS 

100 LDAYS=1178*INT CYEAH^4J 

110 JDAY = JDAY->^LDAYS 

130 JDAY=JDAY+2 

135 IF CALS="J" THEN 160 

140 JDAY=JDAY-INTCYEAR^1001 

150 JDAY=JDAY+INTCYEAR^4O0> 

160 IF nQNTH=2 THEN JDAY=JDAY+31 

161 REH LEAP YEAR 

163 IF VEAR^4 = INTCYEAR<'4I THEN X = l:DAT 



E = DA 

164 

165 

■ DAT 

168 

169 

1 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 

270 

271 

272 

275 

276 



TE + 1 

IF CALS=:"J" THEN 168 

IF YEAR^400=INTCYEAR^400> THEN X=l 

E=DftTE+l 

IF X=l THEN DATE=DATE-1 

IF X=l AND nONTH>2 THEN JDAY=JDAY+ 



IF nONT 

IF nONT 

IF nONT 

IF nONT 

IF nONT 

IF nONT 

IF MONT 

IF nONT 

IF MONT 

IF MONT 
JDAY=JD 

IF CAL$ 

IF X = l 

IF CALS 

IF YEAR 



THEN 
THEN 
THEN 
THEN 
THEN 

8 THEN 

9 THEN 

10 THEN 

11 THEN 

12 THEN 
♦ DATE 
J" THEN 
EN JDAV 
J" THEN 
00 = INT c 



JDAY = 
JDAY = 
JDAY = 
JDAY = 

JDnv = 

JDAV = 

JDAY = 

JDAY 

JDAY 

JDAY 



JDAY 
JDAY 
JDAY 
JDAY 
JDAY 
JDAY 
JDAY 
= JDA 
= JDA 
= JDA 



+ 59 
+ 90 
+ 120 
+ 151 
+ 181 
+ 212 
+ 243 

Y + 273 

Y + 304 

Y + 334 



JDAY=JDAY-2 
=JDAY-1 

290 
YEAR/40ei THEN 260 



277 
H<3 
280 
Y = J 
290 
300 
305 
310 
320 
330 
348 
345 
346 
348 
350 
D$ > 
400 
sRE 
410 
:NE 



IF Y 

THEN 

IF Y 
DAY-1 

DOU = 

IF D 

IF 

IF 

IF 

IF 

IF 

IF 

IF 

IF 

REST 
NEXT 

FOR 
TURN 

FOR 
XT CJ 



EAR-'100 = INTCYEAR^100> AND MONT 

JDAY=JDAY+1 
EAR<'400 = INTCYEAR''400> THEN JDA 
'DATE=DATE-1 
JDAY 

OU>700e00 THEN DOU=DOU-70e000 
0M<1 THEN DOU=DOU+700000 
OU>70000 THEN DOU=DOU-780B0 
OU>7000 THEN DOU=DOU-7000 
OH>700 THEN DOU=DOU-700 
OU>70 THEN DOM=DOM-70 
0U>7 THEN D0M=D0U-7 
0U>7 THEN GOTO 300 
0U<1 THEN GOTO 30S 
ORE 1100:FOR CJ=1 TO DOUtREAD 
CJiGOTO 500 
CJ=2 TO 14!P0KE 709,CJ:NEXT CJ 



LC 
MT 



UO 
SM 



CJ=14 TO 2 STEP 
RETURN 



-IsPOKE 709. CJ 



JC 
GA 
Wti 

E5 

IH 

KO 

UU 

LT 

TB 

BL 
QD 
ZB 

Gn 

BK 

XS 
AT 
HZ 
FU 
UR 

UX 

nc 

RR 

an 

KH 

ni 

KC 

nz 

UU 
JH 

ZK 
QH 
OL 
UL 
FO 
UC 
TG 
PX 

ZK 

FI 

BM 

BU 
BD 
SN 

KP 
FU 

RU 
PX 

ns 

BO 

Hn 

UC 

cu 



500 RESTORE 1000:FOR 
D nSiNEXT CJ 
1000 DATA JANUARY. FE 
.HAY. JUNE. JULY. AUGUS 
R.NOUEnOER.DECEnBER 
1100 DATA TUESDAY. ME 
RIDAY. SATURDAY. SUND A 
1200 DATA THOUT.PAAP 
.nSHIR.PARnUAT.PARnU 



CJ=1 TO nONTH:REA 

BRUARY.HARCH. APRIL 
T.SEPTEnOER.OCTOBE 

DNE5DAY. THURSDAY. F 
Y.nONDAY 

E.HATOR.KIAHK. TOBE 
TE.PASHONS.PAONE.E 

L 

IAN CALENDAR 



iPOSITION 12.12:? 
iOSUB 410 
;Bn=EBn+5 3 32 65: EV=E 



PEP.nESORE.EPAGOnEMAl 

2000 MEn ORIG. EGYPT] 

2001 EBn=JDAY-171867 

2002 GOSUB 400:? "Ki- 

■■■[•fMim^llimr-lkilKJILrlHIIB"; : G( 

2010 IF EBM<0 THEN El 

Y-1461 

2015 IF EY<0 THEN JSC= JSC- 1 : E Y=E Y+1461 

2020 IF EBn>533265 THEN EBn=EBn-5332e5 

:EV=EV+1461 

2030 IF EBn>36500 THEN EBn=EBn- 36500 : E 

V=EY+100 

2040 IF EBn>3650 THEN EBn=EBn-365B : EY= 

EY + IO 

2050 IF EBn>365 THEN EBn=EBn-365 : EY=EY 

+ 1 

2060 IF EBn>365 THEN 2010 

2061 TEY=EV-111 

2065 IF EY>1461 THEN JSC= JSC+1 : EY=EY - 1 
461 

2066 IF EY>1461 THEN 2065 

2067 IF TEY>1424 THEN TSC=TSC+1 : TE Y=TE 
Y-1424 

2068 IF TEY>1424 THEN 2067 
2070 IF EBM<1 THEN 2010 
2100 REn 

2105 E5EAS0N=1 

2110 IF EBn>120 THEN EBM=EBn- 120 : ESEAS 

0N=ESEAS0N+1 

2120 IF EBM>120 THEN 2110 

2125 REn 5 EPAGOHENAL DAYS HADE 

2126 REn A 5TH HONTH OF SUnHER 

2127 IF ESEAS0N=4 THEN ESE A50N=3 : EBH=E 
BM+120 

2130 IF ESEAS0N=1 
n " 

2131 IF 
IT " 

2132 IF ESEAS0N=3 THEN ENSEASONS^ 
MU " 
2200 REn nONTH AND DAY 

220b Eno^i 

2210 IF EBM>30 THEN EBn=EBn-30 : EnO^EMO 

+ 1 

2220 IF EBn>30 THEN 2210 

2300 REn COnPUTE ERAS 

2310 SENUORSET3=ccJSC'13Ki4eii-904+EY 

2 32 AnENT0HEPl=ccJ5C-H»»1461J -1238 + EV 

2330 NABONASSAR=ccJSC-l>Mi4ei}-2036+EY 

3000 REn 365.25 DAY CALENDAR 

3100 CBn=JDAY-ie246e4 

3110 IF CBn<0 THEN CBn=CBn+146100 : C Y=C 

Y-400 

3120 IF CBn>146100 THEN CBn=CBn-146100 

:CY=CY+400 

3130 IF CBn>14610 THEN CBn-CBn-14610 : C 

Y=:CV + 40 

3140 IF CBn>1461 THEN CBM=CBn-1461 : C Y= 

CY + 4 

3150 IF CBn>1461 THEN 3128 

3160 IF CBn<0 THEN 3110 

3200 FOR CJ=1 TO 3:IF CBn>365 THEN CBM 

=CBn-365:CY=CY+l 

3281 NFXT P I 

3210 IF CBH>30 THEN CM=CM+1 : CBM=CBn-30 

:IF CBn>30 THEN 3210 

3230 cn=cn+i 

3300 REM NAHES OF nUNTHS 

3310 RESTORE 120O:FOR CJ=1 TO Cn:READ 

ENnONTHS:NEXT CJ 

3700 REM OTHER ERAS 

3710 ALEXANDRIAN=CY+308 

3720 AUGUSTAN=CY+312 

4000 REM SOTHIC RISING 



ESEAS0N=2 



THEN ENSEASON$= 
THEN ENSEASONS= 



AKH 
PER 
SHE 



28 



ANTIC SOFTWARE LIBRARY 



ZK 
UJ 
CR 
LU 

tu 

KX 
HU 
KG 
HL 

ZJ 

PF 

SC 
XN 

YU 

NZ 

GY 

UI 

PN 
QH 
NK 
QJ 
UK 
GN 
Oti 
II 



4816 SR = 199. 365967+ cYEftRMt 549. Sz-e 64 BBJ 

3 

4815 IF CnLS = "G" THEN 5R = SR + INT t YEflH-' 1 
0B» -2 

4816 IF CftLS="G" THEN 5H=SR INT c VEflH^4 
081 

4180 IF SR>365.25 THEN SR=5H-365.25 

4101 IF SR>365.25 THEN 4100 

4102 IF 5R<0 THEN SR=5H+365.25 

4103 IF 5R<0 THEN 4102 
4118 SRMONTHS^-JftNUftRY" 

4120 IF SR>31 THEN SRMONTHS^-FEBRUflRY" 

4130 IF 5R>59.25 THEN 5RM0NTHS = "rinRCH" 

4140 IF SR>90.2S THEN SRMONTH$=::"fiPHIL" 

4158 IF SR>120.25 THEN SRMON f HS^-Mfl Y" 
4160 IF SH>151.25 THEN 5RM0NTHS=" JUNE " 

4170 IF 5R>181.25 THEN SHMONTHSz;" JUL V" 

4180 IF SR>212.25 THEN SRMONT HS="fiUGU5 

T" 

4190 IF SR>243.25 THEN SRriONTHS-"SEPT E 

MBER" 

4200 IF SH>273.25 THEN SRMHNTHS="UCTUB 

ER" 

4210 IF SR>384.25 THEN SRnBNTH$="NBUEn 

UEH" 

4220 IF SR>334.25 THEN 5RriBNTHS = "DECEM 

BER" 

4320 IF SRMONTH$="FEBRU«RY" THEN SR=SR 

-31 

4330 IF SRMBNTH5="MfiRCH" THEN 5R=5R-59 

.25 

4340 IF 5RriBNTHS = "nPRIL" THEN 5R = 5R-90 

.25 

4350 IF SRMBNTHS-"MfiV THEN SR=5R-120. 

25 

4360 IF SRMBNTHS="JUNE" THEN 5R=5R-151 

.25 

4370 IF 5RMBNTHS=:"JULY" THEN SR = SR-161 

.25 



RP 

XF 

52 

DG 

DT 

XP 
ER 
EV 

RJ 

lU 

on 

AK 
OH 

nu 

BX 

JU 

B1 

YX 

MR 

BU 
RF 

PX 
OX 

HQ 
PX 

HY 



ftUGUST" THEN SR=5R-2 
SEPTEMBER" THEN SR=5 
OCTOBER" THEN SR=5R- 
NOUEMBER" THEN SR=SR 
DECEMBER" THEN SR=SR 



4380 IF SRnONTHS= 

12.25 

4390 IF SRnONTH$= 

R-243.25 

4400 IF SRnONTH$= 

273.25 

4410 IF SRnONTHS= 

-304 .25 

4420 IF SRnONTH$= 

-334.25 

4900 SR=INT (SRwi) 

4910 SR=SR+1 

9800 IF CfiLS="J" THEN CAL$="JULIAN CflL 

ENDAR" 

9010 IF CALS="G" THEN CnL$="GREGORIAN 

CALENDAR" 

9800 REM 

9810 G0SU8 400:? "B" : ? OSs". ";MS;" "; 

DATE;". ";IYEAH;" ";ERAS;" " 

9815 7 CALS."JDO"; JDAY 

9900 ? "Original Calendar Date: ":ENSE 

A50NS;EM0;"-";EBM 

9910 ? :? "Various Eras:" 

9915 ? "Year »»";EY;" of Julian Sothic 
C«cie «";J5C 

9916 ? "Year t«";TEY;" of True Sothic C 
ucie «";TSC 

9920 ? "Year of Senworset III: ";SENUO 

RSET3 

9925 ? "Year of Anentohep I: ";AMENT 

OHEPl 

9930 ? "Year of Nabonassar: ";NABON 

ASSAR 

9950 ? :? :? :? :? 

9960 ? "Coptic Calendar: ";CV;" ";ENnD 

NTHS;" ";CBM 

9962 IF CM=13 THEN 9965 

9965 ? "Alexandrian Year "; ALEXANDRIAN 

9970 ? "Augustan Year ";AUGUSTAN 
9990 ? :? "Sothic Rising this wear: •• ; 
SRMONTHS;" ";SR:GOSUB 410 
9999 END 



TapeTime LabelMaker 



Article on page 18 



LISTING 1 



Don't type the^ 
TVPO II Codes! 



LH 
AR 
RH 
QS 
IK 
UJ 



JO 



ML 
EI 



MD 

ZM 
OK 

HK 

JK 

NP 



UA 



CC 
KT 



32 HEM TAPE TIME LABELMAKER 

34 REM BY GARY COPPOLA 

36 REM CC11989, ANTIC PUBLISHING 

328 REM 

370 POSITION 12.12:? "MHHtOHl" 

381 DIM TITLE1SC48J . TITLE2SC40» .TITLE3 
St40>.TITLE4Sc40>,TITLE5Sc4 0>.TITLE6SC 
40> .TITLE7SC40J 

382 DIM SPEED1SC4J .SPEED2SC4J ,SPEED3S< 
4J.SPEED4St4J.SPEED5Sc4>,SPEED6Sc4>,SP 
EED7SC4> 

383 DIM MIN1S<3> ,MIN2SC3> .MIN3SC3J .MIN 
4$C3>.MIN5SC3J.MIN6SC3> .MIN7S t3» 

385 LINE = 13:P0SITI0N 2,16:? "Do You Via 
nt To: n>Do Calculation" : POSITION 19. 
17:? "giMaKe a Label" 

386 TRAP 1920:POSITION 2.18:? "Your Ch 
oice"::lNPUT CH:GOSUB 1750 

38? IF CH<1 OR CH>2 THEN 381 

386 IF CH=1 THEN GOSUB 1750:GOSUB 1830 

:G0TO 390 

389 IF CH = 2 THEN POSITION 12.12:? "VHSSH 

f^ffl":GOSUB 1710:GaSUB 1750:GOTO 2170 

1438 IF X=l THEN GOSUB 1710:GOSUB 1750 

:GOTO 380 

1750 FOR CS=:16 TO 18:P0SITI0N 0.CS:? " 

":NEXT CS:RETURN 
1960 IF ERR0R=8 THEN ON LINE GOTO 390. 
480. 510. 618. 2068. 2060. 880. 910. 1010. 108 
0.1388.14 70.361.2170.2850 

2170 LINE=14 :P05ITI0N 2.16:? "Tape For 
nat: niBETA giUHS" 
2188 TRAP 1920:POSITION 2.17:? "Vour C 



<:^ 



Hkl 
FT 



UF 



PF 

KI 
YE 



YM 

QE 

RB 
LI 
BF 



SQ 
ME 



SJ 



FB 
BH 
EP 
GN 



hoice"; :INPUT MODE : GOSUB 1758 

2190 IF M0DE<1 OR M0DE>2 THEN 2170 

2200 IF MaDE=l THEN POSITION 12.12:? " 

im^lirilB": GOSUB 1750: GOSUB 3000 

2210 IF M0DE=2 THEN POSITION 12.12:? " 

■[•JfiltsIB": GOSUB 1750: GOSUB 3600:6010 2310 

2220 REM BETA 

2260 GOSUB 3615:G0SUB 3020 

2270 FOR MAIT=1 TO 560:NEXT UAIT:GOSUB 

1750:POSITION 2.16:? "You can enter a 

Maxinun of 6 titles" 
2288 ? " Press \iM\a [ma to continue" 



2290 


CLOSE M2:0PEN «2.4.0."K: 


":GET «2. 


K:CLBSE M2:G0T0 


2408 




2300 


REM UHS 






2310 


GOSUB 3025 


:G0SUB 3030 




2330 


FOR UAIT=1 


TO 50O:NEXT MAIT:GUSUD 


17S0:POSITION 


2.16:? "You can enter a 


naxinun of 7 t 


itles" 




2340 


GOTO 2266 






2400 


GOSUB 1750 


:POSITION 2.17 


:? "Enter 


Your FIRST Title":FOR UAIT=1 


TO 96:NE 


XT UAIT 






2410 


TRAP 2460: 


SOSUB 3080:POSITION 1.1 


8:INPUT TITLEIS 


:IF TITLE1S="" 


THEN GOT 


2790 






2420 


TNUM=l:GOSUB 1750:GOSUB 


3120 


2440 


INPUT SPEEDIS 




2460 


GOSUB 3150 


: INPUT MINI* 




2470 


GOSUB 1750 


:POSITION 2.17 


:? "Enter 


Your SECOND Ti 


tle":FOR MAIT= 


1 TO 90:N 


EXT UAIT 







JULY 1989 



29 



BC 



GH 
BO 
FC 
UR 



CZ 



GF 
CU 
GR 
GU 



KM 



HF 
CY 
HE 
GC 



MJ 



HD 
EE 

n 

JS 



TU 



ID 
EI 
JG 
CU 



UL 

ND 

AQ 

EE 
JU 

ZD 



EB 
KM 
TP 

no 

UF 
NP 
RX 
TM 
Tl. 



JU 
WF 
BO 
FO 



HK 
MM 

DK 
lA 

10 

HP 



POSITION 1.1 
= ■■•■ THEN GOT 

UB 3126 

S 

.1?!? "Enter 

T=l TO 90-NE 

POSITION 1.1 
= ■••• THEN GOT 

UB 3120 

S 

.1?!? "Enter 

IT=1 TO 98:N 

POSITION 1.1 
:::"" THEN GOT 

UB 3120 

.1?:? "Enter 
T=l TO 90:NE 



i? "Enter 
TO 9e:NE 



2480 TRAP 2470:GOSUB 3080: 

8:INPUT TITLE2S:IF TITLE2S 

2790 

2490 TNUn=2:GaSUB 1750:GOS 

2500 INPUT SPEED2$ 

2510 GOSUB 3150:INPUT MIN2 

2520 GOSUB 1750 : POSITION 2 

Vour THIRD Title":FOR UAI 
XT UAIT 

2530 TRAP 2520:GOSUB 3080: 
8:INPUT TITLE3S:IF TITLE3S 
2790 

2540 TNUM=3:G0SUB 1750:GOS 
2550 INPUT SPEED3S 
2560 GOSUB 3150:INPUT MIN3 
2570 GOSUB 1750:POSITION 2 

Vour FOURTH Title":FOR UA 
EXT UAIT 

2580 TRAP 2570:GOSUB 3080: 
8:INPUT TITLE4S:IF TITLE4S 
2790 

2598 TNUM=4:GaSUB 1750:005 
2600 INPUT SPEED4S 
2610 GOSUB 3150:INPUT HIN4 
2620 GOSUB 1750:POSITION 2 

Vour FIFTH Txtle":FOR UAI 

XT UAIT 

2630 TRAP 2620:GOSUB 3080 : POSITION 1.1 
8:INPUT TITLE5S:IF TITLE5S="" THEN GOT 
2790 

2640 TNUM=5:G0S0B 1750 : GOSUB 3120 
2650 INPUT SPEED5$ 
2660 GOSUB 3150:INPUT MIN5$ 
2670 GOSUB 1750 : POSITION 2.17 
Vour SIXTH Title":FOR UAIT=1 
XT UAIT 

2680 TRAP 2e70:GOSUB 3080 : POSITION 1.1 
8:INPUT TITLE6S:IF TITLE6S="" THEN GOT 
2790 

2690 TNUM=6:G0SUB 1750:GOSUB 3120 
2700 INPUT SPEED6S 
2710 GOSUB 3150:INPUT MIN6$ 
2720 IF H0DE=2 THEN GOSUB 1750:POSITIO 
N 2.17:? "Enter Vour SEUENTH Title":FO 
R UAIT=1 TO 90:NEXT UAIT 

2730 IF H0DE=2 THEN TRAP 2728:60500 30 
80:POSITION 1.18:INPUT TITLE7S:IF TITL 
E7S-"" THEN GOTO 2790 

2740 IF M00E=2 THEN TNUM=7:G0SUB 1750: 
GOSUB 312e:INPUT 5PEED7$ 

2750 IF M0DE=2 THEN GOSUB 3150:INPUT M 
IN7S 

2790 GOSOB 1750 
2795 POSITION 2.16:? 
n the printer . then" 
2800 POSITION 10,17:? 
[:«":FOR J = 15 TO STEP 
10.J:NEXT J 

2810 FOR UAIT=1 TO 300:NEXT UAIT 
2830 IF M0DE=1 AND TN0M<=3 THEN LS=12 
2835 IF M0DE=1 AND TNUM>3 THEN LS=6 
2840 IF M0DE=2 AND TNUM<=4 THEN LS=12 
2845 IF M0DE=2 AND TNUM>4 THEN L5=6 
2858 LINE=15:G0SUB 1750 
2854 IF M0DE=1 THEN GOSUB 3050 
2856 IF M0DE=2 THEN GOSUB 3860 
2868 TRAP 1928 : POSITION 9.16:? "Bl^riJIiaiti 
(iir^anr^l^aaiiDIiiaiaDtn" : ? "Refer to list for 
su9sested setting" 
2870 ? "[itr-)[HWniJI="; : INPUT MAR 
2880 IF MAR<1 OR MAR>40 THEN 2858 
2890 GOTO 3200 

3000 POSITION 4.16:? "Refer to list fo 
r the suggested":? •■ naxinun nunber o 
f Characters" 

3010 ? " c[ij[ii[i[1Ei> allowable for uour ti 
tle":RETURN 
3815 POKE 82.20:POSITION 20.2:? "BtlilBHril 

"■^[illJlQ" : ? : ? 



'Position LABEL i 

IDm[£raB[ll[SB[SJ[aO[!]0[ll 
l:SOUND 0,120. 



tf[" : ? "■BaBBBOOBnBBDDO" 

"■@[ij[i:ia[ij[:i" 

3017 ? :? "BOiUliJIij" : ? :? 
82,2:RETURN 
3020 POKE 82,32:P0SITI0N 31.2 
: ? : ? "iaO" : ? : ? "BEI" ■ 7 : ? "iSH 
[s]":P0KE 82.2: RETURN 
3025 POKE 82.20:PO5ITION 28,2 



IlilRIBfsdin" :POKE 



•rs[«iKia" 

: ? "W 



rS" ■■ ? "■BBBBBBBBBBBBBB" : ? "■MIKKdlUBfil- 

■i;:j[§mn[i[aBri[ii" : ? "■ii]rii»r^n[iB[=i»" 

3827 ? "■fflRiaHBHBrtlHH" : ? "WSKIPIM" : ? ' 

[fltaraH" : ? "■(a[i]fflrfli;)[i:ii[«a" : ? "■BEimr-iHUiii'iMCii' 

E 82.2:RETURN 



i[:iiannn 



MF 



X5 
RD 



DV 

EG 

5U 

RB 

GP 

DX 

LV 
NS 
AP 
OU 

NG 
FZ 

TU 

GP 

JU 

CU 

FC 

CB 

LM 

XR 
VB 

BQ 

ED 

PK 

US 

AA 

GU 

ZM 



3838 POKE 82, 32: POSITION 31,2:? "(«Br:1H" 
: ? : ? "BB" : ? "HH" : ? "BW" : ? "HH" : ? "«H" 

:? -mi" 

3040 ? "BIH":? "BE!": POKE 82, 2: RETURN 
3050 POKE 82, 31: POSITION 29.2:? "(iirillflHH 
HI" : ? : ? "I^H" : ? : ? "«(?]■" : ? : ? "BkJH" : ? 
:? "MM": POKE 82, 2: RETURN 
3860 POKE 82, 32: POSITION 30,2:? ••(ijmiUfHIl 



U|.. : 7 .7 "mtiM" ■■ ? "BBB- 

? "OraB" 

3070 ? "«:]■":? "MfslB" i 

: RE TURN 

3080 POSITION 2,17:? 

eaBBHBHeBeBBaisHHeHsi " 

3090 POSITION 2,16:? 



? "!«!■":? "HEJB- 
? "ilHB":POKE 82,2 

■ ■ aSHHtaBBBBSiBBReBH 
10 15 



5 
'RETORN 
'Enter Speed 



'Enter Speed 



cBII 
tSP, 



20 25 38 35' 
3180 POSITION 2.16:? 

or BIIIJ :"; :RETURN 
3110 POSITION 2.16:? 
LP or EPJ :"; : RETORN 
3120 IF M0DE=1 THEN GOSUB 3108 
3138 IF H0DE=2 THEN GOSUB 3118 
3140 RETURN 

3150 POSITION 2,17:? "ProaraM Length c 
in Minutesi": :RETURN 

3199 REM PRINTER CONTROL CODES 

3200 LPRINT CHR$(27i ;CHRSC64l :REM INIT 
lALIZE PRIN1ER 

3210 LPRINT CHHSC27> ;CHHStll0> :REM NLQ 

PICA 
3220 LPRINT CHRS C27> : CHR$ c65) ; CHR$ CLS> 
:REM LS/72 LINE SPACING 

3230 LPRINT CHR$ c27> ; CHR$ c77> ; CHK$ cMAR 
> :REn LEFT MARGIN 

3248 IF M0DE=1 AND TN0M>3 THEN LPRINT 
CHR« t27J ; CHRS C83» ; CHRS ci> : REM SUB5CKTP 
T FONT 

3245 IF M0DE=2 AND TN0M>4 THEN LPRINT 
CHR$c2 7>;CHR$c83>;CHH$cli:KEM SUBSCRIP 

T FONT 

3258 GOSUB 1758 : POSITION 6,17:? "Press 

tnmia aaa to print ladel" 

3260 CLOSE »2:0PEN »»2 , 4 , , "K : " : GET »»2 , 

K:CL05E «2 

3278 REM PRINT LABEL 

3280 LPRINT TITLElSj 

INIS;" " 

3298 LPRINT TITLE2Si 

IN2S;" " 



3308 LPRINT TITLE3S 

IN3S;" " 

3318 IF TNUM>3 THEN 

";5PEE04S;" ";MIN4S 

3320 IF TNUM>3 THEN 

";5PEED5Sj" ";MIN5$ 

3330 IF TNUM>3 THEN 

";SPEED6S;" ";MIN6S 

3340 IF TNUM>3 AND M00E=2 THEN LPRINT 

TITLE7S;" ";SPEED7S;" ";MIN7S;" " 

3350 GOSUB 1710:00500 1750:GOTO 380 



•;5PEED1S 
" ";SPEED2S 
" ";SPEED3S 
LPRINT TITLE4«; 
LPRINT TITLESSj 
LPRINT TITLE6S; 



LISTING 2 



:POK 



YV 
ES 
OH 
LH 
AR 
RH 
BA 

UN 

GZ 

FJ 

MT 

EF 

RS 

GU 

UX 

CT 

MI 



10 REM 
20 REM 
30 REM 
32 REM 
34 REM 
36 REM 
40 GRA 
M ERRS 
50 ? 
BBHtil 
60 ? 
BBWai 
70 ? 

■■[iim 

80 ? 

■■iini 

90 ? 

■■dim 
100 ? 
mmm\m 
110 ? 
■■■mil 
120 ? 

■■■LTdl 
130 ? 

■■■ma I 

140 ? 



UCR TAPE TIME 
BY PAUL SHANNON 
C01988, ANTIC PUBLISHING 
TAPE TIME LABELMAKER 
BY GARY COPPOLA 
CCJ1989, ANTIC PUBLISHING 
PHICS 0:POKE 752,l:P0KE 710,8sDI 
C6> , HaLD$c6i 
RBBBBBBBBBBBBn fflHBBBBBeHBBBBBBH 

nfflBBSJ^BBBBSB^n niffleHBeBBBBBBBBBH 



osaici^a^^ffiaiiiicM^n ^^■■■■■■■■■■■■■^ 
n^maiAPE^iiiiiiiMEn ^■■■■■■■■■■■■■^ 

O^SSB^H^fflt!]^^^a 3 ^■■■■■■■■■■■■■B 

• o^^^cii^^fflSdw^^n [^■■■■■■■■■■■■^ 



ucaHQgjgJEfi^mmoQBii n {^■■■■■■■■■■i 

CBBBBBBBBBBBBa ^^■■■■■■■■l 



30 



ANTIC SOFTWARE UBRARY 



•1.11 



[ll 



iinnffleHHeeBBBeHaBe 



■■■[iim ■■ 

158 ? "lilHeHeBBeHBeBBBHBaiail 

■■■Lllill " 

160 ? "[iinnnnnninwdBBBBBsiiiiii 
■■■[iiii 

170 ? 

BBBWrjl ■• 

18 ? "HI ElUfc'Jtlliil SBBBBBtrtUI iei#llfiijn 

nn (11 

190 ? 

200 ? ■ ' HffifflBBBBBBBBBBBBfflBBBBBBBBBBBBBBB 

210 POSITION 2.19:? 

HHIilPIIIHBBBnBBBBilllliBli" 



'AUBBBHBHUUaUByBHi^JaBaaHHHHyHUUHU 



• HBBBBBBBBBBBBBBBB 



228 POSITION 2, 
230 POSITION 2, 
240 POSITION 2. 

QBaBOBGDaasasBaaBQ 



20!? 

a • 

21:? 

a ■ 

22:? 



250 FOR J=l TO 10!F 

260 POSITION 20, L:? 

iPOSITION 20, L:? "■ 

280 NEXT L 

300 NEXT J 

328 REM 

330 FOR Z=l TO 5!P0 

(111)" : FOR UniT = l TO 1 

340 POSITION 12,12: 

1 TO 100:NEXT MOIT 

360 NEXT Z 

370 POSITION 12,12: 

380 CLR :DIM ERR$c6 

381 DIM TITLE1SC40> 
SC40> ,TITLE4S t48J ,T 
481 ,TITLE7Sc48J 

382 DIM SPEED1SC4J, 
4>,SPEED4SC4J, SPEED 
EED7SC4> 

383 DIM MIN1SC3J , MI 
4SC3J ,MIN5S<3J ,MIN6 

385 LINE=13:P0SITI0 
nt To: OiDo Caicul 
17:? "^UnaKe a Labe 

386 TRAP 192B:P05IT 
Dice"; :INPUT CH:GOS 

387 IF CH<1 OR CH>2 

388 IF CH=1 THEN GO 
:GOTO 390 

389 IF CH=2 THEN PO 
[^[i":GOSUB 1718:G0SU 

390 POSITION 2.16:? 
Tft H>OHS" 

400 LINE=l:TRflP 192 
410 POSITION 27,16: 
GOSUB 1830 
420 IF fl<l OR A>2 T 
430 IF fl=l THEN POS 



U 

n 

BBBBBBBBBBBBBBBB 
OR L=2 TO 11 

■•BBBBBaauBBBBBaaa" 



SITION 12.12:? 

0O:NEXT UniT 

? ■■■■■■■•■: FOR MflIT 



afM 



7 "DHBIIlffl" 
I .HOLDScei 
.TITLE2SC40> 
ITLE5S C40> .T 

SPEED2Sf4> .S 
5$c4i .SPEED6 



,TITLE3 
ITLE6S c 

PEED3S t 
SC4J .SP 



N2Sf3> .MIN3SC3> . MIN 

S t3J .MIN7SC3J 

N 2.16:? "Do Vou Ua 

ation":POSITION 19, 

1" 

ION 2.18:? "Vour Ch 

UB 1750 

THEN 381 
SUB 1750:GOSUB 1830 



: ? "[ir-im 

2170 

t! IJJBE 



SITION 12.12 
B 1750:GOTO 
"Do You Uan 



INPUT A:GOSUB 1750: 

? "UIHkir:! 



HEN 390 
ITION 12,12: 



440 IF 0=2 THEN POSITION 12,12:? 



nmm 



450 IF fl=l THEN GOSUB 1830 

460 IF A=2 THEN 880 

470 REM BETA 

480 LINE=2:TRnP 1920 

490 POSITION 2,16:? "Is Your BETA Tape 

! flJL-750 W>L-830":POSITION 36.16:INPU 

T TAPETYPE:GOSUB 1750 

500 IF TnPETYPE<l OR TflPETYPE>2 THEN 4 

80 

510 POSITION 2,16:? "Enter The Minutes 

BtTfi II" 
520 LINE=3:TRftP 1920 

530 POSITION 27,16:INPUT MINBII:G05UB 
175B 

540 IF MINBII=0 THEN GOSUB 1710:6010 5 
80 
550 IF MINBII>9e0 THEN GOSUB 2080:GOTO 

510 
560 TOTMINBII=TOTMINBII+MINBII 
570 GOTO 510 
580 IF TftPETYPE=l THEN POSITION 23,2:? 

■ • |lir:^k ir:VllD»R1[s] ":POSITION 22,3:? " BDBDaBa 
BBBBDB" 

590 IF T(1PETVPE = 2 THEN POSITION 23.2:? 

■ ■ Uir:4n[:1BmB[:IHIsJ ":POSITION 22.3:? " BBBBBBB 
BBBBBB" 

600 POSITION 22.5:? "[iraHHaBHlBRlElBBS" : PO 
SITION 21,6:? "lilHHHBnriBB" ; TOTMINBII 



NG 
PL 

RT 

cn 

NO 

UK 
OR 

ua 

VG 
JZ 
SD 

KC 

DE 
EK 
DS 
ON 

SU 
lY 

DX 

LG 
ML 

ZL 

PD 

DR 

OY 
PS 
PO 
KM 



Yd 

QI 

OZ 
UI 

HK 

XT 

FD 
PP 
RU 

ZU 

OZ 

KU 
UL 

LP 

HP 
FT 

NN 
OG 
PE 

BR 

nu 

GI 

UF 
NO 

XC 
RM 
KU 



CN 

nu 



610 LINE=4:TRfiP 1920 

620 POSITION 2.16:? "Enter The Minutes 

BETA III" 
630 POSITION 28.16:INPUT MINBIII : GOSUB 

1750 
640 IF MINBIII=0 THEN 670 

645 IF MINBIII>900 THEN GOSUB 2080:GOT 
620 

650 T0TMINB1I1=T0TMINBIII+MINBIII 
660 GOTO 620 

670 POSITION 22.8:? "HtiiadinBlilBnimB^S" : PO 
SITION 21.9:? "maMeiBUlJtUBB" ; TOTMINBIII 
680 FOR PAUSE=1 TO 200:NEXT PAUSE 
690 DIM TfiPESdlJ 

700 IF TftPETYPE = l THEN TBII = 180 : TBIII = 
270 :MET = 222 : TflPES = "B(flHDE1B[lBH@[5)" 
710 IF TfiPtTYPE=2 THEN TDII=200 : TBIII= 
300 : MET = 246 : TflPES = "BraHnrilBn!B[!;i8ra" 
740 BIIMETEH= cTOT MINBII' TBII» »MET 
756 BIIIMETER= cTOTMINBIII>'TBIII J »MET 
760 TOTflLMETER=BIIMETER+BIIIMETER 
770 TIME LEFTBII=ccMET-TOTflLMETER>'' MET* 
MTBII:GOSUB 1710 

780 RO = INT <100»TIMELEFTBI1 + 0.5J^1B0 
790 POSITION 22.2:? TAPES : POSITION 21, 
3 : ? "BBBBBBBBBBBBBB" 

800 POSITION 21.5:? RO , ••■liinmniHraS" : G05U 
B 1790 
810 POSITION 21,6:? "[ilL^tir-IBflllBIR^nQ" 

820 TIMELEFTBIII=ccMET-TOTfiLMETER»''MET 

J*«TBIII 

830 ROIII = INT tl00»«TIMELEFTBIII + 0.5»^10 



840 POSITION 21,8:? ROIII ; "BlilDHmmnSP!" : G 

OSUB 1790 

850 POSITION 21,9:? "[iU^liblflmiriBllSnn" : GO 

SUB 1750 

860 GOTO 1380 

870 REM UHS 

880 LINE=7:TRflP 1920 

890 POSITION 2.16:? "Is Your MH5 Tape: 

OJT-120 B>T-160"!POSITION 35,16!lNPUT 

UHSTYPE:GOSUB 1750 
900 IF UHSTYPE<1 OR 0HSTYPE>2 THEN 880 

910 POSITION 2.16:? "Enter The Minutes 

SP" 
920 LINE=8:TRAP 1920 

930 POSITION 22.16:INPUT MINSP:GOSUB 1 
750 

940 IF MINSP=0 THEN GOSUB 17ie:G0T0 9B 


950 IF MINSP>900 THEN GOSUB 2080:GOTO 
910 

960 T0TMINSP=T0TMIN5P+MIN5P 
970 GOTO 910 

980 IF UHSTYPE^l THEN POSITION 23.2:? 
"[■Ji:i@BOBn»@" : POSITION 21.3:? "BBBBBBBBB 
BBBBB" 
990 IF UHSTYPE=2 THEN POSITION 23,2:? 

"[gui(-:iBnBn[^[si" :position 21,3:? 



1000 POSITION 21,4:? "nCiiaSaBQilHIilCIIQtIlS" : P 

OSITION 21.5:? "@IUB(^Iil[^[lltrBB";TOTMINSP 

1010 LINE=9:TRftP 1920 

1020 POSITION 2,16:? "Enter The Minute 

s LP" 

1030 POSITION 22.16:INPUT MINLP:GOSUB 

1750 

1040 IF MINLP=0 THEN 1070 

1045 IF MINLP>900 THEN GOSUB 2080:GOTO 

1020 
1050 TOTMINLP^TOTMINLP+MINLP 
1060 GOTO 1020 

1070 POSITION 21,7:? "firan^HBrilHriimCIBH" : P 
OSITION 21,8:? "(iraBBSHHrTBB" ; TOTMINLP 
1080 LINE=10:TRflP 1920 

1090 POSITION 2.16:? "Enter The Minute 
s EPCELPJ" 

1100 POSITION 27.16:INPUT MINEP : GOSUO 
1750 

1110 IF MINEP=0 THEN 1140 

1115 IF MINEP>900 THEN GOSUB 2080:GOTa 

1090 
1120 TOTMINEP=TOTMINEP+MINEP 
1130 GOTO 1090 

1140 POSITION 21.10:? "UtCBUlOBlilHnifflBHB" : 
POSITION 21.11:? "[^[dBE^QSStilBB" ; TOTMINEP 

1150 FOR PflUSE=l TO 200:NEXT PfiUSE 
1160 DIM UHSTflPEScllJ 



JULY 1989 



31 



1170 IF UHSTVPE=1 THEN TSP=120 = TLP=240 
: TEP-360 ■■ nET = 246 = UH5TnPES = "Bta[IlBBnDaBB]" 

1190 IF UHSTVPE = 2 THEN T5P = 160 : TLP = 320 
■■ TEP = 480 : I1ET = 327 : UHSTftPES = "B[llGJBBaDarara" 

1210 5PI1ETER=cT0TMINSP^T5P»»nET 

1220 LPMETER=<TOTriINLP''TLP>»riET 

1238 EPMETER=tTOTMINEP^TEP>»riET 

1240 T0TftLt1ETEHS = SPI1ETER*LPriETER + EPMET 

ER 

1250 TII1ELEFTSP=tcriET-T0TflLnETEH5>''MET 

J»T5P:G05UB 1710 

1260 ROSP=INTC100«TIMELEFT5P+0.5>^100 

1270 POSITION 22-2:? UHSTflPES : POSITION 

21.3:? "aBBBgaaaBBBaa-- 
1280 POSITION 21.4!? R05P ; •■■EiHrnmnss" 

1290 POSITION 21.5:? "^IjJB^SSSraBntSaD" 

1300 TIMELEFTLP=ccMET-T0TflLMETER5>'MET 

>»TLP 

1310 HOLP=INT<100»TIMELEFTLP+0. 51^100 

1320 POSITION 21.7:? HOLP ; •■■GDBmmnHB" 

1330 POSITION 21.8:? "nuiBt^B^isriiansQa" 

1340 TIMELEFTEP=ccMET-TOTftLnETEHS>^nET 

>»TEP 

1350 ROEP=INTC100»TIMELEFTEP+0.5>'10O 

1360 POSITION 21.10:? ROEP ; "BlilBIIimnmS" : 

GOSUB 1810 

1370 POSITION 21.11:? "IKaBgiaSt^mBntgQO" : 

GOSOB 1750 

1380 LINE=ll:TRftP 1920 

1390 POSITION 2.16:? ■'Want To OlCONTIN 

UE H> PRINT" 

1400 POSITION 28.ie:INPUT X 

1410 IF X<1 OR X>2 THEN GOSUB 1750:GOT 

1380 

1430 IF X=l THEN GOSUB 1710:GGSUB 1758 

:GOTO 380 

1460 GOSUB 2860 

1470 LINE=12:TRfiP 1920 

1480 REM PRINT 

1490 POSITION 2.17:? "Input Tape Nunbe 



r" 


1500 


1510 


1520 


1530 


20" 


1540 


60" 


1550 


1560 


1570 


enai 


eed 


1588 


enai 


1590 


1600 


1610 


-750 


1620 


-830 


1630 


1648 


inin 


1658 


Rena 


1660 


1670 


1680 


1690 


1700 


1710 


1720 



INPUT I 

LPRINT "» ";I 

IF 0=1 THEN 1610 

IF UH5TYPE=1 THEN LPRINT 

IF IIHSTVPE = 2 THEN LPRINT 



•UHS T-1 
•UHS T-1 



LPRINT " " 

IF X<>2 THEN 1590 

LPRINT ROSP;" Minutes SP Speed R 
nin9":LPRINT ROLP;" Minutes LP Sp 
Renainins" 

LPRINT ROEP;" Minutes EP Speed R 
ni na" 

GOSUB 2060 

LPRINT :GOTO 1660 

IF TnPETVPE=l THEN LPRINT "BETA L 

IF TflPETVPE=2 THEN LPRINT "BETft L 



LPRINT " 

LPRINT RO;" 
9" 

LPRINT ROIII 
inin9":G0SUB 2060 

LPRINT :G0SUB 1838 

GOSUB 1758 

GOTO 380 

END 

REM CLEAR SCREEN 

FOR C=2 TO 11 

POSITION 28. C:? "■ 



Minutes BETA II Rena 
" Minutes BETA III 



1730 NEXT C 

1740 RETURN 

1750 FOR C5=16 TO 18:P0SITI0N 0,C5:? ' 

":NEXT CS:RETURN 

1780 RETURN 

1798 T0TMINBII=e:T0TMINBIlI=8 

1880 RETURN 

1810 TOTMINSP=0: TOTMINLP=0!TOTMINEP=0 

1820 RETURN 

1830 POSITION 20.2:? "■&■■■■■■■■■■■■■■ 

1848 POSITION 28.3:? "■rmammSBI;iii4ilUJ[:<UlBB- 



:POSITION 28.4:? 
1850 POSITION 28 



■BBriinQSBBi^l^llRIBBB ■ ' 

. 5 : ? "■BBaar^mniBE!]! 



XQ 
IC 

NR 

JZ 

KU 

AR 
NS 
XT 
DP 
DZ 



DU 
OA 



LF 

AU 
BG 

C5 
NA 

HN 

PA 

PM 

QG 

DJ 

AU 
CC 

KT 

HU 
FT 

UF 



PF 
KI 
VE 



VM 

QE 

RB 
LI 
BF 



SO 
ME 



SJ 



FB 
BH 
EP 
GN 



BC 



GH 
BO 
FC 
UR 



CZ 



GF 



■BBSmamiaBmBBIiaSIilBB 
•BtHrillilSBSmOStiDmPlBB 

■Bara[afl[imti[9B@[ass{!ia 



I860 POSITION 20.6=? 

m\\ •• 

1870 POSITION 20.7:? 

mil ":POSITION 28.8:? ■ 

rjiUi " 

1875 POSITION 28.9:? > 

UIUI " 

1888 POSITION 28.18:? 

1890 POSITION 20.11:? 



1980 RETURN 

1918 REM ERROR TRAP 

1920 ERR0R=PEEKC195> 

1930 GOSUB 1750 

1940 IF ERR0R=8 THEN POSITION 18.16:? 

"[s<raiti4[:wi!i[iii>ir!;oi:ieB[iMia»U":F0R uait=i to 15 

e:NbXT MAIT 

1958 GOSUB 1750 

1968 IF ERRaR=8 THEN ON LINE GOTO 390. 

480. 510. 610. 2868. 2868. 880. 918. 1810, 188 

0.1388.1470.381.2170.2850 

2060 LPRINT " 



2070 

2088 

6 

2090 

2108 

6> -IN 

2110 

1.P0 

2128 

T X8 

2138 



2148 

fflB" 

2158 

(■-IB" 

2168 

2170 

nat : 

2180 

hoi ce 

2190 

2200 

[Qi^iir^B 

2210 

BUJCIgB 



RETURN 

POKE 709,0:POKE 710.12:POKE 712.6 

ERRS = "(i[i)[fl[!)[:)B":TRAP 40088 

FOR X0 = 1 TO 25:P0 = INT H.5 + 6«CCX0>' 

TCX0^6JJJ :HOLD$ = ERR$cpe.ei 

IF P0O1 THEN HOLDSc6-P0 + 2>=ERR«c 

1> 

POSITION 12^1.12!? H0LD$cl.5> :NEX 

POKE 712.0:P0KE 709.282:POKE 710. 

IF A = l THEN POSITION 12.12:? "mail 

IF A = 2 THEN POSITION 12.12:? "BfflCI 

RET URN 

LINE=14: POSITION 2.16:? "Tape For 

niBETA BJOHS" 
TRAP 1920:POSITION 2.17:? "Vour C 
";:INPUT MODE:GOSUB 1750 
IF M0DE<1 OR M0DE>2 THEN 2178 
IF M0DE=1 THEN POSITION 12.12:? " 
":GOSUB 1750:GOSUB 3000 
IF MUDE:^2 THEN POSITION 12.12:? " 
":GOSUB 1758:G0SUB 3888:G0T0 2318 



2228 REM BETA 

2268 GOSUB 3815:G0SUB 3828 

2278 FOR UAIT=1 TO 500:NEXT 

1750:POSITION 2.16:? "Vou 

MaxinuN of 6 titles" 
2288 ? " Press EIDSia mm to 



UAIT:GOSUB 
can enter a 



2298 CLOSE «2 : OP 
K:CLOSE tt2:GOT0 
2300 REM UHS 
2310 GOSUB 3025: 
2338 FOR UAIT=1 

1750:POSITION 2 

naxinun of 7 ti 
2340 GOTO 2288 
2488 GOSUB 1758: 

Your FIRST Titl 
XT UAIT 

2418 TRAP 2488:G 
8:INPUT TITLEIS: 
2798 

2428 TNUM=l:GOSU 
2440 INPUT SPEED 
2460 GOSUB 3150: 
2470 GOSUB 1750: 

Vour SECOND Tit 
EXT MAIT 
2480 TRAP 2478:G 
8:INPUT TITLE2« 
2790 

2498 TNUM=2:G0SU 
2588 INPUT SPEED 
2518 GOSUB 3158: 
2528 GOSUB 1758: 

Vour THIRD Titl 
XT MAIT 

2530 TRAP 2520:G 
8:INPUT TITLE3S: 
2790 
2540 TNUM=3:G0SU 



EN «2.4.0."K: 
2400 



Gont inue' 
":GET »2. 



GOSUB 3030 
TO 500:NEXT MA 
.16:? "Vou can 
ties" 

POSITION 2.17: 
e":FOR MAIT=1 

OSUB 3888:P0SI 
IF TITLEIS^"" 



IT:GOSUB 
enter a 



? "Enter 
TO 98:NE 

TION 1,1 
THEN GOT 



B 175e:G0SUB 3128 

IS 

INPUT MINIS 

POSITION 2,17: 

le":FOH MAIT=1 



? "Enter 
TO 9e:N 



OSUB 3880:P0SI 
IF TITLE2S="" 

B 1750:GOSUB 3 

25 

INPUT MIN2$ 

POSITION 2,17: 

e":FOR MAIT=1 

OSUB 3080:PaSI 
IF TITLE3S="" 



TION 1.1 
THEN GOT 

120 



? "Enter 
TO 98:NE 

TION 1.1 
THEN GOT 



B 175e:G0SUB 3128 



32 



ANTIC SOFTWARE LIBRARY 



25 
25 
25 
V 
EX 
25 
B: 

a 

25 
26 
26 
26 
Y 
XT 
26 



58 INPUT SPEED3S 

68 GOSUB 315e:INPUT niN3$ 

78 GOSUB 175e:P0SITI0N 2.17i? "Enter 

our FOURTH Title":FOR HAIT=1 TO 90-N 

T HftIT 

88 TRAP 257e:G0SUB 3888 : POSITION 1,1 



INPUT TITLE4S!IF TITLE4S 

2798 

98 TNUn=4:G0SUB 1758:G0SUB 3128 

88 INPUT SPEED4S 

18 GOSUB 315e:INPUT I1IN4$ 

28 GOSUB 175e:P05ITI0N 2.17:? " 

our FIFTH Title":FOR MAIT=1 

UAIT 
38 TRAP 2e28:G0SUB 3888 : POSITION 1.1 

THEN GOT 



THEN GUT 



? "Enter 
TO 9e:NE 



SilNPUT TITLE5S!IF TITLE5S= 
2798 

2648 TNUn=5:G0SUB 1758:60508 3128 
2658 INPUT SPEED5$ 
2668 GOSUB 315e:INPUT niN5$ 
2678 GOSUB 1758 : POSITION 2.1?:? "Enter 
Your SIXTH Title":FOR MAIT=1 TO 9a:NE 
XT UAIT 

2688 TRAP 2678=60500 3888 : POSITION 1.1 
8:INP0T TITLE6«:IF TITLE6S="" THEN GOT 
2798 

2698 TNUn=6:GaSUB 1758:60SUB 3128 
2708 INPUT 5PEED6S 
2718 60S0B 315e:INPUT IIINes 
2728 IF M0DE=2 THEN GOSUB 175e:P05ITI0 
N 2.17:? "Enter Your 5E0ENTH Title":FO 
H MAIT=1 TO 98:NEXT WAIT 

2730 IF naDE=2 THEN TRAP 272B:60SUB 38 
80:PO5ITION l.lBsINPUT TITLE75:IF TITL 
E7S="" THEN GOTO 2798 

2748 IF I10DE = 2 THEN TNUM = 7:6050B 1758: 
GU5UB 3128:INPUT SPEED7S 

2758 IF M0DE=2 THEN GOSUB 315B:INPUT M 
IN7S 

2798 GOSUB 1758 
2795 POSITION 2.16:? 
n the printer . then" 
2888 POSITION 10.17:? 
fflB":FOR J=15 TO 8 STEP 
10.J:NEXT J 

2818 FOR UAIT=1 TO 3e8:NEXT UAIT 
2838 IF M0DE = 1 AND TNUM<:=3 THEN LS = 12 
2835 IF MODE^^l AND TNUn>3 THEN LS=:6 
2848 IF HUDE = 2 AND TNUI1<=4 THEN LS = 12 
2845 IF I10DE = 2 AND TN0n>4 THEN LS = e 
2858 LINE=15: GOSUB 1758 
2854 IF nODE^l THEN GOSUB 3850 
2856 IF nODE=2 THEN GOSUB 3068 
2868 TRAP 1920 : POSITION 9.16:? "ai^l^nBil 
ClSBfUraanBIiiElIflraDBlB "i? "Refer to list for 
suggested setting" 
2870 ? "(itn;lliMllli!J="; : INPOT HAR 
2888 IF nAR<l OR MAR>48 THEN 2850 
2890 GOTO 3208 

3000 POSITION 4.16:? "Refer to list fo 
r the suggested":? " naxinun nunber o 
f characters" 

3810 ? " c[ij|>iaia> allowable for uour ti 
tle":RETURN 

3815 POKE 82.2e:PB5ITI0N 28.2:? "BHIBEim 
{!]•' •■ ? "BaODDBBaBasaSBa" : ? "BSHimQ" : ? : ? 



■Position LABEL i 

"Bnni[i4(^Bi!iuiB[iimn[i!iur-i 

l:SOUND 0.120. 



3817 ? :? "Bsmeiir 

82.2:RETURN 



i[ii[iiar-itin" :poke 



lA 
10 
HP 
MF 



X5 
RD 



DY 

EG 

SM 

RB 

GP 

DX 

LY 
NS 
AP 
OU 

NG 
FZ 

TU 

GP 

JU 

CU 

FC 

CB 

Ln 

XR 
YB 

BQ 

ED 

PK 

US 

AA 

GU 

zn 



3020 POKE 82. 32: POSITION 31.2:? "WliieiB" 
: ? : ? "BH" : ? : ? "BB" : ? : ? "BH" : ? : ? "H 
[!)"!POKE 82.2: RETURN 

3825 POKE 82. 28: POSITION 20.2:? "BfilBmCil 
S" •■ 7 "BBBBBBBBBBBBBBB" : ? "B(i1[«[i|iiWi:i" : ? " 

Bt^HrnnnixiBiire" : ? "Bdimnr^nmBdn" 

3027 ? "um-xnmummaBrA" ■■ 7 "BfdmejM":? "Biiir^iii 

Hisraa" : ? "BrauiHHuiainra" : ? "BH[!in!i0t.-i[!irmM" : pok 

E 82.2:RETURN 

3030 POKE 82. 32: POSITION 31.2:? "rffiir-IH" 
: ? : ? "BB" : ? "HH" : ? "BBl" : ? "HH" : ? "HSJ" 
: ? "HH" 

3848 ? "H(5l":? ••Um"--POKE 82, 2: RETURN 
3858 POKE 82. 31: POSITION 29,2:? "fiJBIiiWIfi 
Bl" : ? : ? "■[:«" : ? : ? "HHB" -7 ■7 "BfeJB" : ? 
:? "B[s]B":POKE 82. 2: RETURN 
3860 POKE 82. 32: POSITION 30,2:? "[iltslIflBH 



IB! 



I(:3I 



"BBI 

■niciB- 



;? "OHB":? "IJE!B" : 
f "i]»B":POKE 82,2 

•aeBHBHHHHBBBBBHB 
10 15 

(BII 
'Enter Speed cSP. 



5 

RETURN 
■Enter Speed 



W : ? : ? 

? "iiraB^^ 

3070 ? ■ 
:RETURN 

3080 POSITION 2.17:? 
BBBBBBBBBBBHBffiBBHBSI^^ 
3098 POSITION 2.16:? 
28 25 30 35^ 
3100 POSITION 2.16:? 

or BIIU : "; :RETURN 
3110 POSITION 2.16:? 
LP or EPJ :■•; :RETURN 
3120 IF nODE=l THEN GOSUB 3100 
3130 IF nODE=2 THEN GOSUB 3110 
3140 RETURN 

3150 POSITION 2.17:? ■■Prosran Length < 
in ninutesi^^; : RETURN 

3199 REM PRINTER CONTROL CODES 

3200 LPRINT CHRSC27» ;CHRSC64J :REt1 INIT 
lALIZE PRINTER 

3210 LPRINT CHRS C27J ;CHRSC110J :REH NLQ 

PICA 
3220 LPRINT CHRS c27> ; CHRS c65J ; CHRS cLS> 
:REI1 LS''72 LINE SPACING 

3230 LPRINT CHRS <27> ; CHRS c77» ; CHHS cMAR 
> :REn LEFT tIARGIN 

3240 IF H0DE=1 AND TN0n>3 THEN LPRINT 
CHRSt27J;CHRSc83JjCHRSclJ 
T FONT 

3245 IF M0DE=2 AND TNUM>4 THEN LPRINT 
CHRSC27> ;CHRSC83i ;CHRS«1» 
T FONT 
3258 GOSUB 1758 : POSITION 6. 

[ilUIQ lasn to print LABEL^' 
3268 CLOSE tt2 : OPEN n2 . 4 
K:CLOSE t*2 

3270 REM PRINT LABEL 
3288 LPRINT TITLEIS 
INIS;^* " 

3298 LPRINT TITLE2S 
IN2S;^^ ■• 

3388 LPRINT TITLE3S 
IN3S;^^ " 

3318 IF TNUn>3 THEN 
•■;SPEED4S;" ";MIN4S 
3328 IF TNUn>3 THEN 
■■;SPEED5S;^^ ■■;MIN5S 
3330 IF TNUI1>3 THEN 
";5PEED6S;" ■■.•MIN6S 

3340 IF TNUn>3 AND nODE=2 THEN LPRINT 
TITLE7S;" •• ; SPEED7S ; ■■ '■;mN7S;" •• 
3350 GOSUB 1710:GOSUB 1750:6010 388 



0, 



Rtn SUBSCRIP 

THEN LPRINT 
REM SUBSCRIP 

17:? ■■Press 
■K:":GET «2 . 



■■:SPEED1S; 

■■;SPEED2S; 
" ■■;SPEED3Sj 
LPRINT TITLE4SJ 
LPRINT TITLESSj 
LPRINT TITLE6SJ 



;I1 

;n 



Red Squares 



Article on page 24 



LISTING 1 



Don't type the 
TYPO II Codes!' 



<^ 



xti 

LU 
PB 
KC 

no 

ZY 
LT 



10 REM RED SQUARES 

20 REM BY MARC ABRAHOUITZ 

30 REM CCJ1989. ANTIC PUBLISHING INC 

48 REM (DO NOT RENUMBER THIS PROGRAMi 

78 GOTO 120 

88 RETURN 

188 BRK=usR (ADR (■■hananhhnniiisapcisiBaEiwi 
,1> 



HQ 

QJ 
AZ 

AN 
TA 
BQ 



105 POKE 708.54:POKE 711.34:P0KE 709.1 

:RETORN 

120 Din NAMES (10> :GOSUB 8088 

130 POKE 106.PEEK(740>-5:GRAPHICS 17:G 

OSUB 100 

135 CHSET= (PEEK(186>+1>»256 

14 JUNK=USR(nDU, 57344. CHSET.1024> 

160 FOR 1=0 TO 7:P0KE CHSET+520+I . 255 : 



JULY 1989 



33 



TH 

DB 
AI 

ME 
YP 
FK 



CU 



MK 

PR 
EQ 
OJ 
UV 
GP 

TL 

EV 



AX 

XP 
UD 
NK 

nu 

DG 
NL 

EU 

GN 

XE 

UT 

5F 

PJ 

TU 

JL 

BD 

AU 

MN 

DT 

GC 
CX 

nu 

EI 
UR 

GD 



UE 
JG 

RY 



ER 
LN 

34 



POKE CH5ET+8+I,25S!P0KE CH5ET+512+I , 

NEXT I 

178 DIM 

XT I !X C7 

171 Xtej 

175 Xcie 

>-3000:X 

180 GOTO 



Xtl5>:F0R 1=0 TO 15 ' X cl> =80 = NE 
> =3000 :XC11> =4000 !XC6>=3000 
= 3000 !X Cl»=4000 

>=4 000!XC51=30B0!XC9>=4 000:XC0 
C1J=4000 
7000 

199 REM DRAM BOARD 

200 GRAPHICS 17:G0S0B 100 : SCORE=0 : LINE 
5=0:POKE 756.CH5ET'256+2!IF HEIGHT=0 T 
HEN 207 

201 FOR Y=17 TO IBHEIGHT STEP -IsFOH 

X = 3 TO 16 :R = INT c2»*RNDtlJ+l> :IF R = l THE 
N 206 

202 R=INT<4»RNDC1>+1> :POSITION X,Y:IF 
R=l THEN ? »6;"!" 

203 IF R = 2 THEN ? «*6;"H" 

204 IF R=3 THEN ? n6 : "m- 

205 IF R = 4 THEN ? «6;"l!" 

206 NEXT X:NEXT Y 

207 FOR Y = TO 18:P0SITI0N B,Y:? ««6 ; " 
ai"! POSITION 17. Y:? «6;"[ll "rNEXT Y 

208 FOR X=2 TO 17:P0SITI0N X,18:? «6;" 
R** 'NEXT X 

209 POSITION 2.18:? ««6; "ffl" : POSITION 17 

.18:? «6;"?i" 

210 X=10: V=0:SHAPE=INTCRND t0J»7>*l :POK 
E 77.0 

220 Y=Y+1 

230 TR=STRIGC0J :KEY=PEEKC764> 

240 GOSUB X tPEEKt632J> !IF KEY<2 THEN G 

OSUB XCKEYJ 

255 IF CTR=0 OR KEY=5> AND Y>3 THEN GO 

SOB 2000 

260 POSITION X.YiPOKE 764.255 

270 IF SHAPE = 1 THEN ? n6 ; " ! ROHn- : GOTO 3 

70 

280 IF SHAPE = 2 THEN ? «»6; "! Q" : POSITION 

X,Y-l:? *»6;"[mj"!G0T0 370 
290 IF SHAPE = 3 THEN ? »*6; " ! II[B" : POSITIO 
N X,Y-l:? »6;"(S" jGOTO 370 

300 IF SHAPE = 4 THEN ? »6 ; " ! HtH" : POSITIO 
N X + 2.Y-1:? «6 ;••«••! GOTO 370 
310 IF SHAPE = 5 THEN ? ««6 ;"! H" : POSITION 

X-l.Y-l:? »6;"*n"!G0T0 370 
320 IF SHAPE = 6 THEN ? «»6 ;"! II" : POSITION 

X + l,Y-l!? «6;"[t)l}":G0T0 370 

322 IF SHAPE = 7 THEN ? «6 ;••!•■: POSITION 
X-l.Y-l!? «6;"H[Br!":G0T0 370 

323 IF SHflPE=8 AND Y>2 THEN GOSUB 1300 
:G0T0 370 

324 IF SHAPE = 9 AND Y>1 THEN ? «6;"!il": 
POSITION X+l.Y-l:? «6 ; "W" : POSITION X+1 
.V-2:? «6; "IS": GOTO 370 

325 IF SHAPE=10 AND Y>1 THEN ? «6;"!"! 
POSITION X,Y-1!? tt6;"ll": POSITION X-l.Y 
-2:? «6;"[BC"!G0T0 370 

326 IF SHAPE=11 AND Y>1 THEN ? «6;"!": 
POSITION X.Y-l:? *«6 ; •■BII" : POSITION X + 1. 
Y-2:? «6; "B" :GOTO 370 

327 IF SHAPE=12 AND Y>1 THEN ? «6;"!": 
POSITION X-l.Y-l!? a6;"Il[fi"! POSITION X- 
l,Y-2:? «»6;"I5":G0T0 370 

328 IF SHAPE = 13 AND Y>1 THEN ? »»6 ; " ! " : 
POSITION X,Y-l!? M6;"II[S" : POSITION X.Y- 
2!? »6; -n-iGOTO 370 

329 IF SHAPE = 14 THEN ? «6 ;"!••: POSITION 
X-2.Y-1!? «6;"ll[m5" !GOTO 370 

330 IF SHAPE = 15 THEN ? «»6 ;"!■■! POSITION 
X.Y-l!? tt6;"BII4r:-- : GOTO 370 

331 IF SHftPE = 16 THEN ? «6 ; " ! HIH" : POSITI 
ON X*l,Y-l!? W6; "IS" :GOTO 376 

332 IF SHAPE=17 AND Y>1 THEN ? «6 ; " ! " : 
POSITION X.Y-l!? «6;"ll" ! POSITION X.Y-2 
!? »6 ;■■*(:••! GOTO 370 

333 IF SHAPE=18 AND V>1 THEN ? «6 ; " ! H" 
!POSITION X.Y-l!? «6; ••»■•! POSITION X.Y- 
2:? «6; ■■I5"!G0T0 370 

334 IF SHAPE = 19 AND Y>1 THEN ? «6 ; " ! •• : 
POSITION X-l.Y-l!? tt6:"Bn"! POSITION X. 
Y-2:? «t6;"f5" 

370 FOR D=l TO SPEED!NEXT D 

500 Z1=32!Z2=32!Z3=32:Z4=32!L0CATE X.Y 

+ 1. Zl 

510 IF SHAPE=1 THEN LOCATE X*1,Y+1.Z2! 

LOCATE X+2. Y+1.Z3!L0CATE X+3- Y+1 . Z4 : GO 

TO 700 

520 IF SHAPE=2 THEN LOCATE X+1. Y+1. Z2! 

GOTO 700 

530 IF 5HAPE=3 THEN LOCATE X+1. Y+1. Z2: 



MD 

JI 

IE 

OR 

IZ 

lU 

H» 

KP 

IZ 

CZ 

XU 

FJ 

LI 

JK 

HU 
DU 

PG 
UY 
UH 

SA 
TN 
QZ 
UC 
UM 

DO 

GA 

BU 

UN 

ZT 

JY 
KC 
IB 
BSi 

BU 

lU 



OF 
EO 



MA 
KF 
RT 

UM 

UD 



, Y-1.Z2 
> V.Z2!G 
Z2: 
Z2! 
>Z2i 
.Z2i 



Y!IF 


SHAPE=1 


THEN ? «6 


THEN 


? 


»6;" 


••!P05ITI0 


THEN 

■ 1 


? 


«6;" 


■■!POSITI 


THEN 


? 


«6;" 


■•!POSITI 


THEN 

11 


? 


»»6;" 


■•!POSITIO 


THEN 


? 


«6 ; •• 


•■: POSITIO 


THEN 


? 


«6;" ■ 


■:POSITION 



LOCATE X+2. Y+1.Z3!G0T0 700 

540 IF SHAPE=4 THEN LOCATE X+l.Y+l,Z2i 

LOCATE X+2, Y+1.Z3!G0T0 700 

550 IF SHAPE=5 THEN LOCATE X+1. Y+1. Z2! 

LOCATE X-l.Y. Z3!G0T0 700 

560 IF SHAPE=6 THEN LOCATE X+1. Y+1. Z2! 

LOCATE X + 2. Y. Z3! GOTO 700 

570 IF SHAPE=7 THEN LOCATE X-l.Y. Z2!L0 

CATE X+1. Y.Z3 !GOTO 700 

590 IF 5HAPE=9 THEN LOCATE X+1. Y+1. Z2! 

GOTO 700 

600 IF SHAPE=10 THEN LOCATE X-1, 

!GOTQ 700 

610 IF SHAPE=11 THEN LOCATE X+l. 

OTO 780 

620 IF SHAPE=12 THEN LOCATE X-1, 
OTO 708 

621 IF SHAPE=13 THEN LOCATE X+1, 
OTO 700 

622 IF SHAPE=14 THEN LOCATE X-1, 
OCATE X-2. Y.Z3!G0T0 700 

623 IF SHAPE=15 THEN LOCATE X+1, 
OCATE X+2, Y.Z3!G0T0 700 

624 IF SHAPE=16 THEN LOCATE X+1. Y+1. Z2 
!LaCATE X+2. Y+1.Z3!G0T0 700 

625 IF SHAPE=17 THEN LOCATE X+1.Y-1.Z2 
!GDT0 700 

626 IF SHAPE=18 THEN LOCATE X+1, Y+1, Z2 
:GOTO 700 

627 IF SHfiPE=19 THEN LOCATE X-1,Y,Z2 
700 IF Z1032 OR Z2032 OR Z3032 OR Z 
4032 THEN POP : SC0RE = SC0RE + 1 : GOSUB 50 
00:GOTO 207 

1000 POSITION X, 

1010 IF SHAPE=2 
N X, Y-l!? «6; •• 
1020 IF SHAPE=3 
ON X, Y-l:? «6;" 

1030 IF SHAPE=4 
ON X + 2, Y-l!? t*6; 
1040 IF SHAPE=5 
N X-1, Y-l!? «6;' 
1050 IF SHAPE=6 
N X + 1, Y-l!? ttS;- 

1060 IF 5HAPE=7 
X-1, Y-l!? «6;" 

1061 IF SHAPE = 8 AND Y>2 THEN ? »6 ; 

POSITION X.Y-l!? tt6; POSITION X.Y-2 

:? t»6;" •■!P05ITI0N X.Y-3!? «6 ; " '• 

1062 IF SHAPE = 9 AND Y>1 THEN ? «»6 ; " " 

:P0SITI0N X + l.Y-l!? «6 ; POSITION X + 

l.Y-2!? W6;" " 

1063 IF SHAPE=10 AND Y>1 THEN ? W6;" " 

iPOSITION X,V-l!? «6; POSITION X-1, 

Y-2!? «6;" •• 

1064 IF SHAPE=11 AND V>1 THEN ? «6;" " 

:POSITION X,Y-l!? »6; POSITION X + 1 

,Y-2:? «6;" " 

1065 IF SHAPE = 12 AND Y>1 THEN ? «»6;" '• 
!POSITION X-1, Y-l:? «6;" "iPOSITION X 
-l,Y-2!? »«6;" ■• 

1066 IF 5HAPE=13 AND Y>1 THEN ? «6;" " 

!POSITION X,Y-l!? «6; POSITION X,V 

-2!? «6;" •• 

1067 IF 5HAPE = 14 THEN ? «6 ; •• "!POSITIO 
N X-2, Y-l!? »6;" 

1068 IF SHAPE = 15 THEN ? »6 ; " ■•!P05ITI0 
N X, Y-l!? «6;" 

1069 IF SHAPE = 16 THEN ? «6; POSIT 

ION X + 1, Y-l:? «6;" •• 

1070 IF 5HAPE = 17 AND V>1 THEN ? ««6;" •■ 

!POSITION X,Y-l!? «»6; POSITION X.Y- 

2!? «6;" 

1071 IF SHAPE=18 AND Y>1 THEN ? «6;" 

■•!POSITION X.Y-l!? tt6; POSITION X.Y 

-2:? «6j" •■ 

1072 IF SHAPE=19 AND Y>1 THEN ? »6;" " 

!POSITION X-l.Y-l!? «6; POSITION X 

.Y-2:? »6;" •" 

1280 GOTO 220 

1300 ? «6;"! •• :POSITION X.Y-l:? U6 : ••*'• •■ 

POSITION X,Y-2!? «6;"0": POSITION X,Y-3 

!? «*6;"ll"! RETURN 

2000 IF SHAPE=1 THEN SHAPE=8 : RETURN 

2005 IF SHAPE=2 AND X<16 THEN RETURN 

2010 IF SHAPE=3 AND X<16 THEN 5HAPE=9! 
RETURN 

2011 IF SHAPE=4 AND X>3 THEN SHAPE=10: 
RETURN 

2012 IF SHAPE=5 AND X<16 THEN SHAPE=11 



ANTIC SOFTWARE LIBRARY 



:RETURN 

2013 IF SHnPE=6 AND X>3 THEN SHftPE=12 = 
HETURN 

2014 IF 5HfiPE:=7 AND X<16 THEN 5HfiPE = 13 
:RE1URN 

2020 IF SHfiPE = 8 AND X<14 THEN SHflPE^l : 

2030 IF SHflPE=ll ftND X>3 ftND X<16 THEN 

SHAPE=5:RETURN 
2040 IF 5HftPE=12 AND X<16 THEN SHAPE=6 
: RETURN 

20be IF 5HAPE=9 AND X>4 THEN 5HAPE=14: 
RETURN 

2060 IF 5HAPE=10 AND X<15 THEN 5HflPE=l 
5: RETURN 

2070 IF 5HAPE=13 AND X<15 THEN SHAPE=1 
6! RETURN 

2080 IF SHAPE=14 AND X<16 THEN SHAPE=1 
7:RETURN 

2096 IF SHAPE=15 AND X<16 THEN 5HflPE=l 
8:RETURN 

2100 IF SHAPE=16 AND X>3 THEN SHAPE=19 
: RETURN 

2110 IF 5HAPE=17 AND X<15 THEN 5HAPE=3 
:RETURN 

2120 IF SHAPE=18 AND X<15 THEN SHAPE=4 
:RETURN 

2130 IF 5HAPE=19 AND X>3 THEN SHAPE=7: 
RETURN 
2980 RETURN 

3000 21=32:Z2=32:Z3=32 

3010 IF 5HAPE=1 THEN LOCATE X+4.V.Zl!G 
OTO 3890 

3020 IF SHftPE=2 THEN LOCATE X+2-V,Zl!L 
OCATE X+2, Y-1,Z2!G0T0 3890 
3030 IF 5HAPE=3 THEN LOCATE X+3,V.Z1:G 
OTO 3890 

3840 IF SHAPE=4 THEN LOCATE X+3,Y-1.Z1 
iLOCATE X+3. V,Z2:G0T0 3890 
3050 IF SHAPE=5 THEN LOCATE X+2,Y.Zl:L 
OCATE X+1. Y-1,Z2: GOTO 3890 
3060 IF SHAPE=6 THEN LOCATE X+3.Y-1.Z1 
:L0CATE X+2, Y,Z2 :G0T0 3890 

3065 IF SHAPE = 7 THEN LOCATE X + l.Y.ZUL 
OCATE X+2. Y-1.Z2>G0T0 3890 

3066 IF 5HAPE = 8 THEN LOCATE X + l.Y.ZHL 
OCATE X+1. Y-1.Z2:L0CATE X+1 . Y -2 , Z3 = LOC 
ATE X + 1. Y-3.Z4 :GOTO 3890 

3067 IF SHAPE=9 THEN LOCATE X+2.V.Z1:L 
OCATE X+2. Y-1.Z2:L0CATE X+2 . Y -2 . Z3 : GOT 
3890 

3068 IF SHAPE=10 THEN LOCATE X+l.V.Zl: 

LOCATE X+1. Y-1.Z2:L0CATE X+1 . Y -2 . Z3 : GO 
TO 3890 

3069 IF 5HflPE=ll THEN LOCATE X+1. Y. 21= 
LOCATE X+2. Y-1.Z2:L0CATE X+2. Y -2 . Z3 : GO 
TO 3890 

3070 IF SHAPE=12 THEN LOCATE X+l.Y.Zl: 
LOCATE X+1. Y-1.Z2:L0CATE X . Y-2 . Z3 : GOTO 

3890 

3071 IF SHAPE=13 THEN LOCATE X+l.Y.Zls 
LOCATE X + 2. Y-1.Z2:L0CATE X + 1. Y-2 . Z3 : GO 
TO 3890 

3072 IF SHAPE=14 THEN LOCATE X+l.V.Zl: 
LOCATE X+1. Y-1.Z2:G0T0 3890 

3073 IF SHAPE=15 THEN LOCATE X+l.Y.Zl: 
LOCATE X + 3. Y-1.Z2-.G0T0 3890 

3074 IF 5HAPE=16 THEN LOCATE X+S.Y.Zl' 
LOCATE X+2, Y-1,Z2:G0T0 3890 

3075 IF SHAPE=17 THEN LOCATE X+l.Y.Zl: 
LOCATE X + 1. Y-1.Z2:L0CATE X + 2 . Y-2 . Z3 : GO 
TO 3890 

3076 IF SHAPE=18 THEN LOCATE X+2,Y.Zl! 
LOCATE X+1. Y-1.Z2!L0CATE X+1 . Y-2 . Z3 : GO 
TO 3890 

3077 IF SHAPE=19 THEN LOCATE X+l.Y.Zl: 
LOCATE X+1. Y-1.Z2:L0CATE X+1. Y-2. Z3 
3890 IF 21=32 AND 22=32 AND Z3=32 THEN 

X = X + 1 
3900 RETURN 
4000 21=32!Z2=32!Z3=32!L0CATE X- 



THEN LOCATE 



4010 IF SHAPE=1 
OTO 4880 

4028 IF SHAPE=2 THEN LOCATE 
:60T0 4880 

4030 IF SHAPE=3 THEN LOCATE 
:GOTO 4880 

4040 IF SHAPE=4 THEN LOCATE X+1 
:GOTa 4880 

4050 IF 5HAPE=5 THEN LOCATE X-2 
:GOTO 4880 



1. Y.Zl 
Y.ZliG 
Y-1.Z2 

, Y-1, 

. Y-1, 

.Y-1, 



Z2 
. Z2 
. Z2 



TF 
DA 
XO 

UQ 
R5 
5L 

TB 
QR 
HF 
IN 
UK 

UN 

lU 

XO 

BT 
FF 
ID 
DL 
ZP 
GJ 
ZE 
CU 
RM 

DO 

ZL 

CR 

UZ 

ZD 
5P 

ML 
UE 
BG 
ID 

OX 
IE 



UU 

IX 

AX 
UO 

51 
OT 

PU 

EI 

ON 
CY 



RF 
HQ 
XH 

ZP 
LQ 

HK 

VG 
ZM 



4060 IF SHAPE=6 THEN LOCATE X.Y 
OTO 4886 



.Z2:6 
THEN LOCATE X-2. Y-1. Z2 



X-1. Y- 
1. Y-3. 



4665 IF 5HAPE=7 
:GOTO 4886 

4066 IF SHnPE=8 THEN LOCATE 
:LOCATE X-1. Y-2.Z3:L0CATE X 
OTO 4880 

4667 IF 5HAPE=9 THEN LOCATE X.Y-1 
OCATE X. Y-2.Z3!G0T0 4880 

4668 IF 5HAPE=16 THEN LOCATE X-1. 
2:L0CATE X -2 . Y -2 , Z3 = GOTO 4880 
4069 IF SHAPE=11 THEN LOCATE X-1, 



2 ■■ 
40 
2 : 
40 
2 ! 
40 
2 : 
40 
2 = 
40 
GO 
40 
2: 
40 
2 ! 
40 
2 = 
48 
X 
48 
50 
50 
50 
58 
50 
50 
56 
50 
UN 
50 



LOCA 

70 I 
LOCA 

71 I 
LOCA 

72 I 
GOTO 

73 I 
GOTO 

74 I 
TO 4 

75 I 
LOCA 

76 I 
LOCA 

77 I 
LOCA 
80 I 
= X-1 
96 R 
00 I 



10 R 
F 

X 

L 
I 
I 
F 



20 
30 
46 
58 
66 
70 
D 
71 5 



TE X, 
F SHA 
TE X- 
F SHA 
TE X- 
F SHA 

4880 
F SHA 

4880 
F SHA 
886 
F SHA 
TE X- 
F SHA 
TE X 
F SHA 
TE X- 
F Zl = 

ETURN 
F Y< = 
EM 

OR Y = 
= 3 

OCATE 
F Zl = 
F X<1 
OR S = 
5«10, 
OUND 



Y-2,Z3:G0T0 4880 
PE=12 THEN LOCATE X-2, 
2, Y-2,Z3!G0T0 4880 
PE=13 THEN LOCATE X-1, 
1, Y-2.Z3:G0T0 4880 
PE=14 THEN LOCATE X-3- 

PE-15 THEN LOCATE X-1- 

PE=16 THEN LOCATE X.Y 



PE=17 THEN LOCATE X-1, 

1. Y-2.Z3!G0T0 4886 

PE=18 THEN LOCATE X-1, 

1, Y-2,Z3 :GOTO 4888 

PE=19 THEN LOCATE X-2, 

1. Y-2,Z3 

32 AND Z2=32 AND Z3=32 THEN 



1,Z2 
Z4 :G 

.Z2:L 

Y-l.Z 

Y-1,Z 

Y-1,Z 
Y-l.Z 
Y-l.Z 
Y-l.Z 
1.Z2! 
Y-l.Z 
Y-l.Z 
Y-l.Z 



1 THEN POP :GOTO 6600 

17 TO 6 STEP -1 

X.Y.Zl 
32 THEN 5080 
6 THEN X=X+l!GOTO 5046 

2 TO 17!P0KE 712. cS»8>+4 iSO 
6. C17-5J :NEXT S:POKE 712.6 
6.6. 0. 6:P0SITI0N 3.Y:? «6 ; " 



5672 FOR Y2=Y TO 1 STEP -l!ZF=0iFOR X= 
3 TO 16:L0CATE X.Y2-1.Z1:IF Zl=32 THEN 

ZF=ZF+1 

5673 IF ZF=14 THEN POP 'POP sGOTO 5879 

5674 POSITION X.Y2!? «6 ; CHRS CZ1> = POSIT 
ION X.Y2-1!? «6;" " 

5675 NEXT X:NEXT Y2 

5679 LINES = LINES + 1 :5C0RE = SC0RE + 16»«tl8- 

YJ :SPEED = SPEED-5:G0T0 5836 

5686 NEXT Y 

5698 RETURN 

5959 IF Zl=32 THEN 5680 

6066 GRAPHICS 18:G0SUB 100 

■rnm@n":X=4: Y = 4:G0SUB 7170 

6016 FOR D=l TO 500:NEXT D 

6620 LINES="LINES: 

+1J=STRS tLINESJ !Y=5 

i- GOSUB 7170 

6638 LINES = "SCORE : 
+1>=5TRSCSC0RE»:Y=4 

6640 
: V = 7 
6050 
6098 



LINES^-BEIEIB 



:LINEScLENtLINESj 
LINESCLEN tLINES>+l 

••!LINE5 tLENcLINES» 
GOSUB 7170 



LINES = " press start" !LL = 5:RL = 7!X = 3 



IF PEEKt53279>< 
6090 

100:0111 LINESC2 

X = 3 : Y = 4:G0SUB 

X = 0: Y = 



GOSUB 7266 
POKE 769.PEEKC26J 
>6 AND STRIGceJ=l THEN 
6160 GOTO 7156 
7600 GRAPHICS 18:G0SUB 
6> 
7616 LINES="RED SOUARES 

7176 
7648 LINE$="b» narc abranowitz 
6:LL=9:RL=16 :GOSUB 7266 
7856 LINE$ = "f3[imSSB!^Q^ian-- 
7126 FOR L=l TO 11:F0R F=9 TO 8 STEP - 

l:POSITION 3 + L.F + l:? t«6 ; SOUND 0,F» 

25.16. 8 :POSITION 3 + L.F 

7136 ? »6;LINES CL.LJ :NEXT F:NEXT L 

7146 SOUND 6,6.6.0 

7150 POKE 711.PEEKC20> : IF PEEKC53279K 

>6 AND STRIGC6> THEN 7156 

7155 GOSUB 9600:GOTO 200 

7170 FOR L=l TO LEN CLINES J : POSITION X+ 

L,V:FOR F=15 TO STEP -5 



7175 SOUND 
6;LINESCL.L> 
7180 SOOND 8 
7206 FOR 1=1 



JULY 1989 



F«f255^Y> , 16, F :NEXT F:? « 
iNEXT L 
,0,0,e:RETURN 

TO X+LL:P05ITI0N I-1,Y:? 

35 



ux 



JF 

QT 
NB 
lU 

nn 
ou 



JA 
ZD 
IM 
ZN 
RD 

TM 

HM 
XJ 

ZO 

QZ 

LT 

RU 

SV 

UU 
BB 
TO 
JU 
ZX 
RH 
50 



»»6; SOUND e.I«ie,ie,8:P0SITI0N I.Y! 

? W6;LINESCLL.LL» iNEXT I 

7218 FOR 1 = 18 TO X + RL STEP -l:POSniON 

1*1, Vs? »«6; SOUND , I»1B , 10 . 8 : POST 

TION I.V!? t«6;LINE$(RL.RLi :NEXT I 

7220 SOUND 0,0.0.e:LL = LL-l.-RL = RL*l:IF 

LL<=0 THEN RETURN 

7230 GOTO 7200 

8000 REM « ML MOOE ROUTINE ♦» 

8010 Muu = nDRc"h hnirihSifahaiiihniihntiihcimHWMnjr! 

8020 RETURN 

9000 GRAPHICS 2:G0SUB 100 : SPEED^l : HEIG 

HT=0:? :POKE 667,3=? "USE CONSOLE KEYS 

OR JOYSTICK TO" 
9005 POKE 657,13:? "SELECT aPTIONS":PO 
KE 710,0:POKE 755,0 
9010 POSITION 1.5:? «6;"selec-t - SPEED 



•option ~ HblGH 
■start - BEGIN 
'SPEED C1-50J: 



9026 POSITION 1,6:? »6 J 
T" 

9025 POSITION 1.7:? «6 J 
GfttlE" 

9030 POSITION 1,2:? »6 ; 
";SPEED;" " 

9040 POSITION 1.3:? «6;"HEIGHT t0-10»: 

** ■ NKTrilT * " '* 

9050 ST=PEEKC632> : C0N=PEEKc53279> 

9051 IF PEEKC53279»=6 OR 5TRIGc0>=0 TH 
EN 9150 

9052 IF ST=15 AND C0N=7 AND 5TRIGt0>=l 
THEN 9050 

9054 FOR U=15 TO 8 STEP -1.5:S0UND 0.5 

e,10.U:NEXT U 

9060 IF ST=14 OR C0N=5 THEN SPEED=SPEE 

D + 1 

9070 IF 5T=13 THEN SPEED=SPEED-1 

9880 IF ST = 7 OR C0N = 3 THEN HEIGHT=:HEIG 

HT + 1 

9090 IF 5T=11 THEN HEIGHT=HEIGHT -1 

9100 IF SPEED>50 THEN 5PEED=1 

9110 IF SPEED<1 THEN 5PEED=50 

9120 IF HEIGHT>10 THEN HEIGHT=0 

9138 IF HEIGHK0 THEN HEIGHT = 10 

9140 GOTO 9010 

9156 SPEED=50-SPEED:RETURN 



LISTING 2 



EO 

IJ 
PR 

UU 

RD 

PV 

TH 
UD 

MY 
KB 
PU 

LU 

BO 
YC 

DM 

BK 

MM 

CM 

UQ 

AR 
PU 
AL 

FX 
EF 

TZ 

UT 

RE 



40 R 

OTHE 

50 R 

60 D 

EEKC 

70 F 

AME 

88 ? 

5 

98 I 

581 

180 

110 

TIC ■ 

120 

130 

140 

se s 

150 

C = l 

160 

170 

2.25 

180 

wn ■ ■ 

190 

1 :NE 

200 

MANY 

E! " : 

210 

LIN 
228 
sset 
230 
240 
250 



EM CLINES 10-250 MAY BE USED WITH 
R BASIC LOADERS IN THIS ISSUE. 
EM CHANGE LINE 70 AS NECESSARY . i 
IM FN$C20>, TEMPS C20>,ARSC93> :DPL=P 
10592>:POKE 10592,255 

NS="D:LINES.LST":REM THIS IS THE N 
OF THE DISK FILE TO BE CREATED 
"|)||!lisK or ISassette?"; :POKE 764.25 

F NOT cPEEKt764>=18 OR PEEKc764J= 

THEN 90 

IF PEEKt764J=18 THEN FNS="C:" 

POKE ?64,255:GRAPHICS 0:? " AN 

S GENERIC BASIC LOADER" 

? ,"BY CHARLES JACKSON" 

POKE 10592, DPL:TRAP 200 

? :? ■■? "Creating ";FNS:? ■ 

tand by." 

RESTORE :READ LN:Ln=LN:Din ftSCLN>: 



Plea 



ARS="":READ ARS 

FOR X=l TO LENcARSi STEP 3:P0KE 75 

5 

LM=LM-l:POSITION 10.10:? "cCountdo 

. T-";INT CLM''10» ;"> 

ASCC,CJ=CHRSC0ALCARSCX,X+2>»J:C=C+ 

XT X:GOTO 160 

IF PEEKtl95>=5 THEN ? :? :? "CSTOO 

DATA LINES!":? "CANNOT CREATE FIL 
END 

IF C<LN+1 THEN ? :? "QTOO FEW DATA 
ES!":? "CANNOT CREATE FILE!":END 
IF FNS = "C:" THEN ? :? ■• Prepare ca 
te, press tRETURNi" 
OPEN «1,8,0,FNS 

POKE 766,1:? ttl;A$::POKE 766,0 
CLOSE ttl: GRAPHICS 0:? "■H[illil[iinis|U[i[aB 



1000 DATA 105 

1010 DATA 0490480488320660820750610850 

830 82040065068082 04 0834104169880133077 

10410428180024 0007169112133 

1828 DATA 8161418142108968340410440490 

41155856 04 8 04 9 84 8032 077079086061065068 

082 84883418418413324118413 3 

1830 DATA 2401041332131041332121041332 

3918413323816000017724 014 5212230212208 

00223821323824 8288882230241 

1048 DATA 1982382882341982398162300960 

34041155 



AY 

nz 

GD 



10 REM 
20 REM 
30 REM cc> 



1985,1988 ANTIC PUBLISHING 



Flash! 



Article on page 25 



LISTING 1 



AY 
AZ 
GD 
EU 

IJ 
PR 

EA 

RD 

PY 

TH 
UB 

MY 
KB 
PU 

36 



10 

20 

30 

40 

07H 

50 

60 

EEK 

70 

AME 

80 

5 

90 

581 

100 

110 

TIC 

120 

130 

140 



REM 
REM 

REM cc 
REM CL 
ER BAS 
REM CH 
DIM FN 
C10592 
FNS="D 
OF TH 
? "SrCli 

IF NO 
THEN 
IF PE 
POKE 

■S GEN 
? , "B 
POKE 
■5 : -7 



1 1985,1 
INES 10- 
IC LOADE 
ANGE LIN 
SC201 , TE 
1 SPOKE 1 
:FLA5H.E 
E DISK F 
SK or f^a 



Don't type the, 
TVPO II Codesi 



988 ANTIC PUBLISHING 
250 MAY DE USED MITH 
RS IN THIS ISSUE. 
E 70 AS NECESSARY. 1 
MPSC281,ARSC931 :DPL = P 
0592,255 

XE":REM THIS IS THE N 
ILE TO BE CREATED 
ssette?"; :POKE 764,25 



T CPEEKC7641=1B OR PEEKC7641 

90 

EKi764i= 

764,255: GRAPHICS 0:? " AN 

ERIC BAS 

Y CHARLE 

10592, DP 

:? "Creating ";FNS:? "...plea 



=18 THEN FNS=' 
GRAPHICS 0:? 
ilC LOADER" 
iS JACKSON" 
'L:TRAP 200 
iting ";FNS:? 



LU 

00 
VC 

DM 

BK 

MM 

CM 

UQ 

AR 
PO 
AL 



se stand bu." 

158 RESTORE : READ LN:LM=LN:Din A$cLNi: 

C=;l 

160 ARS = READ ARS 

170 FOR X=l TO LENcARSi STEP 3 : POKE 75 

2.255 

180 LM=LM-l:POSITI0N 10,10:? "CCountdo 

wn . . .T-";INT CLM'101 ;"i 

190 AScC,Ci=CHR$cUAL(AR$(X,X + 2iil : C = C + 

l:NEXT XsGOTO 160 

200 IF PEEKC1951=5 THEN ? :? :? "QTOO 

MANY DATA LINES!":? "CANNOT CREATE FIL 

E! " :END 

210 IF C<LN+1 THEN ? :? "QTOO FEM DATA 

LINES!":? "CANNOT CREATE FILE!":END 
220 IF FNS="C:" THEN ? :? " Prepare ca 
ssette, press tRETOHNi" 
230 OPEN ttl,8.e,FN$: 

248 POKE 766,1:? «tl ; A$ ; : POKE 766,0 
258 CLOSE ttl: GRAPHICS Q:? "■[iJlIIDiiliiBL^Iiit^mB 

ANTIC SOFTWARE LIBRARY 



LD leee data 945 



GD 
CN 
UP 
NG 
TQ 
PM 
RR 
NA 
GM 
VV 
NP 
UZ 
QD 
UA 
PP 



leie 

13169 

13324 

1620 

80157 

20822 

1030 

30240 

04215 

1040 

69000 

05618 

1050 

06232 

18503 

1060 

00133 

13324 

1070 

26201 

14401 

1080 

33242 

02410 

1090 

65252 

10500 

1100 

53081 

03203 

1110 

62000 

08115 

1120 

21081 

10510 

1130 

09105 

16908 

1140 

73003 

03204 

1150 

98108 

15706 



DATA 2 
000133 
016200 
DATA 
208006 
903209 
DATA 
165240 
500000 
DATA 
133203 
520800 
DATA 
224008 
200607 
DATA 
212169 
116900 
DATA 2 
096176 
220116 
DATA 2 
160003 
506413 
DATA 
080247 
013324 
DATA 2 
125029 
203203 
DATA 
169009 
706900 
DATA 1 
029032 
910111 
DATA 1 
110097 
615706 
DATA 
032086 
009904 
DATA 
105115 
600316 



552550 
212169 
716000 
001122 
230204 
608016 
081332 
201128 
000000 
002551 
160000 
604215 
001448 
208227 
325514 
082082 
064133 
013324 
122010 
006056 
017600 
241760 
006242 
324316 
732551 
081240 
123021 
131652 
029032 
207003 
321150 
157666 
316902 
690001 
032065 
011603 
161041 
108155 
800316 
031690 
228676 
103204 
320651 
104105 
915415 



00080 
22413 
01772 
38025 
20800 
52120 
12165 
20820 
00000 
29129 
16200 
32080 
82169 
20019 
52122 
44096 
20516 
01608 
32176 
23303 
21442 
02144 
03824 
00001 
45240 
02410 
22080 
13201 
03203 
21080 
32104 
00316 
91570 
57073 
11003 
21051 
01032 
16200 
90811 
35157 
18608 
90570 
10116 
11010 
70680 



25108 
32051 
04153 
08020 
22302 
24105 
21310 
10760 
00000 
12912 
00241 
06169 
00113 
20082 
00192 
16907 
90001 
00177 
00510 
20241 
31201 
23416 
31362 
77242 
20019 
50081 
02230 
07320 
20320 
32097 
03203 
90241 
72003 
00303 
21011 
10032 
11511 
01690 
57069 
07200 
10290 
56057 
10589 
31551 
03169 



01690641332 
69000133204 

80032380260 
05202224255 

50001332132 
21081001128 

91291292551 
65203240001 

32031260320 
08228160000 

21332131690 
33204169100 

50640241440 
44016201128 

00001322431 
08249165243 

20082082451 
33240165241 

81578960760 
32032032032 

30320331551 
57068003169 

20862280761 
20112101114 

70981081051 
09157066083 

31698001570 
32032032032 

90320801170 
62080169009 



LG 



PU 



KB 



NZ 



UO 



SU 



DH 



H5 



AN 



OD 



Skt 



DI 



QU 



HZ 



nu 



EH 



116 
690 
032 
117 
320 
169 
118 
720 
029 
119 
801 
157 
120 
412 
068 
121 
862 
003 
122 
281 
029 
123 
431 
003 
124 
122 
141 
125 
691 
024 
126 
041 
232 
127 
411 
002 
128 
832 
230 
129 
461 
133 
130 
602 
174 
131 
240 



DA 
0015 
8320 
DA 
7810 
0091 
DA 
0316 
0290 
DA 
6900 
0690 
6 DA 
4000 
0031 
DA 
2816 
1690 
DA 
7307 
0290 
DA 
5706 
1690 
DA 
3222 
2008 
DA 
0013 
1052 
DA 
6200 
1890 
DA 
6520 
2012 
DA 
4001 
2042 
DA 
6908 
1410 
DA 
4000 
0700 
DA 
0222 



TA 08 
70730 
32032 
TA 06 
11031 
57866 
TA 00 
90001 
69110 
TA 03 
91570 
03159 
TA 00 
21620 
69080 
TA 15 
20001 
72157 
TA 07 
20031 
29029 
TA 15 
80031 
00157 
TA 19 
40152 
02141 
TA 19 
32051 
20133 
TA 16 
01420 
76080 
TA 10 
31740 
55240 
TA 00 
01698 
08882 
TA 03 
81418 
31208 
TA 20 
62380 
83224 
TA 88 
50020 



11570 
83032 
83283 
61210 
17115 
88316 
31698 
57873 
11618 
21121 
66003 
01715 
01570 
00169 
15706 
70720 
69005 
06900 
20031 
33245 
02902 
51620 
69082 
07300 
82451 
08245 
19800 
70020 
69000 
24408 
50891 
00806 
14524 
58401 
88806 
01116 
21692 
08133 
23828 
21110 
81006 
07622 
82010 
78883 
08824 
31730 
00080 



690031690 
086228076 
203203203 
580320691 
155162000 
921915706 
611578690 
003032086 
111403209 
041140971 
169023157 
707200316 
730030320 
011157066 
900316900 
031698001 
157866803 
316925516 
698801570 
076157082 
902902902 
001690091 
157869003 
303208622 
620001890 
169112141 
216901514 
321530801 
133204141 
215208324 
050001332 
162000010 
016524002 
332401652 
232224008 
900014124 
241412440 
020165020 
523800100 
831730010 
230246165 
308217383 
852080131 
076145083 
001020607 
312082010 



321570 

246081 

2 

141101 

248081 

8 

031690 

228076 

7 

151011 

068003 

9 

862281 

003169 

1 

570730 

169000 

7 

730838 

125029 

9 

578668 

169014 

8 

800801 

244882 

1 

698881 

001006 



411600 

133203 

4 

411850 

208217 



020961 

201001 

6 

062818 

246197 

1 

748788 

281883 



061442 



720031 
029832 

051818 
243082 

271570 
040082 

551620 
169082 

690011 
078157 

030320 
157068 

320862 
029029 

031691 
157872 

578001 
169000 

332461 
165088 

001772 
144001 

001332 
173252 

730708 
208258 

882881 
245208 

832240 
208017 

490962. 



Machine Language Stringer 



LISTING 1 



FR 
TU 
AD 
BC 
QT 

ZU 
AO 

UJ 
GX 

SA 
EH 
UU 

F5 



FQ 

CJ 
5K 
DB 

RG 
UB 
XR 
IF 



10 REM MACHINE LANGUAGE STRINGER 

20 REM bu And!; Barton 

30 REM <c>1989, ANTIC PUBLISHING 

50 HEM 

68 DIM AS cl28> ,BS<15> ,CS tl20> ,MLS 

O>,5SC5J,NSC2>!O=1:ED=0:N=1 

70 CSC1>= CSC120>= CSt2>=CS 

80 ? ■•«••!? :? !? "CONUERT OBJ FIL 

STRING DATA"!? ■■ 7 

90 ? "INPUT OBJ FILE cDn:xxx>" 

100 INPUT B$:TRAP 90!lF BScl.UO 

HEN 90 

110 CLOSE ttUOPEN ttl.4,0,B$ 

120 ? "STARTING LINE NO." 

130 TRAP 120!INPUT SLN : DSLN=SLN : S 

N+l:TRAP 40000 

135 IF SLN<482 THEN ? =? "STARTIN 

E NO. MUST BE GREATER THEN ■£»!)[!]■" 

OTO 120 

140 ? "NAME ML STRING c2 CHARACT 

NLYJ"!INPUT NS!IF LENcN«>=:0 THEN 

150 S5=NS!SS CLENCNSJ+1J=STRS tN> 

160 ? "B"!TRAP 410 

170 GET «1,X!GET «1-X:REM DISCARD FILE 

IDENTIFICATION CODE c255,255> 
180 TRAP 420:REM NOMAL EOF 
190 GET ol,A:GET «1 , B : 5T=B»256+A 
200 IF ED = THEN B5T=:ST:G0T0 220 
210 IF STOEDST THEN GOSUB 450:BST = ST! 



Don't type the/ 


'N, 


TYPO II Codes" 


^ 


INC 


OK 




ZU 


clOOO 






AU 


E TO 


GF 




ET 




UJ 


"D" T 


KE 




nv 




VU 


LN = SL 


IS 


G LIN 
:? !G 


SI 
SU 


ERS 


OA 


148 


CV 




XG 



UG 



zn 



Article on page 8 



N=N+1:SSCLENCNSJ*1J=5TRSCN>:Q=1:SLN=SL 

N+2!DSLN=SLN:SLN=SLN*1 

228 GET «1.A!GET «1 , B : ED=B»256+A 

238 POKE 766. 1 JPOSITION 2,4:? CSiPOSIT 

ION 2.4:? SLN;" "; SS ;"$ f" ; Q; ".";: POSIT 

ION 22.4:? "> =" ; CHRS c34> ; 

240 TRAP 398:REM EARLV EOF 

258 FOR Z = l TO 90:GET «»1 . X 

260 IF X=155 OR X=34 THEN 350 

270 ? CHR$cX>; 

280 ST=ST+l:IF ST>ED THEN 330 

290 NEXT Z 

300 POSITION 18.4:? Q+Z-2 : Q=B+90 : SLN=S 

LN+l:G05UB 3ie:G0TQ 230 

310 POKE 7e6.0:POSITION 2.10:? "CONT": 

POSITION 1,2:? " ";:POKE 842.13:ST0P 

320 POKE 842.12:RETURN 

330 REM ST -> ED REACHED 

340 POSITION 18.4:? B+Z-1:G0SUB 310:ED 

ST = ST :Q=:a + Z : SLN = SLN + l:G0T0 180 

350 IF Z=l THEN 368 

355 POSITION 18.4:? Q + Z-2:G0SUB 310 : 5L 

N=SLN+1 

360 POSITION 2.4:? CS:POSITION 2.4:? S 

LN;" "; SS; "Sc";a+Z-1;". ";a+Z -!;"»=". -"C 

HRSC"; X;"»" 

370 GOSUB 310 : SLN = SLN + 1 :Q=^Q + Z :ST = ST + l: 

IF ST>ED THEN EDST=5T:G0T0 180 



JULY 1989 



37 



NP 
NM 
RX 
BA 

nj 

OL 



OB 
HV 



IJ 
BV 



- EARLV EOF 



! ! !•■ sSTOP 
;? "DONE-iPO 



380 GOTO 238 

398 REn ERROR 

488 GOSUB 310 

418 ? ■• ERROR -- EARLY EOF 

420 GOSUB 318:G0SUB 458:? 

KE 766.0:REn NORMAL EOF 

438 ? "■HDSDB -these lines into a disk f 

iie then BIlliiaisKiJB then into uour has 

ic prograM" 

448 END 

458 NUM=ED-BST*l!P05ITI0N 2-4:? CSsPOS 

ITION 2-4:? DSLN;"DII1 " ; SS ; "S c- ; NUM; "> 

":GOSUB 310:POSITION 2-4:? CS 

468 POSITION 2.4:? SLN;" X=:U5R c ADR C" ; C 

HR$ c34> ; "hhauihaShadJhciDharQhacniiJianriiBnnninn 

nDQ[JD[iiD[aiUrjaii1SII|[anSt!}IIl(affi"; CHRS c34i ; 

478 ? "J - ADRC";SS;"S> .•■;BST;"-";NOM;"» 



JF 488 GOSUB 318:RETURN 



LISTING 2 



AV 
AZ 
GD 
EU 

IJ 
PR 

MO 

RD 

PY 

TH 



18 

28 

38 

48 

OTH 

58 

68 

EEK 

78 

AME 

88 

5 

98 

58> 

188 



REM 
REM 

HEM cci 19 
REM (LINES 
ER BASIC L 
REM CHANGE 
DIM FN$(28 
C18592> :P0 
FN$="D:LIN 
OF THE DI 
? "Mraisk o 

IF NOT cp 
THEN 98 
IF PEEK(7 



85,1988 ANTIC PUBLISHING 
18-258 MAY BE USED UITH 

OADERS IN THIS ISSUE. 
LINE 70 AS NECESSARY.! 

J -TEMPSC2e> ,ARSC93> :DPL=P 

KE 18592.255 

E5.L5T":REM THIS IS THE N 

SK FILE TO BE CREATED 

r Sassette?"; : POKE 764.25 

EEK<764>=18 OR PEEK(764J= 
64>=:18 THEN FNS = "C:" 



UD 

MY 
KB 
PU 

LU 

BQ 
YC 

DM 

BK 

MM 

CM 

UQ 

AR 
PU 
AL 

HX 
ED 

UH 

BJ 

UM 



118 POKE 764,255:6RAPHICS 8:? " AN 

TIC'S GENERIC BASIC LOADER" 

128 ? ,"BY CHARLES JACKSON" 

138 POKE 10592. DPL :TRAP 200 

148 ? :? :? "Creating ";FNS:? "...plea 

se stand by." 

158 RESTORE : READ LN:LM = LN:DIM AS cLNi : 

C = l 

168 AR$ = READ AR$ 

170 FOR X=l TO LEN(AR$> STEP 3:P0KE 75 
2.255 

180 LM=LM-l:POSITI0N 10.10:? "(Countdo 
wn. . .T-";INTCLM^10> ;"> 

190 ASCC,CJ=CHRSCUALCARSCX.X+2»J>:C=C+ 
l:NEXT X:GaTO 160 

200 IF PEEKtl95>=5 THEN ? :? :? "CaTOO 
MANY DATA LINES!":? "CANNOT CREATE FIL 
E!":END 

218 IF C<LN+1 THEN ? :? "QTOO FEW DATA 
LINES!":? "CANNOT CREATE FILE!":END 



220 IF FNS="C:" THEN ? 
ssette. press cRETURNi" 
230 OPEN ««1,8,0,FNS 
240 POKE 766.1:? ai;A$;' 
250 CLOSE «tl:GRAPHIC5 0! 



Prepare ca 



POKE 766,0 

? "BHOlBDIiiaSDE^rai 



1808 
1818 
7307 
8598 
1828 
3604 
2401 
1030 
8817 
2888 
1848 
3604 



DATA 1 

DATA 
9078832 
3403288 

DATA 8 
8051052 
0413321 

DATA 2 
7240145 
0223824 

DATA 2 
8851852 



89 

5285484883 

0580448528 

8861085883 

650680B204 

0410598341 

3184133212 

3918413323 

2122382122 

119B23828B 

3928823209 

041059155 



2088079883873884 8 

58863832883876878 

862840 

88340590678728828 

84184133241104133 

184133 

82488822382391688 

88882238213238248 

o -3 C 4 a Q 

60 340590670720820 



Operating System Device Handlers 



0100 
0110 

8120 
8138 
8148 
8158 
8168 
8178 
8188 
8190 
8288 
8218 
8228 
8238 
8248 
8258 
8268 
0270 
0280 
0290 
0388 
8318 
8328 
8338 
0348 
8358 
8360 
0370 
0388 
8398 
8408 
8418 
0428 
8438 
8440 
8458 
8468 
0470 
0488 



; MAKEBOOT cFOR OS^A+> 

; BY BOB MARTIN 

; (C11989, ANTIC PUBLISHING INC. 

; MAKE BOOT DISK FROM DOS FILE 

MEMTOP = 56A 
MEMLO = S82E7 

HATABS = $831A 

CH = S82FC 

CR = 588 

BUFl = $0500 

BUF2 = S060O 



INBUFF 
CIX = 
LBUFF : 
FRO = 
FRl = 
ICBAL -- 
ICBLL = 
ICAXl = 
ICAX2 : 
CIOU = 
ICCOM = 
AFP = 
FASC = 
IFP = 
FPI = 



= SF3 
«F2 
£0580 
$D4 
SE0 
$0344 
$0348 
$034A 
$8348 
$E456 
$0342 
$0888 
$D8E6 
$D9AA 
$D9D2 



; LOOK FOR AN EMPTY SPOT IN 
; THE HANDLER ADDRESS TABLE 

»= $7888 

INSERT 

LDX 08 
NEXTPLACE 

LDA HATABS, X 

BEQ ESPOT 







Article on page 11 


8498 


INX 




8588 


INX 




8510 


INX 




8528 


BNE NEXTPLACE 




8530 


BEQ INSERT 




0540 






0550 


FOUND AN EMPTY SPOT 




0560 






0570 i 


ESPOT 




0588 


LDA <t$42 




8598 


STA HATADS.X 




8688 


LDA «tBTAB&$FF 




8618 


STA HATABS+l.X 




8628 


LDA ttBTAB''$8188 




8638 


STA HATABS+2,X 




8648 






8658 


FIND THE E: HANDLER 




8668 






8678 i 


EFIND 




8688 


LDX «t0 




8698 1 


ELOOP 




8780 


LDA HATABS, X 




8718 


CMP »fE 




8728 


BEB EFND 




8738 


INX 




8748 


INX 




8758 


INX 




8768 


BNE ELOOP 




8778 


BEO EFIND 




0788 






8798 


FOUND THE £: POINTER 




8888 






8818 i 


EFND 




8828 


LDA HATABS+l.X 




8838 


STA $D0 




8848 


LDA HATAeS+2.X 




8858 


STA $01 




8868 


LDY tt4 




8878 


LDA c$D8>,V 





38 



ANTIC SOFTWARE LIBRARY 



0880 


STft EGET+1 


5220 


STA 


INTADR+1 




0890 


INY 


5225 


LDA 


«»S01 




0980 


LOn CSD0J.Y 


5230 


STA 


SECNO 




0910 


STfl EGET+2 


5235 


STA 


STATS 




0920 


INV 


5240 


LDA 


tt$0e 




0930 


LDft CSD0J.V 


5245 


STA 


HEADER 




0940 


STfi EPUT+1 


5250 


JSR 


CLEAR 




0950 


INV 


5255 


CLC 






0960 


LDO c$D0>.V 


5260 


LDA 


$21 


; diSK tt 


0970 


STft EPUT+2 


5265 


ADC 


»$30 


;naKe ASCII <t 


0980 




5270 


STA 


MSG2A 




0990 


INC EGET+1 


5275 


LDA 


ttnSG2&$FF 


1000 


BNE L013 


5280 


LDY 


ttMSG2^$0100 


1810 


INC EGET+2 


5285 


JSR 


PRINTE 




1020 L013 


5290 


JSR 


YESNO 


;Y^N? 


1030 


INC EPUT+1 


5295 


BNE 


L014 




1040 


BNE L012 


5300 


LDA 


»«$80 


.-abort with 


1050 


INC EPUT+2 


5305 
5310 


STA 


STATS 


; error - 128 


1060 




JMP 


EXIT 




4000 


GS^n+ UERSION 


5315 


L014 






4018 




5320 


LDA 


«MSG1«$FF ;ciear sees 


4028 L012 


5325 


LDY 


ttMSGl^$ei0O 


4030 




5330 


JSR 


PRINTE 




4040 


SET THE LOMEM POINTER 


5335 


JSR 


GETNUM 




4858 




5340 


BCS 


L014 


; error? 


4060 LMP 


5345 


LDA 


FRO 




4070 


LDft wLflSTKSFF 


5350 


STA 


BUF2 




4888 


STft MEMLO 


5355 


LDA 


FR0 + 1 




4090 


LDft «LftST''S0100 


5360 


STA 


BUF2+1 




4100 


STft MEMLO+1 


5365 


ORft 


BUF2 




4110 




5370 


BEQ 


BOP04 




4120 


LDft ninSG&SFF 


5375 


BUPOl 






4130 


LDV «iriSG'S010O 


5380 


JSR 


PUTSEC 


;fill sectors 


4140 


JSR PRINTE 


5385 


INC 


SECNO 


;with zeros 


4150 




5390 


BNE 


BOP02 




4160 CU2e RTS 


5395 


INC 


SECNO+1 




4170 




5408 


BOP02 






4180 insG 


5485 


LDA 


BUF2 




4190 


■BYTE CR,CR,"The deuice" 


5410 


BNE 


B0P83 




4200 


.BYTE •• Bn: is now" 


5415 


DEC 


BUF2+1 




4210 


.BYTE •■ readSJ.-.CR 


5420 


BaP03 






4220 


.BYTE "Use the copy connand" 


5425 


DEC 


BUF2 




4230 


.BYTE " to access.". CR 


5430 


BIT 


BUF2+1 




4240 


.BYTE " ceg. COPY D:FILE." 


5435 


BPL 


BOPei 




4250 


.BYTE "B2: ". • J+128 


5440 


BOP04 






4260 




5445 


LDA 


no 




4270 
4990 


♦•= S2100 


5450 


STA 


SECNO+l 






5455 


STA 


HAXSEC 




5000 




5460 


STA 


MAXSEC+l 




5005 


HONDLER ftND HftNDLER TABLE 


5465 


LDA 


«tl 




5010 


FOR "B!" cMftKEBOOT) 


5470 


STA 


SECNU 




5015 


HftNDLER 


5475 








5820 




5480 


JHP 


EXIT 




5825 


HftNDLER TftBLE 


5485 








5030 




5490 


:HANDLER SUBROUTINES 


5035 1 


ITAB 


5495 








5040 


.UORD BOPEN-l 


5500 


; 1> Store load 


address and 


5045 


.WORD BCLOSE-1 


5505 


; end of load 


address 


5058 


.UORD NGFMT-1 


5510 








5855 


.UORD BPUT-1 


5515 


LODADR 






5868 


.UORD STftTUS-1 


5520 


PHA 




2 c a 1 c i ndex & 


5865 


JMP NOFNT 


5525 


TYA 




;store load 


5070 




5530 


SEC 




;addre5S & 


5075 


iHftNOLER UftRIABLES 


5535 


SBC 


»3 


;end of load 


5080 


( 


5540 


EOR 


»$FF 




5085 


iEftDER .BYTE S06 


5545 


TAY 






5090 


flOLDft .BYTE $80 


5550 


INY 






5095 1 


10LDX .BYTE $00 


5555 


PLA 






5100 ' 


5TATS .BYTE S0O 


5560 


STA 


CURMEM. Y 




5105 ! 


JECNO .UORD $01 


5565 


RTS 






5110 1 


lYTNO .BYTE SBO 


5570 








5115 1 


1AXSEC .UORD $00 


5575 


; 2J Get two 2-bMte 


5120 ] 


[NFOBY .BYTE $00 


5580 


; -load addresses 


5125 1 


1FLAG .BYTE $80 


5585 








5130 1 


tUNADR .UORD $00 2INTADR nust 


5590 


LDINFO 






5135 ] 


[NTADR .UORD $00 .-follow RUNADR 


5595 


LDA 


INKOBY 




5140 1 


.GftDftD .UORD $00 


5688 


BNE 


LOO? 




5145 1 


:URnEn .UORD $00 ;Lft5TAD nust 


5685 


LDA 


«4 




5150 i 


.ASTAD .UORD $00 .-follow CURHEII 


5618 


STA 


INFOBY 




5155 




5615 


LOO? 






5160 


HANDLER OPEN FUNCTION 


5628 


DEC 


INFOBY 




5165 




5625 


LDY 


INFOBY 




5170 1 


lOPEN 


5630 


LDA 


HOLDA 




5175 


LDA ttSOO ;ciear variables 


5635 


JSR 


LODADR 




5180 


5TA BYTNO 


5640 


LDY 


INFOBY 




5185 


STA SECNO+1 


5645 


BEQ 


LD03 




5190 


STA HAXSEC 


5650 


CPY 


«2 




5195 


STA MAXSEC+l 


5655 


BNE 


LD02 




5200 


STA MFLAG 


5660 


* 






5205 


STA RUNADR 


5665 


LDA 


CURMEM 


;checK for 


5210 


STA RUNADR+1 


5670 


CMP 


CURMEM+1 


;appended fi 


5215 


STA INTADR 


5675 


BNE 


LD02 




JULY 1989 













39 



5660 


CMP 


«SFF 


6148 


STA 


SECNO 




5685 


BNE 


LD02 


6145 


LDA 


BUF2+1 




5690 


LDA 


a4 


6150 


STA 


SECNO+1 




5695 


STft 


INFOBV 


6155 


JMP 


GETSEC 




5700 LD02 




6168 


LDI2 






5705 


JtIP 


EXIT 


6165 


JMP 


EXIT 




6710 LD03 




6170 


: 






5715 


JSR 


INRUAD 


6175 


; 6> Save run and 


i n i t ■ address 


5720 


BEQ 


LD02 


6180 


I 






5725 


BNE 


L008 


6165 


STIRAD 






5730 , 






6190 


JSR 


INRUAD 




5735 


3> Check for load file run 


6195 


BNE 


IROl 




5740 , 


or 


i ni t ■ address 


6208 


JSR 


CMPMEM 




5745 , 


If 


CURHEM & LASTAD 


6285 


BCC 


IROl 




5750 - 


are <S2E0 or >S2E3 


6218 


LDA 


CURMEM 




5755 . 


THEN Z=0 


6215 


AND 


*»S0F 




5760 


ELSE Z:=l 


6220 


TAY 






5765 






6225 


LDA 


HOLDA 




5770 ] 


:NRunD 




6238 


STA 


RUNADR, V 




5775 


LDA 


CURMEM+1 


6235 


INC 


CURMEM 




5788 


CMP 


LA5TAD+1 


6240 


JMP 


EXIT 




5785 


BNE 


IRA01 


6245 


IR01 






5790 ] 


[RA02 




6250 


JMP 


Loes 




5795 


CMP 


«2 


6255 








5800 


BNE 


IRA81 


6260 


; 7> Process header infornation 


5805 


EDO 


«SDF 


6265 


; for start of 


load file 


5810 


CMP 


CURMEM 


6270 


f 






5815 


BCS 


IRA82 


6275 


FSTSIX 






5820 


CMP 


LASTAD 


6280 


CPV 


a$84 




5825 


BCS 


IRA82 


6285 


BEQ 


FSSl 




5830 


LDA 


«SE3 


6290 


JMP 


F581 




5835 


CMP 


CURMEM 


6295 








5840 


BCC 


IRA02 


6300 


F551 






5845 


CMP 


LASTAD 


6305 


LDA 


«FM1&SFF ; 


spec if y 


5850 


BCC 


IRA02 


6310 


LDV 


«FMl^sei88 


; load 


5855 


LDfl 


«8 


6315 


JSR 


PRINTE ; 


infornation 


5860 


[Rnoi 




6320 


JSR 


VESNO 




5865 


RTS 




6325 


BNE 


F582 




5870 


: 




6338 


JMP 


FS81 




5875 


; 4> Check for load address 


6335 








5880 


; less than initial 


6348 


FS02 






5885 






6345 


LDA 


aFM2&SFF ; 


get sector 


5890 


I088 




6358 


LDV 


«FM2/S8180 


; count 


5895 


LDfl 


LOADAD+1 


6355 


JSR 


PRINTE 




5900 


CMP 


CURMEM*1 


6368 


JSR 


GETNUM 




5905 


BCC 


LF81 


6365 


BCS 


F502 




5910 


BNE 


LF82 


6378 


LDA 


FR8 




5915 


EDO 


LDADAD 


6375 


BEQ 


FSe3 




5920 


CMP 


CURMEM 


6388 


STA 


BUFl+1 




5925 


BEQ 


LF01 


6385 








5930 


BCC 


LF01 


6398 


FS03 






5935 


>02 




6395 


LDA 


WFM3&SFF ; 


set load 


5940 


Lon 


ttM5G6«SFF ;LDADAD>CURMEM 


6400 


LDV 


«FM3/S8180 


; address 


5945 
5950 
5955 
5960 
5965 


LDV 
JSR 
LDV 
5TV 
JMP 


uMSG6/'$O100 

PRINTE 

ttl6B 

STATS 

EXIT 


6405 
6410 
6415 
6420 
6425 


JSR 
JSR 
BCS 
LDA 
ORA 


PRINTE 
GETNUM 
F503 
FRO 
FR0 + 1 




5970 
5975 


; 51 Calculate sector and bute 


6430 
6435 


BEQ 
LDA 


FS03 
FRO 




5980 


; for new load address 


6448 


STA 


BUFl+2 




5985 






6445 


STA 


LOADAD 




5990 


.F01 




6450 


LDA 


FRO + 1 




5995 


SEC 


jFind offset 


6455 


STA 


BUFl+3 




6000 


EDO 


CURMEM 


6460 


STA 


LOADAD+1 




6005 


SBC 


LOADAD 


6465 








6810 


STfi 


BUF2 


6470 


F5 04 






6815 


LDfl 


CURMEM+1 


6475 


LDA 


»FI4&SFF ; 


set in i t 


6020 


SBC 


LOADAD+1 


6480 


LDV 


«FI4''S010O 


: address 


6025 


STfl 


BUF2+1 


6485 


JSR 


PRINTE 




6030 


LDA 


BUF2 ;caic bute 


6490 


JSR 


GETNUM 




6035 


' AND 


«S7F 


6495 


BCS 


FS04 




6840 


5TA 


BVTND 


6500 


LDA 


FRO 




6045 


LDX 


t»7 


6585 


ORA 


FR0 + 1 




6058 


L0O9 




6518 


BEQ 


FS05 




6855 


CLC 


; c al c sec tor 


6515 


LDA 


FRO 




6060 


ROR 


BUF2+1 ;diuide bw 128 


6528 


STA 


BUFl+4 




6065 


RBR 


BUF2 


6525 


LDA 


FRO + 1 




6878 


DEX 




6530 


STA 


BUFl+5 




6875 


BNE 


L009 


6535 








6080 


INC 


BUF2 


6540 


FS05 






6885 


BNE 


LFll 


6545 


LDA 


«»FM4&SFF ; 


set run 


6898 


INC 


BUF2+1 


6550 


LDV 


»«FM4^S0100 


: address 


6895 


LFll 




6555 


JSR 


PRINTE 




6108 


LDA 


BUF2 ;Load sec if dif 


6560 


JSR 


GETNUM 




6105 


CMP 


SECNO 


6565 


BCS 


FS05 




6118 


BNE 


LDIl 


6570 


1 DA 


FRO 




6115 


LDA 


BUF2+1 


6575 


ORA 


FRO + 1 




6120 


CMP 


SECNO+1 


6580 


BEQ 


Fsoe 




6125 


BEQ 


LDI2 


6585 


LDA 


«$4C 




6130 


LDIl 




6590 


STA 


B U F 1 + 6 




6135 


LDA 


BUF2 


6595 


LDA 


FRO 





40 



ANTIC SOFTWARE LIBRARY 



6680 


STA 


BUFl+7 




7060 


INC 


5ECN0+1 


6605 


LDO 


FR8 + 1 




7865 


LP04 




6618 


STfl 


BUFl+8 




7870 


JSR 


GETSEC 


6615 


; 






7875 


LDA 


tt0 


6628 


FS06 






7880 


STA 


BVTNO 


6625 


LDn 


tt8 




7885 


BED 


EXIT 


6630 


STft 


HEADER 




7090 






6635 


JSR 


PUTSEC 




7895 


L806 




6640 


JMP 


LDINFD 




7188 


JSR 


CMPMEM 


6645 


: 






7105 


BCS 


EXIT 


6650 


FS01 






7118 


JMP 


PUTSEC 


6655 


LDA 


HDLDA 


; get load 


7115 


; 




6660 


STfl 


LOADAD+l 


; address 


7128 


;HANDLER CLOSE FUNCTION 


6665 


LDA 


CURMEM 


; f roN file 


7125 


; 




6678 


STfl 


LOADAD 




7130 


BCLOSE 




6675 


LDA 


HDLDA 




7135 


BIT 


STATS 


6688 


DEC 


HEADER 




7140 


BPL 


BCL81 


6685 


LDV 


HEADER 




7145 


JMP 


EXIT 


6698 


CPV 


«4 


; V<4 


7150 


BCL01 




6695 


BCS 


FS87 


; no 


7156 


JSR 


PUTSEC 


6780 


JSR 


LODADR 




7160 


: 




6785 


JMP 


EXIT 




7165 


LDA 


«1 


6710 


F587 






7178 


STA 


SECNO 


6715 


CMP 


««SFF 


; 1 oad file? 


7175 


LDA 


««8 


6720 


BEQ 


EXIT 




7188 


STA 


SECNO+1 


6725 


LOfl 


WMSG5&SFF 


7185 


JSR 


GETSEC 


6738 


LDY 


«MSG5^S8188 


7198 


; 




6735 


JSR 


PRINTE 




7195 


LDA 


«MSG4&«FF ; sector 


6748 


LDV 


W168 


jerror if not 


7288 


LDY 


ttMSG4^$0188 : count 


6745 


STV 


STATS 


; load file 


7285 


JSR 


PRINTE 


6758 








7218 


LDA 


MAXSEC 


6755 


;6ET STATUS AND 


EXIT HANDLER 


7215 


STA 


FR8 


6768 








7228 


LDA 


MAXSEC+1 


6765 


STATUS 






7225 


STA 


FRe + 1 


6778 


EXIT 






7238 


JSR 


PNUM 


6775 


LDV 


STATS 




7235 


JSR 


BCLSUB 


6788 


TYA 




;Error in V 


7240 


BEO 


BCL03 


6785 


NDFNT RTS 




7245 


LDA 


MAXSEC 


6798 


; 






7258 


STA 


BUFl+1 


6795 


; 8> Clear output buffer 


7255 


/ 




6880 


* 






7268 


BCL03 




6805 


CLEAR 






7265 


LDA 


INTADR ; init. 


6810 


LDX 


«*S7F 




7278 


ORA 


INTADR+1 ; address 


6B15 


LDA 


*>$00 




7275 


BEO 


BCL84 


6820 


CLRl 






7280 


LDA 


«FM5«SFF 


6825 


STA 


BUFl.X 




7285 


LDV 


«FM5^S0100 


6838 


DEX 






7298 


JSR 


PRINTE 


6835 


BPL 


CLRl 




7295 


LDA 


INTADR 


6848 


RTS 






7388 


STA 


FR0 


6845 


; 






7385 


LDA 


INTADR+1 


6850 


; 9» Check for end of load 


7318 


STA 


FR0 + 1 


6855 


; C=e CURMEM 


> LASTAD 


7315 


JSR 


PNUM 


6868 


; C=l CURMEM 


<= LASTAD 


7328 


JSR 


BCLSUB 


6665 


; 






7325 


BEQ 


BCLe4 


6878 


CMPMEM 






7330 


LDA 


INTADR 


6875 


LDA 


LASTAD+1 




7335 


STA 


BUFl+4 


6888 


CMP 


CURMEM+1 




7340 


LDA 


INTADR+1 


6885 


BCC 


L003 




7345 


STA 


BUFl+5 


6898 


BNE 


L003 




7350 


; 




6895 


LDA 


LASTAD 




7355 


BCL04 




6988 


CMP 


CURMEM 




7368 


LDA 


RUNADR ; run 


6985 


L883 RTS 




7365 


ORA 


RUNADR+1 ; address 


6910 


i 






7378 


BEQ 


BCL05 


6915 


;HANDLER PUT BVTE FUNCTION 


7375 


LDA 


««FM6&SFF 


6920 


; 






7380 


LDY 


»«FM6''S0100 


6925 


BPUT 






7385 


JSR 


PRINTE 


6938 


STA 


HDLDA 


;save byte 


7398 


LDA 


RUNADR 


6935 


LDV 


HEADER 


;fron CIO 


7395 


STA 


FR0 


6948 


BEQ 


BP02 




7488 


LDA 


RUNADR+1 


6945 


JMP 


FST5IX 




7485 


STA 


FR0 + 1 


6958 


BPe2 






7410 


JSR 


PNUM 


6955 


LDA 


INFOBV 




7415 


JSR 


BCLSUB 


6968 


BNE 


INFll 




7420 


BEQ 


BCL05 


6965 


JSR 


CMPMEM 


;end of load? 


7425 


LDA 


M$4C 


6970 


BCS 


BP01 


; no 


7430 


STA 


BUFl+6 


6975 


INFll 






7435 


LDA 


RUNADR 


6980 


JMP 


LDINFO 




7440 


STA 


BUFl+7 


6985 


BP01 






7445 


LDA 


RUNADR+1 


6990 


JMP 


STIRAD 


;run or init? 


7450 


STA 


B U F 1 + 8 


6995 


L885 






7455 


s 




7000 


LDX 


BVTNO 




7460 


DCL05 




7085 


LDA 


HOLDA 




7465 


JMP 


PUTSEC 


7818 


STA 


BUFl.X 


;sawe in output 


7470 


; 




7815 


INC 


CURMEM 


;buf f er 


7475 


BCLSUB 




7020 


BNE 


L004 




7480 


LDA 


MFM7&SFF 


7825 


INC 


CURMEM+1 




7485 


LDV 


»FM7''*8ie0 


7830 


L884 






7490 


JSR 


PRINTE 


7835 


INC 


BVTNU 


:end of sector 


7495 


JMP 


VESNO ;V^N? 


7848 


BPL 


L006 


; ues 


7500 


* 




7845 


JSR 


PUTSEC 


;sauie sector 


7505 


il/'O SUBROUTINES 


7850 


INC 


SECNU 




7510 


; 




7055 


BNE 


LP04 




7515 


: 1> Read and write to disK 


JULY 1989 






- 









41 



7520 ; 






7525 GETSEC 




7530 


LDY 


«S52 


7535 


LDn 


«S40 


7540 


BNE 


DISKIO 


7545 PUTSEC 




7550 


LDn 


MAXSEC+l ; Check for 


7555 


BEQ 


L010 ; too Man« 


7560 


LDA 


MFLAG : load sectors 


7565 


BNE 


L018 


7570 


LDA 


«M5G3«SFF 


7575 


LDV 


»M5G3^S8100 


7580 


JSR 


PRINTE 


7585 


INC 


MFLAG 


7590 L010 




7595 


LDA 


MAXSEC+l 


7600 


CMP 


SECNO+1 


7605 


BCC 


PU02 


7610 


BNE 


PU01 


7615 


LDn 


SECNO 


7620 


cnp 


MAXSEC 


7625 


BCC 


PU01 


7630 PU02 




7635 


LDA 


SECNO 


7640 


STA 


MAXSEC 


7645 


LDA 


SECNO+1 


7650 


STA 


MAXSEC+l 


7655 PU01 


- 


7660 


LDV 


««S57 ; Use *<$50 


7665 


LDA 


«S80 ; for no-werifu 


7670 DISKIU 




7675 


STY 


S0302 


7680 


5Tn 


S0303 


7685 


LDn 


««S31 


7690 


Sin 


S0308 


7695 


LDA 


«21 


7700 


STA 


$8301 


7705 


LDA 


tt$80 


7710 


STA 


$0308 


7715 


LDA 


«S0F 


7720 


STA 


$0306 


7725 


LDA 


WBUFI&SFF 


7730 


STA 


S0304 


7735 


LDn 


«t0 


7740 


STn 


S0309 


7745 


LDn 


WBUFI^SOIOO 


7758 


STA 


$0385 


7755 


LDn 


SECNO 


7760 


STA 


$830A 


7765 


LDA 


5ECN0+1 


7770 


STA 


$030B 


7775 


JSR 


$E459 


7780 


Bni 


ERROR 


7785 


RT5 




7790 ERROR 




7795 


LDA 


$0303 


7880 


STA 


STATS 


7805 


TAV 




7810 


RTS 




7815 






7828 


2> Y^N - Result in accuHuiator 


7825 


Y 


= 1 


7838 


N 


- 


7835 






7848 ^ 


i-ESNO 




7845 


LDA 


»f$FF 


7850 


STA 


CH 


7855 1 


r-Nl 




7868 


LDA 


CH ;Get 1 character 


7865 


CMP 


«43 ;Y? 


7870 


BNE 


VN2 


7875 


LDA 


«1 


7888 


BNE 


YN4 


7885 1 


i'N2 




7890 


CMP 


«35 ;N? 


7895 


BNE 


YNl 


7900 


LDA 


«0 


7905 ' 


/N4 




7910 


PHA 




7915 


LDA 


«»$FF 


7920 


STA 


CH 


7925 


PLA 




7930 


HT5 




7935 






7948 


■ 3> Print the integer in FR0 


7945 






7950 1 


^NUM 




7955 


JSR 


IFP 


7968 


JSR 


FASC 


7965 


LDA 


INBUFF 


7970 


LDV 


INBUFF+1 


7975 


JMP 


PRINTE 



7980 

7985 

7990 

7995 

8080 

8885 

8018 

8015 

8020 

8025 

8030 

8035 

8040 

8845 

8050 

8055 

8060 

8065 

8070 

8075 

8080 

8085 

8090 

8095 

8100 

8105 

8110 

8115 

8120 

8125 

8130 

8135 

8140 

8145 

8150 

8155 

8160 

8165 

8170 

8175 

8180 

8185 

8190 

8195 

8200 

8205 

8218 

8215 

8220 

8225 

8230 

8235 

8240 

8245 

8250 

8255 

8260 

8265 

8270 

8275 

8280 

8285 

8290 

8295 

8300 

8305 

8310 

8315 

8320 

8325 

8330 

8335 

8340 

8345 

8350 

8355 

8360 

8365 

8370 

8375 

8380 

8385 

8390 

8395 

8400 

8405 

8410 

8415 

8420 

8425 

8430 

8435 



; 4> Get a nunber 
: result in FRO 

GETNUM 

LDA «S3e 

STA LBUFF 

LDX «1 

5TX HOLDX 
NOTCR 

JSR EGET 

LDX HOLDX 

INC HOLDX 

STA LBUFF, X 

CMP ««S9B 

BNE NOTCR 

LDA ttLBUFF&SFF .-Point to 

STA INBUFF ; ASCII string 

LDA «LBUFF''S0100 

STA INBUFF+1 

LDA no 

STA CIX 

JSR AFP ;A5CII to FP 

BCS GN01 ;error 



;Get a nunber 



;Store it at 
;$580 



JSR FPI 
GN01 RTS 



if C set 
;FP to integer 



5j Print text to screen 
Low bute of text in 
accuMuiator. Hish byte 
of text in V register 



PRINTE 
STA 
STY 
JMP 

EP02 

INC 
BNE 
INC 

nSGN 

LDA 
BEQ 
BMI 
JSR 
JMP 

EP04 

JSR 
JMP 

EPe5 



MSGN+1 
MSGN+2 
MSGN 

MSGN+1 

MSGN 

MSGN+2 

MSGN 
EP04 
EPOS 
EPUT 
EP02 

PNTCR 
EP82 



AND «$7F 
BEQ EP06 
JSR EPUT 

PNTCR 

LDA tt$9B 

JSR EPUT 
EP8e RTS 

JUMP TO SCREEN EDITOR 
PUT BYTE ROUTINE 

EPUT JMP EPUT 

;JUMP TO SCREEN EDITOR 
; GET BYTE ROUTINE 

EGET JMP EGET 



FMl -BYTE CR."Do uou wish to " 
■BYTE "speciftf the boot",CR 
.BYTE " sector infornation • 
.BYTE ■■ CV^NJ". •? + 128 

FM2 .BYTE CR. "Enter boot sector' 
• BYTE •• count ",128 

FM3 .BYTE CR. "Enter load " 
.BYTE "address ",128 

FM4 .BYTE CR. "Enter run " 
•BYTE "address ",128 

FI4 .BYTE CR, "Enter " 

.BYTE "initialization " 
.BYTE "address ",128 

FM5 -BYTE CR,"Load file " 

■BYTE "initiation address " 
.BYTE "= ",128 



42 



ANTIC SOFTWARE LIBRARY 



8440 


; 


8445 


FM5 . 


8450 


, 


8455 


, 


8460 


; 


8465 


FM7 . 


84?0 




8475 


, 


8480 


; 


8485 


hSGl 


8490 


. 


8495 


; 


6500 


M5G2 


8505 


; 


8510 


nSG2A 


6515 


. 


8520 


; 



BYTE CR,"Laad file •' 
BVTE "run address " 
BYTE ••= ".128 

BYTE CR. "Insert into " 
BYTE "boot sector cV^N>" 
BYTE ■?+128 

■BYTE CR,"Haw nanu sectors' 
BYTE " to Clear", •?+128 

• BYTE CR."naKe disK «*" 

■BYTE S31," into boot" 
BYTE " disk tY^N J " , ' 7+128 



8525 
6530 
8535 
6540 
6545 
6550 
8555 
8560 
8565 
8570 
8575 
6560 
8585 
8598 
6595 
6600 



MSG3 .BYTE CR, "Sector count" 

•BYTE " exceeds 25", '5+128 

MSG4 .BYTE CH,"The boot Sector' 
•BYTE " count is ",12B 

M5G5 .BYTE CR,"Not a load" 
.BYTE " f il", •e+128 

I1SG6 .BYTE CR, "Specif ied load" 
.BYTE " address is",CR 
•BYTE " is not lowest" 

BYTE " addres of fil" 
.BYTE •e+128 

LAST .END 



Tech Tips 



GOTOLIST 



BY GREGG HESLING 



^ 



Don't type the 
TYPO II Codes! 



DF 

an 

QH 
GF 



BP 
LB 
UK 



JU 
HS 



KS 



CN 



HC 



UG 



e REM 
REM 
REM 

1990 C 
in fl$c 

1991 L 
LINE = 

1992 I 
GOTO 

1993 P 
CPKIO 
Kl>=12 

1994 R 
F PK0< 

1995 I 
= 23 OR 

1996 P 

1!IF P 

":G0 

1997 G 
F = INT c 
'^tPK2- 

1998 n 
fi + 19!C 

THEN 

1999 C 
0T0,11 
30, ON, 



GOTOLIST 

BY GREGG HESLING 

cc>198e, ANTIC PUBLISHING 

LR ! A=INTccFREC0> -1000J^19>K19! 

A1,B$C71 :AS = AS<A>=AS:A5C2> = 

B=PEEKC136>+PEEKC137»«2 56 
INE=PEEKCB>+PEEKCB+1»»256:C=1:I 
31990 THEN ? A$ : END 
F C=PEEKcB+2> THEN B=B+PEEK<B+2 
31991 

K0 = PEEKCB + C> !PKl = PEEKtB + C + lJ sIF 
14 AND PKK1281 OR cPK0 = 27 AND 
8J THEN 31999 

ESTORE !FOR E=l TO 8:READ D.B«: 
>D THEN NEXT E:GOTO 31999 
F PK0 = 30 THEN D=:PEEK cB + C + 2> : D= c 
D=24J*2:C=C+D:IF D=0 THEN 3199 

K1=PEEKCB+C+1J !PK2=PEEKCB+C+2J - 
Kl>=128 OR PK2<0 THEN A$cA>="UA 
TO 31998 

=0:FOR D=3 TO PK2 : E=PEEK tB+C+D J 
E/16> !G = G+c tE + F»10-F«16J»INT C10 
Di+0.5>> :NEXT D : AS cA> =STRS cG> 
SCA+6J=BS: AS tA+14>=5TRScLINE> :A 
=C+2+6«cPKl<128» ! IF PEEKcB+C>=l 
31996 

= C + l!GOTO 31992:DATA 4, LIST. 10. 
.GO TO. 12. GOSUB. 13. TRAP, 27. THEN 
35. RESTORE 



Recently I purchased an unprotected BASIC program 
and found it was mostly "spaghetti code" — a mindless 
collection of GOTO, GOSUB, and TRAP statements! I im- 
mediately decided to re-write it, but it was too long and 
too complicated. 

I was deathly afraid to change any lines, fearing another 
line would try to call it! Because it was a BBS program, 
I couldn't have some user get a READY prompt while I 
wasn't home! 

In my typical fashion of trying to write programs which 
I understand nothing about, I seem to have succeeded with 
GOTOLIST 

GOTOLIST will search any BASIC program and find all 
line numbers referenced by other program lines. For ex- 
ample, GOTOLIST would save line 10 if it is: 

JULY 1989 



10 GOTO 100 

Although GOTOLIST is small, it's not stupid. If it en- 
counters the following line: 

10 GRAPHICS 0:? "HELLO."; :INPUT AS:IF AS = "NO" 
THEN ? "OK":GOTO 100 

all it saves is: 10 GOTO 100. 

Type in the listing below, GOTOLIST. LST, check it with 
TYPO II, and list a copy to disk with the command: 

LIST "D:GOTOLIST.LST",31990,31999 

Now type NEW and LOAD a copy of that favorite pro- 
gram you've been dying to modify but are afraid of des- 
troying. (Never modify your original copy — you're just 
asking for trouble!) 

First, make sure your program doesn't use any line num- 
bers above 31990. Then ENTER "D: GOTOLIST. LST" 
[RETURN] and type GOTO 31990. In a short while (It takes 
about a minute to check your program, so bring a good 
book if your program is long) GOTOLIST will display its 
list of lines which call other program lines. 

If you want to see the list again, type PRINT AS, or 
LPRINT k% for a printout. For best results, put your printer 
in 76-column mode by typing: 

LPRINT CHRJ!(27);CHRS(81);CHRS(76) 

Your printer may require a different code — consult your 
printer manual. 

Now, before you change any line, just a glance at the 
list will insure nothing is trying to use that line for other 
purposes! If something is, however, just one more glance 
and you'll see which line is the culprit, and you can 
modify to your heart's content! 



Antic pays $25 for every original and exclusive Tech 
Tip submission that we publish. Send your 8-bit or ST 
disk and printout to: Antic Tech Tips, 544 Second 
Street, San Francisco, CA 94107- Tech Tips welcomes 
very short programs that demonstrate the Atari's 
powers, simple hardware modifications, or useful 
macros for popular software. 



43 



Antic 



SOFTWARE, ETC. 



ENJOY quality PD software! Games- 
productivity — utilities — more! Demo disk, 
S3.00. . .catalog FREE. Homemade, 6011 Hyde 
Park Circle, Suite 207, Jacksonville, FL 32201 

MUSIC LOVERS! MIDI YOUR ATARI! We have 
music software, Midi interfaces, and hundreds 
of pre-programmed songs available for the Atari 
XL/XE and Atari ST. For catalog send $1.00 to 
The MIDI Inn, P.O. Box 2362, Dept. AN7, West- 
raont, IL 60559. Specify your computer, music 
software and Midi instruments on hand. (9/89) 

CHRISTIAN SOFTWARE and PUBLIC DO- 
MAIN PD as low as S1.80/disk. Send SASE for 
Catalog. AGAPE GAMES Disk five Christian 
Games S12.95 (8 BITS W/48K). Dan Sharpe 
GPO Box 911 Chicopee MA 01021 (9/89) 

USED 8-BIT EQUIPTMENT, SOFTWARE, AC- 
CESSORIES, SEND S.A.S.E. (45 CENTS) BUSI- 
NESS SIZE, OR 45 CENT STAMPS FOR PRICES 
AND HUGE LIST. L. CHRISTOFFER, 1806 
PATRICK, BURLINGTON, WA 98233 (8/89) 

SI gives you MORE for LESS! Our SUPERIOR 
ATARI 800/XL/XE P-D Theme CoUeaions aver- 
age 35 programs (7<t each!)per D-S disk. Ship- 
ping FREE. Send only $3.00 for MLX GAMES' 
GREATEST HITS (our Most Popular title)— 
receive Si's newest Catalog FREE! Catalog 
alone/ S2.00. SASE for Disk Listings only 
SOFTWARE INFINITY, 642 East Waring Ave- 
nue, State College, PA 16801 (8/89) 

****** 

The A Exchange — A Users Newsletter for ALL 
Atari Owners. Send SASE for FREE Issue. The 
A Exchange, RO. Box 25852-A, Fresno, CA 
93729. (8/89) 



EXCELLENT PD SOFTWARE FOR 800/XL/ 
XE. Large selection, low prices, and fast ser- 
vice. Send SASE: CLASSIC SOFTWARE, PO 
BOX 373, RUNNEMEDE, NEW JERSEY 08078 

(8/89) 

NEW 800/XL/XE SOFTWARE! An Interna- 
tional Collection of Shareware and Public 
Domain programs for the discriminating Atari 
owner. Every disk Guaranteed! Dependable 
world-wide service. Low prices! Free descrip- 
tive catalogue. BELLCOM, Box 1043-A, Peter- 
borough, Ontario, Canada K9J 7A5 (7/89) 

****** 
FREE CATALOG of one of the worlds largest 
and best oiganized colleaion of public domain 
software for the Atari 800/XL/XE. Over 300 
disks, fast dependable service, and very low 
prices! ComputecActive, Box 893-A, Clinton, 
OK 73601 (7/89) 

Atari 800/XL/XE public domain disks. High 
quality disks, fast service, free list. High qual- 
ity disks, fast service, free list. 1st Byte, PO Box 
130822, Tyler, TX 75713 (8/89) 

250+ DS/SD DISKS OF PD SOFTWARE FOR 
YOUR ATARI 8-BIT. PLEASE SEND «3 TO: 
AAPDS 6-18TH EDGEMORE, HUTCHINSON, 
KS 67502. (8/89) 

Public Domain Software— ST S4/Disk, 
800/XL/XE S3/Disk. Largest ST Selection. The 
Atari ST Book 816.95. Fast Service, Visa/Master- 
card, FREE catalog— Specify Computer. BRE 
Software, 352 W. Bedford, Suite 104-A, Fresno, 
CA 93711. (800) 347-6760 (1/90) 

DINO'S ROLL YOUR OWN 8-BIT P.D. 
SOFTWARE Super Selection, Great Prices, 
send SASE for listing, DINO'S RYO SOFT- 
WARE, 664 W Arrow Hwy, Suite 197, San 
Dimas, Calif. 91773 (7/89) 



****** 

Stop overpaying for P.D. Software!!! ALL 8-bit 
disks only $2,00 each, ST only S3.00. Quan- 
tity discounts, great selection. Specify com- 
puter. Send large SASE: MWPDS, 890 N. 
Huntington St., Medina, OH 44256 (7/89) 

STOP! LOOK! S4,000/month with computers. 
Homebased. Proven. No experience/capital. 
Guaranteed. Free details. MacKenzie, Box 
91181— PCC, Pasadena CA 91109 (7/89) 

AGAPE GAMES-5 CHRISTIAN GAMES. 

KINGS GLORY Arcade like Adventure with 26 
mazes and a maze maker. BIBLE WORD 
SEARCHER with 30 puzzles and a puzzle gener- 
ator. Plus 3 games that teach the Books of the 
Bible. For Atari 8-bit (requires 48K-Hdisk) 
S12.95-Daniel Sharpe, GPO 911, Chicopee, MA 
01021 (7/89) 

****** 
BATTERY BACKED UP RAMDISK. Never 
lose your memory. Boot from Ramdisk! No 
installation. Ramdisk cartridge plugs into Atari 
400/800 or XL/XE. 32K 89995, 64K SI29.95, 
192K S249.95 Certified check. Money order, 
VISA accepted. CANOE COMPUTER SER- 
VICES, 11006-155 St., Edmonton, AB, T5P-2N3 
Phone (403) 437-4619 (8/89) 

****** 

BEST PD DISKS/PRICES— fastest service— 
FREE bonuses— 8-bit/ST. Automatic DISK-A- 
MONTH program. Full disks less than $1.50 
each. Super sample disk with catalog $3. 50. 
Specify computer. PATNOR, POB 370782, El 
Paso, TX 79937. (8/89) 

Your Ad Could Appear Here 



Advertisers 
Index 


ANTIC 


RAGE NO. 
.46,47 

2 

....10 

7 

. ... 16 
A 


AMERICAN TECHNAVISION 

B & C COMPUTERVISION 

COMPUTER SOFTWARE SERVICE . . 

SAN JOSE COMPUTER 

START 


TERRIFIC SOFTWARE BC 

This list is provided as a courtesy to our advertisers. ANTIC does not 
guarantee accuracy or comprehensiveness. 



Advertising 
Deadlines 



September 1989 

Insertion Orders: May 31 
Artwork: June 7 

On Sale: Lost week of July 

October 1989 

Insertion Orders: June 30 

Artwork: July 7 

On Sale: Last week of August 

November 1989 

Insertion Orders: August 1 
Artwork: August 8 

On Sale: Last week of September 



SUPER BONUS PROGRAM 
on Antic Disk! 



You get even more value when you get the Antic 
disk... a Bonus Program that's too large a type-in 
program to fit in the magazine. 

Plus you get all 1 72K of this month's Anti( programs 
on disk. Great 8-bit software without typing! 

Order your disk now! 
Phone toll-free: 
1-800-234-7001 

(Visa/Mastercard orders) 

Ask for ADS789 




More affordable 
than ever... 

Subscribe to Antic with Disk for 

ONLY $29.95! ':^"' 



Get 6 issues of Antic with 
disk for tlie super low price 
of $29.95. It's so muclT 
easier on your checkbook! 

Antic's disk is your best 
source of continued 8-bit 
software support. 



Subscribe nowl 

Call Toll-Free: 1-800-234-7001 

Visa/Ma.stercard orders only 




BUY 



SELL 



TRADE 



SWAP 



Antic Classifieds 

544 Second Street, San Francisco. C:a y^OI' 
Telephone (41=.} OS-^^OSK^T 



Name 


Company 


Addrcs.s 


PVionc- 


City/Suue/Zip 


MastfrCardA'isa Number 


[■xpirailon Date 



.SignLitiirtr 

Enclosed is m\- p;i\ilien[ for S_ 



n^(s) Ad ID .^ppcii 



RATE: SI. 00 PER WORD— twenty (20) word minimum. 

BOLDFACE: Add S7.50 per line for Ixildface word.s or add $40.00 for tlie entire ad .set 
in boldface (an\' number of lines). 

STARS: Add S6.5() for one (1) line of six (6) stars •••••• at top of ad. 
TERMS: Prepa\'ment is required. Check, Money Order, Visa or MasterCard is 
accepted. Make check payable to Antic Publishing. 

FORMS: .Ads are subject to publisher's approval and MUST BE TYPED. Please underline 
words to be set in boldface. 

GENERAL INFORMATION: AdvertLsers using Post Office Box numbers in their ads must 
supply permanent address and telephone numbers. Ad will appear in the next avail- 
able i.ssue after receipt unle.ss otherwise specified. 

DEADLINE: 90 days prior to ctjver date (e.g., December 1988 closes September 1, 
1988 — December issue on sale November 1, 1988). 

Clip this coupon, attacli to typewritten copy and send with remittance to address on 
the left. 

HANDWRITTEN COPY WILL NOT BE ACCEPTED 



AN AD IN ANTIC REACHES MORE THAN 100,000 SERIOUS ATARI USERS 



BACK ISSUE 



Complete Your Atari Toolkit' 



SAVE 25% TO 35% 



How To Order: 



Simply give the Order Numbers of the 
issues you want, and include the letter 
corresponding to the following selections: 

A- magazine & disk 
B- magazine only 
C- disk only 



Example: 
& disk" 



lA- is for "April 1983, magazine 



If no letters are indicated in your order, we 
will automatically send you the magazine 
only (B). 



Prices: 



Magazine & Dislc 
Magazine only 
Dlsli only 



1 To 5 If you order more 

Issues than 5 Issues 

$7.00 each $6.50 each 
$3.00 each $2.75 each 
$5.00 each $4.75 each 



Please include shipping & handling charges: 
1 to 5 issues: $1 for each issue 
6 and over : $ 5 plus 50c for each 
issue over 5. 

FOR ORDERS ONLY CALL TOLL- FREE 
(800) 234-7001 (7-5pm PST.) 

MasterCard & Visa Only 

Or send your check to: ANTIC BACK ISSUES 
544 Second Street San Francisco, CA 94107 
California residents add 6 1/2% sales tax. 



Back Issue Order Form 



Order # 



Selection 
A, B, or C 



Order # 



Total Issues Ordered: 

No. Issues of Sel. A: 
No. Issues of Sel. B: 
No. Issues of Sel. C: 



1 to 5 



Total Issues 
Ordered: 

6 & over: 



X $7 ea, 
X $3 ea. 
X $5 ea 



X $6.50 ea. 
X $2.75 ea. 
X $4.75 ea. 



Selection 
A, B, or C 



Total $ . 

Shipping & handling $ _ 

Amount enclosed $_ 



□ Check Enclosed Q VISA Q MasterCard 

Name 

Address 



City. 



state 



Zip. 



Credt Card # 
Exp. Date 



Canada, Mexico and all other foreign add $1. 
per issue. Payment in U.S. funds must 
accompany all foreign orders. California 
residents add 6 1/2 % sales tax. 

^IW^^^I^ The ATARI Beiource 



Missing any issues? Looking for those great utilities, 

games, and reviews? You'll find it all right here! 

Copies are limited, so order today! 



ORDER # 



ISSUE 



1 April 1983: Games— 3-D Maze, Voyeur (NoDtsk) 

2 May 19S3: Telecomputing — Microids, 

Tele Chess (no Disk) 

3 June 1983: Databases— Stargazing, 

Dancin' Man (No Disk) 

4 July 1983: Adventure Games — Dragonsmoke, 

Shoot-em-up Math 

5 August 1983: Graphics— 3-D Fuji, Keystroke 

Artist 

6 September 1983: Education— P/M Tutor 

7 October 1983: Sports Games — AutoCassette 

8 November 1983: Sound & Music— Air Raid, 

Casting Characters 

9 December 1983: Buyer's Guide — 

AUTORUN.SYS, Automate Player/Missiles 

10 January 1984: Printers — Pocket Calendars, 

Screen Dump 

11 February 1984: Personal Finance— TYPO, 

Gauntlet 

12 March 1984: International Issue — DiskRead, 

Poker Solitaire 
IS April 1984: Games — Risky Rescue, 

Math Wizard 

14 May/June 1984: Exploring XL Computers — 

Escape from Epsilon, Scroll to the Top 

15 July 1984: Communications— AMODEM, 

BASIC Animation Secrets 

16 August 1984: Disk Drives — Horseplay, Recall 

17 September 1984: Computer Graphics — 

Graphics Converter, Olympic Dash (no Magazine) 
IS October 1984: Computer Learning — Bouncing 

Ball, Antic 4/5 Editor/ Animator 

19 November 1984: Computer Adventures — 

Adventure Island, Advent X-5 

20 December 1984: Buyer's Guide— Infobits, 

Biffdrop 

21 January 1985: Super Utilities— TYPO II, 

DISKIO 

22 February 1985: Finances — Home Loan 

Analyzer, Drum/Bass Synth 
2S March 1985: Printers— Kwik Dump, Font 

Maker 

24 April 1985: Computer Frontiers— Dot Matrix 

Digitizer, Speech Editor 

25 May 1985 : New Super Ataris— Son of Infobits, 

Arena Racer 

26 June 1985: Computer Arts — View 3-D, 

The Musician 

27 July 1985: Computer Challenges— Miniature 

Golf, Guess That Song 

28 August 1985: Telecommunications — Atari 

'Toons, Pro*Term 

29 September 1985: Power Programming — 

One-Pass Disk Copy 130, Crickets 



ORDER # 



ISSUE 



30 October 1985: Mind Tools— Graph 3D, GEM 

Color Cascade 

SI November 1985: New Communications— 

TYPO II Double Feature, 130XE Memory 
Management 

32 December 1985: Shoppers Guide— DISKIO 

Plus, Box-In 

33 January 1986: Atari Products are Back- 

Appointment Calendar, Dungeon Master's 
Apprentice 

34 February 1986: Printer Power— T-Shirt 

Construction Set, Forth Escapes 

35 March 1986: Practical Applications— Lunar 

Lander Constructor, Lie Detector 

36 April 1986: Computer Mathematics— Fractal 

Zoom, 3-D Fractals 

37 May 1986: 4th Anniversary— Digital 

Gardener, Molecular Weight Calculator 

38 June 1986: Summer Computing — Weather 

Wizard, Bomb Squad 

39 July 1986: Computer Arts— Amazing Card 

Shuffler, Grafcon ST 

40 August 1986: Online Communications — 

Ultraf ont, Floppy Filer 

41 September 1986: Weather— WEFAX Decoder 

(8-bit/ST), BASIC Tracer 

42 October 1986: Hard Disks— Video Stretch, 

TYPO ST 

43 November 1986: Personal Finance — Budget 

dataBASE, V-Graph 

44 December 1986: Shoppers Guide — Stepper 

Motors, Nuclear Waste Dump 

45 January 1987: Talking Atari— Talking 

Typewriter, Rebound 

46 February 1987: Word Processing— SF 

Fogger, Electric Charlie! 

47 March 1987: Dvorak Keyboard, 

Multi-AUTORUN 

48 April 1987: — Designer Labels, Taxman 

49 May 1987: 5th Anniversary — A-Rogue, Poker 

Slot Machine 

50 June 1987: Animation — Verbot Commander, 

Citadel 

51 July 1987: Print Anything— Ghost Writer, 

Your Net Worth 

52 August 1987: Atari Muscle — Sideways 

Spreadsheet, Diamond Dave 
5S September 1987: Work/Play— Mighty Mailer, 

Maximillian B. 

54 October 1987: Football Predictor— Antic 

Prompter (8-bit/ST), Spelling Checker 

55 November 1987: Practical Applications— 

Critical-Path Projects, WYSIWYG Cassettes 

56 December 1987: Print Holiday— E S. Envelope 

Maker, Antic Publisher 



TERRIFIC SOFTWARE PRESENTS 

TWO NEW, SENSUOUS GAME TITLES 



Look out, Indiana Jones! 
Step aside. Bogie! 
Crash Garrett's in town! 



Don't wait 'till Sunday to catch-up on 
your favorite action comic — play 
CRASH GARRETT insteadl 

No other adventure game is quite like 
this... 




Let ace flyer CRASH GARRETT escort 
you through Hollywood in the '30s to 
rescue sultry, sexy gossip columnist, 
Cynthia Sleeze, from the sinister Nazi 




mastermind Baron 
von Engel Krul 
and his cronies. 
Help CRASH stop 
this perverse Nazi 
spy-ring from kid- 
napping glamor- 
ous, American 
beauties to use as 
breeding stock for an Aryan race of 





superhumans. Be the voice in 
CRASH'S head as he encounters ad- 
venture after adventure with a whole 
group of wacky, depraved characters 
including Caleb Thorn, psychoanalyst 
to the stars, and Lotta 
Linebacker, a female 
wrestler who knows what 
she wants from a man! 

CRASH GARRETT is 

style and pizzazz — an 
animated comic book 
with a slick, continential 
look. It's about as much 

terror, intrigue and suspense you'll 

want from any game! 



Play Stir Crazy With Bobo 

Your idea of "doing time" will definitely change! 



Had a little too much violence lately? 
Still want fun and action? Well, grab 
your joystick and join poor Bobo in six 
of the most graphically amusing 
adventure games ever on disk. 




Bobo's in prison— INZEESLAM- 
MER — where he spends most of his 
time performing menial chores and 
planning his escape. Bobo's no penal 
pushover! 

Bobo starts his day feeding porridge 
to hungry, irritable prisoners. Don't 

CRASH GARRETT and STIR CRAZY with Bobo are licensed 
Terrific Software is a trademarl<: of Antic Software. *Atari ST 




let him get too befuddled, or else he'll 
end up with the porridge bucket on 
his head. 

K.P.'s next. Speed 
is the key here. 
Don't let Bobo get 
buried underneath 
a pile of spuds! 

An exhausted Bobo 
tries to catch up on 
his beauty sleep, but 
is constantly interrupted by the relent- 
less snoring of his cell mates. 



Finally Bobo makes his escape and 
hurtles off into the sunset, right onto 
electric train cables. Bobo needs some 
pretty fancy footwork to avoid the 
pulsating current! 





Available for Atari ST* and 
Amiga® Computers at your 
favorite store. To order by 
phone, call 800-234-7001. 

CRASH GARRETT— *39'^ 
STIR CRAZY zvith Boho— *34'5 



Terrific Software, 544 Second St., San Francisco, 
CA 94107 (415) 957-0886 



trademarks of Infogrames. Terrific Software is the exclusive distributor of infogrames products in North America, 
is a registered trademark of Atari Corp.; 'Amiga® is a registered trademark of Commodore-Amiga, Inc. 



MA9S