S P A C E

NEWSLETTER February, 1996

President's Corner

By Mike Fitzpatrick

The delayed Christmas Party was a great success. The feedback I've been seeing on the BBS and some of the comments at the party meant to me all had a good time.

There have been some comments on the BBS to have an impromptu pizza party. We used to do that in the past, after the meeting, but if the membership wishes we can have it catered by Dominoes or Pizza Hut. Something to discuss at our next meeting in February. If we do pursue that course of action a couple of issues need to be addressed; such as:

Speaking of the Treasury, how does an auction of personal items sound with a percentage of the sale earmarked for the treasury. We could have the auction with the owner/seller determining minimum sale price; to include also the percentage to the treasury. That way nobody is out, treasures are moved around, and the club benefits a little. Again something to discuss at a later time.

To the members in general; aside from the D.O.M. what type/kind of demo do you wish to see? This could be from setting up a hard drive to the use of a particular program, etc.?

I've been in contact with Bob Klass of K-Products and he's working on a CD ROM for the 8-bit with shareware/public domain software included.

I haven't been able to make a good connection with SCAT but am still pursuing a trip to see them if a direct connection is made. I estimate a trip down on Friday and return on Sunday will be $200 each; considering hotel, meals, and shared gas costs.

See you all in February and stay warm.

BBS Report

The BBS is slowly coming back on line and by the time you read this it should be fully operational.

The cost of accessing an Internet server for e-mail hasn't been finalized. I will try and get together with Craig Peterson and discuss who he uses and find out from the server what an account will cost. Then we need to contact K-Products and Steve Carden to see if we can modify/alter the BBS software. We need their permission for this evolution as we are only licensed to use their software/program. I would expect that it would be cheaper to access the Internet e-mail through Flight Line or acquire the 80 column term program(s) and gain access to the server on an individual basis. More as contacts are made.

Minutes of Space meeting

January 12th, 1996

Meeting was opened by club president, Mike Fitzpatrick. Mike welcomed members to the Space meeting at 7:35 PM.

OLD BUSINESS Mike Fitzpatrick talked about the cancellation of last month's Space meeting because of the bad weather.

NEW BUSINESS Club member asked the BBS SYSOP when the BBS would be up again. SYSOP reported that the BBS was up again, but files for the system would have to be reloaded. This would take time. Bearings in old SEAGATE HARD DRIVE failed. Mike also reported BUG in F-mail found.

Mike remarked the December minutes were in order and Larry Serflaten's article was appreciated.

Mike said he has been in communications with a Chicago Atari group. Letter from a person with a Atari CADD program question. Also said Bob Kloss is alive and well, sends greetings. Version 5 Pro is out.

Rich Mier and Lance Ringquist will give a talk on CD ROM for the 8-bit user in the future.

E-Mail on the INTERNET for Atari 8-bit users was also talked about.

TREASURER REPORT Greg Leinter said the treasury has taken a beaten. Besides no meeting in December 1995 and no sales, there is 4th quarter room rent, post office box, newsletter, and BBS cost.

Greg Leinter also reported that MID WINTER MADNESS Officials would like Space club to participate at show in February 1996. Cost of a booth is $16. Mike Fitzpatrick asked if anybody would like to represent Space club at show. Mike Schmidt, club newsletter editor said he would like to, but he will be celebrating his 25th Wedding Anniversary in Hawaii. He was congratulated for making 25 years.

Greg Leinter also said room rent for the Space club would be increasing from $90 to $105. But instead of 2 hour, we could use room for 3 hours a meeting.

Club president ended meeting by telling membership LET'S PARTY, LET'S GO!

Meeting adjourned at 7:55pm.

Mike Weist Club Secretary

Treasurer's Report by Greg Leitner

What happened?? Just when the Club was beginning to get momentum, we fell flat. The cancellation of the December Xmas party meeting was very unfortunate but it couldn't be helped. I would have thought that members would have been very anxious for the January meeting. Only about a dozen members showed up for our belated Xmas party, and even with so few members we still had a great spread of food and a lot of leftovers.

It doesn't take a genius to figure out that missing a meeting really messes up our financial picture. We had to pay for the room rental that we didn't use and also for our regular monthly newsletter & BBS expense. Also we got socked with having to pay for a half-year fee for our P.O. Box rental. All these expenses and no receipts to offset any of them!

At least in January we took in $100.00 thanks to three membership renewals and many DOM sales. Of course we had our usual monthly expenses and so at the end of January 1996 our bank balance stands at $410.00 down about $150.00 from my last report in November.

Please reassure me that the January meeting was just an exception by marking down on your calendars the 9th of February as the day you will be at the next meeting. Remember, that you are the most important member that this Club has.


||| "From a saved backup...."
||| By: Ron Whittam
/ | \ GEnie: EXPLORER.4 Internet: whittam@primenet.com
//// Day In, Day Out........ ln this column I hope to foster communication and support for 8-bit and ST computer owners... presenting a positive and directive approach. This will help to strengthen the users group base and encourage the executive element.

If you have a question you would like to see answered, or a topic you would like to see covered; send me an EMail!

If the topic of computer conversation isn't the Internet, it's about some new and innovative operating system. Recently Microsoft unleashed its newest creation on the world, Windows 95. I read a post on the Internet that touted the new functions of Win95, such as the multitasking changes, the file manager, plug and play, and other nifty features, the author summed it up with, "Bill, Welcome to 1985." Yes, 1985 technology has finally made it to the masses. Back in 1985, ten years ago, similar technology was utilized by Digital Research, Atari, Commodore, and Apple (and lately, even IBM). But it took a media-using company like Microsoft to sell it on a world-wide scale.

//// It's All in the Wrist........ The developers on the Atari platform have not stopped developing newer and more innovative software packages and system enhancements. These programs will even run on computers purchased in 1985. You can't say that about Microsoft's accomplishment. A few of these new operating systems and operating system enhancements have been quietly reported in the few Atari magazines available on the market: MagiC and EASE - multi-tasking OS; Geneva - Multi-tasking, and NeoDesk; AtariNOS - Atari TCP/IP; MiNTOS - UNIX-like environment; MultiTOS - Atari's GEM multitasking OS based on MiNT; OMEn - cross-platform multitasking system, and others. These are designed to meet the needs of the 1990's and beyond.

Hardware devices like 4x CD-ROMs, scanners, multi-sync monitors, high-speed modems, MIDI components, and other devices can be easily connected to the Atari computer (even the older Atari ST, circa 1985). Recently, I was called upon to install software on an IBM PS/2 computer. The person called me because I had spent a few hours, years before, showing them how to use their Atari. While fixing the configuration and getting the word processing program tweeked to run efficently, I was asked, "Why do you like Atari computers so much when you know so much about IBM compatables?" (I wondered if this was a trick question). I responded by pointing out that I liked the ease of use and the functional aspects of the Atari. I mentioned, "for instance, this new HP printer you have just bought can be hooked up to your Atari, and your current Atari programs can print to it." She was surprised. One reason they bought the IBM computer was because they bought the new printer. They didn't think an old computer would work with it.

Running quality software is easy. Most freeware and shareware products on the Atari platform rival the commercial offerings on any other computer platform. Some argue that the Public Domain (PD) databases (free and shareware programs) of other platforms have so many more programs then PD databases on the Atari platform. This may be true. I have waded through (and download) many useless or inadequate programs from those "other" databases. When trying to find a what your looking for in an Atari PD database, you don't need to look far. Most every program will not only do what you need done, it will usually do even more.

//// Reality Check........ Ok, ok. You are thinking, "he's preaching to the choir." Not so. I have run across Atari users who are keeping their Atari and using it with a great deal of "other platform" envy. but who can't afford to make the cross-over. I am here to say, you don't need to. For a lot less money, you can purchase commercial or shareware Atari programs and commercial hardware enhancements to make your Atari the envy of your IBM touting friends. You can feel confident that you have a quality machine that can "get the job done."

I was also asked, by the forementioned person, why I spent so much time consulting personal and business home computer owners who had IBM compatable machines, and so little time with Atari owners. Aside from the ratio factor, IBM types need the help - Atari owners don't. Atari owners, however, need information. We always seem to know what is happening in the other realm because of News, media-hype, advertising, and the like. But Atari owners, like this solitary school teacher, are often "in the dark" about the advancements of the Atari platform. They believe the Atari they own is obsolete and not usable. They become very surprised at the notion that it is not. And are often awestruck at the proof. In my last article, I mentioned a PC user group officer to whom I showed an Atari TT during a swapmeet. He said he thought Atari had disolved and that they had only made game machines (he still had one). He was unaware of the Atari ST, STE, TT, and Falcon series of computers. The Eagle advertisements we were handing out shocked his socks off.

As a user group member (if you are not one, be one - if you don't have a user group - start one), the dissemination of information and instruction of the masses falls to you. Recently, two of our user group member's letters to the editor (about Atari computers) have been printed in the local paper. Our user group editor makes frequent contributions to a local computer rag called, Computer Solutions. We are doing what we can in our corner of the world. Do what YOU can in yours.

//// Doing it Right........ There are ways to go about doing this. Be innovative. Have direction. First, find other Atari computer owners. A year ago, we went on a campaign to locate the 1,000 people who had bought Atari computers from one computer store in the Boise area during the 1980's. We dropped off our newsletter at computer stores. bookstores that carried computer books, computer repair shops and electrical outlet stores, and anywhere else we could find. Some of our members scanned the classified ads for Atari computers being sold. They would drop by the seller. They asked the seller to give the new buyer a newsletter and user group information. We sold used Atari equipment we salvaged from a school warehouse. Our members fixed and repaired what we could and sold them for a fair price. The buyers were invited to the user group (free one year membership with purchase).

An easy, simple, and cost effective method is a business card. Use a few dollars from the user group treasury to make a business card that can be used to advertize your user group. Pin them up on bulletin boards in your city (shopping centers, grocery stores, and the like have public bulletin boards for this purpose). The business card ad should be simple yet complete. Announcing your group's name, the meeting place and time, a means of getting hold of the officers, an Internet address and web page URL, and any other significant information.

If you have some innovative ideas your group has done (or ideas you would like to see done), please send them to <explorer.4@genie.com>. I will include them in the up and coming issues of AEO.

//// A Few Interesting Places on the 'Net
http://www.futurenet.co.uk is the Web site of Future Publishing and the ST FORMAT magazine. <75300.3443@compuserve.com> is Sam Tramiel's EMail address. http://www.mcc.ac.uk/~dlms/atari.htrnl is the famous Atari Web Page by Mark Smith. http://www.atari.com/ is the Web site address for some company...

If your user group has a web page, BBS, or an E-mail address, send me the information at <explorer.4@genie.com> and I will help get the word out.

//// Send it in........Don't forget to send in the registration for that shareware program you have been using. The developer deserves the cash. Hours of time lost from family and friends were required to produce that program. And don't forget programmers need to eat, too. If you use Atari computer shareware programs, make a sigrnficant contribution to the Atari platform by contributing to the programmers who are still developing products for you.

Here's an idea: Get the members of your user group together. Find out which shareware programs you are using (and have not paid for). Pool your resources and do a mass registration. You pay for one postage stamp and one cheque or money order. This will benifit both your group and the programmer. Better yet, pick one shareware programmer a month, and do this each month until the products your members are using have been paid for. This will ease the impact on the pocketbook and support the Atari programmers at the same time.

Speak up!........If you are supporting the Atari platform, send me a brief bio and how you can be contacted.

Until next time. . .

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

Ron Whittam is the President of the Atari Boise Users Group, runs a part-time consulting business called StraighLOGIC!, and is a Customer Support Specialist for a small software firm in Boise, Idaho. He can be contacted on GEnie Mail (EXPLORER.4), on the Internet at <whittam@primenet.com<, or on ApC BBS (208-362-1790). And see the web page at "//www.primenet.com/~whittam/atari.html" as well as StraighLOGIC!'s web page at "//www.primenet.com/~whittam/slogic.html"

||| Old Atari News
||| By: John Hardie
/ | \ GEnie: EXPLORER.3
No, this isn't a column of old news about Atari. Basically, this column will cover new items of interest to the owners of older Atari 8-bit, 2600/5200/7800, or Lynx machines. News of new products, upgrades, etc., will be noted as I find out about them. If you have something of interest to your fellow Atarians with these machines, please contact me on GEnie at EXPLORER.3 or Internet <explorer.3@genie.com>.

At times this column might resemble an advertisement for Best Electronics or B&C Computervisions. Let me assure you that this is strictly due to the fact that these two reputable dealers are the only people that have any parts or equipment for most of the listed machines. With that out of the way, let's see what's new.

//// Atari 8-bit news
If you're currently running 80 columns with the XEP-80, you should know about an upgrade to the XEP-80 to allow you to use an IBM TTL monitor, which are both plentiful and cheap. Designed by the masterful Bob Wooley, this simple upgrade taps off the signals needed for a TTL monitor. But before you rush out and buy a TTL monitor, you might be interested in knowing that Atari made their own IBM TTL monitor, the PCM124. If you're a fanatic like myself, you might want to check out the amber PCM. Contact Best Electronics or B&C Computervisions for pricing on XEP-80's and PCM124's. Contact me in EMail if you just want the upgrade document.

Did you ever order a piece of European software or maybe get one of those great demos from overseas, only to have it lock up or not run properly? Well, a fine gentleman named Nir Dary in California, has come up with the solution. To upgrade your XE/XL to run European software, simply replace you current Antic chip with a PAL antic chip, and in the O.S. change location $C386 to $01 and location $C000 to $12. If you'd prefer to have this done for you, you can contact:

Nir Dary
19185 Castlebay Lane
Northridge, CA. 91326

//// Atari 7800
On one of my trips to Ireland, I discovered a 7800 system with Asteroids built in to the console. Well, with a minor adjustment, you can put this special O.S. in your own 7800. Depending on what model 7800 you have (there were 3 types), it may be as easy as plugging in a chip. At worst, so me simple, minor soldering needs to be done. The upgrade kit with all necessary parts is available from Best Electronics.

Also on the 7800 front, if you're a collector like myself, you'll want one of Atari's Nintendo-style joypad controllers that they only released overseas. Again, these are available from Best.

//// Atari Lynx
I hope this is true. When I called Atari Customer Service the other day, I was told that Super Asteroids/Missile Command and Battlezone 2000 were in production. When I questioned the lady about in-store availability, she said they would be direct from Atari for $39.99 each.

That's all for now. As new items of interest appear, I'll post them here. Here's the vendor info:

Best Electronics 1-408-243-6950
B&C Computervisions 1-408-986-9960

Space Christmas Party
January, 1996

The Space Christmas party was to be held on December 8, 1995. As we all know MOTHER NATURE took care of that. The Space Christmas party was cancelled, along with the monthly meeting. The Christmas party was rescheduled for the January Space meeting on January 12, 1996. I hoped MOTHER NATURE didn't strike again.

January 12, 1996, the day of the rescheduled Christmas Party came. To my surprise, no surprises from MOTHER NATURE. After a short Space club meeting, the Christmas party started. There was a table full of delicious food, from a big 13 lb turkey, KFC chicken sticks, BBQ meatball, BBQ Smookies, cookies, chicken salads, veggie trays, a huge delicious sheet cake provided by our club president and his wife, and cold pop to wash all that food down.

Members had a chance to sit, relax, and enjoy the party. There was so much food,, members could go up for seconds. A thanks goes out to the Christmas party committee for all their hard work. Even though we didn't have the biggest crowd of Space members at the party ( about 20 ) we had a fun evening. A thanks also goes out to the member, who showed up to PARTY! The club's Christmas and Birthday parties are always fun. Can't wait till Space club's 14th birthday party in July '96.

Don forget!

MID WINTER MADNESS SHOW

in February at Blaine Sports Center.

Mike Weist

A Parallel Bus Interface for your 1200XL

By Bob Woolley SLCC

If you did the CLEARPIC modification in the August Journal, then you qualify as a 1200XL nut, just like me. No use fighting it, though, you really do yearn for the MIO type stuff that all the 800XL/130XE users have been bragging on. The easy way to get one is to buy an 800XL, but since when do we have to take the easy way out? Face it, you want an MIO, you gotta do this mod. You might even get a disk interface thrown in. There are only two hardware functions that are missing on the 1200XL that are required to run the Parallel Buss - a 16K ROM select and the -EXTernal SELect input. All the other circuitry already exists in the 1200XL. So, let's get a 16K ROM in there, first.

The 1200XL OS does not have the PBI code in either of its two 8K ROMs, which means we'll have to either recode an EPROM or use the 800XL or 130XE (same chip) OS ROM. Since many people don't have an EPROM burner and don't want to spend $150 for one, maybe $5 or $10 for an Atari ROM out of an 800XL (CO61598B) is a good idea. Also, it really isn't legal to copy the Atari ROM into an EPROM, even for your own use. Even if you destroy your source ROM, even. Atari was nice enough to provide an easy upgrade path, use their ROM. OK? First thing you may find is that the 1200XL ROMs are 24 pin devices and the new ROM is a 28 pin package. No problem. All of the 1200XL main boards have 28 pin sites for the ROMs. All you need to do is pull the 24 pin socket at U13 and solder in a 28 pin unit. One more address line (A13) is needed, so remove the W6 jumper and solder a wire from pin 23 of the CPU chip (U21) to the top pad of W6. Now, plug the 800XL OS ROM into U13. The 16K ROM select is just as simple. Take a look inside your 1200XL. See the chip that has 20 pins (U14)? That is your MMU. It is the main difference between a 1200XL and an 800XL. Same number of little pins, same number of inputs and outputs ..... But the 800XL IC has the 16K select for the OS ROM. So, lets jump right in and swap the MMU with the 800XL part (CO61618). Fits just fine, doesn't it? Pull out all the jumpers except W11, W12 and W9 and you have a ROM select line that will select the address range from $C000 to $FFFF in a single ROM, like the 800XL.

Since the 1200XL has two ROM sockets, and there may be some hard core nuts out there that just must have the internal Basic ROM, get a version C ROM and bend up pins 24 and 21. Plug this ROM into U12 and solder a wire from pin 24 of the Basic ROM to +5v at the top of C11 (just to the left of U13) . Solder another wire from pin 21 of the ROM to the left hand pad of W7 (which should not have a jumper in it) . One more wire from pin 18 of U14 to pin 11 of U23 and your machine has Basic under the covers, just like the big guys ! Now you get the thrill of holding down OPTION when you want to boot without Basic, where those of us who don't do this section only need to pull the cartridge. To be fair, though, SpartaDos will now turn Basic on and off in your 1200XL with the Basic On and Basic Off commands - which is kinda nlce.

All right ! Half way there. Now, for the -EXTSEL line. You need a 74HC08 for this part of the upgrade. You could use a 74LS08, but the 74HC devices draw much less power than the older LS chips and they are better behaved on the buss compared to the standard parts. Bend up all the pins on the new IC except 7 and 14. Cut off pins 4,5,6,8,9,10,11,12, and 13. Pull U17, an LS08, and place the HC08 on top of it so that all the pins line up. Solder the two devices together at pin 7 and pin 14 and plug the pair back into U17. You should have pins 1,2 and 3 of the HC08 bent away from the LS08 such that wires can be soldered to them. Looking at the BOTTOM of the board, cut the trace that runs from pin 16 of U14 to a pad about 1 inch above pin 14 of U11. Cut the horizontal trace on the bottom of t to the old collector pad of Q16 (bottom pad of the transistor) . If you have not done the CLEARPIC upgrade, solder a 2.7K resistor from pin 2 of the HC08 to + 5 volts. Either way, pin 2 of the 74HC08 that you added is now the -EXTSEL line (pin 2 on the PBI connector) that you were missing. Your1200XL now contains all the lines necessary for PBI operation.

You know what comes next, don't you? Solder one end of a 50 conductor flat cable to each point listed below. Be absolutely certain that you are counting the flat cable wires correctly. They read kinda goofy - the red stripe is pin 49. Pin 50 is the next wire into the flat cable. Next is pin 47 and then 48. It continues in that odd fashion to pin 2 on the right edge of the cable. Be careful - I warned you !

     The pin connections:

CONN    BOARD           CONN    BOARD
------------------------------------------  
-
49      n/c             50      gnd
47      n/c             48      n/c
45      gnd             46      pin 5  U11
43      pin 14 U14      44      pin 6  U25
41      pin 8  U25      42      gnd
39      n/c             40      pin 14 U14
37      n/c             38      pin 16 U14
35      pin 4  U21      36      pin 2  U21
33      n/c             34      pin 40 U21
31      pin 34 U21      32      gnd
29      gnd             30      gnd
27      pin 27 U21      28      pin 26 U21
25      pin 29 U21      26      pin 28 U21
23      pin 31 U21      24      pin 30 U21
21      pin 33 U21      22      pin 32 U21
19      gnd             20      pin 25 U21
17      pin 23 U21      18      pin 24 U21
15      pin 20 U21      16      pin 22 U21
13      pin 18 U21      14      pin 19 U21
11      pin 16 U21      12      pin 17 U21
9       pin 15 U21      10      gnd
7       pin 13 U21      8       pin 14 U21
5       pin 11 U21      6       pin 12 U21
3       pin 9  U21      4       pin 10 U21
1       gnd             2       pin 2 of
HC08

As far as the length of the flat cable is concerned, I have used the PIO Controller from the July and August Journals with a 4 foot cable. None of the logic in that design would have a problem with this 1200XL setup. However, other commercial hardware may not be so forgiving. I have not finished my 1200XL wiring , but I have tested the ROM and Basic changes - check with me on CIS (75126,3446) if you are planning to run an MIO or the Supra Hard Disk controllers. Otherwise, get yourself a Supra MicroPort kit and check the Journal next month.

The above article was picked off the internet. I can not guarantee the content or accuracy.

Editor


+----------------------------------------+
|                Larry's                 |
|            ACTION! TUTORIAL            |
+----------------------------------------+
#19          An OBJECT lesson
------------------------------------------


INT xx=$E0, yy=$E2   ;DIR parameters 
TYPE worm = [BYTE X1,X2,X3,X4, 
                  Y1,Y2,Y3,Y4 
             INT  DX, DY] 
DEFINE SIZE="12" 
DEFINE COUNT="80"   ;1 - 99 MAX WORMS 
DEFINE SPEED="250"  ;0 - 255 
worm POINTER wm 
BYTE ARRAY memory(1200),
           mask=[$7F $BF $DF $EF
                 $F7 $FB $FD $FE]
CARD ARRAY screen(96) ;PLOP/FIND table
;-----------------------------------------
;         ( Clip and Save!)
PROC PLOP(BYTE PX,PY) ;Faster PLOT
BYTE ARRAY ROW        ;command
BYTE XB,XV,PM
ROW=screen(PY)   XB=PX RSH 3
XV=PX &7         PM=COLOR LSH (7-XV)
ROW(XB)=(ROW(XB)& mask(XV)) % PM
RETURN

BYTE FUNC FIND(BYTE PX,PY)
BYTE ARRAY ROW        ;Faster LOCATE
BYTE XB,XV,PM         ;command
ROW=screen(PY)   XB=PX RSH 3
XV=PX & 7        PM=mask(XV)!255
RETURN(ROW(XB)&PM)
;-----------------------------------------
PROC PICK_DIR()
BYTE R=53770
  xx=0 yy=0
  IF R<20 THEN      yy=1
  ELSEIF R<60 THEN  xx=1
  ELSEIF R>175 THEN xx=-1
  ELSEIF R>225 THEN yy=-l
  FI
RETURN

PROC START_UP() 
BYTE R=53770,I 
CARD SCRMEM=88 
;---------Clip this too-----------
 GRAPHICS(6+16)     ;160 x 96, 1 color 
 screen(0)=SCRMEM   ;Setup array for 
 FOR I=1 TO 95      ;PLOP and FIND 
 DO screen(I)=screen(I-1)+20 OD 
 COLOR=1            ;Border
;---------------------------------
 PLOT(0,0)      DRAWTO(159,0)
 DRAWTO(159,95) DRAWTO(0,95)
 DRAWTO(0,0)
 wm=memory
 FOR I=0 TO COUNT     ;Random placement
 DO                   ;of worms
  wm.X1=(R&127)+25
  wm.Y1=(R&63)+15
  wm X2=wm.X1  wm.X3=wm.X1  wm.X4=wm.X1
  wm.Y2=wm.Y1  wm.Y3=wm.Y1  wm.Y4=wm.Y1
  PICK_DIR()   wm.DX=xx     wm.DY=yy
  PLOT(wm.X1,wm.Y1)
  wm==+SIZE
 OD
RETURN

PROC MOVE()
BYTE I,NX,NY,Z,J=$AA,R=53770
 wm=memory
 FOR I=0 TO COUNT
  DO
  COLOR=0      PLOP(wm.X4,wm.Y4)
  wm.X4=wm.X3  wm.X3=wm.X2  wm.X2=wm.X1
  wm.Y4=wm.Y3  wm.Y3=wm.Y2  wm.Y2=wm.Y1
  COLOR=1
  Z=FIND(wm.X1+wm.DX,wm.Y1+wm.DY)
  IF Z=0 THEN         ;OK to move
     IF R<240 THEN    ;Do move
        wm.X1==+wm.DX wm.Y1==+wm.DY
     ELSE             ;Change direction
        FOR J=0 TO 3
        DO
          PICK_DIR()
          IF FIND(wm.X1+xx,wm.Y1+yy)=0 
          THEN EXIT FI 
        OD
        wm.DX=xx  wm.DY=yy
     FI
  ELSE                ;Not OK to move 
     FOR J=0 TO 7     ;Find new direction 
     DO 
       PICK_DIR() 
       IF FIND(wm.X1+xx,wm.Y1+yy)=0 
       THEN EXIT FI 
     OD 
     wm.DX=xx 
     wm.DY=yy
  FI
  PLOP(wm.X1,wm.Y1)
  wm==+SIZE
 OD
RETURN

PROC WAIT()         ;Slow down display
BYTE I,J
 I=255
 WHILE I>SPEED
 DO
   J=255
   WHILE J>SPEED
   DO J==-1 OD
   I==-1
 OD
RETURN

PROC MAIN()
BYTE K=764
 START_UP()
 DO
  MOVE()  WAIT()
 UNTIL K<255
 OD
RETURN
------------------------------------------
As stated at the start of this monthly column, I 
intended to give you routines you can use, and a 
little insight into programming with ACTION!. 
This issue gives you new PLOT and LOCATE 
routines that are faster than those supplied 
with ACTION!.  In addition to the clip and save 
section, part of the START_UP routine must be 
included to initialize the screen array.  You 
may remember it is faster for the computer to 
look up data in a table than it is to calculate 
the needed values every time.  This is what the 
array does in the PLOP and FIND procedures.

+----------------------------------------+
|                Larry's                 |
|            ACTION! TUTORIAL            |
+----------------------------------------+
#20           NUMBER TWENTY!
------------------------------------------
Last months program should have revealed 
the cookie-cutter approach by using an 
array of records.  Each worm had 4 pixel 
segments and its own direction of travel 
stored in a record.  The MOVE procedure 
handled all the worms in the same manner, 
which eased the programming task.  This 
same method can be used for other programs 
where you have many identical, or nearly 
identical, objects.  Some examples might 
include soldiers engaged in a war, rooms 
of a haunted castle, employee files, days 
in a calendar, and many, many more.

Although you cant directly declare a BYTE 
array in a record, you can coax ACTION! to 
store arrays in records.  This month you 
will see how you use and access a record 
that has a BYTE array in it.  The program 
asks you to enter three student names, 
with three test scores each.  It then 
displays the student name and average of 
the test scores, along with their grade. 
At the bottom of the display, the records 
themselves are shown, with spaces inserted 
between the name, test scores, average, 
and grade.  This section shows you how the 
record would look (minus the spaces) if it 
were stored in a disk file.

TYPE CLASS=[BYTE namlen
            CARD n1,n2,n3,n4,n5
            BYTE test1,test2,test3,avg, 
                 grade] 
DEFINE CLASS_SIZE="16"

CLASS POINTER student 
BYTE ARRAY memory(l00)

PROC Enter_Data() 
BYTE ARRAY prompt= "Enter test score " 
CARD av,gr,tot

  PrintE("Enter NAME of student;") 
  InputS(student) 
  IF student.namlen>10 THEN 
     student.namlen=10 
  FI 
  PrintF("%S 1; ",prompt) 
  student.test1=InputB() 
  tot=student.test1 
  PrintF("%S 2; ",prompt) 
  student.test2=InputB() 
  tot==+student.test2 
  PrintF("%S 3; ",prompt) 
  student.test3=InputB() 
  tot==+student.test3 
  av=tot/3 
  student.avg=av 
  IF     av>=92 THEN student.grade='A 
  ELSEIF av>=84 THEN student.grade='B 
  ELSEIF av>=76 THEN student.grade='C 
  ELSEIF av>=68 THEN student.grade='D
  ELSE               student.grade='F 
  FI 
RETURN

PROC MAIN()
BYTE i,j,x=85,y=84
BYTE POINTER ptr

student=memory      ;Locate storage space 
FOR i=l to 3 
DO
   Graphics(0)
   PRINTF("Student number %U%E",i) 
   Enter_Data() 
   student==+CLASS_SIZE
OD 
Graphics(0) 
student=memory 
PutE() x=2 y=2 
PrintE("NAME         AVG  GRADE") 
y=4 
FOR i=1 TO 3 
DO 
  x=2  Print(student) 
  x=16 PrintB(student.avg) 
  x=22 PrintF("%C%E",student.grade) 
  student==+CLASS_SIZE 
OD

ptr=memory                 ;Show records
FOR i=1 TO 3
DO
  FOR j=0 to 15
  DO
    y=18+i x=2+j            ;Insert spaces 
    IF x>12 THEN x==+2     ;Tests 
      IF x>17 THEN x==+l   ;Avg 
         IF x>19 THEN x==+l;Grade 
         FI
      FI
    FI 
    put(ptr^) 
    ptr==+1
  OD
OD
RETURN
------------------------------------------
This program runs funny, in that whenever 
the name is less than 10 characters long, 
the records still hold old data behind 
the student name.  See if you can fix 
this problem.  To see this effect, run the 
program and enter AAAAAAAAAA for the first 
name, then run it again and enter Z for 
the first name.  You will see that part 
of the name AAAAAAAAAA is still in memory.

DISCLAIMER

Published by the Saint Paul Atari Computer Enthusiasts (SPACE), an independent organization with no business affiliation with ATARI Corporation. Permission is granted to any similar organization with which SPACE exchanges newsletters to reprint material from this newsletter. We do however ask that credit be given to the authors and to SPACE. Opinions expressed are those of the authors and do not necessarily reflect the views of SPACE, the club officers, club members or ATARI Corporation.


Return to the SPACE Home Page


Maintained by Michael Current, mcurrent@carleton.edu
Last updated: Saturday, April 20, 2002