1. Not old. Vintage. :)
Timothy Kline

Z*Magazine: 2-Jul-86 #6

Z*Magazine: 2-Jul-86 #6

  1. Timothy Kline
    Article #14 (214 is last):
    From: xx004@cleveland.Freenet.Edu (Atari SIG)
    Newsgroups: freenet.sci.comp.atari.product.8bit.zmag
    Subject: Z*Magazine: 2-Jul-86 #6
    Reply-To: xx004@cleveland.Freenet.Edu (Atari SIG)
    Date: Sat Jul 3 20:32:20 1993


    _____________^^^___________________
    Zmagazine HOT Atari News Plus+++
    Ron Kovacs Publisher/Editor
    Middlesex, New Jersey Volume 1
    Number 6 July 2, 1986
    Liberty Edition-Happy Holiday
    ___________________________________
    Welcome to another Edition Of Zmag.
    If you have any ideas you would
    like to see implemented in future
    editions, Please leave me a message
    on any of the Zmag BBS Systems,

    In this issue of Zmag we will have
    the 4th installment of our series
    on Assembly Language programming by
    Chris Crawford.

    Another Zmag Magazine debuts on the
    Original Syndicate BBS in New
    Jersey. It is called ZROCK. This
    magazine will be devoted to Rock
    music news, concert and album
    reviews etc... With weekly Top 10,
    Top Albums, New releases etc..
    If you are interested in more info,
    please leave me a message.

    Now on with this weeks Zmag!!

    By the way, next weeks issue will be
    devoted entirely to the ST. So if you
    have any information you can send
    for publication, please help us
    out. Thanks.

    Xx WEFAX
    By: Marty Goodan
    Flash! Antic Magazine in its
    SEPTEMBER issue will be featuring
    an impressive offering:
    Versions of a combined hardware
    and software package to allow both
    8 and 16 bit Atari computers to
    receive, display, edit, store to
    disk, and print WEFAX weather
    images. This includes satellite
    photos, synoptic charts, and, in
    some cases, UPI type wire photos as
    well. Details follow:

    The software/hardware package will
    allow owners of Atari 520 ST
    computers to receive WEFAX images
    with a max resolution of 640 pixels
    horizontally by 480 pixels
    vertically. The image will be
    visible as it is being received,
    and phasing adjustment and image
    reversal can be made DURING image
    reception. Images can be saved to
    disk in DEGAS format, for later
    editing or printing with that
    popular graphic editor. Owners of
    the 8 bit Atari 800 and 130ST have
    versions that will receive an image
    with a max resolution of 512 pixels
    horizontally and 480 pixels
    vertically. During reception they
    will be able to not only adjust
    phasing and inverse video the image
    at will, but will also be able to
    scroll the monitor screen image
    both horizontally and/or vertically
    over the larger virtual picture as
    it is being received. On the 8 bit
    machines, an option is provided to
    receive a screen resolution only
    type picture, and save it to disk
    in Micropainter format. Tho the
    resolution here is so poor in this
    case that this option is worth very
    little.

    Unlike the Color Computer WEFAX
    that I presented in the Feburary
    1985 issue of Rainbow Magazine, the
    Atari implimentation requires a
    significant, tho rather simple,
    external hardware circuit. A
    single XR2211 FSK demodulator /
    tone decoder chip is used in an
    easy to build circuit that had
    about a dozen components. The
    circuit (pretty much exactly one of
    the "suggested implimentation"
    circuits presented with the
    manufacturer's specs on the chip)
    will be provided by Antic, tho at
    this time there are no plans for
    them to supply PC boards, kits, or
    assembled and tested units.

    I have had the pleasure of
    seeing some images received with
    both Atari WEFAX systems. They are
    of sufficiently high quality as to
    be professionally useable, tho
    noticeably less clear and detailed
    than Color Computer WEFAX images.
    Full assembly source code for the
    driver programs will be provided,
    and hooks have been placed for
    hackers to provide support for
    higher resolution reception (very
    sorely needed on the 520ST package)
    and for gray level reception too
    (tho for gray levels totally
    different HARDWARE will be required
    as the existing XR2211 circuit is
    incapable of receiving gray level
    information). It IS very
    impressive to see a full WEFAX
    image on the screen of an Atari
    520, after over a year of viewing
    CoCo WEFAX images by scrolling my
    Color Computer's 256 by 192 screen
    over the larger virtual image
    received by the color computer.

    Overall, the CoCo WEFAX remains
    a far superior package: It
    receives a 768 by 576 pixel image,
    for a total of 54K bytes of image
    data. This is in contrast to the
    640 by 480 res (32.0K bytes) on the
    520ST WEFAX, or the 512 by 480 res
    (30.72K bytes) on the 8 bit 130St
    or 800 machine. The CoCo version
    requires nearly nothing in the wa
    of external hardware. And it
    provides for both receiving AND
    sending of WEFAX images. It also
    is totally in the public domain,
    while the Antic version is of
    course copyright ANTIC magazine,
    creating in theory some barriers to
    its most wide possible distribution

    But the Antic WEFAX is a very
    nice package, and the 520ST version
    CAN be modified by a conscientious
    hacker to receives TWICE the linear
    (or four times the pixel count)
    resolution. This should be done
    immediately upon publication of the
    item, for a WEFAX signal contains
    image information of around 1500
    pixels by 1000 pixels, and there is
    no reason why the 520ST, with its
    outstanding graphics capability and
    ample memory, cannot be made to
    receive a larger vritual image and
    have its screen scroll over that
    image, just as the existing Color
    Computer and Atari 8 bit versions
    do. The hardware whose circuit
    will be published in ANTIC will
    support such higher resolutions,
    tho, as noted, it will NOT support
    gray level discrimination.

    Publication in ANTIC will assure
    a reasonably wide distribution of
    this extremely valuable program
    and hardware. Other additions
    hackers might want to make to the
    520ST WEFAX will be auto picture
    reception start, and auto phasing.
    Both of these can be added by
    appropriate software. No hardware
    modifications are needed for those.
    It is possible that some or all of
    these enhancements will later be
    provided in future issues of ANTIC.

    Of great significance will be
    the form in which this product will
    be presented by Antic. A GREAT
    deal of work is going into the
    September issue. Antic staff
    visited both the local national
    weather service office and the
    local WEFAX relay rebroadcasting
    facility. Interviews with staff
    there, photos of the equipment, and
    side by side comparisons of
    unretouched Atari WEFAX images with
    images received on national weather
    service FAX machine costing many
    thousands of dollars will be
    presented. Overall, it seems the
    September issue of ANTIC will be
    QUITE a block buster. Versions of
    this WEFAX project will later be
    developed for the Apple family of
    computers.

    (Note: I have NO connection
    with Antic Magazine other than a
    friendship with Charles Jackson,
    its managing editor. I made a
    rather small contribution to the
    development of the ANTIC WEFAX,
    primarily by harassing the folks at
    antic by demoing the Color Computer
    WEFAX. I also provided some
    information to them about
    frequencies to listen to, and lent
    for a few months my high frequency
    general coverage receiver to ANTIC
    to assist them with the project.)

    ---MARTY GOODMAN

    Xx Software Review
    ** Fooblitzky ** By:Bill Parker

    Infocom, the dependable developer
    of quality text adventures, has
    attempted to broaden thier spectrum
    of offerings with their first gfx
    assisted action/strategy game,
    Fooblitzky.......($32.99)....

    Infocom's impressive past track
    record, and appealing packaging
    were more than enough to seperate
    me from my money. Among the game's
    appealing attributes are the multi-
    player (2-4) capability (at last
    another "family game" - I thought),
    limited playing time (1-2 hours),
    and broad age appeal (14 to
    adult-whatever age that may be).

    As to play, the exterior
    description on the box provides an
    accurate simulation: ...a unique
    game of deduction strategy, and
    chance. It's a dog-eat-dog world,
    as you rove the crowded streets of
    Fooblitzky, trying to deduce and
    obtain the four objects needed to
    win the game. But this is no
    scavenger hunt: victory depends on
    how well you use funds, keep
    records, and out smart your fellow
    players.

    Fantastic, a learning experience
    disguised as fun. On screen
    movement of each players' alternate
    persona, in the form of a dog, is
    by joystick and trigger attached to
    port number one. The game even
    offers a "save game" capability and
    the opportunity to tailor various
    game parameters to vary the impact
    of chance and the degree of
    difficulty. What mre could I ask
    for? Well...

    User friendliness would have been
    nice. An inveterate "boot an go-
    -we'll get to the instructions
    later" type when dealing with
    games, I quickly found that the
    game gfx and mechanics only became
    comprehensible after careful
    reading of all the included
    documentation. While the game
    includes a three page refrence card
    (useful after you read the manual)
    and a seven page "The Bare
    Essentials" (a bit too bare),
    ability to relate to the on screen
    activities evaded me until I made
    careful study of the 28-page
    "Official Ordinances, Rules &
    Regulations for the City of
    Fooblitzky" With both my daughters
    ages 10 and 13,a game that requires
    reading the documentation is a game
    destined to gather dust on the
    shelf. Such remains the fate of
    FOOBLITZKY after nearly a month.

    Expertise with text adventures does
    not translate well into graphics.
    While adequate and often cute, the
    graphics are clearly not state of
    the art. Animation is not smooth
    and appears to ripple across the
    screen in a manner I found
    conducive to eye strain. As the
    game appears to utilize graphics 8
    and depend on "artifacting" for
    color generation, use of either a
    television or composite monitor is
    required.

    SUMMARY:
    While often cute and sometimes
    entertaining, the game fails to
    deliver the creditable challenge
    required to keep the targeted age
    group coming back for more. By
    design of the graphics and a
    definite leaning toward cute, the
    game could have targeted a younger
    age group well. However, lack of
    self-evident play mechanics, which
    results in a need for extensive
    familiarization with the manual,
    will limit appeal even here.
    FOOBLITZKY is a cute idea that
    failed to properly identify its
    prospective user and will,
    consequently, rack up considerable
    shelf time. Even the best can fall
    on their sword when exploring new
    territory.

    [Reprinted from the June 1986 issue
    of Current Notes; The Newsletter
    for Atari Owners]

    Xx Syndicate BBS Logo

    I am happy to say that I have
    received a trademark for the
    following logo. If you cant read
    it is because it is done in
    Atascii.



















    Bulletin Board Service






    Xx Assembly Language


    ANTIC PUBLISHING INC., COPYRIGHT
    1985. REPRINTED BY PERMISSION.

    CHRIS CRAWFORD
    ASSEMBLY LANGUAGE COURSE

    LESSON FOUR: BRANCHING

    One of the most important ideas
    in computing is the concept of
    conditional execution. This is the
    ability of the program to execute
    different routines depending on
    conditions at the time of
    execution.

    The significance of this
    capability is best realized by
    considering how programs would
    operate in its absence. A program
    without conditional execution would
    not be able to change its program
    flow in response to conditions.

    In other words, it would always
    execute exactly the same code in
    exactly the same order. Every run
    of the program would follow exactly
    the same sequence and perform
    exactly the same operations. Not
    very interesting, right?

    To get a grip on conditional
    execution, we need to look at it in
    its simplest expression. The
    simplest type of conditional
    execution is binary in nature. We
    have a chunk of code; the 6502 will
    either execute it or it will not
    execute it. The decision is made
    on the basis of a boolean value; a
    true value will tell us to execute
    the chunk, while a false value will
    tell the 6502 not to execute the
    chunk.

    The basic mechanism for doing
    this is through an instruction that
    performs a transfer of control.This
    involves nothing more than altering
    the program counter. You may recall
    that the program counter is a
    register in the 6502 that points to
    the address of the currently
    executed instruction.

    When that instruction has been
    executed, the program counter is
    increased by the length of the
    instruction (1,2, or 3 bytes,
    depending on the instruction). It
    now points to the next instruction.
    This little system allows the 6502
    to step through a program in
    sequence.

    But there are also instructions
    that will alter the value of the
    program counter, alowing the 6502
    to jump to another area of memory
    and another part of the program.
    The simplest of these is the JMP
    instruction. It takes the form JMP
    LABEL.

    This loads the value of the
    LABEL into the program counter.
    Its effect is to make the 6502 jump
    to the address of LABEL and
    continue execution from there. It
    is directly analagous to a GOTO
    instruction in Basic.

    For conditional execution we
    need something more. We need the
    6502 to have capability to make a
    binary decision based on a binary
    value. The solution used by the
    6502 involves flags. These are
    single-bit Boolean values stored
    together in a single byte of the
    6502 called the processor status
    register (SR).

    The status register is eight
    bits wide but stores only seven
    flags. These seven flags are
    labelled N,V, B, D, I, Z, and C.
    You have aready encountered the C
    (Carry) flag and the D(Decimal)
    flag. In this chapter, we are
    concerned only with the N, V, Z,
    and C flags.

    The magic instruction that makes
    possible conditional execution can
    take many forms. Its general form
    is Bfv LABEL. The B stands for
    "branch". The "f" stands for a
    flag, and the "v" stands for the
    value of the flag, either true or
    false. However, in this case, we do
    not use the terminology "true or
    false".

    Instead we use the terms "set"
    or "clear". "Set" means the same
    thing as "1" or "true", while
    "clear" means "0" or "false". The
    label is the address to which the
    6502 should branch if the condition
    is satisfied. If the condition is
    not satisfied, then the 6502 will
    simply skip this branch instruction
    and go to the following instruction.

    For example, suppose that we
    have the following instruction
    sequence:

    LDA #0
    BCS KARELIA
    LDA #5
    KARELIA STA FISH

    This will first load the
    accumulator with a zero. Then the
    6502 encounters the BCS ("Branch on
    Carry Set") instruction. It looks
    at the Carry flag. If this flag is
    set then the 6502 will indeed
    branch to the label KARELIA. (For
    all you geography buffs, Karelia
    used to be in Finland.) In other
    words, if the Carry flag is set,
    the 6502 will skip over the LDA
    #5 instruction. Thus, a zero will
    be stored into FISH.

    However, if the Carry flag is
    clear, then the 6502 will not take
    the branch. It will instead
    continue executing the next
    instruction, which will load a 5
    into the accumulator. Then it will
    come to the label KARELIA and store
    that 5 into FISH. Thus, the value
    of the Carry flag determines
    whether a zero or a five is stored
    into FISH.

    The converse of BCS is BCC
    ("Branch on Carry Clear"). This
    will cause the 6502 to take the
    branch if the Carry flag is clear.

    There is also a pair of similar
    instructions for the V-flag. These
    are BVS and BVC. They will cause
    the 6502 to branch on the value of
    the V-flag.

    Now the situation gets
    unncessarily confusing. The
    instructions for the Z-flag should
    be BZS and BZC -- "Branch on Z Set"
    and "Branch on Z Clear".
    Unfortunately, the dumb designer of
    the 6502 thought he would get cute
    at this point, so instead he called
    these instructions BEQ and BNE, for
    "Branch on Equal" and "Branch on
    Not Equal". He never mentioned
    what he thought is supposed to be
    equal to what. We're stuck with
    it, so make the best of it.

    Just remember what these
    instructions really mean BZS and
    BZC. If you think in terms of the
    Z-flag, it will work out just fine.
    If you try to think in terms of
    equal or not equal, your attention
    will be diverted from the real
    truth of the matter and you may
    make mistakes. So keep your eye on
    the ball and think in terms of Z!

    The next pair of branch
    instructions use the N-flag. These
    are even more insidious than the
    previous two. They are called BMI
    and BPL, meaning "Branch on Minus"
    and "Branch on Plus".

    At first glance, these appear to
    be reasonable substitutions for BNS
    and BNC. After all, if you load
    the accumulator with a signed
    number, and the number is negative,
    then the N-flag will be set, while
    if the number is positive, the N-
    flag will be clear.

    Thus, it would seem that BMI is
    truly equivalent to BNS and BPL is
    truly equivalent to BNC. This is
    the source of many a bug in
    beginner's programs. Consider the
    following fragment of code:

    LDA FISH
    SEC
    SBC BOAT
    BPL POSANSR

    This code is supposed to branch
    to POSANSR if FISH is greater than
    GOAT. And indeed, if FISH is
    greater than GOAT, then when you
    subtract GOAT from FISH, you will
    get a positive result, right? Not
    necessarily!

    Suppose, for example, that the
    value in FISH is $C1 and the value
    in GOAT is 1. When the 6502
    subtracts GOAT from FISH, it will
    get a result of $CO. Note that the
    highest bit of $CO is set to 1.
    This is the value that will go into
    the N-flag. In other words, even
    though FISH is greater than GOAT,
    the 6502 will not take the branch,
    and this code will fail.

    The moral of his tale is, don't
    take those instructions literally.
    They are misleadingly named. When
    you see BPL, don't think "Branch on
    Plus", think "Branch on N Clear".
    Otherwise, you'll screw up someday.

    By the way, the correct branch
    to use in the above problem is BCS.

    Now for a catch with the branch
    instructions. A JMP instruction is
    a simple absolute jump -- you
    specify the target address and it
    goes there. The designers of the
    6502 realized that the vast
    majority of branch instructions
    only go a short distance They
    therefore decided to implement the
    branch instruction as a relative
    branch.

    The machine code doesn't specify
    the target of the branch, it only
    specifies an offset. In other
    words, instead of saying, "jump
    there", it says, "jump so many
    bytes forward or backward." The
    allowable range is 126 bytes
    forward or backward. Thus, you
    can't branch anywhere you want,
    only to nearby locations, If you
    must branch further, reverse the
    logic of the branch and use the
    branch to skip over a JMP
    statement.

    The next installment will be in two
    weeks, since next weeks issue will
    be entirely devoted to ST news.


    Xx Hardware Review

    OKIDATA'S 182 TTY PRINTER PROVIDES
    MULTISTAGE VERSATILITY
    June 1986

    Okidata
    Div. of Oki America, Inc.
    532 Fellowship Rd.
    Mt. Laurel, NJ 08054
    609/235-2600
    Computer: Any computer with
    Centronics-style parallel printer
    port (serial port operation is
    optional).

    Features: 120 cps print speed; dot
    matrix with 9x9 standard
    characters; 80 characters per line
    standard or 137 characters per line
    condensed; 10, 12 or 17.1 cpi and
    expanded character sizes; 6 or 8
    line-per-inch spacing; selectable
    four-stage operation from "dumb"
    TTY mode to full intelligent mode;
    bit-image graphics capability; pin
    feeding for continuous forms or
    friction feeding for single sheets;
    top or bottom paper feeding;
    re-inking ribbon cartridges;
    direct-drive printhead. Options:
    RS-232C serial interface (high
    speed to 9,600 baud or super speed
    to 19,200 baud); tractor drive;
    roll-paper stands (both
    nonelectronic for attended
    operation and electronic for
    unattended operation).

    Model Tested: Basic 182 TTY printer
    with parallel interface driven by a
    Compaq Deskpro via standard LPT1
    printer port.

    Prices: $349 for basic printer;
    $409 for printer with serial
    interface; $59 for electronic
    roll-paper stand; $49 for tractor
    drive.

    Reviewed by Ernest E. Mau
    As its name implies, the Okidata
    182 TTY printer is intended
    primarily for telecommunications,
    especially where it's connected via
    a terminal to dump information
    directly to hard copy without
    having a local computer capture
    and store the information. As a
    teletype-like printer, the 182 TTY
    can handle such tasks without
    printing "garbage," unlike many
    other printers available today.

    Yet this printer works equally
    well in computer-controlled
    applications because it
    incorporates four stages of
    switch-selected intelligence. TTY
    model makes it a receive-only
    teletype accepting only printable
    characters, carriage returns,
    linefeeds and form feeds. CRT mode
    adds adjustable margins and
    horizontal and vertical tabs for
    rudimentary page formatting. Basic
    Printer Mode adds selectable type
    sizes and line spacings.
    Intelligent Printer Mode adds
    underlining, superscripts,
    subscripts, enhanced printing and
    emphasized printing.

    At the topmost intelligence
    level, the printer includes all
    features (including bit-mapped
    graphics) expected of any printer
    for general-purpose computer
    applications. It responds to the
    standard Okidata Microline 182 or
    Microline 92 printer drivers
    included in commercial software and
    does an admirable job with word
    processors, business graphics
    programs and even computer- aided
    design systems. In extremely small
    graphics with fine lettering, it
    doesn't provide as crisp an output
    as some other printers, but that
    application really pushes the 182
    TTY beyond its intended uses.
    Still, it should suffice for all
    but the most critical graphic
    applications.

    Under software control, the
    intelligent mode also provides
    block graphics, language fonts
    (British, German, French, French
    Canadian and Spanish), line
    skipping, incremental line spacing,
    and other capabilities.

    One notable feature is that the
    printhead is not driven by a belt.
    Instead, it contains a small
    direct-drive motor and gearing that
    engages a stationary track. That
    makes it quieter than other
    printers of the same speed and
    should mean greater long-term
    reliability. Furthermore, printhead
    positioning is microprocessor
    controlled and uses an optical
    sensor to determine the actual
    position, the desired position and
    any adjustments necessary to match
    them up. It's nearly impossible to
    print a character or dot pattern
    out of position, even when
    operating under adverse conditions
    of vibration and movement.

    I find this printer easy to use,
    although I prefer it in the
    intelligent mode as a general-
    purpose printer. It's small size
    makes it unobtrusive and easy to
    install in any convenient nook
    or cranny, while its comparatively
    quiet operation isn't excessively
    distracting.

    I can talk on the phone while the
    printer s working next to me, so it
    should be suitable for most office
    environments.

    What I don't like is the position of the parallel connector, which
    interferes with the paper feed
    path. Using clean-tear or
    microperforated paper, the
    stress caused by the connecting
    cable easily tears the paper all or
    part way across a fold line. If
    torn is only part way, paper jams
    in the pin feeds.


    Xx Zmag Notes

    Next week is our ST edition. I
    wouls also like to welcome The
    Sorcerer as our new ST Editor.

    Next week also will include a
    BBS review by Walt Drummond of an
    ST run BBS.

    I would also like to inform our
    readers that since the Syndicate
    BBS has resigned from the Atomic
    Network. We ar starting something
    new. In a few weeks we will debut
    the Zmag Information Network. This
    network will list and supply BBS
    Systems with weekly issues of Zmag.
    Only systems we feel that service
    it's users and promote tele-
    communications are invited to join.
    If you know of a system that might
    meet the above criteria, please let
    me know on this BBS or on Compuserve
    at 71777,2140.

    Thanks for reading and I hope
    everyone has a great Holiday
    Weekend. Take care!
    See you next week,

    -----------------------------------
    Zmagazine July 2, 1986
    Please contribute!!
    -----------------------------------