========================================================================== *---=== ST REPORT WEEKLY ONLINE MAGAZINE ===---* "The Original Online ST Magazine" ------------------------------- December 05, 1988 Monday Volume II No.64 ========================================================================== ST Report Online Magazine ------------------------------ Post Office Box 6672 Jacksonville, Florida 32236 6672 R.F. Mariano Publisher - Editor _________________________________________ Headquarters Bulletin Boards ---------------------------- North South 201-343-1426 904-786-4176 Central West 216-784-0574 916-962-2566 -------------------------------------------------------------------------- Highlights ========== ~ From the Editor's Desk.............~ COPYRIGHT? ................... ~ DISCOVERY & SPECTRE!...............~ XL/XE Xformer SECRETS!........ ~ Pro GEM Windows #15................~ ST REPORT CONFIDENTIAL........ and....much more! ======================================================================== AVAILABLE ON: COMP-U-SERVE ~ DELPHI ~ GENIE ~ THE SOURCE ======================================================================== From the Editor's Desk: ----------------------- Software Theft is.... a sickness, an addiction, the manifestation of an ego problem, a solid sign of a character flaw and just plain downright illegal and dirty. We have heard all but one of the rational explanations over the past few million days....We the userbase have the software thieves outnumbered at this point, so why not really outnumber them? ------ This could be accomplished overnight (practically) by our favorite company, Atari. If Atari were to begin shipping the RIGHT quantities of ST computers THROUGHOUT the USA, the developers would soon see that the initial market impact of software would easily surpass the "break even" point no matter how many software thieves there are. Example: IBM - MAC and Amiga. Software Theft is, without a doubt, crippling the marketplace for Atari, and the major cause is pure and simple "economics". There are not enough machines in service in the USA to overcome the losses caused by the software thieves. For example; Let's say Company A has 300,000 machines in place and Company B has 800,000 in place. Of the two, which is more likely to yield to the developer better sales vs theft with the release of each new piece of software? One of the largest contributing factors to Software Theft is "LEGAL" activities by the SOFTWARE RENTAL OPERATIONS... Let's look at a little scenario; ....... "The userbase has been waiting for almost six months for a particular piece of software to be released, the entire country breathlessly awaits this super new item. The time for it's release arrives and it hits the market! Dirty Nellie's Software Rental Emporium has had 50 copies on back order with their distributor and as expected, the day it arrived all fifty copies were rented. Out of the fifty, 17 were rented mail order and the rest over the counter. It really doesn't take an MIT grad to see the story unfold here, the folks who "rented this thing" come from "all over" and will more than likely dub the thing and put it on their own or a best friend's BBS to be the "first" to have it available. The bottom line here is that software rental in a number one contributing factor to easy software theft. We must, as an organized userbase, discourage the patronage of software rental houses. On to a different subject, now, with the Commodore line available through mailorder it is easy to see that they have a real marketing plan for the USA ...that is to fill the gap left by Atari's gross negligence in the USA. Can you believe that Atari will probably earn good money selling AMIGA COMPUTERS this Christmas in it's Federated Stores? Also, for the record, an Amiga 2000 fully equipped including a 1200bps modem and Color Monitor is available through mail order for less than 2000.00! I call that a very ambitious effort to own the home computer market in the USA. We certainly hope Atari will find a way to neutralize this latest effort by Commodore to overpower Atari Computers in the US marketplace. In a more direct vein, I am (personal opinion) very confident of Atari's future in the US, there are many people with the "blind faith" needed to help bring about the "new wave" of Atari ST popularity for a strong success. Hopefully, Atari will see that the main thrust of their marketing advance should come with a priority of; a)- provide an ample and continuous supply of ST equipment, b)- a highly visible and aggressive NATIONAL ad campaign, c)- easily accessible service network. We are hearing about the highly efficient and greatly appreciated exchange program, perhaps Atari ought to make sure all the users are aware of this fine policy. Also, hats off to the service dep't! At last, rapid efficient and accurate service with few, if any, busy signals. Ralph.......... ************************************************************************* IMPORTANT NOTICE! ----------------- As a reader of ST Report Magazine, you are entitled to take advantage of a special DELPHI membership offer. For only $29.95 ($20 off the standard membership price!), you will receive a lifetime subscription to DELPHI, a copy of the 500-page "DELPHI: The Official Guide," and a credit equal to one free evening hour at standard connect rates. Signing up with DELPHI ---------------------- Using a personal computer and modem, members worldwide access DELPHI services via a local phone call. Join--- DELPHI -------------- 1. Dial 617-576-0862 with any terminal or PC and modem (at 2400 bps, dial 576-2981). 2. At the Username prompt, type JOINDELPHI. 3. At the Password prompt enter STREPORT. For more information, call DELPHI Member Services at 1-800-544-4005, or at 617-491-3393 from within Massachusetts or from outside the U.S. DELPHI is a service of General Videotex Corporation of Cambridge, Massachusetts. ************************************************************************** Copyright Law ============= Jordan J. Breslow 1225 Alpine Road, Suite 200 Walnut Creek, CA 94596 +1 415 932 4828 I am an attorney practicing copyright law and computer law. I read a series of queries in net.legal about copyright law and was dismayed to find that people who had no idea what they were talking about were spreading misinformation over the network. Considering that the penalties for copyright infringement can in- clude $50,000.00 damages per infringed work, attorneys fees, court costs, criminal fines and imprisonment, and considering that ignorance is no excuse and innocent intent is not even a recognized defense, I cringe to see the network used as a soapbox for the ill-informed. For that reason, this article will discuss copyright law and license law as they pertain to computer software. My goal is to enable readers to determine when they should be concerned about infringing and when they can relax about it. I also want to let programmers know how to obtain copyright for their work. I'll explain the purpose of software licenses, and discuss the effect that the license has on copyright. For those of you who are programmers, I'll help you decide whether you own the programs you write on the job or your boss owns them. I will also mention trademark law and patent law briefly, in order to clarify some confusion about which is which. Incidentally, if you read this entire essay, you will be able to determine whether or not the essay is copyrighted and whether or not you can make a printout of it. This is a long article, and you may not want to read all of it. Here is an outline to help you decide what to read and what to ignore: 1. The Meaning of Copyright from the Viewpoint of the Software User 1.1 A bit of history 1.2 The meaning of copyright 1.3 The meaning of public domain 1.4 A hypothetical software purchase 1.5 Can you use copyrighted software? 1.6 Can you make a backup copy? 1.7 Licenses may change the rules (C) Copyright 1986 Breslow, Redistributed by permission Copyright Law 1 Copyright Law 2 1.8 Can you modify the program? 1.9 Can you break the copy protection scheme? 1.10 Summary 2. Copyright Sounds Neat -- How Do I Get One? Or, How Do I Know If this Program is Copyrighted? 2.1 How do you get a copyright? 2.2 How do you lose a copyright? 2.3 How do you waste a stamp? 2.4 Do you have to register? 2.5 How copyright comes into existence 2.6 The copyright notice 2.7 Advantages of registration 2.8 A test to see if you understand this article 3. Who Owns The Program You Wrote? 3.1 Introduction 3.2 Programs written as an employee 3.3 Programs written as a contractor 4. A Brief Word about Licenses 4.1 Why a license? 4.2 Is it valid? 5.1 Trademark law explained 5.2 Patent law 6. Conclusion 1. The Meaning of Copyright from the Viewpoint of the Software User 1.1. A bit of history If you're not interested in history, you can skip this para- graph. Modern copyright law first came into existence in 1570, by an act of Parliament called the Statute of Anne. Like most laws, it hasn't changed much since. It was written with books and pictures in mind. Parliament, lacking the foresight to predict the success of the Intel and IBM corporations, failed to consider the issue of copyrighting computer programs. At first, courts questioned whether programs could be copy- righted at all. The problem was that judges couldn't read the programs and they figured the Copyright Law was only meant to ap- ply to things humans (which arguably includes judges) could read without the aid of a machine. I saw some mythical discussion about that in some of the net.legal drivel. Let's lay that to rest: programs are copyrightable as long as there is even a minimal amount of creativity. The issue was laid to rest with the Software Act of 1980. That Act modified the Copyright Act (which is a Federal law by the way), in such a way as to make it clear that programs are copyrightable. The few exceptions to this rule will rarely concern anyone. The next question to arise was whether a program was copyrightable if it was stored in ROM rather than on paper. The decision in the Apple v. Franklin case laid that to rest: it is. 1.2. The meaning of copyright Now, what is copyright? As it is commonly understood, it is the right to make copies of something -- or to put it the other way around, it is the right to prohibit other people from making copies. This is known as an exclusive right -- the exclusive right to reproduce, in the biological language of the Copyright Act -- and what most people don't know is that copyright involves not one, not two, but five exclusive rights. These are (1) the exclusive right to make copies, (2) the exclusive right to dis- tribute copies to the public, (3) the exclusive right to prepare derivative works (I'll explain, just keep reading), (4) the ex- clusive right to perform the work in public (this mainly applies to plays, dances and the like, but it could apply to software), and (5) the exclusive right to display the work in public (such as showing a film). 1.3. The meaning of public domain Before we go any further, what is public domain? I saw some discussion on the net about public domain software being copy- righted. Nonsense. The phrase public domain, when used correct- ly, means the absence of copyright protection. It means you can copy public domain software to your heart's content. It means that the author has none of the exclusive rights listed above. If someone uses the phrase public domain to refer to freeware (software which is copyrighted but is distributed without advance payment but with a request for a donation), he or she is using the term incorrectly. Public domain means no copyright -- no ex- clusive rights. 1.4. A hypothetical software purchase Let's look at those exclusive rights from the viewpoint of someone who has legitimately purchased a single copy of a copy- righted computer program. For the moment, we'll have to ignore the fact that the program is supposedly licensed, because the license changes things. I'll explain that later. For now, as- sume you went to Fred's Diner and Software Mart and bought a dozen eggs, cat food and a word processing program. And for now, assume the program is copyrighted. 1.5. Can you use copyrighted software? What can you do with this copyrighted software? Let's start with the obvious: can you use it on your powerful Timex PC? Is this a joke? No. Prior to 1980, my answer might have been No, you can't use it! People actually pay me for advice like that! Well think: you take the floppy disk out of the zip lock baggy, insert it in drive A and load the program into RAM. What have you just done? You've made a copy in RAM -- in legalese, you've reproduced the work, in violation of the copyright owner's exclusive right to reproduce. (I better clarify something here: the copyright own- er is the person or company whose name appears in the copyright notice on the box, or the disk or the first screen or wherever. It may be the person who wrote the program, or it may be his boss, or it may be a publishing company that bought the rights to the program. But in any case, it's not you. When you buy a copy of the program, you do not become the copyright owner. You just own one copy.) Anyway, loading the program into RAM means making a copy. The Software Act of 1980 addressed this absurdity by allowing you to make a copy if the copy "is created as an essential step in the utilization of the computer program in conjunction with a machine and ... is used in no other manner ...." By the way, somebody tell me what a machine means. If you connect 5 PC's on a network is that a machine or several machines? A related ques- tion is whether or not running software on a network constitutes a performance. The copyright owner has the exclusive right to do that, remember? 1.6. Can you make a backup copy? OK, so you bought this copyrighted program and you loaded it into RAM or onto a hard disk without the FBI knocking on your door. Now can you make a backup copy? YES. The Software Act also provided that you can make a backup copy, provided that it "is for archival purposes only ...." What you cannot do, howev- er, is give the archive copy to your friend so that you and your pal both got the program for the price of one. That violates the copyright owner's exclusive right to distribute copies to the public. Get it? You can, on the other hand, give both your ori- ginal and backup to your friend -- or sell it to him, or lend it to him, as long as you don't retain a copy of the program you are selling. Although the copyright owner has the exclusive right to distribute (sell) copies of the program, that right only applies to the first sale of any particular copy. By analogy, if you buy a copyrighted book, you are free to sell your book to a friend. The copyright owner does not have the right to control resales. 1.7. Licenses may change the rules At this point, let me remind you that we have assumed that the program you got at the store was sold to you, not licensed to you. Licenses may change the rules. 1.8. Can you modify the program? Now, you're a clever programmer, and you know the program could run faster with some modifications. You could also add graphics and an interactive mode and lots of other stuff. What does copyright law say about your plans? Well ... several dif- ferent things, actually. First, recall that the copyright owner has the exclusive right to make derivative works. A derivative work is a work based on one or more preexisting works. It's easy to recognize derivative works when you think about music or books. If a book is copyrighted, derivative works could include a screenplay, an abridged edition, or a translation into another language. Derivative works of songs might be new arrangements (like the jazz version of Love Potion Number 9), a movie soundtrack, or a written transcription, or a long version, (such as the fifteen minute version of "Wipe Out" with an extended drum solo for dance parties). In my opinion, you are making a deriva- tive work when you take the store-bought word processor and modi- fy it to perform differently. The same would be true if you translated a COBOL program into BASIC. Those are copyright in- fringements -- you've horned in on the copyright owner's ex- clusive right to make derivative works. There is, however, some breathing room. The Software Act generously allows you to adapt the code if the adaptation "is created as an essential step in the utilization of the computer program in conjunction with a machine ...." For example, you might have to modify the code to make it compatible with your machine. 1.9. Can you break the copy protection scheme? Moving right along, let's assume your store bought program is copy protected, and you'd really like to make a backup copy. You know this nine-year-old whiz who can crack any copy- protection scheme faster than you can rearrange a Rubix cube. Is there a copyright violation if he succeeds? There's room to ar- gue here. When you try to figure out if something is an infringe- ment, ask yourself, what exclusive right am I violating? In this case, not the right to make copies, and not the right to distri- bute copies. Public performance and display have no relevance. So the key question is whether you are making a derivative work. My answer to that question is, "I doubt it." On the other hand, I also doubt that breaking the protection scheme was "an essen- tial step" in using the program in conjunction with a machine. It might be a "fair use," but that will have to wait for another article. Anyone interested in stretching the limits of the "fair use" defense should read the Sony Betamax case. 1.10. Summary Let me summarize. Copyright means the copyright owner has the exclusive right to do certain things. Copyright infringement means you did one of those exclusive things (unless you did it within the limits of the Software Act, i.e., as an essential step ....). 2. Copyright Sounds Neat -- How Do I Get One? Or, How Do I Know if this Program is Copyrighted? 2.1. How do you get a copyright? If you've written an original program, what do you have to do to get a copyright? Nothing. You already have one. 2.2. How do you lose a copyright? If you've written an original program, what do you have to do to lose your copyright protection? Give copies away without the copyright notice. 2.3. How do you waste a stamp? If you mail the program to yourself in a sealed envelope, what have you accomplished? You've wasted a stamp and an envelope and burdened the postal system unnecessarily. 2.4. Do you have to register? Do you have to register your program with the U.S. Copyright Office? No, but it's a damn good idea. 2.5. How copyright comes into existence Copyright protection (meaning the five exclusive rights) comes into existence the moment you fix your program in a tangi- ble medium. That means write it down, or store it on a floppy disk, or do something similar. Registration is optional. The one thing you must do, however, is protect your copyright by in- cluding a copyright notice on every copy of every program you sell, give away, lend out, etc. If you don't, someone who hap- pens across your program with no notice on it can safely assume that it is in the public domain (unless he actually knows that it is not). 2.6. The copyright notice The copyright notice has three parts. The first can be ei- ther a c with a circle around it ((C)), or the word Copyright or the abbreviation Copr. The c with a circle around it is prefer- able, because it is recognized around the world; the others are not. That's incredibly important. Countries around the world have agreed to recognize and uphold each others' copyrights, but this world-wide protection requires the use of the c in a circle. On disk labels and program packaging, use the encircled c. Un- fortunately, computers don't draw small circles well, so program- mers have resorted to a c in parentheses: (c). Too bad. That has no legal meaning. When you put your notice in the code and on the screen, use Copyright or Copr. if you can't make a cir- cle. The second part of the notice is the "year of first publica- tion of the work." Publication doesn't mean distribution by Os- borne Publishing Co. It means distribution of copies of the pro- gram to the public "by sale or other transfer of ownership, or by rental, lease, or lending." So when you start handing out or selling copies of your precious code, you are publishing. Publi- cation also takes place when you merely OFFER to distribute copies to a group for further distribution. Your notice must in- clude the year that you first did so. The third part of the notice is the name of the owner of the copyright. Hopefully, that's you, in which case your last name will do. If your company owns the program -- a legal issue which I will address later in this article -- the company name is ap- propriate. Where do you put the notice? The general idea is to put it where people are likely to see it. Specifically, if you're dis- tributing a human-readable code listing, put it on the first page in the first few lines of code, and hard code it so that it ap- pears on the title screen, or at sign-off, or continuously. If you're distributing machine-readable versions only, hard code it. As an extra precaution, you should also place the notice on the gummed disk label or in some other fashion permanently attached to the storage medium. 2.7. Advantages of registration Now, why register the program? If no one ever rips off your program, you won't care much about registration. If someone does rip it off, you'll kick yourself for not having registered it. The reason is that if the program is registered before the in- fringement takes place, you can recover some big bucks from the infringer, called statutory damages, and the court can order the infringer to pay your attorneys fees. Registration only costs $10.00, and it's easy to do yourself. The only potential disad- vantage is the requirement that you deposit the first and last 25 pages of your source code, which can be inspected (but not copied) by members of the public. 2.8. A test to see if you understand this article Now, someone tell me this: is this article copyrighted? Can you print it? 3. Who Owns The Program You Wrote? 3.1. Introduction The starting point of this analysis is that if you wrote the program, you are the author, and copyright belongs to the author. HOWEVER, that can change instantly. There are two common ways for your ownership to shift to someone else: first, your program might be a "work for hire." Second, you might sell or assign your rights in the program, which for our purposes means the copyright. 3.2. Programs written as an employee Most of the programs which you write at work, if not all of them, belong to your employer. That's because a program prepared by an employee within the scope of his or her employment is a "work for hire," and the employer is considered the author. This is more or less automatic if you are an employee -- no written agreement is necessary to make your employer the copyright owner. By contrast, if you can convince your employer to let you be the copyright owner, you must have that agreement in writing. By the way, before you give up hope of owning the copyright to the program you wrote at work, figure out if you are really an employee. That is actually a complex legal question, but I can tell you now that just because your boss says you are an employee doesn't mean that it's so. And remember that if you created the program outside the scope of your job, the program is not a "work for hire." Finally, in California and probably elsewhere, the state labor law provides that employees own products they create on their own time, using their own tools and materials. Employ- ment contracts which attempt to make the employer the owner of those off-the-job inventions are void, at least in sunny Califor- nia. 3.3. Programs written as a contractor Wait a minute: I'm an independent contractor to Company X, not an employee. I come and go as I please, get paid by the hour with no tax withheld, and was retained to complete a specific project. I frequently work at home with my own equipment. Is the program I'm writing a "work for hire," owned by the Company? Maybe, maybe not. In California, this area is full of landmines for employers, and gold for contractors. A contractor's program is not a "work for hire," and is not owned by the company, unless (1) there is a written agreement between the company and the contractor which says that it is, and (2) the work is a commissioned work. A commissioned work is one of the following: (a) a contribution to a collective work, (b) an audiovisual work (like a movie, and maybe like a video game), (c) a translation, (d) a compilation, (e) an instructional text, (f) a test or answer to a test, or (g) an atlas. I know you must be tired of definitions, but this is what the real legal world is made of. An example of a collective work is a book of poetry, with poems contributed by various authors. A piece of code which is incorporated into a large program isn't a contribution to a collective work, but a stand-alone program which is packaged and sold with other stand-alone programs could be. So where are we? If you are a contract programmer, not an employee, and your program is a commissioned work, and you have a written agreement that says that the program is a "work for hire" owned by the greedy company, who owns the program? That's right, the company. But guess what? In California and elsewhere the company just became your employer! This means that the company must now provide worker's compensation benefits for you AND UNEM- PLOYMENT INSURANCE. 4. A Brief Word About Licenses. 4.1. Why a license? When you get software at the local five and dime, the manufacturer claims that you have a license to use that copy of the program. The reason for this is that the manufacturer wants to place more restrictions on your use of the program than copy- right law places. For example, licenses typically say you can only use the program on a single designated CPU. Nothing in the copyright law says that. Some licenses say you cannot make an archive copy. The copyright law says you can, remember? But if the license is a valid license, now you can't. You can sell or give away your copy of a program if you purchased it, right? That's permitted by copyright law, but the license may prohibit it. The more restrictive terms of the license will apply instead of the more liberal copyright rules. 4.2. Is it valid? Is the license valid? This is hotly debated among lawyers. (What isn't? We'll argue about the time of day.) A few states have passed or will soon pass laws declaring that they are valid. A few will go the other way. Federal legislation is unlikely. My argument is that at the consumer level, the license is not binding because there is no true negotiation (unless a state law says it is binding), but hey that's just an argument and I'm not saying that that's the law. In any case, I think businesses which buy software will be treated differently in court than con- sumers. Businesses should read those licenses and negotiate with the manufacturer if the terms are unacceptable. 5. I Have A Neat Idea. Can I Trademark It? What About patent? 5.1. Trademark law explained Sorry, no luck. Trademark law protects names: names of products and names of services. (Note that I did not say names of companies. Company names are not trademarkable.) If you buy a program that has a trademarked name, all that means is that you can't sell your own similar program under the same name. It has nothing to do with copying the program. 5.2. Patent Law Patent law can apply to computer programs, but it seldom does. The main reasons it seldom applies are practical: the patent process is too slow and too expensive to do much good in the software world. There are also considerable legal hurdles to overcome in order to obtain a patent. If, by chance, a program is patented, the patent owner has the exclusive right to make, use or sell it for 17 years. 6. CONCLUSION I know this is a long article, but believe it or not I just scratched the surface. Hopefully, you'll find this information useful, and you'll stop passing along myths about copyright law. If anyone needs more information, I can be reached at the address on the first page. Sorry, but I do not usually have access to the network, so you can't reach me there. Thank you. JORDAN J. BRESLOW -------------------------------------------------------------------------- DOCUMENTATION REVISION 2.7 PRE-RELEASE ====================================== (C) 1988 HAPPY COMPUTERS, Inc. CARTX128.DOC This document describes circuit modifications to the revision D and E DISCOVERY CARTRIDGE boards that will allow the use of more cartridges in the second cartridge port, such as the SPECTRE 128. Other sections detail how to use 27C512 EPROMS in a DISCOVERY CARTRIDGE to have a 128K byte contiguous program address space. This general purpose 128K byte address space could be further customized to allow using the MACINTOSH 128K ROMS and the SPECTRE 128 product. A section details how this may be accomplished. This section is provided for educational purposes. ******* WARNING: Any modification to your DISCOVERY CARTRIDGE will void the warranty from HAPPY COMPUTERS. Always check all connections before cutting traces or applying power! Use #26 or smaller solid (not stranded) wire with high temperature insulation. Use a low wattage, fine tip soldering pencil which has a grounded tip, at a static free work station. Please re-read the warranty before making modifications! ****** USING MORE CARTRIDGES With the 2nd cartridge port installed, the MAGIC SAC and DESK CART cartridges can be plugged in and used. See the document DMACXROM.DOC for an introduction to this information. Due to address conflicts, many cartridges cannot be used as a second cartridge, unless a switch is added which disables the HART chip, and completely enables the second cartridge. This section describes the custom wiring needed for this switch. The 40 pin J1 cartridge jack must be mounted on the board. This jack is included in factory installed options 3 and 4. ****** Circuit used when DISCOVERY CARTRIDGE ROM/EPROM sockets not used Cut trace S1. The white paint for S1 is on top of the board. Trace S1 is on the bottom under the board, directly beneath. Cut trace S8. The white paint for S8 is on top of the board. Trace S8 is on the bottom under the board, directly beneath. A SPDT switch is needed. This can have a center off position, but the center off position is not utilized. The switch can be mounted at position SW2 on the board, or alternately mounted at some other custom location. If the switch is mounted at SW2, then the switch must not make contact with the standard SW2 connections. Either the traces going to SW2 must be cut, or the leads from the switch should not be inserted into the board. We will designate this switch as SW3. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance resistor, which we will designate as RG, is connected to pins 17, 18, and 19 of the HART chip. This connection should be made to the hole in the board on the S1 trace which was cut, on the side of the trace closest to the HART chip. A wire from this point is connected to one side of the switch SW3 described above. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance resistor, which we will designate as RH, is connected to pin 31 of the J1 second cartridge jack. This connection can be made to the hole in the board on the S8 trace which was cut, on the side of the trace which is NOT closest to the HART chip. A wire from this point is connected to other side of the switch SW3. The other end of RG and RH connect to the VCC +5 supply. A convenient place to make this connection is the left hand side of either R2 or R6 or R7. The center connection of SW3 connects to pin 31 of P1, which is the ROM3* signal from the computer. This connection should be made to the hole in the board on the S1 trace which was cut, on the side of the trace which is not closest to the HART chip. ***** USING THE ABOVE MODIFICATION One position of the switch is used to access the DISCOVERY CARTRIDGE hardware. The other position of the switch is used to access the hardware device plugged into the 2nd cartridge port. HAPPY COMPUTERS has tested and found that the SPECTRE 128 cartridge can be used as a second cartridge when this custom wiring is installed. However, we cannot guarantee the performance of another company's product. NOTE: The switch should not be moved while the computer's power is turned on. NOTE: When the DISCOVERY CARTRIDGE hardware is deselected, the third and fourth floppy drives, if present, cannot be accessed through software. The drive option switch will still function, if present. No DISCOVERY CARTRIDGE software will operate when the switch has the 2nd cartridge enabled. Even though the clock on the DISCOVERY CARTRIDGE cannot be read, the clock still keeps proper time. ****** Circuit used when DISCOVERY CARTRIDGE ROM/EPROM sockets ARE used It is possible to use a double pole switch for SW3 that also switches the ROM4* signal either to the DISCOVERY CARTRIDGE's ROM/EPROM sockets or the second cartridge port. The first pole of the switch would be connected as shown above. A similar connection scheme would be used with the second pole of the switch for the ROM4* signal. Pullup resistors are also needed for the signals switched on this second pole. Traces S4 and S7 would be cut and wired through the switch's 2nd pole. One position of the switch would disable both selection lines to the 2nd cartridge port, and fully enable selection of the DISCOVERY CARTRIDGE hardware. The other position of the switch completely disables all circuitry on the DISCOVERY CARTRIDGE, and provides both the ROM3 and ROM4 selection to the second cartridge port. ****** USING 128K byte ROM/EPROM programs inside the DISCOVERY CARTRIDGE As described in the DMACXROM.DOC file, 27C512 EPROMS can be used with the DISCOVERY CARTRIDGE. In the standard configuration, the SW2 switch is used to select one of 2 possible 64K byte banks of program, for access by the computer. In some cases, it is desirable to have the entire 128K byte program available to the computer in one contiguous address space, without the need to throw a switch. Unfortunately, there are only 128K addresses available at the cartridge port. A switch must be added to select whether the HART chip is selected, or the 128K ROM/EPROM program is selected. It is also necessary to add a logic gate to enable both ROMS / EPROMS for all accesses when either ROM3* or ROM4* are enabled. This gate is needed since the Atari cartridge port provides separate enable signals for each bank of 64K bytes, and the ROMS / EPROMS need to be enabled for all 128K bytes. ****** HARDWARE modification for contiguous 128K byte ROM / EPROM Although it is possible to also have a second cartridge port along with 128K on board ROMS / EPROMS, this document assumes that the second cartridge port is not present on the particular DISCOVERY CARTRIDGE being modified. Any other options can be present. These instructions are specific for using a 128K program in two 27C512 EPROMS. Please note that some particular 512K bit mask programmed ROMS may have different pin connection and selection requirements. HAPPY COMPUTERS cannot provide information about any masked programmed ROMS that we have not examined. CAUTION: Read all of the instructions, and collect all components first. Determine the position for all new components before mounting any new component! The two 28 pin ROM sockets are installed in positions U4 and U5 as usual. These are included in factory installed options #1 and #2. Refer also to the original documentation DMACXROM.DOC, regarding the optional C9 decoupling capacitor. Cut trace S1. The white paint for S1 is on top of the board. Trace S1 is on the bottom under the board, directly beneath. Cut trace S4. The white paint for S4 is on top of the board. Trace S4 is on the top of the board. The trace may be concealed by the white paint dashed line. A SPDT switch is needed. This can have a center off position, but the center off position is not utilized. The switch can be mounted at position SW2 on the board, or alternately mounted at some other custom location. If the switch is mounted at SW2, then the switch must not make contact with the standard SW2 connections. Either the traces going to SW2 must be cut, or the leads from the switch should not be inserted into the board. We will designate this switch as SW4. For units with a factory installed switch, the leads to the switch should be carefully cut away from the circuit board and bent up so they are accessible. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance resistor, which we will designate as RJ, is connected to pins 17, 18, and 19 of the HART chip. This connection should be made to the hole in the board on the S1 trace which was cut, on the side of the trace closest to the HART chip. A wire from this point is connected to one side of the switch SW4 described above. One side of a newly added 10K ohm 1/4 watt or 1/8 watt 5% tolerance resistor, which we will designate as RK, is connected to pin 20 of both sockets U4 and U5. This connection can be made to the hole in the board on the S4 trace which was cut, on the side of the trace which is NOT closest to the HART chip. A wire from this point is connected to the other side of the switch SW4. The other end of RJ and RK connect to the VCC +5 supply. A convenient place to make this connection is the left hand side of either R2 or R6 or R7. A 74LS08 or 74ALS08 IC is mounted in the user customization space provided on the DISCOVERY CARTRIDGE board. The orientation is up to the user. It may be necessary to temporarily remove the battery while doing the wiring. It may be necessary to relocate both C4 adjustable and C4 fixed, if present. Pin 14 of the IC is connected to VCC +5; the same connection points mentioned above for RJ and RK can be used. Pin 7 of the IC is connected to power ground. The power ground trace runs along the right side of the board near C4. Pin 1 of the IC is connected to pin 31 of P1, which is the ROM3* signal from the computer. This connection should be made to the hole in the board on the S1 trace which was cut, on the side of the trace which is not closest to the HART chip. Pin 2 of the IC is connected to pin 33 of P1, which is the ROM4* signal from the computer. This connection should be made to the hole in the board on the S4 trace which was cut, on the side of the trace which IS closest to the HART chip. This ROM4* signal must also connect to pin 1 of both U4 and U5. This connection point may be made to the center terminal position of SW2, which is not otherwise utilized. Pin 3 of the IC is connected to the center terminal of switch SW4. ***** USING 128K contiguous ROMS/EPROMS modification from above One position of the switch is used to access the DISCOVERY CARTRIDGE hardware. The other position of the switch is used to access the 128K bytes in the two ROM/EPROM chips. The 128K MACINTOSH ROMS cannot be directly plugged in and utilized with the SPECTRUM SOFTWARE. Further consideration is needed; see below. When 27C512 EPROMS are used, they must be 200ns or faster (dash numbers less than or equal to -20). HAPPY COMPUTERS cannot offer assistance regarding selection of ROMS or EPROMS. HAPPY COMPUTERS does not currently provide any ROM or EPROM based programs for use with the DISCOVERY CARTRIDGE. The user must provide these. The 128K byte program present in the ROMS/EPROMS will be accessible at contiguous locations $FA0000 through $FBFFFF. Note that the ROM4* line and therefore the ROM/EPROM A15 pins are high when addresses $FB0000 through $FBFFFF are selected. NOTE: The switch should not be moved while the computer's power is turned on. NOTE: When the DISCOVERY CARTRIDGE hardware is deselected, the third and fourth floppy drives, if present, cannot be accessed through software. The drive option switch will still function, if present. No DISCOVERY CARTRIDGE software will operate when the switch has the ROMS/EPROMS enabled. Even though the clock on the DISCOVERY CARTRIDGE cannot be read, the clock still keeps proper time. ****** USING 128K MACINTOSH ROMS and SPECTRE 128 SOFTWARE The SPECTRE 128 product is made by GADGETS BY SMALL. They are not affiliated with HAPPY COMPUTERS Inc. Using the SPECTRE 128 software with a hardware device other than the SPECTRE 128 hardware may be a violation of a licensing agreement between you and Gadgets by Small, if any. Gadgets by Small may insist that you only use their hardware device to hold the MACINTOSH ROMS. However, there is no copyrighted computer program written by Gadgets by Small contained within the SPECTRE cartridge. HAPPY COMPUTERS cannot advise you on the legal purpose of using the SPECTRE SOFTWARE with a hardware device other than the SPECTRE cartridge. The laws governing this will vary for each locality. HAPPY COMPUTERS provides the following information for educational purposes only. You should consult with legal counsel familiar with the laws in your locality before implementing or using any of the following information. Ultimately, if legal in your locality, it would be more convenient to not have to change cartridges to select running MACINTOSH programs with the SPECTRE, or converting MACINTOSH disks with the DISCOVERY CARTRIDGE. USING THE MACINTOSH 128K ROMS IN YOUR DISCOVERY CARTRIDGE WITH SPECTRE SOFTWARE 1) Install the general purpose 128K contiguous modifications shown above. 2) Make changes to emulate the SPECTRE HARDWARE differences. The SPECTRE 128 does not use a one for one connection on the data D0 to D15 lines. A) To directly use the MACINTOSH 128K ROMS, you must determine and implement the different wiring needed to the U4 and U5 sockets on the data lines. HAPPY COMPUTERS cannot provide this information. This would require examining a SPECTRE cartridge to determine the actual wiring for D0 - D15 that the SPECTRE needs, and cutting traces and rewiring the DISCOVERY CARTRIDGE to reflect these changes. CAUTION: the data lines must not be changed going to the HART chip. Make the changes after the data lines pass the HART chip. ** OR ** B) Read the scrambled data from original MACINTOSH ROMS as they appear to the computer while they are plugged into a SPECTRE cartridge. Place this data in files, and write the resultant data files to 27C512 EPROMS using an EPROM programmer. With the 27C512 EPROMS placed into the DISCOVERY CARTRIDGE, it will appear to the computer the same as the SPECTRE appears, since the same scrambled data will be present. CAUTION: It may be a violation of APPLE's copyright to read out their ROMS and copy them into EPROMS. HAPPY COMPUTERS provides this information solely for educational purposes. ****** PROGRAM R128FILE.TOS function and usage The R128FILE.TOS program provides a convenient way to read out 128K byte EPROMs that you have programmed while these EPROMS are plugged into the DISCOVERY CARTRIDGE. The U4F128K file corresponds to the data read out from the U4 27C512 EPROM. The U5F128K file corresponds to the data read out from the U5 27C512 EPROM. It is expected that the above modification for accessing contiguous 128K byte EPROMS has been installed, and that the switch is in the position which selects the EPROMS. The program R128FILE.TOS reads 128K bytes (131072) from the Atari ST's cartridge port. All possible cartridge port addresses are read out. The entire range $FA0000 through $FBFFFF is read out. All data bytes read from even addresses are stored in a file U4F128K. These are the high bytes from each word. All data bytes read from odd addresses are stored in a file U5F128K. These are the low bytes from each word. Each of these files will be 65536 bytes long as a result. The files will be written to the same drive and directory that the R128FILE.TOS was executed from. There must be sufficient room for the resultant files, and the disk must not be write protected. The data read out is not examined or checked for validity in any way. The program does not report any error conditions. If the files already exist, they are replaced with the new contents read out. The program has run properly to completion if the two files of correct size are created. -------------------------------------------------------------------------- For Your Information ==================== From The Internet!!! Organization: C.R.E.S.S., York University, North York, Ontario, Canada, M3J 1P3. Yes we just received the first 8 prototype boards of our TAXI controller board. TAXI stands for The Atari eXtended Interface. The TAXI board will plug into the Mega's expansion slot, or be driven through the Atari ACSI interface. Some of the features are: 1 Full Ethernet interface (thin is builtin, thick requires a transceiver box) 1 Full (true) SCSI interface independent of the Atari ACSI interface. 8 Full duplex serial lines (RS232-C compatible) 2 Centronics/parallel printer interface 1 MC68000 processor (when used as standalone configuration). 128K dual ported DRAM + 64/128K EPROM This board can be incrementally configured as an Ethernet controller, 2-8 channels serial cross point switch; with or without parallel or SCSI interface. If you have any further questions you may contact FutureDOS R&D or Tyler Ivanco 1207-120 Torresdale Avenue, ISTS (Institute for Space and North York, Ontario, Terrestrial Science) Canada, M2R 3N7 York University, Tel: (416)736-0321 North York, Ontario, (ask for Avy) Canada, M3J 1P3 Tel: (416)736-2100 ext 7765 uucp: avy@yunexus!stpl tyler@yunexus!stpl bitnet: FS300013@YUSOL FS300022@YUSOL -- Avygdor Moise, York University. (C.R.E.S.S.), Petrie Bldg. Rm 340, 4700 Keele St., North York, Ontario, Canada. M3J 1P3 UUCP: ...!yunexus!yugas!avy Tel:1 416 736-5359 -------------------------------------------------------------------------- PRODUCT ANNOUNCEMENT ==================== TWEETY BOARD from Practical Solutions, Inc. Stereo sound for the Atari ST is here! Tweety Board provides true stereo output that will blow you away! Now you can play all your favorite games and hear a whole new sound dimension with true-to-life effects. Music programs sparkle with a vividness never before realized. The ST computers already have three channels of sound supported in their hardware. Atari combined the three together, resulting in one monophonic channel, to make it compatible with the monitor's sound. That's fine for monitors but hardly impressive when listened to with a stereo system. Tweety Board solves the problm with it's small circuit board specially designed to access those hidden channels. It works in parallel with the ST's existing sound circuitry making it completely compatible with all ST software. You can also program your own effects or music! The sound from your monitor remains untouched and still functions in it's normal use. Simply plug Tweety Board inside your machine and the three independent RCA jacks are ready to hook up to your three amplified speakers. An adapter cable is provided for hookup to a standard two-channel sound system. No matter which way you connect it, you've never heard such vibrant 3-D or crystal clear stereo sound from your ST. No buzz or noise and an easy, solderless installation - what more could you ask for? Tweety Board will be available in the 1st week of December with a retail price of only $59.95. For further information please contact: Mark Sloatman Practical Solutions 1930 E. Grant Rd. Tucson, AZ 85719 Phone: (602) 884-9612 CompuServe PPN: 76004,2000 Genie address: PRACTICALS -------------------------------------------------------------------------- ST REPORT goes INTERNATIONAL! ============================= Conf : ST REPORT Msg# : 1291 Lines: Extended Read: 8 Sent : Dec 2, 1988 at 8:50 AM To : ALL From : BARRY FREEMAN Subj : Reports UK V US Hi All.. and especially, Ralph. I get St Report on average about 2 weeks after release in the UK, via one of the other Forem Sysops. I took note of the continuing complaints (reasonable) that Atari channels too much stock into the Euro markets and not enough into the US. Ok, so we get (got) a lot more ST's than you did in the US last year..perhaps it's because the demand was higher? I used to work for the Biggest ST distributor in the UK - SDL - and last christmas we sold about 10,000 ST's of various types. Of those, we had over 600 back as faulty! Not a great percentage, and within expectations. Amiga's do FAR worse..about 20% of all amigas that are sold, turn out to be faulty. Now, the demand in Europe is great, so don't push Atari to channel more towards the US, pester them to make MORE MACHINES. Don't suggest depriving a flourishing market (Euro) to supply a smaller demand. Atari SHOULD push themselves more in terms of aggressive marketing. We still don't get enough ST's to satisfy demand here, and, comments to the contrary, I see no reason to expect this year to be any different. There will still be more ST's sold here than Amigas, because the ST is the better machine for GENERAL USAGE. The Amiga has better sound and graphics, OK.. but here, more and more people are choosing ST for business, especially for DTP and Music. If Atari stifles supplies to here, to sell in the US it only aggravates the problem.. Don't Blame Atari for marketing in Europe - blame them for NOT marketing in the States. I like ST Report a lot - it's by far the most impartial reportage on Atari. Keep up the good work.. and if you wish, publish this with my pleasure. Regards, and Christams Felicitaions to ALL FoReM Sysops, Barry G. Freeman, SysOP, Fox's Den BBS UK.. Fnet 1001 -------------------------------------------------------------------------- ST Xformer Info, December 1988 ============================== (C) 1988 Darek Mihocka and ST Report The following information may be reprinted provided that it is kept in its entirety and unmodified. - a new U.S. support BBS - upcoming features for '89 - schematics of the Xformer cable - other odds and ends I know it seems like only a few weeks since you last heard from me, so I'll try not to repeat too many of the announcements of last time. Since we'll all be busy during the Christmas holidays, I think I'd better discuss a few more things before everyone eats and drinks themselves silly. I've noticed that different publications take different amounts of times to reprint these Xformer notices, and so information is slow to get out to people. Xformer is virtually unheard of in Europe, and I regularly get letters from people here in North America who are asking if Xformer II is available yet. It has been for almost 6 months. So please be sure that you keep up with ST Xformer and all the other ST software and hardware by reading ST Report every week, and making sure that your friends do too ( especially the ones without modems ). ST Xformer is a dynamic program with frequent updates and changes, so you must keep up with it. User suggestions and bug reports are always welcome. If you missed last week's ST Report, you probably haven't heard about the new Xformer support BBSs. They are bulletin boards whose sysops have allocated a portion of their boards to support of the 8 bit emulator. They provide a convenient place for people to download recent versions of the emulator and various 8 bit software, and to talk with each other. They have been set up for you users. So don't expect me or the sysops to do all the uploading of files. I want to see some 8 bit files contributed by Xformer users. The first one, L.U.ST BBS, opened up a few weeks ago here in Canada. It is run by the London Users of STs, in London, Ontario. (What did you think it stood for?) A U.S. board is now also up. The Golden Gate BBS in Texas also supports 2400 baud, and contains Xformer related files. U.S. callers may find it less expensive than calling Canada, although callers in the Great Lakes should try out both. Golden Gate is exclusively an Atari ST/8bit board. Phone numbers are at the end of this notice. I am on both these boards, so if you wish to ask any questions or offer any suggestions, I'll be glad to hear from you. Of course, you can always call me directly by voice or contact me on Compuserve, Delphi, or Genie. I am sometimes asked whether I have a list of software that runs of Xformer. I usually reply that most P/D software works, and a lot of commercial software. Since I can't afford to buy every piece of 8 bit software, I will rely on information provided by callers on the supports BBSs. If you have tried some piece of software on Xformer, and it worked or didn't work, LEAVE A MESSAGE and tell people! Only when enough people do so will I be able to compile a list. If you are a registered user, make sure that you have upgraded your software to version 2.31. Rather than repeat what I said about it last week, I'll just ask that you call one of the support boards and read my messages regarding the free updates for registered users. I will also be starting up a topic regarding user's suggestions for future feature of ST Xformer. Speaking of questions and suggestions, the most common questions I keep getting asked are: when will Xformer III be available, and are schematics of the Xformer serial cable available? The answer to the first question, as I have stated before, is probably about 6 months or 1 year from now. When it is available, I will let everyone know. If you still insist on asking me now, I'll pretend that I don't know what you're talking about. Xformer 2.5, the 130XE emulator, will be available much sooner, as I am now about half finished with it. Not only does it emulate the full 128K of a 130XE, but it also runs faster than the current Xformer 2.2 and 2.3. But I have other features to add over the holidays. The most obvious will be the improved disk drive emulation. It will still support the Xformer serial cable, but rather than only supporting a one double density virtual disk drive (D1:) and one single density virtual disk drive (D2:), it will support drives D1: thru D8: and any density. The current limitation that virtual disk drives must fit in your memory will be eliminated, so a 520ST will be able to support, for example, 8 virtual double density disks. The new limitation will be that the virtual disk files must be online, so a single drive 520ST could still support 2 double sided virtual drives. Depending on how well the programming and experimenting goes, version 2.5 may also have features like full SpartaDOS, DOS XE, and hard disk support. It has been suggested that Xformer should be able to set up partitions on an ST hard disk, much like the Magic Sac and Minix do, so that Xformer can be booted up with a large virtual 8 bit hard drive. Another idea is to set up 800K floppies as virtual 800K hard disks. ( I don't know about the sanity behind that, but it's a thought! ) And now the answer to the second question. Although I have kept the pinout of the Xformer serial cable secret up to now, I have been debating whether I should make it public. Afterall, the cable can be used for purposes other than 8 bit emulation, such as file and disk transfers between 8 bit and ST disks, and so not everyone who might be interested in buying one may be interested in becoming a registered Xformer user. At present, the only software that supports the cable is the ST Xformer and the Quick Transfer Utility which registered users receive, and you must be a registered user of Xformer to be able to purchase the cable. But I can see other possible applications that other people may wish to write for the cable. Therefore I should not force people to register if they wish to get the cable. On the other hand, it is something that I developed as an aid to the emulator, and I don't want other people to benefit financially for something that I spent many hours developing. So the original intent was to not release the pinout or other information about the cable. In recent weeks, demand for the cables has been greater than expected, and I have had to skip classes a few times just to stay home and produce the things. Also, many people have indicated that they have spare Atari serial cables that they'd like to hack up into the Xformer cables, so I feel that it would be beneficial to me (and my marks), and to these Atari users if I were to release the pinout information. And I'd certainly prefer to spend the holidays working on Xformer 2.5 rather than soldering cables. I will continue to make and sell the cables, so if you don't know one end of a soldering iron from the other, or prefer to get a ready-made and tested cable, you know where to get them. They are $23 U.S. on top of your registration fee. ****** I am making the following information available to you with the understanding that it is for personal use only. I am not giving permission for anyone to manufacture and sell the cables themselves, or distribute my Xformer software for the purpose of helping to sell the cables. Needless to say, the Xformer is shareware and must not be sold by any dealer or individual. I have been notified of certain dealers who are illegally selling my software. If you know of such a dealer, report him to me, and do NOT buy the software, because you will not become a registered users. Non-registered users may use the Xformer software made available through Compuserve, Genie, Delphi, and the support BBSs, and are allowed to make one Xformer cable for their personal use, but are not entitled to any documentation, disk utilities, or future versions of Xformer. I do ask that you register. ***** Below are directions for putting together a Xformer cable. I accept no responsibility for fried machines, so do this at your own risk. Previous hardware experience, or at least previous experience with a soldering iron and screwdriver, is recommended. The Xformer serial cable serves as an interface for 8 bit peripherals. Any self powered peripheral, like an 810 or 1050 disk drive, thermal printer, color plotter, 850 interface, etc. can then be accessed by the ST through either the Xformer emulator or other software. Multiple drives can be daisy chained to the ST, just as with the 8 bit, by using the regular serial cables to connect extra drives. The length of the cable is not critical, since 8 bit serial cables come in various sizes, usually 3 or 6 feet long. They are included with each disk drive, and most dealers have extra cables. You don't really need the black serial cable as a starting point, since what you are really after are the 13 pin trapezoidal female connectors at the ends. Take some wire cutters and cut the cable at one end. You will now have a 3 foot cable with a 13 pin connector at one end and 13 colored wires at the other. If you have a standard Atari cable, the coloring scheme will be as follows: pin 2 - red pin 3 - orange pin 4 - black pin 5 - green pin 7 - purple pin 10 - blue Only 6 of the 13 pins are needed, so disregard the other 7 wires. Not all Atari serial cables have the same coloring scheme, so use an ohm meter to test each wire. The pin numbering is as follows. If you hold the connector so that the row of 6 pins is at the top, and the other 7 pins are on the bottom, the pins are numbered: ------------------------ / 12 10 8 6 4 2 \ /13 11 9 7 5 3 1\ ------------------------------ You now require a male DB-25 connector. These are the 25 pin connectors found at one end of your ST printer cable. In fact, the Xformer cable plugs in into your ST's printer port. DB-25's are easy to find. Radio Shack sells them but you're better off at an electronics dealer, where they'll cost you about $5, including the plastic cover. The DB-25 cables have the pin numbers printed in very small print on the actual connector. If you hold the connector with the 13 pin row on the top and the 12 pin row on the bottom, the pins are numbered as follows: -------------------------------------------------------- \ 25 23 21 19 17 15 13 11 9 7 5 3 1 / \ 24 22 20 18 16 14 12 10 8 6 4 2 / \------------------------------------------------/ The pins you need are 1, 3, 5, 7, 11, and 18. The following table shows which colored wire gets soldered to which pin of the DB-25 connector. Again, these are usual colors, but vary from cable to cable, so use an ohm meter to find the exact wires that correspond to pins 2, 3, 4, 5, 7 and 10. 13 pin connector color DB-25 serial port function -------------------------------------------------------------------- 2 red 3 CLOCK OUT 3 orange 11 DATA IN 4 black 18 GROUND 5 green 5 DATA OUT 7 purple 7 COMMAND 10 blue 1 +5 volts Sometimes the black wire corresponds to pin 6 rather than pin 4. This is okay since both pins 4 and 6 are GROUND in the Atari serial cables. Once soldered, screw the DB-25 covers over the connector, and use the ohm meter once again to test the connections. If you made any mistakes, you could fry your ST! WARNING: do not attempt to do stupid things like plugging the cable into an 8 bit computer, because this is exactly the same as plugging a serial cable between to 800XLs. ( Nothing happens except that you might fry the machines ). Note that the +5 volt line coming out of the ST's printer port is not rated at 50mA (as is the Atari 8 bit serial port), so devices like the Ape Face which pull their power from the computer will not work. This is a similar to the 1200XL serial port, which was also current limited. The only solution is to tap into the ST's 5 volt power supply, which can be easily accessed at the cartridge port. Most 8 bit disk drives and printers are self-powered and thus don't draw current from the computer. To make the ST emulate an 8 bit peripheral, rather than an 8 bit computer, the cable can be rewired by swapping pins 3 and 5 (orange and green, or DATA IN and DATA OUT) in the 13 pins connector. Since the 13 pin connector has snap-in wires, they can be pulled out and rearranged without any soldering. Software needs to be written to support this modification, and I haven't written it because I have no intention of turning my 1040ST into a large disk drive for some silly old Atari 800. (No offense to Atari 800 owners). But it is a possibility if enough people request it. Although more elaborate cables can be devised, this is pretty well the only design that doesn't require additional circuitry or modifications to either the ST or 8 bit. Future versions of Xformer will be able to use the current design of the cable. The source code for the cable driver is a bit too long to include in here, but it is simple and straightforward. The 8-bit serial protocol is fully documented in the "Operating System User's manual" available from Atari. What I would like to see someone do is write a driver that would allow the external 8 bit disk drive to be used with GEMDOS with all ST software, not just Xformer. I was planning to write such a driver, but have had little time left between school, Xformer, and soldering cables. Remember that most 8 bit disk drives are NOT double sided and not double density, so MS-DOS disks cannot be read. It would be useless to modify PC Ditto to use the Xformer cable since MS-DOS would probably choke on 90K Atari disks. ST Xformer source code is available on the pay services and on the support BBSs, and is described fully in ST LOG #26. It is helpful to check ST LOG #17 and #18 as well, since they contain my first docs of the original Xformer 1.1 source code. Since this program is shareware, my income from it relies solely on the shareware registrations of users, and sales of the cables. At $20 each, registration and the cables are cheap, and you will get the free updates and support through 1989. ST Xformer supports boards (300/1200/2400 baud, 24 hrs): Golden Gate BBS, Gatesville, Texas (817)-865-6352 L.U.ST BBS, London, Ontario, Canada (519)-432-5144 Online services support: Compuserve - ST XFORMER library in ATARIPRO I am 73657,2714 Delphi - ST databases in the ST Log SIG I am DAREKM Genie - ST download library 14 I am DAREKM My phone number is (519)-747-0386. Since I am home at odd times, and some people don't seem to like my answering machine, I have set aside some time before the holidays to answer your calls. I will be home, with great certainty, on Thursday December 8 1pm - 6pm, Saturday Dec. 10 6pm - 12am, and Monday Dec. 12 6pm-12am. The mailing address for registering yourself or buying cables is: Darek Mihocka Box 2624, Station B Kitchener, Ontario N2H 6N2 CANADA If possible, include a mailing label, but don't send a SASE. American stamps are useless in Canada. Also be sure to include an extra $3 if you order a cable to cover the extra cost of sending it. That's all for this year. Happy holidays and see you in January! In case I did forget to mention anything, any new info will be posted on the two support BBSs. -------------------------------------------------------------------------- ANTIC PUBLISHING INC. COPYRIGHT 1988 REPRINTED BY PERMISSION. PROFESSIONAL GEM by Tim Oren Column #15 - Coping with GEMDOS While it's fun playing with windows and object trees, one of the day-to-day realities of working with the ST is its operating system, GEMDOS. A successful application should insulate the user from the foibles and occasional calamities of the machine's file system. The GEM environment provides some minimal tools for doing this, but a good deal of responsibility still rests with you, the programmer. This column (#15 in the ST PRO GEM series) tries to address the GEM/DOS integration problem by providing you some stock code for common functions, along with a discussion of some of the worst "gotchas" lurking for the unwary. The download for this column is GMCL15.C, and it can be found in DL3 of PCS-58. You should obtain and list this file before proceeding. A BIT OF HISTORY. There has been a good deal of confusion in the Atari press and among developers over what GEMDOS is, and how it relates to TOS and CP/M-68K. It's important to clear this up, so you can get a true picture of what GEMDOS is intended to do. The best way is to tell the story of GEMDOS' origins, which I can do, because I was there. As most developers are aware, GEM was first implemented on the IBM PC. PC GEM performed two functions. The first was a windowed graphics extension to the PC environment. The second was a visual shell, the Desktop, which ran on top of the existing operating system, PC-DOS. When work started on moving GEM to the ST, there were two big problems. First, no STs actually existed. Second, there was no operating system on the 68000 with which GEM and the Desktop could run. Unix was too large, and CP/M-68K lacked a number of capabilities, such as hierarchical files, which were needed to support GEM. Work on porting the graphics parts of GEM to the 68000 had to start immediately to meet schedules. Therefore, CP/M-68K running on Apple Lisa's was used to get this part of the project off the ground. Naturally, the Alcyon C compiler and other tools which were native to this environment were used. In parallel, an effort was begun to write a new operating system for the 68000, which would ultimately become the ST's file system. It was designed to be a close clone of PC-DOS, since it would perform the same functions for GEM in the new environment. At this point, the term TOS was introduced. TOS really meant "the operating system, whatever it may be, that will run on the ST", since not even the specifications, let alone the code, were complete at that time. The first engineer to work on "TOS" at Digital Research was Jason Loveman. This name leaked to the press, and in some distorted fashion generated a rumor about "Jason DOS", which was still just the same unfinished project. As "TOS" became more solid, the developer's tools were ported to the new environment one by one, and the GEM programming moved with them. CP/M-68K was completely abandoned, though the old manuals for C and the tools lived on and are still found in the Atari developer's kit. All of this work had been done on Lisas or Compupro systems fitted with 68000 boards. At this point, workable ST prototypes became available. An implementation of "TOS" for the target machine was begun, even before the basic operating system was fully completed. The other intent for the new operating system was to be a base for GEM on other 68000 systems as well as the ST. Because of this, Digital Research named it GEMDOS when it was finally complete, thus providing the final bit of nomenclature. "TOS" as now found in the ST is in fact a particular implementation of generic GEMDOS, including the ST specific BIOS. So, GEMDOS is a PC-DOS clone, but, not quite. There are enough differences to cause problems if they are ignored. (Remember, it looks like a duck, and quacks like a duck, but it's not a duck.) GOING FOR IT. As a first example, consider the routines open_file() and create_file() at the beginning of the download. They make use of the GEMDOS calls Fopen() and Fcreate(). You will notice that these names are not the ones specified in the Digital Research GEMDOS manual. Developers who have used PC GEM will also observe that they are radically different from the function names in the PC-DOS bindings. In fact, all of the GEMDOS function calls on the ST are defined as macros in the file osbind.h, distributed with the developer's kit. At compile time they are turned into calls to the assembly language routine gemdos(), part of the osbind.o binary. So, if you find the naming conventions to be particularly offensive for some reason, just edit the appropriate macros in osbind.h. In DRI's PC-DOS bindings, any error codes were returned in the global variable DOS_ERR. In the GEMDOS bindings, the operation result or an error code is returned as the value of the calling function. In the case of Fopen() and Fcreate(), the result is a valid file handle if it is positive. A negative result is always an error code, indicating that the operation failed. An application which encounters a GEMDOS error should display an alert, and query for retry or abort. The type of loop structure exemplified by open_file() and create_file() should be usable with most GEMDOS functions which might fail. The AES provides a function, form_error, which implements a set of "canned" error alerts appropriate to the various possible errors. However, this is where the fun starts. For unknown reasons, the form_error on the ST expects to see PC-DOS, not GEMDOS, error codes as it's input! Therefore you need a routine to translate one into the other. The routine dos_error() in the download provides this function. The GEMDOS errors are in the same sequence as those for PC-DOS, but their numerical order is reversed and shifted. Notice also that dos_error() does NOT perform the translation if the error code is less than -50. These codes have no PC-DOS equivalent; computing a bogus translation will cause form_error to crash. Instead, they are passed through verbatim, resulting in a "generic" alert which gives only the error number. The other major task in integrating a GEM application with the file system is selecting file names for input and output. Again, the AES provides some assistance with the fsel_input call, which invokes the standard file selector dialog. There are several drawbacks to the standard file selector. One is that the "ITEM SELECTOR" title is constant and cannot be changed by the application. This could cause confusion for the user, since it may not be clear which of several functions, closely spaced in the FILE menu, was actually invoked. While it might be possible to find and "rewire" the AES resource that defines the file selector, it is unlikely that such an approach would be portable to a later version of ST GEM. A viable approach to eliminating confusion is to display a small "marquee" box, with a message defining the operation, on the screen just above the file selector. To do this, you must initialize the location of the box so that it is outside of the file selector's bounds, and then draw it just before invoking the file selector. This way they will appear together. Before returning to its main event loop, the application should post a redraw message for the "marquee" area. The AES will merge this redraw with the one generated by fsel_input, and the result will be received by the application's evnt_multi. Another problem with the file selector is that it resets your application's virtual workstation clip rectangle without warning. There are other AES functions, such as objc_draw, which also do this, but the file selector can be troublesome because it may be the only AES call used by some VDI-based ST applications. The veteran developer will also notice that the file selector takes and returns the path and filename as two separate strings, while the GEMDOS file functions require a fully pathed file name. Also, the file selector doesn't remember its "home" directory; you are responsible for determining the default directory, and keeping track of any changes. The remainder of the download and column is devoted to set of utilities which should alleviate some of the "grunt work" of these chores. The top level routine in this collection is get_file(). It is called with two string arguments. The first must point to a four byte string area containing the desired file name extension (three characters plus a null). The second is the default file name. If the default file name is non-null, then get_file() invokes parse_fname() to break it into path and name. Parse_fname() also adds the necessary "wild card" file specification to the path, using the extent name given as input. If no default file was supplied, or the default did not contain a path, the routine get_path() is invoked to find the current default directory and construct a legal path string for it. The results of these manipulations are supplied to fsel_input. Notice that the result of the file selector is returned via its third argument, rather than as a function value. If the result is TRUE, get_file() merges the temporary path and file string, storing the result via the second input parameter. This result string is suitable for use with Fopen, and may be resubmitted to get_file() when the next operation is invoked by the user. Parse_fname() is straight-forward C. It looks backward along the file to find the first character which is part of the path. The tail of the filename is copied off, and its former location is overlaid with the wild card specification. Get_path() is a bit more interesting. It makes use of two GEMDOS functions, Dgetdrv() and Dgetpath() to obtain the default disk drive and directory, respectively. Note that Dgetpath() will return a null string if the current default is the root, but it puts a back-slash at the beginning of the path otherwise. This forces a check for insertion in the root case, since the file selector wants to see something like "A:\*.RSC", rather than "A:*.RSC". After making this fix, get_path() concatenates the wild card specification derived from the input extent. The last routine in the download is new_ext(). This utility is useful if your application uses more than one associated file at a time. For instance, the Resource Construction Set uses both an RSC and a DEF file, with the same base name. New_ext() takes a fully formed file name, and replaces its old extent with the new one which you supply. This lets you quickly generate both file names after one call to the file selector. Notice that new_ext() looks BACKWARD along the name to find the delimiting period, since this character can also be part of a subdirectory name in the path. So we reach the end of the code and this column. Hopefully both will keep you profitably occupied for a while. July's column will return to graphics topics, with a look at writing customized rubber box and drag box routines, and ways to implement your own "pop-up" menus. August will bring techniques for displaying progress indicators, associating dialog and menu entries with keystrokes, and customizing objc_edit. I CAN'T HEAR YOU! The Feedback mailbag has been noticeably flat of late. There have been a number of compliments on the column, which are much appreciated, and some suggestions for topics which fall outside the bounds of this series. The latter have been passed on to Antic for possible inclusion in their new ST quarterly, START. One recurring problem is finding the downloads. A number of the earlier columns say they are in PCS-132 (the old SIG*ATARI), and one says PCS-57 (mea culpa). In fact, ALL of the downloads are now in DL3 of PCS-58 (ATARI16). Filenames for first nine columns are all in the form GEMCLx.C, where x is the column's digit. For reasons unknown to me, the next two files were named GEMC10.C and GEMC11.C; the latest two downloads are called GMCL13.C and GMCL15.C. The latter naming pattern should continue into the future. Undoubtedly, one reason for the shortage of questions is the amazing ability to get a quick answer on the Developer's SIG, PCS- 57. This is a good sign of a strong Atari community on Compuserve. However, the SIG message style doesn't really lend itself to lengthy explanation, so suggestions for longer topics are always welcome here. Finally, I am now beginning the process of collecting these columns and some additional material into a book. In doing so, it would be helpful to know if you feel that any part of GEM has been slighted in my discussions. If so, let me know. Your suggestions will appear in future columns and finally make their way into the book. ------------------------------------------------------------------------- ST REPORT CONFIDENTIAL ====================== Jacksonville, FL Avante Guard's NEW goodie could be the PARSEC BOARD, ---------------- according to our sources, there are three versions, a)- LOW Ram, b)- 1 mb and c)- 4mb. The 4mb will support 1280x1280 res with 512 colors. San Pablo, CA Len Crawford of Federated Stores in this area has ------------- stated "We have never had a shortage of 1040s" perhaps Atari is "getting it's act together". Berkeley, CA Cindy and Vicki of Atari Corp. announced at a ------------ usergroup meeting this past week that Atari is no.1 in Europe and on the way to being the same in the UK. Akron, OH According to an informal review of the home computer --------- market, the majority of home computer users would like to see a fax add-on and most enjoy using the shop at home services of Cable TV and Mail Order. Baltimore, MD A local brokerage house has stated, "we have high expectations" meaning that the performance of Atari Corp. in the USA for 1989 will be much more like that of an efficient service oriented organization. Rockford, IL ICD has released their NEW version of HD Utilites ------------ but there is a CATCH! It's protected! If you do not have the ICD Host Adapter it will not work! Just when you all thought sanity was returning this happens, so much for all the Atari HD owners.... NYC, NY MIDI Show NYC, was terrific! According to a few ------- midi enthusiasts, Atari remains the front runner in the midi area, Atari, well represented by it's ST equipment was the center of admiration and envy. Sunnyvale, CA A NEW GDOS and a full page monitor are due to appear ------------- on the dealer shelves during the first quarter of 1989. The new G-Dos is supposed to be the "ultimate" and will be totally compatible with all programs needing GDOS. The NEW Monitor will follow the "Power without the Price" beatitude of Atari's and still provide a "full page" screen work area. ------------------------------------------------------------------------- THIS WEEK'S QUOTABLE QUOTE ========================== Atari's "Rule of Thumb" ----------------------- Nothing is ever a complete failure, it can always serve as a bad example. *** OVER 4700 D/Ls FOR NOVEMBER! *** ------------------------------------------------------------------------ ST-REPORT Issue #64 December 05, 1988 ALL RIGHTS RESERVED (c)copyright 1988 ------------------------------------------------------------------------ ALL reprints must include ST-Report and the author in the credits. Views Presented herein are not necessarily those of STR COMMERCIAL ONLINE SERVICES MUST HAVE WRITTEN PERMISSION to offer ST REPORT for download and/or display in any form. -------------------------------------------------------------------------