==(((((((((( == 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 STA POKSAV key status. AND #$7F Kill 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 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 . ; 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.. =======================================================================