Z*Magazine: 3-Dec-90 #187
From: Atari SIG (xx004@cleveland.Freenet.Edu)
Date: 10/02/93-03:38:08 PM Z
From: xx004@cleveland.Freenet.Edu (Atari SIG)
Subject: Z*Magazine: 3-Dec-90 #187
Date: Sat Oct 2 15:38:08 1993
==(((((((((( == Z*MAG/A\ZINE ATARI ONLINE MAGAZINE
=========(( === December 3, 1990
=======(( ===== Issue #187
=====(( ======= ----------------------------------
==(((((((((( == Copyright (c)1990, Rovac Ind Inc..
Publisher/Editor : Ron Kovacs
Contributing Editor: Stan Lowell
-----------------------------------------------------------------------
CompuServe: 71777,2140 GEnie: Z-NET Z*NET BBS: (908) 968-8148
-----------------------------------------------------------------------
EDITORS DESK
============
by Ron Kovacs
It has been a month since the last release and we blame this on a few
matters not worth going into details about. We are however, building
a library of informative articles, so we should be able to start a
regular release schedule.
We welcome the new systems who have joined the Z*Magazine crossnet
conference and look forward to some interesting conversation in the
weeks ahead. If your FoReM ST board is not carrying the Z*Mag
conference, tell your sysop to send email to node 593 and request
it. The conference code is 10593 and of course the lead node is 593.
Pass this information along so a quick sign-up can take place.
Special thanks to Bob Smith for the newsletters which have been the
source for some of the articles we are publishing this week.
Z*NET NEWSWIRE
==============
MICHTRON GOES EAST PRESS RELEASE
Michtron's operation has been purchased by a software group from Newark,
Delaware. The new president, James A. Dorsman, has taken over full
operation of all technical support, development, and publishing. Other
support staff includes Douglas E. Mackall, Curtis S. Wayne, Richard E.
Lamb, and Scott R. Lahteine. Gordon Monnier, former president of
Michtron, will be consulting with the new firm to help make the
transition as smooth as possible.
Under Michtron's new management team, an aggressive and exciting new
product launch is being formulated. Michtron's existing product line
will continue to be sold and serviced with the usual expertise.
Michtron intends to continue distributing and servicing for the overseas
publishers it has worked with in the past, and to seek out new products
from home as well as abroad. For more information, or to be included on
Michtron's mailing list, please call or write to: MICHTRON, INC., 3201
Drummond Plaza, Newark, DE 19711, 1-302-454-7946, 1-302-454-1403 (FAX).
At present we are working very hard to get things organized and working
smoothly. Please bare with us a for a few weeks, until we have our
customer support, BBS, and tech support put together. If at all
possible, please submit any questions in writing to the above address
for the next month or so. When we are completely operational, I will
post another notice here giving the new BBS number. Thank you for your
patience, and we look forward to serving you with the best customer
support in the business in the near future. -- Doug Mackall, Michtron
MICHAEL KATZ LEAVES SEGA
ZNS (Dec 2) Michael Katz has stepped down as chief of game maker Sega
of America Inc.'s consumer products division, a position he has held
since joining a year ago. Katz was previously employed by Atari
Corporation.
MOTOROLA SHIPPING 68040 CHIP
ZNS (Dec 2) Motorola recently announced that it has begun shipments of
its 68040 microprocessor. Motorola introduced the state-of-the-art
chip in March 1990 with expectations of large volume shipments by
summer, bugs in the microprocessor forced the delay. The chip packs
1.2 million transistors on a tiny piece of silicon. The chip is
expected to be in short supply for several months as Motorola attempts
to fill a backlog of orders from several companies, including Apple,
Unisys Corp. and NEC.
CONVICTED CRACKER APPEALING
ZNS (Dec 2) One of three Georgia men who pleaded guilty to illegally
entrying BellSouth Corp.'s computers is appealing a portion of his
sentence that prohibits him from using computers while serving his time.
Robert Riggs was sentenced to 21 months in jail, while his associates,
Franklin Darden Jr. and Adam Grant, were handed 14 month jail terms,
half of which may be served in a halfway house. Parts of the sentence
have some people concerned, Riggs, Darden and Grant were ordered to pay
$233,000 each to compensate BellSouth for injury to network and to help
pay for repairs.
NEW COMPUTER CHIP
ZNS (Dec 2) NMB Technologies announced the availability of its new
AAA1M300 series 1-Mbit CMOS DRAM at 60ns. The high-speed design
supports direct access with 16-MHz microprocessors, eliminating the
need for cache memory and allowing designers to create true zero wait
state systems. Pricing for the 1-Mbit 60ns DRAM is approximately $5
per unit for quantities of 10,000. For further technical and pricing
data, contact Tony Takeshita, NMB Technologies, 9730 Independence Ave.,
Chatsworth, CA 91311, 818-341-3355.
Z*MAGAZINE SPECIAL REPORT
ATARI AT FALL COMDEX 1990
--------------------------
by John Nagy
ZNS (NOV 26): Twice a year, the INTERFACE GROUP throws the biggest
computer show the USA ever sees. It is COMDEX, with the Fall show in
Las Vegas and the Spring show in Atlanta. This is where manufacturers
meet the distributors and dealers who will buy the newest and best
Computer products to put into their stores and catalogs. COMDEX is the
computer re-sellers mecca. Atari was there, and so was the Z*NET NEWS
SERVICE.
SUNDAY: November 11: It's setup time at the ever-more massive COMDEX
computer exposition here in Las Vegas, Nevada. I visited the new show
floor at the Sands Convention facility on Saturday afternoon to see the
Atari exhibit being built. It is the largest floor area for a COMDEX
that I have seen Atari have yet, with a mixed color scheme that clearly
illustrated the differentiation of the Atari Personal/Home computer
products from the Atari Business products. The Home area is accented
by rainbow colored banners, rich in fluorescent oranges, while the
Business area is a dignified Black and White.
Yes, the MEGA/STE is REAL, and I am writing this first report on one!
The configuration is as predicted weeks ago in Z*Net, identical
construction to the TT, although in Grey rather than off-White. It is
NOT in production yet, and may see distribution in very early 1991.
At least five Mega/STe units are set up in the Atari booth, along with
more than seven TT/030 units. All the Mega/STe units here on display
are hooked to the new Phillips 14" color monitors, the STEREO SOUND
units, model SC1435. This is VERY nice, large screen unit that will
replace the SC1224 monitors completely, and should retail at or just
above the current color monitor price (around $399 retail). It IS a
step UP. The picture is every bit as good as the smaller screen units
that preceded it, but comfortably larger. Full adjustments are offered
(from the outside!) for picture size and centering. The internal sound
is indeed stereo, but the amplifier and speakers are sadly no better
than in the older mono units, leaving you to use external amps and
speakers if you want the really clean, loud, distortion free sound that
the new output of the STe series is capable of.
The TT's are almost old news by now after a year has passed from the
COMDEX introduction in 1989. But today they are running the new SC1434
color monitors that offer the new TT resolutions ($450), and at least
two are on the new Atari 19" monochrome monitors... VERRRRY impressive
at under $1,000 each. The latest TT configuration, running at 32 Mhz
with the new TOS and GEM NEWDESK, is expected to base price at nearly
$3,000 (no monitor) for a four meg, fifty megabyte hard drive unit.
Many developers are worried that this price is just too high to be
competitive with the MAC II, available in similar (albeit slower)
configurations for as little as $2,500. While "street price" of the TT
may well match or barely beat the Mac II, there must be some additional
incentive for buyers to select against the MAC name and software base.
The REALLY bad news is... the TT has NOT passed the FCC testing, and so
it is NOT ready for US distribution. Yes, Atari had promised that the
TT would be shipping right after COMDEX, and the failure to have it
ready is a major blow to both morale and sales impact at this pivotal
show. There are now NO promises on WHEN the TT030 can be shipped,
despite the hopeful words of "real soon now".
Attending third-party Atari vendors are quite dismayed, both to find
that the TT will not be available, and also to find that a new machine
has been "sprung" on them, as the Mega/STe was NOT announced even to
developers. There are wide concerns that the new machine may cause new
software compatibility headaches. Atari assures them that it will NOT.
In keeping with the business flavor of COMDEX, the "Home" part of the
Atari booth is small... featuring twin setups of 1040STe units on modems
for CompuServe and GEnie. It looks like the ONLY computer that Atari
considers as a HOME unit now is the 1040STe. It may, in fact, become
available to ALL dealers of any hardware or software if plans to place
the 1040STe line with national distributors come to fruition.
Portfolios are all over the place, with hookups to a couple "alien"
computers... a Mac SE and an IBM PS/2. It was a bit odd to see those
computers in the Atari booth, but they are there to demonstrate
connectivity with the palmtop Portfolio computer.
MONDAY: November 12: This Fall Comdex spans 2.2 MILLION square feet,
and perhaps even MORE than 2.2 million SORE feet. The crowds are at
least as large as ever, although there was much more traffic in the
"established" convention halls than there was in the Sands Exposition
and Convention Center (SECC), the brand new facility that helps make
this Comdex 20% larger than any ever before. Unfortunately, Atari Corp
is in the new SECC, and enjoyed less than throngs of people today. The
traffic grew throughout the day, however, and most of us expect that
the newness of the facility will wear off and that Comdex "regulars"
will visit the hall later in the week.
The Atari exhibit looked even better today, with the last of the boxes
and plastic carpet protectors put away, revealing further division
between the "Home Computing" and "Business" areas of the booth. The
Home area is about 20% of the booth, separated by a wide isle of
burgundy carpet that exactly matches the regular isles. The visual
impact is that Atari has two adjacent booths. I am told that at CES,
the same concept will be used, with the proportions reversed.
Portfolio developers included XETORIX with their remarkable tiny hard
drive, and IBP with PORTALOG, a mobile systems logging and analysis
system for monitoring of environmental control systems, like huge plants
or office buildings.
Atari itself showed their new FSM GDOS ("Font Scaling Module"), to be
released this winter, perhaps as a freeware update to the world, perhaps
as a bundle with every new machine sold and some small fee to everyone
else. This outline font technology updates the old and limited GDOS
system to provide completely scalable and rotatable GDOS fonts. The
outlines will be standard Ultrascript outlines, although from the IBM
family of fonts rather than the Atari ST Ultrascript family. The added
interchangability is probably worth the inconvenience to existing ST
Ultrascript users. I played with the FMS system long enough to know
that although it is even MORE complicated to install than the OLD GDOS,
the power and versatility it adds to even simple printing programs is
going to be worth every minute of effort.
On hand were Jack Tramiel, Sam Tramiel, Garry Tramiel, new General
Manager Greg Pratt, and the Atari regulars including Bob Brodie, Art
Morgan, Mel Stevens, Dan MacNamee, J.Patton, Don Thomas, Ceazar Dennis,
Diana Goralcyzk, and the new guy, Bill Rehbock. Greg Pratt is younger
than I expected, and is very approachable. His enthusiasm for Atari
shows in every word... and Greg is no newcomer to Atari, having been
head of the Financial division for some years. It looks like he must
have reason for optimism. I remain ready to believe.
Yes, Atari looks GOOD at this COMDEX, and has more square footage in the
largest hall of the convention than any vendor except JVC. While one
developer observed that they wished some of the COMDEX show dollars were
going to support the developer and dealer network, in a very real way,
they ARE. Here at COMDEX, in the largest computer resellers convention
in the world, ATARI is making sure that NO ONE thinks that ATARI is a
second class manufacturer. THAT MATTERS, friends. Across the board.
WEDNESDAY: November 14: Tuesday brought larger numbers of visitors to
the SANDS convention hall, the new facility that was comparatively
lightly traveled on Monday. This brought crowds into the Atari booth,
the largest and most central to the front doors in the entire hall.
Atari had some of the nicest literature on hand to date, fold-out color
brochures for the "TT030 Graphics Workstation", the "Mega STe Business
Computer", and the "1040STe Personal System". These were prepared by
Marken and Associates, just recently re-signed with Atari after a less
than dramatic stay with the advertising firm of Bob Thomas and
Associates. Andy Marken was on hand throughout the show to help, talk,
and learn more about what the users seem to want to know. That can only
help in his efforts to promote Atari products.
While many of the passers-through were most intrigued by the rows of
Portfolio palmtop computers, others were interested in what they
perceived as a "more advanced Macintosh" environment. Still others knew
of Atari "way back" and wanted to know what these new machines could do.
We won't get a real report of the true effectiveness of the Atari
presence at Comdex until (or IF) we hear what kind of numbers of dealer
inquiries and distributor contracts are made.
Openly discussed by sales representatives and exhibitors was the
possibility/likelihood of placing the 1040STe line into the major
distributor channels, making them as easy for any dealer anywhere to buy
as any given software title. Pricing would become uniform for any
quantity, and delivery would be out of Atari's hands. While this idea
has a great deal going for it, Atari has concerns over possible abuses
of the plan, such as distributors or dealers "unbundling" bundles of
hardware and software for the purpose of selling it separately for more
total income.
Bundles? Yes, there are at last approved Atari bundles for fourth-
quarter distribution and promotion. There are still several to be
approved, mostly including games and leisure software, but here are the
ones that are a go so far. Remember, the prices here are SUGGESTED
RETAIL.
520STFM HOME ENTERTAINMENT PACK: 520STFM, Missile Command, Star Raiders,
Crack'd, Moon Patrol, NEOChrome, Joust. Retail: $579.65
520STFM COMMUNICATIONS PACK: Computer, SX212 modem, STALKER and STENO
telecommunications software. Retail: $529.85
1040STE HOME PRINT SHOP BUNDLE: Computer, MIGRAPH HAND SCANNER, Touch-
Up, Easy Draw 3.0. Retail: $1,398.90
1040STE DELUXE PAINT PACK: Computer, ELECTRONIC ARTS DELUXE PAINT
ANIMATOR. Retail: $799.90
DTP PACKAGE #1: Mega 2 computer, SM124 Mono Monitor, Megafile 30 hard
drive, SLM605 Laser Printer, CALAMUS. Retail: $2,199.00
DTP PACKAGE #2: Mega 2 Computer, SM124 Mono Monitor, Megafile 30 hard
drive, SLM605 Laser Printer, DESKSET II. Retail: $2,099.00
PORTFOLIO PC TRAVELER: Portfolio computer, File Manager ROM card, PC
CARD DRIVE, and 128K Memory Card. Retail: under $500.
New SC1435 COLOR MONITOR, 14" screen, STEREO SOUND, swivel/tilt stand.
Retail: $399.00
If any of those prices sound a bit high, remember that Atari is now
offering about a good markup in their retail prices, so dealers can
either actually make some money OR offer great deals. Dealer costs tend
to be about 66% of the retail, and street prices may be closer to 3/4 of
the retail.
Late word is that the Portfolio may soon be in PRICE CLUB mass-marketing
discount stores CHEAP. Dealers need not fear too much, since Price Club
and other similar membership-oriented warehouse stores usually carry NO
accessories, so dealers can pick up on the considerably more lucrative
support market.
More promotion of the Atari Line came as a surprise to Bob Brodie, ISD's
Nathan Potechin, and new Atari U.S. General Manager Greg Pratt on
Tuesday night. The three attended the Beach Boys concert at Caesar's
Palace as guests of the Beach Boys, longtime Atari MIDI users. During
the opening act, the comedian Andy Bumatai mentioned that he was a
computer fan and that the Atari TT "just blew me away". He wasn't
joking at the time, either. Later, during the Beach Boys set, Bruce
Johnston of the band stopped the music and said that he had a dedication
to make, despite dedications being "old stuff these days". He proceeded
to explain that the little computer at the corner of the stage had
performed flawlessly for three years, "saving their behinds" over and
over. He finished by saying, "Atari, this one's for you", and the bad
went into "Don't Worry Baby". The Atari table was totally surprised,
and Greg asked Bob how he pulled that one off. Bob, as surprised as any
of them, recovered enough to say "it was just a phone call..." Betcha
Greg remembers Bob at Christmas...
WRAPUP
This is perhaps the longest review of a show I have ever assembled...
and perhaps it should be. Although I left before the Friday close of
the show, I know that I could have walked non-stop all week and NOT have
seen MOST of the show. I did see the COMMODORE exhibit, a ways back in
the same hall as Atari. It was perhaps 25% the size of Atari's area,
but was filled with very dramatic video presentations on the Amiga
machines. One, a real-time color video digitizer, was so good that it
made our VIDI-ST pictures look like kids drawings. Of course, it was
maybe 10 times the price... or more. But the crowds weren't there.
Atari had lots more general interest. Much of it for the Portfolio.
There was LOTS of Atari to see and discuss at this COMDEX, although much
of the discussion was less than a treat to participate in. The
disappointments from Atari just keep coming. But the presence of Atari
simply won't go away, either. Atari proves over and over that there is
every reason to expect that the company can indeed produce the right
machine at the right price. This time it is the Mega/STe. (My personal
opinion of the TT030 is that it is too much money for what it delivers.)
The amount of money and effort that goes into a dramatic showing of best
intent, as Atari has shown and spent at this COMDEX, once again has
pulled many users and developers (and writers!) back from the brink of
jumping ship. We hope that it will do the same for dealers and
distributors of Atari hardware in the USA. That's what COMDEX is for.
SOUPING UP THE 1200XL
=====================
by Paul Smith
(Reprinted from the November 1990 Issue of the Mid-Florida Atari
Computer Club Bulletin by permission.)
Those of you who like your 1200XL may have felt a little forlorn
recently with all the nifty mods available for the other XL/XE machines.
Well, help is on the way. I've had a chance to tear apart a 1200XL and
"make it all it should have been." I'll describe the various mods
available for those of you with enough know-how (or enough guts) to try.
PRINTER INTERFACES
Some of the "Apeface" style of printer interfaces won't work on the
1200XL. This is because they get their power from the computer. The
power available from the 1200XL is not enough to drive these external
devices. To fix this, short out R63. This is the 100 OHM resistor,
(brown-black-brown), in series with the power supply and is located near
the serial I/O connector (J1). Just solder a wire from one end of the
resistor to the other. It is easiest to do this from the solder side of
the board.
SERIAL I/O CONNECTOR
Connect together pin 4 and 6 of the serial I/O connector. These should
be both connected together and then to ground. The 1200XL schematic
shows these both connected, but on my machine only one was. As before,
this is easiest to do on the solder side of te board.
CHROMA OUTPUT
As with the entire XL series, the chroma output has been left off of the
monitor jack. This can be easily restored with the addition of a single
75 OHM resistor, (violet-green-black). Find the transistor Q7. Its
emitter is soldered to the square pad, (the others are circular). On
the solder side of the board, connect one end of the resistor to this
square solder pad. Connect the other end of the resistor to the unused
pin of the monitor jack (J2) through a wire of appropriate length.
XE-COMPATIBILITY
An XE-compatible 256K upgrade is possible. To perform this mod, remove
R30 (near DRAM U5). Also lift up pin 12 and 13 of the PIA (U23) from
the socket, (with this mod, you lose the use of the two LED's on the
fromt panel). Remove the 8 DRAMs located along the front row of the PC
board. Build up the circuit with the following parts:
UA - 74LS393
UB - 74LS153
UC - 74LS151
UD - 74LS10
Since the shield is low, the piggyback technique cannot be used. Nor is
there much room for a small PC board. I hand wired the parts by placing
the IC's upside down on the top side of the board and soldering from leg
to leg. When connecting the circuit, pin 1 of the DRAM is the hole left
by R30 nearest DRAM U5. Left pin 9 from U10. This is to be connected
to one end of R97, the other end should be connected to pin 6 of the new
74LS151 (UC). To test this modification, run any of the programs
written to utilize the 130XE extra memory. Better yet, try running one
of the RAMdisk programs available for the 256K 800XL.
TRANSLATOR
It is possible to re-program the OS sockets to accept 2764 EPROMs. This
will allow you to have built-in translators installed in your machine.
To perform this modification, locate jumpers W6 through W13. They must
be set up according to the following label. Note: W10 is not used for
this - it is used to program the GTIA for US or European TV standards.
JUMPER ROMS EPROMS
------ ---- ------
W6 IN OUT
W7 IN OUT
W8 IN OUT
W9 IN OUT
W11 OUT IN
W12 OUT IN
W13 OUT IN
With these modifications installed, you have brought your machine up to
the state-of-art, (although it is still a little large). It should be
able to take on all comers.
USING 'USR'
===========
8-Bit Programming Tutorial - Part 2 (Conclusion)
by John Picken of GCACE
(Reprinted from the Puget Sound Atari News, September 1990)
Editor's Note: Please refer to the August 1990 issue of PSAN and Issue
#186 for Part 1 of this article.
ASSEMBLER TECHNIQUES AND TRICKS
This section is written with reference to MAC/65 and will obviously
apply in only varying degrees to other assemblers.
Use some form of standard header which can be ENTERed before or after
you start coding. It saves typing, ensures you don't forget things, and
makes it easier to classify and file your code. You can include SAVE
statements after semicolons and space the lines so the cursor ends up on
the appropriate one each time you hit [RETURN]. Then just [SPACE] over
the line number and semicolon and press [RETURN] to save. Note that's
"tatement" with an "s" at both ends -- working out of RAMdisk is
convenient BUT just kick the wrong cord when you've got an hour's worth
of work saved to the RAMdisk only!
I follow the header with syntax and parameter instructions as well as a
description of routine returns. These are started before coding, but
are updated and revised as ideas occur or difficulties arise during the
actual writing. In this way they serve as a kind of program
specification to work toward and as "DOC's" when done. In the same
area, when assigning variables, the *=*+ trick saves a lot of typing
each time you want to insert or change one -- just be sure FR0 ends up
where it's supposed to.
Don't overlook the flexibility offered by MAC's TEXT mode and the PRINT
option. In TEXT mode, you can ENTER and edit anything including LISTed
BASIC. You can also REPlace semicolons in ML with periods, LIST to
disk, and then ENTER the lines as REM's directly into a BASIC program.
If you want to reorganize a program, it is often easiest to PRINT to
disk to kill the line numbers and then reorganize using a word
processor. Then you can use the ENTER #Dn:... ,A option to get it back
into MAC/65 which will supply new line numbers. These techniques are so
convenient that I often use a combination of TEXT mode, PaperClip and
line labels to work on Turbo BASIC programs. Once done, either PC or
MAC can replace the labels with line numbers for use with Atari BASIC.
If code exceeds 250 or so bytes, many assemblers produce compound files
which cannot be used in a string. An easy way around this is to
assemble to RAM (somewhere around $6000) and use BSAVE. This has the
added advantage of allowing you to work on the file with a monitor.
Check the last few lines of both examples. The percent sign in the
BSAVE line is used to indicate a line delete character [ESC] [SHIFT]
[DELETE]. This causes the line to appear on screen as a command after
assembly so all you have to do is overtype "LAST" with the address which
appears above it.
TWO EXAMPLES
The best way to demonstrate technique is with short programs that serve
real and useful functions. The first sample listing obtains a key press
from a list of allowable keyboard codes. To avoid a series of IF-THEN
statements or conversions, the routine returns the position in the list
of the key pressed. This means a calling program can use ON-GOTO(SUB)
or variable line numbers; for example:
ON USR(ADR(K$),k1,k2,k3) GOTO 100,200,300 or
GOTO 100*USR(ADR(K$),k1,k2,k3)
The second routine is a flexible and powerful disk access tool. It can
form the basis for any number of programs since it includes some
functions normally found in DOS. The program I wrote it for, uses it to
(among other things) read SpartaDOS directories from BASIC while working
under any FMS. This routine is an example of what I call "one bit
programming". This means making use of individual bits, several flags,
and every possible known condition to save bytes. FR0 is used to find
the routine's address, loops are started so as to leave an index
register set for subsequent operations, etc. BIT is used for the trick
mentionned above as well as for its true purpose and, in conjunction
with that, both the N and V flags are used.
THE FAT LADY SINGS
The sample routines are complex but worth working through. You'll
discover numerous byte saving tricks, especially in the second. Of
course you don't start by writing anything so difficult. Consider, for
example, a routine to set your system defaults. For screen color and
keyboard defaults, all you need to use are load and store instructions
though this is an excellent spot for loop(s). Setting things up this
way is considerably faster (and more satisfying) than using SETCOLOR and
POKE and, if you skip the PLA, the same code can be used as a SpartaDOS
COM.
Like any other language, you learn assembler by doing; and the best way
to start doing is with short USR routines. BASIC programmers who don't
want to "do" assembler can still use the two example routines; I've
included both in the form of LISTed BASIC lines in the file USRTUTOR.ARC
for your intrepid editor to stick on a BBS. (You'll still have to look
at the source code for the "DOC's".) Up here, in The Great White North,
the file is on The Pothole BBS at 604-642-6795.
EXAMPLE 1
.TITLE "Get Key"
; Programmed by John Picken
; last revision: 20 Sep 89
; Syntax
;K=USR(ADR(KEY$)[,k1,k2,...,kn])
; k1,.., etc. are Keyboard codes
;
; Gets a key press and compares
; its keyboard code with a list
; of target codes. When matched,
; the key's position in the list
; is returned. Maximum allowable
; keys is 26 in Atari Basic, 27
; with Turbo. Keys are checked
; in the order passed so, if a
; code is passed twice, the 1st
; match is reported.
;
; If called with no parameters,
; the routine supplies defaults
; as if called for RETURN only.
; ESC always exits and returns 0
; BREAK is disabled until the
; routine exits to Basic.
;
; Equates and macros
CH = $02FC Last key pressed
POKMSK = $10
IRQEN = $D20E
MASK = $3F
; Mask values for use with AND
; $3F = All converted to
; upper case
; $7F = Ctrl and Shft Ctrl
; converted to Shft
; $BF = Shft Ctrl
; converted to Ctrl
; $FF = No conversion
;
.MACRO SKIPW
.BYTE $2C
.ENDM
;
*= $CB
POKSAV *= *+1
COUNT *= *+1
UNUSED *= *+7
FR0 *= *+2 ; D4
TABLE
;
*= $6000 Relocatable
ENTRY LDA POKMSK Save <Break>
STA POKSAV key status.
AND #$7F Kill <Break>
STA IRQEN
STA POKMSK
LDX #0 x for later but
STX FR0+1 clear msb now.
;
PLA Get parameter
TAY count and branch
BNE BUILD if any. Else set
;
INY up a default of
LDA #12 one key <Return>
SKIPW and skip 2 PLA's
;
BUILD PLA msb Key codes
PLA lsb from Basic
;
STA TABLE,X Build key table
INX using x as index
DEY and y as param
BNE BUILD count.
;
STX COUNT x=table length.
DEY Keep $FF in y to
;
CLEAR STY CH clear key press.
;
KEY? LDA CH Loop til some
CMP #$FF key pressed.
BEQ KEY?
;
AND #MASK Upper case only.
LDX #0 Table index.
CMP #28 ESC pressed?
BEQ REPORT If so, exit.
;
MATCH? INX Next entry.
CMP TABLE-1,X Match found?
BEQ REPORT If so, exit.
;
CPX COUNT At table end?
BNE MATCH? No, try next.
;
BEQ CLEAR Yes, refuse key.
;
REPORT STX FR0 Report match.
STY CH Leave CH clear
LDA POKSAV and restore
STA POKMSK original status
STA IRQEN of <Break>.
;
RTS That's it
;
.OPT LIST
CODELEN = *-ENTRY
LAST = *-1
;%BSAVE #D1:GETKEY.OBJ <6000,LAST
;
.OPT NO LIST
.END
EXAMPLE 2
.TITLE "SIO Utility"
; Programmed by John Picken
; last revision: 05 Oct 89
;
; A USR routine to access SIO.
; Syntax
;Status only
; S=USR(rtn)
;
;Status or Format
; S=USR(rtn,cmd)
;
;Read or Put/Write ops
; single sector
; S=USR(rtn,cmd,sec,buf)
; consecutive sectors
; S=USR(rtn,cmd,sec,buf,lim)
; trace file links
; S=USR(rtn,cmd+$80,sec,buf,lim)
; follow list of sectors
; S=USR(rtn,cmd,adr,buf)
; follow offset list of sectors
; S=USR(rtn,cmd,adr,buf,off)
; _____________________________
; 1st param is command: !"PRSW
;
; No other parameter is needed
; or accepted for Format. Since
; the routine checks status when
; called, the Status command is
; not needed but will execute
; correctly if used.
;
; If cmd is passed with the high
; bit set (inverse P, R, or W),
; the routine reads or writes
; sectors by tracing Dos 2 type
; file links until a forward
; pointer less than 3 is found
; or until the limit in param 4.
; The trace assumes bits 2-7 of
; the forward pointer msb are a
; file number and ignores them
; (MyDos/TopDos style). This
; limits it to sectors 4-1023.
;
; The high bit of cmd is simply
; ignored on format or status.
; _____________________________
; 2nd param is sector number of
; the starting (or only) sector.
; or
; If greater than 1279 (msb 5+),
; this param is taken to be the
; address of a string of sector
; numbers in 6502 order. This
; string must end with two zero
; bytes. This is the format used
; by SpartaDos in map sectors
; from byte 4 on (bytes 0-3 are
; previous & next map pointers).
; _____________________________
; 3rd param is buffer address.
; _____________________________
; The msb of the 4th param is
; always ignored.
;
; This param is total number of
; consecutive sectors or maximum
; traced sectors to do. Since
; the longest possible buffer
; string is 32767, the routine
; will not allow more than 127
; double density sectors.
; or
; If operating on listed sectors
; this is the offset in sectors
; counting from 1. eg. to start
; with the ninth sector in the
; list, this param would be 9.
; The routine uses 2*(offset-1)
; for indexing so it is limited
; to 128 sectors. For greater
; offsets, adjust the string
; address in param 2.
; _____________________________
; Default parameters
; Drive and timeout may be
; altered by string assignment:
; Sio$(8,8)=CHR$(DUnit)
; Sio$(13,13)=CHR$(DTimlo)
;
; The routine sets DBytlo/hi
; based on the status call but
; always uses single density
; with boot sectors.
; _____________________________
; Returns
; The routine reports SIO status
; via FR0. Error 168 is used for
; a parameter error. Error 255
; indicates an attempt to access
; more than 127 DD sectors.
;
; Following sector operations,
; the number of successful ops
; is PEEK(208) and the final, or
; abort, sector number is left
; in Daux1/2 (778-779)
;
; The status frame is left in
; Dvstat (746-749).
;
.MACRO SKIPW
.BYTE $2C
.ENDM
;
; System equates
DVSTAT = $02EA
DDEVIC = $0300
DUNIT = $0301
DBYTLO = $0308
DBYTHI = $0309
SIOV = $E459
;
; Program variables.
*= $CB
LIMIT *= *+1 Not
OFFSET *= *+1 cleared
STRPTR *= *+2 on
*= *+1 entry
;
COUNT *= *+1 Bytes
TYPFLG *= *+1 cleared
*= *+1 on
*= *+1 entry
FR0 *= *+2 ; D4
;
*= $E0
ZDEVIC *= *+1 Shadow DCB cuts
ZUNIT *= *+1 3-byte ops to 8
ZCOMND *= *+1 total. Aside
ZSTATS *= *+1 from speed and
ZBUFLO *= *+1 length benefits,
ZBUFHI *= *+1 this simplifies
ZTIMLO *= *+2 setting defaults
ZBYTLO *= *+1 and lessens the
ZBYTHI *= *+1 chance of a 155
ZAUX1 *= *+1 or 34 character
ZAUX2 *= *+1 in a string.
;
*= $6000
START LDX #INIT-DATA ; x=count
LDY #INIT-1-START ; y=index
BNE INIT Go always
;
DATA .BYTE '1 Dcb defaults
.BYTE 1 DUnit
.BYTE 'S DComnd
.BYTE $40 DStats
.WORD DVSTAT DBuflo/hi
.WORD 3 DTimlo/hi
.WORD 4 DBytlo/hi
;
INIT LDA (FR0),Y
STA DDEVIC-1,X Set up DCB
STA ZDEVIC-1,X and shadow
DEY
DEX
BNE INIT On exit x=0 y=5
;
ZLOOP STX COUNT,Y Clear FR0
DEY down to COUNT
BPL ZLOOP inclusive
;
JSR SIOV Execute and
STY FR0 save status
;
PLA Done if no
BEQ EXIT parameters
;
TAX Else keep count
;
PLA Msb Command
PLA Lsb "
DEX Stack count
;
ASL A Bit 7 to carry.
ROR TYPFLG To bit 7 of flag
LSR A Restore Cmd with
STA ZCOMND bit 7 stripped
;
CPX #1 Params left?
BEQ CLRSTK Error if only 1
BCS SETZST Branch if more
;
CMP #'S Status already
BEQ EXIT done
;
CMP #'! BCC/BCS avoids
BCC ERR168 quote in string
;
CMP #'# when checking
BCS ERR168 for format cmd
;
STX ZSTATS Use 0 for format
STA ZTIMLO Allow 33" or 34"
BCC GOTALL Go always
;
CLRSTK PLA Error handler
PLA to clear stack
DEX
BNE CLRSTK
;
ERR168 LDY #168 Syntax error
;
YEXIT STY FR0 Final report
EXIT RTS to Basic
;
SETZST CMP #'R
BEQ GETSEC If not read
;
ASL ZSTATS make Zstats=$80
CMP #'P
BEQ GETSEC
;
CMP #'W If not Write, an
BNE CLRSTK invalid command
;
GETSEC PLA Msb of start
TAY sector number
PLA Lsb
DEX Stack count
;
CPY #5 For carry only
ROR TYPFLG B7=Str B6=Trc
;
STA STRPTR Strptr ignored
STY STRPTR+1 by consec/trc.
STA ZAUX1 If string, zaux
STY ZAUX2 is re-set later
;
PLA Msb
STA ZBUFHI Buffer address
PLA Lsb
STA ZBUFLO
DEX Stack count
BEQ GOTALL Go if got last
;
PLA Limit: keep lsb
PLA only (max DIM)
DEX Last param?
BNE CLRSTK If not, too many
;
TAX Error if Limit=0
BEQ ERR168 Else, DEX now to
; offset default;
DEX or, if a string,
; to index from 0.
GOTALL LDY FR0 Check status
JMIYEX BMI YEXIT Abort if bad
;
DEY Else
STY ZBYTLO clear ZBytlo
SEC
LDA #$20 Check DD bit in
AND DVSTAT drive status
BEQ SINGLE
;
ROL ZBYTHI Carry to bit 0
SKIPW
;
SINGLE ROR ZBYTLO Carry to bit 7
;
BIT TYPFLG Doing string?
BMI STRING
;
INX Else add default
STX LIMIT Any limit less
BPL EXEC than $80 is OK
;
TAX If no DD bit
BEQ EXEC max limit OK
;
DEY Else error #255
BMI YEXIT Go always
JVS168
STRING BVS ERR168 No trace if str.
;
STX OFFSET Two bytes per
ASL OFFSET sector number
;
NEXT LDY OFFSET Get next sector
LDA (STRPTR),Y ; number lsb
STA ZAUX1 from string
INY
LDA (STRPTR),Y ; and msb
INY Adjust offset
STY OFFSET for next pass
;
DOAUX2 STA ZAUX2
ORA ZAUX1 Next sector=0?
JEQEXI BEQ EXIT
;
EXEC LDX #11
EXLOOP LDA ZUNIT-1,X Copy shadow
STA DUNIT-1,X to real DCB
DEX
BNE EXLOOP
;
LDA ZAUX2 Boot sector?
BNE GOSIO No, got an msb
;
LDY #3 Check lsb. Leave
CPY ZAUX1 set carry for
BCC GOSIO Force SD below
;
BIT TYPFLG Can't trace
BVS JVS168 without links
;
STA DBYTHI Force SD for one
ROR A sector but don't
STA DBYTLO alter shadow DCB
;
GOSIO JSR SIOV Execute
BMI JMIYEX Oops
;
INC COUNT Good one!
BIT TYPFLG If trace, get FP
BVC BUFADJ before Bufadj
;
LDY ZBYTLO Set Y to index
DEY forward pointer
DEY lsb in last sec
LDA (ZBUFLO),Y Get lsb of
STA ZAUX1 next sector
DEY
LDA (ZBUFLO),Y Filenum+msb
AND #$07 Ignore filenum
TAX Save msb
;
BUFADJ LDA DBYTLO Add real sector
BEQ DOBUFH length to bufptr
;
CLC
ADC ZBUFLO
STA ZBUFLO
BCC BFDONE
;
DOBUFH INC ZBUFHI
;
BFDONE BIT TYPFLG If string go
BMI NEXT get next secnum
;
DEC LIMIT Else count
BEQ JEQEXI down to 0
;
TXA Recover fwd ptr
BVS DOAUX2 Go if tracing
;
INC ZAUX1 Else point to
BNE EXEC next sector
;
INC ZAUX2 Bump high byte
BNE EXEC Go always
;
.OPT LIST
CODELEN = *-START
LAST = *-1
;%BSAVE #D1:SIOUSR.OBJ<6000,LAST
.OPT NO LIST
.END
FILENAME EXTENSIONS
===================
.1ST Text file, read this first
.ACT Action file
.ACC ST accessory
.AMS Advanced Music System file
.AMP Antic Music Processor
.ARC ARC compressed file
.ASC Ascii text file
.BAK Back-up data file
.BAS Saved BASIC file
.BAT Batch file
.BIN Binary file
.BXL BASIC XL program
.BXE BASIC XE program
.C C language data file
.COM SpartaDos Command file
.COM Compiled Object code file
.CZ Casio MIDI data file
.DAT Data file
.DCM Diskcomm compressed file
.DIS Diskcomm compressed file
.DOC Wordprocessor, text file
.EXE Executable file
.FNT Font
.GIF Graphics Interchangeable Format picture
.GRx Graphic screen mode x
.H ST resource data file
.HAM Amiga picture format
.IFF Amiga picture format
.INF Information file
.KOA Koala format picture
.LGO Logo data file
.LST Listed BASIC
.LZH LHarc compressed file
.M ST Michtron BBS data file
.ME Read me extention, text file
.M65 MAC-65 source code
.MAC MacIntosh picture file
.MPT Micropainter picture file
.OBJ Object file
.PAS Pascal data file
.PC1 ST Degas Low resolution picture (compressed)
.PC2 ST Degas Med resolution picture (compressed)
.PC3 ST Degas Hi resolution picture (compressed)
.PCX IBM picture format
.PI1 ST Degas Low resolution picture (uncompressed)
.PI2 ST Degas Med resolution picture (umcompressed)
.PI3 ST Degas Hi resolution picture (umcompressed)
.PIC Koala, Micropainter picture file
.PIT MacIntosh Pit compressed file
.PRG ST executable file
.RSC ST resource file
.SCR Scrunch compressed file
.SHR Shrink compressed file
.SPB Superboot compressed file
.SPC ST Spectrum compressed picture
.SPU ST Spectrum uncompressed picture
.SRC Source code
.SUP SuperArc compressed file
.SYN Synassembler source code
.SYS System file
.TOS Executable ST program
.TTP ST application program
.TXT Text file
.V Pokey player music file
.WP ST WordPerfect data file
.ZIP Zip compressed file
=======================================================================
Z*MAGAZINE Atari 8-Bit Online Magazine is a bi-weekly magazine covering
the Atari and related computer community. Material contained in this
edition may be reprinted without permission, except where otherwise
noted, unedited, with the issue number, name and author included at
the top of each reprinted article. Commentary and opinions presented
are those of the individual author and does not necessarily reflect
the opinions of Z*MAGAZINE or the staff. Z*Magazine Atari 8-Bit Online
Magazine, Z*Net Atari Online Magazine, Z*Net are copyright (c)1990 by
Rovac Industries Inc, a registered corporation. Post Office Box 59,
Middlesex, New Jersey 08846. (908) 968-2024. Z*Net Online BBS 24
Hours, 1200/2400 Baud, (908) 968-8148. We can be reached on CompuServe
at 71777,2140 and on GEnie at Z-NET.
=======================================================================
Z*Magazine Atari 8-Bit Online Magazine
Copyright (c)1990, Rovac Industries, Inc..
=======================================================================
-----------------------------------------
Return to message index