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