638 lines
16 KiB
Plaintext
638 lines
16 KiB
Plaintext
|
|
_______________________^^^_________
|
|
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!
|
|
___________________________________
|