News from the President
Well things are slowly coming along. Found the flyer that was put together last year that Lance of "Video 61" used with his orders to Atari customers. It can be utilized if needed by whiting out Sherm Erickson's name and phone #. Question is who is willing to be added to answer questions and promote the club to potential new or returning members?
I've been in contact with the President of SCAT, the Atari club that meets in the suburban area of Chicago. I plan on maintaining contact to share information about our two clubs and how we can possibly benefit each other.
I've also contacted two new Atari dealers that sell hardware, software, and books for the classic 8-bit as well as the ST.
Bob Puff of C.S.S. is still in business supporting the classic 8-bit but has dropped the Bit Writer from his catalog; reason: the arch enemy of any endevour, lack of support or interest.
Minutes of Space Meeting May 12, 1995
Space Meeting opened at 7:30 pm., with Mike Fitzpatrick presiding over the meeting. With the unexpected death of our Space Atari club president Sherm Erickson, Mike Fitzpatrick volunteered to act as president until the November '95 officer elections. Mike Fitzpatrick is also the Space club's BBS SYSOP. Mike's work schedule has made it possible for him to be at the Space meeting every month. Mike asked the membership for volunteers to help kept the Space club going. Mike Weist and Terry Streeter volunteered to help out.
Mike told the membership that things to think about are the club's solvency and doing a inventory of the club's property. Mike urged members to let him know if they have club property.
Mike said he has encouraged his business ST and 8-bit customers to come to the Space club meetings. If his customers do show up, they are given club literature. Mike said we must promote the club in a positive way and define the club's goals.
Larry Serflaten, a club member, said we must be more visible to the public. Roger Mier, another club member, suggested that the club make use of the InterNet, to advertize to other Atari computer users that the Space club is around. Larry Serflaten, also suggested that the club have a open house, to introduce people to our club.
A suggestion was made to print up some club advertisement. It was suggested to make up 3000 advertisements. The cost would be 3000 x $.02 = $60.00. Mike Fitzpatrick asked the Greg Leitner, Space Treasurer, if the treasury could handle this cost. He said he thinks it can.
A Space club member asked how many current paid up members there are. At the current time there are 24 members paid up.
Earline Fitzpatrick, club software librarian, asked Lance Ringquist, club Software and Hardware supplier, what phone numbers he was giving to his Atari business customers for Space club information. New phone numbers will be provided to Lance to give to his Atari business customers. Our Atari Space club information in area computer magazines will be updated to. Mike Fitzpatrick remarked that there are several places still selling Atari software and software.
In closing Mike Fitzpatrick asked the membership where we want to go as a club and what we want to do as a club. Asked club members to think about these things until the next meeting and come up with ideas. Meeting adjourned at 8:15 pm.
Mike Weist Club Secretary
Treasurer's Report by Greg Leitner
I can't remember the last time we held a meeting without a President or Vice President presiding over the meeting, I have to commend Mike Fitzpatrick for his leadership qualities in making the May meeting a very organized and professional affair.
Mike set the tone of the evening at the onset when he made it clear that our goal was not to make hasty decisions but to do a little soul searching. The Club definitely needs more input from all our current members and I got a good feeling by what I heard during the May meeting. Our Club has sufferred a great loss but we will survive.
The months receipts were very promising in that we had two membership renewals. Added to our Dom and blank disk sales our monthly take totalled $70.00. Our expenses were quite high for May because we paid for the first quarter room rental of $90.00 and we also paid for six months P.O. Box rental of $52.00. We also had a double hit on the BBS phone billing since we didn't meet in April and that amounted to $64.74. So the final tally shows that our balance was reduced by $136.74 for the month and our bank balance now stands at $448.98 for the month ending May 31, 1995.
Remember to mark your calendars for the June meeting and make sure to bring a list of any Club software, hardware or magazines that you may have borrowed so that we can get a much needed inventory of all our assets.
Earline Fitzpatrick also is planning to have an Ice Cream Social for the June meeting and the proceeds benefit the Club. So please come and support your Club and enjoy some ice cream too. See you all on June 9th.
+----------------------------------------+ | Larry's | | ACTION! TUTORIAL | +----------------------------------------+ #7 LETS START PROGRAMMING ------------------------------------------ Writing programs is hard work! To get the most out of your efforts, take a little time to plan out your schedule. The chart below will help you organized your program to allow you to create even large programs in a few short hours. Typing and testing may take somewhat longer.... PROGRAM DEVELOPMENT CHART 1. Decide what the inputs and outputs of the program will be. 2. OutIine the major tasks that need to be done in the order they are to be done. 3. If there are many decisions to be made by the computer, deveIop a flowchart. 4. Divide each task into its component parts and look for similarities. 5. Group the simiIar tasks together to determine which can be combined. 6. Develop a memory map of the computer, showing where in memory the different parts of the program are to reside. 7. Type in/write the MAIN procedure first. Fill out the rest of the program, testing each newly added routine for errors and accuracy. I will use this chart to write a function that will add two strings of numbers. Assuming I have a game where a player may score in the milIions. I want a routine that will increase the score beyond the 65535 limit. 1. For inputs, I will send it the current score, and a string containing the amount of increase: AddTo(score,"500") The output should be placed back into the score string before returning. 2. I must first find the least significant digit of both strings, add these, store the result and calculate a carry if necessary. I must then add, store, and carry the next set of digits, and the next, until there are no digits Ieft to add. Finally, the new value must be placed back into SCORE. 3. There are not that many decisions, the flowchart can wait for another issue. 4. This is a component task: increment. There are repetitive tasks, but they are specifically related to adding two strings. For now, I don't see any advantages to breaking them down, and writing them as separate routines. 5. Nothing to group, its only one routine. 6. SCORE and the other string are provided in the call, I will need a place to hold the results until the operation is done. This string can simply be assigned a location by ACTION! PROC AddTo(BYTE ARRAY s1,s2) BYTE ARRAY result(15) BYTE d1,d2,carry,digit,i d1=s1(0) ;LSD (digit) of s1 d2=s2(0) ;LSD of s2 IF d1>d2 THEN ;Assign LSD of result digit=d1+1 ;s1 is longer ELSE digit=d2+1 ;s2 is longer FI result(0)=digit ;Storage string length result(1)='0 ;MSD just in case carry='0 ;clear carry WHILE d1>0 OR d2>0 DO result(digit)=carry ;Handle carry IF d1>0 THEN ;Still more s1 result(digit)==+s1(d1)-48 d1==-1 ;Next digit FI IF d2>0 THEN ;Still more s2 result(digit)==+s2(d2)-48 d2==-1 ;Next digit FI IF result(digit)>'9 THEN result(digit)==-10 carry='1 ;Calculate carry ELSE carry='0 FI digit==-1 ;Move to next digit OD result(1)=carry ;Store carry IF carry='0 THEN ;Delete leading 0 FOR i=1 TO result(0)-1 DO s1(i)=result(i+1) OD s1(0)=i-1 ;New length ELSE ;carry=1 so copy as is FOR i=0 TO result(0) DO s1(i)=result(i) OD FI RETURN ------------------------------------------ It's YOUR turn!
+----------------------------------------+ | Larry's | | ACTION! TUTORIAL | +----------------------------------------+ #8 ADDING TO OUR UNDERSTANDING ------------------------------------------ If you had trouble using the AddTo routine in last months issue, it may be due to not supplying enough space to store the score string. Here is a test example that will use AddTo; PROC Test() BYTE ARRAY score(20) BYTE i score(0)=1 ;Initializing score to 0! score(1)='0 FOR i=0 to 20 DO AddTo(score,"8001") PrintE(score) OD RETURN This month, we will again use the PROGRAM DEVELOPMENT CHART to make a new routine that will multiply two strings. As you might guess, we will make use of the AddTo routine from last month! 1. Like before, the routine will get two string parameters and store the result in the first parameter. 2. To multiply, the 1st parameter must be added to itself as many times as are indicated in the ones digit of the 2nd parameter. Moving to the tens digit of the 2nd parameter and a value that is ten times greater than what the 1st parameter was, we again add according to the value in the tens place, etc. 3. Flowcharting comes later when there are more conditions to consider.... 4. We have a similarity, we need to add one string to another, luckily it is already available. (Reusable code!) 5. This is only a routine, not too many similarities to try to group them yet. 6. Again we can let ACTION! handle string memory assignments. DEFINE smax="100" (READ in AddTo in this area) PROC MultiplyS(BYTE ARRAY s1,s2) BYTE ARRAY temp(smax) BYTE digit,value,inc,i FOR i=0 to s1(0) DO temp(i)=s1(i) ;Init temp for adding s1(i)='0 ;Clear result OD s1(0)=1 ;Init result digit=s2(0) ;Ones place inc=temp(0) ;*10 increment WHILE digit#0 DO value=s2(digit)-48 ;value of digit is WHILE value#0 ;the # of additions DO ;needed AddTo(s1,temp) value==-1 OD digit==-1 ;Next digit inc==+1 ;Increase temp * 10 temp(0)=inc ;by adding to length temp(inc)='0 ;and storing a new 0 OD RETURN To help manage the string sizes, I have included a DEFINE statement at the start of this procedure. This statement must manage the string in AddTo also. To allow for this, change the declaration line 'result(15)' to 'result(smax)' in the AddTo procedure. DEFINE simply substitutes whatever is in quotes with every occurrence of the string listed in the DEFINE statement. The result of this is that the compiler will use 100 every time it finds smax, this makes for easy editing, without having to parse through the entire program looking for places that may need a new value! Changing smax once, effects all other occurrences, pretty neat eh? Of course we want to see it in ACTION! PROC Test() BYTE ARRAY sc(smax) BYTE i sc(0)=1 ;MUST be initialized! sc(1)='1 PrintE("Multiplication!") FOR i=0 TO 15 DO MultiplyS(sc,"99") PrintE(sc) OD RETURN Hey! This could be the start of a huge calculator! Adding subtract and divide, and a temporary register for complex equations, and there it is! Hmmm.... ------------------------------------------ Next month, we get back to BASICs!