Z*Magazine: 18-Jun-86 #5

From: Atari SIG (xx004@cleveland.Freenet.Edu)
Date: 07/03/93-08:26:27 PM Z


From: xx004@cleveland.Freenet.Edu (Atari SIG)
Subject: Z*Magazine: 18-Jun-86 #5
Date: Sat Jul  3 20:26:27 1993



_______________________^^^_________
Zmagazine              HOT Atari
June 18, 1986          News Plus+++
Ron Kovacs-Editor Vol 1  No. 5
___________________________________

Xx    Welcome

 Welcome to another edition of 
Zmagazine.  This week we lack a BBS
Review and the expected interview
with Scott Brause.  As soon as we
can get the information formatted
and checked we will publish right
here!!!!

Xx    In this weeks issue:

Part 2 of our series on Assembly
Language programming.

Family Computing Survey results.

User Group News

Zmag BBS Watch

Atari News, interesting information
not let out at the CES show.

and more........

-----------------------------------
Xx   Zmag Notes
-----------------------------------
As I stated in the Special June 15,
CES issue, I have modified a file
called Printdoc, made by Jerry 
White. This file allows you to read
Zmag without pages and also allows
you to make a hard copy.  If you 
are interested in getting this file
to use or even modify, leave me a
message on the Syndicate BBS or
on the BBS you are reading this
on.  The Syndicate number is,
201-968-8148  300/1200 baud.
-----------------------------------

Xx Kieth Does it Again!

 MPP users now can get Express!!

[76703,4061]
MPPEXP.DOC                14-Jun-86
    Accesses: 25

Keywords: MPP EXPRESS TERMINAL
MODEM DOCUMENTATION

MPP Express!
This is the documentation file for
MPP Express!, available under the
name of MPPEXP.XMO.  Formatted for
80 columns, just copy it to your
printer. Capture this file by doing
a "R"ead command.
Keith
 
[76703,4061]
MPPEXP.XMO                14-Jun-86
    Accesses: 24
 
Keywords: MPP EXPRESS TERMINAL
MODEM

MPP Express!
Here is the MPP version of the
popular "Express!" terminal
programs.  Created specifically for
MPP modems, it features such things
as configurable speed dialing and
297/300/400/450 baud. Along with
the highly-dependable XModem
routines -- your XModem blues are
over! See MPPEXP.DOC for
documentation.
Enjoy!
Keith Ledbetter
76703,4061

These files are available on Compu-
Serve and also The Syndicate BBS.

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

...................................
Xx      User Group News
...................................
All Interested Parties!!!!!
MIDI User's Group/BBS
JOIN DALLAS MIDI USER'S GROUP!!!
    - Free general membership
    - Free computer BBS
    - Free Song File downloads
    - Free Synth patch downloads
    - Free MIDI utility programs
    - Monthly newsletter/meetings
    - All brands of hardware
      /software
    - International Computer Music
    - Database online

Further info:
write (by U.S. mail) to:
Ray Reach
Dallas MIDI User's Group ("DMUG)
4306 Pineridge Drive
Garland, Texas 75042
PHONE: (214) 272-0963
-----------------------------------
 fXx    Zmag BBS Watch

Board       :ZMAG MESG BASE
Message #   :59
Date & Time :06/07/86 19:55:03
Replies     :0
Subject     :ZMAG IN JERSEY CONT
To          :RON KOVACS (REC)
Sent by     :CLINTON SMITH

RON,10 BOARDS! ZMAG MUST BE LIKE
A RABBIT IN JERSEY.WE ARE COMING
UP ON 7 BOARDS OUT HERE.I'LL BE
WAITING FOR THE SB TEXT.GOOD LUCK
ON SAN FRANCISCO,WHO KNOWS?MAYBE
WE'VE STARTED A CHAIN REACTION.
THANKS AND I'LL BE TALKING TO YA.
L8ER
CLINTON SMITH
ZMAG EDITOR
CHICAGO


Xx     Atari News!!!!
-----------------------------------
  ATARI PLANNING SUMMER PRODUCTS
  (June 5)

Atari Corp. is holding some product
announcements from the CES and
scheduling them for later in the
summer. Compatible with the ST
product line, the new products will
include a 3.5 floppy with 10MB
storage capacity, a super-hi-res
graphics board with 1,000 line
resolution and a new sound chip.
Other new products are memory and
multitasking upgrades as well as a
new expansion box for holding the
multiple upgrades.

ATARI'S 32-BIT MICRO COMING SOON
  (June 6)

  Atari has a 32-bit computer in
development.  The company recently
signed a Unix licensing agreement
with AT&T and Atari chairman Jack
Tramiel has indicated that the new
machine will run under Unix.  When
the new computer is introduced,
current ST owners will be offered
an option to upgrade their machines
to use the Unix operating system.
No release date was specified for
the new computer.

  ATARI TO QUIT TAIWAN PLANT
  (June 4)

  Jack Tramiel is planning to shut
down Atari's production line in
Taiwan.  In remarks posted on a
bulletin board service after he met
with Atari owners in Massachusetts,
the Atari chairman said that under
the right conditions computers
could be constructed in the US with
the same cost efficiency as in
Taiwan. Tramiel set no deadline for
the manufacturing changeover but he
did indicate the move was not in
the immediate future.

Reported By:--James Moran


  AMIGA DEVELOPERS UNHAPPY
  (June 3)

  Third-party software developers
are voicing their concern over what
they perceive is a lack of support
and concern by Commodore Business
Machines. Many developers have
dropped plans to continue Amiga
development until they receive some
assurances that Commodore will
supply necessary development
information. Commodore is trying to
assure developers and the Amiga
dealer network, that support will
continue regardless of internal
restructuring.  Last week, Randy
Weiner of Amiga Technical Support
told developers they "will continue
to receive the full support of
Commodore.  We are not about to
'dump' on anyone.  I, for one,
understand the importance of such
support, and what it means to the
future of the Amiga, and Commodore
itself."

Reported By:--James Moran

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

-----------------------------------
Xx     Family Computing Survey

WHAT COMPUTER OWNERS THINK ABOUT
MAIL ORDER

The vast majority of computer
owners have bought by mail or are
willing to do so, according to
FAMILY COMPUTING's April survey on
Mail Order Buying. Over a three-
week period, 238 people completed
the survey. Here are the
highlights:

1)  Only 7% said they would never
purchase computer equipment by mail
72% said they have bought by mail.

    Of those buyers, 55% were "very
satisfied," and 25% were "somewhat
satisfied" with the service.
Only 3% were "not satisfied."

Product orders broke down like this

Software (72%)
Peripherals (50%)
accessories (36%)
Computers (10%).

The single most important reason
people gave for mail- order buying
was "lower prices," noted by 50% of
respondents. The single most
important (67%) drawback was "you
can't see or try out what you're
buying."  The relative index of
buyers by machine broke down like
this:

Tandy/Radio Shack (90%)
ADAM (85%)
Atari (73%)
Commodore (71%)
IBM (71%)
Apple (68%)

These results are published in the
August issue of Family Computing,
with a cover story on MAIL ORDER
BUYING.
-----------------------------------
-----------------------------------
Xx    Assembly Language
-----------------------------------
ANTIC ONLINE
ANTIC PUBLISHING INC., COPYRIGHT
1985.  REPRINTED BY PERMISSION.
-----------------------------------
   ASSEMBLY LANGUAGE - LESSON 2

     **  6502 ARITHMETIC **
       By: CHRIS CRAWFORD

NUMBER SYSTEMS

   In this lecture I will take up
the problem of arithmetic on the
6502.  I choose this topic only
because it is fairly simple to do
on the 6502.  There are a couple of
nerve-jangling problems associated
with 6502 arithmetic, but I will
breeze over those in a very
cavalier fashion.

   Before we can do arithmetic,
though, you must know a little bit
about number systems.  There are
three that you must know: decimal,
binary, and hexadecimal.

   Decimal is the standard numbeat
you have used since grade school. 
You count 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, and then you reach 0 again,
so you put down a 1 in the tens
place and resume counting from 0.

   Binary works the same way,
except that there are only two
digits, not ten.  The two digits
are 0 and 1.  You count 0, then 1,
then you reach 0 again, so you put
down a 1 in the twos place and
resume counting from 0. Thus,
counting from 0 to ten in binary
like this:

      Decimal     Binary
       0              0
       1              1
       2             10
       3             11
       4            100
       5            101
       6            110
       7            111
       8           1000
       9           1001
       10          1010

   In binary, instead of having
ones, tens, and hundreds places, we
have ones, twos, fours and eights
places.  It takes a lot more digits
to express a number in binary, but
then again, we have only the two
numberals 0 and 1 to work with, so
what does one expect?

   The hexadecimal number system is
a base-16 system. In this system,
you count from 0 to 16 like so
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E ,F,
10.  The 10 in hexadecimal really
means 16 in decimal. So 10 is 16,
right?  Black is white, truth is
likes....stay with assembly
language long enough and you'll
believe anything.

   Actually, it's easy to avoid
confusion.  We use little prefixes
to tell you and the computer
whether a number is expressed in
decimal, binary, or hexadecimal.
No prefix means decimal.  A $
prefix means hexadecimal; a % means
binary.  Thus %10 means 2 while $10
means 16, but 10 means just plain
old 10. Hexadecimal is not hard to
learn at all; if you go into any
store you will see that they use
hexadecimal on all their signs.

ADDITION AND SUBTRACTION

   Addition with the 6502 is very
simple; it uses the ADC
instruction.  This instruction
means "Add with Carry"; I'll get to
the Carry part in just a moment.For
now,let me explain the instruction.
The ADC instruction has an operand,
normally a location in memory. When
the instruction is executed, it
takes the contents of that memory
location and adds that value to the
value in the accumulator.

   It leaves the sum of the two
numbers in the accumulator.  This
of course destorys the old value in
the acucmulator.  You can use the
immediate mode of addressing with
the ADC instruction, in which case
it adds the value itself. Thus,
"ADC # 9" will add a 9 to the
contents of the accumulator, while
"ADC FISH" will add the contents
of address FISH to the accumulator.

   Subtraction is just like
addition.  The instruction to use
is SBC, which means "Subtract
Borrowing Carry". Again, I'll tell
you about the Carry part in a
moment. This instruction subtracts
the operand from the contents of
the accumulator, leaving the result
in the accumulator, It also can be
done in either immediate mode (e.g.
SBC#5) or absolute mode (e.g., SBC
GOAT).

WORD LENGTH PROBLEMS

   If that were all there were to
arithmetic with the 6502,
programmers would be paid a lot
less. The first killer problem is
that the 6502 uses 8-bit words;
that is, the numbers that the 6502
stores and works with are only 8
bits wide.  This means that the
biggest number the 6502 can
comprehend is 255. Uh-oh! What
happens if you want to have a
checkbook balancing program and you
have more than $255?  What happens
if you get more than 255 points in
your "Decapitate the Orphans" game?
In fact, what happens if you just
ignore the limit and add, say, 10
to 250?

   Well, believe it or not,the 6502
will give you an answer of 4.  Why?
The number system that the 6502
uses is like a wheel, with 0 at the
top, counting clockwise 1,2,3,...
all the way up to 255, which lies
right next to the 0.  If you go up
from 255 you just wrap around past
the 0 and start all over. Similarly
if you subtract 2 from 0, you'll
get 254.

   The solution to all this is
provided by the Carry bit,
discussion of which I've been
putting off unitl now.  The
Carry bit is a flag that the 6502
uses to remember when it has done
arithmetic that carried it over the
boundary between 0 and 255. By
using it properly, you can solve
your arithmetic problems.

   The first trick to using the
Carry bit is to use multi-byte
words.  This means that, instead of
using a single byte to store a
number, you use several. For
example, if you use two bytes to
remember a number, you can store a
number as large as 65,535.  three
bytes lets you to to 16,777,215. 
Four bytes lets you go to 4,294,
967,295. big enough for you?

   To use multi-byte arithmetic,
you set up a series of additions of
subtractions. Suppose, for example,
that you want to add two two-byte
words. The program fragment to do
this would look like this:

      LDA     LOFISH
      CLC
      ADC     LOGOAT
      STA     LOANSR
      LDA     HIFISH
      ADC     HIGOAT
      STA     HIANSR

   This little fragment of code
assumes that the first two-byte
value is called (LOGOAT, HIGOAT),
and that the , HIANSR).  The new
instruction, CLC, stands for "Clear
Carry" and it means that the Carry
bit should be set to 0.  It should
always be used with all additions
except chained additions like this
one.

   The code does the following:
first it adds the two low values. 
If the addition resulted in a wrap-
around (result greater than 255),
then the Carry bit was set;
otherwise, it was cleared.  Then it
performed the second addition,
adding in the value of the Carry
bit (That's why we call it "Add
with Carry").  Thus, if a wrap-
around occurred, an additional one
was added into the high sum.  This
system insures that multi-byte
addition works properly.

   For subtraction, you use the SEC
instruction ("Set Carry").
Otherwise, you handle subtraction
the same way that you handle
addition. In both addition and
subraction, though, the low bytes
must be handled first, then the
higher bytes in the proper order
(lower to higher).

DECIMAL & SIGNED ARITHMETIC

   There are two variations on
standard 6502 arithmetic. Both are
so rarely used that I will not
treat them here. The first is
decimal arithmetic using the
Decimal flag.  This allows you to
set up an automatic decimal adjust
mode.  This is useful in certain
types of arithmetic, decimal adjust
mode.  This is useful in certain
types of arithmetic, primarily BCD
arithmetic.

   If you don't know what this is,
don't bother with the Decimal flag.
Your program should always begin
with the instruction CLD, which
means "Clear Decimal Flag".  I will
tell you this just once: failure to
clear the decimal flag is the
source of the most frustrating and
impossible-to-trace bug in the
6502. Every single program should
start with the instruction CLD.

   The second arcane bit of 6502
arithmetic is signed arithemetic.
It uses the V flag ("oVerflow"). 
Signed arithmetic is always
confusing and seldom useful. In 7
years of working with the 6502, I
have never had need of it.  Don't
bother.

LIMITATIONS ON 6502 ARITHEMETIC

   There are quite a few
limitations on 6502 arithmetic.
There is no facility for
multiplication and division; you
have to wirte subroutines to do
that. You must design your programs
to make do with 8-bit words;
failing in that, you must use
multi-byte arithemetic, with its
consequent price in speed and TAM.
All in all, arithmetic is a real
pain on the 6502. This is the major
reason why most 6502 programs do so
little arithmetic.

-----------------------------------
Next week part three of this 8 part
series on Assembly Language.
-----------------------------------
 Xx  Atomic Network News
********** ANNOUNCEMENT ***********
      FROM THE ATOMIC NETWORK
      WE ARE HAVING A CONTEST
THE PERSON WHO COMES UP WITH THE
BEST IDEA FOR A LOGO FOR THE ATOMIC
NETWORK WILL WIN..............
     A $200.00 GIFT CERTIFICATE
              AT
         J&R MUSIC WORLD
THE STARTING DATE: APRIL 2,1986
THE ENDING DATE : AUGUST 21,1986

       *   CONTEST RULES    *

ALL ENTRIES MUST BE POSTMARKED NOT
EARLIER THEN APRIL 2,1986 OR AFTER
AUGUST 21,1986

ALL ENTRIES MUST CONTAIN:
1...HANDLE(IF ANY)
2...REAL NAME.
3...ADDRESS.
4...PHONE NUMBER(VOICE LINE)
5...A BBS NAME AND NUMBER WHERE YOU
        CAN BE REACHED.

ALL SYSOPS AND CO-SYSOPS OF THE 
ATOMIC NETWORK ARE NOT ELIGABLE 

SEND ALL ENTRIES TO:

          THE ATOMIC NETWORK
             P.O. BOX 594
          KNICKERBOCKER STATION
            N.Y. N.Y. 10002

       -===================-

Xx  Next Atomic Meeting

 The next Atomic Network meeting
 will be held on Sunday June 22,
 at 1pm. Anyone interested in
 details, please call the Valhalla
 BBS @ 212-598-0243

       -===================-


___________________________________
Zmagazine #5    June 18, 1986
Next edition June 25, 1986
Please contribute!!  Take care! 
___________________________________


-----------------------------------------
Return to message index